Skip to content

Commit ca1ff93

Browse files
Merge pull request #8448 from getkirby/v6/perf/validator-fields
perf: Use `k-validator` for more fields
2 parents 19a3e8d + baea809 commit ca1ff93

5 files changed

Lines changed: 10 additions & 25 deletions

File tree

panel/src/components/Forms/Field/BlocksField.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,15 @@
2929
</k-button-group>
3030
</template>
3131

32-
<k-input-validator
33-
v-bind="{ min, max, required }"
34-
:value="JSON.stringify(value)"
35-
>
32+
<k-validator v-bind="{ min, max, required }" :count="value.length">
3633
<k-blocks
3734
ref="blocks"
3835
v-bind="$props"
3936
@close="opened = $event"
4037
@open="opened = $event"
4138
@input="$emit('input', $event)"
4239
/>
43-
</k-input-validator>
40+
</k-validator>
4441

4542
<footer v-if="!disabled && !isEmpty && !isFull && hasFieldsets">
4643
<k-button

panel/src/components/Forms/Field/EntriesField.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,7 @@
3030
</k-button-group>
3131
</template>
3232

33-
<k-input-validator
34-
v-bind="{ min, max, required }"
35-
:value="JSON.stringify(entries)"
36-
>
33+
<k-validator v-bind="{ min, max, required }" :count="entries.length">
3734
<!-- Empty State -->
3835
<k-empty
3936
v-if="entries.length === 0"
@@ -105,7 +102,7 @@
105102
</k-button-group>
106103
</div>
107104
</k-draggable>
108-
</k-input-validator>
105+
</k-validator>
109106

110107
<footer v-if="more" class="k-entries-field-footer">
111108
<k-button

panel/src/components/Forms/Field/LayoutField.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,13 @@
2626
</k-button-group>
2727
</template>
2828

29-
<k-input-validator
30-
v-bind="{ min, max, required }"
31-
:value="JSON.stringify(value)"
32-
>
29+
<k-validator v-bind="{ min, max, required }" :count="value.length">
3330
<k-layouts
3431
ref="layouts"
3532
v-bind="$props"
3633
@input="$emit('input', $event)"
3734
/>
38-
</k-input-validator>
35+
</k-validator>
3936

4037
<footer v-if="!disabled && hasFieldsets">
4138
<k-button

panel/src/components/Forms/Field/ModelPickerField.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@
1717
</template>
1818

1919
<k-dropzone :disabled="!hasDropzone" @drop="drop">
20-
<k-input-validator
21-
v-bind="{ min, max, required }"
22-
:value="JSON.stringify(value)"
23-
>
20+
<k-validator v-bind="{ min, max, required }" :count="value.length">
2421
<k-collection
2522
v-bind="collection"
2623
v-on="!disabled ? { empty: open } : {}"
@@ -35,7 +32,7 @@
3532
/>
3633
</template>
3734
</k-collection>
38-
</k-input-validator>
35+
</k-validator>
3936
</k-dropzone>
4037
</k-field>
4138
</template>

panel/src/components/Forms/Field/StructureField.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,7 @@
6060
</k-button-group>
6161
</template>
6262

63-
<k-input-validator
64-
v-bind="{ min, max, required }"
65-
:value="JSON.stringify(items)"
66-
>
63+
<k-validator v-bind="{ min, max, required }" :count="items.length">
6764
<template v-if="hasFields">
6865
<!-- Empty State -->
6966
<k-empty
@@ -110,7 +107,7 @@
110107
<template v-else>
111108
<k-empty icon="list-bullet">{{ $t("fields.empty") }}</k-empty>
112109
</template>
113-
</k-input-validator>
110+
</k-validator>
114111
</k-field>
115112
</template>
116113

0 commit comments

Comments
 (0)