ngx-dropdown-list 1.1.0 → 1.2.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 +2 -2
- package/esm2020/ngx-dropdown-list.mjs +5 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/src/ngx-dropdown-list/anchor/anchor.component.mjs +149 -0
- package/esm2020/src/ngx-dropdown-list/dropdown/dropdown.component.mjs +252 -0
- package/esm2020/src/ngx-dropdown-list/dropdown-list.component.mjs +233 -0
- package/esm2020/src/ngx-dropdown-list/dropdown-list.module.mjs +38 -0
- package/esm2020/src/ngx-dropdown-list/filter/input-filter.component.mjs +44 -0
- package/esm2020/src/ngx-dropdown-list/group-item/group-item.component.mjs +25 -0
- package/esm2020/src/ngx-dropdown-list/index.mjs +3 -0
- package/esm2020/src/ngx-dropdown-list/item/item.component.mjs +77 -0
- package/esm2020/src/ngx-dropdown-list/types/index.mjs +3 -0
- package/esm2020/src/ngx-dropdown-list/types/selection-group-items.types.mjs +2 -0
- package/esm2020/src/ngx-dropdown-list/types/selection-item.types.mjs +2 -0
- package/esm2020/src/ngx-dropdown-list/utils/util.mjs +59 -0
- package/fesm2015/ngx-dropdown-list.mjs +854 -0
- package/fesm2015/ngx-dropdown-list.mjs.map +1 -0
- package/fesm2020/ngx-dropdown-list.mjs +854 -0
- package/fesm2020/ngx-dropdown-list.mjs.map +1 -0
- package/ngx-dropdown-list.d.ts +1 -5
- package/package.json +26 -48
- package/src/ngx-dropdown-list/anchor/anchor.component.d.ts +6 -3
- package/src/ngx-dropdown-list/dropdown/dropdown.component.d.ts +5 -2
- package/src/ngx-dropdown-list/dropdown-list.component.d.ts +7 -4
- package/src/ngx-dropdown-list/dropdown-list.module.d.ts +12 -0
- package/src/ngx-dropdown-list/filter/input-filter.component.d.ts +3 -0
- package/src/ngx-dropdown-list/group-item/group-item.component.d.ts +3 -0
- package/src/ngx-dropdown-list/item/item.component.d.ts +3 -0
- package/bundles/ngx-dropdown-list.umd.js +0 -1180
- package/bundles/ngx-dropdown-list.umd.js.map +0 -1
- package/bundles/ngx-dropdown-list.umd.min.js +0 -2
- package/bundles/ngx-dropdown-list.umd.min.js.map +0 -1
- package/esm2015/ngx-dropdown-list.js +0 -14
- package/esm2015/public_api.js +0 -6
- package/esm2015/src/ngx-dropdown-list/anchor/anchor.component.js +0 -226
- package/esm2015/src/ngx-dropdown-list/dropdown/dropdown.component.js +0 -339
- package/esm2015/src/ngx-dropdown-list/dropdown-list.component.js +0 -290
- package/esm2015/src/ngx-dropdown-list/dropdown-list.module.js +0 -32
- package/esm2015/src/ngx-dropdown-list/filter/input-filter.component.js +0 -64
- package/esm2015/src/ngx-dropdown-list/group-item/group-item.component.js +0 -37
- package/esm2015/src/ngx-dropdown-list/index.js +0 -7
- package/esm2015/src/ngx-dropdown-list/item/item.component.js +0 -104
- package/esm2015/src/ngx-dropdown-list/types/index.js +0 -7
- package/esm2015/src/ngx-dropdown-list/types/selection-group-items.types.js +0 -16
- package/esm2015/src/ngx-dropdown-list/types/selection-item.types.js +0 -20
- package/esm2015/src/ngx-dropdown-list/utils/util.js +0 -73
- package/esm5/ngx-dropdown-list.js +0 -14
- package/esm5/public_api.js +0 -6
- package/esm5/src/ngx-dropdown-list/anchor/anchor.component.js +0 -272
- package/esm5/src/ngx-dropdown-list/dropdown/dropdown.component.js +0 -408
- package/esm5/src/ngx-dropdown-list/dropdown-list.component.js +0 -361
- package/esm5/src/ngx-dropdown-list/dropdown-list.module.js +0 -36
- package/esm5/src/ngx-dropdown-list/filter/input-filter.component.js +0 -79
- package/esm5/src/ngx-dropdown-list/group-item/group-item.component.js +0 -47
- package/esm5/src/ngx-dropdown-list/index.js +0 -7
- package/esm5/src/ngx-dropdown-list/item/item.component.js +0 -120
- package/esm5/src/ngx-dropdown-list/types/index.js +0 -7
- package/esm5/src/ngx-dropdown-list/types/selection-group-items.types.js +0 -16
- package/esm5/src/ngx-dropdown-list/types/selection-item.types.js +0 -20
- package/esm5/src/ngx-dropdown-list/utils/util.js +0 -96
- package/fesm2015/ngx-dropdown-list.js +0 -890
- package/fesm2015/ngx-dropdown-list.js.map +0 -1
- package/fesm5/ngx-dropdown-list.js +0 -1137
- package/fesm5/ngx-dropdown-list.js.map +0 -1
- package/ngx-dropdown-list.metadata.json +0 -1
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* check whether the provided items contains group
|
|
7
|
-
* @param {?} items
|
|
8
|
-
* @return {?}
|
|
9
|
-
*/
|
|
10
|
-
export function hasGroup(items) {
|
|
11
|
-
return items ? (items.find(item => item.group) != null) : false;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* clear all selections from the provide items.
|
|
15
|
-
* @param {?} items the dropdown items, can be group or item
|
|
16
|
-
* @return {?}
|
|
17
|
-
*/
|
|
18
|
-
export function clearAllSelection(items) {
|
|
19
|
-
if (hasGroup(items)) {
|
|
20
|
-
for (const groupItem of items) {
|
|
21
|
-
if (groupItem.items) {
|
|
22
|
-
groupItem.items.filter(item => item.selected).forEach(item => item.selected = false);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// clear the selection of previous selected item
|
|
28
|
-
items.filter(item => item.selected).forEach(item => item.selected = false);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* stop all propagation and default actions
|
|
33
|
-
* @param {?} event
|
|
34
|
-
* @return {?}
|
|
35
|
-
*/
|
|
36
|
-
export function stopPropagationAndDefault(event) {
|
|
37
|
-
event.stopImmediatePropagation();
|
|
38
|
-
event.stopPropagation();
|
|
39
|
-
event.preventDefault();
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* check whether the provided value is number of not
|
|
43
|
-
* @param {?} value
|
|
44
|
-
* @return {?}
|
|
45
|
-
*/
|
|
46
|
-
export function isNumber(value) {
|
|
47
|
-
return !(value == null || isNaN(value) || value.length === 0);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* get the selected item from the items list (including item and group)
|
|
51
|
-
* @param {?} items
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
export function getFirstSelectedItem(items) {
|
|
55
|
-
if (!items) {
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
/** @type {?} */
|
|
59
|
-
let selectedItem;
|
|
60
|
-
if (hasGroup(items)) {
|
|
61
|
-
for (const item of items) {
|
|
62
|
-
selectedItem = item.items ? item.items.find(subItem => subItem.selected) : undefined;
|
|
63
|
-
if (selectedItem) {
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
selectedItem = items ? items.find(item => item.selected) : undefined;
|
|
70
|
-
}
|
|
71
|
-
return selectedItem;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcm9wZG93bi1saXN0LyIsInNvdXJjZXMiOlsic3JjL25neC1kcm9wZG93bi1saXN0L3V0aWxzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFLO0lBQzVCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRSxDQUFDOzs7Ozs7QUFNRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBVTtJQUMxQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNuQixLQUFLLE1BQU0sU0FBUyxJQUFJLEtBQUssRUFBRTtZQUM3QixJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ25CLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7YUFDdEY7U0FDRjtLQUNGO1NBQU07UUFDTCxnREFBZ0Q7UUFDaEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO0tBQzVFO0FBQ0gsQ0FBQzs7Ozs7O0FBS0QsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEtBQVk7SUFDcEQsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDakMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUN6QixDQUFDOzs7Ozs7QUFLRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVU7SUFDakMsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDOzs7Ozs7QUFLRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBVTtJQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxTQUFTLENBQUM7S0FDbEI7O1FBQ0csWUFBWTtJQUNoQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNuQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyRixJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTTthQUNQO1NBQ0Y7S0FDRjtTQUFNO1FBQ0wsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0tBQ3RFO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBjaGVjayB3aGV0aGVyIHRoZSBwcm92aWRlZCBpdGVtcyBjb250YWlucyBncm91cFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGhhc0dyb3VwKGl0ZW1zKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIGl0ZW1zID8gKGl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmdyb3VwKSAhPSBudWxsKSA6IGZhbHNlO1xyXG59XHJcblxyXG4vKipcclxuICogY2xlYXIgYWxsIHNlbGVjdGlvbnMgZnJvbSB0aGUgcHJvdmlkZSBpdGVtcy5cclxuICogQHBhcmFtIGl0ZW1zIHRoZSBkcm9wZG93biBpdGVtcywgY2FuIGJlIGdyb3VwIG9yIGl0ZW1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjbGVhckFsbFNlbGVjdGlvbihpdGVtczogYW55KTogdm9pZCB7XHJcbiAgaWYgKGhhc0dyb3VwKGl0ZW1zKSkge1xyXG4gICAgZm9yIChjb25zdCBncm91cEl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgaWYgKGdyb3VwSXRlbS5pdGVtcykge1xyXG4gICAgICAgIGdyb3VwSXRlbS5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKS5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyBjbGVhciB0aGUgc2VsZWN0aW9uIG9mIHByZXZpb3VzIHNlbGVjdGVkIGl0ZW1cclxuICAgIGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpLmZvckVhY2goaXRlbSA9PiBpdGVtLnNlbGVjdGVkID0gZmFsc2UpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIHN0b3AgYWxsIHByb3BhZ2F0aW9uIGFuZCBkZWZhdWx0IGFjdGlvbnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzdG9wUHJvcGFnYXRpb25BbmREZWZhdWx0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBjaGVjayB3aGV0aGVyIHRoZSBwcm92aWRlZCB2YWx1ZSBpcyBudW1iZXIgb2Ygbm90XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAhKHZhbHVlID09IG51bGwgfHwgaXNOYU4odmFsdWUpIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBnZXQgdGhlIHNlbGVjdGVkIGl0ZW0gZnJvbSB0aGUgaXRlbXMgbGlzdCAoaW5jbHVkaW5nIGl0ZW0gYW5kIGdyb3VwKVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0U2VsZWN0ZWRJdGVtKGl0ZW1zOiBhbnkpOiBhbnkge1xyXG4gIGlmICghaXRlbXMpIHtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIGxldCBzZWxlY3RlZEl0ZW07XHJcbiAgaWYgKGhhc0dyb3VwKGl0ZW1zKSkge1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgIHNlbGVjdGVkSXRlbSA9IGl0ZW0uaXRlbXMgPyBpdGVtLml0ZW1zLmZpbmQoc3ViSXRlbSA9PiBzdWJJdGVtLnNlbGVjdGVkKSA6IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHNlbGVjdGVkSXRlbSA9IGl0ZW1zID8gaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuICByZXR1cm4gc2VsZWN0ZWRJdGVtO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Generated bundle index. Do not edit.
|
|
7
|
-
*/
|
|
8
|
-
export { DropdownListComponent, DropdownListModule } from './public_api';
|
|
9
|
-
export { AnchorComponent as ɵd } from './src/ngx-dropdown-list/anchor/anchor.component';
|
|
10
|
-
export { DropdownComponent as ɵe } from './src/ngx-dropdown-list/dropdown/dropdown.component';
|
|
11
|
-
export { InputFilterComponent as ɵc } from './src/ngx-dropdown-list/filter/input-filter.component';
|
|
12
|
-
export { GroupItemComponent as ɵb } from './src/ngx-dropdown-list/group-item/group-item.component';
|
|
13
|
-
export { ItemComponent as ɵa } from './src/ngx-dropdown-list/item/item.component';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyb3Bkb3duLWxpc3QuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJvcGRvd24tbGlzdC8iLCJzb3VyY2VzIjpbIm5neC1kcm9wZG93bi1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwwREFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDNUYsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0FuY2hvckNvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vc3JjL25neC1kcm9wZG93bi1saXN0L2FuY2hvci9hbmNob3IuY29tcG9uZW50JztcbmV4cG9ydCB7RHJvcGRvd25Db21wb25lbnQgYXMgybVlfSBmcm9tICcuL3NyYy9uZ3gtZHJvcGRvd24tbGlzdC9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0IHtJbnB1dEZpbHRlckNvbXBvbmVudCBhcyDJtWN9IGZyb20gJy4vc3JjL25neC1kcm9wZG93bi1saXN0L2ZpbHRlci9pbnB1dC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7R3JvdXBJdGVtQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9zcmMvbmd4LWRyb3Bkb3duLWxpc3QvZ3JvdXAtaXRlbS9ncm91cC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge0l0ZW1Db21wb25lbnQgYXMgybVhfSBmcm9tICcuL3NyYy9uZ3gtZHJvcGRvd24tbGlzdC9pdGVtL2l0ZW0uY29tcG9uZW50JzsiXX0=
|
package/esm5/public_api.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
export { DropdownListComponent, DropdownListModule } from './src/ngx-dropdown-list/index';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcm9wZG93bi1saXN0LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMERBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9uZ3gtZHJvcGRvd24tbGlzdC9pbmRleCc7XHJcbiJdfQ==
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
6
|
-
import { stopPropagationAndDefault, isNumber } from '../utils/util';
|
|
7
|
-
import { DecimalPipe } from '@angular/common';
|
|
8
|
-
var AnchorComponent = /** @class */ (function () {
|
|
9
|
-
function AnchorComponent(_decimalPipe) {
|
|
10
|
-
this._decimalPipe = _decimalPipe;
|
|
11
|
-
/**
|
|
12
|
-
* bind to [checkbox] for checking whether the clearance flag should be shown or not.
|
|
13
|
-
*/
|
|
14
|
-
this.checkbox = false;
|
|
15
|
-
/**
|
|
16
|
-
* bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)
|
|
17
|
-
*/
|
|
18
|
-
this.allowClear = true;
|
|
19
|
-
/**
|
|
20
|
-
* bind to [openStatus], it's the visibility status of dropdown, for showing the arrow on anchor
|
|
21
|
-
*/
|
|
22
|
-
this.openStatus = false;
|
|
23
|
-
/**
|
|
24
|
-
* bind to [disabled] for disabling the anchor
|
|
25
|
-
*/
|
|
26
|
-
this.disabled = false;
|
|
27
|
-
/**
|
|
28
|
-
* will be triggered when clicking the anchor
|
|
29
|
-
*/
|
|
30
|
-
this.anchorClick = new EventEmitter();
|
|
31
|
-
/**
|
|
32
|
-
* will be triggered when clicking the clearance
|
|
33
|
-
*/
|
|
34
|
-
this.clearanceClick = new EventEmitter();
|
|
35
|
-
}
|
|
36
|
-
Object.defineProperty(AnchorComponent.prototype, "showClearanceFlag", {
|
|
37
|
-
/**
|
|
38
|
-
* flag for showing the clearance flag
|
|
39
|
-
*/
|
|
40
|
-
get: /**
|
|
41
|
-
* flag for showing the clearance flag
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
function () {
|
|
45
|
-
return !this.checkbox && this.selectedText && this.allowClear;
|
|
46
|
-
},
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true
|
|
49
|
-
});
|
|
50
|
-
Object.defineProperty(AnchorComponent.prototype, "anchorDisplayText", {
|
|
51
|
-
/**
|
|
52
|
-
* the text displays on anchor
|
|
53
|
-
*/
|
|
54
|
-
get: /**
|
|
55
|
-
* the text displays on anchor
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
function () {
|
|
59
|
-
/** @type {?} */
|
|
60
|
-
var anchorDisplayText = this.selectedText ? (this.formatNumber ? (isNumber(this.selectedText) ?
|
|
61
|
-
this._decimalPipe.transform(this.selectedText, '1.0-2') : this.selectedText) :
|
|
62
|
-
this.selectedText) + (this.suffixText ? this.suffixText : '') : this.placeHolder;
|
|
63
|
-
/** @type {?} */
|
|
64
|
-
var charLength = 1;
|
|
65
|
-
if (this.showClearanceFlag && this.anchorLength > 0) {
|
|
66
|
-
charLength = Math.floor((this.anchorLength - 50) / 7);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
charLength = Math.floor((this.anchorLength - 50) / 7);
|
|
70
|
-
}
|
|
71
|
-
if (anchorDisplayText.length > charLength) {
|
|
72
|
-
anchorDisplayText = anchorDisplayText.slice(0, charLength - 2) + '...';
|
|
73
|
-
}
|
|
74
|
-
return anchorDisplayText;
|
|
75
|
-
},
|
|
76
|
-
enumerable: true,
|
|
77
|
-
configurable: true
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(AnchorComponent.prototype, "anchorClass", {
|
|
80
|
-
/**
|
|
81
|
-
* anchor CSS class
|
|
82
|
-
*/
|
|
83
|
-
get: /**
|
|
84
|
-
* anchor CSS class
|
|
85
|
-
* @return {?}
|
|
86
|
-
*/
|
|
87
|
-
function () {
|
|
88
|
-
/** @type {?} */
|
|
89
|
-
var anchorClassStatusPart;
|
|
90
|
-
/** @type {?} */
|
|
91
|
-
var anchorClassFontColor;
|
|
92
|
-
if (this.disabled) {
|
|
93
|
-
anchorClassStatusPart = 'selection-anchor-disabled';
|
|
94
|
-
anchorClassFontColor = 'place-holder';
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
if (this.openStatus) {
|
|
98
|
-
anchorClassStatusPart = 'selection-anchor-open';
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
anchorClassStatusPart = 'selection-anchor-close';
|
|
102
|
-
}
|
|
103
|
-
if (this.selectedText != null) {
|
|
104
|
-
anchorClassFontColor = 'selected-item';
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
anchorClassFontColor = 'place-holder';
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return anchorClassStatusPart + " " + anchorClassFontColor;
|
|
111
|
-
},
|
|
112
|
-
enumerable: true,
|
|
113
|
-
configurable: true
|
|
114
|
-
});
|
|
115
|
-
/**
|
|
116
|
-
* triggered when clicking the anchor
|
|
117
|
-
*/
|
|
118
|
-
/**
|
|
119
|
-
* triggered when clicking the anchor
|
|
120
|
-
* @param {?} event
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
AnchorComponent.prototype.onAnchorClick = /**
|
|
124
|
-
* triggered when clicking the anchor
|
|
125
|
-
* @param {?} event
|
|
126
|
-
* @return {?}
|
|
127
|
-
*/
|
|
128
|
-
function (event) {
|
|
129
|
-
this.anchorClick.emit(event);
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* triggered with (blur) of anchor
|
|
133
|
-
*/
|
|
134
|
-
/**
|
|
135
|
-
* triggered with (blur) of anchor
|
|
136
|
-
* @param {?} event
|
|
137
|
-
* @return {?}
|
|
138
|
-
*/
|
|
139
|
-
AnchorComponent.prototype.onAnchorBlur = /**
|
|
140
|
-
* triggered with (blur) of anchor
|
|
141
|
-
* @param {?} event
|
|
142
|
-
* @return {?}
|
|
143
|
-
*/
|
|
144
|
-
function (event) {
|
|
145
|
-
stopPropagationAndDefault(event);
|
|
146
|
-
};
|
|
147
|
-
/**
|
|
148
|
-
* triggered when clicking the clearance
|
|
149
|
-
*/
|
|
150
|
-
/**
|
|
151
|
-
* triggered when clicking the clearance
|
|
152
|
-
* @param {?} event
|
|
153
|
-
* @return {?}
|
|
154
|
-
*/
|
|
155
|
-
AnchorComponent.prototype.onClearanceClick = /**
|
|
156
|
-
* triggered when clicking the clearance
|
|
157
|
-
* @param {?} event
|
|
158
|
-
* @return {?}
|
|
159
|
-
*/
|
|
160
|
-
function (event) {
|
|
161
|
-
this.clearanceClick.emit(event);
|
|
162
|
-
};
|
|
163
|
-
/**
|
|
164
|
-
* triggered when resizing, get the clientWidth of anchor
|
|
165
|
-
*/
|
|
166
|
-
/**
|
|
167
|
-
* triggered when resizing, get the clientWidth of anchor
|
|
168
|
-
* @return {?}
|
|
169
|
-
*/
|
|
170
|
-
AnchorComponent.prototype.onResize = /**
|
|
171
|
-
* triggered when resizing, get the clientWidth of anchor
|
|
172
|
-
* @return {?}
|
|
173
|
-
*/
|
|
174
|
-
function () {
|
|
175
|
-
this.anchorLength = this.anchorRef ? this.anchorRef.nativeElement ? this.anchorRef.nativeElement.clientWidth : 0 : 0;
|
|
176
|
-
};
|
|
177
|
-
AnchorComponent.decorators = [
|
|
178
|
-
{ type: Component, args: [{
|
|
179
|
-
selector: 'anchor',
|
|
180
|
-
template: "\n <span #anchor tabindex=\"2\" [ngClass]=\"anchorClass\" (window:resize)=\"onResize()\"\n (mousedown)=\"onAnchorClick($event)\" (blur)=\"onAnchorBlur($event)\"> {{anchorDisplayText}}\n <span #selectionClearance class=\"selection-clearance\" (mousedown)=\"onClearanceClick($event)\" *ngIf=\"showClearanceFlag\">×</span>\n </span>\n ",
|
|
181
|
-
providers: [DecimalPipe],
|
|
182
|
-
styles: ["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.selection-anchor-close:after,.selection-anchor-disabled:after,.selection-anchor-open:after,.vertical-center{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.hover-box,.selection-anchor-close:hover{outline:0;box-shadow:0 0 6px #23adff;border-radius:4px}.anchor-box,.selection-anchor,.selection-anchor-close,.selection-anchor-disabled,.selection-anchor-open{height:100%;border-radius:4px;width:100%;position:relative;display:inline-block;padding:8px 12px 5px;border:1px solid;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-sizing:border-box;white-space:nowrap}.selection-anchor,.selection-anchor-close,.selection-anchor-open{cursor:pointer}.selection-anchor .selection-clearance,.selection-anchor-close .selection-clearance,.selection-anchor-open .selection-clearance{position:absolute;right:35px;font-weight:700}.selection-anchor .selection-clearance:hover,.selection-anchor-close .selection-clearance:hover,.selection-anchor-open .selection-clearance:hover{color:#000}.selection-anchor-close:focus,.selection-anchor-open:focus,.selection-anchor:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-color:#66afe9}.selection-anchor-disabled{border-color:#ccc;cursor:default;pointer-events:none;background:#f8f8f8;-webkit-filter:opacity(50%);filter:opacity(50%)}.selection-anchor-disabled:after{font-size:12px;content:'\\0023F7';right:10px;padding-bottom:3px}.selection-anchor-open{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;border-color:#66afe9}.selection-anchor-open:after{font-size:12px;content:\"\\0023F6\";right:10px;padding-bottom:3px}.selection-anchor-close{border-color:#ccc}.selection-anchor-close:after{font-size:12px;content:'\\0023F7';right:10px;padding-bottom:3px}.place-holder{color:#999}.selected-item{color:#495057}"]
|
|
183
|
-
}] }
|
|
184
|
-
];
|
|
185
|
-
/** @nocollapse */
|
|
186
|
-
AnchorComponent.ctorParameters = function () { return [
|
|
187
|
-
{ type: DecimalPipe }
|
|
188
|
-
]; };
|
|
189
|
-
AnchorComponent.propDecorators = {
|
|
190
|
-
anchorRef: [{ type: ViewChild, args: ['anchor', { read: ElementRef },] }],
|
|
191
|
-
placeHolder: [{ type: Input }],
|
|
192
|
-
checkbox: [{ type: Input }],
|
|
193
|
-
suffixText: [{ type: Input }],
|
|
194
|
-
allowClear: [{ type: Input }],
|
|
195
|
-
formatNumber: [{ type: Input }],
|
|
196
|
-
selectedText: [{ type: Input }],
|
|
197
|
-
openStatus: [{ type: Input }],
|
|
198
|
-
disabled: [{ type: Input }],
|
|
199
|
-
anchorClick: [{ type: Output }],
|
|
200
|
-
clearanceClick: [{ type: Output }]
|
|
201
|
-
};
|
|
202
|
-
return AnchorComponent;
|
|
203
|
-
}());
|
|
204
|
-
export { AnchorComponent };
|
|
205
|
-
if (false) {
|
|
206
|
-
/**
|
|
207
|
-
* Child element reference of anchor
|
|
208
|
-
* @type {?}
|
|
209
|
-
*/
|
|
210
|
-
AnchorComponent.prototype.anchorRef;
|
|
211
|
-
/**
|
|
212
|
-
* bind to [placeHolder] for displaying the place holder string of the anchor.
|
|
213
|
-
* @type {?}
|
|
214
|
-
*/
|
|
215
|
-
AnchorComponent.prototype.placeHolder;
|
|
216
|
-
/**
|
|
217
|
-
* bind to [checkbox] for checking whether the clearance flag should be shown or not.
|
|
218
|
-
* @type {?}
|
|
219
|
-
*/
|
|
220
|
-
AnchorComponent.prototype.checkbox;
|
|
221
|
-
/**
|
|
222
|
-
* bind to [suffixText] for displaying the suffix of the selected text of anchor
|
|
223
|
-
* @type {?}
|
|
224
|
-
*/
|
|
225
|
-
AnchorComponent.prototype.suffixText;
|
|
226
|
-
/**
|
|
227
|
-
* bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)
|
|
228
|
-
* @type {?}
|
|
229
|
-
*/
|
|
230
|
-
AnchorComponent.prototype.allowClear;
|
|
231
|
-
/**
|
|
232
|
-
* bind to [formatNumber] for show formatted number text
|
|
233
|
-
* @type {?}
|
|
234
|
-
*/
|
|
235
|
-
AnchorComponent.prototype.formatNumber;
|
|
236
|
-
/**
|
|
237
|
-
* bind to [selectedText] for displaying the selected text on anchor
|
|
238
|
-
* @type {?}
|
|
239
|
-
*/
|
|
240
|
-
AnchorComponent.prototype.selectedText;
|
|
241
|
-
/**
|
|
242
|
-
* bind to [openStatus], it's the visibility status of dropdown, for showing the arrow on anchor
|
|
243
|
-
* @type {?}
|
|
244
|
-
*/
|
|
245
|
-
AnchorComponent.prototype.openStatus;
|
|
246
|
-
/**
|
|
247
|
-
* bind to [disabled] for disabling the anchor
|
|
248
|
-
* @type {?}
|
|
249
|
-
*/
|
|
250
|
-
AnchorComponent.prototype.disabled;
|
|
251
|
-
/**
|
|
252
|
-
* will be triggered when clicking the anchor
|
|
253
|
-
* @type {?}
|
|
254
|
-
*/
|
|
255
|
-
AnchorComponent.prototype.anchorClick;
|
|
256
|
-
/**
|
|
257
|
-
* will be triggered when clicking the clearance
|
|
258
|
-
* @type {?}
|
|
259
|
-
*/
|
|
260
|
-
AnchorComponent.prototype.clearanceClick;
|
|
261
|
-
/**
|
|
262
|
-
* length of anchor element, used for calculate the string length of the anchor displayed text.
|
|
263
|
-
* @type {?}
|
|
264
|
-
*/
|
|
265
|
-
AnchorComponent.prototype.anchorLength;
|
|
266
|
-
/**
|
|
267
|
-
* @type {?}
|
|
268
|
-
* @private
|
|
269
|
-
*/
|
|
270
|
-
AnchorComponent.prototype._decimalPipe;
|
|
271
|
-
}
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcm9wZG93bi1saXN0LyIsInNvdXJjZXMiOlsic3JjL25neC1kcm9wZG93bi1saXN0L2FuY2hvci9hbmNob3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLHlCQUF5QixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFNUM7SUFnRUUseUJBQW9CLFlBQXlCO1FBQXpCLGlCQUFZLEdBQVosWUFBWSxDQUFhOzs7O1FBdkNwQyxhQUFRLEdBQUcsS0FBSyxDQUFDOzs7O1FBUWpCLGVBQVUsR0FBRyxJQUFJLENBQUM7Ozs7UUFZbEIsZUFBVSxHQUFHLEtBQUssQ0FBQzs7OztRQUluQixhQUFRLEdBQUcsS0FBSyxDQUFDOzs7O1FBSWhCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQzs7OztRQUl0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFPSCxDQUFDO0lBS2pELHNCQUFJLDhDQUFpQjtRQUhyQjs7V0FFRzs7Ozs7UUFDSDtZQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNoRSxDQUFDOzs7T0FBQTtJQUtELHNCQUFJLDhDQUFpQjtRQUhyQjs7V0FFRzs7Ozs7UUFDSDs7Z0JBQ00saUJBQWlCLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFB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Q0FBQzs7aUJBQ3pCOzs7O2dCQVpPLFdBQVc7Ozs0QkFrQmhCLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzhCQUt4QyxLQUFLOzJCQUlMLEtBQUs7NkJBSUwsS0FBSzs2QkFJTCxLQUFLOytCQUlMLEtBQUs7K0JBSUwsS0FBSzs2QkFJTCxLQUFLOzJCQUlMLEtBQUs7OEJBSUwsTUFBTTtpQ0FJTixNQUFNOztJQXdGVCxzQkFBQztDQUFBLEFBakpELElBaUpDO1NBcklZLGVBQWU7Ozs7OztJQUkxQixvQ0FBaUU7Ozs7O0lBS2pFLHNDQUE2Qjs7Ozs7SUFJN0IsbUNBQTBCOzs7OztJQUkxQixxQ0FBNEI7Ozs7O0lBSTVCLHFDQUEyQjs7Ozs7SUFJM0IsdUNBQStCOzs7OztJQUkvQix1Q0FBMkI7Ozs7O0lBSTNCLHFDQUE0Qjs7Ozs7SUFJNUIsbUNBQTBCOzs7OztJQUkxQixzQ0FBZ0Q7Ozs7O0lBSWhELHlDQUFtRDs7Ozs7SUFLbkQsdUNBQXFCOzs7OztJQUVULHVDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3N0b3BQcm9wYWdhdGlvbkFuZERlZmF1bHQsIGlzTnVtYmVyfSBmcm9tICcuLi91dGlscy91dGlsJztcbmltcG9ydCB7RGVjaW1hbFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuY2hvcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNwYW4gI2FuY2hvciB0YWJpbmRleD1cIjJcIiBbbmdDbGFzc109XCJhbmNob3JDbGFzc1wiICh3aW5kb3c6cmVzaXplKT1cIm9uUmVzaXplKClcIlxuICAgICAgICAgIChtb3VzZWRvd24pPVwib25BbmNob3JDbGljaygkZXZlbnQpXCIgKGJsdXIpPVwib25BbmNob3JCbHVyKCRldmVudClcIj4ge3thbmNob3JEaXNwbGF5VGV4dH19XG4gICAgICA8c3BhbiAjc2VsZWN0aW9uQ2xlYXJhbmNlIGNsYXNzPVwic2VsZWN0aW9uLWNsZWFyYW5jZVwiIChtb3VzZWRvd24pPVwib25DbGVhcmFuY2VDbGljaygkZXZlbnQpXCIgKm5nSWY9XCJzaG93Q2xlYXJhbmNlRmxhZ1wiPiZ0aW1lczs8L3NwYW4+XG4gICAgPC9zcGFuPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hbmNob3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRGVjaW1hbFBpcGVdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5jaG9yQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENoaWxkIGVsZW1lbnQgcmVmZXJlbmNlIG9mIGFuY2hvclxuICAgKi9cbiAgQFZpZXdDaGlsZCgnYW5jaG9yJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGFuY2hvclJlZjogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogYmluZCB0byBbcGxhY2VIb2xkZXJdIGZvciBkaXNwbGF5aW5nIHRoZSBwbGFjZSBob2xkZXIgc3RyaW5nIG9mIHRoZSBhbmNob3IuXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZUhvbGRlcjogc3RyaW5nO1xuICAvKipcbiAgICogYmluZCB0byBbY2hlY2tib3hdIGZvciBjaGVja2luZyB3aGV0aGVyIHRoZSBjbGVhcmFuY2UgZmxhZyBzaG91bGQgYmUgc2hvd24gb3Igbm90LlxuICAgKi9cbiAgQElucHV0KCkgY2hlY2tib3ggPSBmYWxzZTtcbiAgLyoqXG4gICAqIGJpbmQgdG8gW3N1ZmZpeFRleHRdIGZvciBkaXNwbGF5aW5nIHRoZSBzdWZmaXggb2YgdGhlIHNlbGVjdGVkIHRleHQgb2YgYW5jaG9yXG4gICAqL1xuICBASW5wdXQoKSBzdWZmaXhUZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBiaW5kIHRvIFthbGxvd0NsZWFyXSBmb3IgZW5hYmxpbmcgdGhlIGNsZWFyYW5jZSAoY2xlYXJhbmNlIGlzIG5vdCBhdmFpYWJsZSB3aGVuIGNoZWNrYm94IGlzIGVuYWJsZWQpXG4gICAqL1xuICBASW5wdXQoKSBhbGxvd0NsZWFyID0gdHJ1ZTtcbiAgLyoqXG4gICAqIGJpbmQgdG8gW2Zvcm1hdE51bWJlcl0gZm9yIHNob3cgZm9ybWF0dGVkIG51bWJlciB0ZXh0XG4gICAqL1xuICBASW5wdXQoKSBmb3JtYXROdW1iZXI6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBiaW5kIHRvIFtzZWxlY3RlZFRleHRdIGZvciBkaXNwbGF5aW5nIHRoZSBzZWxlY3RlZCB0ZXh0IG9uIGFuY2hvclxuICAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRUZXh0OiBhbnk7XG4gIC8qKlxuICAgKiBiaW5kIHRvIFtvcGVuU3RhdHVzXSwgaXQncyB0aGUgdmlzaWJpbGl0eSBzdGF0dXMgb2YgZHJvcGRvd24sIGZvciBzaG93aW5nIHRoZSBhcnJvdyBvbiBhbmNob3JcbiAgICovXG4gIEBJbnB1dCgpIG9wZW5TdGF0dXMgPSBmYWxzZTtcbiAgLyoqXG4gICAqIGJpbmQgdG8gW2Rpc2FibGVkXSBmb3IgZGlzYWJsaW5nIHRoZSBhbmNob3JcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIC8qKlxuICAgKiB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIGNsaWNraW5nIHRoZSBhbmNob3JcbiAgICovXG4gIEBPdXRwdXQoKSBhbmNob3JDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvKipcbiAgICogd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiBjbGlja2luZyB0aGUgY2xlYXJhbmNlXG4gICAqL1xuICBAT3V0cHV0KCkgY2xlYXJhbmNlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogbGVuZ3RoIG9mIGFuY2hvciBlbGVtZW50LCB1c2VkIGZvciBjYWxjdWxhdGUgdGhlIHN0cmluZyBsZW5ndGggb2YgdGhlIGFuY2hvciBkaXNwbGF5ZWQgdGV4dC5cbiAgICovXG4gIGFuY2hvckxlbmd0aDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSkge31cblxuICAvKipcbiAgICogZmxhZyBmb3Igc2hvd2luZyB0aGUgY2xlYXJhbmNlIGZsYWdcbiAgICovXG4gIGdldCBzaG93Q2xlYXJhbmNlRmxhZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuY2hlY2tib3ggJiYgdGhpcy5zZWxlY3RlZFRleHQgJiYgdGhpcy5hbGxvd0NsZWFyO1xuICB9XG5cbiAgLyoqXG4gICAqIHRoZSB0ZXh0IGRpc3BsYXlzIG9uIGFuY2hvclxuICAgKi9cbiAgZ2V0IGFuY2hvckRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgbGV0IGFuY2hvckRpc3BsYXlUZXh0ID0gIHRoaXMuc2VsZWN0ZWRUZXh0ID8gKHRoaXMuZm9ybWF0TnVtYmVyID8gKGlzTnVtYmVyKHRoaXMuc2VsZWN0ZWRUZXh0KSA/XG4gICAgICB0aGlzLl9kZWNpbWFsUGlwZS50cmFuc2Zvcm0odGhpcy5zZWxlY3RlZFRleHQsICcxLjAtMicpIDogdGhpcy5zZWxlY3RlZFRleHQpIDpcbiAgICAgIHRoaXMuc2VsZWN0ZWRUZXh0KSArICh0aGlzLnN1ZmZpeFRleHQgPyB0aGlzLnN1ZmZpeFRleHQgOiAnJykgOiB0aGlzLnBsYWNlSG9sZGVyO1xuXG4gICAgbGV0IGNoYXJMZW5ndGggPSAxO1xuICAgIGlmICh0aGlzLnNob3dDbGVhcmFuY2VGbGFnICYmIHRoaXMuYW5jaG9yTGVuZ3RoID4gMCkge1xuICAgICAgY2hhckxlbmd0aCA9IE1hdGguZmxvb3IoKHRoaXMuYW5jaG9yTGVuZ3RoIC0gNTApIC8gNyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoYXJMZW5ndGggPSBNYXRoLmZsb29yKCh0aGlzLmFuY2hvckxlbmd0aCAtIDUwKSAvIDcpO1xuICAgIH1cblxuICAgIGlmIChhbmNob3JEaXNwbGF5VGV4dC5sZW5ndGggPiBjaGFyTGVuZ3RoKSB7XG4gICAgICBhbmNob3JEaXNwbGF5VGV4dCA9IGFuY2hvckRpc3BsYXlUZXh0LnNsaWNlKDAsIGNoYXJMZW5ndGggLSAyKSArICcuLi4nO1xuICAgIH1cbiAgICByZXR1cm4gYW5jaG9yRGlzcGxheVRleHQ7XG4gIH1cblxuICAvKipcbiAgICogYW5jaG9yIENTUyBjbGFzc1xuICAgKi9cbiAgZ2V0IGFuY2hvckNsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGFuY2hvckNsYXNzU3RhdHVzUGFydDtcbiAgICBsZXQgYW5jaG9yQ2xhc3NGb250Q29sb3I7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGFuY2hvckNsYXNzU3RhdHVzUGFydCA9ICdzZWxlY3Rpb24tYW5jaG9yLWRpc2FibGVkJztcbiAgICAgIGFuY2hvckNsYXNzRm9udENvbG9yID0gJ3BsYWNlLWhvbGRlcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm9wZW5TdGF0dXMpIHtcbiAgICAgICAgYW5jaG9yQ2xhc3NTdGF0dXNQYXJ0ID0gJ3NlbGVjdGlvbi1hbmNob3Itb3Blbic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmNob3JDbGFzc1N0YXR1c1BhcnQgPSAnc2VsZWN0aW9uLWFuY2hvci1jbG9zZSc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFRleHQgIT0gbnVsbCkge1xuICAgICAgICBhbmNob3JDbGFzc0ZvbnRDb2xvciA9ICdzZWxlY3RlZC1pdGVtJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFuY2hvckNsYXNzRm9udENvbG9yID0gJ3BsYWNlLWhvbGRlcic7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgJHthbmNob3JDbGFzc1N0YXR1c1BhcnR9ICR7YW5jaG9yQ2xhc3NGb250Q29sb3J9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiB0cmlnZ2VyZWQgd2hlbiBjbGlja2luZyB0aGUgYW5jaG9yXG4gICAqL1xuICBvbkFuY2hvckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYW5jaG9yQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogdHJpZ2dlcmVkIHdpdGggKGJsdXIpIG9mIGFuY2hvclxuICAgKi9cbiAgb25BbmNob3JCbHVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHN0b3BQcm9wYWdhdGlvbkFuZERlZmF1bHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyaWdnZXJlZCB3aGVuIGNsaWNraW5nIHRoZSBjbGVhcmFuY2VcbiAgICovXG4gIG9uQ2xlYXJhbmNlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGVhcmFuY2VDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0cmlnZ2VyZWQgd2hlbiByZXNpemluZywgZ2V0IHRoZSBjbGllbnRXaWR0aCBvZiBhbmNob3JcbiAgICovXG4gIG9uUmVzaXplKCkge1xuICAgIHRoaXMuYW5jaG9yTGVuZ3RoID0gdGhpcy5hbmNob3JSZWYgPyB0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50ID8gdGhpcy5hbmNob3JSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA6IDAgOiAwO1xuICB9XG59XG4iXX0=
|