@drax/crud-vue 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.
|
|
6
|
+
"version": "2.7.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "./src/index.ts",
|
|
9
9
|
"module": "./src/index.ts",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"vue-tsc": "^3.2.4",
|
|
51
51
|
"vuetify": "^3.11.8"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "6914eb5bfd532fb5e510b95c7d17b5b2ada8b07d"
|
|
54
54
|
}
|
package/src/EntityCrud.ts
CHANGED
|
@@ -303,11 +303,11 @@ class EntityCrud implements IEntityCrud {
|
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
get inputVariantView(): IEntityCrudFieldVariant {
|
|
306
|
-
return 'filled'
|
|
306
|
+
return 'solo-filled'
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
get inputVariantDelete() : IEntityCrudFieldVariant{
|
|
310
|
-
return '
|
|
310
|
+
return 'solo-filled'
|
|
311
311
|
}
|
|
312
312
|
|
|
313
313
|
|
|
@@ -3,7 +3,7 @@ import {useI18n} from "vue-i18n";
|
|
|
3
3
|
import type {IEntityCrud, IEntityCrudField} from "@drax/crud-share";
|
|
4
4
|
import {getItemId} from "../helpers/getItemId";
|
|
5
5
|
import CrudFormField from "./CrudFormField.vue";
|
|
6
|
-
import {computed,
|
|
6
|
+
import {computed, ref} from "vue";
|
|
7
7
|
import type {PropType} from "vue";
|
|
8
8
|
import {useCrudStore} from "../stores/UseCrudStore";
|
|
9
9
|
import {useCrud} from "../composables/UseCrud";
|
|
@@ -132,6 +132,10 @@ const rules = computed(() => {
|
|
|
132
132
|
}
|
|
133
133
|
})
|
|
134
134
|
|
|
135
|
+
const onlyView = computed(()=> {
|
|
136
|
+
return ['delete','view'].includes(operation?.value)
|
|
137
|
+
})
|
|
138
|
+
|
|
135
139
|
</script>
|
|
136
140
|
|
|
137
141
|
<template>
|
|
@@ -158,12 +162,13 @@ const rules = computed(() => {
|
|
|
158
162
|
:xl="field.xl ? field.xl : undefined"
|
|
159
163
|
>
|
|
160
164
|
<slot :name="`field.${field.name}`" v-bind="{field}">
|
|
165
|
+
|
|
161
166
|
<crud-form-field
|
|
162
167
|
:field="field"
|
|
163
168
|
:entity="entity"
|
|
164
169
|
v-model="form[field.name]"
|
|
165
170
|
:clearable="false"
|
|
166
|
-
:readonly="
|
|
171
|
+
:readonly="onlyView || field.readonly"
|
|
167
172
|
:variant="variant"
|
|
168
173
|
:prepend-inner-icon="field?.prependInnerIcon"
|
|
169
174
|
:prepend-icon="field?.prependIcon"
|
|
@@ -206,12 +211,15 @@ const rules = computed(() => {
|
|
|
206
211
|
:xl="field.xl ? field.xl : undefined"
|
|
207
212
|
>
|
|
208
213
|
<slot :name="`field.${field.name}`" v-bind="{field}">
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
209
217
|
<crud-form-field
|
|
210
218
|
:field="field"
|
|
211
219
|
:entity="entity"
|
|
212
220
|
v-model="form[field.name]"
|
|
213
221
|
:clearable="false"
|
|
214
|
-
:readonly="
|
|
222
|
+
:readonly="onlyView || field.readonly"
|
|
215
223
|
:variant="variant"
|
|
216
224
|
:prepend-inner-icon="field?.prependInnerIcon"
|
|
217
225
|
:prepend-icon="field?.prependIcon"
|
|
@@ -18,7 +18,7 @@ const {hasPermission} = useAuth()
|
|
|
18
18
|
|
|
19
19
|
const valueModel = defineModel<any>({type: [String, Number, Boolean, Object, Array], default: false})
|
|
20
20
|
|
|
21
|
-
const {index, entity, field, parentField, errorMessages, rules} = defineProps({
|
|
21
|
+
const {index, entity, field, parentField, errorMessages, rules, readonly, hideDetails} = defineProps({
|
|
22
22
|
entity: {type: Object as PropType<IEntityCrud>, required: true},
|
|
23
23
|
field: {type: Object as PropType<IEntityCrudField | IEntityCrudFilter | undefined>, required: true},
|
|
24
24
|
prependIcon: {type: String, default: ''},
|
|
@@ -79,7 +79,14 @@ const inputErrors = computed(() => {
|
|
|
79
79
|
defineEmits(['updateValue'])
|
|
80
80
|
|
|
81
81
|
|
|
82
|
+
const hasHideDetails = computed(()=>{
|
|
83
|
+
if(readonly){
|
|
84
|
+
return true
|
|
85
|
+
}else{
|
|
86
|
+
return hideDetails ?? field.hideDetails
|
|
87
|
+
}
|
|
82
88
|
|
|
89
|
+
})
|
|
83
90
|
|
|
84
91
|
</script>
|
|
85
92
|
|
|
@@ -102,7 +109,7 @@ defineEmits(['updateValue'])
|
|
|
102
109
|
:density="density"
|
|
103
110
|
:variant="variant"
|
|
104
111
|
:clearable="clearable"
|
|
105
|
-
:hide-details="
|
|
112
|
+
:hide-details="hasHideDetails"
|
|
106
113
|
:single-line="singleLine"
|
|
107
114
|
:prepend-icon="prependIcon"
|
|
108
115
|
:append-icon="appendIcon"
|
|
@@ -128,7 +135,7 @@ defineEmits(['updateValue'])
|
|
|
128
135
|
:density="density"
|
|
129
136
|
:variant="variant"
|
|
130
137
|
:clearable="clearable"
|
|
131
|
-
:hide-details="
|
|
138
|
+
:hide-details="hasHideDetails"
|
|
132
139
|
:single-line="singleLine"
|
|
133
140
|
:prepend-icon="prependIcon"
|
|
134
141
|
:append-icon="appendIcon"
|
|
@@ -152,7 +159,7 @@ defineEmits(['updateValue'])
|
|
|
152
159
|
:density="density"
|
|
153
160
|
:variant="variant"
|
|
154
161
|
:clearable="clearable"
|
|
155
|
-
:hide-details="
|
|
162
|
+
:hide-details="hasHideDetails"
|
|
156
163
|
:single-line="singleLine"
|
|
157
164
|
:prepend-icon="prependIcon"
|
|
158
165
|
:append-icon="appendIcon"
|
|
@@ -179,7 +186,7 @@ defineEmits(['updateValue'])
|
|
|
179
186
|
:density="density"
|
|
180
187
|
:variant="variant"
|
|
181
188
|
:clearable="clearable"
|
|
182
|
-
:hide-details="
|
|
189
|
+
:hide-details="hasHideDetails"
|
|
183
190
|
:single-line="singleLine"
|
|
184
191
|
:rules="rules"
|
|
185
192
|
@update:modelValue="$emit('updateValue')"
|
|
@@ -208,7 +215,7 @@ defineEmits(['updateValue'])
|
|
|
208
215
|
:density="density"
|
|
209
216
|
:variant="variant"
|
|
210
217
|
:clearable="clearable"
|
|
211
|
-
:hide-details="
|
|
218
|
+
:hide-details="hasHideDetails"
|
|
212
219
|
:single-line="singleLine"
|
|
213
220
|
:rules="rules"
|
|
214
221
|
@update:modelValue="$emit('updateValue')"
|
|
@@ -250,7 +257,7 @@ defineEmits(['updateValue'])
|
|
|
250
257
|
:density="density"
|
|
251
258
|
:variant="variant"
|
|
252
259
|
:clearable="clearable"
|
|
253
|
-
:hide-details="
|
|
260
|
+
:hide-details="hasHideDetails"
|
|
254
261
|
:single-line="singleLine"
|
|
255
262
|
:rules="rules"
|
|
256
263
|
@update:modelValue="$emit('updateValue')"
|
|
@@ -279,7 +286,7 @@ defineEmits(['updateValue'])
|
|
|
279
286
|
:density="density"
|
|
280
287
|
:variant="variant"
|
|
281
288
|
:clearable="clearable"
|
|
282
|
-
:hide-details="
|
|
289
|
+
:hide-details="hasHideDetails"
|
|
283
290
|
:single-line="singleLine"
|
|
284
291
|
@update:modelValue="$emit('updateValue')"
|
|
285
292
|
:prepend-icon="prependIcon"
|
|
@@ -299,7 +306,7 @@ defineEmits(['updateValue'])
|
|
|
299
306
|
:density="density"
|
|
300
307
|
:variant="variant"
|
|
301
308
|
:clearable="clearable"
|
|
302
|
-
:hide-details="
|
|
309
|
+
:hide-details="hasHideDetails"
|
|
303
310
|
:single-line="singleLine"
|
|
304
311
|
@update:modelValue="$emit('updateValue')"
|
|
305
312
|
:prepend-icon="prependIcon"
|
|
@@ -321,7 +328,7 @@ defineEmits(['updateValue'])
|
|
|
321
328
|
:density="density"
|
|
322
329
|
:variant="variant"
|
|
323
330
|
:clearable="clearable"
|
|
324
|
-
:hide-details="
|
|
331
|
+
:hide-details="hasHideDetails"
|
|
325
332
|
:single-line="singleLine"
|
|
326
333
|
@update:modelValue="$emit('updateValue')"
|
|
327
334
|
:prepend-icon="prependIcon"
|
|
@@ -347,7 +354,7 @@ defineEmits(['updateValue'])
|
|
|
347
354
|
:density="density"
|
|
348
355
|
:variant="variant"
|
|
349
356
|
:clearable="clearable"
|
|
350
|
-
:hide-details="
|
|
357
|
+
:hide-details="hasHideDetails"
|
|
351
358
|
:single-line="singleLine"
|
|
352
359
|
@update:modelValue="$emit('updateValue')"
|
|
353
360
|
:prepend-icon="prependIcon"
|
|
@@ -371,7 +378,7 @@ defineEmits(['updateValue'])
|
|
|
371
378
|
:density="density"
|
|
372
379
|
:variant="variant"
|
|
373
380
|
:clearable="clearable"
|
|
374
|
-
:hide-details="
|
|
381
|
+
:hide-details="hasHideDetails"
|
|
375
382
|
:single-line="singleLine"
|
|
376
383
|
@update:modelValue="(v) => {
|
|
377
384
|
if(field.endOfDay){
|
|
@@ -412,7 +419,7 @@ defineEmits(['updateValue'])
|
|
|
412
419
|
:variant="variant"
|
|
413
420
|
:readonly="readonly"
|
|
414
421
|
:clearable="clearable"
|
|
415
|
-
:hide-details="
|
|
422
|
+
:hide-details="hasHideDetails"
|
|
416
423
|
:single-line="singleLine"
|
|
417
424
|
:prepend-icon="prependIcon"
|
|
418
425
|
:append-icon="appendIcon"
|
|
@@ -425,23 +432,31 @@ defineEmits(['updateValue'])
|
|
|
425
432
|
|
|
426
433
|
<v-card-title class="text-h5">{{ field.label }}</v-card-title>
|
|
427
434
|
<v-card-text>
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
435
|
+
|
|
436
|
+
<v-row dense>
|
|
437
|
+
<v-col cols="12" v-for="oField in field.objectFields">
|
|
438
|
+
<crud-form-field
|
|
439
|
+
|
|
440
|
+
:entity="entity"
|
|
441
|
+
:field="oField"
|
|
442
|
+
:parent-field="field.name"
|
|
443
|
+
:readonly="readonly"
|
|
444
|
+
v-model="valueModel[oField.name]"
|
|
445
|
+
:density="density"
|
|
446
|
+
:variant="variant"
|
|
447
|
+
:clearable="clearable"
|
|
448
|
+
:hide-details="hasHideDetails"
|
|
449
|
+
:single-line="singleLine"
|
|
450
|
+
@updateValue="$emit('updateValue')"
|
|
451
|
+
:prepend-icon="prependIcon"
|
|
452
|
+
:append-icon="appendIcon"
|
|
453
|
+
:prepend-inner-icon="prependInnerIcon"
|
|
454
|
+
:append-inner-icon="appendInnerIcon"
|
|
455
|
+
></crud-form-field>
|
|
456
|
+
</v-col>
|
|
457
|
+
|
|
458
|
+
</v-row>
|
|
459
|
+
|
|
445
460
|
</v-card-text>
|
|
446
461
|
|
|
447
462
|
</v-card>
|
|
@@ -464,7 +479,7 @@ defineEmits(['updateValue'])
|
|
|
464
479
|
:density="density"
|
|
465
480
|
:variant="variant"
|
|
466
481
|
:clearable="clearable"
|
|
467
|
-
:hide-details="
|
|
482
|
+
:hide-details="hasHideDetails"
|
|
468
483
|
:single-line="singleLine"
|
|
469
484
|
:rules="rules"
|
|
470
485
|
@update:modelValue="$emit('updateValue')"
|
|
@@ -494,7 +509,7 @@ defineEmits(['updateValue'])
|
|
|
494
509
|
:density="density"
|
|
495
510
|
:variant="variant"
|
|
496
511
|
:clearable="clearable"
|
|
497
|
-
:hide-details="
|
|
512
|
+
:hide-details="hasHideDetails"
|
|
498
513
|
:single-line="singleLine"
|
|
499
514
|
:rules="rules"
|
|
500
515
|
@update:modelValue="$emit('updateValue')"
|
|
@@ -525,7 +540,7 @@ defineEmits(['updateValue'])
|
|
|
525
540
|
:density="density"
|
|
526
541
|
:variant="variant"
|
|
527
542
|
:clearable="clearable"
|
|
528
|
-
:hide-details="
|
|
543
|
+
:hide-details="hasHideDetails"
|
|
529
544
|
:single-line="singleLine"
|
|
530
545
|
@updateValue="$emit('updateValue')"
|
|
531
546
|
:prepend-icon="prependIcon"
|
|
@@ -553,7 +568,7 @@ defineEmits(['updateValue'])
|
|
|
553
568
|
:density="density"
|
|
554
569
|
:variant="variant"
|
|
555
570
|
:clearable="clearable"
|
|
556
|
-
:hide-details="
|
|
571
|
+
:hide-details="hasHideDetails"
|
|
557
572
|
:single-line="singleLine"
|
|
558
573
|
:rules="rules"
|
|
559
574
|
@update:modelValue="$emit('updateValue')"
|
|
@@ -574,7 +589,7 @@ defineEmits(['updateValue'])
|
|
|
574
589
|
:density="density"
|
|
575
590
|
:variant="variant"
|
|
576
591
|
:clearable="clearable"
|
|
577
|
-
:hide-details="
|
|
592
|
+
:hide-details="hasHideDetails"
|
|
578
593
|
:single-line="singleLine"
|
|
579
594
|
@updateValue="$emit('updateValue')"
|
|
580
595
|
/>
|
|
@@ -588,7 +603,7 @@ defineEmits(['updateValue'])
|
|
|
588
603
|
:density="density"
|
|
589
604
|
:variant="variant"
|
|
590
605
|
:clearable="clearable"
|
|
591
|
-
:hide-details="
|
|
606
|
+
:hide-details="hasHideDetails"
|
|
592
607
|
:single-line="singleLine"
|
|
593
608
|
:error-messages="inputErrors"
|
|
594
609
|
@updateValue="$emit('updateValue')"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import {useI18n} from "vue-i18n";
|
|
3
|
-
import {
|
|
3
|
+
import { type PropType, ref} from "vue";
|
|
4
4
|
import type {IEntityCrud} from "@drax/crud-share";
|
|
5
5
|
import CrudForm from "../CrudForm.vue";
|
|
6
6
|
import CrudDialog from "../CrudDialog.vue";
|