|
10 | 10 | :class="column.cssClass" |
11 | 11 | :data-sortable="column.sortable" |
12 | 12 | :data-sorting="column.sortingMode" |
| 13 | + :data-collapsed="column.collapsed" |
13 | 14 | @click="$emit('sort-column', column)"> |
14 | 15 |
|
| 16 | + <div |
| 17 | + v-if="column.collapsible && column.collapsed" |
| 18 | + @click="column.collapsed = false" |
| 19 | + class="vdt-column-collapse" |
| 20 | + > |
| 21 | + [+] |
| 22 | + <span>{{column.title}}</span> |
| 23 | + </div> |
| 24 | + |
15 | 25 | <!-- COLUMN HEADER CONTENT --> |
16 | | - <div class="vdt-column-content"> |
| 26 | + <div v-else class="vdt-column-content"> |
17 | 27 | <span>{{ column.title }}</span> |
18 | 28 |
|
19 | 29 | <!-- SORTING INDEX --> |
|
24 | 34 | <!-- SORTING ICON --> |
25 | 35 | <component v-if="column.sortable" |
26 | 36 | :is="sortingIconComponent" /> |
| 37 | + |
| 38 | + <div |
| 39 | + v-if="column.collapsible && !column.collapsed" |
| 40 | + @click="column.collapsed = true" |
| 41 | + class="vdt-column-collapse" |
| 42 | + > |
| 43 | + [-] |
| 44 | + </div> |
27 | 45 | </div> |
28 | 46 | </th> |
29 | 47 | </tr> |
|
45 | 63 | v-for="(column, j) in columns" |
46 | 64 | :key="data._key + '_' + j" |
47 | 65 | > |
| 66 | + <div v-if="column.collapsible && column.collapsed"></div> |
48 | 67 | <component |
49 | | - :is="column.component" |
| 68 | + v-else |
50 | 69 | v-bind="{ data, ...column.componentProps }" |
| 70 | + :is="column.component" |
51 | 71 | @userEvent="emitUserEvent" |
52 | 72 | /> |
53 | 73 | </td> |
54 | 74 | </tr> |
55 | 75 | </tbody> |
56 | 76 |
|
57 | 77 | <!-- COMPONENT IF LOADING --> |
58 | | - <component v-if="isLoading" :is="loadingComponent" /> |
| 78 | + <component |
| 79 | + v-if="isLoading" |
| 80 | + :is="loadingComponent" |
| 81 | + /> |
59 | 82 |
|
60 | 83 | <!-- TABLE FOOTER --> |
61 | | - <component v-if="footerComponent" :is="footerComponent" |
62 | | - v-bind="{ data, dataDisplayed, dataFiltered }" /> |
| 84 | + <component |
| 85 | + v-if="footerComponent" |
| 86 | + v-bind="{ data, dataDisplayed, dataFiltered }" |
| 87 | + :is="footerComponent" |
| 88 | + /> |
63 | 89 | </table> |
64 | 90 | </div> |
65 | 91 | </template> |
|
0 commit comments