@ng-select/ng-select 2.20.2 → 3.0.0
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 +3 -3
- package/bundles/ng-select-ng-select.umd.js +4525 -0
- package/bundles/ng-select-ng-select.umd.js.map +1 -0
- package/bundles/ng-select-ng-select.umd.min.js +2 -0
- package/bundles/ng-select-ng-select.umd.min.js.map +1 -0
- package/esm2015/lib/config.service.js +40 -0
- package/esm2015/lib/console.service.js +20 -0
- package/esm2015/lib/id.js +21 -0
- package/esm2015/lib/items-list.js +661 -0
- package/esm2015/lib/ng-dropdown-panel.component.js +661 -0
- package/esm2015/lib/ng-dropdown-panel.service.js +127 -0
- package/esm2015/lib/ng-option.component.js +74 -0
- package/esm2015/lib/ng-select.component.js +1384 -0
- package/esm2015/lib/ng-select.module.js +57 -0
- package/esm2015/lib/ng-select.types.js +48 -0
- package/esm2015/{ng-select → lib}/ng-templates.directive.js +2 -3
- package/esm2015/lib/search-helper.js +862 -0
- package/esm2015/lib/selection-model.js +166 -0
- package/esm2015/lib/value-utils.js +33 -0
- package/esm2015/ng-select-ng-select.js +15 -0
- package/esm2015/public-api.js +11 -0
- package/esm5/lib/config.service.js +42 -0
- package/esm5/lib/console.service.js +28 -0
- package/esm5/lib/id.js +21 -0
- package/esm5/lib/items-list.js +888 -0
- package/esm5/lib/ng-dropdown-panel.component.js +770 -0
- package/esm5/lib/ng-dropdown-panel.service.js +150 -0
- package/esm5/lib/ng-option.component.js +86 -0
- package/esm5/lib/ng-select.component.js +1637 -0
- package/esm5/lib/ng-select.module.js +61 -0
- package/esm5/lib/ng-select.types.js +48 -0
- package/esm5/{ng-select → lib}/ng-templates.directive.js +2 -3
- package/esm5/lib/search-helper.js +862 -0
- package/esm5/{ng-select → lib}/selection-model.js +69 -22
- package/esm5/lib/value-utils.js +33 -0
- package/esm5/ng-select-ng-select.js +15 -0
- package/esm5/public-api.js +11 -0
- package/fesm2015/ng-select-ng-select.js +3804 -0
- package/fesm2015/ng-select-ng-select.js.map +1 -0
- package/fesm5/ng-select-ng-select.js +4442 -0
- package/fesm5/ng-select-ng-select.js.map +1 -0
- package/{ng-select → lib}/config.service.d.ts +0 -0
- package/{ng-select → lib}/console.service.d.ts +0 -0
- package/{ng-select → lib}/id.d.ts +0 -0
- package/{ng-select → lib}/items-list.d.ts +1 -1
- package/{ng-select → lib}/ng-dropdown-panel.component.d.ts +0 -0
- package/{ng-select → lib}/ng-dropdown-panel.service.d.ts +0 -0
- package/{ng-select → lib}/ng-option.component.d.ts +0 -0
- package/{ng-select → lib}/ng-select.component.d.ts +9 -9
- package/{ng-select → lib}/ng-select.module.d.ts +0 -0
- package/{ng-select → lib}/ng-select.types.d.ts +0 -0
- package/{ng-select → lib}/ng-templates.directive.d.ts +0 -0
- package/{ng-select → lib}/search-helper.d.ts +0 -0
- package/{ng-select → lib}/selection-model.d.ts +0 -0
- package/{ng-select → lib}/value-utils.d.ts +0 -0
- package/ng-select-ng-select.d.ts +10 -0
- package/ng-select-ng-select.metadata.json +1 -0
- package/package.json +13 -14
- package/public-api.d.ts +5 -0
- package/scss/material.theme.scss +1 -1
- package/themes/material.theme.css +1 -1
- package/bundles/ng-select.umd.js +0 -4283
- package/bundles/ng-select.umd.js.map +0 -1
- package/bundles/ng-select.umd.min.js +0 -2
- package/bundles/ng-select.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -9
- package/esm2015/ng-select/config.service.js +0 -41
- package/esm2015/ng-select/console.service.js +0 -21
- package/esm2015/ng-select/id.js +0 -17
- package/esm2015/ng-select/items-list.js +0 -542
- package/esm2015/ng-select/ng-dropdown-panel.component.js +0 -562
- package/esm2015/ng-select/ng-dropdown-panel.service.js +0 -121
- package/esm2015/ng-select/ng-option-highlight.directive.js +0 -98
- package/esm2015/ng-select/ng-option.component.js +0 -71
- package/esm2015/ng-select/ng-select.component.js +0 -1214
- package/esm2015/ng-select/ng-select.module.js +0 -61
- package/esm2015/ng-select/ng-select.types.js +0 -49
- package/esm2015/ng-select/search-helper.js +0 -859
- package/esm2015/ng-select/selection-model.js +0 -122
- package/esm2015/ng-select/value-utils.js +0 -34
- package/esm2015/ng-select.js +0 -17
- package/esm5/index.js +0 -9
- package/esm5/ng-select/config.service.js +0 -43
- package/esm5/ng-select/console.service.js +0 -29
- package/esm5/ng-select/id.js +0 -17
- package/esm5/ng-select/items-list.js +0 -761
- package/esm5/ng-select/ng-dropdown-panel.component.js +0 -654
- package/esm5/ng-select/ng-dropdown-panel.service.js +0 -144
- package/esm5/ng-select/ng-option-highlight.directive.js +0 -113
- package/esm5/ng-select/ng-option.component.js +0 -82
- package/esm5/ng-select/ng-select.component.js +0 -1430
- package/esm5/ng-select/ng-select.module.js +0 -65
- package/esm5/ng-select/ng-select.types.js +0 -49
- package/esm5/ng-select/search-helper.js +0 -859
- package/esm5/ng-select/value-utils.js +0 -34
- package/esm5/ng-select.js +0 -17
- package/fesm2015/ng-select.js +0 -3559
- package/fesm2015/ng-select.js.map +0 -1
- package/fesm5/ng-select.js +0 -4145
- package/fesm5/ng-select.js.map +0 -1
- package/index.d.ts +0 -5
- package/ng-select/ng-option-highlight.directive.d.ts +0 -14
- package/ng-select.d.ts +0 -11
- package/ng-select.metadata.json +0 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @record
|
|
7
|
+
*/
|
|
8
|
+
export function ItemsRangeResult() { }
|
|
9
|
+
if (false) {
|
|
10
|
+
/** @type {?} */
|
|
11
|
+
ItemsRangeResult.prototype.scrollHeight;
|
|
12
|
+
/** @type {?} */
|
|
13
|
+
ItemsRangeResult.prototype.topPadding;
|
|
14
|
+
/** @type {?} */
|
|
15
|
+
ItemsRangeResult.prototype.start;
|
|
16
|
+
/** @type {?} */
|
|
17
|
+
ItemsRangeResult.prototype.end;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @record
|
|
21
|
+
*/
|
|
22
|
+
export function PanelDimensions() { }
|
|
23
|
+
if (false) {
|
|
24
|
+
/** @type {?} */
|
|
25
|
+
PanelDimensions.prototype.itemHeight;
|
|
26
|
+
/** @type {?} */
|
|
27
|
+
PanelDimensions.prototype.panelHeight;
|
|
28
|
+
/** @type {?} */
|
|
29
|
+
PanelDimensions.prototype.itemsPerViewport;
|
|
30
|
+
}
|
|
31
|
+
export class NgDropdownPanelService {
|
|
32
|
+
constructor() {
|
|
33
|
+
this._dimensions = {
|
|
34
|
+
itemHeight: 0,
|
|
35
|
+
panelHeight: 0,
|
|
36
|
+
itemsPerViewport: 0
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
get dimensions() {
|
|
43
|
+
return this._dimensions;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @param {?} scrollPos
|
|
47
|
+
* @param {?} itemsLength
|
|
48
|
+
* @param {?} buffer
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
calculateItems(scrollPos, itemsLength, buffer) {
|
|
52
|
+
/** @type {?} */
|
|
53
|
+
const d = this._dimensions;
|
|
54
|
+
/** @type {?} */
|
|
55
|
+
const scrollHeight = d.itemHeight * itemsLength;
|
|
56
|
+
/** @type {?} */
|
|
57
|
+
const scrollTop = Math.max(0, scrollPos);
|
|
58
|
+
/** @type {?} */
|
|
59
|
+
const indexByScrollTop = scrollTop / scrollHeight * itemsLength;
|
|
60
|
+
/** @type {?} */
|
|
61
|
+
let end = Math.min(itemsLength, Math.ceil(indexByScrollTop) + (d.itemsPerViewport + 1));
|
|
62
|
+
/** @type {?} */
|
|
63
|
+
const maxStartEnd = end;
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
const maxStart = Math.max(0, maxStartEnd - d.itemsPerViewport);
|
|
66
|
+
/** @type {?} */
|
|
67
|
+
let start = Math.min(maxStart, Math.floor(indexByScrollTop));
|
|
68
|
+
/** @type {?} */
|
|
69
|
+
let topPadding = d.itemHeight * Math.ceil(start) - (d.itemHeight * Math.min(start, buffer));
|
|
70
|
+
topPadding = !isNaN(topPadding) ? topPadding : 0;
|
|
71
|
+
start = !isNaN(start) ? start : -1;
|
|
72
|
+
end = !isNaN(end) ? end : -1;
|
|
73
|
+
start -= buffer;
|
|
74
|
+
start = Math.max(0, start);
|
|
75
|
+
end += buffer;
|
|
76
|
+
end = Math.min(itemsLength, end);
|
|
77
|
+
return {
|
|
78
|
+
topPadding,
|
|
79
|
+
scrollHeight,
|
|
80
|
+
start,
|
|
81
|
+
end
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @param {?} itemHeight
|
|
86
|
+
* @param {?} panelHeight
|
|
87
|
+
* @return {?}
|
|
88
|
+
*/
|
|
89
|
+
setDimensions(itemHeight, panelHeight) {
|
|
90
|
+
/** @type {?} */
|
|
91
|
+
const itemsPerViewport = Math.max(1, Math.floor(panelHeight / itemHeight));
|
|
92
|
+
this._dimensions = {
|
|
93
|
+
itemHeight,
|
|
94
|
+
panelHeight,
|
|
95
|
+
itemsPerViewport
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @param {?} itemTop
|
|
100
|
+
* @param {?} itemHeight
|
|
101
|
+
* @param {?} lastScroll
|
|
102
|
+
* @return {?}
|
|
103
|
+
*/
|
|
104
|
+
getScrollTo(itemTop, itemHeight, lastScroll) {
|
|
105
|
+
/** @type {?} */
|
|
106
|
+
const itemBottom = itemTop + itemHeight;
|
|
107
|
+
/** @type {?} */
|
|
108
|
+
const top = lastScroll;
|
|
109
|
+
/** @type {?} */
|
|
110
|
+
const bottom = top + this.dimensions.panelHeight;
|
|
111
|
+
if (itemBottom > bottom) {
|
|
112
|
+
return top + itemBottom - bottom;
|
|
113
|
+
}
|
|
114
|
+
else if (itemTop <= top) {
|
|
115
|
+
return itemTop;
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (false) {
|
|
121
|
+
/**
|
|
122
|
+
* @type {?}
|
|
123
|
+
* @private
|
|
124
|
+
*/
|
|
125
|
+
NgDropdownPanelService.prototype._dimensions;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZHJvcGRvd24tcGFuZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy1zZWxlY3Qvbmctc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL25nLWRyb3Bkb3duLXBhbmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLHNDQUtDOzs7SUFKRyx3Q0FBcUI7O0lBQ3JCLHNDQUFtQjs7SUFDbkIsaUNBQWM7O0lBQ2QsK0JBQVk7Ozs7O0FBR2hCLHFDQUlDOzs7SUFIRyxxQ0FBbUI7O0lBQ25CLHNDQUFvQjs7SUFDcEIsMkNBQXlCOztBQUc3QixNQUFNLE9BQU8sc0JBQXNCO0lBQW5DO1FBRVksZ0JBQVcsR0FBb0I7WUFDbkMsVUFBVSxFQUFFLENBQUM7WUFDYixXQUFXLEVBQUUsQ0FBQztZQUNkLGdCQUFnQixFQUFFLENBQUM7U0FDdEIsQ0FBQztJQXlETixDQUFDOzs7O0lBdkRHLElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzs7Ozs7O0lBRUQsY0FBYyxDQUFDLFNBQWlCLEVBQUUsV0FBbUIsRUFBRSxNQUFjOztjQUMzRCxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVc7O2NBQ3BCLFlBQVksR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLFdBQVc7O2NBRXpDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUM7O2NBQ2xDLGdCQUFnQixHQUFHLFNBQVMsR0FBRyxZQUFZLEdBQUcsV0FBVzs7WUFDM0QsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQzs7Y0FFakYsV0FBVyxHQUFHLEdBQUc7O2NBQ2pCLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDOztZQUMxRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDOztZQUV4RCxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRixVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsS0FBSyxJQUFJLE1BQU0sQ0FBQztRQUNoQixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUNkLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqQyxPQUFPO1lBQ0gsVUFBVTtZQUNWLFlBQVk7WUFDWixLQUFLO1lBQ0wsR0FBRztTQUNOLENBQUE7SUFDTCxDQUFDOzs7Ozs7SUFFRCxhQUFhLENBQUMsVUFBa0IsRUFBRSxXQUFtQjs7Y0FDM0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLFVBQVU7WUFDVixXQUFXO1lBQ1gsZ0JBQWdCO1NBQ25CLENBQUM7SUFDTixDQUFDOzs7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQWUsRUFBRSxVQUFrQixFQUFFLFVBQWtCOztjQUN6RCxVQUFVLEdBQUcsT0FBTyxHQUFHLFVBQVU7O2NBQ2pDLEdBQUcsR0FBRyxVQUFVOztjQUNoQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVztRQUVoRCxJQUFJLFVBQVUsR0FBRyxNQUFNLEVBQUU7WUFDckIsT0FBTyxHQUFHLEdBQUcsVUFBVSxHQUFHLE1BQU0sQ0FBQztTQUNwQzthQUFNLElBQUksT0FBTyxJQUFJLEdBQUcsRUFBRTtZQUN2QixPQUFPLE9BQU8sQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjs7Ozs7O0lBN0RHLDZDQUlFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJdGVtc1JhbmdlUmVzdWx0IHtcbiAgICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcbiAgICB0b3BQYWRkaW5nOiBudW1iZXI7XG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgICBlbmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYW5lbERpbWVuc2lvbnMge1xuICAgIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgICBwYW5lbEhlaWdodDogbnVtYmVyO1xuICAgIGl0ZW1zUGVyVmlld3BvcnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE5nRHJvcGRvd25QYW5lbFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfZGltZW5zaW9uczogUGFuZWxEaW1lbnNpb25zID0ge1xuICAgICAgICBpdGVtSGVpZ2h0OiAwLFxuICAgICAgICBwYW5lbEhlaWdodDogMCxcbiAgICAgICAgaXRlbXNQZXJWaWV3cG9ydDogMFxuICAgIH07XG5cbiAgICBnZXQgZGltZW5zaW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpbWVuc2lvbnM7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlSXRlbXMoc2Nyb2xsUG9zOiBudW1iZXIsIGl0ZW1zTGVuZ3RoOiBudW1iZXIsIGJ1ZmZlcjogbnVtYmVyKTogSXRlbXNSYW5nZVJlc3VsdCB7XG4gICAgICAgIGNvbnN0IGQgPSB0aGlzLl9kaW1lbnNpb25zO1xuICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBkLml0ZW1IZWlnaHQgKiBpdGVtc0xlbmd0aDtcblxuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBNYXRoLm1heCgwLCBzY3JvbGxQb3MpO1xuICAgICAgICBjb25zdCBpbmRleEJ5U2Nyb2xsVG9wID0gc2Nyb2xsVG9wIC8gc2Nyb2xsSGVpZ2h0ICogaXRlbXNMZW5ndGg7XG4gICAgICAgIGxldCBlbmQgPSBNYXRoLm1pbihpdGVtc0xlbmd0aCwgTWF0aC5jZWlsKGluZGV4QnlTY3JvbGxUb3ApICsgKGQuaXRlbXNQZXJWaWV3cG9ydCArIDEpKTtcblxuICAgICAgICBjb25zdCBtYXhTdGFydEVuZCA9IGVuZDtcbiAgICAgICAgY29uc3QgbWF4U3RhcnQgPSBNYXRoLm1heCgwLCBtYXhTdGFydEVuZCAtIGQuaXRlbXNQZXJWaWV3cG9ydCk7XG4gICAgICAgIGxldCBzdGFydCA9IE1hdGgubWluKG1heFN0YXJ0LCBNYXRoLmZsb29yKGluZGV4QnlTY3JvbGxUb3ApKTtcblxuICAgICAgICBsZXQgdG9wUGFkZGluZyA9IGQuaXRlbUhlaWdodCAqIE1hdGguY2VpbChzdGFydCkgLSAoZC5pdGVtSGVpZ2h0ICogTWF0aC5taW4oc3RhcnQsIGJ1ZmZlcikpO1xuICAgICAgICB0b3BQYWRkaW5nID0gIWlzTmFOKHRvcFBhZGRpbmcpID8gdG9wUGFkZGluZyA6IDA7XG4gICAgICAgIHN0YXJ0ID0gIWlzTmFOKHN0YXJ0KSA/IHN0YXJ0IDogLTE7XG4gICAgICAgIGVuZCA9ICFpc05hTihlbmQpID8gZW5kIDogLTE7XG4gICAgICAgIHN0YXJ0IC09IGJ1ZmZlcjtcbiAgICAgICAgc3RhcnQgPSBNYXRoLm1heCgwLCBzdGFydCk7XG4gICAgICAgIGVuZCArPSBidWZmZXI7XG4gICAgICAgIGVuZCA9IE1hdGgubWluKGl0ZW1zTGVuZ3RoLCBlbmQpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3BQYWRkaW5nLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICBlbmRcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERpbWVuc2lvbnMoaXRlbUhlaWdodDogbnVtYmVyLCBwYW5lbEhlaWdodDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zUGVyVmlld3BvcnQgPSBNYXRoLm1heCgxLCBNYXRoLmZsb29yKHBhbmVsSGVpZ2h0IC8gaXRlbUhlaWdodCkpO1xuICAgICAgICB0aGlzLl9kaW1lbnNpb25zID0ge1xuICAgICAgICAgICAgaXRlbUhlaWdodCxcbiAgICAgICAgICAgIHBhbmVsSGVpZ2h0LFxuICAgICAgICAgICAgaXRlbXNQZXJWaWV3cG9ydFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldFNjcm9sbFRvKGl0ZW1Ub3A6IG51bWJlciwgaXRlbUhlaWdodDogbnVtYmVyLCBsYXN0U2Nyb2xsOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaXRlbUJvdHRvbSA9IGl0ZW1Ub3AgKyBpdGVtSGVpZ2h0O1xuICAgICAgICBjb25zdCB0b3AgPSBsYXN0U2Nyb2xsO1xuICAgICAgICBjb25zdCBib3R0b20gPSB0b3AgKyB0aGlzLmRpbWVuc2lvbnMucGFuZWxIZWlnaHQ7XG5cbiAgICAgICAgaWYgKGl0ZW1Cb3R0b20gPiBib3R0b20pIHtcbiAgICAgICAgICAgIHJldHVybiB0b3AgKyBpdGVtQm90dG9tIC0gYm90dG9tO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1Ub3AgPD0gdG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbVRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
7
|
+
export class NgOptionComponent {
|
|
8
|
+
/**
|
|
9
|
+
* @param {?} elementRef
|
|
10
|
+
*/
|
|
11
|
+
constructor(elementRef) {
|
|
12
|
+
this.elementRef = elementRef;
|
|
13
|
+
this.stateChange$ = new Subject();
|
|
14
|
+
this._disabled = false;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
get disabled() { return this._disabled; }
|
|
20
|
+
/**
|
|
21
|
+
* @param {?} value
|
|
22
|
+
* @return {?}
|
|
23
|
+
*/
|
|
24
|
+
set disabled(value) { this._disabled = this._isDisabled(value); }
|
|
25
|
+
/**
|
|
26
|
+
* @param {?} changes
|
|
27
|
+
* @return {?}
|
|
28
|
+
*/
|
|
29
|
+
ngOnChanges(changes) {
|
|
30
|
+
if (changes.disabled) {
|
|
31
|
+
this.stateChange$.next({
|
|
32
|
+
value: this.value,
|
|
33
|
+
disabled: this._disabled
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @private
|
|
39
|
+
* @param {?} value
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
_isDisabled(value) {
|
|
43
|
+
return value != null && `${value}` !== 'false';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
NgOptionComponent.decorators = [
|
|
47
|
+
{ type: Component, args: [{
|
|
48
|
+
selector: 'ng-option',
|
|
49
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
+
template: `<ng-content></ng-content>`
|
|
51
|
+
}] }
|
|
52
|
+
];
|
|
53
|
+
/** @nocollapse */
|
|
54
|
+
NgOptionComponent.ctorParameters = () => [
|
|
55
|
+
{ type: ElementRef }
|
|
56
|
+
];
|
|
57
|
+
NgOptionComponent.propDecorators = {
|
|
58
|
+
value: [{ type: Input }],
|
|
59
|
+
disabled: [{ type: Input }]
|
|
60
|
+
};
|
|
61
|
+
if (false) {
|
|
62
|
+
/** @type {?} */
|
|
63
|
+
NgOptionComponent.prototype.value;
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
NgOptionComponent.prototype.stateChange$;
|
|
66
|
+
/**
|
|
67
|
+
* @type {?}
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
NgOptionComponent.prototype._disabled;
|
|
71
|
+
/** @type {?} */
|
|
72
|
+
NgOptionComponent.prototype.elementRef;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctb3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZy1zZWxlY3Qvbmctc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL25nLW9wdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU8vQixNQUFNLE9BQU8saUJBQWlCOzs7O0lBVTFCLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIaEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBcUMsQ0FBQztRQUNqRSxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRW1CLENBQUM7Ozs7SUFQOUMsSUFDSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzs7Ozs7SUFDekMsSUFBSSxRQUFRLENBQUMsS0FBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUM7Ozs7O0lBT3JFLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzNCLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sV0FBVyxDQUFDLEtBQUs7UUFDckIsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLEtBQUssT0FBTyxDQUFDO0lBQ25ELENBQUM7OztZQTVCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUUsMkJBQTJCO2FBQ3hDOzs7O1lBWEcsVUFBVTs7O29CQWNULEtBQUs7dUJBQ0wsS0FBSzs7OztJQUROLGtDQUFvQjs7SUFLcEIseUNBQXlFOzs7OztJQUN6RSxzQ0FBMEI7O0lBRWQsdUNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZy1vcHRpb24nLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgTmdPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHsgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLl9pc0Rpc2FibGVkKHZhbHVlKSB9XG5cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDx7IHZhbHVlOiBhbnksIGRpc2FibGVkOiBib29sZWFuIH0+KCk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UkLm5leHQoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLl9kaXNhYmxlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZSc7XG4gICAgfVxufVxuIl19
|