intelliwaketssveltekitv25 0.1.171 → 0.1.172
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/dist/MultiSelect.svelte +13 -16
- package/dist/MultiSelect.svelte.d.ts +1 -1
- package/package.json +1 -1
package/dist/MultiSelect.svelte
CHANGED
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
possibles,
|
|
18
18
|
selected = $bindable([]),
|
|
19
19
|
selectedIDs = $bindable(undefined),
|
|
20
|
-
autoModifySelected = true,
|
|
21
20
|
created = $bindable([]),
|
|
22
21
|
existing = $bindable([]),
|
|
23
22
|
name = null,
|
|
@@ -50,6 +49,7 @@
|
|
|
50
49
|
onadd,
|
|
51
50
|
onselect,
|
|
52
51
|
oncreate,
|
|
52
|
+
onchange,
|
|
53
53
|
onclear,
|
|
54
54
|
onclearall
|
|
55
55
|
}: {
|
|
@@ -59,7 +59,6 @@
|
|
|
59
59
|
possibles: T[]
|
|
60
60
|
selected?: T[]
|
|
61
61
|
selectedIDs?: (number | string)[] | undefined
|
|
62
|
-
autoModifySelected?: boolean
|
|
63
62
|
created?: T[]
|
|
64
63
|
existing?: T[]
|
|
65
64
|
name?: string | null
|
|
@@ -93,6 +92,7 @@
|
|
|
93
92
|
onadd?: (item: T) => void,
|
|
94
93
|
onselect?: (item: T) => void,
|
|
95
94
|
oncreate?: (item: string) => void,
|
|
95
|
+
onchange?: (items: T[]) => void,
|
|
96
96
|
onclear?: (item: T) => void,
|
|
97
97
|
onclearall?: () => void
|
|
98
98
|
} = $props()
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
function updateSelectedIDs(sels: T[]) {
|
|
112
|
-
if (
|
|
112
|
+
if (!!selectedIDs) {
|
|
113
113
|
selectedIDs = sels.map(sel => idValue(sel))
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -117,10 +117,8 @@
|
|
|
117
117
|
async function doAdd(item: T | null | undefined, creating: boolean) {
|
|
118
118
|
if (!disable) {
|
|
119
119
|
if (item) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
updateSelectedIDs(selected)
|
|
123
|
-
}
|
|
120
|
+
selected = isMulti ? [...selected, item] : [item]
|
|
121
|
+
updateSelectedIDs(selected)
|
|
124
122
|
searchValue = ''
|
|
125
123
|
await tick()
|
|
126
124
|
if (elInput) elInput.focus()
|
|
@@ -130,21 +128,21 @@
|
|
|
130
128
|
} else {
|
|
131
129
|
if (oncreate) oncreate(inputValue(item))
|
|
132
130
|
}
|
|
131
|
+
if (onchange) onchange(selected)
|
|
133
132
|
}
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
135
|
|
|
137
136
|
async function doClear(item: T) {
|
|
138
137
|
if (!disable) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
updateSelectedIDs(selected)
|
|
142
|
-
}
|
|
138
|
+
selected = selected.filter(s => !DeepEqual(idValue(s), idValue(item)))
|
|
139
|
+
updateSelectedIDs(selected)
|
|
143
140
|
if (elInput) {
|
|
144
141
|
await tick()
|
|
145
142
|
elInput.focus()
|
|
146
143
|
}
|
|
147
144
|
if (onclear) onclear(item)
|
|
145
|
+
if (onchange) onchange(selected)
|
|
148
146
|
}
|
|
149
147
|
}
|
|
150
148
|
|
|
@@ -152,10 +150,8 @@
|
|
|
152
150
|
e.stopPropagation()
|
|
153
151
|
if (!disable) {
|
|
154
152
|
if (allowClearAll) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
updateSelectedIDs(selected)
|
|
158
|
-
}
|
|
153
|
+
selected = []
|
|
154
|
+
updateSelectedIDs(selected)
|
|
159
155
|
await tick()
|
|
160
156
|
}
|
|
161
157
|
if (elInput) {
|
|
@@ -163,6 +159,7 @@
|
|
|
163
159
|
elInput.focus()
|
|
164
160
|
}
|
|
165
161
|
if (onclearall) onclearall()
|
|
162
|
+
if (onchange) onchange(selected)
|
|
166
163
|
}
|
|
167
164
|
}
|
|
168
165
|
|
|
@@ -191,7 +188,7 @@
|
|
|
191
188
|
})))
|
|
192
189
|
|
|
193
190
|
function setSelected(selIDs: (string | number)[] | undefined, poss: T[]) {
|
|
194
|
-
if (selIDs &&
|
|
191
|
+
if (selIDs && (selIDs.length !== selected.length || !selected.every(sel => !!selIDs?.some(selID => selID === idValue(sel))))) {
|
|
195
192
|
selected = poss.filter(po => !!selIDs?.some(selID => selID == idValue(po)))
|
|
196
193
|
}
|
|
197
194
|
}
|
|
@@ -8,7 +8,6 @@ declare class __sveltets_Render<T extends TGenericMultiSelect> {
|
|
|
8
8
|
possibles: T[];
|
|
9
9
|
selected?: T[] | undefined;
|
|
10
10
|
selectedIDs?: (number | string)[] | undefined;
|
|
11
|
-
autoModifySelected?: boolean;
|
|
12
11
|
created?: T[] | undefined;
|
|
13
12
|
existing?: T[] | undefined;
|
|
14
13
|
name?: string | null;
|
|
@@ -42,6 +41,7 @@ declare class __sveltets_Render<T extends TGenericMultiSelect> {
|
|
|
42
41
|
onadd?: ((item: T) => void) | undefined;
|
|
43
42
|
onselect?: ((item: T) => void) | undefined;
|
|
44
43
|
oncreate?: ((item: string) => void) | undefined;
|
|
44
|
+
onchange?: ((items: T[]) => void) | undefined;
|
|
45
45
|
onclear?: ((item: T) => void) | undefined;
|
|
46
46
|
onclearall?: (() => void) | undefined;
|
|
47
47
|
};
|