ng-inail-common 2.0.34-beta.2 → 2.0.34-beta.5
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/core/base.component.mjs +120 -0
- package/esm2020/lib/components/core/basic-ux-element.component.mjs +48 -0
- package/esm2020/lib/components/core/form/checkbox/checkbox.component.mjs +124 -0
- package/esm2020/lib/components/core/form/form-element.component.mjs +156 -0
- package/esm2020/lib/components/core/form/input-date/input-date.component.mjs +240 -0
- package/esm2020/lib/components/core/form/input-file/input-file.component.mjs +98 -0
- package/esm2020/lib/components/core/form/input-number/input-number.component.mjs +202 -0
- package/esm2020/lib/components/core/form/input-text/input-text.component.mjs +131 -0
- package/esm2020/lib/components/core/form/input-time/input-time.component.mjs +211 -0
- package/esm2020/lib/components/core/form/multi-select/multi-select.component.mjs +139 -0
- package/esm2020/lib/components/core/form/radio-select/radio-select.component.mjs +143 -0
- package/esm2020/lib/components/core/form/select/select.component.mjs +146 -0
- package/esm2020/lib/components/core/form/textarea/textarea.component.mjs +134 -0
- package/esm2020/lib/components/core/layout/breadcrumb/breadcrumb.component.mjs +78 -0
- package/esm2020/lib/components/core/layout/footer/footer.component.mjs +137 -0
- package/esm2020/lib/components/core/layout/header/header.component.mjs +114 -0
- package/esm2020/lib/components/core/layout/inail-layout/inail-layout.component.mjs +614 -0
- package/{esm2015/lib/components/core/layout/inail-layout/static-resources.js → esm2020/lib/components/core/layout/inail-layout/static-resources.mjs} +0 -0
- package/{esm2015/lib/components/core/layout/inail-layout/webkit-resources.js → esm2020/lib/components/core/layout/inail-layout/webkit-resources.mjs} +0 -0
- package/{esm2015/lib/components/core/layout/layout-common-config.js → esm2020/lib/components/core/layout/layout-common-config.mjs} +0 -0
- package/esm2020/lib/components/core/layout/loader/loader.component.mjs +33 -0
- package/esm2020/lib/components/core/layout/menu/menu.component.mjs +541 -0
- package/esm2020/lib/components/core/layout/menu-intranet/menu-intranet.component.mjs +104 -0
- package/esm2020/lib/components/core/layout/navigazione-interna/navigazione-interna.component.mjs +19 -0
- package/esm2020/lib/components/core/layout/navigazione-principale/navigazione-principale.component.mjs +110 -0
- package/esm2020/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.mjs +58 -0
- package/esm2020/lib/components/core/layout/navigazione-utente/navigazione-utente.component.mjs +230 -0
- package/esm2020/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.mjs +44 -0
- package/esm2020/lib/components/core/responsive-element.component.mjs +53 -0
- package/esm2020/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.mjs +114 -0
- package/esm2020/lib/components/core/table/table/table.component.mjs +595 -0
- package/esm2020/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.mjs +57 -0
- package/esm2020/lib/components/core/table/th-label/th-label.component.mjs +89 -0
- package/esm2020/lib/components/core/table/tr-accordion/tr-accordion.component.mjs +58 -0
- package/esm2020/lib/components/core/table/tr-checkbox/tr-checkbox.component.mjs +77 -0
- package/esm2020/lib/components/core/ux/accordion/accordion.component.mjs +135 -0
- package/esm2020/lib/components/core/ux/alert/alert.component.mjs +66 -0
- package/esm2020/lib/components/core/ux/button/button.component.mjs +98 -0
- package/esm2020/lib/components/core/ux/confirm/confirm.component.mjs +94 -0
- package/esm2020/lib/components/core/ux/container/container.component.mjs +39 -0
- package/esm2020/lib/components/core/ux/feedback/feedback.component.mjs +115 -0
- package/esm2020/lib/components/core/ux/form-grey/form-grey.component.mjs +32 -0
- package/esm2020/lib/components/core/ux/modal/modal.component.mjs +186 -0
- package/esm2020/lib/components/core/ux/page-title/page-title.component.mjs +103 -0
- package/esm2020/lib/components/core/ux/popover/popover.component.mjs +81 -0
- package/esm2020/lib/components/core/ux/progress-bar/progress-bar.component.mjs +50 -0
- package/esm2020/lib/components/core/ux/selector/selector.component.mjs +214 -0
- package/esm2020/lib/components/core/ux/tab-group/tab-group.component.mjs +77 -0
- package/esm2020/lib/components/core/ux/tab-pane/tab-pane.component.mjs +64 -0
- package/esm2020/lib/components/core/ux/wizard/wizard.component.mjs +114 -0
- package/esm2020/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.mjs +19 -0
- package/esm2020/lib/components/utilities/pre/pre.component.mjs +14 -0
- package/esm2020/lib/components/utilities/state-propertie/state-propertie.component.mjs +21 -0
- package/{esm2015/lib/ng-inail-common.config.js → esm2020/lib/ng-inail-common.config.mjs} +0 -0
- package/esm2020/lib/ng-inail-common.module.mjs +285 -0
- package/{esm2015/lib/utils/common.operators.js → esm2020/lib/utils/common.operators.mjs} +0 -0
- package/{esm2015/lib/utils/date.operators.js → esm2020/lib/utils/date.operators.mjs} +0 -0
- package/{esm2015/lib/utils/types.js → esm2020/lib/utils/types.mjs} +0 -0
- package/esm2020/ng-inail-common.mjs +5 -0
- package/esm2020/public-api.mjs +61 -0
- package/fesm2015/ng-inail-common.mjs +6757 -0
- package/fesm2015/ng-inail-common.mjs.map +1 -0
- package/fesm2020/ng-inail-common.mjs +6613 -0
- package/fesm2020/ng-inail-common.mjs.map +1 -0
- package/lib/components/core/base.component.d.ts +3 -0
- package/lib/components/core/basic-ux-element.component.d.ts +3 -0
- package/lib/components/core/form/checkbox/checkbox.component.d.ts +3 -0
- package/lib/components/core/form/form-element.component.d.ts +3 -0
- package/lib/components/core/form/input-date/input-date.component.d.ts +3 -0
- package/lib/components/core/form/input-file/input-file.component.d.ts +3 -0
- package/lib/components/core/form/input-number/input-number.component.d.ts +3 -0
- package/lib/components/core/form/input-text/input-text.component.d.ts +3 -0
- package/lib/components/core/form/input-time/input-time.component.d.ts +3 -0
- package/lib/components/core/form/multi-select/multi-select.component.d.ts +3 -0
- package/lib/components/core/form/radio-select/radio-select.component.d.ts +3 -0
- package/lib/components/core/form/select/select.component.d.ts +3 -0
- package/lib/components/core/form/textarea/textarea.component.d.ts +3 -0
- package/lib/components/core/layout/breadcrumb/breadcrumb.component.d.ts +3 -0
- package/lib/components/core/layout/footer/footer.component.d.ts +3 -0
- package/lib/components/core/layout/header/header.component.d.ts +3 -0
- package/lib/components/core/layout/inail-layout/inail-layout.component.d.ts +3 -0
- package/lib/components/core/layout/loader/loader.component.d.ts +3 -0
- package/lib/components/core/layout/menu/menu.component.d.ts +3 -0
- package/lib/components/core/layout/menu-intranet/menu-intranet.component.d.ts +3 -0
- package/lib/components/core/layout/navigazione-interna/navigazione-interna.component.d.ts +3 -0
- package/lib/components/core/layout/navigazione-principale/navigazione-principale.component.d.ts +3 -0
- package/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.d.ts +3 -0
- package/lib/components/core/layout/navigazione-utente/navigazione-utente.component.d.ts +3 -0
- package/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.d.ts +3 -0
- package/lib/components/core/responsive-element.component.d.ts +3 -0
- package/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.d.ts +3 -0
- package/lib/components/core/table/table/table.component.d.ts +3 -0
- package/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.d.ts +3 -0
- package/lib/components/core/table/th-label/th-label.component.d.ts +3 -0
- package/lib/components/core/table/tr-accordion/tr-accordion.component.d.ts +3 -0
- package/lib/components/core/table/tr-checkbox/tr-checkbox.component.d.ts +3 -0
- package/lib/components/core/ux/accordion/accordion.component.d.ts +3 -0
- package/lib/components/core/ux/alert/alert.component.d.ts +3 -0
- package/lib/components/core/ux/button/button.component.d.ts +3 -0
- package/lib/components/core/ux/confirm/confirm.component.d.ts +3 -0
- package/lib/components/core/ux/container/container.component.d.ts +3 -0
- package/lib/components/core/ux/feedback/feedback.component.d.ts +3 -0
- package/lib/components/core/ux/form-grey/form-grey.component.d.ts +3 -0
- package/lib/components/core/ux/modal/modal.component.d.ts +3 -0
- package/lib/components/core/ux/page-title/page-title.component.d.ts +3 -0
- package/lib/components/core/ux/popover/popover.component.d.ts +3 -0
- package/lib/components/core/ux/progress-bar/progress-bar.component.d.ts +3 -0
- package/lib/components/core/ux/selector/selector.component.d.ts +3 -0
- package/lib/components/core/ux/tab-group/tab-group.component.d.ts +3 -0
- package/lib/components/core/ux/tab-pane/tab-pane.component.d.ts +3 -0
- package/lib/components/core/ux/wizard/wizard.component.d.ts +3 -0
- package/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.d.ts +3 -0
- package/lib/components/utilities/pre/pre.component.d.ts +3 -0
- package/lib/components/utilities/state-propertie/state-propertie.component.d.ts +3 -0
- package/lib/ng-inail-common.module.d.ts +58 -0
- package/ng-inail-common.d.ts +1 -6
- package/package.json +22 -10
- package/public-api.d.ts +1 -0
- package/bundles/ng-inail-common.umd.js +0 -7241
- package/bundles/ng-inail-common.umd.js.map +0 -1
- package/bundles/ng-inail-common.umd.min.js +0 -17
- package/bundles/ng-inail-common.umd.min.js.map +0 -1
- package/esm2015/lib/components/core/base.component.js +0 -115
- package/esm2015/lib/components/core/basic-ux-element.component.js +0 -44
- package/esm2015/lib/components/core/form/checkbox/checkbox.component.js +0 -113
- package/esm2015/lib/components/core/form/form-element.component.js +0 -130
- package/esm2015/lib/components/core/form/input-date/input-date.component.js +0 -229
- package/esm2015/lib/components/core/form/input-file/input-file.component.js +0 -89
- package/esm2015/lib/components/core/form/input-number/input-number.component.js +0 -192
- package/esm2015/lib/components/core/form/input-text/input-text.component.js +0 -119
- package/esm2015/lib/components/core/form/input-time/input-time.component.js +0 -197
- package/esm2015/lib/components/core/form/multi-select/multi-select.component.js +0 -131
- package/esm2015/lib/components/core/form/radio-select/radio-select.component.js +0 -133
- package/esm2015/lib/components/core/form/select/select.component.js +0 -132
- package/esm2015/lib/components/core/form/textarea/textarea.component.js +0 -120
- package/esm2015/lib/components/core/layout/breadcrumb/breadcrumb.component.js +0 -79
- package/esm2015/lib/components/core/layout/footer/footer.component.js +0 -139
- package/esm2015/lib/components/core/layout/header/header.component.js +0 -114
- package/esm2015/lib/components/core/layout/inail-layout/inail-layout.component.js +0 -621
- package/esm2015/lib/components/core/layout/loader/loader.component.js +0 -38
- package/esm2015/lib/components/core/layout/menu/menu.component.js +0 -532
- package/esm2015/lib/components/core/layout/menu-intranet/menu-intranet.component.js +0 -108
- package/esm2015/lib/components/core/layout/navigazione-interna/navigazione-interna.component.js +0 -24
- package/esm2015/lib/components/core/layout/navigazione-principale/navigazione-principale.component.js +0 -112
- package/esm2015/lib/components/core/layout/navigazione-secondaria/navigazione-secondaria.component.js +0 -60
- package/esm2015/lib/components/core/layout/navigazione-utente/navigazione-utente.component.js +0 -242
- package/esm2015/lib/components/core/layout/trigger-slider-menu-button/trigger-slider-menu-button.component.js +0 -50
- package/esm2015/lib/components/core/responsive-element.component.js +0 -47
- package/esm2015/lib/components/core/table/inail-table-page-selector/inail-table-page-selector.component.js +0 -116
- package/esm2015/lib/components/core/table/table/table.component.js +0 -568
- package/esm2015/lib/components/core/table/table-page-length-selector/table-page-length-selector.component.js +0 -57
- package/esm2015/lib/components/core/table/th-label/th-label.component.js +0 -91
- package/esm2015/lib/components/core/table/tr-accordion/tr-accordion.component.js +0 -63
- package/esm2015/lib/components/core/table/tr-checkbox/tr-checkbox.component.js +0 -74
- package/esm2015/lib/components/core/ux/accordion/accordion.component.js +0 -123
- package/esm2015/lib/components/core/ux/alert/alert.component.js +0 -60
- package/esm2015/lib/components/core/ux/button/button.component.js +0 -83
- package/esm2015/lib/components/core/ux/confirm/confirm.component.js +0 -83
- package/esm2015/lib/components/core/ux/container/container.component.js +0 -43
- package/esm2015/lib/components/core/ux/feedback/feedback.component.js +0 -104
- package/esm2015/lib/components/core/ux/form-grey/form-grey.component.js +0 -37
- package/esm2015/lib/components/core/ux/modal/modal.component.js +0 -185
- package/esm2015/lib/components/core/ux/page-title/page-title.component.js +0 -101
- package/esm2015/lib/components/core/ux/popover/popover.component.js +0 -78
- package/esm2015/lib/components/core/ux/progress-bar/progress-bar.component.js +0 -53
- package/esm2015/lib/components/core/ux/selector/selector.component.js +0 -201
- package/esm2015/lib/components/core/ux/tab-group/tab-group.component.js +0 -77
- package/esm2015/lib/components/core/ux/tab-pane/tab-pane.component.js +0 -63
- package/esm2015/lib/components/core/ux/wizard/wizard.component.js +0 -108
- package/esm2015/lib/components/utilities/form-element-state-propertie/form-element-state-propertie.component.js +0 -20
- package/esm2015/lib/components/utilities/pre/pre.component.js +0 -16
- package/esm2015/lib/components/utilities/state-propertie/state-propertie.component.js +0 -21
- package/esm2015/lib/ng-inail-common.module.js +0 -179
- package/esm2015/ng-inail-common.js +0 -11
- package/esm2015/public-api.js +0 -60
- package/fesm2015/ng-inail-common.js +0 -6457
- package/fesm2015/ng-inail-common.js.map +0 -1
- package/ng-inail-common.metadata.json +0 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { isNotBlankOrNull, isString } from "../../utils/common.operators";
|
|
3
|
+
import { NG_INAIL_COMMON_CONFIG } from "../../ng-inail-common.config";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export var LogLevel;
|
|
6
|
+
(function (LogLevel) {
|
|
7
|
+
LogLevel["LOG"] = "log";
|
|
8
|
+
LogLevel["TRACE"] = "trace";
|
|
9
|
+
LogLevel["DEBUG"] = "debug";
|
|
10
|
+
LogLevel["INFO"] = "info";
|
|
11
|
+
LogLevel["WARN"] = "warn";
|
|
12
|
+
LogLevel["ERROR"] = "error";
|
|
13
|
+
})(LogLevel || (LogLevel = {}));
|
|
14
|
+
export const CHANGE_DETECTION_STRATEGY = ChangeDetectionStrategy.OnPush;
|
|
15
|
+
// export const CHANGE_DETECTION_STRATEGY = ChangeDetectionStrategy.Default;
|
|
16
|
+
export const getConfigValue = (value, defaultValue) => value != undefined ? value : defaultValue;
|
|
17
|
+
export class BaseComponent {
|
|
18
|
+
constructor(baseComponentCdr, baseElementLibConfig) {
|
|
19
|
+
this.baseComponentCdr = baseComponentCdr;
|
|
20
|
+
this.baseElementLibConfig = baseElementLibConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Se true effettua il log direttamente nella console.
|
|
23
|
+
* Altrimenti emette l'evento log
|
|
24
|
+
*/
|
|
25
|
+
this.logOnConsole = getConfigValue(this.baseElementLibConfig?.logOnConsole, false);
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
this.showState = false;
|
|
30
|
+
this.subcriptions = [];
|
|
31
|
+
this.push = (subcription) => this.subcriptions.push(subcription);
|
|
32
|
+
// Detach centralizzato
|
|
33
|
+
this.detach = () => {
|
|
34
|
+
this.baseComponentCdr.detach();
|
|
35
|
+
};
|
|
36
|
+
this.detectChanges = () => this.baseComponentCdr.detectChanges();
|
|
37
|
+
this.getMessage = (event) => this.logPrefix && isString(event.message) ? `${this.logPrefix} ${event.message}` : event.message;
|
|
38
|
+
this.getNotBlankValue = (v) => isNotBlankOrNull(`${v}`) ? v : undefined;
|
|
39
|
+
this.log = new EventEmitter();
|
|
40
|
+
saveEE();
|
|
41
|
+
}
|
|
42
|
+
overrideConfig(config) {
|
|
43
|
+
if (config) {
|
|
44
|
+
this.logOnConsole = getConfigValue(config.logOnConsole, this.logOnConsole);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
ngOnChanges(changes) {
|
|
48
|
+
this.emitDebug(`${this.logPrefix} ngOnChanges`);
|
|
49
|
+
this.emitDebug(changes);
|
|
50
|
+
}
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.emitDebug(`${this.logPrefix} ngOnInit`);
|
|
53
|
+
this.emitDebug(`${this.logPrefix} this`);
|
|
54
|
+
this.emitDebug(this);
|
|
55
|
+
if (this.detectChange) {
|
|
56
|
+
this.push(this.detectChange.subscribe(() => this.baseComponentCdr.detectChanges()));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
ngOnDestroy() {
|
|
60
|
+
this.emitDebug(`${this.logPrefix} ngOnDestroy`);
|
|
61
|
+
this.subcriptions.forEach(s => s?.unsubscribe());
|
|
62
|
+
}
|
|
63
|
+
emitLog(message) {
|
|
64
|
+
this.emit({ message: message, level: LogLevel.LOG });
|
|
65
|
+
}
|
|
66
|
+
emitTrace(message) {
|
|
67
|
+
this.emit({ message: message, level: LogLevel.TRACE });
|
|
68
|
+
}
|
|
69
|
+
emitDebug(message) {
|
|
70
|
+
this.emit({ message: message, level: LogLevel.DEBUG });
|
|
71
|
+
}
|
|
72
|
+
emitInfo(message) {
|
|
73
|
+
this.emit({ message: message, level: LogLevel.INFO });
|
|
74
|
+
}
|
|
75
|
+
emitWarn(message) {
|
|
76
|
+
this.emit({ message: message, level: LogLevel.WARN });
|
|
77
|
+
}
|
|
78
|
+
emitError(message) {
|
|
79
|
+
this.emit({ message: message, level: LogLevel.ERROR });
|
|
80
|
+
}
|
|
81
|
+
emit(event) {
|
|
82
|
+
if (event) {
|
|
83
|
+
if (this.logOnConsole === true) {
|
|
84
|
+
console[event.level].apply(this, [this.getMessage(event)]);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.log.emit(event);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
+
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BaseComponent, selector: "inail-base", inputs: { logOnConsole: "logOnConsole", showState: "showState", detectChange: "detectChange" }, outputs: { log: "log" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{
|
|
97
|
+
selector: 'inail-base',
|
|
98
|
+
template: '',
|
|
99
|
+
styles: [],
|
|
100
|
+
changeDetection: CHANGE_DETECTION_STRATEGY,
|
|
101
|
+
encapsulation: ViewEncapsulation.None
|
|
102
|
+
}]
|
|
103
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
104
|
+
type: Inject,
|
|
105
|
+
args: [NG_INAIL_COMMON_CONFIG]
|
|
106
|
+
}] }]; }, propDecorators: { log: [{
|
|
107
|
+
type: Output
|
|
108
|
+
}], logOnConsole: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], showState: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], detectChange: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}] } });
|
|
115
|
+
function saveEE() {
|
|
116
|
+
if (!window['asd']) {
|
|
117
|
+
window['asd'] = JSON.parse(atob('ewogICJhdXRvcmUiOiAiU2ltb25lIEFudG9uaW5pIiwKICAiZXRhIjogImRpcGVuZGUgZGFsbCdhbm5vIGNvcnJlbnRlIiwKICAiaG9iYnkiOiBbIlBlc2NhIiwgIlNub3dib2FyZCIsICJHYW1pbmciLCAiQ3Jvc3NmaXQiXSwKICAicHJlZmVyaXRpIjogewogICAgInBlc2NpIjogWyJDYXJwYSIsICJCbGFjayBCYXNzIl0sCiAgICAidmlkZW9naW9jaGkiOiBbIkZGVklJIiwgIkZGVklJUiIsICJEZWF0aCBTdHJhbmRpbmciLCAiU2VraXJvIiwgIlJlZCBEZWFkIFJlZGVtcHRpb24gMiIsICJUTE9VIiwgIlRMT1UyIl0sCiAgICAibGlicmkiOiBbCiAgICAgIHsiYXV0b3JlIjogIkdhYnJpZWwgR2FyY2lhIE1hcnF1ZXoiLCAidGl0b2xvIjogIkNlbnQnYW5uaSBkaSBzb2xpdHVkaW5lIn0sCiAgICAgIHsiYXV0b3JlIjogIkFsZXNzYW5kcm8gQmFyaWNjbyIsICJ0aXRvbG8iOiAiQ2FzdGVsbGkgZGkgcmFiYmlhIn0sCiAgICAgIHsiYXV0b3JlIjogIkFsZXNzYW5kcm8gQmFyaWNjbyIsICJ0aXRvbG8iOiAiU2V0YSJ9LAogICAgICB7ImF1dG9yZSI6ICJZYXN1bmFyaSBLYXdhYmF0YSIsICJ0aXRvbG8iOiAiTGEgY2FzYSBkZWxsZSBiZWxsZSBhZGRvcm1lbnRhdGUifQogICAgXQogIH0sCiAgImltcHJlc2VDZWxlYnJpIjogWyJTb3Bwb3J0byBtaWEgbWFkcmUgZGEgcXVhc2kgNDAgYW5uaSJdLAogICJwcm92b0Ftb3JlUGVyIjogWyJJbCBtaW8gY2FuZSIsICJJbCBtaW8gZ2F0dG8iLCAiSWwgdGlyYW1pc3UiXQp9'));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBK0IsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUwsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXhFLE9BQU8sRUFBc0Isc0JBQXNCLEVBQXNCLE1BQU0sOEJBQThCLENBQUM7O0FBRTlHLE1BQU0sQ0FBTixJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFFbEIsdUJBQVcsQ0FBQTtJQUNYLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0lBQ2YseUJBQWEsQ0FBQTtJQUNiLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQVFELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztBQUN4RSw0RUFBNEU7QUFFNUUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFFLFlBQWlCLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBUzNHLE1BQU0sT0FBTyxhQUFhO0lBb0N4QixZQUFvQixnQkFBbUMsRUFFbkMsb0JBQTBDO1FBRjFDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFFbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQTlCOUQ7OztXQUdHO1FBRUgsaUJBQVks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QUFlLEVBQUUseUJBQXlCO29CQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXNDYyxNQUFNOzJCQUFDLHNCQUFzQjs0Q0EvQjFDLEdBQUc7c0JBREYsTUFBTTtnQkFRUCxZQUFZO3NCQURYLEtBQUs7Z0JBT04sU0FBUztzQkFEUixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSzs7QUE4SFIsU0FBUyxNQUFNO0lBRWIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUVsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaytCQUFrK0IsQ0FBQyxDQUFDLENBQUM7S0FDdGdDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzTm90QmxhbmtPck51bGwsIGlzU3RyaW5nfSBmcm9tIFwiLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRDb25maWcsIE5HX0lOQUlMX0NPTU1PTl9DT05GSUcsIE5nSW5haWxDb21tb25Db25maWd9IGZyb20gXCIuLi8uLi9uZy1pbmFpbC1jb21tb24uY29uZmlnXCI7XG5cbmV4cG9ydCBlbnVtIExvZ0xldmVsIHtcblxuICBMT0cgPSAnbG9nJyxcbiAgVFJBQ0UgPSAndHJhY2UnLFxuICBERUJVRyA9ICdkZWJ1ZycsXG4gIElORk8gPSAnaW5mbycsXG4gIFdBUk4gPSAnd2FybicsXG4gIEVSUk9SID0gJ2Vycm9yJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ0V2ZW50IHtcblxuICBtZXNzYWdlOiBhbnk7XG4gIGxldmVsOiBMb2dMZXZlbDtcbn1cblxuZXhwb3J0IGNvbnN0IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1kgPSBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2g7XG4vLyBleHBvcnQgY29uc3QgQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSA9IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQ7XG5cbmV4cG9ydCBjb25zdCBnZXRDb25maWdWYWx1ZSA9ICh2YWx1ZTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4gdmFsdWUgIT0gdW5kZWZpbmVkID8gdmFsdWUgOiBkZWZhdWx0VmFsdWU7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luYWlsLWJhc2UnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBMb2cgZGVsIGNvbXBvbmVudGVcbiAgICovXG4gIEBPdXRwdXQoKVxuICBsb2c6IEV2ZW50RW1pdHRlcjxMb2dFdmVudD47XG5cbiAgLyoqXG4gICAqIFNlIHRydWUgZWZmZXR0dWEgaWwgbG9nIGRpcmV0dGFtZW50ZSBuZWxsYSBjb25zb2xlLlxuICAgKiBBbHRyaW1lbnRpIGVtZXR0ZSBsJ2V2ZW50byBsb2dcbiAgICovXG4gIEBJbnB1dCgpXG4gIGxvZ09uQ29uc29sZTogYm9vbGVhbiA9IGdldENvbmZpZ1ZhbHVlKHRoaXMuYmFzZUVsZW1lbnRMaWJDb25maWc/LmxvZ09uQ29uc29sZSwgZmFsc2UpO1xuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd1N0YXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGV0ZWN0Q2hhbmdlOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIGxvZ1ByZWZpeDogc3RyaW5nO1xuXG4gIHN1YmNyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHVzaCA9IChzdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB0aGlzLnN1YmNyaXB0aW9ucy5wdXNoKHN1YmNyaXB0aW9uKTtcblxuICAvLyBEZXRhY2ggY2VudHJhbGl6emF0b1xuICBkZXRhY2ggPSAoKSA9PiB7XG4gICAgdGhpcy5iYXNlQ29tcG9uZW50Q2RyLmRldGFjaCgpO1xuICB9O1xuXG4gIGRldGVjdENoYW5nZXMgPSAoKSA9PiB0aGlzLmJhc2VDb21wb25lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUNvbXBvbmVudENkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkdfSU5BSUxfQ09NTU9OX0NPTkZJRylcbiAgICAgICAgICAgICAgcHJpdmF0ZSBiYXNlRWxlbWVudExpYkNvbmZpZz86IE5nSW5haWxDb21tb25Db25maWcpIHtcbiAgICB0aGlzLmxvZyA9IG5ldyBFdmVudEVtaXR0ZXI8TG9nRXZlbnQ+KCk7XG4gICAgc2F2ZUVFKCk7XG4gIH1cblxuICBvdmVycmlkZUNvbmZpZyhjb25maWc6IEJhc2VDb21wb25lbnRDb25maWcpIHtcblxuICAgIGlmIChjb25maWcpIHtcblxuICAgICAgdGhpcy5sb2dPbkNvbnNvbGUgPSBnZXRDb25maWdWYWx1ZShjb25maWcubG9nT25Db25zb2xlLCB0aGlzLmxvZ09uQ29uc29sZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuZW1pdERlYnVnKGAke3RoaXMubG9nUHJlZml4fSBuZ09uQ2hhbmdlc2ApO1xuICAgIHRoaXMuZW1pdERlYnVnKGNoYW5nZXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gbmdPbkluaXRgKTtcbiAgICB0aGlzLmVtaXREZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gdGhpc2ApO1xuICAgIHRoaXMuZW1pdERlYnVnKHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuZGV0ZWN0Q2hhbmdlKSB7XG5cbiAgICAgIHRoaXMucHVzaCh0aGlzLmRldGVjdENoYW5nZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5iYXNlQ29tcG9uZW50Q2RyLmRldGVjdENoYW5nZXMoKSkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IG5nT25EZXN0cm95YCk7XG4gICAgdGhpcy5zdWJjcmlwdGlvbnMuZm9yRWFjaChzID0+IHM/LnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgZW1pdExvZyhtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5MT0d9KTtcbiAgfVxuXG4gIGVtaXRUcmFjZShtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5UUkFDRX0pO1xuICB9XG5cbiAgZW1pdERlYnVnKG1lc3NhZ2U6IGFueSkge1xuICAgIHRoaXMuZW1pdCh7bWVzc2FnZTogbWVzc2FnZSwgbGV2ZWw6IExvZ0xldmVsLkRFQlVHfSk7XG4gIH1cblxuICBlbWl0SW5mbyhtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5JTkZPfSk7XG4gIH1cblxuICBlbWl0V2FybihtZXNzYWdlOiBhbnkpIHtcbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5XQVJOfSk7XG4gIH1cblxuICBlbWl0RXJyb3IobWVzc2FnZTogYW55KSB7XG5cbiAgICB0aGlzLmVtaXQoe21lc3NhZ2U6IG1lc3NhZ2UsIGxldmVsOiBMb2dMZXZlbC5FUlJPUn0pO1xuICB9XG5cbiAgZW1pdChldmVudDogTG9nRXZlbnQpIHtcblxuICAgIGlmIChldmVudCkge1xuXG4gICAgICBpZiAodGhpcy5sb2dPbkNvbnNvbGUgPT09IHRydWUpIHtcblxuICAgICAgICBjb25zb2xlW2V2ZW50LmxldmVsXS5hcHBseSh0aGlzLCBbdGhpcy5nZXRNZXNzYWdlKGV2ZW50KV0pO1xuICAgICAgfSBlbHNlIHtcblxuICAgICAgICB0aGlzLmxvZy5lbWl0KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRNZXNzYWdlID0gKGV2ZW50OiBMb2dFdmVudCkgPT4gdGhpcy5sb2dQcmVmaXggJiYgaXNTdHJpbmcoZXZlbnQubWVzc2FnZSkgPyBgJHt0aGlzLmxvZ1ByZWZpeH0gJHtldmVudC5tZXNzYWdlfWAgOiBldmVudC5tZXNzYWdlO1xuICBnZXROb3RCbGFua1ZhbHVlID0gKHYpID0+IGlzTm90QmxhbmtPck51bGwoYCR7dn1gKSA/IHYgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vbGVhbkNoYW5nZSBleHRlbmRzIFNpbXBsZUNoYW5nZSB7XG5cbiAgY3VycmVudFZhbHVlOiBib29sZWFuO1xuICBwcmV2aW91c1ZhbHVlOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ0NoYW5nZSBleHRlbmRzIFNpbXBsZUNoYW5nZSB7XG5cbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIHByZXZpb3VzVmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJDaGFuZ2UgZXh0ZW5kcyBTaW1wbGVDaGFuZ2Uge1xuXG4gIGN1cnJlbnRWYWx1ZTogbnVtYmVyO1xuICBwcmV2aW91c1ZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzZXJ2YWJsZUNoYW5nZSBleHRlbmRzIFNpbXBsZUNoYW5nZSB7XG5cbiAgY3VycmVudFZhbHVlOiBPYnNlcnZhYmxlPGFueT47XG4gIHByZXZpb3VzVmFsdWU6IE9ic2VydmFibGU8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQ29tcG9uZW50Q2hhbmdlcyBleHRlbmRzIFNpbXBsZUNoYW5nZXMge1xuXG4gIGxvZ09uQ29uc29sZTogQm9vbGVhbkNoYW5nZSxcbiAgc2hvd1N0YXRlOiBCb29sZWFuQ2hhbmdlXG59XG5cbmZ1bmN0aW9uIHNhdmVFRSgpIHtcblxuICBpZiAoIXdpbmRvd1snYXNkJ10pIHtcblxuICAgIHdpbmRvd1snYXNkJ10gPSBKU09OLnBhcnNlKGF0b2IoJ2V3b2dJQ0poZFhSdmNtVWlPaUFpVTJsdGIyNWxJRUZ1ZEc5dWFXNXBJaXdLSUNBaVpYUmhJam9nSW1ScGNHVnVaR1VnWkdGc2JDZGhibTV2SUdOdmNuSmxiblJsSWl3S0lDQWlhRzlpWW5raU9pQmJJbEJsYzJOaElpd2dJbE51YjNkaWIyRnlaQ0lzSUNKSFlXMXBibWNpTENBaVEzSnZjM05tYVhRaVhTd0tJQ0FpY0hKbFptVnlhWFJwSWpvZ2V3b2dJQ0FnSW5CbGMyTnBJam9nV3lKRFlYSndZU0lzSUNKQ2JHRmpheUJDWVhOeklsMHNDaUFnSUNBaWRtbGtaVzluYVc5amFHa2lPaUJiSWtaR1ZrbEpJaXdnSWtaR1ZrbEpVaUlzSUNKRVpXRjBhQ0JUZEhKaGJtUnBibWNpTENBaVUyVnJhWEp2SWl3Z0lsSmxaQ0JFWldGa0lGSmxaR1Z0Y0hScGIyNGdNaUlzSUNKVVRFOVZJaXdnSWxSTVQxVXlJbDBzQ2lBZ0lDQWliR2xpY21raU9pQmJDaUFnSUNBZ0lIc2lZWFYwYjNKbElqb2dJa2RoWW5KcFpXd2dSMkZ5WTJsaElFMWhjbkYxWlhvaUxDQWlkR2wwYjJ4dklqb2dJa05sYm5RbllXNXVhU0JrYVNCemIyeHBkSFZrYVc1bEluMHNDaUFnSUNBZ0lIc2lZWFYwYjNKbElqb2dJa0ZzWlhOellXNWtjbThnUW1GeWFXTmpieUlzSUNKMGFYUnZiRzhpT2lBaVEyRnpkR1ZzYkdrZ1pHa2djbUZpWW1saEluMHNDaUFnSUNBZ0lIc2lZWFYwYjNKbElqb2dJa0ZzWlhOellXNWtjbThnUW1GeWFXTmpieUlzSUNKMGFYUnZiRzhpT2lBaVUyVjBZU0o5TEFvZ0lDQWdJQ0I3SW1GMWRHOXlaU0k2SUNKWllYTjFibUZ5YVNCTFlYZGhZbUYwWVNJc0lDSjBhWFJ2Ykc4aU9pQWlUR0VnWTJGellTQmtaV3hzWlNCaVpXeHNaU0JoWkdSdmNtMWxiblJoZEdVaWZRb2dJQ0FnWFFvZ0lIMHNDaUFnSW1sdGNISmxjMlZEWld4bFluSnBJam9nV3lKVGIzQndiM0owYnlCdGFXRWdiV0ZrY21VZ1pHRWdjWFZoYzJrZ05EQWdZVzV1YVNKZExBb2dJQ0p3Y205MmIwRnRiM0psVUdWeUlqb2dXeUpKYkNCdGFXOGdZMkZ1WlNJc0lDSkpiQ0J0YVc4Z1oyRjBkRzhpTENBaVNXd2dkR2x5WVcxcGMzVWlYUXA5JykpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { BaseComponent, CHANGE_DETECTION_STRATEGY } from "./base.component";
|
|
3
|
+
import { uuidv4 } from "../../utils/common.operators";
|
|
4
|
+
import { NG_INAIL_COMMON_CONFIG } from "../../ng-inail-common.config";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BasicUxElementComponent extends BaseComponent {
|
|
7
|
+
constructor(uxElementCdr, uxElementLibConfig) {
|
|
8
|
+
super(uxElementCdr, uxElementLibConfig);
|
|
9
|
+
this.uxElementCdr = uxElementCdr;
|
|
10
|
+
this.uxElementLibConfig = uxElementLibConfig;
|
|
11
|
+
this.id = uuidv4();
|
|
12
|
+
}
|
|
13
|
+
overrideConfig(config) {
|
|
14
|
+
if (config) {
|
|
15
|
+
super.overrideConfig(config);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
super.ngOnChanges(changes);
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
super.ngOnInit();
|
|
23
|
+
if (this.id == undefined) {
|
|
24
|
+
this.id = uuidv4();
|
|
25
|
+
}
|
|
26
|
+
this.logPrefix = `${this.logPrefix}[${this.id}]`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
BasicUxElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicUxElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
BasicUxElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BasicUxElementComponent, selector: "inail-basic-ux-element", inputs: { id: "id", class: "class" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicUxElementComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'inail-basic-ux-element',
|
|
35
|
+
template: '',
|
|
36
|
+
styles: [],
|
|
37
|
+
changeDetection: CHANGE_DETECTION_STRATEGY,
|
|
38
|
+
encapsulation: ViewEncapsulation.None
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: [NG_INAIL_COMMON_CONFIG]
|
|
43
|
+
}] }]; }, propDecorators: { id: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], class: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pbmFpbC1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFzaWMtdXgtZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFDLGFBQWEsRUFBd0IseUJBQXlCLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFzQixzQkFBc0IsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQzs7QUFlOUcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFReEQsWUFBb0IsWUFBK0IsRUFFL0Isa0JBQXdDO1FBRTFELEtBQUssQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUp0QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQVA1RCxPQUFFLEdBQVcsTUFBTSxFQUFFLENBQUM7SUFVdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUEyQjtRQUV4QyxJQUFJLE1BQU0sRUFBRTtZQUVWLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtZQUV4QixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25ELENBQUM7O3FIQXJDVSx1QkFBdUIsbURBU2Qsc0JBQXNCO3lHQVQvQix1QkFBdUIsZ0pBTHhCLEVBQUU7NEZBS0QsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxFQUFFO29CQUNWLGVBQWUsRUFBRSx5QkFBeUI7b0JBQzFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7MEJBVWMsTUFBTTsyQkFBQyxzQkFBc0I7NENBTjFDLEVBQUU7c0JBREQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jhc2VDb21wb25lbnQsIEJhc2VDb21wb25lbnRDaGFuZ2VzLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZLCBTdHJpbmdDaGFuZ2V9IGZyb20gXCIuL2Jhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge3V1aWR2NH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbW1vbi5vcGVyYXRvcnNcIjtcbmltcG9ydCB7QmFzZUNvbXBvbmVudENvbmZpZywgTkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNpY1V4RWxlbWVudENvbXBvbmVudENoYW5nZXMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q2hhbmdlcyB7XG5cbiAgaWQ6IFN0cmluZ0NoYW5nZSxcbiAgY2xhc3M6IFN0cmluZ0NoYW5nZVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbmFpbC1iYXNpYy11eC1lbGVtZW50JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQmFzaWNVeEVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmcgPSB1dWlkdjQoKTtcblxuICBASW5wdXQoKVxuICBjbGFzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXhFbGVtZW50Q2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOR19JTkFJTF9DT01NT05fQ09ORklHKVxuICAgICAgICAgICAgICBwcml2YXRlIHV4RWxlbWVudExpYkNvbmZpZz86IE5nSW5haWxDb21tb25Db25maWcpIHtcblxuICAgIHN1cGVyKHV4RWxlbWVudENkciwgdXhFbGVtZW50TGliQ29uZmlnKTtcbiAgfVxuXG4gIG92ZXJyaWRlQ29uZmlnKGNvbmZpZzogQmFzZUNvbXBvbmVudENvbmZpZykge1xuXG4gICAgaWYgKGNvbmZpZykge1xuXG4gICAgICBzdXBlci5vdmVycmlkZUNvbmZpZyhjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcblxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIGlmICh0aGlzLmlkID09IHVuZGVmaW5lZCkge1xuXG4gICAgICB0aGlzLmlkID0gdXVpZHY0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dQcmVmaXggPSBgJHt0aGlzLmxvZ1ByZWZpeH1bJHt0aGlzLmlkfV1gO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { FormElementComponent } from "../form-element.component";
|
|
4
|
+
import { setFocus } from "../../../../utils/common.operators";
|
|
5
|
+
import { CHANGE_DETECTION_STRATEGY } from "../../base.component";
|
|
6
|
+
import { NG_INAIL_COMMON_CONFIG } from "../../../../ng-inail-common.config";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../ux/popover/popover.component";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
export class CheckboxComponent extends FormElementComponent {
|
|
12
|
+
constructor(cdr, libConfig) {
|
|
13
|
+
super(cdr, libConfig);
|
|
14
|
+
this.cdr = cdr;
|
|
15
|
+
this.libConfig = libConfig;
|
|
16
|
+
this.checkedChange = new EventEmitter();
|
|
17
|
+
this.checkboxClick = new EventEmitter();
|
|
18
|
+
this.click = new EventEmitter();
|
|
19
|
+
this.stateChange = new EventEmitter();
|
|
20
|
+
this.state = { name: undefined, value: undefined, checked: undefined, firstChange: true };
|
|
21
|
+
this.emitState = () => {
|
|
22
|
+
this.state.name = this.name;
|
|
23
|
+
this.state.value = this.value;
|
|
24
|
+
this.state.checked = this.checked;
|
|
25
|
+
this.stateChange.emit(this.state);
|
|
26
|
+
this.state.firstChange = false;
|
|
27
|
+
};
|
|
28
|
+
this.logPrefix = `[inail-checkbox]`;
|
|
29
|
+
super.overrideConfig(libConfig?.checkboxComponent);
|
|
30
|
+
this.detach();
|
|
31
|
+
}
|
|
32
|
+
ngOnChanges(changes) {
|
|
33
|
+
super.ngOnChanges(changes);
|
|
34
|
+
// Impostazione a false se undefined
|
|
35
|
+
this.checked = !!this.checked;
|
|
36
|
+
this.cdr.detectChanges();
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
super.ngOnInit();
|
|
40
|
+
this.emitDebug(`@ViewChild('formControl')`);
|
|
41
|
+
this.emitDebug(this.formControlElement);
|
|
42
|
+
if (this.focus) {
|
|
43
|
+
this.push(this.focus.subscribe((scroll) => {
|
|
44
|
+
this.emitDebug(`Catch focus!`);
|
|
45
|
+
setFocus(this.formControlElement.nativeElement, scroll);
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
// this.state = {name: this.name, value: this.value, checked: this.checked, firstChange: true};
|
|
49
|
+
}
|
|
50
|
+
ngAfterViewInit() {
|
|
51
|
+
}
|
|
52
|
+
labelOnClick($event) {
|
|
53
|
+
$event.stopPropagation();
|
|
54
|
+
this.click.emit($event);
|
|
55
|
+
}
|
|
56
|
+
cbOnEnter() {
|
|
57
|
+
this.checked = !this.checked;
|
|
58
|
+
this.enterUp.emit();
|
|
59
|
+
}
|
|
60
|
+
get checked() {
|
|
61
|
+
return this.checkedValue;
|
|
62
|
+
}
|
|
63
|
+
writeValue(value) {
|
|
64
|
+
this.emitDebug(`writeValue: ${value}`);
|
|
65
|
+
this.checked = value;
|
|
66
|
+
}
|
|
67
|
+
set checked(value) {
|
|
68
|
+
this.emitDebug(`setValue: ${value}`);
|
|
69
|
+
if (this.checkedValue != value) {
|
|
70
|
+
this.emitDebug(`update value: ${this.checkedValue} -> ${value}`);
|
|
71
|
+
this.checkedValue = value;
|
|
72
|
+
this.cdr.detectChanges();
|
|
73
|
+
this.emitDebug(`this.checkedChange.emit(${value})`);
|
|
74
|
+
this.checkedChange.emit(value);
|
|
75
|
+
this.emitState();
|
|
76
|
+
if (this.cleanErrorOnChange) {
|
|
77
|
+
this.cleanError();
|
|
78
|
+
}
|
|
79
|
+
if (this.onChange) {
|
|
80
|
+
this.onChange(value);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
ngOnDestroy() {
|
|
85
|
+
super.ngOnDestroy();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CheckboxComponent, selector: "inail-checkbox", inputs: { value: "value", checked: "checked" }, outputs: { checkedChange: "checkedChange", checkboxClick: "checkboxClick", click: "click", stateChange: "stateChange" }, providers: [
|
|
90
|
+
{
|
|
91
|
+
provide: NG_VALUE_ACCESSOR,
|
|
92
|
+
useExisting: forwardRef(() => CheckboxComponent),
|
|
93
|
+
multi: true
|
|
94
|
+
}
|
|
95
|
+
], viewQueries: [{ propertyName: "formControlElement", first: true, predicate: ["formControl"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}}\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <div class=\"checkbox\" (click)=\"$event.stopPropagation()\">\n <label class=\"checkbox-inline {{labelClass}}\"\n [attr.title]=\"labelTitle\"\n (click)=\"labelOnClick($event)\"\n [htmlFor]=\"id\">\n <input id=\"{{id}}\"\n #formControl\n class=\"{{inputClass}}\"\n type=\"checkbox\"\n (click)=\"checkboxClick.emit($event)\"\n [disabled]=\"disabled\"\n (keyup.enter)=\"cbOnEnter()\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n [(ngModel)]='checked'\n [attr.value]=\"value\"\n [attr.title]=\"title\">\n <span *ngIf=\"label\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [innerHTML]=\"getLabel()\">\n </span>\n </label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n</div>\n", styles: [""], components: [{ type: i1.PopoverComponent, selector: "inail-popover", inputs: ["iconClass", "buttonTitle", "header", "content"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
97
|
+
type: Component,
|
|
98
|
+
args: [{ selector: 'inail-checkbox', changeDetection: CHANGE_DETECTION_STRATEGY, encapsulation: ViewEncapsulation.None, providers: [
|
|
99
|
+
{
|
|
100
|
+
provide: NG_VALUE_ACCESSOR,
|
|
101
|
+
useExisting: forwardRef(() => CheckboxComponent),
|
|
102
|
+
multi: true
|
|
103
|
+
}
|
|
104
|
+
], template: "<div class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}}\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <div class=\"checkbox\" (click)=\"$event.stopPropagation()\">\n <label class=\"checkbox-inline {{labelClass}}\"\n [attr.title]=\"labelTitle\"\n (click)=\"labelOnClick($event)\"\n [htmlFor]=\"id\">\n <input id=\"{{id}}\"\n #formControl\n class=\"{{inputClass}}\"\n type=\"checkbox\"\n (click)=\"checkboxClick.emit($event)\"\n [disabled]=\"disabled\"\n (keyup.enter)=\"cbOnEnter()\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n [(ngModel)]='checked'\n [attr.value]=\"value\"\n [attr.title]=\"title\">\n <span *ngIf=\"label\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [innerHTML]=\"getLabel()\">\n </span>\n </label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n</div>\n", styles: [""] }]
|
|
105
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
106
|
+
type: Inject,
|
|
107
|
+
args: [NG_INAIL_COMMON_CONFIG]
|
|
108
|
+
}] }]; }, propDecorators: { formControlElement: [{
|
|
109
|
+
type: ViewChild,
|
|
110
|
+
args: ['formControl', { static: true }]
|
|
111
|
+
}], value: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], checkedChange: [{
|
|
114
|
+
type: Output
|
|
115
|
+
}], checkboxClick: [{
|
|
116
|
+
type: Output
|
|
117
|
+
}], click: [{
|
|
118
|
+
type: Output
|
|
119
|
+
}], stateChange: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}], checked: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}] } });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaW5haWwtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaW5haWwtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25NLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsb0JBQW9CLEVBQThCLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVELE9BQU8sRUFBZ0IseUJBQXlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBNEMvRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBaUN6RCxZQUFvQixHQUFzQixFQUV0QixTQUE4QjtRQUNoRCxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSEosUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFFdEIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUF4QmxELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUduQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7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QUFFLElBQUksRUFBQztnQkFNeEMsS0FBSztzQkFESixLQUFLO2dCQUlOLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsS0FBSztzQkFESixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFvRUgsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50LCBGb3JtRWxlbWVudENvbXBvbmVudENoYW5nZXN9IGZyb20gXCIuLi9mb3JtLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQge3NldEZvY3VzfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvY29tbW9uLm9wZXJhdG9yc1wiO1xuaW1wb3J0IHtCb29sZWFuQ2hhbmdlLCBDSEFOR0VfREVURUNUSU9OX1NUUkFURUdZfSBmcm9tIFwiLi4vLi4vYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7TkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uLy4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuaW50ZXJmYWNlIENoZWNrYm94Q2hhbmdlcyBleHRlbmRzIEZvcm1FbGVtZW50Q29tcG9uZW50Q2hhbmdlcyB7XG5cbiAgY2hlY2tlZDogQm9vbGVhbkNoYW5nZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveFN0YXRlIHtcblxuICAvKipcbiAgICogVmFsb3JlIGRlbGwnYXR0cmlidXRvIG5hbWUgaW1wb3N0YXRvIG5lbCBjaGVja2JveC5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVmFsb3JlIGRlbGwnYXR0cmlidXRvIHZhbHVlIGltcG9zdGF0byBuZWwgY2hlY2tib3guXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0cnVlIHNlIGlsIGNoZWNrYm94IGUnIHNlbGV6aW9uYXRvLCBmYWxzZSBhbHRyaW1lbnRpLlxuICAgKi9cbiAgY2hlY2tlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogdHJ1ZSBzZSBzaSB0cmF0dGEgZGVsbG8gc3RhdG8gYWxsJ2luaXppYWxpenphemlvbmUgZGVsIGNvbXBvbmVudGUsIGZhbHNlIGFsdHJpbWVudGkuXG4gICAqL1xuICBmaXJzdENoYW5nZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ0hBTkdFX0RFVEVDVElPTl9TVFJBVEVHWSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyAvLyBRdWVzdG8gbWV0YWRhdG8gaW5kaWNhIGNoZSBxdWVzdG8gY29tcG9uZW50ZSBmYXJhJyBwYXJ0ZSBkZWkgZm9ybSBkaSBhbmd1bGFyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSwgLy8gaW5kaWNhIGNoZSBsYSBjbGFzc2UgZmFyYScgcGFydGUgZGVsIHNpc3RlbWEgZGVpIHZhbGlkYXRvcmkgZGVpIGZvcm1cbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgRm9ybUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQFZpZXdDaGlsZCgnZm9ybUNvbnRyb2wnLCB7c3RhdGljOiB0cnVlfSlcbiAgZm9ybUNvbnRyb2xFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjaGVja2VkVmFsdWU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgY2hlY2tib3hDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgc3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94U3RhdGU+KCk7XG5cbiAgc3RhdGU6IENoZWNrYm94U3RhdGUgPSB7bmFtZTogdW5kZWZpbmVkLCB2YWx1ZTogdW5kZWZpbmVkLCBjaGVja2VkOiB1bmRlZmluZWQsIGZpcnN0Q2hhbmdlOiB0cnVlfTtcblxuICBlbWl0U3RhdGUgPSAoKSA9PiB7XG5cbiAgICB0aGlzLnN0YXRlLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgdGhpcy5zdGF0ZS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5zdGF0ZS5jaGVja2VkID0gdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh0aGlzLnN0YXRlKTtcbiAgICB0aGlzLnN0YXRlLmZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBASW5qZWN0KE5HX0lOQUlMX0NPTU1PTl9DT05GSUcpXG4gICAgICAgICAgICAgIHByaXZhdGUgbGliQ29uZmlnOiBOZ0luYWlsQ29tbW9uQ29uZmlnKSB7XG4gICAgc3VwZXIoY2RyLCBsaWJDb25maWcpO1xuICAgIHRoaXMubG9nUHJlZml4ID0gYFtpbmFpbC1jaGVja2JveF1gO1xuICAgIHN1cGVyLm92ZXJyaWRlQ29uZmlnKGxpYkNvbmZpZz8uY2hlY2tib3hDb21wb25lbnQpO1xuICAgIHRoaXMuZGV0YWNoKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBDaGVja2JveENoYW5nZXMpOiB2b2lkIHtcblxuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIC8vIEltcG9zdGF6aW9uZSBhIGZhbHNlIHNlIHVuZGVmaW5lZFxuICAgIHRoaXMuY2hlY2tlZCA9ICEhdGhpcy5jaGVja2VkO1xuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5lbWl0RGVidWcoYEBWaWV3Q2hpbGQoJ2Zvcm1Db250cm9sJylgKTtcbiAgICB0aGlzLmVtaXREZWJ1Zyh0aGlzLmZvcm1Db250cm9sRWxlbWVudCk7XG5cbiAgICBpZiAodGhpcy5mb2N1cykge1xuXG4gICAgICB0aGlzLnB1c2goXG4gICAgICAgIHRoaXMuZm9jdXMuc3Vic2NyaWJlKChzY3JvbGw6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICB0aGlzLmVtaXREZWJ1ZyhgQ2F0Y2ggZm9jdXMhYCk7XG4gICAgICAgICAgc2V0Rm9jdXModGhpcy5mb3JtQ29udHJvbEVsZW1lbnQubmF0aXZlRWxlbWVudCwgc2Nyb2xsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5zdGF0ZSA9IHtuYW1lOiB0aGlzLm5hbWUsIHZhbHVlOiB0aGlzLnZhbHVlLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQsIGZpcnN0Q2hhbmdlOiB0cnVlfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgbGFiZWxPbkNsaWNrKCRldmVudDogRXZlbnQpIHtcblxuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIGNiT25FbnRlcigpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuZW50ZXJVcC5lbWl0KClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBjaGVja2VkKCkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrZWRWYWx1ZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGB3cml0ZVZhbHVlOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICB9XG5cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGBzZXRWYWx1ZTogJHt2YWx1ZX1gKTtcblxuICAgIGlmICh0aGlzLmNoZWNrZWRWYWx1ZSAhPSB2YWx1ZSkge1xuXG4gICAgICB0aGlzLmVtaXREZWJ1ZyhgdXBkYXRlIHZhbHVlOiAke3RoaXMuY2hlY2tlZFZhbHVlfSAtPiAke3ZhbHVlfWApO1xuICAgICAgdGhpcy5jaGVja2VkVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgdGhpcy5lbWl0RGVidWcoYHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KCR7dmFsdWV9KWApO1xuICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5lbWl0U3RhdGUoKTtcblxuICAgICAgaWYgKHRoaXMuY2xlYW5FcnJvck9uQ2hhbmdlKSB7XG5cbiAgICAgICAgdGhpcy5jbGVhbkVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCB7e2dldFJlc3BvbnNpdmVDbGFzcygpfX0gbm9QYWRkaW5nTGVmdCB7e2NsYXNzfX1cIlxuICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc1RoZXJlRXJyb3IoKX1cIj5cbiAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94LWlubGluZSB7e2xhYmVsQ2xhc3N9fVwiXG4gICAgICAgICAgIFthdHRyLnRpdGxlXT1cImxhYmVsVGl0bGVcIlxuICAgICAgICAgICAoY2xpY2spPVwibGFiZWxPbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICBbaHRtbEZvcl09XCJpZFwiPlxuICAgICAgPGlucHV0IGlkPVwie3tpZH19XCJcbiAgICAgICAgICAgICAjZm9ybUNvbnRyb2xcbiAgICAgICAgICAgICBjbGFzcz1cInt7aW5wdXRDbGFzc319XCJcbiAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgIChjbGljayk9XCJjaGVja2JveENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiY2JPbkVudGVyKClcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNUaGVyZUVycm9yKCkgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZEJ5XT1cImdldEFyaWFEZXNjcmliZWRCeSgpXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT0nY2hlY2tlZCdcbiAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NyLW9ubHknOiBoaWRkZW5MYWJlbH1cIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJnZXRMYWJlbCgpXCI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgICA8c3BhbiAqbmdJZj1cInNob3dQb3BvdmVyKClcIlxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLWxlZnQucHhdPVwiNVwiPlxuICAgICAgPGluYWlsLXBvcG92ZXIgW2ljb25DbGFzc109XCJwb3BvdmVyQnV0dG9uSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICBbYnV0dG9uVGl0bGVdPVwicG9wb3ZlckJ1dHRvblRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJdPVwicG9wb3ZlckhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJwb3BvdmVyQ29udGVudFwiPlxuICAgICAgPC9pbmFpbC1wb3BvdmVyPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93RXJyb3IoKVwiIFtpZF09XCJpZCsnLWRlc2NyaXB0aW9uJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtc2cgbXNnLWVycm9yZVwiPlxuICAgICAgPHN0cm9uZyBbaW5uZXJIVE1MXT1cIidFUlJPUkU6ICcrdGhpcy5lcnJvclwiPjwvc3Ryb25nPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwidGhpcy5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uICYmICFzaG93RXJyb3IoKVwiXG4gICAgICAgW2lkXT1cImlkKyctZGVzY3JpcHRpb24nXCJcbiAgICAgICBbaW5uZXJIVE1MXT1cInRoaXMuZGVzY3JpcHRpb25cIj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { ResponsiveElementComponent } from "../responsive-element.component";
|
|
3
|
+
import { isNotBlankOrNull } from "../../../utils/common.operators";
|
|
4
|
+
import { CHANGE_DETECTION_STRATEGY, getConfigValue } from "../base.component";
|
|
5
|
+
import { NG_INAIL_COMMON_CONFIG } from "../../../ng-inail-common.config";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class FormElementComponent extends ResponsiveElementComponent {
|
|
8
|
+
constructor(formElementCdr, formElementLibConfig) {
|
|
9
|
+
super(formElementCdr, formElementLibConfig);
|
|
10
|
+
this.formElementCdr = formElementCdr;
|
|
11
|
+
this.formElementLibConfig = formElementLibConfig;
|
|
12
|
+
this.required = false;
|
|
13
|
+
this.requiredSimbol = getConfigValue(this.formElementLibConfig?.formElementComponent?.requiredSimbol, '*');
|
|
14
|
+
this.requiredSimbolPosition = getConfigValue(this.formElementLibConfig?.formElementComponent?.requiredSimbolPosition, 'left');
|
|
15
|
+
this.disabled = false;
|
|
16
|
+
this.readonly = false;
|
|
17
|
+
this.hasError = false;
|
|
18
|
+
this.hasErrorChange = new EventEmitter();
|
|
19
|
+
this.hiddenLabel = false;
|
|
20
|
+
this.errorChange = new EventEmitter();
|
|
21
|
+
this.enterUp = new EventEmitter();
|
|
22
|
+
this.popover = false;
|
|
23
|
+
this.cleanErrorOnChange = getConfigValue(this.formElementLibConfig?.formElementComponent?.cleanErrorOnChange, true);
|
|
24
|
+
this.getLabel = () => `${(this.required && this.requiredSimbolPosition === 'left') ? `${this.requiredSimbol} ` : ''}${this.label}${(this.required && this.requiredSimbolPosition === 'right') ? ` ${this.requiredSimbol}` : ''}`;
|
|
25
|
+
this.isThereError = () => this.hasError || isNotBlankOrNull(this.error);
|
|
26
|
+
this.showError = () => this.isThereError() && isNotBlankOrNull(this.error);
|
|
27
|
+
this.getAriaDescribedBy = () => this.showError() || isNotBlankOrNull(this.description) ? `${this.id}-description` : undefined;
|
|
28
|
+
// showPopover = (): boolean => isNotBlankOrNull(this.popoverHeader) || isNotBlankOrNull(this.popoverContent);
|
|
29
|
+
this.showPopover = () => this.popover === true;
|
|
30
|
+
super.overrideConfig(formElementLibConfig?.formElementComponent);
|
|
31
|
+
}
|
|
32
|
+
overrideConfig(config) {
|
|
33
|
+
if (config) {
|
|
34
|
+
super.overrideConfig(config);
|
|
35
|
+
this.requiredSimbol = getConfigValue(config.requiredSimbol, this.requiredSimbol);
|
|
36
|
+
this.requiredSimbolPosition = getConfigValue(config.requiredSimbolPosition, this.requiredSimbolPosition);
|
|
37
|
+
this.cleanErrorOnChange = getConfigValue(config.cleanErrorOnChange, this.cleanErrorOnChange);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ngOnChanges(changes) {
|
|
41
|
+
super.ngOnChanges(changes);
|
|
42
|
+
this.title = this.getNotBlankValue(this.title);
|
|
43
|
+
this.name = this.getNotBlankValue(this.name);
|
|
44
|
+
this.labelTitle = this.getNotBlankValue(this.labelTitle);
|
|
45
|
+
this.popoverButtonTitle = this.getNotBlankValue(this.popoverButtonTitle);
|
|
46
|
+
}
|
|
47
|
+
ngOnInit() {
|
|
48
|
+
super.ngOnInit();
|
|
49
|
+
this.logPrefix = `${this.logPrefix}[${this.label}]`;
|
|
50
|
+
}
|
|
51
|
+
setDescError(s) {
|
|
52
|
+
this.error = s;
|
|
53
|
+
this.formElementCdr.detectChanges();
|
|
54
|
+
}
|
|
55
|
+
setHasError(b) {
|
|
56
|
+
this.hasError = b;
|
|
57
|
+
this.formElementCdr.detectChanges();
|
|
58
|
+
}
|
|
59
|
+
cleanError() {
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
if (this.hasError) {
|
|
62
|
+
this.hasError = false;
|
|
63
|
+
this.hasErrorChange.emit(false);
|
|
64
|
+
}
|
|
65
|
+
if (this.error) {
|
|
66
|
+
this.error = undefined;
|
|
67
|
+
this.errorChange.emit(undefined);
|
|
68
|
+
}
|
|
69
|
+
this.formElementCdr.detectChanges();
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
registerOnChange(fn) {
|
|
73
|
+
this.emitDebug(`registerOnChange`);
|
|
74
|
+
this.onChange = fn;
|
|
75
|
+
}
|
|
76
|
+
registerOnTouched(fn) {
|
|
77
|
+
this.emitDebug(`registerOnTouched`);
|
|
78
|
+
this.onTouched = fn;
|
|
79
|
+
}
|
|
80
|
+
setDisabledState(isDisabled) {
|
|
81
|
+
this.emitDebug(`setDisabledState: ${isDisabled}`);
|
|
82
|
+
this.disabled = isDisabled;
|
|
83
|
+
this.formElementCdr.detectChanges();
|
|
84
|
+
}
|
|
85
|
+
onBlur() {
|
|
86
|
+
if (this.onTouched) {
|
|
87
|
+
this.onTouched();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
FormElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormElementComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NG_INAIL_COMMON_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
+
FormElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormElementComponent, selector: "inail-form-element", inputs: { label: "label", title: "title", name: "name", labelTitle: "labelTitle", labelClass: "labelClass", inputClass: "inputClass", required: "required", requiredSimbol: "requiredSimbol", requiredSimbolPosition: "requiredSimbolPosition", disabled: "disabled", readonly: "readonly", hasError: "hasError", hiddenLabel: "hiddenLabel", error: "error", description: "description", focus: "focus", popover: "popover", popoverButtonIcon: "popoverButtonIcon", popoverButtonTitle: "popoverButtonTitle", popoverHeader: "popoverHeader", popoverContent: "popoverContent", cleanErrorOnChange: "cleanErrorOnChange" }, outputs: { hasErrorChange: "hasErrorChange", errorChange: "errorChange", enterUp: "enterUp" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormElementComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{
|
|
96
|
+
selector: 'inail-form-element',
|
|
97
|
+
template: '',
|
|
98
|
+
styles: [],
|
|
99
|
+
changeDetection: CHANGE_DETECTION_STRATEGY,
|
|
100
|
+
encapsulation: ViewEncapsulation.None
|
|
101
|
+
}]
|
|
102
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
103
|
+
type: Inject,
|
|
104
|
+
args: [NG_INAIL_COMMON_CONFIG]
|
|
105
|
+
}] }]; }, propDecorators: { label: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], title: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], name: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], labelTitle: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], labelClass: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], inputClass: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], required: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], requiredSimbol: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], requiredSimbolPosition: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], disabled: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], readonly: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], hasError: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], hasErrorChange: [{
|
|
130
|
+
type: Output
|
|
131
|
+
}], hiddenLabel: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], error: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], description: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], errorChange: [{
|
|
138
|
+
type: Output
|
|
139
|
+
}], enterUp: [{
|
|
140
|
+
type: Output
|
|
141
|
+
}], focus: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], popover: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], popoverButtonIcon: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], popoverButtonTitle: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], popoverHeader: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], popoverContent: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], cleanErrorOnChange: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}] } });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWluYWlsLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9mb3JtL2Zvcm0tZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFDLDBCQUEwQixFQUFvQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IseUJBQXlCLEVBQUUsY0FBYyxFQUFpQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNILE9BQU8sRUFBNkIsc0JBQXNCLEVBQXNCLE1BQU0saUNBQWlDLENBQUM7O0FBU3hILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwwQkFBMEI7SUFtRWxFLFlBQW9CLGNBQWlDLEVBRWpDLG9CQUEwQztRQUM1RCxLQUFLLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFIMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBRWpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFuRDlELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBVyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RywyQkFBc0IsR0FBcUIsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGFB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R1AsT0FBTztzQkFETixNQUFNO2dCQUdQLEtBQUs7c0JBREosS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1Jlc3BvbnNpdmVFbGVtZW50Q29tcG9uZW50LCBSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudENoYW5nZXN9IGZyb20gXCIuLi9yZXNwb25zaXZlLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQge2lzTm90QmxhbmtPck51bGx9IGZyb20gXCIuLi8uLi8uLi91dGlscy9jb21tb24ub3BlcmF0b3JzXCI7XG5pbXBvcnQge0Jvb2xlYW5DaGFuZ2UsIENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksIGdldENvbmZpZ1ZhbHVlLCBPYnNlcnZhYmxlQ2hhbmdlLCBTdHJpbmdDaGFuZ2V9IGZyb20gXCIuLi9iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGb3JtRWxlbWVudENvbXBvbmVudENvbmZpZywgTkdfSU5BSUxfQ09NTU9OX0NPTkZJRywgTmdJbmFpbENvbW1vbkNvbmZpZ30gZnJvbSBcIi4uLy4uLy4uL25nLWluYWlsLWNvbW1vbi5jb25maWdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5haWwtZm9ybS1lbGVtZW50JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENIQU5HRV9ERVRFQ1RJT05fU1RSQVRFR1ksXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcblxuICBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcblxuICBASW5wdXQoKVxuICBsYWJlbDogTm9uTnVsbGFibGU8c3RyaW5nPjtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsYWJlbFRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGxhYmVsQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgaW5wdXRDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICByZXF1aXJlZFNpbWJvbDogc3RyaW5nID0gZ2V0Q29uZmlnVmFsdWUodGhpcy5mb3JtRWxlbWVudExpYkNvbmZpZz8uZm9ybUVsZW1lbnRDb21wb25lbnQ/LnJlcXVpcmVkU2ltYm9sLCAnKicpO1xuICBASW5wdXQoKVxuICByZXF1aXJlZFNpbWJvbFBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gZ2V0Q29uZmlnVmFsdWUodGhpcy5mb3JtRWxlbWVudExpYkNvbmZpZz8uZm9ybUVsZW1lbnRDb21wb25lbnQ/LnJlcXVpcmVkU2ltYm9sUG9zaXRpb24sICdsZWZ0Jyk7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBoYXNFcnJvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KClcbiAgaGlkZGVuTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZXJyb3I6IHN0cmluZztcbiAgQElucHV0KClcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgQE91dHB1dCgpXG4gIGVycm9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKVxuICBlbnRlclVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKVxuICBmb2N1czogT2JzZXJ2YWJsZTxib29sZWFuIHwgdm9pZD47XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcG9wb3ZlckJ1dHRvbkljb246IHN0cmluZztcbiAgQElucHV0KClcbiAgcG9wb3ZlckJ1dHRvblRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHBvcG92ZXJIZWFkZXI6IHN0cmluZztcbiAgQElucHV0KClcbiAgcG9wb3ZlckNvbnRlbnQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgY2xlYW5FcnJvck9uQ2hhbmdlOiBib29sZWFuID0gZ2V0Q29uZmlnVmFsdWUodGhpcy5mb3JtRWxlbWVudExpYkNvbmZpZz8uZm9ybUVsZW1lbnRDb21wb25lbnQ/LmNsZWFuRXJyb3JPbkNoYW5nZSwgdHJ1ZSk7XG5cbiAgZ2V0TGFiZWwgPSAoKSA9PiBgJHsodGhpcy5yZXF1aXJlZCAmJiB0aGlzLnJlcXVpcmVkU2ltYm9sUG9zaXRpb24gPT09ICdsZWZ0JykgPyBgJHt0aGlzLnJlcXVpcmVkU2ltYm9sfSBgIDogJyd9JHt0aGlzLmxhYmVsfSR7KHRoaXMucmVxdWlyZWQgJiYgdGhpcy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uID09PSAncmlnaHQnKSA/IGAgJHt0aGlzLnJlcXVpcmVkU2ltYm9sfWAgOiAnJ31gXG5cbiAgaXNUaGVyZUVycm9yID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5oYXNFcnJvciB8fCBpc05vdEJsYW5rT3JOdWxsKHRoaXMuZXJyb3IpO1xuXG4gIHNob3dFcnJvciA9ICgpOiBib29sZWFuID0+IHRoaXMuaXNUaGVyZUVycm9yKCkgJiYgaXNOb3RCbGFua09yTnVsbCh0aGlzLmVycm9yKTtcblxuICBnZXRBcmlhRGVzY3JpYmVkQnkgPSAoKTogc3RyaW5nID0+IHRoaXMuc2hvd0Vycm9yKCkgfHwgaXNOb3RCbGFua09yTnVsbCh0aGlzLmRlc2NyaXB0aW9uKSA/IGAke3RoaXMuaWR9LWRlc2NyaXB0aW9uYCA6IHVuZGVmaW5lZDtcblxuICAvLyBzaG93UG9wb3ZlciA9ICgpOiBib29sZWFuID0+IGlzTm90QmxhbmtPck51bGwodGhpcy5wb3BvdmVySGVhZGVyKSB8fCBpc05vdEJsYW5rT3JOdWxsKHRoaXMucG9wb3ZlckNvbnRlbnQpO1xuICBzaG93UG9wb3ZlciA9ICgpOiBib29sZWFuID0+IHRoaXMucG9wb3ZlciA9PT0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1FbGVtZW50Q2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChOR19JTkFJTF9DT01NT05fQ09ORklHKVxuICAgICAgICAgICAgICBwcml2YXRlIGZvcm1FbGVtZW50TGliQ29uZmlnPzogTmdJbmFpbENvbW1vbkNvbmZpZykge1xuICAgIHN1cGVyKGZvcm1FbGVtZW50Q2RyLCBmb3JtRWxlbWVudExpYkNvbmZpZyk7XG4gICAgc3VwZXIub3ZlcnJpZGVDb25maWcoZm9ybUVsZW1lbnRMaWJDb25maWc/LmZvcm1FbGVtZW50Q29tcG9uZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlQ29uZmlnKGNvbmZpZzogRm9ybUVsZW1lbnRDb21wb25lbnRDb25maWcpIHtcblxuICAgIGlmIChjb25maWcpIHtcblxuICAgICAgc3VwZXIub3ZlcnJpZGVDb25maWcoY29uZmlnKTtcbiAgICAgIHRoaXMucmVxdWlyZWRTaW1ib2wgPSBnZXRDb25maWdWYWx1ZShjb25maWcucmVxdWlyZWRTaW1ib2wsIHRoaXMucmVxdWlyZWRTaW1ib2wpO1xuICAgICAgdGhpcy5yZXF1aXJlZFNpbWJvbFBvc2l0aW9uID0gZ2V0Q29uZmlnVmFsdWUoY29uZmlnLnJlcXVpcmVkU2ltYm9sUG9zaXRpb24sIHRoaXMucmVxdWlyZWRTaW1ib2xQb3NpdGlvbik7XG4gICAgICB0aGlzLmNsZWFuRXJyb3JPbkNoYW5nZSA9IGdldENvbmZpZ1ZhbHVlKGNvbmZpZy5jbGVhbkVycm9yT25DaGFuZ2UsIHRoaXMuY2xlYW5FcnJvck9uQ2hhbmdlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5nZXROb3RCbGFua1ZhbHVlKHRoaXMudGl0bGUpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLm5hbWUpO1xuICAgIHRoaXMubGFiZWxUaXRsZSA9IHRoaXMuZ2V0Tm90QmxhbmtWYWx1ZSh0aGlzLmxhYmVsVGl0bGUpO1xuICAgIHRoaXMucG9wb3ZlckJ1dHRvblRpdGxlID0gdGhpcy5nZXROb3RCbGFua1ZhbHVlKHRoaXMucG9wb3ZlckJ1dHRvblRpdGxlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5sb2dQcmVmaXggPSBgJHt0aGlzLmxvZ1ByZWZpeH1bJHt0aGlzLmxhYmVsfV1gO1xuICB9XG5cbiAgc2V0RGVzY0Vycm9yKHM6IHN0cmluZykge1xuXG4gICAgdGhpcy5lcnJvciA9IHM7XG4gICAgdGhpcy5mb3JtRWxlbWVudENkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZXRIYXNFcnJvcihiOiBib29sZWFuKSB7XG5cbiAgICB0aGlzLmhhc0Vycm9yID0gYjtcbiAgICB0aGlzLmZvcm1FbGVtZW50Q2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNsZWFuRXJyb3IoKSB7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblxuICAgICAgaWYgKHRoaXMuaGFzRXJyb3IpIHtcblxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGFzRXJyb3JDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVycm9yKSB7XG5cbiAgICAgICAgdGhpcy5lcnJvciA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5lcnJvckNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1ZyhgcmVnaXN0ZXJPbkNoYW5nZWApO1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcblxuICAgIHRoaXMuZW1pdERlYnVnKGByZWdpc3Rlck9uVG91Y2hlZGApO1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cbiAgICB0aGlzLmVtaXREZWJ1Zyhgc2V0RGlzYWJsZWRTdGF0ZTogJHtpc0Rpc2FibGVkfWApO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuZm9ybUVsZW1lbnRDZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudENvbXBvbmVudENoYW5nZXMgZXh0ZW5kcyBSZXNwb25zaXZlRWxlbWVudENvbXBvbmVudENoYW5nZXMge1xuXG4gIGxhYmVsOiBTdHJpbmdDaGFuZ2UsXG4gIHRpdGxlOiBTdHJpbmdDaGFuZ2UsXG4gIG5hbWU6IFN0cmluZ0NoYW5nZSxcbiAgbGFiZWxUaXRsZTogU3RyaW5nQ2hhbmdlLFxuICBsYWJlbENsYXNzOiBTdHJpbmdDaGFuZ2UsXG4gIGlucHV0Q2xhc3M6IFN0cmluZ0NoYW5nZSxcbiAgcmVxdWlyZWQ6IEJvb2xlYW5DaGFuZ2UsXG4gIHJlcXVpcmVkU2ltYm9sOiBTdHJpbmdDaGFuZ2UsXG4gIHJlcXVpcmVkU2ltYm9sUG9zaXRpb246IFN0cmluZ0NoYW5nZSxcbiAgZGlzYWJsZWQ6IEJvb2xlYW5DaGFuZ2UsXG4gIHJlYWRvbmx5OiBCb29sZWFuQ2hhbmdlLFxuICBoYXNFcnJvcjogQm9vbGVhbkNoYW5nZSxcbiAgaGlkZGVuTGFiZWw6IEJvb2xlYW5DaGFuZ2UsXG4gIGVycm9yOiBTdHJpbmdDaGFuZ2UsXG4gIGZvY3VzOiBPYnNlcnZhYmxlQ2hhbmdlXG59XG4iXX0=
|