@danielgindi/selectbox 2.0.8 → 2.0.10

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.es6.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @danielgindi/selectbox 2.0.8
2
+ * @danielgindi/selectbox 2.0.10
3
3
  * git://github.com/danielgindi/selectbox.git
4
4
  */
5
5
  import { createElement, closestUntil, setElementAttrs, next, prev } from '@danielgindi/dom-utils/lib/Dom';
@@ -1197,7 +1197,10 @@ class DropList {
1197
1197
  p.items.map(x => {
1198
1198
  const y = x[ItemSymbol];
1199
1199
  if (y !== undefined) {
1200
- y[ItemSymbol] = x;
1200
+ // Seal it to avoid object finding issues when wrapped in proxies by Vue or other libs
1201
+ y[ItemSymbol] = Object.seal({
1202
+ [ItemSymbol]: x,
1203
+ });
1201
1204
  return y;
1202
1205
  }
1203
1206
 
@@ -1208,7 +1211,7 @@ class DropList {
1208
1211
  if (Array.isArray(filteredItems)) {
1209
1212
  // And back
1210
1213
  filteredItems = filteredItems.map(oitem => {
1211
- let our = oitem[ItemSymbol];
1214
+ let our = oitem[ItemSymbol]?.[ItemSymbol]; // double-unwrap sealed->item
1212
1215
  if (!our) {
1213
1216
  our = {
1214
1217
  [ItemSymbol]: oitem,
@@ -1762,15 +1765,19 @@ class DropList {
1762
1765
  let item = p.items[i];
1763
1766
  let checked = !item._nocheck && values.indexOf(item.value) !== -1;
1764
1767
 
1765
- if (item._group) {
1766
- groupIndexes.push(i);
1768
+ let itemIndex = p.filteredItems ? p.filteredItems.indexOf(item) : i;
1769
+
1770
+ if (item._group && itemIndex !== -1) {
1771
+ groupIndexes.push(itemIndex);
1767
1772
  }
1768
1773
 
1769
1774
  if (item._checked === checked) continue;
1770
1775
 
1771
1776
  item._checked = checked;
1772
1777
 
1773
- let li = p.virtualListHelper.getItemElementAt(i);
1778
+ if (itemIndex === -1) continue;
1779
+
1780
+ let li = p.virtualListHelper.getItemElementAt(itemIndex);
1774
1781
  if (!li) continue;
1775
1782
 
1776
1783
  toggleClass(li, `${p.baseClassName}__item_checked`, item._checked);
@@ -2071,7 +2078,7 @@ class DropList {
2071
2078
  this.rushRefilter();
2072
2079
 
2073
2080
  if (p.filteredItems) {
2074
- const item = p.items[itemIndex];
2081
+ const item = p.filteredItems[itemIndex];
2075
2082
  itemIndex = p.items.indexOf(item);
2076
2083
  }
2077
2084