|
26 | 26 | :title="detailsTitle" |
27 | 27 | :details-fields="detailsFields" |
28 | 28 | :width="itemDetailsWidth" |
29 | | - ></item-details> |
| 29 | + > |
| 30 | + <!-- slot for item details title --> |
| 31 | + <template #title="{ title }"> |
| 32 | + <slot |
| 33 | + name="item-details-title" |
| 34 | + :title="title" |
| 35 | + /> |
| 36 | + </template> |
| 37 | + |
| 38 | + <!-- slot over fields --> |
| 39 | + <template #over-fields> |
| 40 | + <slot name="item-details-over-fields"/> |
| 41 | + </template> |
| 42 | + |
| 43 | + <!-- slots for fields --> |
| 44 | + <template |
| 45 | + v-for="field in detailsFields" |
| 46 | + #[`field:${field.name}`]="{ |
| 47 | + value, |
| 48 | + fieldType, |
| 49 | + field, |
| 50 | + reload, |
| 51 | + rules, |
| 52 | + changeValue, |
| 53 | + }" |
| 54 | + > |
| 55 | + <slot |
| 56 | + :name="`item-details-field:${field.name}`" |
| 57 | + :value="value" |
| 58 | + :field-type="fieldType" |
| 59 | + :field="field" |
| 60 | + :reload="reload" |
| 61 | + :rules="rules" |
| 62 | + :change-value="changeValue" |
| 63 | + /> |
| 64 | + </template> |
| 65 | + |
| 66 | + <!-- slot under fields --> |
| 67 | + <template #under-fields> |
| 68 | + <slot name="item-details-under-fields"/> |
| 69 | + </template> |
| 70 | + |
| 71 | + <!-- slot for custom actions --> |
| 72 | + <template #custom-actions> |
| 73 | + <slot name="item-details-custom-actions"/> |
| 74 | + </template> |
| 75 | + |
| 76 | + </item-details> |
30 | 77 | <item-elements></item-elements> |
31 | 78 | <image-container></image-container> |
32 | 79 | </div> |
33 | 80 | <div class="details-loader-container"> |
34 | | - <v-layout v-if="detailsLoading" class="details-loader" justify-center align-center> |
35 | | - <v-progress-circular indeterminate :size="100" :width="3" color="primary"></v-progress-circular> |
| 81 | + <v-layout |
| 82 | + v-if="detailsLoading" |
| 83 | + class="details-loader" |
| 84 | + justify-center |
| 85 | + align-center |
| 86 | + > |
| 87 | + <v-progress-circular |
| 88 | + indeterminate |
| 89 | + :size="100" |
| 90 | + :width="3" |
| 91 | + color="primary" |
| 92 | + ></v-progress-circular> |
36 | 93 | </v-layout> |
37 | 94 | </div> |
38 | 95 | </div> |
@@ -103,7 +160,7 @@ export default { |
103 | 160 | }, |
104 | 161 | itemElements: { |
105 | 162 | type: Object, |
106 | | - default: () => {}, |
| 163 | + default: () => { }, |
107 | 164 | }, |
108 | 165 | watchForCreation: { |
109 | 166 | type: Boolean, |
@@ -272,17 +329,17 @@ export default { |
272 | 329 | </script> |
273 | 330 |
|
274 | 331 | <style scoped> |
275 | | - .details-loader-container { |
276 | | - position: absolute; |
277 | | - top:200px; |
278 | | - text-align: center; |
279 | | - width: 100%; |
280 | | - } |
281 | | - .details-loader { |
282 | | - height:100px !important; |
283 | | - width:100px; |
284 | | - background-color:rgba(255, 255, 255, 0.6); |
285 | | - border-radius:100%; |
286 | | - display: inline-block; |
287 | | - } |
| 332 | +.details-loader-container { |
| 333 | + position: absolute; |
| 334 | + top: 200px; |
| 335 | + text-align: center; |
| 336 | + width: 100%; |
| 337 | +} |
| 338 | +.details-loader { |
| 339 | + height: 100px !important; |
| 340 | + width: 100px; |
| 341 | + background-color: rgba(255, 255, 255, 0.6); |
| 342 | + border-radius: 100%; |
| 343 | + display: inline-block; |
| 344 | +} |
288 | 345 | </style> |
0 commit comments