ngx-ode-ui 4.6.0-dev-produit.2 → 4.6.0-dev-integration.2
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/CHANGELOG.md +14 -0
- package/bundles/ngx-ode-ui.umd.js +5804 -0
- package/bundles/ngx-ode-ui.umd.js.map +1 -0
- package/bundles/ngx-ode-ui.umd.min.js +17 -0
- package/bundles/ngx-ode-ui.umd.min.js.map +1 -0
- package/esm2015/lib/components/datepicker/datepicker.component.js +261 -0
- package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
- package/esm2015/lib/components/ellipsis/ellipsis.component.js +98 -0
- package/esm2015/lib/components/form-errors/form-errors.component.js +65 -0
- package/esm2015/lib/components/form-field/form-field.component.js +40 -0
- package/esm2015/lib/components/item-tree/item-tree.component.js +289 -0
- package/esm2015/lib/components/lightbox/lightbox.component.js +129 -0
- package/esm2015/lib/components/lightbox-confirm/lightbox-confirm.component.js +65 -0
- package/esm2015/lib/components/list/list.component.js +140 -0
- package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
- package/esm2015/lib/components/message-box/message-box.component.js +153 -0
- package/esm2015/lib/components/message-sticker/message-sticker.component.js +81 -0
- package/esm2015/lib/components/mono-select/mono-select.component.js +164 -0
- package/esm2015/lib/components/multi-combo/multi-combo.component.js +255 -0
- package/esm2015/lib/components/multi-select/multi-select.component.js +214 -0
- package/esm2015/lib/components/panel-section/panel-section.component.js +38 -0
- package/esm2015/lib/components/portal/portal.component.js +27 -0
- package/esm2015/lib/components/push-panel/push-panel.component.js +81 -0
- package/esm2015/lib/components/search-input/search-input.component.js +176 -0
- package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +84 -0
- package/esm2015/lib/components/side-layout/side-layout.component.js +39 -0
- package/esm2015/lib/components/side-panel/side-panel.component.js +76 -0
- package/esm2015/lib/components/spinner-cube/spinner-cube.component.js +67 -0
- package/esm2015/lib/components/table/pager.component.js +95 -0
- package/esm2015/lib/components/tooltip/tooltip.component.js +172 -0
- package/esm2015/lib/components/upload-files/upload-files.component.js +112 -0
- package/esm2015/lib/components/value-editable/simple-select.component.js +57 -0
- package/esm2015/lib/components/wizard/wizard.component.js +225 -0
- package/esm2015/lib/directives/anchor.directive.js +34 -0
- package/esm2015/lib/directives/drag-and-drop-files.directive.js +126 -0
- package/esm2015/lib/directives/dynamic-component/component-descriptor.model.js +34 -0
- package/esm2015/lib/directives/dynamic-component/dynamic-component.directive.js +100 -0
- package/esm2015/lib/directives/dynamictemplate.directive.js +159 -0
- package/esm2015/lib/directives/object-url.directive.js +53 -0
- package/esm2015/lib/ngx-ode-ui.module.js +188 -0
- package/esm2015/lib/pipes/bytes.pipe.js +27 -0
- package/esm2015/lib/pipes/filter.pipe.js +141 -0
- package/esm2015/lib/pipes/flattenObjArray.pipe.js +52 -0
- package/esm2015/lib/pipes/keys.pipe.js +27 -0
- package/esm2015/lib/pipes/length.pipe.js +22 -0
- package/esm2015/lib/pipes/limit.pipe.js +24 -0
- package/esm2015/lib/pipes/localizedDate.pipe.js +44 -0
- package/esm2015/lib/pipes/orderBy.pipe.js +269 -0
- package/esm2015/lib/pipes/store.pipe.js +24 -0
- package/esm2015/lib/services/dynamicModuleImports.service.js +19 -0
- package/esm2015/lib/services/inputFile.service.js +80 -0
- package/esm2015/lib/services/labels.service.js +54 -0
- package/esm2015/lib/services/spinner.service.js +163 -0
- package/esm2015/lib/utils/math.js +49 -0
- package/esm2015/lib/utils/string.js +29 -0
- package/esm2015/lib/utils/testing.js +20 -0
- package/esm2015/ngx-ode-ui.js +12 -0
- package/esm2015/public-api.js +59 -0
- package/esm5/lib/components/datepicker/datepicker.component.js +292 -0
- package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
- package/esm5/lib/components/ellipsis/ellipsis.component.js +106 -0
- package/esm5/lib/components/form-errors/form-errors.component.js +73 -0
- package/esm5/lib/components/form-field/form-field.component.js +41 -0
- package/esm5/lib/components/item-tree/item-tree.component.js +345 -0
- package/esm5/lib/components/lightbox/lightbox.component.js +141 -0
- package/esm5/lib/components/lightbox-confirm/lightbox-confirm.component.js +67 -0
- package/esm5/lib/components/list/list.component.js +146 -0
- package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
- package/esm5/lib/components/message-box/message-box.component.js +190 -0
- package/esm5/lib/components/message-sticker/message-sticker.component.js +92 -0
- package/esm5/lib/components/mono-select/mono-select.component.js +192 -0
- package/esm5/lib/components/multi-combo/multi-combo.component.js +294 -0
- package/esm5/lib/components/multi-select/multi-select.component.js +258 -0
- package/esm5/lib/components/panel-section/panel-section.component.js +40 -0
- package/esm5/lib/components/portal/portal.component.js +28 -0
- package/esm5/lib/components/push-panel/push-panel.component.js +91 -0
- package/esm5/lib/components/search-input/search-input.component.js +199 -0
- package/esm5/lib/components/search-toolbar/search-toolbar.component.js +93 -0
- package/esm5/lib/components/side-layout/side-layout.component.js +41 -0
- package/esm5/lib/components/side-panel/side-panel.component.js +85 -0
- package/esm5/lib/components/spinner-cube/spinner-cube.component.js +76 -0
- package/esm5/lib/components/table/pager.component.js +113 -0
- package/esm5/lib/components/tooltip/tooltip.component.js +188 -0
- package/esm5/lib/components/upload-files/upload-files.component.js +133 -0
- package/esm5/lib/components/value-editable/simple-select.component.js +59 -0
- package/esm5/lib/components/wizard/wizard.component.js +161 -0
- package/esm5/lib/directives/anchor.directive.js +39 -0
- package/esm5/lib/directives/drag-and-drop-files.directive.js +146 -0
- package/esm5/lib/directives/dynamic-component/component-descriptor.model.js +44 -0
- package/esm5/lib/directives/dynamic-component/dynamic-component.directive.js +109 -0
- package/esm5/lib/directives/dynamictemplate.directive.js +175 -0
- package/esm5/lib/directives/object-url.directive.js +62 -0
- package/esm5/lib/ngx-ode-ui.module.js +199 -0
- package/esm5/lib/pipes/bytes.pipe.js +37 -0
- package/esm5/lib/pipes/filter.pipe.js +179 -0
- package/esm5/lib/pipes/flattenObjArray.pipe.js +62 -0
- package/esm5/lib/pipes/keys.pipe.js +36 -0
- package/esm5/lib/pipes/length.pipe.js +30 -0
- package/esm5/lib/pipes/limit.pipe.js +35 -0
- package/esm5/lib/pipes/localizedDate.pipe.js +49 -0
- package/esm5/lib/pipes/orderBy.pipe.js +280 -0
- package/esm5/lib/pipes/store.pipe.js +35 -0
- package/esm5/lib/services/dynamicModuleImports.service.js +21 -0
- package/esm5/lib/services/inputFile.service.js +98 -0
- package/esm5/lib/services/labels.service.js +68 -0
- package/esm5/lib/services/spinner.service.js +195 -0
- package/esm5/lib/utils/math.js +49 -0
- package/esm5/lib/utils/string.js +29 -0
- package/esm5/lib/utils/testing.js +20 -0
- package/esm5/ngx-ode-ui.js +12 -0
- package/esm5/public-api.js +59 -0
- package/fesm2015/ngx-ode-ui.js +5027 -0
- package/fesm2015/ngx-ode-ui.js.map +1 -0
- package/fesm5/ngx-ode-ui.js +5560 -0
- package/fesm5/ngx-ode-ui.js.map +1 -0
- package/lib/components/datepicker/datepicker.component.d.ts +2 -7
- package/lib/components/dropdown/dropdown.component.d.ts +0 -3
- package/lib/components/ellipsis/ellipsis.component.d.ts +1 -4
- package/lib/components/form-errors/form-errors.component.d.ts +0 -3
- package/lib/components/form-field/form-field.component.d.ts +0 -3
- package/lib/components/item-tree/item-tree.component.d.ts +1 -5
- package/lib/components/lightbox/lightbox.component.d.ts +1 -5
- package/lib/components/lightbox-confirm/lightbox-confirm.component.d.ts +0 -3
- package/lib/components/list/list.component.d.ts +1 -5
- package/lib/components/list-checkable/list-checkable.component.d.ts +1 -5
- package/lib/components/message-box/message-box.component.d.ts +4 -8
- package/lib/components/message-sticker/message-sticker.component.d.ts +0 -3
- package/lib/components/mono-select/mono-select.component.d.ts +0 -3
- package/lib/components/multi-combo/multi-combo.component.d.ts +1 -4
- package/lib/components/multi-select/multi-select.component.d.ts +0 -3
- package/lib/components/panel-section/panel-section.component.d.ts +0 -3
- package/lib/components/portal/portal.component.d.ts +0 -3
- package/lib/components/push-panel/push-panel.component.d.ts +1 -4
- package/lib/components/search-input/search-input.component.d.ts +1 -5
- package/lib/components/search-toolbar/search-toolbar.component.d.ts +0 -3
- package/lib/components/side-layout/side-layout.component.d.ts +0 -3
- package/lib/components/side-panel/side-panel.component.d.ts +1 -4
- package/lib/components/spinner-cube/spinner-cube.component.d.ts +1 -5
- package/lib/components/table/pager.component.d.ts +0 -3
- package/lib/components/tooltip/tooltip.component.d.ts +0 -3
- package/lib/components/upload-files/upload-files.component.d.ts +0 -3
- package/lib/components/value-editable/simple-select.component.d.ts +0 -3
- package/lib/components/wizard/wizard.component.d.ts +0 -5
- package/lib/directives/anchor.directive.d.ts +0 -3
- package/lib/directives/drag-and-drop-files.directive.d.ts +0 -3
- package/lib/directives/dynamic-component/dynamic-component.directive.d.ts +0 -3
- package/lib/directives/dynamictemplate.directive.d.ts +1 -4
- package/lib/directives/object-url.directive.d.ts +0 -3
- package/lib/ngx-ode-ui.module.d.ts +2 -53
- package/lib/pipes/bytes.pipe.d.ts +0 -3
- package/lib/pipes/filter.pipe.d.ts +0 -3
- package/lib/pipes/flattenObjArray.pipe.d.ts +0 -3
- package/lib/pipes/keys.pipe.d.ts +0 -3
- package/lib/pipes/length.pipe.d.ts +0 -3
- package/lib/pipes/limit.pipe.d.ts +0 -3
- package/lib/pipes/localizedDate.pipe.d.ts +0 -3
- package/lib/pipes/orderBy.pipe.d.ts +0 -3
- package/lib/pipes/store.pipe.d.ts +0 -3
- package/lib/services/dynamicModuleImports.service.d.ts +0 -3
- package/lib/services/inputFile.service.d.ts +0 -3
- package/lib/services/labels.service.d.ts +0 -3
- package/lib/services/spinner.service.d.ts +1 -4
- package/ngx-ode-ui.d.ts +6 -0
- package/ngx-ode-ui.metadata.json +1 -0
- package/package.json +17 -29
- package/public-api.d.ts +0 -3
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +0 -148
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -55
- package/esm2020/lib/components/ellipsis/ellipsis.component.mjs +0 -53
- package/esm2020/lib/components/form-errors/form-errors.component.mjs +0 -35
- package/esm2020/lib/components/form-field/form-field.component.mjs +0 -24
- package/esm2020/lib/components/item-tree/item-tree.component.mjs +0 -170
- package/esm2020/lib/components/lightbox/lightbox.component.mjs +0 -70
- package/esm2020/lib/components/lightbox-confirm/lightbox-confirm.component.mjs +0 -43
- package/esm2020/lib/components/list/list.component.mjs +0 -88
- package/esm2020/lib/components/list-checkable/list-checkable.component.mjs +0 -79
- package/esm2020/lib/components/message-box/message-box.component.mjs +0 -92
- package/esm2020/lib/components/message-sticker/message-sticker.component.mjs +0 -51
- package/esm2020/lib/components/mono-select/mono-select.component.mjs +0 -83
- package/esm2020/lib/components/multi-combo/multi-combo.component.mjs +0 -166
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -104
- package/esm2020/lib/components/panel-section/panel-section.component.mjs +0 -23
- package/esm2020/lib/components/portal/portal.component.mjs +0 -15
- package/esm2020/lib/components/push-panel/push-panel.component.mjs +0 -43
- package/esm2020/lib/components/search-input/search-input.component.mjs +0 -87
- package/esm2020/lib/components/search-toolbar/search-toolbar.component.mjs +0 -56
- package/esm2020/lib/components/side-layout/side-layout.component.mjs +0 -23
- package/esm2020/lib/components/side-panel/side-panel.component.mjs +0 -41
- package/esm2020/lib/components/spinner-cube/spinner-cube.component.mjs +0 -31
- package/esm2020/lib/components/table/pager.component.mjs +0 -48
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -104
- package/esm2020/lib/components/upload-files/upload-files.component.mjs +0 -59
- package/esm2020/lib/components/value-editable/simple-select.component.mjs +0 -29
- package/esm2020/lib/components/wizard/wizard.component.mjs +0 -152
- package/esm2020/lib/directives/anchor.directive.mjs +0 -27
- package/esm2020/lib/directives/drag-and-drop-files.directive.mjs +0 -82
- package/esm2020/lib/directives/dynamic-component/component-descriptor.model.mjs +0 -15
- package/esm2020/lib/directives/dynamic-component/dynamic-component.directive.mjs +0 -58
- package/esm2020/lib/directives/dynamictemplate.directive.mjs +0 -83
- package/esm2020/lib/directives/object-url.directive.mjs +0 -28
- package/esm2020/lib/ngx-ode-ui.module.mjs +0 -282
- package/esm2020/lib/pipes/bytes.pipe.mjs +0 -20
- package/esm2020/lib/pipes/filter.pipe.mjs +0 -97
- package/esm2020/lib/pipes/flattenObjArray.pipe.mjs +0 -35
- package/esm2020/lib/pipes/keys.pipe.mjs +0 -20
- package/esm2020/lib/pipes/length.pipe.mjs +0 -17
- package/esm2020/lib/pipes/limit.pipe.mjs +0 -17
- package/esm2020/lib/pipes/localizedDate.pipe.mjs +0 -23
- package/esm2020/lib/pipes/orderBy.pipe.mjs +0 -161
- package/esm2020/lib/pipes/replace.pipe.mjs +0 -20
- package/esm2020/lib/pipes/store.pipe.mjs +0 -17
- package/esm2020/lib/services/dynamicModuleImports.service.mjs +0 -13
- package/esm2020/lib/services/inputFile.service.mjs +0 -56
- package/esm2020/lib/services/labels.service.mjs +0 -32
- package/esm2020/lib/services/spinner.service.mjs +0 -76
- package/esm2020/lib/utils/math.mjs +0 -19
- package/esm2020/lib/utils/string.mjs +0 -11
- package/esm2020/lib/utils/testing.mjs +0 -7
- package/esm2020/ngx-ode-ui.mjs +0 -5
- package/esm2020/public-api.mjs +0 -57
- package/fesm2015/ngx-ode-ui.mjs +0 -2954
- package/fesm2015/ngx-ode-ui.mjs.map +0 -1
- package/fesm2020/ngx-ode-ui.mjs +0 -2952
- package/fesm2020/ngx-ode-ui.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/pipes/replace.pipe.d.ts +0 -8
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/multi-combo/multi-combo.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { Component, ElementRef, EventEmitter, Input, Output, Injector } from '@angular/core';
|
|
7
|
+
import { LabelsService } from '../../services/labels.service';
|
|
8
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
9
|
+
/* If you need to use multi-combo in a form you should give a look to the MultiSelectComponent. */
|
|
10
|
+
export class MultiComboComponent extends OdeComponent {
|
|
11
|
+
/**
|
|
12
|
+
* @param {?} _eref
|
|
13
|
+
* @param {?} labelsService
|
|
14
|
+
* @param {?} injector
|
|
15
|
+
*/
|
|
16
|
+
constructor(_eref, labelsService, injector) {
|
|
17
|
+
super(injector);
|
|
18
|
+
this._eref = _eref;
|
|
19
|
+
this.labelsService = labelsService;
|
|
20
|
+
this.filteredModel = [];
|
|
21
|
+
this.title = 'Select';
|
|
22
|
+
this.reverse = false;
|
|
23
|
+
this.disabled = false;
|
|
24
|
+
this.onSelectItem = new EventEmitter();
|
|
25
|
+
this.onDeselectItem = new EventEmitter();
|
|
26
|
+
this.filteredModelChange = new EventEmitter();
|
|
27
|
+
this.onOpen = new EventEmitter();
|
|
28
|
+
this.onClose = new EventEmitter();
|
|
29
|
+
this.self = this;
|
|
30
|
+
this._comboModel = [];
|
|
31
|
+
this.filteredComboModel = [];
|
|
32
|
+
this.search = {
|
|
33
|
+
input: '',
|
|
34
|
+
/**
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
reset() {
|
|
38
|
+
this.input = '';
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
this.show = false;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @param {?} model
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
set comboModel(model) {
|
|
48
|
+
this._comboModel = model;
|
|
49
|
+
if (!model) {
|
|
50
|
+
this.filteredModel = [];
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
for (let i = 0; i < this.filteredModel.length; i++) {
|
|
54
|
+
/** @type {?} */
|
|
55
|
+
const idx = model.indexOf(this.filteredModel[i]);
|
|
56
|
+
if (idx < 0) {
|
|
57
|
+
this.filteredModel.splice(idx, 1);
|
|
58
|
+
i--;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @param {?} label
|
|
64
|
+
* @return {?}
|
|
65
|
+
*/
|
|
66
|
+
labels(label) {
|
|
67
|
+
return this.labelsService.getLabel(label);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @return {?}
|
|
71
|
+
*/
|
|
72
|
+
toggleVisibility() {
|
|
73
|
+
this.show = !this.show;
|
|
74
|
+
if (this.show) {
|
|
75
|
+
this.search.reset();
|
|
76
|
+
this.onOpen.emit();
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.onClose.emit();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @param {?} item
|
|
84
|
+
* @return {?}
|
|
85
|
+
*/
|
|
86
|
+
isSelected(item) {
|
|
87
|
+
return this.filteredModel && this.filteredModel.indexOf(item) >= 0;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @return {?}
|
|
91
|
+
*/
|
|
92
|
+
isDisabled() {
|
|
93
|
+
return this.filteredModel && this.maxSelected &&
|
|
94
|
+
this.maxSelected <= this.filteredModel.length;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @param {?} item
|
|
98
|
+
* @return {?}
|
|
99
|
+
*/
|
|
100
|
+
toggleItem(item) {
|
|
101
|
+
/** @type {?} */
|
|
102
|
+
const idx = this.filteredModel.indexOf(item);
|
|
103
|
+
if (idx >= 0) {
|
|
104
|
+
this.filteredModel.splice(idx, 1);
|
|
105
|
+
this.onDeselectItem.emit(item);
|
|
106
|
+
}
|
|
107
|
+
else if (!this.maxSelected ||
|
|
108
|
+
this.filteredModel.length < this.maxSelected) {
|
|
109
|
+
this.filteredModel.push(item);
|
|
110
|
+
this.onSelectItem.emit(item);
|
|
111
|
+
}
|
|
112
|
+
this.filteredModelChange.emit(this.filteredModel);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @return {?}
|
|
116
|
+
*/
|
|
117
|
+
selectAll() {
|
|
118
|
+
this.filteredModel = [];
|
|
119
|
+
for (let i = 0; i < this.filteredComboModel.length; i++) {
|
|
120
|
+
this.filteredModel.push(this.filteredComboModel[i]);
|
|
121
|
+
}
|
|
122
|
+
this.filteredModelChange.emit(this.filteredModel);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @return {?}
|
|
126
|
+
*/
|
|
127
|
+
deselectAll() {
|
|
128
|
+
this.filteredModel = [];
|
|
129
|
+
this.filteredModelChange.emit(this.filteredModel);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @param {?} item
|
|
133
|
+
* @return {?}
|
|
134
|
+
*/
|
|
135
|
+
displayItem(item) {
|
|
136
|
+
return item instanceof Object ?
|
|
137
|
+
this.display && typeof this.display === 'string' ?
|
|
138
|
+
item[this.display] :
|
|
139
|
+
item.toString() :
|
|
140
|
+
this.display && this.display instanceof Function ?
|
|
141
|
+
this.display(item || '') :
|
|
142
|
+
item;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @param {?} event
|
|
146
|
+
* @return {?}
|
|
147
|
+
*/
|
|
148
|
+
onClick(event) {
|
|
149
|
+
if (this.show && !this._eref.nativeElement.contains(event.target)) {
|
|
150
|
+
this.toggleVisibility();
|
|
151
|
+
}
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @return {?}
|
|
156
|
+
*/
|
|
157
|
+
getFilter() {
|
|
158
|
+
if (!this.filter) {
|
|
159
|
+
return '';
|
|
160
|
+
}
|
|
161
|
+
/** @type {?} */
|
|
162
|
+
let filter = '';
|
|
163
|
+
if (this._comboModel.length > 0) {
|
|
164
|
+
if (typeof this._comboModel[0] === 'string') {
|
|
165
|
+
filter = this.search.input;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
filter = {};
|
|
169
|
+
filter[this.filter] = this.search.input;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return filter;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
MultiComboComponent.decorators = [
|
|
176
|
+
{ type: Component, args: [{
|
|
177
|
+
selector: 'ode-multi-combo',
|
|
178
|
+
template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\"\n type=\"button\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\" type=\"button\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\" type=\"button\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
|
|
179
|
+
host: {
|
|
180
|
+
'(document:click)': 'onClick($event)',
|
|
181
|
+
},
|
|
182
|
+
styles: [":host{position:relative}:host>button{min-width:150px}:host>div{position:absolute;z-index:2;left:0;overflow:hidden;background:#fff;border:2px solid #000}:host>div.hidden{max-height:0;border-width:0}:host>div>div.options>*{display:inline-block;vertical-align:middle}:host>div>div.filter{margin:10px 0;width:100%;position:relative}:host>div>div.filter input{width:100%}:host>div>ul{list-style:none;padding:0;overflow-y:auto;max-height:200px}:host>div>ul>li{white-space:nowrap;cursor:pointer}:host>div>ul>li:not(.selected)[disabled=true]{pointer-events:none}"]
|
|
183
|
+
}] }
|
|
184
|
+
];
|
|
185
|
+
/** @nocollapse */
|
|
186
|
+
MultiComboComponent.ctorParameters = () => [
|
|
187
|
+
{ type: ElementRef },
|
|
188
|
+
{ type: LabelsService },
|
|
189
|
+
{ type: Injector }
|
|
190
|
+
];
|
|
191
|
+
MultiComboComponent.propDecorators = {
|
|
192
|
+
comboModel: [{ type: Input }],
|
|
193
|
+
filteredModel: [{ type: Input, args: ['outputModel',] }],
|
|
194
|
+
title: [{ type: Input }],
|
|
195
|
+
display: [{ type: Input }],
|
|
196
|
+
filter: [{ type: Input }],
|
|
197
|
+
orderBy: [{ type: Input }],
|
|
198
|
+
reverse: [{ type: Input }],
|
|
199
|
+
maxSelected: [{ type: Input, args: ['max',] }],
|
|
200
|
+
disabled: [{ type: Input }],
|
|
201
|
+
onSelectItem: [{ type: Output }],
|
|
202
|
+
onDeselectItem: [{ type: Output }],
|
|
203
|
+
filteredModelChange: [{ type: Output, args: ['outputModelChange',] }],
|
|
204
|
+
onOpen: [{ type: Output }],
|
|
205
|
+
onClose: [{ type: Output }]
|
|
206
|
+
};
|
|
207
|
+
if (false) {
|
|
208
|
+
/** @type {?} */
|
|
209
|
+
MultiComboComponent.prototype.filteredModel;
|
|
210
|
+
/** @type {?} */
|
|
211
|
+
MultiComboComponent.prototype.title;
|
|
212
|
+
/** @type {?} */
|
|
213
|
+
MultiComboComponent.prototype.display;
|
|
214
|
+
/** @type {?} */
|
|
215
|
+
MultiComboComponent.prototype.filter;
|
|
216
|
+
/** @type {?} */
|
|
217
|
+
MultiComboComponent.prototype.orderBy;
|
|
218
|
+
/** @type {?} */
|
|
219
|
+
MultiComboComponent.prototype.reverse;
|
|
220
|
+
/** @type {?} */
|
|
221
|
+
MultiComboComponent.prototype.maxSelected;
|
|
222
|
+
/** @type {?} */
|
|
223
|
+
MultiComboComponent.prototype.disabled;
|
|
224
|
+
/** @type {?} */
|
|
225
|
+
MultiComboComponent.prototype.onSelectItem;
|
|
226
|
+
/** @type {?} */
|
|
227
|
+
MultiComboComponent.prototype.onDeselectItem;
|
|
228
|
+
/** @type {?} */
|
|
229
|
+
MultiComboComponent.prototype.filteredModelChange;
|
|
230
|
+
/** @type {?} */
|
|
231
|
+
MultiComboComponent.prototype.onOpen;
|
|
232
|
+
/** @type {?} */
|
|
233
|
+
MultiComboComponent.prototype.onClose;
|
|
234
|
+
/** @type {?} */
|
|
235
|
+
MultiComboComponent.prototype.self;
|
|
236
|
+
/** @type {?} */
|
|
237
|
+
MultiComboComponent.prototype._comboModel;
|
|
238
|
+
/** @type {?} */
|
|
239
|
+
MultiComboComponent.prototype.filteredComboModel;
|
|
240
|
+
/** @type {?} */
|
|
241
|
+
MultiComboComponent.prototype.search;
|
|
242
|
+
/** @type {?} */
|
|
243
|
+
MultiComboComponent.prototype.show;
|
|
244
|
+
/**
|
|
245
|
+
* @type {?}
|
|
246
|
+
* @private
|
|
247
|
+
*/
|
|
248
|
+
MultiComboComponent.prototype._eref;
|
|
249
|
+
/**
|
|
250
|
+
* @type {?}
|
|
251
|
+
* @private
|
|
252
|
+
*/
|
|
253
|
+
MultiComboComponent.prototype.labelsService;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktY29tYm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL211bHRpLWNvbWJvL211bHRpLWNvbWJvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFZNUMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7Ozs7OztJQUVqRCxZQUNZLEtBQWlCLEVBQ2pCLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2xCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhSLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFzQmxCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLFVBQUssR0FBRyxRQUFRLENBQUM7UUFJakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqRSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRXhCLFdBQU0sR0FBRztZQUNM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OztJQWxEVCxvQ0FBeUI7Ozs7O0lBQ3pCLDRDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYWJlbHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYWJlbHMuc2VydmljZSc7XG5pbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuXG4vKiBJZiB5b3UgbmVlZCB0byB1c2UgbXVsdGktY29tYm8gaW4gYSBmb3JtIHlvdSBzaG91bGQgZ2l2ZSBhIGxvb2sgdG8gdGhlIE11bHRpU2VsZWN0Q29tcG9uZW50LiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ29kZS1tdWx0aS1jb21ibycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLWNvbWJvLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tdWx0aS1jb21iby5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhkb2N1bWVudDpjbGljayknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE11bHRpQ29tYm9Db21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VyZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbGFiZWxzU2VydmljZTogTGFiZWxzU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb21ib01vZGVsKG1vZGVsKSB7XG4gICAgICAgIHRoaXMuX2NvbWJvTW9kZWwgPSBtb2RlbDtcblxuICAgICAgICBpZiAoIW1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkTW9kZWwgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maWx0ZXJlZE1vZGVsLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpZHggPSBtb2RlbC5pbmRleE9mKHRoaXMuZmlsdGVyZWRNb2RlbFtpXSk7XG4gICAgICAgICAgICBpZiAoaWR4IDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRNb2RlbC5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgICAgICAgICBpLS07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQElucHV0KCdvdXRwdXRNb2RlbCcpIGZpbHRlcmVkTW9kZWwgPSBbXTtcbiAgICBASW5wdXQoKSB0aXRsZSA9ICdTZWxlY3QnO1xuICAgIEBJbnB1dCgpIGRpc3BsYXk6IHN0cmluZyB8IEZ1bmN0aW9uO1xuICAgIEBJbnB1dCgpIGZpbHRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG9yZGVyQnk6IChzdHJpbmcgfCBBcnJheTwoc3RyaW5nIHwgRnVuY3Rpb24pPiB8IEZ1bmN0aW9uKTtcbiAgICBASW5wdXQoKSByZXZlcnNlID0gZmFsc2U7XG4gICAgQElucHV0KCdtYXgnKSBtYXhTZWxlY3RlZDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgb25TZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9uRGVzZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgnb3V0cHV0TW9kZWxDaGFuZ2UnKSBmaWx0ZXJlZE1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9uT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBzZWxmID0gdGhpcztcbiAgICBfY29tYm9Nb2RlbCA9IFtdO1xuXG4gICAgZmlsdGVyZWRDb21ib01vZGVsID0gW107XG5cbiAgICBzZWFyY2ggPSB7XG4gICAgICAgIGlucHV0OiAnJyxcbiAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0ID0gJyc7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgc2hvdyA9IGZhbHNlO1xuXG4gICAgbGFiZWxzKGxhYmVsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhYmVsc1NlcnZpY2UuZ2V0TGFiZWwobGFiZWwpO1xuICAgIH1cblxuICAgIHRvZ2dsZVZpc2liaWxpdHkoKSB7XG4gICAgICAgIHRoaXMuc2hvdyA9ICF0aGlzLnNob3c7XG4gICAgICAgIGlmICh0aGlzLnNob3cpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLnJlc2V0KCk7XG4gICAgICAgICAgICB0aGlzLm9uT3Blbi5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU2VsZWN0ZWQoaXRlbSkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJlZE1vZGVsICYmIHRoaXMuZmlsdGVyZWRNb2RlbC5pbmRleE9mKGl0ZW0pID49IDA7XG4gICAgfVxuXG4gICAgaXNEaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRNb2RlbCAmJiB0aGlzLm1heFNlbGVjdGVkICYmXG4gICAgICAgICAgICB0aGlzLm1heFNlbGVjdGVkIDw9IHRoaXMuZmlsdGVyZWRNb2RlbC5sZW5ndGg7XG4gICAgfVxuXG4gICAgdG9nZ2xlSXRlbShpdGVtKSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuZmlsdGVyZWRNb2RlbC5pbmRleE9mKGl0ZW0pO1xuICAgICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRNb2RlbC5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgICAgIHRoaXMub25EZXNlbGVjdEl0ZW0uZW1pdChpdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5tYXhTZWxlY3RlZCB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRNb2RlbC5sZW5ndGggPCB0aGlzLm1heFNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkTW9kZWwucHVzaChpdGVtKTtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWx0ZXJlZE1vZGVsQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJlZE1vZGVsKTtcbiAgICB9XG5cbiAgICBzZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRNb2RlbCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmlsdGVyZWRDb21ib01vZGVsLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkTW9kZWwucHVzaCh0aGlzLmZpbHRlcmVkQ29tYm9Nb2RlbFtpXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWx0ZXJlZE1vZGVsQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJlZE1vZGVsKTtcbiAgICB9XG5cbiAgICBkZXNlbGVjdEFsbCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE1vZGVsID0gW107XG4gICAgICAgIHRoaXMuZmlsdGVyZWRNb2RlbENoYW5nZS5lbWl0KHRoaXMuZmlsdGVyZWRNb2RlbCk7XG4gICAgfVxuXG4gICAgZGlzcGxheUl0ZW0oaXRlbSkge1xuICAgICAgICByZXR1cm4gIGl0ZW0gaW5zdGFuY2VvZiBPYmplY3QgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXkgJiYgdHlwZW9mIHRoaXMuZGlzcGxheSA9PT0gJ3N0cmluZycgP1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVt0aGlzLmRpc3BsYXldIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udG9TdHJpbmcoKSA6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheSAmJiB0aGlzLmRpc3BsYXkgaW5zdGFuY2VvZiBGdW5jdGlvbiA/XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXkoaXRlbSB8fCAnJykgOlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3cgJiYgIXRoaXMuX2VyZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVZpc2liaWxpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBnZXRGaWx0ZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBsZXQgZmlsdGVyOiBzdHJpbmcgfCB7fSA9ICcnO1xuICAgICAgICBpZiAodGhpcy5fY29tYm9Nb2RlbC5sZW5ndGggPiAwICkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9jb21ib01vZGVsWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGZpbHRlciA9IHRoaXMuc2VhcmNoLmlucHV0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXIgPSB7fTtcbiAgICAgICAgICAgICAgICBmaWx0ZXJbdGhpcy5maWx0ZXJdID0gdGhpcy5zZWFyY2guaW5wdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/multi-select/multi-select.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, ElementRef, forwardRef, Input, Injector } from '@angular/core';
|
|
8
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
+
/**
|
|
10
|
+
* @record
|
|
11
|
+
* @template K
|
|
12
|
+
*/
|
|
13
|
+
export function SelectOption() { }
|
|
14
|
+
if (false) {
|
|
15
|
+
/** @type {?} */
|
|
16
|
+
SelectOption.prototype.label;
|
|
17
|
+
/** @type {?} */
|
|
18
|
+
SelectOption.prototype.value;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @template K
|
|
22
|
+
*/
|
|
23
|
+
export class MultiSelectComponent extends OdeComponent {
|
|
24
|
+
/**
|
|
25
|
+
* @param {?} injector
|
|
26
|
+
* @param {?} elementRef
|
|
27
|
+
*/
|
|
28
|
+
constructor(injector, elementRef) {
|
|
29
|
+
super(injector);
|
|
30
|
+
this.elementRef = elementRef;
|
|
31
|
+
this.label = '';
|
|
32
|
+
this.options = [];
|
|
33
|
+
this.preview = false;
|
|
34
|
+
this.model = [];
|
|
35
|
+
this.isDisabled = false;
|
|
36
|
+
this.isOptionsVisible = false;
|
|
37
|
+
this.onChange = (/**
|
|
38
|
+
* @param {?} _
|
|
39
|
+
* @return {?}
|
|
40
|
+
*/
|
|
41
|
+
(_) => {
|
|
42
|
+
});
|
|
43
|
+
this.onTouched = (/**
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
() => {
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @param {?} option
|
|
51
|
+
* @return {?}
|
|
52
|
+
*/
|
|
53
|
+
optionClicked(option) {
|
|
54
|
+
if (this.model) {
|
|
55
|
+
/** @type {?} */
|
|
56
|
+
const index = this.getIndexOfOptionInModel(option);
|
|
57
|
+
if (index < 0) {
|
|
58
|
+
this.model.push(option.value);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.model.splice(index, 1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.model = [option.value];
|
|
66
|
+
}
|
|
67
|
+
this.onChange(this.model);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @return {?}
|
|
71
|
+
*/
|
|
72
|
+
selectAll() {
|
|
73
|
+
this.options.forEach((/**
|
|
74
|
+
* @param {?} option
|
|
75
|
+
* @return {?}
|
|
76
|
+
*/
|
|
77
|
+
option => {
|
|
78
|
+
if (!this.model.includes(option.value)) {
|
|
79
|
+
this.model.push(option.value);
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
this.onChange(this.model);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @return {?}
|
|
86
|
+
*/
|
|
87
|
+
deselectAll() {
|
|
88
|
+
this.model = [];
|
|
89
|
+
this.onChange(this.model);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @return {?}
|
|
93
|
+
*/
|
|
94
|
+
toggleOptionsVisibility() {
|
|
95
|
+
this.isOptionsVisible = !this.isOptionsVisible;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @param {?} option
|
|
99
|
+
* @return {?}
|
|
100
|
+
*/
|
|
101
|
+
isSelected(option) {
|
|
102
|
+
return this.model ? (this.getIndexOfOptionInModel(option) >= 0) : false;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @param {?} event
|
|
106
|
+
* @return {?}
|
|
107
|
+
*/
|
|
108
|
+
closeIfOpened(event) {
|
|
109
|
+
if (this.isOptionsVisible
|
|
110
|
+
&& !this.elementRef.nativeElement.querySelector('.lct-multi-select__options-container').contains(event.target)
|
|
111
|
+
&& !this.elementRef.nativeElement.querySelector('.lct-multi-select__toggle').contains(event.target)) {
|
|
112
|
+
this.isOptionsVisible = false;
|
|
113
|
+
}
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @private
|
|
118
|
+
* @param {?} option
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
getIndexOfOptionInModel(option) {
|
|
122
|
+
return this.model.map(this.trackByFn).indexOf(this.trackByFn(option.value));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @param {?} fn
|
|
126
|
+
* @return {?}
|
|
127
|
+
*/
|
|
128
|
+
registerOnChange(fn) {
|
|
129
|
+
this.onChange = fn;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @param {?} fn
|
|
133
|
+
* @return {?}
|
|
134
|
+
*/
|
|
135
|
+
registerOnTouched(fn) {
|
|
136
|
+
this.onTouched = fn;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* @param {?} isDisabled
|
|
140
|
+
* @return {?}
|
|
141
|
+
*/
|
|
142
|
+
setDisabledState(isDisabled) {
|
|
143
|
+
this.isDisabled = isDisabled;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @param {?} obj
|
|
147
|
+
* @return {?}
|
|
148
|
+
*/
|
|
149
|
+
writeValue(obj) {
|
|
150
|
+
this.model = obj;
|
|
151
|
+
this.onChange(this.model);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
MultiSelectComponent.decorators = [
|
|
155
|
+
{ type: Component, args: [{
|
|
156
|
+
selector: 'ode-multi-select',
|
|
157
|
+
template: "<button type=\"button\"\n (click)=\"toggleOptionsVisibility()\" [disabled]=\"isDisabled\"\n class=\"multi-select__toggle lct-multi-select__toggle\"\n [ngClass]=\"{'multi-select__toggle--active': isOptionsVisible}\">{{label |\u00A0translate}}</button>\n<div class=\"multi-select__options-container lct-multi-select__options-container\"\n [ngClass]=\"{'multi-select__options-container--active': isOptionsVisible}\">\n <div class=\"multi-select__options-actions\">\n <button type=\"button\"\n class=\"multi-select__options-actions-item\"\n (click)=\"selectAll()\">{{'ux.multiselect.select-all' | translate}}</button>\n <button type=\"button\"\n class=\"multi-select__options-actions-item\"\n (click)=\"deselectAll()\">{{'ux.multiselect.deselect-all' | translate}}</button>\n </div>\n <ul class=\"multi-select__options lct-multi-select__options\">\n <li class=\"multi-select__options-item lct-multi-select__options-item\"\n *ngFor=\"let option of options\"\n (click)=\"optionClicked(option)\"\n [ngClass]=\"{'multi-select__options-item--selected': isSelected(option)}\">{{option.label | translate}}</li>\n </ul>\n</div>\n<div class=\"multi-select__options-preview lct-multi-select__options-preview\" *ngIf=\"preview\">\n <ng-container *ngFor=\"let option of options\">\n <button *ngIf=\"isSelected(option)\"\n type=\"button\"\n class=\"multi-select__options-preview-item lct-multi-select__options-preview-item\"\n (click)=\"optionClicked(option)\">\n <span>{{option.label | translate}}</span>\n <i class=\"multi-select__options-preview-item-delete-icon fa fa-trash is-size-5\"></i>\n </button>\n </ng-container>\n</div>\n",
|
|
158
|
+
providers: [{
|
|
159
|
+
provide: NG_VALUE_ACCESSOR,
|
|
160
|
+
useExisting: forwardRef((/**
|
|
161
|
+
* @return {?}
|
|
162
|
+
*/
|
|
163
|
+
() => MultiSelectComponent)),
|
|
164
|
+
multi: true
|
|
165
|
+
}],
|
|
166
|
+
host: {
|
|
167
|
+
'(document:click)': 'closeIfOpened($event)'
|
|
168
|
+
},
|
|
169
|
+
styles: ["@charset \"UTF-8\";:host{position:relative}.multi-select__toggle{min-width:210px;outline:0;background-color:#f2f2f2}.multi-select__toggle:after{content:\"\u25BC\";float:right;margin-left:10px;transition:transform .25s,color .25s}.multi-select__toggle:hover:after{color:#fff}.multi-select__toggle.multi-select__toggle--active,.multi-select__toggle:hover{background-color:#ff8352;color:#fff}.multi-select__toggle.multi-select__toggle--active:after{transform:rotate(180deg);color:#fff}.multi-select__options-container{display:none;position:absolute;z-index:2;left:1px;top:31px;overflow:hidden;background:#fff;border:1px solid #ddd;padding:0 10px 0 20px;min-width:160px}.multi-select__options-container.multi-select__options-container--active{display:block}.multi-select__options{list-style:none;padding:0;overflow-y:scroll;max-height:200px;margin-bottom:10px}.multi-select__options-item{white-space:nowrap;cursor:pointer;line-height:25px;font-size:13px;transition:background-color .25s,color .25s;margin-bottom:5px;padding:0 10px}.multi-select__options-item.multi-select__options-item--selected{color:#fff;background-color:#217b9e}.multi-select__options-preview{color:#fff;margin:10px 0}.multi-select__options-preview-item{border:1px solid #217b9e;display:inline-block;font-size:.8em;margin-right:10px;margin-bottom:10px;padding:10px;cursor:pointer;transition:.25s;border-radius:3px;background-color:#217b9e;line-height:1.5em;color:#fff}.multi-select__options-preview-item:hover{background-color:#61bbde;border-color:#fff}.multi-select__options-preview-item-delete-icon{opacity:0;transition:opacity .25s;float:right;padding-left:10px}.multi-select__options-preview-item:hover .multi-select__options-preview-item-delete-icon{opacity:1}.multi-select__options-actions{margin-top:10px}.multi-select__options-actions-item{margin-bottom:3px;min-width:136px}.multi-select__options-actions-item:hover{background:#ffccb8}"]
|
|
170
|
+
}] }
|
|
171
|
+
];
|
|
172
|
+
/** @nocollapse */
|
|
173
|
+
MultiSelectComponent.ctorParameters = () => [
|
|
174
|
+
{ type: Injector },
|
|
175
|
+
{ type: ElementRef }
|
|
176
|
+
];
|
|
177
|
+
MultiSelectComponent.propDecorators = {
|
|
178
|
+
label: [{ type: Input }],
|
|
179
|
+
options: [{ type: Input }],
|
|
180
|
+
preview: [{ type: Input }],
|
|
181
|
+
trackByFn: [{ type: Input }]
|
|
182
|
+
};
|
|
183
|
+
if (false) {
|
|
184
|
+
/** @type {?} */
|
|
185
|
+
MultiSelectComponent.prototype.label;
|
|
186
|
+
/** @type {?} */
|
|
187
|
+
MultiSelectComponent.prototype.options;
|
|
188
|
+
/** @type {?} */
|
|
189
|
+
MultiSelectComponent.prototype.preview;
|
|
190
|
+
/** @type {?} */
|
|
191
|
+
MultiSelectComponent.prototype.trackByFn;
|
|
192
|
+
/** @type {?} */
|
|
193
|
+
MultiSelectComponent.prototype.model;
|
|
194
|
+
/** @type {?} */
|
|
195
|
+
MultiSelectComponent.prototype.isDisabled;
|
|
196
|
+
/** @type {?} */
|
|
197
|
+
MultiSelectComponent.prototype.isOptionsVisible;
|
|
198
|
+
/**
|
|
199
|
+
* @type {?}
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
MultiSelectComponent.prototype.onChange;
|
|
203
|
+
/**
|
|
204
|
+
* @type {?}
|
|
205
|
+
* @private
|
|
206
|
+
*/
|
|
207
|
+
MultiSelectComponent.prototype.onTouched;
|
|
208
|
+
/**
|
|
209
|
+
* @type {?}
|
|
210
|
+
* @private
|
|
211
|
+
*/
|
|
212
|
+
MultiSelectComponent.prototype.elementRef;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1vZGUtdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUl2RSxrQ0FHQzs7O0lBRkcsNkJBQWM7O0lBQ2QsNkJBQVM7Ozs7O0FBZ0JiLE1BQU0sT0FBTyxvQkFBd0IsU0FBUSxZQUFZOzs7OztJQW1CckQsWUFBWSxRQUFrQixFQUFVLFVBQXNCO1FBQzFELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURvQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBakJ2RCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR1gsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFHckMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUtoQixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBRXJCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBdUR4QixhQUFROzs7O1FBQUcsQ0FBQyxDQUFXLEVBQUUsRUFBRTtRQUNuQyxDQUFDLEVBQUE7UUFFTyxjQUFTOzs7UUFBRyxHQUFHLEVBQUU7UUFDekIsQ0FBQyxFQUFBO0lBdkRELENBQUM7Ozs7O0lBRU0sYUFBYSxDQUFDLE1BQXVCO1FBQ3hDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTs7a0JBQ04sS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7WUFDbEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqQztpQkFBTTtnQkFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0I7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7O0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7SUFFTSx1QkFBdUI7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7Ozs7O0lBRU0sVUFBVSxDQUFDLE1BQXVCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1RSxDQUFDOzs7OztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLGdCQUFnQjtlQUNwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2VBQzNHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLDJCQUEyQixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7Ozs7O0lBRU8sdUJBQXVCLENBQUMsTUFBdUI7UUFDbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQzs7Ozs7SUFRRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLEdBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBMUdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qix1dkRBQTRDO2dCQUU1QyxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVTs7O3dCQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixFQUFDO3dCQUNuRCxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDO2dCQUNGLElBQUksRUFBRTtvQkFDRixrQkFBa0IsRUFBRSx1QkFBdUI7aUJBQzlDOzthQUNKOzs7O1lBdEJrRCxRQUFRO1lBQXZDLFVBQVU7OztvQkF3QnpCLEtBQUs7c0JBR0wsS0FBSztzQkFHTCxLQUFLO3dCQUdMLEtBQUs7Ozs7SUFUTixxQ0FDa0I7O0lBRWxCLHVDQUM0Qzs7SUFFNUMsdUNBQ3VCOztJQUV2Qix5Q0FDc0Q7O0lBRXRELHFDQUE0Qjs7SUFFNUIsMENBQTBCOztJQUUxQixnREFBZ0M7Ozs7O0lBdURoQyx3Q0FDQzs7Ozs7SUFFRCx5Q0FDQzs7Ozs7SUF6RCtCLDBDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyogTXVsdGlTZWxlY3RDb21wb25lbnQgaXMgYSByZXdyaXRlIG9mIE11bHRpQ29tYm9Db21wb25lbnQgdG8gaW50ZWdyYXRlIGl0IGVhc2lseSBpbiBhbmd1bGFyIGZvcm1zICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0T3B0aW9uPEs+IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBLO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ29kZS1tdWx0aS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ2Nsb3NlSWZPcGVuZWQoJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0Q29tcG9uZW50PEs+IGV4dGVuZHMgT2RlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxhYmVsID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBvcHRpb25zOiBBcnJheTxTZWxlY3RPcHRpb248Sz4+ID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwcmV2aWV3ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cmFja0J5Rm46IChvcHRpb25WYWx1ZTogSykgPT4gbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgcHVibGljIG1vZGVsOiBBcnJheTxLPiA9IFtdO1xuXG4gICAgcHVibGljIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpc09wdGlvbnNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcHVibGljIG9wdGlvbkNsaWNrZWQob3B0aW9uOiBTZWxlY3RPcHRpb248Sz4pIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleE9mT3B0aW9uSW5Nb2RlbChvcHRpb24pO1xuICAgICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwucHVzaChvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsID0gW29wdGlvbi52YWx1ZV07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLm1vZGVsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLm1vZGVsLnB1c2gob3B0aW9uLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVPcHRpb25zVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wdGlvbnNWaXNpYmxlID0gIXRoaXMuaXNPcHRpb25zVmlzaWJsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZChvcHRpb246IFNlbGVjdE9wdGlvbjxLPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbCA/ICh0aGlzLmdldEluZGV4T2ZPcHRpb25Jbk1vZGVsKG9wdGlvbikgPj0gMCkgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VJZk9wZW5lZChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3B0aW9uc1Zpc2libGVcbiAgICAgICAgICAmJiAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmxjdC1tdWx0aS1zZWxlY3RfX29wdGlvbnMtY29udGFpbmVyJykuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICAgICYmICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubGN0LW11bHRpLXNlbGVjdF9fdG9nZ2xlJykuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5pc09wdGlvbnNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJbmRleE9mT3B0aW9uSW5Nb2RlbChvcHRpb246IFNlbGVjdE9wdGlvbjxLPik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsLm1hcCh0aGlzLnRyYWNrQnlGbikuaW5kZXhPZih0aGlzLnRyYWNrQnlGbihvcHRpb24udmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IEFycmF5PEs+KSA9PiB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShvYmo6IEFycmF5PEs+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kZWwgPSBvYmo7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5tb2RlbCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/panel-section/panel-section.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, Input, Injector } from '@angular/core';
|
|
8
|
+
export class PanelSectionComponent extends OdeComponent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {?} injector
|
|
11
|
+
*/
|
|
12
|
+
constructor(injector) {
|
|
13
|
+
super(injector);
|
|
14
|
+
this.folded = null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
PanelSectionComponent.decorators = [
|
|
18
|
+
{ type: Component, args: [{
|
|
19
|
+
selector: 'ode-panel-section',
|
|
20
|
+
template: "<section class=\"panel-section\">\n <div class=\"panel-section-header is-display-flex has-space-between\" (click)=\"folded !== null ? folded=!folded : null\" [class.foldable]=\"folded !== null\">\n <div class=\"is-display-flex\">\n <s5l>{{ sectionTitle\u00A0}}</s5l>\n <div class=\"has-left-padding-10\">\n <ng-content select=\"[panel-section-header-icons]\"></ng-content>\n </div>\n </div>\n\n <i class=\"opener\" *ngIf=\"folded !== null\"\n [class.opened]=\"!folded\"></i>\n </div>\n <div class=\"panel-section-content\" *ngIf=\"!folded\">\n <ng-content></ng-content>\n </div>\n</section>\n",
|
|
21
|
+
styles: [".panel-section-header{font-size:1.1em;padding:10px}.panel-section-header.foldable{cursor:pointer}.panel-section-content{padding:15px}"]
|
|
22
|
+
}] }
|
|
23
|
+
];
|
|
24
|
+
/** @nocollapse */
|
|
25
|
+
PanelSectionComponent.ctorParameters = () => [
|
|
26
|
+
{ type: Injector }
|
|
27
|
+
];
|
|
28
|
+
PanelSectionComponent.propDecorators = {
|
|
29
|
+
sectionTitle: [{ type: Input, args: ['section-title',] }],
|
|
30
|
+
folded: [{ type: Input }]
|
|
31
|
+
};
|
|
32
|
+
if (false) {
|
|
33
|
+
/** @type {?} */
|
|
34
|
+
PanelSectionComponent.prototype.sectionTitle;
|
|
35
|
+
/** @type {?} */
|
|
36
|
+
PanelSectionComponent.prototype.folded;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFuZWwtc2VjdGlvbi9wYW5lbC1zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZOzs7O0lBR25ELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRlgsV0FBTSxHQUFZLElBQUksQ0FBQztJQUdoQyxDQUFDOzs7WUFWSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0Isd29CQUE2Qzs7YUFFaEQ7Ozs7WUFOMEIsUUFBUTs7OzJCQVE5QixLQUFLLFNBQUMsZUFBZTtxQkFDckIsS0FBSzs7OztJQUROLDZDQUE2Qzs7SUFDN0MsdUNBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLXBhbmVsLXNlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYW5lbC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYW5lbC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGFuZWxTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoJ3NlY3Rpb24tdGl0bGUnKSBzZWN0aW9uVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBmb2xkZWQ6IGJvb2xlYW4gPSBudWxsO1xuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/portal/portal.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, Injector } from '@angular/core';
|
|
8
|
+
export class PortalComponent extends OdeComponent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {?} injector
|
|
11
|
+
*/
|
|
12
|
+
constructor(injector) {
|
|
13
|
+
super(injector);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
PortalComponent.decorators = [
|
|
17
|
+
{ type: Component, args: [{
|
|
18
|
+
selector: 'ode-portal',
|
|
19
|
+
template: "<header>\n <ng-content select=\"[header-left]\"></ng-content>\n <ng-content select=\"[header-middle]\"></ng-content>\n <ng-content select=\"[header-right]\"></ng-content>\n</header>\n<section>\n <ng-content select=\"[section]\"></ng-content>\n</section>\n<footer>\n <ng-content select=\"[footer]\"></ng-content>\n</footer>\n",
|
|
20
|
+
styles: ["header{position:relative;display:flex;align-items:center;top:0;width:100%}"]
|
|
21
|
+
}] }
|
|
22
|
+
];
|
|
23
|
+
/** @nocollapse */
|
|
24
|
+
PortalComponent.ctorParameters = () => [
|
|
25
|
+
{ type: Injector }
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1vZGUtdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wb3J0YWwvcG9ydGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPcEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTs7OztJQUM3QyxZQUFZLFFBQWtCO1FBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQixDQUFDOzs7WUFSSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLHFWQUFzQzs7YUFFekM7Ozs7WUFObUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLXBvcnRhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcnRhbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcG9ydGFsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/push-panel/push-panel.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, Injector } from '@angular/core';
|
|
8
|
+
export class PushPanelComponent extends OdeComponent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {?} injector
|
|
11
|
+
*/
|
|
12
|
+
constructor(injector) {
|
|
13
|
+
super(injector);
|
|
14
|
+
this.onClose = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @private
|
|
18
|
+
* @param {?} toggle
|
|
19
|
+
* @return {?}
|
|
20
|
+
*/
|
|
21
|
+
set toggle(toggle) {
|
|
22
|
+
this._opened = toggle;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @param {?} event
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
onClick(event) {
|
|
29
|
+
/** @type {?} */
|
|
30
|
+
const checkOpener = this.opener &&
|
|
31
|
+
(this.opener.contains && this.opener.contains(event.target)) ||
|
|
32
|
+
(this.opener.nativeElement && this.opener.nativeElement.contains(event.target));
|
|
33
|
+
if (this._opened &&
|
|
34
|
+
!this.inside.nativeElement.contains(event.target) &&
|
|
35
|
+
!checkOpener) {
|
|
36
|
+
this._opened = false;
|
|
37
|
+
this.onClose.emit();
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
PushPanelComponent.decorators = [
|
|
43
|
+
{ type: Component, args: [{
|
|
44
|
+
selector: 'ode-push-panel',
|
|
45
|
+
template: "<div [ngClass]=\"{ opened: _opened }\" #inside>\n <ng-content select=\"[inside]\"></ng-content>\n</div>\n<div>\n <ng-content select=\"[companion]\"></ng-content>\n</div>\n",
|
|
46
|
+
host: {
|
|
47
|
+
'(document:click)': 'onClick($event)',
|
|
48
|
+
},
|
|
49
|
+
styles: [":host>div:nth-child(1){position:fixed;z-index:10;overflow-x:hidden;overflow-y:scroll;height:100%;top:0;left:-30%;width:30%;transition:transform .25s}:host>div:nth-child(1).opened{transform:translateX(100%)}:host>div:nth-child(2){position:relative;left:0;opacity:1;transition:transform .25s,opacity .25s}:host>div:nth-child(1).opened+div{opacity:.7;transform:translateX(30%);overflow-x:hidden}"]
|
|
50
|
+
}] }
|
|
51
|
+
];
|
|
52
|
+
/** @nocollapse */
|
|
53
|
+
PushPanelComponent.ctorParameters = () => [
|
|
54
|
+
{ type: Injector }
|
|
55
|
+
];
|
|
56
|
+
PushPanelComponent.propDecorators = {
|
|
57
|
+
toggle: [{ type: Input }],
|
|
58
|
+
opener: [{ type: Input }],
|
|
59
|
+
onClose: [{ type: Output }],
|
|
60
|
+
inside: [{ type: ViewChild, args: ['inside', { static: false },] }]
|
|
61
|
+
};
|
|
62
|
+
if (false) {
|
|
63
|
+
/** @type {?} */
|
|
64
|
+
PushPanelComponent.prototype._opened;
|
|
65
|
+
/**
|
|
66
|
+
* @type {?}
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
PushPanelComponent.prototype.opener;
|
|
70
|
+
/**
|
|
71
|
+
* @type {?}
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
PushPanelComponent.prototype.onClose;
|
|
75
|
+
/**
|
|
76
|
+
* @type {?}
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
PushPanelComponent.prototype.inside;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcHVzaC1wYW5lbC9wdXNoLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVV4RyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTs7OztJQUVoRCxZQUFZLFFBQWtCO1FBQzVCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVVBLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBVHhELENBQUM7Ozs7OztJQUVELElBQXFCLE1BQU0sQ0FBQyxNQUFlO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBU00sT0FBTyxDQUFDLEtBQUs7O2NBQ1YsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNO1lBQzNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVELENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqRCxDQUFDLFdBQVcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7WUFyQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHlMQUEwQztnQkFFMUMsSUFBSSxFQUFFO29CQUNGLGtCQUFrQixFQUFFLGlCQUFpQjtpQkFDeEM7O2FBQ0o7Ozs7WUFUdUUsUUFBUTs7O3FCQWdCM0UsS0FBSztxQkFLTCxLQUFLO3NCQUVMLE1BQU07cUJBRU4sU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Ozs7SUFOdEMscUNBQWlCOzs7OztJQUVqQixvQ0FBd0I7Ozs7O0lBRXhCLHFDQUF3RDs7Ozs7SUFFeEQsb0NBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLXB1c2gtcGFuZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXNoLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wdXNoLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUHVzaFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHByaXZhdGUgc2V0IHRvZ2dsZSh0b2dnbGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fb3BlbmVkID0gdG9nZ2xlO1xuICAgIH1cbiAgICBfb3BlbmVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgcHJpdmF0ZSBvcGVuZXI7XG5cbiAgICBAT3V0cHV0KCkgcHJpdmF0ZSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5zaWRlJywgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgaW5zaWRlOiBFbGVtZW50UmVmO1xuXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQpIHtcbiAgICAgICAgY29uc3QgY2hlY2tPcGVuZXIgPSB0aGlzLm9wZW5lciAmJlxuICAgICAgICAgICAgKHRoaXMub3BlbmVyLmNvbnRhaW5zICYmIHRoaXMub3BlbmVyLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHx8XG4gICAgICAgICAgICAodGhpcy5vcGVuZXIubmF0aXZlRWxlbWVudCAmJiB0aGlzLm9wZW5lci5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuXG4gICAgICAgIGlmICh0aGlzLl9vcGVuZWQgJiZcbiAgICAgICAgICAgICF0aGlzLmluc2lkZS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiZcbiAgICAgICAgICAgICFjaGVja09wZW5lcikge1xuICAgICAgICAgICAgdGhpcy5fb3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxufVxuIl19
|