@ng-select/ng-select 3.6.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 +126 -19
- 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 +43 -6
- package/esm2015/lib/selection-model.js +47 -15
- package/esm5/lib/ng-select.component.js +51 -6
- package/esm5/lib/selection-model.js +57 -12
- package/fesm2015/ng-select-ng-select.js +88 -19
- package/fesm2015/ng-select-ng-select.js.map +1 -1
- package/fesm5/ng-select-ng-select.js +106 -16
- package/fesm5/ng-select-ng-select.js.map +1 -1
- package/lib/ng-select.component.d.ts +4 -0
- package/lib/selection-model.d.ts +1 -0
- package/ng-select-ng-select.metadata.json +1 -1
- package/package.json +1 -1
- package/scss/ant.design.theme.scss +1 -0
- package/scss/default.theme.scss +1 -0
- package/scss/material.theme.scss +1 -0
- package/scss/ng-select.component.scss +0 -1
- package/themes/ant.design.theme.css +1 -1
- package/themes/default.theme.css +1 -1
- package/themes/material.theme.css +1 -1
|
@@ -63,7 +63,7 @@ var DefaultSelectionModel = /** @class */ (function () {
|
|
|
63
63
|
*/
|
|
64
64
|
function (item, multiple, groupAsModel) {
|
|
65
65
|
item.selected = true;
|
|
66
|
-
if (
|
|
66
|
+
if (!item.children || (!multiple && groupAsModel)) {
|
|
67
67
|
this._selected.push(item);
|
|
68
68
|
}
|
|
69
69
|
if (multiple) {
|
|
@@ -81,8 +81,19 @@ var DefaultSelectionModel = /** @class */ (function () {
|
|
|
81
81
|
else if (item.children) {
|
|
82
82
|
this._setChildrenSelectedState(item.children, true);
|
|
83
83
|
this._removeChildren(item);
|
|
84
|
-
if (
|
|
85
|
-
this._selected = tslib_1.__spread(this._selected
|
|
84
|
+
if (groupAsModel && this._activeChildren(item)) {
|
|
85
|
+
this._selected = tslib_1.__spread(this._selected.filter((/**
|
|
86
|
+
* @param {?} x
|
|
87
|
+
* @return {?}
|
|
88
|
+
*/
|
|
89
|
+
function (x) { return x.parent !== item; })), [item]);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this._selected = tslib_1.__spread(this._selected, item.children.filter((/**
|
|
93
|
+
* @param {?} x
|
|
94
|
+
* @return {?}
|
|
95
|
+
*/
|
|
96
|
+
function (x) { return !x.disabled; })));
|
|
86
97
|
}
|
|
87
98
|
}
|
|
88
99
|
}
|
|
@@ -115,7 +126,7 @@ var DefaultSelectionModel = /** @class */ (function () {
|
|
|
115
126
|
* @param {?} x
|
|
116
127
|
* @return {?}
|
|
117
128
|
*/
|
|
118
|
-
function (x) { return x !== item; }))));
|
|
129
|
+
function (x) { return x !== item && !x.disabled; }))));
|
|
119
130
|
item.parent.selected = false;
|
|
120
131
|
}
|
|
121
132
|
else if (item.children) {
|
|
@@ -152,11 +163,24 @@ var DefaultSelectionModel = /** @class */ (function () {
|
|
|
152
163
|
* @return {?}
|
|
153
164
|
*/
|
|
154
165
|
function (children, selected) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
166
|
+
var e_1, _a;
|
|
167
|
+
try {
|
|
168
|
+
for (var children_1 = tslib_1.__values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {
|
|
169
|
+
var child = children_1_1.value;
|
|
170
|
+
if (child.disabled) {
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
child.selected = selected;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
177
|
+
finally {
|
|
178
|
+
try {
|
|
179
|
+
if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);
|
|
180
|
+
}
|
|
181
|
+
finally { if (e_1) throw e_1.error; }
|
|
182
|
+
}
|
|
183
|
+
;
|
|
160
184
|
};
|
|
161
185
|
/**
|
|
162
186
|
* @private
|
|
@@ -169,11 +193,15 @@ var DefaultSelectionModel = /** @class */ (function () {
|
|
|
169
193
|
* @return {?}
|
|
170
194
|
*/
|
|
171
195
|
function (parent) {
|
|
172
|
-
this._selected = this._selected.filter((/**
|
|
196
|
+
this._selected = tslib_1.__spread(this._selected.filter((/**
|
|
197
|
+
* @param {?} x
|
|
198
|
+
* @return {?}
|
|
199
|
+
*/
|
|
200
|
+
function (x) { return x.parent !== parent; })), parent.children.filter((/**
|
|
173
201
|
* @param {?} x
|
|
174
202
|
* @return {?}
|
|
175
203
|
*/
|
|
176
|
-
function (x) { return x.parent
|
|
204
|
+
function (x) { return x.parent === parent && x.disabled && x.selected; })));
|
|
177
205
|
};
|
|
178
206
|
/**
|
|
179
207
|
* @private
|
|
@@ -192,6 +220,23 @@ var DefaultSelectionModel = /** @class */ (function () {
|
|
|
192
220
|
*/
|
|
193
221
|
function (x) { return x !== parent; }));
|
|
194
222
|
};
|
|
223
|
+
/**
|
|
224
|
+
* @private
|
|
225
|
+
* @param {?} item
|
|
226
|
+
* @return {?}
|
|
227
|
+
*/
|
|
228
|
+
DefaultSelectionModel.prototype._activeChildren = /**
|
|
229
|
+
* @private
|
|
230
|
+
* @param {?} item
|
|
231
|
+
* @return {?}
|
|
232
|
+
*/
|
|
233
|
+
function (item) {
|
|
234
|
+
return item.children.every((/**
|
|
235
|
+
* @param {?} x
|
|
236
|
+
* @return {?}
|
|
237
|
+
*/
|
|
238
|
+
function (x) { return !x.disabled || x.selected; }));
|
|
239
|
+
};
|
|
195
240
|
return DefaultSelectionModel;
|
|
196
241
|
}());
|
|
197
242
|
export { DefaultSelectionModel };
|
|
@@ -202,4 +247,4 @@ if (false) {
|
|
|
202
247
|
*/
|
|
203
248
|
DefaultSelectionModel.prototype._selected;
|
|
204
249
|
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nLXNlbGVjdC9uZy1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIvc2VsZWN0aW9uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLDRCQUE0QjtJQUN4QyxPQUFPLElBQUkscUJBQXFCLEVBQUUsQ0FBQztBQUN2QyxDQUFDOzs7O0FBRUQsb0NBS0M7OztJQUpHLCtCQUFrQjs7Ozs7OztJQUNsQix3RkFBMkU7Ozs7OztJQUMzRSxrRUFBNEM7Ozs7O0lBQzVDLDZEQUE2Qjs7QUFHakM7SUFBQTtRQUNZLGNBQVMsR0FBZSxFQUFFLENBQUM7SUF3RXZDLENBQUM7SUF0RUcsc0JBQUksd0NBQUs7Ozs7UUFBVDtZQUNJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTs7Ozs7OztJQUVELHNDQUFNOzs7Ozs7SUFBTixVQUFPLElBQWMsRUFBRSxRQUFpQixFQUFFLFlBQXFCO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7UUFDRCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTs7b0JBQ1AsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU07O29CQUMzQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTTs7OztnQkFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxRQUFRLEVBQVYsQ0FBVSxFQUFDLENBQUMsTUFBTTtnQkFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFR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O0lBRU8sK0NBQWU7Ozs7O0lBQXZCLFVBQXdCLE1BQWdCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLG9CQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQW5CLENBQW1CLEVBQUMsRUFDL0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQS9DLENBQStDLEVBQUMsQ0FDbEYsQ0FBQztJQUNOLENBQUM7Ozs7OztJQUVPLDZDQUFhOzs7OztJQUFyQixVQUFzQixNQUFnQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxLQUFLLE1BQU0sRUFBWixDQUFZLEVBQUMsQ0FBQTtJQUM3RCxDQUFDOzs7Ozs7SUFFTywrQ0FBZTs7Ozs7SUFBdkIsVUFBd0IsSUFBYztRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSzs7OztRQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQXpCLENBQXlCLEVBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0wsNEJBQUM7QUFBRCxDQUFDLEFBekVELElBeUVDOzs7Ozs7O0lBeEVHLDBDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nT3B0aW9uIH0gZnJvbSAnLi9uZy1zZWxlY3QudHlwZXMnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3Rpb25Nb2RlbEZhY3RvcnkgPSAoKSA9PiBTZWxlY3Rpb25Nb2RlbDtcblxuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRTZWxlY3Rpb25Nb2RlbEZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIG5ldyBEZWZhdWx0U2VsZWN0aW9uTW9kZWwoKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25Nb2RlbCB7XG4gICAgdmFsdWU6IE5nT3B0aW9uW107XG4gICAgc2VsZWN0KGl0ZW06IE5nT3B0aW9uLCBtdWx0aXBsZTogYm9vbGVhbiwgc2VsZWN0YWJsZUdyb3VwQXNNb2RlbDogYm9vbGVhbik7XG4gICAgdW5zZWxlY3QoaXRlbTogTmdPcHRpb24sIG11bHRpcGxlOiBib29sZWFuKTtcbiAgICBjbGVhcihrZWVwRGlzYWJsZWQ6IGJvb2xlYW4pO1xufVxuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFNlbGVjdGlvbk1vZGVsIGltcGxlbWVudHMgU2VsZWN0aW9uTW9kZWwge1xuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBOZ09wdGlvbltdID0gW107XG5cbiAgICBnZXQgdmFsdWUoKTogTmdPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBzZWxlY3QoaXRlbTogTmdPcHRpb24sIG11bHRpcGxlOiBib29sZWFuLCBncm91cEFzTW9kZWw6IGJvb2xlYW4pIHtcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGlmICghaXRlbS5jaGlsZHJlbiB8fCAoIW11bHRpcGxlICYmIGdyb3VwQXNNb2RlbCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbkNvdW50ID0gaXRlbS5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ291bnQgPSBpdGVtLnBhcmVudC5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4LnNlbGVjdGVkKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaXRlbS5wYXJlbnQuc2VsZWN0ZWQgPSBjaGlsZHJlbkNvdW50ID09PSBzZWxlY3RlZENvdW50O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q2hpbGRyZW5TZWxlY3RlZFN0YXRlKGl0ZW0uY2hpbGRyZW4sIHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUNoaWxkcmVuKGl0ZW0pO1xuICAgICAgICAgICAgICAgIGlmIChncm91cEFzTW9kZWwgJiYgdGhpcy5fYWN0aXZlQ2hpbGRyZW4oaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBbLi4udGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geC5wYXJlbnQgIT09IGl0ZW0pLCBpdGVtXVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gWy4uLnRoaXMuX3NlbGVjdGVkLCAuLi5pdGVtLmNoaWxkcmVuLmZpbHRlcih4ID0+ICF4LmRpc2FibGVkKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5zZWxlY3QoaXRlbTogTmdPcHRpb24sIG11bHRpcGxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geCAhPT0gaXRlbSk7XG4gICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wYXJlbnQgJiYgaXRlbS5wYXJlbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGl0ZW0ucGFyZW50LmNoaWxkcmVuO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZVBhcmVudChpdGVtLnBhcmVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlQ2hpbGRyZW4oaXRlbS5wYXJlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkLnB1c2goLi4uY2hpbGRyZW4uZmlsdGVyKHggPT4geCAhPT0gaXRlbSAmJiAheC5kaXNhYmxlZCkpO1xuICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRDaGlsZHJlblNlbGVjdGVkU3RhdGUoaXRlbS5jaGlsZHJlbiwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUNoaWxkcmVuKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXIoa2VlcERpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0ga2VlcERpc2FibGVkID8gdGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geC5kaXNhYmxlZCkgOiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDaGlsZHJlblNlbGVjdGVkU3RhdGUoY2hpbGRyZW46IE5nT3B0aW9uW10sIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGlmIChjaGlsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGQuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVDaGlsZHJlbihwYXJlbnQ6IE5nT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gW1xuICAgICAgICAgICAgLi4udGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geC5wYXJlbnQgIT09IHBhcmVudCksIFxuICAgICAgICAgICAgLi4ucGFyZW50LmNoaWxkcmVuLmZpbHRlcih4ID0+IHgucGFyZW50ID09PSBwYXJlbnQgJiYgeC5kaXNhYmxlZCAmJiB4LnNlbGVjdGVkKVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbW92ZVBhcmVudChwYXJlbnQ6IE5nT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geCAhPT0gcGFyZW50KVxuICAgIH1cblxuICAgIHByaXZhdGUgX2FjdGl2ZUNoaWxkcmVuKGl0ZW06IE5nT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpdGVtLmNoaWxkcmVuLmV2ZXJ5KHggPT4gIXguZGlzYWJsZWQgfHwgeC5zZWxlY3RlZCk7XG4gICAgfVxufVxuIl19
|
|
@@ -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();
|
|
@@ -3441,7 +3458,7 @@ class NgSelectComponent {
|
|
|
3441
3458
|
return;
|
|
3442
3459
|
}
|
|
3443
3460
|
this.searchTerm = term;
|
|
3444
|
-
if (this._isTypeahead && this._validTerm) {
|
|
3461
|
+
if (this._isTypeahead && (this._validTerm || this.minTermLength === 0)) {
|
|
3445
3462
|
this.typeahead.next(term);
|
|
3446
3463
|
}
|
|
3447
3464
|
if (!this._isTypeahead) {
|
|
@@ -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,10 +4021,10 @@ 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
|
-
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{
|
|
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}"]
|
|
3996
4028
|
}] }
|
|
3997
4029
|
];
|
|
3998
4030
|
/** @nocollapse */
|
|
@@ -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
|
|
@@ -4379,7 +4416,7 @@ class DefaultSelectionModel {
|
|
|
4379
4416
|
*/
|
|
4380
4417
|
select(item, multiple, groupAsModel) {
|
|
4381
4418
|
item.selected = true;
|
|
4382
|
-
if (
|
|
4419
|
+
if (!item.children || (!multiple && groupAsModel)) {
|
|
4383
4420
|
this._selected.push(item);
|
|
4384
4421
|
}
|
|
4385
4422
|
if (multiple) {
|
|
@@ -4397,8 +4434,19 @@ class DefaultSelectionModel {
|
|
|
4397
4434
|
else if (item.children) {
|
|
4398
4435
|
this._setChildrenSelectedState(item.children, true);
|
|
4399
4436
|
this._removeChildren(item);
|
|
4400
|
-
if (
|
|
4401
|
-
this._selected = [...this._selected
|
|
4437
|
+
if (groupAsModel && this._activeChildren(item)) {
|
|
4438
|
+
this._selected = [...this._selected.filter((/**
|
|
4439
|
+
* @param {?} x
|
|
4440
|
+
* @return {?}
|
|
4441
|
+
*/
|
|
4442
|
+
x => x.parent !== item)), item];
|
|
4443
|
+
}
|
|
4444
|
+
else {
|
|
4445
|
+
this._selected = [...this._selected, ...item.children.filter((/**
|
|
4446
|
+
* @param {?} x
|
|
4447
|
+
* @return {?}
|
|
4448
|
+
*/
|
|
4449
|
+
x => !x.disabled))];
|
|
4402
4450
|
}
|
|
4403
4451
|
}
|
|
4404
4452
|
}
|
|
@@ -4425,7 +4473,7 @@ class DefaultSelectionModel {
|
|
|
4425
4473
|
* @param {?} x
|
|
4426
4474
|
* @return {?}
|
|
4427
4475
|
*/
|
|
4428
|
-
x => x !== item)));
|
|
4476
|
+
x => x !== item && !x.disabled)));
|
|
4429
4477
|
item.parent.selected = false;
|
|
4430
4478
|
}
|
|
4431
4479
|
else if (item.children) {
|
|
@@ -4452,11 +4500,13 @@ class DefaultSelectionModel {
|
|
|
4452
4500
|
* @return {?}
|
|
4453
4501
|
*/
|
|
4454
4502
|
_setChildrenSelectedState(children, selected) {
|
|
4455
|
-
children
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4503
|
+
for (const child of children) {
|
|
4504
|
+
if (child.disabled) {
|
|
4505
|
+
continue;
|
|
4506
|
+
}
|
|
4507
|
+
child.selected = selected;
|
|
4508
|
+
}
|
|
4509
|
+
;
|
|
4460
4510
|
}
|
|
4461
4511
|
/**
|
|
4462
4512
|
* @private
|
|
@@ -4464,11 +4514,18 @@ class DefaultSelectionModel {
|
|
|
4464
4514
|
* @return {?}
|
|
4465
4515
|
*/
|
|
4466
4516
|
_removeChildren(parent) {
|
|
4467
|
-
this._selected =
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4517
|
+
this._selected = [
|
|
4518
|
+
...this._selected.filter((/**
|
|
4519
|
+
* @param {?} x
|
|
4520
|
+
* @return {?}
|
|
4521
|
+
*/
|
|
4522
|
+
x => x.parent !== parent)),
|
|
4523
|
+
...parent.children.filter((/**
|
|
4524
|
+
* @param {?} x
|
|
4525
|
+
* @return {?}
|
|
4526
|
+
*/
|
|
4527
|
+
x => x.parent === parent && x.disabled && x.selected))
|
|
4528
|
+
];
|
|
4472
4529
|
}
|
|
4473
4530
|
/**
|
|
4474
4531
|
* @private
|
|
@@ -4482,6 +4539,18 @@ class DefaultSelectionModel {
|
|
|
4482
4539
|
*/
|
|
4483
4540
|
x => x !== parent));
|
|
4484
4541
|
}
|
|
4542
|
+
/**
|
|
4543
|
+
* @private
|
|
4544
|
+
* @param {?} item
|
|
4545
|
+
* @return {?}
|
|
4546
|
+
*/
|
|
4547
|
+
_activeChildren(item) {
|
|
4548
|
+
return item.children.every((/**
|
|
4549
|
+
* @param {?} x
|
|
4550
|
+
* @return {?}
|
|
4551
|
+
*/
|
|
4552
|
+
x => !x.disabled || x.selected));
|
|
4553
|
+
}
|
|
4485
4554
|
}
|
|
4486
4555
|
if (false) {
|
|
4487
4556
|
/**
|