@six-group/ui-library-angular 0.0.0-insider.bc75fdf → 0.0.0-insider.bd0dde8
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/esm2022/lib/control-value-accessors/checkbox-value-accessor.mjs +41 -0
- package/esm2022/lib/control-value-accessors/date-value-accessor.mjs +41 -0
- package/esm2022/lib/control-value-accessors/datepicker-value-accessor.mjs +37 -0
- package/esm2022/lib/control-value-accessors/numeric-value-accessor.mjs +42 -0
- package/{esm2020 → esm2022}/lib/control-value-accessors/radio-value-accessor.mjs +10 -10
- package/{esm2020 → esm2022}/lib/control-value-accessors/range-value-accessor.mjs +10 -10
- package/esm2022/lib/control-value-accessors/select-value-accessor.mjs +37 -0
- package/esm2022/lib/control-value-accessors/switch-value-accessor.mjs +41 -0
- package/esm2022/lib/control-value-accessors/text-value-accessor.mjs +37 -0
- package/esm2022/lib/control-value-accessors/timepicker-value-accessor.mjs +37 -0
- package/esm2022/lib/control-value-accessors/value-accessor.mjs +138 -0
- package/{esm2020 → esm2022}/lib/form/six-form.directive.mjs +7 -7
- package/esm2022/lib/link/six-router-link.directive.mjs +61 -0
- package/esm2022/lib/services/alert.service.mjs +21 -0
- package/{esm2020 → esm2022}/lib/services/validation-messages.service.mjs +4 -4
- package/esm2022/lib/sidebar/active-sidebar.directive.mjs +110 -0
- package/esm2022/lib/stencil-generated/angular-component-lib/utils.mjs +59 -0
- package/esm2022/lib/stencil-generated/components.mjs +1414 -0
- package/esm2022/lib/stencil-generated/index.mjs +61 -0
- package/esm2022/lib/ui-library-angular.module.mjs +169 -0
- package/esm2022/lib/validators/six-ui-library-validators.mjs +203 -0
- package/esm2022/public-api.mjs +31 -0
- package/{fesm2020 → fesm2022}/six-group-ui-library-angular.mjs +822 -376
- package/fesm2022/six-group-ui-library-angular.mjs.map +1 -0
- package/lib/control-value-accessors/date-value-accessor.d.ts +10 -0
- package/lib/control-value-accessors/radio-value-accessor.d.ts +1 -1
- package/lib/link/six-router-link.directive.d.ts +26 -0
- package/lib/services/alert.service.d.ts +11 -0
- package/lib/sidebar/active-sidebar.directive.d.ts +59 -0
- package/lib/stencil-generated/components.d.ts +100 -88
- package/lib/stencil-generated/index.d.ts +1 -1
- package/lib/ui-library-angular.module.d.ts +11 -8
- package/lib/validators/six-ui-library-validators.d.ts +35 -7
- package/package.json +15 -13
- package/public-api.d.ts +4 -0
- package/esm2020/lib/control-value-accessors/checkbox-value-accessor.mjs +0 -41
- package/esm2020/lib/control-value-accessors/datepicker-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/numeric-value-accessor.mjs +0 -42
- package/esm2020/lib/control-value-accessors/select-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/switch-value-accessor.mjs +0 -41
- package/esm2020/lib/control-value-accessors/text-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/timepicker-value-accessor.mjs +0 -37
- package/esm2020/lib/control-value-accessors/value-accessor.mjs +0 -145
- package/esm2020/lib/stencil-generated/angular-component-lib/utils.mjs +0 -51
- package/esm2020/lib/stencil-generated/components.mjs +0 -1372
- package/esm2020/lib/stencil-generated/index.mjs +0 -57
- package/esm2020/lib/ui-library-angular.module.mjs +0 -126
- package/esm2020/lib/validators/six-ui-library-validators.mjs +0 -116
- package/esm2020/public-api.mjs +0 -25
- package/fesm2015/six-group-ui-library-angular.mjs +0 -2286
- package/fesm2015/six-group-ui-library-angular.mjs.map +0 -1
- package/fesm2020/six-group-ui-library-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/six-group-ui-library-angular.mjs +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, inject } from '@angular/core';
|
|
2
|
-
import { NgControl } from '@angular/forms';
|
|
3
|
-
import { ValidationMessagesService } from '../services/validation-messages.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ValueAccessor {
|
|
6
|
-
constructor(injector, el) {
|
|
7
|
-
this.injector = injector;
|
|
8
|
-
this.el = el;
|
|
9
|
-
this.validationMessagesService = inject(ValidationMessagesService);
|
|
10
|
-
this.onChange = () => { };
|
|
11
|
-
this.onTouched = () => { };
|
|
12
|
-
}
|
|
13
|
-
registerOnChange(fn) {
|
|
14
|
-
this.onChange = fn;
|
|
15
|
-
}
|
|
16
|
-
registerOnTouched(fn) {
|
|
17
|
-
this.onTouched = fn;
|
|
18
|
-
}
|
|
19
|
-
writeValue(value) {
|
|
20
|
-
this.el.nativeElement.value = value;
|
|
21
|
-
this.updateValidation();
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Notifies the ControlValueAccessor of a change in the value of the control.
|
|
25
|
-
*
|
|
26
|
-
* This is called by each of the ValueAccessor directives when we want to update
|
|
27
|
-
* the status and validity of the form control. For example with text components this
|
|
28
|
-
* is called when the input event is fired. For select components this is called
|
|
29
|
-
* when the change event is fired.
|
|
30
|
-
*
|
|
31
|
-
* This also updates the form status on the element by setting the 'invalid' property to true/false.
|
|
32
|
-
*
|
|
33
|
-
* @param el The component element.
|
|
34
|
-
* @param value The new value of the control.
|
|
35
|
-
*/
|
|
36
|
-
handleValueChange(el, value) {
|
|
37
|
-
if (el === this.el.nativeElement) {
|
|
38
|
-
this.onChange(value);
|
|
39
|
-
this.updateValidation();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
_handleBlurEvent(el) {
|
|
43
|
-
if (el === this.el.nativeElement) {
|
|
44
|
-
this.onTouched();
|
|
45
|
-
this.updateValidation();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
updateValidation() {
|
|
49
|
-
nextTick(() => {
|
|
50
|
-
if (this.ngControl?.control == null)
|
|
51
|
-
return;
|
|
52
|
-
const element = this.el.nativeElement;
|
|
53
|
-
const control = this.ngControl?.control;
|
|
54
|
-
const invalid = !control.valid && control.dirty && control.touched;
|
|
55
|
-
let errorTexts;
|
|
56
|
-
if (invalid) {
|
|
57
|
-
errorTexts = this.initialErrorText || this.getErrorTexts(control);
|
|
58
|
-
}
|
|
59
|
-
element.invalid = invalid;
|
|
60
|
-
element.errorText = errorTexts ?? '';
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
setDisabledState(isDisabled) {
|
|
64
|
-
this.el.nativeElement.disabled = isDisabled;
|
|
65
|
-
}
|
|
66
|
-
ngOnDestroy() {
|
|
67
|
-
if (this.statusChanges) {
|
|
68
|
-
this.statusChanges.unsubscribe();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
ngAfterViewInit() {
|
|
72
|
-
this.initialErrorText = this.el.nativeElement?.errorText?.trim() || undefined;
|
|
73
|
-
try {
|
|
74
|
-
this.ngControl = this.injector.get(NgControl);
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
/* No FormControl or ngModel binding */
|
|
78
|
-
}
|
|
79
|
-
if (!this.ngControl) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// Listen for changes in validity, disabled, or pending states
|
|
83
|
-
if (this.ngControl.statusChanges) {
|
|
84
|
-
this.statusChanges = this.ngControl.statusChanges.subscribe(() => this.updateValidation());
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* TODO FW-2787: Remove this in favor of https://github.com/angular/angular/issues/10887
|
|
88
|
-
* whenever it is implemented.
|
|
89
|
-
*/
|
|
90
|
-
const formControl = this.ngControl.control;
|
|
91
|
-
if (formControl) {
|
|
92
|
-
const methodsToPatch = ['markAsTouched', 'markAllAsTouched', 'markAsUntouched', 'markAsDirty', 'markAsPristine'];
|
|
93
|
-
methodsToPatch.forEach((method) => {
|
|
94
|
-
if (typeof formControl[method] !== 'undefined') {
|
|
95
|
-
const oldFn = formControl[method].bind(formControl);
|
|
96
|
-
formControl[method] = (...params) => {
|
|
97
|
-
oldFn(...params);
|
|
98
|
-
this.updateValidation();
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
getErrorTexts(control) {
|
|
105
|
-
if (control.errors == null) {
|
|
106
|
-
console.warn('no errors for invalid control', control);
|
|
107
|
-
return [];
|
|
108
|
-
}
|
|
109
|
-
const errorList = Object.entries(control.errors);
|
|
110
|
-
if (errorList.length <= 0) {
|
|
111
|
-
console.warn('no errors for invalid control', control);
|
|
112
|
-
return [];
|
|
113
|
-
}
|
|
114
|
-
return errorList.map((error) => {
|
|
115
|
-
const [key, value] = error;
|
|
116
|
-
return (this.validationMessagesService.getErrorMessage(getLanguage(), { key: key, ...value }) ?? key);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
ValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
121
|
-
ValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ValueAccessor, host: { listeners: { "blur": "_handleBlurEvent($event.target)" } }, ngImport: i0 });
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValueAccessor, decorators: [{
|
|
123
|
-
type: Directive
|
|
124
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{
|
|
125
|
-
type: HostListener,
|
|
126
|
-
args: ['blur', ['$event.target']]
|
|
127
|
-
}] } });
|
|
128
|
-
function getLanguage() {
|
|
129
|
-
const languages = ['de', 'fr', 'it', 'en'];
|
|
130
|
-
const documentLang = document.documentElement.lang;
|
|
131
|
-
if (languages.includes(documentLang)) {
|
|
132
|
-
return documentLang;
|
|
133
|
-
}
|
|
134
|
-
return 'de';
|
|
135
|
-
}
|
|
136
|
-
const nextTick = (h) => {
|
|
137
|
-
if (typeof __zone_symbol__requestAnimationFrame === 'function') {
|
|
138
|
-
return __zone_symbol__requestAnimationFrame(h);
|
|
139
|
-
}
|
|
140
|
-
if (typeof requestAnimationFrame === 'function') {
|
|
141
|
-
return requestAnimationFrame(h);
|
|
142
|
-
}
|
|
143
|
-
return setTimeout(h);
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3ZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBeUMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBR3BGLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQXNCLFFBQWtCLEVBQVksRUFBYztRQUE1QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVksT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUYxRCw4QkFBeUIsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUk5RCxhQUFRLEdBQXlCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBSDRCLENBQUM7SUFJdEUsZ0JBQWdCLENBQUMsRUFBd0I7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILGlCQUFpQixDQUFDLEVBQWUsRUFBRSxLQUFVO1FBQzNDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENB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O0lBQ3ZELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBZ0IsQ0FBQztJQUMvRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDcEMsT0FBTyxZQUFZLENBQUM7S0FDckI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFJRCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQU0sRUFBTyxFQUFFO0lBQy9CLElBQUksT0FBTyxvQ0FBb0MsS0FBSyxVQUFVLEVBQUU7UUFDOUQsT0FBTyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoRDtJQUNELElBQUksT0FBTyxxQkFBcUIsS0FBSyxVQUFVLEVBQUU7UUFDL0MsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQztJQUNELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN0YXR1c0NoYW5nZXM/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbmdDb250cm9sPzogTmdDb250cm9sO1xuICBwcml2YXRlIGluaXRpYWxFcnJvclRleHQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgdmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSA9IGluamVjdChWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLCBwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG9mIGEgY2hhbmdlIGluIHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbC5cbiAgICpcbiAgICogVGhpcyBpcyBjYWxsZWQgYnkgZWFjaCBvZiB0aGUgVmFsdWVBY2Nlc3NvciBkaXJlY3RpdmVzIHdoZW4gd2Ugd2FudCB0byB1cGRhdGVcbiAgICogdGhlIHN0YXR1cyBhbmQgdmFsaWRpdHkgb2YgdGhlIGZvcm0gY29udHJvbC4gRm9yIGV4YW1wbGUgd2l0aCB0ZXh0IGNvbXBvbmVudHMgdGhpc1xuICAgKiBpcyBjYWxsZWQgd2hlbiB0aGUgaW5wdXQgZXZlbnQgaXMgZmlyZWQuIEZvciBzZWxlY3QgY29tcG9uZW50cyB0aGlzIGlzIGNhbGxlZFxuICAgKiB3aGVuIHRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQuXG4gICAqXG4gICAqIFRoaXMgYWxzbyB1cGRhdGVzIHRoZSBmb3JtIHN0YXR1cyBvbiB0aGUgZWxlbWVudCBieSBzZXR0aW5nIHRoZSAnaW52YWxpZCcgcHJvcGVydHkgdG8gdHJ1ZS9mYWxzZS5cbiAgICpcbiAgICogQHBhcmFtIGVsIFRoZSBjb21wb25lbnQgZWxlbWVudC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRyb2wuXG4gICAqL1xuICBoYW5kbGVWYWx1ZUNoYW5nZShlbDogSFRNTEVsZW1lbnQsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZWwgPT09IHRoaXMuZWwubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIF9oYW5kbGVCbHVyRXZlbnQoZWw6IGFueSk6IHZvaWQge1xuICAgIGlmIChlbCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVmFsaWRhdGlvbigpIHtcbiAgICBuZXh0VGljaygoKSA9PiB7XG4gICAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxTaXhJbnB1dEVsZW1lbnQ7XG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w7XG5cbiAgICAgIGNvbnN0IGludmFsaWQgPSAhY29udHJvbC52YWxpZCAmJiBjb250cm9sLmRpcnR5ICYmIGNvbnRyb2wudG91Y2hlZDtcbiAgICAgIGxldCBlcnJvclRleHRzO1xuICAgICAgaWYgKGludmFsaWQpIHtcbiAgICAgICAgZXJyb3JUZXh0cyA9IHRoaXMuaW5pdGlhbEVycm9yVGV4dCB8fCB0aGlzLmdldEVycm9yVGV4dHMoY29udHJvbCk7XG4gICAgICB9XG4gICAgICBlbGVtZW50LmludmFsaWQgPSBpbnZhbGlkO1xuICAgICAgZWxlbWVudC5lcnJvclRleHQgPSBlcnJvclRleHRzID8/ICcnO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXR1c0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxFcnJvclRleHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ/LmVycm9yVGV4dD8udHJpbSgpIHx8IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldDxOZ0NvbnRyb2w+KE5nQ29udHJvbCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvKiBObyBGb3JtQ29udHJvbCBvciBuZ01vZGVsIGJpbmRpbmcgKi9cbiAgICB9XG4gICAgaWYgKCF0aGlzLm5nQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiBmb3IgY2hhbmdlcyBpbiB2YWxpZGl0eSwgZGlzYWJsZWQsIG9yIHBlbmRpbmcgc3RhdGVzXG4gICAgaWYgKHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlcyA9IHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVmFsaWRhdGlvbigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUT0RPIEZXLTI3ODc6IFJlbW92ZSB0aGlzIGluIGZhdm9yIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEwODg3XG4gICAgICogd2hlbmV2ZXIgaXQgaXMgaW1wbGVtZW50ZWQuXG4gICAgICovXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIGFueTtcbiAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IG1ldGhvZHNUb1BhdGNoID0gWydtYXJrQXNUb3VjaGVkJywgJ21hcmtBbGxBc1RvdWNoZWQnLCAnbWFya0FzVW50b3VjaGVkJywgJ21hcmtBc0RpcnR5JywgJ21hcmtBc1ByaXN0aW5lJ107XG4gICAgICBtZXRob2RzVG9QYXRjaC5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBmb3JtQ29udHJvbFttZXRob2RdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGNvbnN0IG9sZEZuID0gZm9ybUNvbnRyb2xbbWV0aG9kXS5iaW5kKGZvcm1Db250cm9sKTtcbiAgICAgICAgICBmb3JtQ29udHJvbFttZXRob2RdID0gKC4uLnBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIG9sZEZuKC4uLnBhcmFtcyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRFcnJvclRleHRzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoY29udHJvbC5lcnJvcnMgPT0gbnVsbCkge1xuICAgICAgY29uc29sZS53YXJuKCdubyBlcnJvcnMgZm9yIGludmFsaWQgY29udHJvbCcsIGNvbnRyb2wpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yTGlzdCA9IE9iamVjdC5lbnRyaWVzKGNvbnRyb2wuZXJyb3JzKTtcbiAgICBpZiAoZXJyb3JMaXN0Lmxlbmd0aCA8PSAwKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ25vIGVycm9ycyBmb3IgaW52YWxpZCBjb250cm9sJywgY29udHJvbCk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9yTGlzdC5tYXAoKGVycm9yKSA9PiB7XG4gICAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBlcnJvcjtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZ2V0TGFuZ3VhZ2UoKSwgeyBrZXk6IGtleSwgLi4udmFsdWUgfSBhcyBWYWxpZGF0aW9uRXJyb3IpID8/IGtleVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRMYW5ndWFnZSgpOiBMYW5ndWFnZSB7XG4gIGNvbnN0IGxhbmd1YWdlczogTGFuZ3VhZ2VbXSA9IFsnZGUnLCAnZnInLCAnaXQnLCAnZW4nXTtcbiAgY29uc3QgZG9jdW1lbnRMYW5nID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgYXMgTGFuZ3VhZ2U7XG4gIGlmIChsYW5ndWFnZXMuaW5jbHVkZXMoZG9jdW1lbnRMYW5nKSkge1xuICAgIHJldHVybiBkb2N1bWVudExhbmc7XG4gIH1cbiAgcmV0dXJuICdkZSc7XG59XG5cbmRlY2xhcmUgY29uc3QgX196b25lX3N5bWJvbF9fcmVxdWVzdEFuaW1hdGlvbkZyYW1lOiBhbnk7XG5kZWNsYXJlIGNvbnN0IHJlcXVlc3RBbmltYXRpb25GcmFtZTogYW55O1xuY29uc3QgbmV4dFRpY2sgPSAoaDogYW55KTogYW55ID0+IHtcbiAgaWYgKHR5cGVvZiBfX3pvbmVfc3ltYm9sX19yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gX196b25lX3N5bWJvbF9fcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGgpO1xuICB9XG4gIGlmICh0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShoKTtcbiAgfVxuICByZXR1cm4gc2V0VGltZW91dChoKTtcbn07XG4iXX0=
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
export const proxyInputs = (Cmp, inputs) => {
|
|
5
|
-
const Prototype = Cmp.prototype;
|
|
6
|
-
inputs.forEach((item) => {
|
|
7
|
-
Object.defineProperty(Prototype, item, {
|
|
8
|
-
get() {
|
|
9
|
-
return this.el[item];
|
|
10
|
-
},
|
|
11
|
-
set(val) {
|
|
12
|
-
this.z.runOutsideAngular(() => (this.el[item] = val));
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
export const proxyMethods = (Cmp, methods) => {
|
|
18
|
-
const Prototype = Cmp.prototype;
|
|
19
|
-
methods.forEach((methodName) => {
|
|
20
|
-
Prototype[methodName] = function () {
|
|
21
|
-
const args = arguments;
|
|
22
|
-
return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
export const proxyOutputs = (instance, el, events) => {
|
|
27
|
-
events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
|
|
28
|
-
};
|
|
29
|
-
export const defineCustomElement = (tagName, customElement) => {
|
|
30
|
-
if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
|
|
31
|
-
customElements.define(tagName, customElement);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
35
|
-
export function ProxyCmp(opts) {
|
|
36
|
-
const decorator = function (cls) {
|
|
37
|
-
const { defineCustomElementFn, inputs, methods } = opts;
|
|
38
|
-
if (defineCustomElementFn !== undefined) {
|
|
39
|
-
defineCustomElementFn();
|
|
40
|
-
}
|
|
41
|
-
if (inputs) {
|
|
42
|
-
proxyInputs(cls, inputs);
|
|
43
|
-
}
|
|
44
|
-
if (methods) {
|
|
45
|
-
proxyMethods(cls, methods);
|
|
46
|
-
}
|
|
47
|
-
return cls;
|
|
48
|
-
};
|
|
49
|
-
return decorator;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3N0ZW5jaWwtZ2VuZXJhdGVkL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDckMsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFRO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QixTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBTyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxhQUFrQixFQUFFLEVBQUU7SUFDekUsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDeEcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMscUJBQXFCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJveHlNZXRob2RzID0gKENtcDogYW55LCBtZXRob2RzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBtZXRob2RzLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBQcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgcmV0dXJuIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmVsW21ldGhvZE5hbWVdLmFwcGx5KHRoaXMuZWwsIGFyZ3MpKTtcbiAgICB9O1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU91dHB1dHMgPSAoaW5zdGFuY2U6IGFueSwgZWw6IGFueSwgZXZlbnRzOiBzdHJpbmdbXSkgPT4ge1xuICBldmVudHMuZm9yRWFjaCgoZXZlbnROYW1lKSA9PiAoaW5zdGFuY2VbZXZlbnROYW1lXSA9IGZyb21FdmVudChlbCwgZXZlbnROYW1lKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmluZUN1c3RvbUVsZW1lbnQgPSAodGFnTmFtZTogc3RyaW5nLCBjdXN0b21FbGVtZW50OiBhbnkpID0+IHtcbiAgaWYgKGN1c3RvbUVsZW1lbnQgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgY3VzdG9tRWxlbWVudHMgIT09ICd1bmRlZmluZWQnICYmICFjdXN0b21FbGVtZW50cy5nZXQodGFnTmFtZSkpIHtcbiAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnTmFtZSwgY3VzdG9tRWxlbWVudCk7XG4gIH1cbn07XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBQcm94eUNtcChvcHRzOiB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbj86ICgpID0+IHZvaWQ7IGlucHV0cz86IGFueTsgbWV0aG9kcz86IGFueSB9KSB7XG4gIGNvbnN0IGRlY29yYXRvciA9IGZ1bmN0aW9uIChjbHM6IGFueSkge1xuICAgIGNvbnN0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuLCBpbnB1dHMsIG1ldGhvZHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoZGVmaW5lQ3VzdG9tRWxlbWVudEZuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlZmluZUN1c3RvbUVsZW1lbnRGbigpO1xuICAgIH1cblxuICAgIGlmIChpbnB1dHMpIHtcbiAgICAgIHByb3h5SW5wdXRzKGNscywgaW5wdXRzKTtcbiAgICB9XG4gICAgaWYgKG1ldGhvZHMpIHtcbiAgICAgIHByb3h5TWV0aG9kcyhjbHMsIG1ldGhvZHMpO1xuICAgIH1cbiAgICByZXR1cm4gY2xzO1xuICB9O1xuICByZXR1cm4gZGVjb3JhdG9yO1xufVxuIl19
|