ngx-ode-ui 4.6.0-dev.1 → 4.6.0-dev.4
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/esm2020/lib/components/datepicker/datepicker.component.mjs +148 -0
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +55 -0
- package/esm2020/lib/components/ellipsis/ellipsis.component.mjs +53 -0
- package/esm2020/lib/components/form-errors/form-errors.component.mjs +35 -0
- package/esm2020/lib/components/form-field/form-field.component.mjs +24 -0
- package/esm2020/lib/components/item-tree/item-tree.component.mjs +170 -0
- package/esm2020/lib/components/lightbox/lightbox.component.mjs +70 -0
- package/esm2020/lib/components/lightbox-confirm/lightbox-confirm.component.mjs +43 -0
- package/esm2020/lib/components/list/list.component.mjs +88 -0
- package/esm2020/lib/components/list-checkable/list-checkable.component.mjs +79 -0
- package/esm2020/lib/components/message-box/message-box.component.mjs +92 -0
- package/esm2020/lib/components/message-sticker/message-sticker.component.mjs +51 -0
- package/esm2020/lib/components/mono-select/mono-select.component.mjs +83 -0
- package/esm2020/lib/components/multi-combo/multi-combo.component.mjs +166 -0
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +104 -0
- package/esm2020/lib/components/panel-section/panel-section.component.mjs +23 -0
- package/esm2020/lib/components/portal/portal.component.mjs +15 -0
- package/esm2020/lib/components/push-panel/push-panel.component.mjs +43 -0
- package/esm2020/lib/components/search-input/search-input.component.mjs +87 -0
- package/esm2020/lib/components/search-toolbar/search-toolbar.component.mjs +56 -0
- package/esm2020/lib/components/side-layout/side-layout.component.mjs +23 -0
- package/esm2020/lib/components/side-panel/side-panel.component.mjs +41 -0
- package/esm2020/lib/components/spinner-cube/spinner-cube.component.mjs +31 -0
- package/esm2020/lib/components/table/pager.component.mjs +48 -0
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +104 -0
- package/esm2020/lib/components/upload-files/upload-files.component.mjs +59 -0
- package/esm2020/lib/components/value-editable/simple-select.component.mjs +29 -0
- package/esm2020/lib/components/wizard/wizard.component.mjs +152 -0
- package/esm2020/lib/directives/anchor.directive.mjs +27 -0
- package/esm2020/lib/directives/drag-and-drop-files.directive.mjs +82 -0
- package/esm2020/lib/directives/dynamic-component/component-descriptor.model.mjs +15 -0
- package/esm2020/lib/directives/dynamic-component/dynamic-component.directive.mjs +58 -0
- package/esm2020/lib/directives/dynamictemplate.directive.mjs +83 -0
- package/esm2020/lib/directives/object-url.directive.mjs +28 -0
- package/esm2020/lib/ngx-ode-ui.module.mjs +282 -0
- package/esm2020/lib/pipes/bytes.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter.pipe.mjs +97 -0
- package/esm2020/lib/pipes/flattenObjArray.pipe.mjs +35 -0
- package/esm2020/lib/pipes/keys.pipe.mjs +20 -0
- package/esm2020/lib/pipes/length.pipe.mjs +17 -0
- package/esm2020/lib/pipes/limit.pipe.mjs +17 -0
- package/esm2020/lib/pipes/localizedDate.pipe.mjs +23 -0
- package/esm2020/lib/pipes/orderBy.pipe.mjs +161 -0
- package/esm2020/lib/pipes/replace.pipe.mjs +20 -0
- package/esm2020/lib/pipes/store.pipe.mjs +17 -0
- package/esm2020/lib/services/dynamicModuleImports.service.mjs +13 -0
- package/esm2020/lib/services/inputFile.service.mjs +56 -0
- package/esm2020/lib/services/labels.service.mjs +32 -0
- package/esm2020/lib/services/spinner.service.mjs +76 -0
- package/esm2020/lib/utils/math.mjs +19 -0
- package/esm2020/lib/utils/string.mjs +11 -0
- package/esm2020/lib/utils/testing.mjs +7 -0
- package/esm2020/ngx-ode-ui.mjs +5 -0
- package/esm2020/public-api.mjs +57 -0
- package/fesm2015/ngx-ode-ui.mjs +2954 -0
- package/fesm2015/ngx-ode-ui.mjs.map +1 -0
- package/fesm2020/ngx-ode-ui.mjs +2952 -0
- package/fesm2020/ngx-ode-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/datepicker/datepicker.component.d.ts +7 -2
- package/lib/components/dropdown/dropdown.component.d.ts +3 -0
- package/lib/components/ellipsis/ellipsis.component.d.ts +4 -1
- package/lib/components/form-errors/form-errors.component.d.ts +3 -0
- package/lib/components/form-field/form-field.component.d.ts +3 -0
- package/lib/components/item-tree/item-tree.component.d.ts +5 -1
- package/lib/components/lightbox/lightbox.component.d.ts +5 -1
- package/lib/components/lightbox-confirm/lightbox-confirm.component.d.ts +3 -0
- package/lib/components/list/list.component.d.ts +5 -1
- package/lib/components/list-checkable/list-checkable.component.d.ts +5 -1
- package/lib/components/message-box/message-box.component.d.ts +8 -4
- package/lib/components/message-sticker/message-sticker.component.d.ts +3 -0
- package/lib/components/mono-select/mono-select.component.d.ts +3 -0
- package/lib/components/multi-combo/multi-combo.component.d.ts +4 -1
- package/lib/components/multi-select/multi-select.component.d.ts +3 -0
- package/lib/components/panel-section/panel-section.component.d.ts +3 -0
- package/lib/components/portal/portal.component.d.ts +3 -0
- package/lib/components/push-panel/push-panel.component.d.ts +4 -1
- package/lib/components/search-input/search-input.component.d.ts +5 -1
- package/lib/components/search-toolbar/search-toolbar.component.d.ts +3 -0
- package/lib/components/side-layout/side-layout.component.d.ts +3 -0
- package/lib/components/side-panel/side-panel.component.d.ts +4 -1
- package/lib/components/spinner-cube/spinner-cube.component.d.ts +5 -1
- package/lib/components/table/pager.component.d.ts +3 -0
- package/lib/components/tooltip/tooltip.component.d.ts +3 -0
- package/lib/components/upload-files/upload-files.component.d.ts +3 -0
- package/lib/components/value-editable/simple-select.component.d.ts +3 -0
- package/lib/components/wizard/wizard.component.d.ts +5 -0
- package/lib/directives/anchor.directive.d.ts +3 -0
- package/lib/directives/drag-and-drop-files.directive.d.ts +3 -0
- package/lib/directives/dynamic-component/dynamic-component.directive.d.ts +3 -0
- package/lib/directives/dynamictemplate.directive.d.ts +4 -1
- package/lib/directives/object-url.directive.d.ts +3 -0
- package/lib/ngx-ode-ui.module.d.ts +53 -2
- package/lib/pipes/bytes.pipe.d.ts +3 -0
- package/lib/pipes/filter.pipe.d.ts +3 -0
- package/lib/pipes/flattenObjArray.pipe.d.ts +3 -0
- package/lib/pipes/keys.pipe.d.ts +3 -0
- package/lib/pipes/length.pipe.d.ts +3 -0
- package/lib/pipes/limit.pipe.d.ts +3 -0
- package/lib/pipes/localizedDate.pipe.d.ts +3 -0
- package/lib/pipes/orderBy.pipe.d.ts +3 -0
- package/lib/pipes/replace.pipe.d.ts +8 -0
- package/lib/pipes/store.pipe.d.ts +3 -0
- package/lib/services/dynamicModuleImports.service.d.ts +3 -0
- package/lib/services/inputFile.service.d.ts +3 -0
- package/lib/services/labels.service.d.ts +3 -0
- package/lib/services/spinner.service.d.ts +4 -1
- package/package.json +29 -17
- package/public-api.d.ts +3 -0
- package/CHANGELOG.md +0 -14
- package/bundles/ngx-ode-ui.umd.js +0 -5804
- package/bundles/ngx-ode-ui.umd.js.map +0 -1
- package/bundles/ngx-ode-ui.umd.min.js +0 -17
- package/bundles/ngx-ode-ui.umd.min.js.map +0 -1
- package/esm2015/lib/components/datepicker/datepicker.component.js +0 -261
- package/esm2015/lib/components/dropdown/dropdown.component.js +0 -76
- package/esm2015/lib/components/ellipsis/ellipsis.component.js +0 -98
- package/esm2015/lib/components/form-errors/form-errors.component.js +0 -65
- package/esm2015/lib/components/form-field/form-field.component.js +0 -40
- package/esm2015/lib/components/item-tree/item-tree.component.js +0 -289
- package/esm2015/lib/components/lightbox/lightbox.component.js +0 -129
- package/esm2015/lib/components/lightbox-confirm/lightbox-confirm.component.js +0 -65
- package/esm2015/lib/components/list/list.component.js +0 -140
- package/esm2015/lib/components/list-checkable/list-checkable.component.js +0 -137
- package/esm2015/lib/components/message-box/message-box.component.js +0 -153
- package/esm2015/lib/components/message-sticker/message-sticker.component.js +0 -81
- package/esm2015/lib/components/mono-select/mono-select.component.js +0 -164
- package/esm2015/lib/components/multi-combo/multi-combo.component.js +0 -255
- package/esm2015/lib/components/multi-select/multi-select.component.js +0 -214
- package/esm2015/lib/components/panel-section/panel-section.component.js +0 -38
- package/esm2015/lib/components/portal/portal.component.js +0 -27
- package/esm2015/lib/components/push-panel/push-panel.component.js +0 -81
- package/esm2015/lib/components/search-input/search-input.component.js +0 -176
- package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +0 -84
- package/esm2015/lib/components/side-layout/side-layout.component.js +0 -39
- package/esm2015/lib/components/side-panel/side-panel.component.js +0 -76
- package/esm2015/lib/components/spinner-cube/spinner-cube.component.js +0 -67
- package/esm2015/lib/components/table/pager.component.js +0 -95
- package/esm2015/lib/components/tooltip/tooltip.component.js +0 -172
- package/esm2015/lib/components/upload-files/upload-files.component.js +0 -112
- package/esm2015/lib/components/value-editable/simple-select.component.js +0 -57
- package/esm2015/lib/components/wizard/wizard.component.js +0 -225
- package/esm2015/lib/directives/anchor.directive.js +0 -34
- package/esm2015/lib/directives/drag-and-drop-files.directive.js +0 -126
- package/esm2015/lib/directives/dynamic-component/component-descriptor.model.js +0 -34
- package/esm2015/lib/directives/dynamic-component/dynamic-component.directive.js +0 -100
- package/esm2015/lib/directives/dynamictemplate.directive.js +0 -159
- package/esm2015/lib/directives/object-url.directive.js +0 -53
- package/esm2015/lib/ngx-ode-ui.module.js +0 -188
- package/esm2015/lib/pipes/bytes.pipe.js +0 -27
- package/esm2015/lib/pipes/filter.pipe.js +0 -141
- package/esm2015/lib/pipes/flattenObjArray.pipe.js +0 -52
- package/esm2015/lib/pipes/keys.pipe.js +0 -27
- package/esm2015/lib/pipes/length.pipe.js +0 -22
- package/esm2015/lib/pipes/limit.pipe.js +0 -24
- package/esm2015/lib/pipes/localizedDate.pipe.js +0 -44
- package/esm2015/lib/pipes/orderBy.pipe.js +0 -269
- package/esm2015/lib/pipes/store.pipe.js +0 -24
- package/esm2015/lib/services/dynamicModuleImports.service.js +0 -19
- package/esm2015/lib/services/inputFile.service.js +0 -80
- package/esm2015/lib/services/labels.service.js +0 -54
- package/esm2015/lib/services/spinner.service.js +0 -163
- package/esm2015/lib/utils/math.js +0 -49
- package/esm2015/lib/utils/string.js +0 -29
- package/esm2015/lib/utils/testing.js +0 -20
- package/esm2015/ngx-ode-ui.js +0 -12
- package/esm2015/public-api.js +0 -59
- package/esm5/lib/components/datepicker/datepicker.component.js +0 -292
- package/esm5/lib/components/dropdown/dropdown.component.js +0 -81
- package/esm5/lib/components/ellipsis/ellipsis.component.js +0 -106
- package/esm5/lib/components/form-errors/form-errors.component.js +0 -73
- package/esm5/lib/components/form-field/form-field.component.js +0 -41
- package/esm5/lib/components/item-tree/item-tree.component.js +0 -345
- package/esm5/lib/components/lightbox/lightbox.component.js +0 -141
- package/esm5/lib/components/lightbox-confirm/lightbox-confirm.component.js +0 -67
- package/esm5/lib/components/list/list.component.js +0 -146
- package/esm5/lib/components/list-checkable/list-checkable.component.js +0 -148
- package/esm5/lib/components/message-box/message-box.component.js +0 -190
- package/esm5/lib/components/message-sticker/message-sticker.component.js +0 -92
- package/esm5/lib/components/mono-select/mono-select.component.js +0 -192
- package/esm5/lib/components/multi-combo/multi-combo.component.js +0 -294
- package/esm5/lib/components/multi-select/multi-select.component.js +0 -258
- package/esm5/lib/components/panel-section/panel-section.component.js +0 -40
- package/esm5/lib/components/portal/portal.component.js +0 -28
- package/esm5/lib/components/push-panel/push-panel.component.js +0 -91
- package/esm5/lib/components/search-input/search-input.component.js +0 -199
- package/esm5/lib/components/search-toolbar/search-toolbar.component.js +0 -93
- package/esm5/lib/components/side-layout/side-layout.component.js +0 -41
- package/esm5/lib/components/side-panel/side-panel.component.js +0 -85
- package/esm5/lib/components/spinner-cube/spinner-cube.component.js +0 -76
- package/esm5/lib/components/table/pager.component.js +0 -113
- package/esm5/lib/components/tooltip/tooltip.component.js +0 -188
- package/esm5/lib/components/upload-files/upload-files.component.js +0 -133
- package/esm5/lib/components/value-editable/simple-select.component.js +0 -59
- package/esm5/lib/components/wizard/wizard.component.js +0 -161
- package/esm5/lib/directives/anchor.directive.js +0 -39
- package/esm5/lib/directives/drag-and-drop-files.directive.js +0 -146
- package/esm5/lib/directives/dynamic-component/component-descriptor.model.js +0 -44
- package/esm5/lib/directives/dynamic-component/dynamic-component.directive.js +0 -109
- package/esm5/lib/directives/dynamictemplate.directive.js +0 -175
- package/esm5/lib/directives/object-url.directive.js +0 -62
- package/esm5/lib/ngx-ode-ui.module.js +0 -199
- package/esm5/lib/pipes/bytes.pipe.js +0 -37
- package/esm5/lib/pipes/filter.pipe.js +0 -179
- package/esm5/lib/pipes/flattenObjArray.pipe.js +0 -62
- package/esm5/lib/pipes/keys.pipe.js +0 -36
- package/esm5/lib/pipes/length.pipe.js +0 -30
- package/esm5/lib/pipes/limit.pipe.js +0 -35
- package/esm5/lib/pipes/localizedDate.pipe.js +0 -49
- package/esm5/lib/pipes/orderBy.pipe.js +0 -280
- package/esm5/lib/pipes/store.pipe.js +0 -35
- package/esm5/lib/services/dynamicModuleImports.service.js +0 -21
- package/esm5/lib/services/inputFile.service.js +0 -98
- package/esm5/lib/services/labels.service.js +0 -68
- package/esm5/lib/services/spinner.service.js +0 -195
- package/esm5/lib/utils/math.js +0 -49
- package/esm5/lib/utils/string.js +0 -29
- package/esm5/lib/utils/testing.js +0 -20
- package/esm5/ngx-ode-ui.js +0 -12
- package/esm5/public-api.js +0 -59
- package/fesm2015/ngx-ode-ui.js +0 -5027
- package/fesm2015/ngx-ode-ui.js.map +0 -1
- package/fesm5/ngx-ode-ui.js +0 -5560
- package/fesm5/ngx-ode-ui.js.map +0 -1
- package/ngx-ode-ui.d.ts +0 -6
- package/ngx-ode-ui.metadata.json +0 -1
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/ellipsis/ellipsis.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
7
|
-
import { OdeComponent } from 'ngx-ode-core';
|
|
8
|
-
import { Component, ElementRef, Input, Injector } from '@angular/core';
|
|
9
|
-
/**
|
|
10
|
-
* A simple ellipsis component that switches text-overflow on click.
|
|
11
|
-
* Add an ellipsis={'hide'| 'expand'} attirubute on your element.
|
|
12
|
-
* Default behavior is 'hide', so that it's the same than the raw CSS
|
|
13
|
-
*/
|
|
14
|
-
var EllipsisComponent = /** @class */ (function (_super) {
|
|
15
|
-
tslib_1.__extends(EllipsisComponent, _super);
|
|
16
|
-
function EllipsisComponent(eltRef, injector) {
|
|
17
|
-
var _this = _super.call(this, injector) || this;
|
|
18
|
-
_this.eltRef = eltRef;
|
|
19
|
-
_this._ellipsis = 'hide';
|
|
20
|
-
_this.isExpanded = false;
|
|
21
|
-
_this.initialStyle = Object.assign({}, _this.eltRef.nativeElement.style);
|
|
22
|
-
return _this;
|
|
23
|
-
}
|
|
24
|
-
Object.defineProperty(EllipsisComponent.prototype, "ellipsis", {
|
|
25
|
-
set: /**
|
|
26
|
-
* @param {?} value
|
|
27
|
-
* @return {?}
|
|
28
|
-
*/
|
|
29
|
-
function (value) {
|
|
30
|
-
if (!!value) {
|
|
31
|
-
this._ellipsis = value;
|
|
32
|
-
if (this._ellipsis == 'expand') {
|
|
33
|
-
this.eltRef.nativeElement.className = 'expand';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
enumerable: true,
|
|
38
|
-
configurable: true
|
|
39
|
-
});
|
|
40
|
-
/**
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
EllipsisComponent.prototype.onClick = /**
|
|
44
|
-
* @return {?}
|
|
45
|
-
*/
|
|
46
|
-
function () {
|
|
47
|
-
if (this._ellipsis == 'hide') {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (!this.isExpanded) {
|
|
51
|
-
this.isExpanded = true;
|
|
52
|
-
Object.assign(this.eltRef.nativeElement.style, {
|
|
53
|
-
textOverflow: 'clip',
|
|
54
|
-
overflow: 'auto',
|
|
55
|
-
whiteSpace: 'normal',
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
this.isExpanded = false;
|
|
60
|
-
this.eltRef.nativeElement.style = this.initialStyle;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
EllipsisComponent.decorators = [
|
|
64
|
-
{ type: Component, args: [{
|
|
65
|
-
selector: '[ellipsis]',
|
|
66
|
-
template: "<ng-content></ng-content>",
|
|
67
|
-
host: {
|
|
68
|
-
'(click)': 'onClick()',
|
|
69
|
-
},
|
|
70
|
-
styles: [":host{display:block;width:8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host.expand{cursor:pointer}"]
|
|
71
|
-
}] }
|
|
72
|
-
];
|
|
73
|
-
/** @nocollapse */
|
|
74
|
-
EllipsisComponent.ctorParameters = function () { return [
|
|
75
|
-
{ type: ElementRef },
|
|
76
|
-
{ type: Injector }
|
|
77
|
-
]; };
|
|
78
|
-
EllipsisComponent.propDecorators = {
|
|
79
|
-
ellipsis: [{ type: Input }]
|
|
80
|
-
};
|
|
81
|
-
return EllipsisComponent;
|
|
82
|
-
}(OdeComponent));
|
|
83
|
-
export { EllipsisComponent };
|
|
84
|
-
if (false) {
|
|
85
|
-
/**
|
|
86
|
-
* @type {?}
|
|
87
|
-
* @private
|
|
88
|
-
*/
|
|
89
|
-
EllipsisComponent.prototype._ellipsis;
|
|
90
|
-
/**
|
|
91
|
-
* @type {?}
|
|
92
|
-
* @private
|
|
93
|
-
*/
|
|
94
|
-
EllipsisComponent.prototype.isExpanded;
|
|
95
|
-
/**
|
|
96
|
-
* @type {?}
|
|
97
|
-
* @private
|
|
98
|
-
*/
|
|
99
|
-
EllipsisComponent.prototype.initialStyle;
|
|
100
|
-
/**
|
|
101
|
-
* @type {?}
|
|
102
|
-
* @private
|
|
103
|
-
*/
|
|
104
|
-
EllipsisComponent.prototype.eltRef;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2VsbGlwc2lzL2VsbGlwc2lzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN2RTtJQVF1Qyw2Q0FBWTtJQUMvQywyQkFBb0IsTUFBa0IsRUFBRSxRQUFrQjtRQUExRCxZQUNJLGtCQUFNLFFBQVEsQ0FBQyxTQUNsQjtRQUZtQixZQUFNLEdBQU4sTUFBTSxDQUFZO1FBSTlCLGVBQVMsR0FBc0IsTUFBTSxDQUFDO1FBV3RDLGdCQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGtCQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7O0lBZjFFLENBQUM7SUFHRCxzQkFDSSx1Q0FBUTs7Ozs7UUFEWixVQUNhLEtBQXVCO1lBQ2hDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztpQkFDbEQ7YUFDSjtRQUNMLENBQUM7OztPQUFBOzs7O0lBS0QsbUNBQU87OztJQUFQO1FBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sRUFBRTtZQUMxQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtnQkFDM0MsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixVQUFVLEVBQUUsUUFBUTthQUN2QixDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDdkQ7SUFFTCxDQUFDOztnQkEzQ0osU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsMkJBQTJCO29CQUVyQyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCOztpQkFDSjs7OztnQkFoQm1CLFVBQVU7Z0JBQVMsUUFBUTs7OzJCQXVCMUMsS0FBSzs7SUErQlYsd0JBQUM7Q0FBQSxBQTdDRCxDQVF1QyxZQUFZLEdBcUNsRDtTQXJDWSxpQkFBaUI7Ozs7OztJQUsxQixzQ0FBOEM7Ozs7O0lBVzlDLHVDQUEyQjs7Ozs7SUFFM0IseUNBQTBFOzs7OztJQWpCOUQsbUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbnR5cGUgRWxsaXBzaXNCZWhhdmlvciA9ICdleHBhbmQnIHwgJ2hpZGUnO1xuXG4vKipcbiAqIEEgc2ltcGxlIGVsbGlwc2lzIGNvbXBvbmVudCB0aGF0IHN3aXRjaGVzIHRleHQtb3ZlcmZsb3cgb24gY2xpY2suXG4gKiBBZGQgYW4gZWxsaXBzaXM9eydoaWRlJ3wgJ2V4cGFuZCd9IGF0dGlydWJ1dGUgb24geW91ciBlbGVtZW50LlxuICogRGVmYXVsdCBiZWhhdmlvciBpcyAnaGlkZScsIHNvIHRoYXQgaXQncyB0aGUgc2FtZSB0aGFuIHRoZSByYXcgQ1NTXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW2VsbGlwc2lzXScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBzdHlsZVVybHM6IFsnLi9lbGxpcHNpcy5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygpJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsdFJlZjogRWxlbWVudFJlZiwgaW5qZWN0b3I6IEluamVjdG9yICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZWxsaXBzaXM6IEVsbGlwc2lzQmVoYXZpb3IgID0gJ2hpZGUnO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGVsbGlwc2lzKHZhbHVlOiBFbGxpcHNpc0JlaGF2aW9yKSB7XG4gICAgICAgIGlmICghIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGxpcHNpcyA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2VsbGlwc2lzID09ICdleHBhbmQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbHRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnZXhwYW5kJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsU3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmVsdFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlKTtcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZWxsaXBzaXMgPT0gJ2hpZGUnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdjbGlwJyxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3JtYWwnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUgPSB0aGlzLmluaXRpYWxTdHlsZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/form-errors/form-errors.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
7
|
-
import { OdeComponent } from 'ngx-ode-core';
|
|
8
|
-
import { Component, Input, Injector } from '@angular/core';
|
|
9
|
-
import { AbstractControl } from '@angular/forms';
|
|
10
|
-
import { LabelsService } from '../../services/labels.service';
|
|
11
|
-
var FormErrorsComponent = /** @class */ (function (_super) {
|
|
12
|
-
tslib_1.__extends(FormErrorsComponent, _super);
|
|
13
|
-
function FormErrorsComponent(labelsService, injector) {
|
|
14
|
-
var _this = _super.call(this, injector) || this;
|
|
15
|
-
_this.labelsService = labelsService;
|
|
16
|
-
return _this;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @return {?}
|
|
20
|
-
*/
|
|
21
|
-
FormErrorsComponent.prototype.getErrorsArray = /**
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
function () {
|
|
25
|
-
/** @type {?} */
|
|
26
|
-
var errorsArray = [];
|
|
27
|
-
for (var prop in this.ref.errors) {
|
|
28
|
-
errorsArray.push({ name: prop, value: this.ref.errors[prop] });
|
|
29
|
-
}
|
|
30
|
-
return errorsArray;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* @param {?} label
|
|
34
|
-
* @return {?}
|
|
35
|
-
*/
|
|
36
|
-
FormErrorsComponent.prototype.labels = /**
|
|
37
|
-
* @param {?} label
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
function (label) {
|
|
41
|
-
return this.labelsService.getLabel(label);
|
|
42
|
-
};
|
|
43
|
-
FormErrorsComponent.decorators = [
|
|
44
|
-
{ type: Component, args: [{
|
|
45
|
-
selector: 'ode-form-errors',
|
|
46
|
-
template: "<div *ngIf=\"ref && ref.errors && (ref.dirty || ref.touched)\" class=\"form-errors\">\n <div *ngFor=\"let error of getErrorsArray()\">\n <span>{{ 'form.error.' + error.name | translate: error.value }}</span>\n <span *ngIf=\"error.name == 'pattern'\">{{expectedPatternMsg}}</span>\n </div>\n</div>\n",
|
|
47
|
-
styles: [".form-errors{font-size:.8em;color:#dc143c;font-style:italic}"]
|
|
48
|
-
}] }
|
|
49
|
-
];
|
|
50
|
-
/** @nocollapse */
|
|
51
|
-
FormErrorsComponent.ctorParameters = function () { return [
|
|
52
|
-
{ type: LabelsService },
|
|
53
|
-
{ type: Injector }
|
|
54
|
-
]; };
|
|
55
|
-
FormErrorsComponent.propDecorators = {
|
|
56
|
-
ref: [{ type: Input, args: ['control',] }],
|
|
57
|
-
expectedPatternMsg: [{ type: Input, args: ['expectedPatternMsg',] }]
|
|
58
|
-
};
|
|
59
|
-
return FormErrorsComponent;
|
|
60
|
-
}(OdeComponent));
|
|
61
|
-
export { FormErrorsComponent };
|
|
62
|
-
if (false) {
|
|
63
|
-
/** @type {?} */
|
|
64
|
-
FormErrorsComponent.prototype.ref;
|
|
65
|
-
/** @type {?} */
|
|
66
|
-
FormErrorsComponent.prototype.expectedPatternMsg;
|
|
67
|
-
/**
|
|
68
|
-
* @type {?}
|
|
69
|
-
* @private
|
|
70
|
-
*/
|
|
71
|
-
FormErrorsComponent.prototype.labelsService;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3JzL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTVEO0lBS3lDLCtDQUFZO0lBQ2pELDZCQUFvQixhQUE0QixFQUFFLFFBQWtCO1FBQXBFLFlBQ0ksa0JBQU0sUUFBUSxDQUFDLFNBQ2xCO1FBRm1CLG1CQUFhLEdBQWIsYUFBYSxDQUFlOztJQUVoRCxDQUFDOzs7O0lBU0QsNENBQWM7OztJQUFkOztZQUNVLFdBQVcsR0FBRyxFQUFFO1FBQ3RCLEtBQUssSUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsb0NBQU07Ozs7SUFBTixVQUFPLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7O2dCQTNCSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsOFRBQTJDOztpQkFFOUM7Ozs7Z0JBTk8sYUFBYTtnQkFITSxRQUFROzs7c0JBZTlCLEtBQUssU0FBQyxTQUFTO3FDQUdmLEtBQUssU0FBQyxvQkFBb0I7O0lBZS9CLDBCQUFDO0NBQUEsQUE1QkQsQ0FLeUMsWUFBWSxHQXVCcEQ7U0F2QlksbUJBQW1COzs7SUFLNUIsa0NBQ3FCOztJQUVyQixpREFDMkI7Ozs7O0lBUmYsNENBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0xhYmVsc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xhYmVscy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtZm9ybS1lcnJvcnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS1lcnJvcnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JzQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhYmVsc1NlcnZpY2U6IExhYmVsc1NlcnZpY2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb250cm9sJylcbiAgICByZWY6IEFic3RyYWN0Q29udHJvbDtcblxuICAgIEBJbnB1dCgnZXhwZWN0ZWRQYXR0ZXJuTXNnJylcbiAgICBleHBlY3RlZFBhdHRlcm5Nc2c6IHN0cmluZztcblxuXG4gICAgZ2V0RXJyb3JzQXJyYXkoKSB7XG4gICAgICAgIGNvbnN0IGVycm9yc0FycmF5ID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiB0aGlzLnJlZi5lcnJvcnMpIHtcbiAgICAgICAgICAgIGVycm9yc0FycmF5LnB1c2goeyBuYW1lOiBwcm9wLCB2YWx1ZTogdGhpcy5yZWYuZXJyb3JzW3Byb3BdfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVycm9yc0FycmF5O1xuICAgIH1cblxuICAgIGxhYmVscyhsYWJlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbHNTZXJ2aWNlLmdldExhYmVsKGxhYmVsKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/form-field/form-field.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
7
|
-
import { Component, Input, Injector } from '@angular/core';
|
|
8
|
-
import { OdeComponent } from 'ngx-ode-core';
|
|
9
|
-
var FormFieldComponent = /** @class */ (function (_super) {
|
|
10
|
-
tslib_1.__extends(FormFieldComponent, _super);
|
|
11
|
-
function FormFieldComponent(injector) {
|
|
12
|
-
return _super.call(this, injector) || this;
|
|
13
|
-
}
|
|
14
|
-
FormFieldComponent.decorators = [
|
|
15
|
-
{ type: Component, args: [{
|
|
16
|
-
selector: 'ode-form-field',
|
|
17
|
-
template: "<div class=\"form-field\">\n <label>\n {{ label | translate }}\n <span *ngIf=\"required\" class=\"asterisque\">*</span>\n <ode-message-sticker *ngIf=\"help\"\n [type]=\"'info'\"\n [messages]=\"[help]\">\n </ode-message-sticker>\n </label>\n <ng-content></ng-content>\n</div>\n",
|
|
18
|
-
styles: ["div.form-field{display:flex;align-items:center}div.form-field>>>>*{flex:1;margin-left:5px}div.form-field>:first-child{flex:0 0 200px;margin-left:0}div.form-field message-sticker{font-size:1.3em}div.form-field .asterisque{color:#dc143c}"]
|
|
19
|
-
}] }
|
|
20
|
-
];
|
|
21
|
-
/** @nocollapse */
|
|
22
|
-
FormFieldComponent.ctorParameters = function () { return [
|
|
23
|
-
{ type: Injector }
|
|
24
|
-
]; };
|
|
25
|
-
FormFieldComponent.propDecorators = {
|
|
26
|
-
label: [{ type: Input }],
|
|
27
|
-
help: [{ type: Input }],
|
|
28
|
-
required: [{ type: Input }]
|
|
29
|
-
};
|
|
30
|
-
return FormFieldComponent;
|
|
31
|
-
}(OdeComponent));
|
|
32
|
-
export { FormFieldComponent };
|
|
33
|
-
if (false) {
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
FormFieldComponent.prototype.label;
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
FormFieldComponent.prototype.help;
|
|
38
|
-
/** @type {?} */
|
|
39
|
-
FormFieldComponent.prototype.required;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1QztJQUt3Qyw4Q0FBWTtJQUtsRCw0QkFBWSxRQUFrQjtlQUM1QixrQkFBTSxRQUFRLENBQUM7SUFDakIsQ0FBQzs7Z0JBWkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLHVWQUEwQzs7aUJBRTNDOzs7O2dCQVAwQixRQUFROzs7d0JBU2hDLEtBQUs7dUJBQ0wsS0FBSzsyQkFDTCxLQUFLOztJQUtSLHlCQUFDO0NBQUEsQUFiRCxDQUt3QyxZQUFZLEdBUW5EO1NBUlksa0JBQWtCOzs7SUFDN0IsbUNBQXVCOztJQUN2QixrQ0FBc0I7O0lBQ3RCLHNDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZGUtZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBleHRlbmRzIE9kZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlbHA6IHN0cmluZztcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/item-tree/item-tree.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
7
|
-
import { OdeComponent } from 'ngx-ode-core';
|
|
8
|
-
import { Component, EventEmitter, Input, Output, ViewChild, TemplateRef, Injector } from '@angular/core';
|
|
9
|
-
/**
|
|
10
|
-
* @template T
|
|
11
|
-
*/
|
|
12
|
-
var ItemTreeComponent = /** @class */ (function (_super) {
|
|
13
|
-
tslib_1.__extends(ItemTreeComponent, _super);
|
|
14
|
-
function ItemTreeComponent(injector) {
|
|
15
|
-
var _this = _super.call(this, injector) || this;
|
|
16
|
-
/**
|
|
17
|
-
* * Inputs ***
|
|
18
|
-
*/
|
|
19
|
-
// Items
|
|
20
|
-
_this.items = [];
|
|
21
|
-
// Property containing the list of child objects.
|
|
22
|
-
_this.childrenProperty = 'children';
|
|
23
|
-
// Property to display in the list
|
|
24
|
-
_this.displayProperty = 'label';
|
|
25
|
-
// Filter pipe argument
|
|
26
|
-
_this.filter = '';
|
|
27
|
-
// OrderBy pipe argument
|
|
28
|
-
_this.order = [];
|
|
29
|
-
// Reverse the order pipe
|
|
30
|
-
_this.reverse = false;
|
|
31
|
-
_this._flattenProps = [];
|
|
32
|
-
// Disable the opener icon
|
|
33
|
-
_this.disableOpener = false;
|
|
34
|
-
// Use checkboxes instead of selecting items
|
|
35
|
-
_this.checkboxMode = false;
|
|
36
|
-
/**
|
|
37
|
-
* * Outputs ***
|
|
38
|
-
*/
|
|
39
|
-
_this.onSelect = new EventEmitter();
|
|
40
|
-
_this.onCheck = new EventEmitter();
|
|
41
|
-
_this._depth = 0;
|
|
42
|
-
_this.unfolded = [];
|
|
43
|
-
return _this;
|
|
44
|
-
}
|
|
45
|
-
Object.defineProperty(ItemTreeComponent.prototype, "flatten", {
|
|
46
|
-
get: /**
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
function () {
|
|
50
|
-
return this._flattenProps;
|
|
51
|
-
},
|
|
52
|
-
// Flatten the tree on the specified properties
|
|
53
|
-
set:
|
|
54
|
-
// Flatten the tree on the specified properties
|
|
55
|
-
/**
|
|
56
|
-
* @param {?} flattenProps
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
|
-
function (flattenProps) {
|
|
60
|
-
if (!this.isFlattened() && flattenProps.length > 0) {
|
|
61
|
-
this._selectedItem = this._lastSelectedItem;
|
|
62
|
-
}
|
|
63
|
-
else if (this.isFlattened && flattenProps.length < 1) {
|
|
64
|
-
this.flagIfParent();
|
|
65
|
-
}
|
|
66
|
-
this._flattenProps = flattenProps;
|
|
67
|
-
},
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true
|
|
70
|
-
});
|
|
71
|
-
/**
|
|
72
|
-
* @return {?}
|
|
73
|
-
*/
|
|
74
|
-
ItemTreeComponent.prototype.ngOnInit = /**
|
|
75
|
-
* @return {?}
|
|
76
|
-
*/
|
|
77
|
-
function () {
|
|
78
|
-
_super.prototype.ngOnInit.call(this);
|
|
79
|
-
this.flagIfParent();
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* @param {?} item
|
|
83
|
-
* @return {?}
|
|
84
|
-
*/
|
|
85
|
-
ItemTreeComponent.prototype.selectItem = /**
|
|
86
|
-
* @param {?} item
|
|
87
|
-
* @return {?}
|
|
88
|
-
*/
|
|
89
|
-
function (item) {
|
|
90
|
-
this._selectedItem = item;
|
|
91
|
-
if (this.childItemTree) {
|
|
92
|
-
delete this.childItemTree._selectedItem;
|
|
93
|
-
}
|
|
94
|
-
/** @type {?} */
|
|
95
|
-
var idx = this.unfolded.indexOf(item);
|
|
96
|
-
if (!this.disableOpener && idx < 0) {
|
|
97
|
-
this.unfolded.push(item);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this.unfolded.splice(idx, 1);
|
|
101
|
-
}
|
|
102
|
-
this.bubbleSelect(item);
|
|
103
|
-
};
|
|
104
|
-
/**
|
|
105
|
-
* @param {?} item
|
|
106
|
-
* @return {?}
|
|
107
|
-
*/
|
|
108
|
-
ItemTreeComponent.prototype.checkItem = /**
|
|
109
|
-
* @param {?} item
|
|
110
|
-
* @return {?}
|
|
111
|
-
*/
|
|
112
|
-
function (item) {
|
|
113
|
-
this.onCheck.emit(item);
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* @param {?} item
|
|
117
|
-
* @return {?}
|
|
118
|
-
*/
|
|
119
|
-
ItemTreeComponent.prototype.bubbleSelect = /**
|
|
120
|
-
* @param {?} item
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
function (item) {
|
|
124
|
-
this._lastSelectedItem = item;
|
|
125
|
-
this.onSelect.emit(item);
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* @param {?} item
|
|
129
|
-
* @return {?}
|
|
130
|
-
*/
|
|
131
|
-
ItemTreeComponent.prototype.isSelected = /**
|
|
132
|
-
* @param {?} item
|
|
133
|
-
* @return {?}
|
|
134
|
-
*/
|
|
135
|
-
function (item) {
|
|
136
|
-
return (this.disableOpener ? this._selectedItem : this._lastSelectedItem) === item;
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* @param {?} event
|
|
140
|
-
* @param {?} item
|
|
141
|
-
* @return {?}
|
|
142
|
-
*/
|
|
143
|
-
ItemTreeComponent.prototype.toggleFold = /**
|
|
144
|
-
* @param {?} event
|
|
145
|
-
* @param {?} item
|
|
146
|
-
* @return {?}
|
|
147
|
-
*/
|
|
148
|
-
function (event, item) {
|
|
149
|
-
event.stopPropagation();
|
|
150
|
-
/** @type {?} */
|
|
151
|
-
var idx = this.unfolded.indexOf(item);
|
|
152
|
-
if (idx < 0) {
|
|
153
|
-
this.unfolded.push(item);
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
this.unfolded.splice(idx, 1);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
/**
|
|
160
|
-
* @param {?} item
|
|
161
|
-
* @return {?}
|
|
162
|
-
*/
|
|
163
|
-
ItemTreeComponent.prototype.isFolded = /**
|
|
164
|
-
* @param {?} item
|
|
165
|
-
* @return {?}
|
|
166
|
-
*/
|
|
167
|
-
function (item) {
|
|
168
|
-
return this.disableOpener ? !this.isSelected(item) : this.unfolded.indexOf(item) < 0;
|
|
169
|
-
};
|
|
170
|
-
/**
|
|
171
|
-
* @param {?} item
|
|
172
|
-
* @return {?}
|
|
173
|
-
*/
|
|
174
|
-
ItemTreeComponent.prototype.display = /**
|
|
175
|
-
* @param {?} item
|
|
176
|
-
* @return {?}
|
|
177
|
-
*/
|
|
178
|
-
function (item) {
|
|
179
|
-
return this.displayProperty && item[this.displayProperty];
|
|
180
|
-
};
|
|
181
|
-
/**
|
|
182
|
-
* @param {?} item
|
|
183
|
-
* @return {?}
|
|
184
|
-
*/
|
|
185
|
-
ItemTreeComponent.prototype.getChildren = /**
|
|
186
|
-
* @param {?} item
|
|
187
|
-
* @return {?}
|
|
188
|
-
*/
|
|
189
|
-
function (item) {
|
|
190
|
-
return item[this.childrenProperty] || [];
|
|
191
|
-
};
|
|
192
|
-
/**
|
|
193
|
-
* @param {?} item
|
|
194
|
-
* @return {?}
|
|
195
|
-
*/
|
|
196
|
-
ItemTreeComponent.prototype.hasChildren = /**
|
|
197
|
-
* @param {?} item
|
|
198
|
-
* @return {?}
|
|
199
|
-
*/
|
|
200
|
-
function (item) {
|
|
201
|
-
return this.getChildren(item).length > 0;
|
|
202
|
-
};
|
|
203
|
-
/**
|
|
204
|
-
* @return {?}
|
|
205
|
-
*/
|
|
206
|
-
ItemTreeComponent.prototype.isFlattened = /**
|
|
207
|
-
* @return {?}
|
|
208
|
-
*/
|
|
209
|
-
function () {
|
|
210
|
-
return this._flattenProps.length;
|
|
211
|
-
};
|
|
212
|
-
/**
|
|
213
|
-
* @private
|
|
214
|
-
* @return {?}
|
|
215
|
-
*/
|
|
216
|
-
ItemTreeComponent.prototype.flagIfParent = /**
|
|
217
|
-
* @private
|
|
218
|
-
* @return {?}
|
|
219
|
-
*/
|
|
220
|
-
function () {
|
|
221
|
-
var _this = this;
|
|
222
|
-
if (!this._lastSelectedItem) {
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
/** @type {?} */
|
|
226
|
-
var findSubItem = (/**
|
|
227
|
-
* @param {?} item
|
|
228
|
-
* @param {?} target
|
|
229
|
-
* @return {?}
|
|
230
|
-
*/
|
|
231
|
-
function (item, target) {
|
|
232
|
-
if (item === target) {
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
if (_this.hasChildren(item)) {
|
|
236
|
-
return _this.getChildren(item).find((/**
|
|
237
|
-
* @param {?} subItem
|
|
238
|
-
* @return {?}
|
|
239
|
-
*/
|
|
240
|
-
function (subItem) {
|
|
241
|
-
return findSubItem(subItem, target);
|
|
242
|
-
}));
|
|
243
|
-
}
|
|
244
|
-
return false;
|
|
245
|
-
});
|
|
246
|
-
for (var i in this.items) {
|
|
247
|
-
/** @type {?} */
|
|
248
|
-
var item = this.items[i];
|
|
249
|
-
if (item === this._lastSelectedItem ||
|
|
250
|
-
findSubItem(item, this._lastSelectedItem)) {
|
|
251
|
-
this._selectedItem = item;
|
|
252
|
-
this.unfolded = [item];
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
this.changeDetector.markForCheck();
|
|
257
|
-
};
|
|
258
|
-
ItemTreeComponent.decorators = [
|
|
259
|
-
{ type: Component, args: [{
|
|
260
|
-
selector: 'ode-item-tree',
|
|
261
|
-
template: "<ul [ngClass]=\"{ flattened: isFlattened() }\">\n <li *ngFor=\"let item of (items | flattenObjArray: flatten | filter: filter | orderBy: order:reverse)\"\n [ngClass]=\"{ selected: isSelected(item), unfolded: !isFolded(item), parent: hasChildren(item), root: _depth === 0 }\">\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" *ngIf=\"!checkboxMode\">\n <i class=\"opener\" (click)=\"toggleFold($event, item)\"\n *ngIf=\"!isFlattened() && hasChildren(item) && !disableOpener\"></i>\n <span *ngIf=\"displayProperty\">{{ display(item) }}</span>\n <span *ngIf=\"displayTemplate\">\n <ng-template [ngTemplateOutlet]=\"displayTemplate\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template>\n </span>\n </a>\n <div class=\"checkbox__item\" *ngIf=\"checkboxMode\">\n <input id=\"all\" type=\"checkbox\" [(ngModel)]=\"item.check\" ngDefaultControl>\n <label *ngIf=\"displayProperty\" for=\"all\" (click)=\"checkItem(item)\">{{display(item)}}</label>\n <span *ngIf=\"displayTemplate\">\n <ng-template [ngTemplateOutlet]=\"displayTemplate\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template>\n </span>\n </div>\n <ode-item-tree\n [items]=\"getChildren(item)\"\n [children]=\"childrenProperty\"\n [display]=\"displayProperty\"\n [displayTemplate]=\"displayTemplate\"\n [filter]=\"filter\"\n [order]=\"order\"\n [reverse]=\"reverse\"\n [lastSelected]=\"_lastSelectedItem\"\n [depth]=\"_depth + 1\"\n [disableOpener]=\"disableOpener\"\n [checkboxMode]=\"checkboxMode\"\n (onSelect)=\"bubbleSelect($event)\"\n (onCheck)=\"checkItem($event)\"\n *ngIf=\"(checkboxMode && hasChildren(item)) || (!isFlattened() && hasChildren(item) && !isFolded(item))\">\n </ode-item-tree>\n </li>\n</ul>\n"
|
|
262
|
-
}] }
|
|
263
|
-
];
|
|
264
|
-
/** @nocollapse */
|
|
265
|
-
ItemTreeComponent.ctorParameters = function () { return [
|
|
266
|
-
{ type: Injector }
|
|
267
|
-
]; };
|
|
268
|
-
ItemTreeComponent.propDecorators = {
|
|
269
|
-
items: [{ type: Input }],
|
|
270
|
-
childrenProperty: [{ type: Input, args: ['children',] }],
|
|
271
|
-
displayProperty: [{ type: Input, args: ['display',] }],
|
|
272
|
-
displayTemplate: [{ type: Input }],
|
|
273
|
-
filter: [{ type: Input }],
|
|
274
|
-
order: [{ type: Input }],
|
|
275
|
-
reverse: [{ type: Input }],
|
|
276
|
-
flatten: [{ type: Input }],
|
|
277
|
-
disableOpener: [{ type: Input }],
|
|
278
|
-
checkboxMode: [{ type: Input }],
|
|
279
|
-
onSelect: [{ type: Output }],
|
|
280
|
-
onCheck: [{ type: Output }],
|
|
281
|
-
childItemTree: [{ type: ViewChild, args: [ItemTreeComponent, { static: false },] }],
|
|
282
|
-
_lastSelectedItem: [{ type: Input, args: ['lastSelected',] }],
|
|
283
|
-
_depth: [{ type: Input, args: ['depth',] }]
|
|
284
|
-
};
|
|
285
|
-
return ItemTreeComponent;
|
|
286
|
-
}(OdeComponent));
|
|
287
|
-
export { ItemTreeComponent };
|
|
288
|
-
if (false) {
|
|
289
|
-
/**
|
|
290
|
-
* * Inputs ***
|
|
291
|
-
* @type {?}
|
|
292
|
-
*/
|
|
293
|
-
ItemTreeComponent.prototype.items;
|
|
294
|
-
/** @type {?} */
|
|
295
|
-
ItemTreeComponent.prototype.childrenProperty;
|
|
296
|
-
/** @type {?} */
|
|
297
|
-
ItemTreeComponent.prototype.displayProperty;
|
|
298
|
-
/** @type {?} */
|
|
299
|
-
ItemTreeComponent.prototype.displayTemplate;
|
|
300
|
-
/** @type {?} */
|
|
301
|
-
ItemTreeComponent.prototype.filter;
|
|
302
|
-
/** @type {?} */
|
|
303
|
-
ItemTreeComponent.prototype.order;
|
|
304
|
-
/** @type {?} */
|
|
305
|
-
ItemTreeComponent.prototype.reverse;
|
|
306
|
-
/**
|
|
307
|
-
* @type {?}
|
|
308
|
-
* @private
|
|
309
|
-
*/
|
|
310
|
-
ItemTreeComponent.prototype._flattenProps;
|
|
311
|
-
/** @type {?} */
|
|
312
|
-
ItemTreeComponent.prototype.disableOpener;
|
|
313
|
-
/** @type {?} */
|
|
314
|
-
ItemTreeComponent.prototype.checkboxMode;
|
|
315
|
-
/**
|
|
316
|
-
* * Outputs ***
|
|
317
|
-
* @type {?}
|
|
318
|
-
*/
|
|
319
|
-
ItemTreeComponent.prototype.onSelect;
|
|
320
|
-
/** @type {?} */
|
|
321
|
-
ItemTreeComponent.prototype.onCheck;
|
|
322
|
-
/**
|
|
323
|
-
* * View ***
|
|
324
|
-
* @type {?}
|
|
325
|
-
*/
|
|
326
|
-
ItemTreeComponent.prototype.childItemTree;
|
|
327
|
-
/**
|
|
328
|
-
* * Internal Logic ***
|
|
329
|
-
* @type {?}
|
|
330
|
-
*/
|
|
331
|
-
ItemTreeComponent.prototype._lastSelectedItem;
|
|
332
|
-
/**
|
|
333
|
-
* @type {?}
|
|
334
|
-
* @private
|
|
335
|
-
*/
|
|
336
|
-
ItemTreeComponent.prototype._selectedItem;
|
|
337
|
-
/** @type {?} */
|
|
338
|
-
ItemTreeComponent.prototype._depth;
|
|
339
|
-
/**
|
|
340
|
-
* @type {?}
|
|
341
|
-
* @private
|
|
342
|
-
*/
|
|
343
|
-
ItemTreeComponent.prototype.unfolded;
|
|
344
|
-
}
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1vZGUtdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pdGVtLXRyZWUvaXRlbS10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFnQixXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRS9IO0lBSTBDLDZDQUFZO0lBRWxELDJCQUFZLFFBQWtCO1FBQTlCLFlBQ0ksa0JBQU0sUUFBUSxDQUFDLFNBQ2xCOzs7OztRQUtRLFdBQUssR0FBZSxFQUFFLENBQUM7O1FBR2Isc0JBQWdCLEdBQUcsVUFBVSxDQUFDOztRQUUvQixxQkFBZSxHQUFHLE9BQU8sQ0FBQzs7UUFHbkMsWUFBTSxHQUFpQyxFQUFFLENBQUM7O1FBRTFDLFdBQUssR0FBcUMsRUFBRSxDQUFDOztRQUU3QyxhQUFPLEdBQVEsS0FBSyxDQUFDO1FBY3RCLG1CQUFhLEdBQWtCLEVBQUUsQ0FBQzs7UUFHakMsbUJBQWEsR0FBRyxLQUFLLENBQUM7O1FBR3RCLGtCQUFZLEdBQUcsS0FBSyxDQUFDOzs7O1FBSXBCLGNBQVEsR0FBb0IsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUVsRCxhQUFPLEdBQW9CLElBQUksWUFBWSxFQUFLLENBQUM7UUFVM0MsWUFBTSxHQUFHLENBQUMsQ0FBQztRQUNuQixjQUFRLEdBQVEsRUFBRSxDQUFDOztJQXREM0IsQ0FBQztJQW1CRCxzQkFDSSxzQ0FBTzs7OztRQVFYO1lBQ0ksT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzlCLENBQUM7UUFaRCwrQ0FBK0M7Ozs7Ozs7UUFDL0MsVUFDWSxZQUEyQjtZQUNuQyxJQUFJLENBQUMsSUFBSSxD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Q0FBQztnQkFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QixNQUFNO2FBQ1Q7U0FDSjtRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7Z0JBM0pKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsazFEQUF5QztpQkFDNUM7Ozs7Z0JBTDhGLFFBQVE7Ozt3QkFlbEcsS0FBSzttQ0FHTCxLQUFLLFNBQUMsVUFBVTtrQ0FFaEIsS0FBSyxTQUFDLFNBQVM7a0NBQ2YsS0FBSzt5QkFFTCxLQUFLO3dCQUVMLEtBQUs7MEJBRUwsS0FBSzswQkFFTCxLQUFLO2dDQWVMLEtBQUs7K0JBR0wsS0FBSzsyQkFJTCxNQUFNOzBCQUVOLE1BQU07Z0NBSU4sU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtvQ0FJOUMsS0FBSyxTQUFDLGNBQWM7eUJBRXBCLEtBQUssU0FBQyxPQUFPOztJQWdHbEIsd0JBQUM7Q0FBQSxBQTdKRCxDQUkwQyxZQUFZLEdBeUpyRDtTQXpKWSxpQkFBaUI7Ozs7OztJQVMxQixrQ0FBZ0M7O0lBR2hDLDZDQUFpRDs7SUFFakQsNENBQTRDOztJQUM1Qyw0Q0FBMkM7O0lBRTNDLG1DQUFtRDs7SUFFbkQsa0NBQXNEOztJQUV0RCxvQ0FBOEI7Ozs7O0lBYzlCLDBDQUEwQzs7SUFHMUMsMENBQStCOztJQUcvQix5Q0FBOEI7Ozs7O0lBSTlCLHFDQUE0RDs7SUFFNUQsb0NBQTJEOzs7OztJQUkzRCwwQ0FBcUY7Ozs7O0lBSXJGLDhDQUE0Qzs7Ozs7SUFDNUMsMENBQXlCOztJQUN6QixtQ0FBMkI7Ozs7O0lBQzNCLHFDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLWl0ZW0tdHJlZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2l0ZW0tdHJlZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSXRlbVRyZWVDb21wb25lbnQ8VD4gZXh0ZW5kcyBPZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvKioqKiBJbnB1dHMgKioqKi9cblxuICAgIC8vIEl0ZW1zXG4gICAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIC8vIFByb3BlcnR5IGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgY2hpbGQgb2JqZWN0cy5cbiAgICBASW5wdXQoJ2NoaWxkcmVuJykgY2hpbGRyZW5Qcm9wZXJ0eSA9ICdjaGlsZHJlbic7XG4gICAgLy8gUHJvcGVydHkgdG8gZGlzcGxheSBpbiB0aGUgbGlzdFxuICAgIEBJbnB1dCgnZGlzcGxheScpIGRpc3BsYXlQcm9wZXJ0eSA9ICdsYWJlbCc7XG4gICAgQElucHV0KCkgZGlzcGxheVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8vIEZpbHRlciBwaXBlIGFyZ3VtZW50XG4gICAgQElucHV0KCkgZmlsdGVyOiAoT2JqZWN0IHwgc3RyaW5nIHwgRnVuY3Rpb24pID0gJyc7XG4gICAgLy8gT3JkZXJCeSBwaXBlIGFyZ3VtZW50XG4gICAgQElucHV0KCkgb3JkZXI6IChBcnJheTxhbnk+IHwgc3RyaW5nIHwgRnVuY3Rpb24pID0gW107XG4gICAgLy8gUmV2ZXJzZSB0aGUgb3JkZXIgcGlwZVxuICAgIEBJbnB1dCgpIHJldmVyc2U6IGFueSA9IGZhbHNlO1xuICAgIC8vIEZsYXR0ZW4gdGhlIHRyZWUgb24gdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzXG4gICAgQElucHV0KClcbiAgICBzZXQgZmxhdHRlbihmbGF0dGVuUHJvcHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRmxhdHRlbmVkKCkgJiYgZmxhdHRlblByb3BzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHRoaXMuX2xhc3RTZWxlY3RlZEl0ZW07XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZsYXR0ZW5lZCAmJiBmbGF0dGVuUHJvcHMubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgdGhpcy5mbGFnSWZQYXJlbnQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9mbGF0dGVuUHJvcHMgPSBmbGF0dGVuUHJvcHM7XG4gICAgfVxuICAgIGdldCBmbGF0dGVuKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmxhdHRlblByb3BzO1xuICAgIH1cbiAgICBwcml2YXRlIF9mbGF0dGVuUHJvcHM6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICAgIC8vIERpc2FibGUgdGhlIG9wZW5lciBpY29uXG4gICAgQElucHV0KCkgZGlzYWJsZU9wZW5lciA9IGZhbHNlO1xuXG4gICAgLy8gVXNlIGNoZWNrYm94ZXMgaW5zdGVhZCBvZiBzZWxlY3RpbmcgaXRlbXNcbiAgICBASW5wdXQoKSBjaGVja2JveE1vZGUgPSBmYWxzZTtcblxuICAgIC8qKioqIE91dHB1dHMgKioqKi9cblxuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gICAgQE91dHB1dCgpIG9uQ2hlY2s6IEV2ZW50RW1pdHRlcjxUPiA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIC8qKioqIFZpZXcgKioqKi9cblxuICAgIEBWaWV3Q2hpbGQoSXRlbVRyZWVDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGlsZEl0ZW1UcmVlOiBJdGVtVHJlZUNvbXBvbmVudDxUPjtcblxuICAgIC8qKioqIEludGVybmFsIExvZ2ljICoqKiovXG5cbiAgICBASW5wdXQoJ2xhc3RTZWxlY3RlZCcpIF9sYXN0U2VsZWN0ZWRJdGVtOiBUO1xuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbTogVDtcbiAgICBASW5wdXQoJ2RlcHRoJykgX2RlcHRoID0gMDtcbiAgICBwcml2YXRlIHVuZm9sZGVkOiBUW10gPSBbXTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmZsYWdJZlBhcmVudCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RJdGVtKGl0ZW06IFQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRJdGVtVHJlZSkge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuY2hpbGRJdGVtVHJlZS5fc2VsZWN0ZWRJdGVtO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMudW5mb2xkZWQuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVPcGVuZXIgJiYgaWR4IDwgMCkge1xuICAgICAgICAgICAgdGhpcy51bmZvbGRlZC5wdXNoKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudW5mb2xkZWQuc3BsaWNlKGlkeCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWJibGVTZWxlY3QoaXRlbSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrSXRlbShpdGVtOiBUKSB7XG4gICAgICAgIHRoaXMub25DaGVjay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBidWJibGVTZWxlY3QoaXRlbTogVCkge1xuICAgICAgICB0aGlzLl9sYXN0U2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NlbGVjdGVkKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRpc2FibGVPcGVuZXIgPyB0aGlzLl9zZWxlY3RlZEl0ZW0gOiB0aGlzLl9sYXN0U2VsZWN0ZWRJdGVtKSA9PT0gaXRlbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlRm9sZChldmVudDogRXZlbnQsIGl0ZW06IFQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGNvbnN0IGlkeCA9IHRoaXMudW5mb2xkZWQuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGlkeCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMudW5mb2xkZWQucHVzaChpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudW5mb2xkZWQuc3BsaWNlKGlkeCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGb2xkZWQoaXRlbTogVCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlT3BlbmVyID8gIXRoaXMuaXNTZWxlY3RlZChpdGVtKSA6IHRoaXMudW5mb2xkZWQuaW5kZXhPZihpdGVtKSA8IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc3BsYXkoaXRlbTogVCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5UHJvcGVydHkgJiYgaXRlbVt0aGlzLmRpc3BsYXlQcm9wZXJ0eV07XG4gICAgfVxuXG4gICAgcHVibGljIGdldENoaWxkcmVuKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1bdGhpcy5jaGlsZHJlblByb3BlcnR5XSB8fCBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQ2hpbGRyZW4oaXRlbSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDaGlsZHJlbihpdGVtKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGlzRmxhdHRlbmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmxhdHRlblByb3BzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZsYWdJZlBhcmVudCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sYXN0U2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaW5kU3ViSXRlbSA9IChpdGVtLCB0YXJnZXQpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtID09PSB0YXJnZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW4oaXRlbSkuZmluZChzdWJJdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbmRTdWJJdGVtKHN1Ykl0ZW0sIHRhcmdldCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBpIGluIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zW2ldO1xuXG4gICAgICAgICAgICBpZiAoaXRlbSA9PT0gdGhpcy5fbGFzdFNlbGVjdGVkSXRlbSB8fFxuICAgICAgICAgICAgICAgICAgICBmaW5kU3ViSXRlbShpdGVtLCB0aGlzLl9sYXN0U2VsZWN0ZWRJdGVtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW07XG4gICAgICAgICAgICAgICAgdGhpcy51bmZvbGRlZCA9IFtpdGVtXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG59XG4iXX0=
|