@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
package/README.md
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
[](https://badge.fury.io/js/%40ng-select%2Fng-select)
|
|
2
|
-
[![Build Status][travis-badge]][travis-badge-url]
|
|
3
2
|
[![Coverage Status][coveralls-image]][coveralls-url]
|
|
4
3
|
[][ng-select-url]
|
|
5
4
|
|
|
6
|
-
[travis-badge]: https://travis-ci.org/ng-select/ng-select.svg?branch=master
|
|
7
|
-
[travis-badge-url]: https://travis-ci.org/ng-select/ng-select
|
|
8
5
|
[coveralls-image]: https://coveralls.io/repos/github/ng-select/ng-select/badge.svg?branch=master
|
|
9
6
|
[coveralls-url]: https://coveralls.io/github/ng-select/ng-select?branch=master
|
|
10
7
|
[ng-select-url]: https://unpkg.com/@ng-select/ng-select@latest
|
|
@@ -156,6 +153,7 @@ map: {
|
|
|
156
153
|
| [searchWhileComposing] | `boolean` | `true` | no | Whether items should be filtered while composition started |
|
|
157
154
|
| [trackByFn] | `(item: any) => any` | `null` | no | Provide custom trackBy function |
|
|
158
155
|
| [clearSearchOnAdd] | `boolean` | `true` | no | Clears search input when item is selected. Default `true`. Default `false` when **closeOnSelect** is `false` |
|
|
156
|
+
| [editableSearchTerm] | `boolean` | `false` | no | Allow to edit search query if option selected. Default `false`. Works only if multiple is `false`. |
|
|
159
157
|
| [selectOnTab] | `boolean` | `false` | no | Select marked dropdown item using tab. Default `false`|
|
|
160
158
|
| [openOnEnter] | `boolean` | `true` | no | Open dropdown using enter. Default `true`|
|
|
161
159
|
| [typeahead] | `Subject` | `-` | no | Custom autocomplete or advanced filter. |
|
|
@@ -72,10 +72,11 @@
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
75
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
75
76
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
76
77
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
77
78
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
78
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
79
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
79
80
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
80
81
|
});
|
|
81
82
|
}
|
|
@@ -113,14 +114,15 @@
|
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
function __values(o) {
|
|
116
|
-
var
|
|
117
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
117
118
|
if (m) return m.call(o);
|
|
118
|
-
return {
|
|
119
|
+
if (o && typeof o.length === "number") return {
|
|
119
120
|
next: function () {
|
|
120
121
|
if (o && i >= o.length) o = void 0;
|
|
121
122
|
return { value: o && o[i++], done: !o };
|
|
122
123
|
}
|
|
123
124
|
};
|
|
125
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
124
126
|
}
|
|
125
127
|
|
|
126
128
|
function __read(o, n) {
|
|
@@ -199,6 +201,21 @@
|
|
|
199
201
|
|
|
200
202
|
function __importDefault(mod) {
|
|
201
203
|
return (mod && mod.__esModule) ? mod : { default: mod };
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
function __classPrivateFieldGet(receiver, privateMap) {
|
|
207
|
+
if (!privateMap.has(receiver)) {
|
|
208
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
209
|
+
}
|
|
210
|
+
return privateMap.get(receiver);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
function __classPrivateFieldSet(receiver, privateMap, value) {
|
|
214
|
+
if (!privateMap.has(receiver)) {
|
|
215
|
+
throw new TypeError("attempted to set private field on non-instance");
|
|
216
|
+
}
|
|
217
|
+
privateMap.set(receiver, value);
|
|
218
|
+
return value;
|
|
202
219
|
}
|
|
203
220
|
|
|
204
221
|
/**
|
|
@@ -3452,6 +3469,7 @@
|
|
|
3452
3469
|
this.readonly = false;
|
|
3453
3470
|
this.searchWhileComposing = true;
|
|
3454
3471
|
this.minTermLength = 0;
|
|
3472
|
+
this.editableSearchTerm = false;
|
|
3455
3473
|
this.keyDownFn = (/**
|
|
3456
3474
|
* @param {?} _
|
|
3457
3475
|
* @return {?}
|
|
@@ -3478,6 +3496,7 @@
|
|
|
3478
3496
|
this.searchTerm = null;
|
|
3479
3497
|
this.dropdownId = newId();
|
|
3480
3498
|
this.escapeHTML = true;
|
|
3499
|
+
this.useDefaultClass = true;
|
|
3481
3500
|
this._items = [];
|
|
3482
3501
|
this._defaultLabel = 'label';
|
|
3483
3502
|
this._pressedKeys = [];
|
|
@@ -3592,6 +3611,17 @@
|
|
|
3592
3611
|
configurable: true
|
|
3593
3612
|
});
|
|
3594
3613
|
;
|
|
3614
|
+
Object.defineProperty(NgSelectComponent.prototype, "_editableSearchTerm", {
|
|
3615
|
+
get: /**
|
|
3616
|
+
* @private
|
|
3617
|
+
* @return {?}
|
|
3618
|
+
*/
|
|
3619
|
+
function () {
|
|
3620
|
+
return this.editableSearchTerm && !this.multiple;
|
|
3621
|
+
},
|
|
3622
|
+
enumerable: true,
|
|
3623
|
+
configurable: true
|
|
3624
|
+
});
|
|
3595
3625
|
Object.defineProperty(NgSelectComponent.prototype, "selectedItems", {
|
|
3596
3626
|
get: /**
|
|
3597
3627
|
* @return {?}
|
|
@@ -3919,7 +3949,12 @@
|
|
|
3919
3949
|
return;
|
|
3920
3950
|
}
|
|
3921
3951
|
this.isOpen = false;
|
|
3922
|
-
this.
|
|
3952
|
+
if (!this._editableSearchTerm) {
|
|
3953
|
+
this._clearSearch();
|
|
3954
|
+
}
|
|
3955
|
+
else {
|
|
3956
|
+
this.itemsList.resetFilteredItems();
|
|
3957
|
+
}
|
|
3923
3958
|
this.itemsList.unmarkItem();
|
|
3924
3959
|
this._onTouched();
|
|
3925
3960
|
this.closeEvent.emit();
|
|
@@ -3943,6 +3978,9 @@
|
|
|
3943
3978
|
else {
|
|
3944
3979
|
this.select(item);
|
|
3945
3980
|
}
|
|
3981
|
+
if (this._editableSearchTerm) {
|
|
3982
|
+
this._setSearchTermFromItems();
|
|
3983
|
+
}
|
|
3946
3984
|
this._onSelectionChanged();
|
|
3947
3985
|
};
|
|
3948
3986
|
/**
|
|
@@ -3956,7 +3994,7 @@
|
|
|
3956
3994
|
function (item) {
|
|
3957
3995
|
if (!item.selected) {
|
|
3958
3996
|
this.itemsList.select(item);
|
|
3959
|
-
if (this.clearSearchOnAdd) {
|
|
3997
|
+
if (this.clearSearchOnAdd && !this._editableSearchTerm) {
|
|
3960
3998
|
this._clearSearch();
|
|
3961
3999
|
}
|
|
3962
4000
|
this._updateNgModel();
|
|
@@ -4164,6 +4202,9 @@
|
|
|
4164
4202
|
if (this.focused) {
|
|
4165
4203
|
return;
|
|
4166
4204
|
}
|
|
4205
|
+
if (this._editableSearchTerm) {
|
|
4206
|
+
this._setSearchTermFromItems();
|
|
4207
|
+
}
|
|
4167
4208
|
this.element.classList.add('ng-select-focused');
|
|
4168
4209
|
this.focusEvent.emit($event);
|
|
4169
4210
|
this.focused = true;
|
|
@@ -4182,6 +4223,9 @@
|
|
|
4182
4223
|
if (!this.isOpen && !this.disabled) {
|
|
4183
4224
|
this._onTouched();
|
|
4184
4225
|
}
|
|
4226
|
+
if (this._editableSearchTerm) {
|
|
4227
|
+
this._setSearchTermFromItems();
|
|
4228
|
+
}
|
|
4185
4229
|
this.focused = false;
|
|
4186
4230
|
};
|
|
4187
4231
|
/**
|
|
@@ -4209,6 +4253,19 @@
|
|
|
4209
4253
|
this._cd.detectChanges();
|
|
4210
4254
|
}
|
|
4211
4255
|
};
|
|
4256
|
+
/**
|
|
4257
|
+
* @private
|
|
4258
|
+
* @return {?}
|
|
4259
|
+
*/
|
|
4260
|
+
NgSelectComponent.prototype._setSearchTermFromItems = /**
|
|
4261
|
+
* @private
|
|
4262
|
+
* @return {?}
|
|
4263
|
+
*/
|
|
4264
|
+
function () {
|
|
4265
|
+
/** @type {?} */
|
|
4266
|
+
var selected = this.selectedItems && this.selectedItems[0];
|
|
4267
|
+
this.searchTerm = (selected && selected.label) || null;
|
|
4268
|
+
};
|
|
4212
4269
|
/**
|
|
4213
4270
|
* @private
|
|
4214
4271
|
* @param {?} items
|
|
@@ -4823,7 +4880,7 @@
|
|
|
4823
4880
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
4824
4881
|
host: {
|
|
4825
4882
|
'role': 'listbox',
|
|
4826
|
-
'class': '
|
|
4883
|
+
'[class.ng-select]': 'useDefaultClass',
|
|
4827
4884
|
'[class.ng-select-single]': '!multiple',
|
|
4828
4885
|
},
|
|
4829
4886
|
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}"]
|
|
@@ -4873,6 +4930,7 @@
|
|
|
4873
4930
|
readonly: [{ type: core.Input }],
|
|
4874
4931
|
searchWhileComposing: [{ type: core.Input }],
|
|
4875
4932
|
minTermLength: [{ type: core.Input }],
|
|
4933
|
+
editableSearchTerm: [{ type: core.Input }],
|
|
4876
4934
|
keyDownFn: [{ type: core.Input }],
|
|
4877
4935
|
typeahead: [{ type: core.Input }, { type: core.HostBinding, args: ['class.ng-select-typeahead',] }],
|
|
4878
4936
|
multiple: [{ type: core.Input }, { type: core.HostBinding, args: ['class.ng-select-multiple',] }],
|
|
@@ -4985,6 +5043,8 @@
|
|
|
4985
5043
|
/** @type {?} */
|
|
4986
5044
|
NgSelectComponent.prototype.minTermLength;
|
|
4987
5045
|
/** @type {?} */
|
|
5046
|
+
NgSelectComponent.prototype.editableSearchTerm;
|
|
5047
|
+
/** @type {?} */
|
|
4988
5048
|
NgSelectComponent.prototype.keyDownFn;
|
|
4989
5049
|
/** @type {?} */
|
|
4990
5050
|
NgSelectComponent.prototype.typeahead;
|
|
@@ -5062,6 +5122,8 @@
|
|
|
5062
5122
|
NgSelectComponent.prototype.focused;
|
|
5063
5123
|
/** @type {?} */
|
|
5064
5124
|
NgSelectComponent.prototype.escapeHTML;
|
|
5125
|
+
/** @type {?} */
|
|
5126
|
+
NgSelectComponent.prototype.useDefaultClass;
|
|
5065
5127
|
/**
|
|
5066
5128
|
* @type {?}
|
|
5067
5129
|
* @private
|