Skip to content

Commit 3a32d10

Browse files
committed
fix: afcl multiple select to have empty array if no items selected (instead of null)
1 parent 63b72d8 commit 3a32d10

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

adminforth/documentation/docs/tutorial/03-Customization/14-afcl.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,14 @@ const selected = ref(null)
118118

119119
<div class="split-screen" >
120120
<div >
121+
122+
```js
123+
//diff-remove
124+
const selected = ref(null)
125+
//diff-add
126+
const selected = ref([])
127+
```
128+
121129
```html
122130
<Select
123131
class="w-full"

adminforth/spa/src/afcl/Select.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,7 @@ const toogleItem = (item) => {
228228
search.value = '';
229229
}
230230
231-
const list = selectedItems.value.map(item => item.value);
232-
const updValue = list.length ? list : null;
231+
const updValue = selectedItems.value.map(item => item.value);
233232
let emitValue;
234233
if (!props.multiple) {
235234
emitValue = updValue ? updValue[0] : null;

adminforth/spa/src/components/Filters.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
multiple
2828
class="w-full"
2929
:options="columnOptions[c.name] || []"
30-
@update:modelValue="setFilterItem({ column: c, operator: 'in', value: $event || undefined })"
30+
@update:modelValue="setFilterItem({ column: c, operator: 'in', value: $event.length ? $event : undefined })"
3131
:modelValue="filtersStore.filters.find(f => f.field === c.name && f.operator === 'in')?.value || []"
3232
/>
3333
<Select
@@ -40,7 +40,7 @@
4040
// if field is not required, undefined might be there, and user might want to filter by it
4141
...(c.required ? [] : [ { label: $t('Unset'), value: undefined } ])
4242
]"
43-
@update:modelValue="setFilterItem({ column: c, operator: 'in', value: $event || undefined })"
43+
@update:modelValue="setFilterItem({ column: c, operator: 'in', value: $event.length ? $event : undefined })"
4444
:modelValue="filtersStore.filters.find(f => f.field === c.name && f.operator === 'in')?.value || []"
4545
/>
4646

@@ -49,7 +49,7 @@
4949
class="w-full"
5050
v-else-if="c.enum"
5151
:options="c.enum"
52-
@update:modelValue="setFilterItem({ column: c, operator: 'in', value: $event || undefined })"
52+
@update:modelValue="setFilterItem({ column: c, operator: 'in', value: $event.length ? $event : undefined })"
5353
:modelValue="filtersStore.filters.find(f => f.field === c.name && f.operator === 'in')?.value || []"
5454
/>
5555

0 commit comments

Comments
 (0)