Skip to content

Commit 9f0b66a

Browse files
committed
28 add slots for table fields
1 parent 95a08c7 commit 9f0b66a

File tree

5 files changed

+56
-20
lines changed

5 files changed

+56
-20
lines changed

‎src/utils/crud/components/ChildrenTable.vue‎

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,16 @@
7373
@doubleClick="resolveRowDoubleClick"
7474
/>
7575
<span v-else>
76-
<list-item-field
76+
<slot
77+
:name="`field:${header.value}`"
7778
:value="item[header.value]"
78-
:text-mode="textMode(item, header.value)"
79-
/>
79+
:item="item"
80+
>
81+
<list-item-field
82+
:value="item[header.value]"
83+
:text-mode="textMode(item, header.value)"
84+
/>
85+
</slot>
8086
</span>
8187
</span>
8288
</template>
@@ -170,7 +176,7 @@ export default {
170176
},
171177
itemElements: {
172178
type: Object,
173-
default: () => {},
179+
default: () => { },
174180
},
175181
meta: {
176182
type: Array,
@@ -278,15 +284,15 @@ export default {
278284
}
279285
.details-loader-container {
280286
position: absolute;
281-
top:200px;
287+
top: 200px;
282288
text-align: center;
283289
width: 100%;
284290
}
285291
.details-loader {
286-
height:100px !important;
287-
width:100px;
288-
background-color:rgba(255, 255, 255, 0.6);
289-
border-radius:100%;
292+
height: 100px !important;
293+
width: 100px;
294+
background-color: rgba(255, 255, 255, 0.6);
295+
border-radius: 100%;
290296
display: inline-block;
291297
}
292298
</style>

‎src/utils/crud/components/Crud.vue‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,19 @@
2121
:select-many-mode="selectManyMode"
2222
:update-many-mode="updateManyMode"
2323
:remove-many-mode="removeManyMode"
24-
></component>
24+
>
25+
<!-- slots for fields -->
26+
<template
27+
v-for="field in tableFields"
28+
#[`field:${field.name}`]="{ value, item }"
29+
>
30+
<slot
31+
:name="`list-item-field:${field.name}`"
32+
:item="item"
33+
:value="value"
34+
/>
35+
</template>
36+
</component>
2537
<item-details
2638
:title="detailsTitle"
2739
:details-fields="detailsFields"

‎src/utils/crud/components/CrudTableClientMode.vue‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,16 @@
6969
@doubleClick="resolveRowDoubleClick"
7070
/>
7171
<span v-else>
72-
<list-item-field
72+
<slot
73+
:name="`field:${header.value}`"
7374
:value="item[header.value]"
74-
:text-mode="textMode(item, header.value)"
75-
/>
75+
:item="item"
76+
>
77+
<list-item-field
78+
:value="item[header.value]"
79+
:text-mode="textMode(item, header.value)"
80+
/>
81+
</slot>
7682
</span>
7783
</span>
7884
</template>

‎src/utils/crud/components/CrudTableServerMode.vue‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,16 @@
7171
@doubleClick="resolveRowDoubleClick"
7272
/>
7373
<span v-else>
74-
<list-item-field
74+
<slot
75+
:name="`field:${header.value}`"
7576
:value="item[header.value]"
76-
:text-mode="textMode(item, header.value)"
77-
/>
77+
:item="item"
78+
>
79+
<list-item-field
80+
:value="item[header.value]"
81+
:text-mode="textMode(item, header.value)"
82+
/>
83+
</slot>
7884
</span>
7985
</span>
8086
</template>

‎src/utils/crud/components/CrudTreeClientMode.vue‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,16 @@
129129
</v-col>
130130
<v-col>
131131
<span class="tree-item__field-value">
132-
<list-item-field
133-
:value="field.value"
134-
:text-mode="textMode(item, key)"
135-
/>
132+
<slot
133+
:name="`field:${header.value}`"
134+
:value="item[header.value]"
135+
:item="item"
136+
>
137+
<list-item-field
138+
:value="item[header.value]"
139+
:text-mode="textMode(item, header.value)"
140+
/>
141+
</slot>
136142
</span>
137143
</v-col>
138144
</v-row>

0 commit comments

Comments
 (0)