@danielgindi/selectbox 2.0.7 → 2.0.8
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/lib.cjs.js +48 -18
- package/dist/lib.cjs.js.map +1 -1
- package/dist/lib.cjs.min.js +2 -2
- package/dist/lib.cjs.min.js.map +1 -1
- package/dist/lib.es6.js +48 -18
- package/dist/lib.es6.js.map +1 -1
- package/dist/lib.es6.min.js +2 -2
- package/dist/lib.es6.min.js.map +1 -1
- package/dist/lib.umd.js +48 -18
- package/dist/lib.umd.js.map +1 -1
- package/dist/lib.umd.min.js +2 -2
- package/dist/lib.umd.min.js.map +1 -1
- package/lib/DropList.js +24 -10
- package/lib/SelectBox.js +23 -7
- package/package.json +1 -1
- package/vue/SelectBox.vue +3 -2
package/dist/lib.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @danielgindi/selectbox 2.0.
|
|
2
|
+
* @danielgindi/selectbox 2.0.8
|
|
3
3
|
* git://github.com/danielgindi/selectbox.git
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
'hide': the drop list was hidden.
|
|
185
185
|
'hide:after': emitted after the hide css transition has ended, or immediately after 'hide'.
|
|
186
186
|
'check' {value, item, checked: boolean, isGroup: boolean, isCheckingGroup: boolean}: item was selected (in multi mode).
|
|
187
|
-
'groupcheck' {value, item,
|
|
187
|
+
'groupcheck' {value, item, affectedCount: number}: item was selected (in multi mode).
|
|
188
188
|
'blur' {event}: element lost focus
|
|
189
189
|
'show_subitems {value, item, el, droplist: DropList}': subitems dropdown will show.
|
|
190
190
|
'hide_subitems {value, item, el}': subitems dropdown did hide.
|
|
@@ -777,6 +777,10 @@
|
|
|
777
777
|
p.groupCount++;
|
|
778
778
|
}
|
|
779
779
|
|
|
780
|
+
if (typeof oitem._level === 'number') {
|
|
781
|
+
item._level = oitem._level;
|
|
782
|
+
}
|
|
783
|
+
|
|
780
784
|
if (oitem._child) {
|
|
781
785
|
// This is used for setting a child class,
|
|
782
786
|
// But can be used to determine that current item is not part of above group,
|
|
@@ -879,6 +883,10 @@
|
|
|
879
883
|
}
|
|
880
884
|
}
|
|
881
885
|
|
|
886
|
+
if (hasOwnProperty.call(newItem, '_level')) {
|
|
887
|
+
newItem._level = item._level;
|
|
888
|
+
}
|
|
889
|
+
|
|
882
890
|
if (hasOwnProperty.call(newItem, '_child'))
|
|
883
891
|
item._child = !!newItem._child;
|
|
884
892
|
|
|
@@ -1208,6 +1216,7 @@
|
|
|
1208
1216
|
_nointeraction: !!oitem._nointeraction,
|
|
1209
1217
|
_subitems: oitem._subitems,
|
|
1210
1218
|
_group: !!oitem._group,
|
|
1219
|
+
_level: !!oitem._level,
|
|
1211
1220
|
_checked: !!oitem._checked
|
|
1212
1221
|
};
|
|
1213
1222
|
}
|
|
@@ -3014,17 +3023,19 @@
|
|
|
3014
3023
|
if (item._group) {
|
|
3015
3024
|
// Now loop through children below the group
|
|
3016
3025
|
|
|
3017
|
-
let
|
|
3026
|
+
let affectedCount = 0;
|
|
3018
3027
|
|
|
3019
3028
|
if (p.autoCheckGroupChildren) {
|
|
3020
3029
|
const items = p.filteredItems ?? p.items;
|
|
3021
3030
|
let groupIndex = items.indexOf(item);
|
|
3031
|
+
const groupLevel = item._level;
|
|
3022
3032
|
|
|
3023
3033
|
for (let i = groupIndex + 1, len = items.length; i < len; i++) {
|
|
3024
3034
|
let next = items[i];
|
|
3025
3035
|
|
|
3026
3036
|
// Hit the next group, break out
|
|
3027
|
-
if (
|
|
3037
|
+
if (!next._child && items[i - 1]._child || (
|
|
3038
|
+
groupLevel === undefined ? next._group || next._level !== undefined : next._level <= groupLevel))
|
|
3028
3039
|
break;
|
|
3029
3040
|
|
|
3030
3041
|
// No change, skip
|
|
@@ -3034,7 +3045,7 @@
|
|
|
3034
3045
|
// Update state
|
|
3035
3046
|
next._checked = item._checked;
|
|
3036
3047
|
|
|
3037
|
-
|
|
3048
|
+
affectedCount++;
|
|
3038
3049
|
|
|
3039
3050
|
// Update DOM
|
|
3040
3051
|
let nextEl = p.virtualListHelper.getItemElementAt(i);
|
|
@@ -3057,7 +3068,7 @@
|
|
|
3057
3068
|
this._trigger('groupcheck', {
|
|
3058
3069
|
value: item.value,
|
|
3059
3070
|
item: item[ItemSymbol] ?? item,
|
|
3060
|
-
|
|
3071
|
+
affectedCount: affectedCount
|
|
3061
3072
|
});
|
|
3062
3073
|
} else if (p.groupCount > 0 && p.autoCheckGroupChildren) {
|
|
3063
3074
|
const items = p.filteredItems ?? p.items;
|
|
@@ -3091,18 +3102,21 @@
|
|
|
3091
3102
|
|
|
3092
3103
|
if (!groupItem || !groupItem._group) return this;
|
|
3093
3104
|
|
|
3094
|
-
let
|
|
3105
|
+
let next,hasChecked = false,hasUnchecked = false;
|
|
3106
|
+
|
|
3107
|
+
const groupLevel = groupItem._level;
|
|
3095
3108
|
|
|
3096
3109
|
for (let i = groupIndex + 1, len = items.length; i < len; i++) {
|
|
3097
|
-
|
|
3110
|
+
next = items[i];
|
|
3098
3111
|
|
|
3099
3112
|
// Hit the next group, break out
|
|
3100
|
-
if (
|
|
3113
|
+
if (!next._child && items[i - 1]._child || (
|
|
3114
|
+
groupLevel === undefined ? next._group || next._level !== undefined : next._level <= groupLevel))
|
|
3101
3115
|
break;
|
|
3102
3116
|
|
|
3103
|
-
if (
|
|
3117
|
+
if (next._checked) {
|
|
3104
3118
|
hasChecked = true;
|
|
3105
|
-
} else if (!
|
|
3119
|
+
} else if (!next._checked) {
|
|
3106
3120
|
hasUnchecked = true;
|
|
3107
3121
|
}
|
|
3108
3122
|
}
|
|
@@ -3459,11 +3473,12 @@
|
|
|
3459
3473
|
'open' { list: DropList }: the drop list is opening
|
|
3460
3474
|
'open:before' { list: DropList }: the drop list will open
|
|
3461
3475
|
'close': the drop list is closing
|
|
3462
|
-
'addsel:before' {value, item, cancel: false}: an item selection is about to be added (in multi mode). return false to abort.
|
|
3463
|
-
'removesel:before' {value, item, cancel: false}: an item selection is about to be removed (in multi mode). return false to abort.
|
|
3476
|
+
'addsel:before' {value, item, cancel: false, isCheckingGroup: bool}: an item selection is about to be added (in multi mode). return false to abort.
|
|
3477
|
+
'removesel:before' {value, item, cancel: false, isCheckingGroup: bool}: an item selection is about to be removed (in multi mode). return false to abort.
|
|
3478
|
+
'addsel' {value, item, isCheckingGroup: bool}: an item selection has been added (in multi mode)
|
|
3479
|
+
'removesel' {value, item, isCheckingGroup: bool}: an item selection has been removed (in multi mode)
|
|
3480
|
+
'groupcheck' {value, item, affectedCount: number}: an item selection has been removed (in multi mode)
|
|
3464
3481
|
'select:before' {value, item, cancel: false}: an item is about to be selected (in single mode). return false to abort.
|
|
3465
|
-
'addsel' {value, item}: an item selection has been added (in multi mode)
|
|
3466
|
-
'removesel' {value, item}: an item selection has been removed (in multi mode)
|
|
3467
3482
|
'select' {value, item}: an item has been selected (in single mode)
|
|
3468
3483
|
'search' {value}: input box value has changed
|
|
3469
3484
|
'search:focus': input box has gained focus
|
|
@@ -5141,7 +5156,12 @@
|
|
|
5141
5156
|
let checked = event.checked;
|
|
5142
5157
|
if (event.isGroup && !p.treatGroupSelectionAsItems) return; // Ignore groups
|
|
5143
5158
|
|
|
5144
|
-
let selEvt = {
|
|
5159
|
+
let selEvt = {
|
|
5160
|
+
value: value,
|
|
5161
|
+
item: item,
|
|
5162
|
+
cancel: false,
|
|
5163
|
+
isCheckingGroup: event.isCheckingGroup
|
|
5164
|
+
};
|
|
5145
5165
|
this._trigger((checked ? 'addsel' : 'removesel') + ':before', selEvt);
|
|
5146
5166
|
|
|
5147
5167
|
if (selEvt.cancel) {
|
|
@@ -5199,16 +5219,26 @@
|
|
|
5199
5219
|
this._scheduleSync('syncPlaceholder');
|
|
5200
5220
|
}
|
|
5201
5221
|
|
|
5202
|
-
this._trigger(checked ? 'addsel' : 'removesel', {
|
|
5222
|
+
this._trigger(checked ? 'addsel' : 'removesel', {
|
|
5223
|
+
value: value,
|
|
5224
|
+
item: item,
|
|
5225
|
+
isCheckingGroup: event.isCheckingGroup
|
|
5226
|
+
});
|
|
5203
5227
|
}
|
|
5204
5228
|
break;
|
|
5205
5229
|
|
|
5206
5230
|
case 'groupcheck':{
|
|
5207
5231
|
if (!p.multi) return;
|
|
5208
5232
|
|
|
5209
|
-
if (event.
|
|
5233
|
+
if (event.affectedCount) {
|
|
5210
5234
|
this._scheduleSync(p.sortSelectedItems ? 'full' : 'render_base');
|
|
5211
5235
|
}
|
|
5236
|
+
|
|
5237
|
+
this._trigger('groupcheck', {
|
|
5238
|
+
value: event.value,
|
|
5239
|
+
item: event.item,
|
|
5240
|
+
affectedCount: event.affectedCount
|
|
5241
|
+
});
|
|
5212
5242
|
}
|
|
5213
5243
|
break;
|
|
5214
5244
|
|