@danielgindi/selectbox 1.0.65 → 1.0.66

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.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @danielgindi/selectbox 1.0.65
2
+ * @danielgindi/selectbox 1.0.66
3
3
  * git://github.com/danielgindi/selectbox.git
4
4
  */
5
5
  (function (global, factory) {
@@ -12080,15 +12080,18 @@
12080
12080
 
12081
12081
  /**
12082
12082
  * @param {DropList.ItemBase} item
12083
+ * @returns {boolean} true if rendered, false if not
12083
12084
  * @private
12084
12085
  */ }, { key: "_addMultiItemElement", value:
12085
12086
  function _addMultiItemElement(item) {
12086
12087
  var p = this._p;
12087
12088
  var itemEl = this._renderMultiItem(item);
12088
- if (!itemEl) return;
12089
+ if (!itemEl) return false;
12089
12090
 
12090
12091
  DomCompat.before(p.inputWrapper, itemEl);
12091
12092
  p.multiItemEls.push(itemEl);
12093
+
12094
+ return true;
12092
12095
  }
12093
12096
 
12094
12097
  /** @private */ }, { key: "_addMultiItemRestElement", value:
@@ -12110,10 +12113,13 @@
12110
12113
 
12111
12114
  /** @private */ }, { key: "_syncClearButton", value:
12112
12115
  function _syncClearButton() {var _this9 = this;
12113
- var p = this._p;
12116
+ var p = this._p,
12117
+ multiItemLabelProp = p.multiItemLabelProp;
12114
12118
 
12115
12119
  // Set clear button
12116
- if (p.selectedItems.length > 0 && p.clearable && p.showSelection) {
12120
+ if (p.selectedItems.length > 0 &&
12121
+ p.selectedItems.some(function (x) {return x[multiItemLabelProp] !== false;}) &&
12122
+ p.clearable && p.showSelection) {
12117
12123
  if (!p.clearButtonWrapper) {
12118
12124
  p.clearButtonWrapper = Dom.createElement(
12119
12125
  p.multi ? 'li' : 'span',
@@ -12143,7 +12149,8 @@
12143
12149
 
12144
12150
  /** @private */ }, { key: "_syncPlaceholder", value:
12145
12151
  function _syncPlaceholder() {
12146
- var p = this._p;
12152
+ var p = this._p,
12153
+ multiItemLabelProp = p.multiItemLabelProp;
12147
12154
 
12148
12155
  var placeholder = '';
12149
12156
 
@@ -12153,7 +12160,9 @@
12153
12160
  } else {
12154
12161
  placeholder = defaultMultiPlaceholderFormatter(p.selectedItems, p.labelProp);
12155
12162
  }
12156
- } else if (p.selectedItems.length === 0 || !p.showSelection) {
12163
+ } else if (p.selectedItems.length === 0 ||
12164
+ !p.showSelection ||
12165
+ p.selectedItems.every(function (x) {return x[multiItemLabelProp] === false;})) {
12157
12166
  placeholder = p.placeholder == null ? '' : p.placeholder + '';
12158
12167
  }
12159
12168
 
@@ -12182,13 +12191,16 @@
12182
12191
  * @returns {SelectBox}
12183
12192
  */ }, { key: "_syncFull", value:
12184
12193
  function _syncFull(fullItemsRender) {
12185
- var p = this._p;
12194
+ var p = this._p,
12195
+ multiItemLabelProp = p.multiItemLabelProp;
12186
12196
 
12187
12197
  this._renderBase();
12188
12198
  this._syncClearButton();
12189
12199
  this._syncPlaceholder();
12190
12200
 
12191
- fullItemsRender = p.multi && p.showSelection && (fullItemsRender || p.selectedItems.length !== p.multiItemEls.length);
12201
+ fullItemsRender = p.multi &&
12202
+ p.showSelection && (
12203
+ fullItemsRender || p.selectedItems.filter(function (x) {return x[multiItemLabelProp] !== false;}).length !== p.multiItemEls.length);
12192
12204
 
12193
12205
  if (fullItemsRender || !p.showSelection || !p.multi) {
12194
12206
  // Remove all item elements
@@ -12206,7 +12218,7 @@
12206
12218
  // Sort these
12207
12219
  if (p.sortSelectedItems) {
12208
12220
  var labelProp = p.labelProp,
12209
- multiItemLabelProp = p.multiItemLabelProp,
12221
+ _multiItemLabelProp = p.multiItemLabelProp,
12210
12222
  valueProp = p.valueProp,
12211
12223
  stickyValues = p.stickyValues;
12212
12224
 
@@ -12218,8 +12230,8 @@
12218
12230
  if (!sa && sb) return 1;
12219
12231
  }
12220
12232
 
12221
- var aLabel = a[multiItemLabelProp] || a[labelProp];
12222
- var bLabel = b[multiItemLabelProp] || b[labelProp];
12233
+ var aLabel = a[_multiItemLabelProp] || a[labelProp];
12234
+ var bLabel = b[_multiItemLabelProp] || b[labelProp];
12223
12235
  return aLabel < bLabel ? -1 : aLabel > bLabel ? 1 : 0;
12224
12236
  };
12225
12237
 
@@ -12241,8 +12253,9 @@
12241
12253
  break;
12242
12254
  }
12243
12255
 
12244
- actualItemCount++;
12245
- this._addMultiItemElement(items[i]);
12256
+ if (this._addMultiItemElement(items[i])) {
12257
+ actualItemCount++;
12258
+ }
12246
12259
  }
12247
12260
 
12248
12261
  if (addRestItem) {