UNPKG

7.44 kBSCSSView Raw
1@import "./variables";
2
3.bootstrap-table {
4 .fixed-table-toolbar {
5 &::after {
6 content: "";
7 display: block;
8 clear: both;
9 }
10
11 .bs-bars,
12 .search,
13 .columns {
14 position: relative;
15 margin-top: 10px;
16 margin-bottom: 10px;
17 }
18
19 .columns {
20 .btn-group > .btn-group {
21 display: inline-block;
22 margin-left: -1px !important;
23
24 > .btn {
25 border-radius: 0;
26 }
27
28 &:first-child > .btn {
29 border-top-left-radius: 4px;
30 border-bottom-left-radius: 4px;
31 }
32
33 &:last-child > .btn {
34 border-top-right-radius: 4px;
35 border-bottom-right-radius: 4px;
36 }
37 }
38
39 .dropdown-menu {
40 text-align: left;
41 max-height: 300px;
42 overflow: auto;
43 -ms-overflow-style: scrollbar;
44 z-index: 1001;
45 }
46
47 label {
48 display: block;
49 padding: 3px 20px;
50 clear: both;
51 font-weight: normal;
52 line-height: 1.4286;
53 }
54 }
55
56 .columns-left {
57 margin-right: 5px;
58 }
59
60 .columns-right {
61 margin-left: 5px;
62 }
63
64 .pull-right .dropdown-menu {
65 right: 0;
66 left: auto;
67 }
68 }
69
70 .fixed-table-container {
71 position: relative;
72 clear: both;
73
74 .table {
75 width: 100%;
76 margin-bottom: 0 !important;
77
78 th,
79 td {
80 vertical-align: middle;
81 box-sizing: border-box;
82 }
83
84 thead th {
85 vertical-align: bottom;
86 padding: 0;
87 margin: 0;
88
89 &:focus {
90 outline: 0 solid transparent;
91 }
92
93 &.detail {
94 width: 30px;
95 }
96
97 .th-inner {
98 padding: 0.75rem;
99 vertical-align: bottom;
100 overflow: hidden;
101 text-overflow: ellipsis;
102 white-space: nowrap;
103 }
104
105 .sortable {
106 cursor: pointer;
107 background-position: right;
108 background-repeat: no-repeat;
109 padding-right: 30px !important;
110
111 &.sortable-center {
112 padding-left: 20px !important;
113 padding-right: 20px !important;
114 }
115 }
116
117 .both {
118 background-image: url($sort-background-image-url-both);
119 }
120
121 .asc {
122 background-image: url($sort-background-image-url-asc);
123 }
124
125 .desc {
126 background-image: url($sort-background-image-url-desc);
127 }
128 }
129
130 tbody tr {
131 &.selected td {
132 background-color: $hover-bg;
133 }
134
135 &.no-records-found td {
136 text-align: center;
137 }
138
139 .card-view {
140 display: flex;
141
142 .card-view-title {
143 font-weight: bold;
144 display: inline-block;
145 min-width: 30%;
146 width: auto !important;
147 text-align: left !important;
148 }
149
150 .card-view-value {
151 width: 100% !important;
152 text-align: left !important;
153 }
154 }
155 }
156
157 .bs-checkbox {
158 text-align: center;
159
160 label {
161 margin-bottom: 0;
162
163 input[type="radio"],
164 input[type="checkbox"] {
165 margin: 0 auto !important;
166 }
167 }
168 }
169
170 &.table-sm .th-inner {
171 padding: 0.3rem;
172 }
173 }
174
175 &.fixed-height {
176 &:not(.has-footer) {
177 border-bottom: 1px solid $border-color;
178 }
179
180 &.has-card-view {
181 border-top: 1px solid $border-color;
182 border-bottom: 1px solid $border-color;
183 }
184
185 .fixed-table-border {
186 border-left: 1px solid $border-color;
187 border-right: 1px solid $border-color;
188 }
189
190 .table {
191 thead th {
192 border-bottom: 1px solid $border-color;
193 }
194 }
195
196 .table-dark {
197 thead th {
198 border-bottom: 1px solid $dark-border-color;
199 }
200 }
201 }
202
203 .fixed-table-header {
204 overflow: hidden;
205 }
206
207 .fixed-table-body {
208 overflow-x: auto;
209 overflow-y: auto;
210 height: 100%;
211
212 .fixed-table-loading {
213 align-items: center;
214 background: $background;
215 display: flex;
216 justify-content: center;
217 position: absolute;
218 bottom: 0;
219 width: 100%;
220 max-width: 100%;
221 z-index: 1000;
222 transition: visibility 0s, opacity 0.15s ease-in-out;
223 opacity: 0;
224 visibility: hidden;
225
226 &.open {
227 visibility: visible;
228 opacity: 1;
229 }
230
231 .loading-wrap {
232 align-items: baseline;
233 display: flex;
234 justify-content: center;
235
236 .loading-text {
237 margin-right: 6px;
238 }
239
240 .animation-wrap {
241 align-items: center;
242 display: flex;
243 justify-content: center;
244 }
245
246 .animation-dot,
247 .animation-wrap::after,
248 .animation-wrap::before {
249 content: "";
250 animation-duration: 1.5s;
251 animation-iteration-count: infinite;
252 animation-name: loading;
253 background: $color;
254 border-radius: 50%;
255 display: block;
256 height: 5px;
257 margin: 0 4px;
258 opacity: 0;
259 width: 5px;
260 }
261
262 .animation-dot {
263 animation-delay: 0.3s;
264 }
265
266 .animation-wrap::after {
267 animation-delay: 0.6s;
268 }
269 }
270
271 &.table-dark {
272 background: $color;
273
274 .animation-dot,
275 .animation-wrap::after,
276 .animation-wrap::before {
277 background: $background;
278 }
279 }
280 }
281 }
282
283 .fixed-table-footer {
284 overflow: hidden;
285 }
286 }
287
288 .fixed-table-pagination {
289 &::after {
290 content: "";
291 display: block;
292 clear: both;
293 }
294
295 > .pagination-detail,
296 > .pagination {
297 margin-top: 10px;
298 margin-bottom: 10px;
299 }
300
301 > .pagination-detail {
302 .pagination-info {
303 line-height: 34px;
304 margin-right: 5px;
305 }
306
307 .page-list {
308 display: inline-block;
309
310 .btn-group {
311 position: relative;
312 display: inline-block;
313 vertical-align: middle;
314
315 .dropdown-menu {
316 margin-bottom: 0;
317 }
318 }
319 }
320 }
321
322 > .pagination {
323 ul.pagination {
324 margin: 0;
325
326 li.page-intermediate {
327 a {
328 &::before {
329 content: "\2B05";
330 }
331
332 &::after {
333 content: "\27A1";
334 }
335
336 color: #c8c8c8;
337 }
338 }
339
340 li.disabled a {
341 pointer-events: none;
342 cursor: default;
343 }
344 }
345 }
346 }
347
348 &.fullscreen {
349 position: fixed;
350 top: 0;
351 left: 0;
352 z-index: 1050;
353 width: 100% !important;
354 background: #fff;
355 height: calc(100vh);
356 overflow-y: scroll;
357 }
358
359 &.bootstrap4,
360 &.bootstrap5 {
361 .pagination-lg .page-link {
362 padding: 0.5rem 1rem;
363 }
364 }
365
366 &.bootstrap5 {
367 .float-left {
368 float: left;
369 }
370
371 .float-right {
372 float: right;
373 }
374 }
375}
376
377/* calculate scrollbar width */
378div.fixed-table-scroll-inner {
379 width: 100%;
380 height: 200px;
381}
382
383div.fixed-table-scroll-outer {
384 top: 0;
385 left: 0;
386 visibility: hidden;
387 width: 200px;
388 height: 150px;
389 overflow: hidden;
390}
391
392@keyframes loading {
393 0% { opacity: 0; }
394 50% { opacity: 1; }
395 100% { opacity: 0; }
396}