@ng-select/ng-select 3.7.2 → 3.7.3
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/README.md +1 -3
- package/bundles/ng-select-ng-select.umd.js +68 -6
- package/bundles/ng-select-ng-select.umd.js.map +1 -1
- package/bundles/ng-select-ng-select.umd.min.js +1 -1
- package/bundles/ng-select-ng-select.umd.min.js.map +1 -1
- package/esm2015/lib/ng-select.component.js +41 -4
- package/esm5/lib/ng-select.component.js +49 -4
- package/fesm2015/ng-select-ng-select.js +40 -3
- package/fesm2015/ng-select-ng-select.js.map +1 -1
- package/fesm5/ng-select-ng-select.js +48 -3
- package/fesm5/ng-select-ng-select.js.map +1 -1
- package/lib/ng-select.component.d.ts +4 -0
- package/ng-select-ng-select.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -2899,6 +2899,7 @@ class NgSelectComponent {
|
|
|
2899
2899
|
this.readonly = false;
|
|
2900
2900
|
this.searchWhileComposing = true;
|
|
2901
2901
|
this.minTermLength = 0;
|
|
2902
|
+
this.editableSearchTerm = false;
|
|
2902
2903
|
this.keyDownFn = (/**
|
|
2903
2904
|
* @param {?} _
|
|
2904
2905
|
* @return {?}
|
|
@@ -2925,6 +2926,7 @@ class NgSelectComponent {
|
|
|
2925
2926
|
this.searchTerm = null;
|
|
2926
2927
|
this.dropdownId = newId();
|
|
2927
2928
|
this.escapeHTML = true;
|
|
2929
|
+
this.useDefaultClass = true;
|
|
2928
2930
|
this._items = [];
|
|
2929
2931
|
this._defaultLabel = 'label';
|
|
2930
2932
|
this._pressedKeys = [];
|
|
@@ -3019,6 +3021,13 @@ class NgSelectComponent {
|
|
|
3019
3021
|
*/
|
|
3020
3022
|
get filtered() { return (!!this.searchTerm && this.searchable || this._isComposing); }
|
|
3021
3023
|
;
|
|
3024
|
+
/**
|
|
3025
|
+
* @private
|
|
3026
|
+
* @return {?}
|
|
3027
|
+
*/
|
|
3028
|
+
get _editableSearchTerm() {
|
|
3029
|
+
return this.editableSearchTerm && !this.multiple;
|
|
3030
|
+
}
|
|
3022
3031
|
/**
|
|
3023
3032
|
* @return {?}
|
|
3024
3033
|
*/
|
|
@@ -3271,7 +3280,12 @@ class NgSelectComponent {
|
|
|
3271
3280
|
return;
|
|
3272
3281
|
}
|
|
3273
3282
|
this.isOpen = false;
|
|
3274
|
-
this.
|
|
3283
|
+
if (!this._editableSearchTerm) {
|
|
3284
|
+
this._clearSearch();
|
|
3285
|
+
}
|
|
3286
|
+
else {
|
|
3287
|
+
this.itemsList.resetFilteredItems();
|
|
3288
|
+
}
|
|
3275
3289
|
this.itemsList.unmarkItem();
|
|
3276
3290
|
this._onTouched();
|
|
3277
3291
|
this.closeEvent.emit();
|
|
@@ -3291,6 +3305,9 @@ class NgSelectComponent {
|
|
|
3291
3305
|
else {
|
|
3292
3306
|
this.select(item);
|
|
3293
3307
|
}
|
|
3308
|
+
if (this._editableSearchTerm) {
|
|
3309
|
+
this._setSearchTermFromItems();
|
|
3310
|
+
}
|
|
3294
3311
|
this._onSelectionChanged();
|
|
3295
3312
|
}
|
|
3296
3313
|
/**
|
|
@@ -3300,7 +3317,7 @@ class NgSelectComponent {
|
|
|
3300
3317
|
select(item) {
|
|
3301
3318
|
if (!item.selected) {
|
|
3302
3319
|
this.itemsList.select(item);
|
|
3303
|
-
if (this.clearSearchOnAdd) {
|
|
3320
|
+
if (this.clearSearchOnAdd && !this._editableSearchTerm) {
|
|
3304
3321
|
this._clearSearch();
|
|
3305
3322
|
}
|
|
3306
3323
|
this._updateNgModel();
|
|
@@ -3465,6 +3482,9 @@ class NgSelectComponent {
|
|
|
3465
3482
|
if (this.focused) {
|
|
3466
3483
|
return;
|
|
3467
3484
|
}
|
|
3485
|
+
if (this._editableSearchTerm) {
|
|
3486
|
+
this._setSearchTermFromItems();
|
|
3487
|
+
}
|
|
3468
3488
|
this.element.classList.add('ng-select-focused');
|
|
3469
3489
|
this.focusEvent.emit($event);
|
|
3470
3490
|
this.focused = true;
|
|
@@ -3479,6 +3499,9 @@ class NgSelectComponent {
|
|
|
3479
3499
|
if (!this.isOpen && !this.disabled) {
|
|
3480
3500
|
this._onTouched();
|
|
3481
3501
|
}
|
|
3502
|
+
if (this._editableSearchTerm) {
|
|
3503
|
+
this._setSearchTermFromItems();
|
|
3504
|
+
}
|
|
3482
3505
|
this.focused = false;
|
|
3483
3506
|
}
|
|
3484
3507
|
/**
|
|
@@ -3499,6 +3522,15 @@ class NgSelectComponent {
|
|
|
3499
3522
|
this._cd.detectChanges();
|
|
3500
3523
|
}
|
|
3501
3524
|
}
|
|
3525
|
+
/**
|
|
3526
|
+
* @private
|
|
3527
|
+
* @return {?}
|
|
3528
|
+
*/
|
|
3529
|
+
_setSearchTermFromItems() {
|
|
3530
|
+
/** @type {?} */
|
|
3531
|
+
const selected = this.selectedItems && this.selectedItems[0];
|
|
3532
|
+
this.searchTerm = (selected && selected.label) || null;
|
|
3533
|
+
}
|
|
3502
3534
|
/**
|
|
3503
3535
|
* @private
|
|
3504
3536
|
* @param {?} items
|
|
@@ -3989,7 +4021,7 @@ NgSelectComponent.decorators = [
|
|
|
3989
4021
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3990
4022
|
host: {
|
|
3991
4023
|
'role': 'listbox',
|
|
3992
|
-
'class': '
|
|
4024
|
+
'[class.ng-select]': 'useDefaultClass',
|
|
3993
4025
|
'[class.ng-select-single]': '!multiple',
|
|
3994
4026
|
},
|
|
3995
4027
|
styles: [".ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:-webkit-box;display:flex;outline:0;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:-webkit-box;display:flex;-webkit-box-flex:1;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none;border:0;box-shadow:none;outline:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{-webkit-box-flex:1;flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute;z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:.8s linear infinite load8;animation:.8s linear infinite load8}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}"]
|
|
@@ -4039,6 +4071,7 @@ NgSelectComponent.propDecorators = {
|
|
|
4039
4071
|
readonly: [{ type: Input }],
|
|
4040
4072
|
searchWhileComposing: [{ type: Input }],
|
|
4041
4073
|
minTermLength: [{ type: Input }],
|
|
4074
|
+
editableSearchTerm: [{ type: Input }],
|
|
4042
4075
|
keyDownFn: [{ type: Input }],
|
|
4043
4076
|
typeahead: [{ type: Input }, { type: HostBinding, args: ['class.ng-select-typeahead',] }],
|
|
4044
4077
|
multiple: [{ type: Input }, { type: HostBinding, args: ['class.ng-select-multiple',] }],
|
|
@@ -4149,6 +4182,8 @@ if (false) {
|
|
|
4149
4182
|
/** @type {?} */
|
|
4150
4183
|
NgSelectComponent.prototype.minTermLength;
|
|
4151
4184
|
/** @type {?} */
|
|
4185
|
+
NgSelectComponent.prototype.editableSearchTerm;
|
|
4186
|
+
/** @type {?} */
|
|
4152
4187
|
NgSelectComponent.prototype.keyDownFn;
|
|
4153
4188
|
/** @type {?} */
|
|
4154
4189
|
NgSelectComponent.prototype.typeahead;
|
|
@@ -4226,6 +4261,8 @@ if (false) {
|
|
|
4226
4261
|
NgSelectComponent.prototype.focused;
|
|
4227
4262
|
/** @type {?} */
|
|
4228
4263
|
NgSelectComponent.prototype.escapeHTML;
|
|
4264
|
+
/** @type {?} */
|
|
4265
|
+
NgSelectComponent.prototype.useDefaultClass;
|
|
4229
4266
|
/**
|
|
4230
4267
|
* @type {?}
|
|
4231
4268
|
* @private
|