@drax/crud-vue 0.5.15 → 0.5.17

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": "0.5.15",
6
+ "version": "0.5.17",
7
7
  "type": "module",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@drax/common-front": "^0.5.11",
28
28
  "@drax/crud-front": "^0.5.3",
29
- "@drax/crud-share": "^0.5.15"
29
+ "@drax/crud-share": "^0.5.17"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "pinia": "^2.2.2",
@@ -63,5 +63,5 @@
63
63
  "vue-tsc": "^2.0.11",
64
64
  "vuetify": "^3.7.1"
65
65
  },
66
- "gitHead": "161f85c0e5a681197719f08c375aba546c2809e8"
66
+ "gitHead": "ca87dd00d5f382c55508e50300e70aa151d6321b"
67
67
  }
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import {computed} from "vue";
2
+ import {computed, ref} from "vue";
3
3
  import type {PropType} from "vue";
4
4
  import CrudFormList from "./CrudFormList.vue";
5
5
  import CrudAutocomplete from "./CrudAutocomplete.vue";
@@ -40,6 +40,8 @@ if (!field) {
40
40
  throw new Error("CrudFormField must be provided with a field object")
41
41
  }
42
42
 
43
+ const show = ref(false)
44
+
43
45
  const name = computed(() => index >= 0 ? `${field.name}_${index}` : field.name)
44
46
 
45
47
  const label = computed(() => {
@@ -88,6 +90,51 @@ defineEmits(['updateValue'])
88
90
  @update:modelValue="$emit('updateValue')"
89
91
  />
90
92
 
93
+ <v-text-field
94
+ v-if="field.type === 'password'"
95
+ :name="name"
96
+ :label="label"
97
+ v-model="valueModel"
98
+ :readonly="readonly"
99
+ :error-messages="inputErrors"
100
+ :rules="rules"
101
+ :density="density"
102
+ :variant="variant"
103
+ :clearable="clearable"
104
+ :hide-details="hideDetails"
105
+ :single-line="singleLine"
106
+ :prepend-icon="prependIcon"
107
+ :append-icon="appendIcon"
108
+ :prepend-inner-icon="prependInnerIcon"
109
+ @update:modelValue="$emit('updateValue')"
110
+ :type="show ? 'text' : 'password'"
111
+ :append-inner-icon="show ? 'mdi-eye' : 'mdi-eye-off'"
112
+ @click:append-inner="show = !show"
113
+ />
114
+
115
+ <v-combobox
116
+ v-if="field.type === 'enum'"
117
+ type="text"
118
+ :name="name"
119
+ :label="label"
120
+ v-model="valueModel"
121
+ :items="field.enum"
122
+ :readonly="readonly"
123
+ :error-messages="inputErrors"
124
+ :density="density"
125
+ :variant="variant"
126
+ :clearable="clearable"
127
+ :hide-details="hideDetails"
128
+ :single-line="singleLine"
129
+ :rules="rules"
130
+ @update:modelValue="$emit('updateValue')"
131
+ :prepend-icon="prependIcon"
132
+ :append-icon="appendIcon"
133
+ :prepend-inner-icon="prependInnerIcon"
134
+ :append-inner-icon="appendInnerIcon"
135
+ >
136
+ </v-combobox>
137
+
91
138
  <v-text-field
92
139
  v-if="field.type === 'number'"
93
140
  type="number"
@@ -224,6 +271,32 @@ defineEmits(['updateValue'])
224
271
  >
225
272
  </v-combobox>
226
273
 
274
+ <v-combobox
275
+ v-if="field.type === 'array.enum'"
276
+ type="text"
277
+ :name="name"
278
+ :label="label"
279
+ v-model="valueModel"
280
+ :items="field.enum"
281
+ :multiple="true"
282
+ :chips="true"
283
+ :closable-chips="true"
284
+ :readonly="readonly"
285
+ :error-messages="inputErrors"
286
+ :density="density"
287
+ :variant="variant"
288
+ :clearable="clearable"
289
+ :hide-details="hideDetails"
290
+ :single-line="singleLine"
291
+ :rules="rules"
292
+ @update:modelValue="$emit('updateValue')"
293
+ :prepend-icon="prependIcon"
294
+ :append-icon="appendIcon"
295
+ :prepend-inner-icon="prependInnerIcon"
296
+ :append-inner-icon="appendInnerIcon"
297
+ >
298
+ </v-combobox>
299
+
227
300
 
228
301
  <crud-autocomplete
229
302
  v-if="field.type === 'array.ref'"