@six-group/ui-library-angular 0.0.0-insider.93c8f70 → 0.0.0-insider.99e1a07
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/fesm2022/six-group-ui-library-angular.mjs +514 -339
- package/fesm2022/six-group-ui-library-angular.mjs.map +1 -1
- package/lib/control-value-accessors/value-accessor.d.ts +3 -1
- package/lib/stencil-generated/components.d.ts +109 -63
- package/lib/stencil-generated/index.d.ts +1 -1
- package/lib/ui-library-angular-config.d.ts +6 -0
- package/lib/ui-library-angular.module.d.ts +3 -2
- package/package.json +6 -11
- package/esm2022/lib/control-value-accessors/checkbox-value-accessor.mjs +0 -41
- package/esm2022/lib/control-value-accessors/date-value-accessor.mjs +0 -41
- package/esm2022/lib/control-value-accessors/datepicker-value-accessor.mjs +0 -37
- package/esm2022/lib/control-value-accessors/numeric-value-accessor.mjs +0 -42
- package/esm2022/lib/control-value-accessors/radio-value-accessor.mjs +0 -62
- package/esm2022/lib/control-value-accessors/range-value-accessor.mjs +0 -42
- package/esm2022/lib/control-value-accessors/select-value-accessor.mjs +0 -37
- package/esm2022/lib/control-value-accessors/switch-value-accessor.mjs +0 -41
- package/esm2022/lib/control-value-accessors/text-value-accessor.mjs +0 -37
- package/esm2022/lib/control-value-accessors/timepicker-value-accessor.mjs +0 -37
- package/esm2022/lib/control-value-accessors/value-accessor.mjs +0 -138
- package/esm2022/lib/form/six-form.directive.mjs +0 -134
- package/esm2022/lib/link/six-router-link.directive.mjs +0 -61
- package/esm2022/lib/services/alert.service.mjs +0 -21
- package/esm2022/lib/services/validation-messages.service.mjs +0 -15
- package/esm2022/lib/sidebar/active-sidebar.directive.mjs +0 -110
- package/esm2022/lib/stencil-generated/angular-component-lib/utils.mjs +0 -59
- package/esm2022/lib/stencil-generated/components.mjs +0 -1414
- package/esm2022/lib/stencil-generated/index.mjs +0 -61
- package/esm2022/lib/ui-library-angular.module.mjs +0 -169
- package/esm2022/lib/validators/six-ui-library-validators.mjs +0 -203
- package/esm2022/public-api.mjs +0 -31
- package/esm2022/six-group-ui-library-angular.mjs +0 -5
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, inject } from '@angular/core';
|
|
2
|
-
import { NgControl } from '@angular/forms';
|
|
3
|
-
import { getLanguage } from '@six-group/ui-library';
|
|
4
|
-
import { ValidationMessagesService } from '../services/validation-messages.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class ValueAccessor {
|
|
7
|
-
constructor(injector, el) {
|
|
8
|
-
this.injector = injector;
|
|
9
|
-
this.el = el;
|
|
10
|
-
this.validationMessagesService = inject(ValidationMessagesService);
|
|
11
|
-
this.onChange = () => { };
|
|
12
|
-
this.onTouched = () => { };
|
|
13
|
-
}
|
|
14
|
-
registerOnChange(fn) {
|
|
15
|
-
this.onChange = fn;
|
|
16
|
-
}
|
|
17
|
-
registerOnTouched(fn) {
|
|
18
|
-
this.onTouched = fn;
|
|
19
|
-
}
|
|
20
|
-
writeValue(value) {
|
|
21
|
-
this.el.nativeElement.value = value;
|
|
22
|
-
this.updateValidation();
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Notifies the ControlValueAccessor of a change in the value of the control.
|
|
26
|
-
*
|
|
27
|
-
* This is called by each of the ValueAccessor directives when we want to update
|
|
28
|
-
* the status and validity of the form control. For example with text components this
|
|
29
|
-
* is called when the input event is fired. For select components this is called
|
|
30
|
-
* when the change event is fired.
|
|
31
|
-
*
|
|
32
|
-
* This also updates the form status on the element by setting the 'invalid' property to true/false.
|
|
33
|
-
*
|
|
34
|
-
* @param el The component element.
|
|
35
|
-
* @param value The new value of the control.
|
|
36
|
-
*/
|
|
37
|
-
handleValueChange(el, value) {
|
|
38
|
-
if (el === this.el.nativeElement) {
|
|
39
|
-
this.onChange(value);
|
|
40
|
-
this.updateValidation();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
_handleBlurEvent(el) {
|
|
44
|
-
if (el === this.el.nativeElement) {
|
|
45
|
-
this.onTouched();
|
|
46
|
-
this.updateValidation();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
updateValidation() {
|
|
50
|
-
nextTick(() => {
|
|
51
|
-
if (this.ngControl?.control == null)
|
|
52
|
-
return;
|
|
53
|
-
const element = this.el.nativeElement;
|
|
54
|
-
const control = this.ngControl?.control;
|
|
55
|
-
const invalid = control.status === 'INVALID' && control.dirty && control.touched;
|
|
56
|
-
let errorTexts;
|
|
57
|
-
if (invalid) {
|
|
58
|
-
errorTexts = this.initialErrorText || this.getErrorTexts(control);
|
|
59
|
-
}
|
|
60
|
-
element.invalid = invalid;
|
|
61
|
-
element.errorText = errorTexts ?? '';
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
setDisabledState(isDisabled) {
|
|
65
|
-
this.el.nativeElement.disabled = isDisabled;
|
|
66
|
-
}
|
|
67
|
-
ngOnDestroy() {
|
|
68
|
-
if (this.statusChanges) {
|
|
69
|
-
this.statusChanges.unsubscribe();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
ngAfterViewInit() {
|
|
73
|
-
this.initialErrorText = this.el.nativeElement?.errorText?.trim() || undefined;
|
|
74
|
-
try {
|
|
75
|
-
this.ngControl = this.injector.get(NgControl);
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
/* No FormControl or ngModel binding */
|
|
79
|
-
}
|
|
80
|
-
if (!this.ngControl) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
// Listen for changes in validity, disabled, or pending states
|
|
84
|
-
if (this.ngControl.statusChanges) {
|
|
85
|
-
this.statusChanges = this.ngControl.statusChanges.subscribe(() => this.updateValidation());
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* TODO FW-2787: Remove this in favor of https://github.com/angular/angular/issues/10887
|
|
89
|
-
* whenever it is implemented.
|
|
90
|
-
*/
|
|
91
|
-
const formControl = this.ngControl.control;
|
|
92
|
-
if (formControl) {
|
|
93
|
-
const methodsToPatch = ['markAsTouched', 'markAllAsTouched', 'markAsUntouched', 'markAsDirty', 'markAsPristine'];
|
|
94
|
-
methodsToPatch.forEach((method) => {
|
|
95
|
-
if (typeof formControl[method] !== 'undefined') {
|
|
96
|
-
const oldFn = formControl[method].bind(formControl);
|
|
97
|
-
formControl[method] = (...params) => {
|
|
98
|
-
oldFn(...params);
|
|
99
|
-
this.updateValidation();
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
getErrorTexts(control) {
|
|
106
|
-
if (control.errors == null) {
|
|
107
|
-
console.warn('no errors for invalid control', control);
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
|
-
const errorList = Object.entries(control.errors);
|
|
111
|
-
if (errorList.length <= 0) {
|
|
112
|
-
console.warn('no errors for invalid control', control);
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
return errorList.map((error) => {
|
|
116
|
-
const [key, value] = error;
|
|
117
|
-
return (this.validationMessagesService.getErrorMessage(getLanguage(), { key: key, ...value }) ?? key);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
121
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ValueAccessor, host: { listeners: { "blur": "_handleBlurEvent($event.target)" } }, ngImport: i0 }); }
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueAccessor, decorators: [{
|
|
124
|
-
type: Directive
|
|
125
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{
|
|
126
|
-
type: HostListener,
|
|
127
|
-
args: ['blur', ['$event.target']]
|
|
128
|
-
}] } });
|
|
129
|
-
const nextTick = (h) => {
|
|
130
|
-
if (typeof __zone_symbol__requestAnimationFrame === 'function') {
|
|
131
|
-
return __zone_symbol__requestAnimationFrame(h);
|
|
132
|
-
}
|
|
133
|
-
if (typeof requestAnimationFrame === 'function') {
|
|
134
|
-
return requestAnimationFrame(h);
|
|
135
|
-
}
|
|
136
|
-
return setTimeout(h);
|
|
137
|
-
};
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3ZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBeUMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHcEYsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDWSxRQUFrQixFQUNsQixFQUFjO1FBRGQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSmxCLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBTzlELGFBQVEsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzFDLGNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFIdEMsQ0FBQztJQUlKLGdCQUFnQixDQUFDLEVBQXdCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFlLEVBQUUs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QUU7SUFDL0IsSUFBSSxPQUFPLG9DQUFvQyxLQUFLLFVBQVUsRUFBRTtRQUM5RCxPQUFPLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2hEO0lBQ0QsSUFBSSxPQUFPLHFCQUFxQixLQUFLLFVBQVUsRUFBRTtRQUMvQyxPQUFPLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pDO0lBQ0QsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRMYW5ndWFnZSwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB7IFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy92YWxpZGF0aW9uLW1lc3NhZ2VzLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlcz86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBuZ0NvbnRyb2w/OiBOZ0NvbnRyb2w7XG4gIHByaXZhdGUgaW5pdGlhbEVycm9yVGV4dD86IHN0cmluZztcbiAgcHJpdmF0ZSB2YWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlID0gaW5qZWN0KFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGVsOiBFbGVtZW50UmVmXG4gICkge31cblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3Igb2YgYSBjaGFuZ2UgaW4gdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sLlxuICAgKlxuICAgKiBUaGlzIGlzIGNhbGxlZCBieSBlYWNoIG9mIHRoZSBWYWx1ZUFjY2Vzc29yIGRpcmVjdGl2ZXMgd2hlbiB3ZSB3YW50IHRvIHVwZGF0ZVxuICAgKiB0aGUgc3RhdHVzIGFuZCB2YWxpZGl0eSBvZiB0aGUgZm9ybSBjb250cm9sLiBGb3IgZXhhbXBsZSB3aXRoIHRleHQgY29tcG9uZW50cyB0aGlzXG4gICAqIGlzIGNhbGxlZCB3aGVuIHRoZSBpbnB1dCBldmVudCBpcyBmaXJlZC4gRm9yIHNlbGVjdCBjb21wb25lbnRzIHRoaXMgaXMgY2FsbGVkXG4gICAqIHdoZW4gdGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZC5cbiAgICpcbiAgICogVGhpcyBhbHNvIHVwZGF0ZXMgdGhlIGZvcm0gc3RhdHVzIG9uIHRoZSBlbGVtZW50IGJ5IHNldHRpbmcgdGhlICdpbnZhbGlkJyBwcm9wZXJ0eSB0byB0cnVlL2ZhbHNlLlxuICAgKlxuICAgKiBAcGFyYW0gZWwgVGhlIGNvbXBvbmVudCBlbGVtZW50LlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29udHJvbC5cbiAgICovXG4gIGhhbmRsZVZhbHVlQ2hhbmdlKGVsOiBIVE1MRWxlbWVudCwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmIChlbCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMudXBkYXRlVmFsaWRhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQnXSlcbiAgX2hhbmRsZUJsdXJFdmVudChlbDogYW55KTogdm9pZCB7XG4gICAgaWYgKGVsID09PSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWxpZGF0aW9uKCkge1xuICAgIG5leHRUaWNrKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFNpeElucHV0RWxlbWVudDtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbDtcblxuICAgICAgY29uc3QgaW52YWxpZCA9IGNvbnRyb2wuc3RhdHVzID09PSAnSU5WQUxJRCcgJiYgY29udHJvbC5kaXJ0eSAmJiBjb250cm9sLnRvdWNoZWQ7XG4gICAgICBsZXQgZXJyb3JUZXh0cztcbiAgICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICAgIGVycm9yVGV4dHMgPSB0aGlzLmluaXRpYWxFcnJvclRleHQgfHwgdGhpcy5nZXRFcnJvclRleHRzKGNvbnRyb2wpO1xuICAgICAgfVxuICAgICAgZWxlbWVudC5pbnZhbGlkID0gaW52YWxpZDtcbiAgICAgIGVsZW1lbnQuZXJyb3JUZXh0ID0gZXJyb3JUZXh0cyA/PyAnJztcbiAgICB9KTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0dXNDaGFuZ2VzKSB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsRXJyb3JUZXh0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Py5lcnJvclRleHQ/LnRyaW0oKSB8fCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQ8TmdDb250cm9sPihOZ0NvbnRyb2wpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLyogTm8gRm9ybUNvbnRyb2wgb3IgbmdNb2RlbCBiaW5kaW5nICovXG4gICAgfVxuICAgIGlmICghdGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBMaXN0ZW4gZm9yIGNoYW5nZXMgaW4gdmFsaWRpdHksIGRpc2FibGVkLCBvciBwZW5kaW5nIHN0YXRlc1xuICAgIGlmICh0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzKSB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZXMgPSB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVZhbGlkYXRpb24oKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVE9ETyBGVy0yNzg3OiBSZW1vdmUgdGhpcyBpbiBmYXZvciBvZiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMDg4N1xuICAgICAqIHdoZW5ldmVyIGl0IGlzIGltcGxlbWVudGVkLlxuICAgICAqL1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbCBhcyBhbnk7XG4gICAgaWYgKGZvcm1Db250cm9sKSB7XG4gICAgICBjb25zdCBtZXRob2RzVG9QYXRjaCA9IFsnbWFya0FzVG91Y2hlZCcsICdtYXJrQWxsQXNUb3VjaGVkJywgJ21hcmtBc1VudG91Y2hlZCcsICdtYXJrQXNEaXJ0eScsICdtYXJrQXNQcmlzdGluZSddO1xuICAgICAgbWV0aG9kc1RvUGF0Y2guZm9yRWFjaCgobWV0aG9kKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZm9ybUNvbnRyb2xbbWV0aG9kXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICBjb25zdCBvbGRGbiA9IGZvcm1Db250cm9sW21ldGhvZF0uYmluZChmb3JtQ29udHJvbCk7XG4gICAgICAgICAgZm9ybUNvbnRyb2xbbWV0aG9kXSA9ICguLi5wYXJhbXM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICBvbGRGbiguLi5wYXJhbXMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWxpZGF0aW9uKCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RXJyb3JUZXh0cyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBzdHJpbmdbXSB7XG4gICAgaWYgKGNvbnRyb2wuZXJyb3JzID09IG51bGwpIHtcbiAgICAgIGNvbnNvbGUud2Fybignbm8gZXJyb3JzIGZvciBpbnZhbGlkIGNvbnRyb2wnLCBjb250cm9sKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvckxpc3QgPSBPYmplY3QuZW50cmllcyhjb250cm9sLmVycm9ycyk7XG4gICAgaWYgKGVycm9yTGlzdC5sZW5ndGggPD0gMCkge1xuICAgICAgY29uc29sZS53YXJuKCdubyBlcnJvcnMgZm9yIGludmFsaWQgY29udHJvbCcsIGNvbnRyb2wpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJvckxpc3QubWFwKChlcnJvcikgPT4ge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gZXJyb3I7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKGdldExhbmd1YWdlKCksIHsga2V5OiBrZXksIC4uLnZhbHVlIH0gYXMgVmFsaWRhdGlvbkVycm9yKSA/PyBrZXlcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBfX3pvbmVfc3ltYm9sX19yZXF1ZXN0QW5pbWF0aW9uRnJhbWU6IGFueTtcbmRlY2xhcmUgY29uc3QgcmVxdWVzdEFuaW1hdGlvbkZyYW1lOiBhbnk7XG5jb25zdCBuZXh0VGljayA9IChoOiBhbnkpOiBhbnkgPT4ge1xuICBpZiAodHlwZW9mIF9fem9uZV9zeW1ib2xfX3JlcXVlc3RBbmltYXRpb25GcmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBfX3pvbmVfc3ltYm9sX19yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaCk7XG4gIH1cbiAgaWYgKHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGgpO1xuICB9XG4gIHJldHVybiBzZXRUaW1lb3V0KGgpO1xufTtcbiJdfQ==
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
|
|
2
|
-
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
/**
|
|
6
|
-
* This directive intercepts the ngSubmit event of an Angular form and introduces
|
|
7
|
-
* a supplementary event named sixSubmit. The sixSubmit event is triggered exclusively
|
|
8
|
-
* when the form is valid. In cases where the form is considered invalid, this directive
|
|
9
|
-
* takes proactive actions by marking all form controls as touched and dirty. Additionally,
|
|
10
|
-
* it shifts the focus to the initial invalid form element, facilitating quick error
|
|
11
|
-
* resolution.
|
|
12
|
-
*
|
|
13
|
-
* To utilize this directive, apply it to an Angular form.
|
|
14
|
-
* ```html
|
|
15
|
-
* <form [formGroup]="form" sixForm (sixSubmit)="onSubmit($event)">
|
|
16
|
-
* <!-- form content -->
|
|
17
|
-
* </form>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* For users needing greater flexibility in determining when error messages are displayed,
|
|
21
|
-
* or for those who prefer not to rely solely on the form submission event,
|
|
22
|
-
* an alternative is to use the SixFormUtilDirective.
|
|
23
|
-
*/
|
|
24
|
-
export class SixFormDirective {
|
|
25
|
-
onNgSubmit(event) {
|
|
26
|
-
if (this.formGroupDirective.invalid) {
|
|
27
|
-
focusInvalidField(this.formGroupDirective, this.elementRef);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
this.sixSubmit.emit(event);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
constructor(elementRef, formGroupDirective) {
|
|
34
|
-
this.elementRef = elementRef;
|
|
35
|
-
this.formGroupDirective = formGroupDirective;
|
|
36
|
-
/**
|
|
37
|
-
* Emits an event when the form is valid and the form submission has been triggered.
|
|
38
|
-
*/
|
|
39
|
-
this.sixSubmit = new EventEmitter();
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixFormDirective, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SixFormDirective, selector: "form[sixForm]", outputs: { sixSubmit: "sixSubmit" }, host: { listeners: { "ngSubmit": "onNgSubmit($event)" } }, ngImport: i0 }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixFormDirective, decorators: [{
|
|
45
|
-
type: Directive,
|
|
46
|
-
args: [{
|
|
47
|
-
selector: 'form[sixForm]',
|
|
48
|
-
}]
|
|
49
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; }, propDecorators: { sixSubmit: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}], onNgSubmit: [{
|
|
52
|
-
type: HostListener,
|
|
53
|
-
args: ['ngSubmit', ['$event']]
|
|
54
|
-
}] } });
|
|
55
|
-
/**
|
|
56
|
-
* This directive provides a utility method, that marks all form controls
|
|
57
|
-
* as touched and dirty, and focuses the first invalid form element.
|
|
58
|
-
*
|
|
59
|
-
* To utilize this directive, apply it to an Angular form.
|
|
60
|
-
* ```html
|
|
61
|
-
* <form [formGroup]="form" sixFormUtil (ngSubmit)="onSubmit($event)">
|
|
62
|
-
* <!-- form content -->
|
|
63
|
-
* </form>
|
|
64
|
-
* ```
|
|
65
|
-
*
|
|
66
|
-
* Then, get a reference to the directive and invoke `focusInvalidField()` if the
|
|
67
|
-
* form is invalid:
|
|
68
|
-
* ```ts
|
|
69
|
-
* @ViewChild(SixFormUtilDirective) sixFormUtil!: SixFormUtilDirective;
|
|
70
|
-
* // ...
|
|
71
|
-
* onSubmit() {
|
|
72
|
-
* if (this.form.invalid) {
|
|
73
|
-
* this.sixFormUtil.focusInvalidField();
|
|
74
|
-
* } else {
|
|
75
|
-
* // ...
|
|
76
|
-
* }
|
|
77
|
-
* }
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
export class SixFormUtilDirective {
|
|
81
|
-
constructor(elementRef, formGroupDirective) {
|
|
82
|
-
this.elementRef = elementRef;
|
|
83
|
-
this.formGroupDirective = formGroupDirective;
|
|
84
|
-
}
|
|
85
|
-
/** markAllControlsAsDirty(Object.values(formGroup.controls));
|
|
86
|
-
* Marks all form controls as touched and dirty, and focuses the first
|
|
87
|
-
* invalid form element.
|
|
88
|
-
*/
|
|
89
|
-
focusInvalidField() {
|
|
90
|
-
focusInvalidField(this.formGroupDirective, this.elementRef);
|
|
91
|
-
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixFormUtilDirective, deps: [{ token: i0.ElementRef }, { token: i1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
93
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 }); }
|
|
94
|
-
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixFormUtilDirective, decorators: [{
|
|
96
|
-
type: Directive,
|
|
97
|
-
args: [{
|
|
98
|
-
selector: '[sixFormUtil]',
|
|
99
|
-
}]
|
|
100
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; } });
|
|
101
|
-
function focusInvalidField(formGroupDirective, formElement) {
|
|
102
|
-
formGroupDirective.form.markAllAsTouched();
|
|
103
|
-
markAllAsDirty([formGroupDirective.form]);
|
|
104
|
-
const invalidElement = getInvalidElement(formElement.nativeElement);
|
|
105
|
-
if ('setFocus' in invalidElement && typeof invalidElement?.setFocus === 'function') {
|
|
106
|
-
invalidElement.setFocus();
|
|
107
|
-
}
|
|
108
|
-
if ('focus' in invalidElement && typeof invalidElement?.focus === 'function') {
|
|
109
|
-
invalidElement.focus();
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
function getInvalidElement(parent) {
|
|
113
|
-
const invalidElement = parent.querySelector('.ng-invalid');
|
|
114
|
-
if (invalidElement == null) {
|
|
115
|
-
return parent;
|
|
116
|
-
}
|
|
117
|
-
return getInvalidElement(invalidElement);
|
|
118
|
-
}
|
|
119
|
-
function markAllAsDirty(controls) {
|
|
120
|
-
controls.forEach((control) => {
|
|
121
|
-
if (control instanceof FormControl) {
|
|
122
|
-
control.markAsDirty({ onlySelf: true });
|
|
123
|
-
}
|
|
124
|
-
else if (control instanceof FormGroup) {
|
|
125
|
-
control.markAsDirty({ onlySelf: true });
|
|
126
|
-
markAllAsDirty(Object.values(control.controls));
|
|
127
|
-
}
|
|
128
|
-
else if (control instanceof FormArray) {
|
|
129
|
-
control.markAsDirty({ onlySelf: true });
|
|
130
|
-
markAllAsDirty(control.controls);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l4LWZvcm0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mb3JtL3NpeC1mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV4Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixVQUFVLENBQUMsS0FBa0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO1lBQ25DLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQ1UsVUFBbUMsRUFDbkMsa0JBQXNDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFoQmhEOztXQUVHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFjbkQsQ0FBQzsrR0FsQk8sZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO2tJQUtXLFNBQVM7c0JBQWxCLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFldEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDVSxVQUFtQyxFQUNuQyxrQkFBc0M7UUFEdEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUM3QyxDQUFDO0lBRUo7OztPQUdHO0lBQ0ksaUJBQWlCO1FBQ3RCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQzsrR0FaVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7O0FBZ0JELFNBQVMsaUJBQWlCLENBQUMsa0JBQXNDLEVBQUUsV0FBb0M7SUFDckcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDM0MsY0FBYyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUUxQyxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsSUFBSSxVQUFVLElBQUksY0FBYyxJQUFJLE9BQU8sY0FBYyxFQUFFLFFBQVEsS0FBSyxVQUFVLEVBQUU7UUFDbEYsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzNCO0lBQ0QsSUFBSSxPQUFPLElBQUksY0FBYyxJQUFJLE9BQU8sY0FBYyxFQUFFLEtBQUssS0FBSyxVQUFVLEVBQUU7UUFDNUUsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsTUFBZTtJQUN4QyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELElBQUksY0FBYyxJQUFJLElBQUksRUFBRTtRQUMxQixPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsUUFBMkI7SUFDakQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzNCLElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDekM7YUFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO2FBQU0sSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN4QyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIGludGVyY2VwdHMgdGhlIG5nU3VibWl0IGV2ZW50IG9mIGFuIEFuZ3VsYXIgZm9ybSBhbmQgaW50cm9kdWNlc1xuICogYSBzdXBwbGVtZW50YXJ5IGV2ZW50IG5hbWVkIHNpeFN1Ym1pdC4gVGhlIHNpeFN1Ym1pdCBldmVudCBpcyB0cmlnZ2VyZWQgZXhjbHVzaXZlbHlcbiAqIHdoZW4gdGhlIGZvcm0gaXMgdmFsaWQuIEluIGNhc2VzIHdoZXJlIHRoZSBmb3JtIGlzIGNvbnNpZGVyZWQgaW52YWxpZCwgdGhpcyBkaXJlY3RpdmVcbiAqIHRha2VzIHByb2FjdGl2ZSBhY3Rpb25zIGJ5IG1hcmtpbmcgYWxsIGZvcm0gY29udHJvbHMgYXMgdG91Y2hlZCBhbmQgZGlydHkuIEFkZGl0aW9uYWxseSxcbiAqIGl0IHNoaWZ0cyB0aGUgZm9jdXMgdG8gdGhlIGluaXRpYWwgaW52YWxpZCBmb3JtIGVsZW1lbnQsIGZhY2lsaXRhdGluZyBxdWljayBlcnJvclxuICogcmVzb2x1dGlvbi5cbiAqXG4gKiBUbyB1dGlsaXplIHRoaXMgZGlyZWN0aXZlLCBhcHBseSBpdCB0byBhbiBBbmd1bGFyIGZvcm0uXG4gKiBgYGBodG1sXG4gKiA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBzaXhGb3JtIChzaXhTdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiPlxuICogICA8IS0tIGZvcm0gY29udGVudCAtLT5cbiAqIDwvZm9ybT5cbiAqIGBgYFxuICpcbiAqIEZvciB1c2VycyBuZWVkaW5nIGdyZWF0ZXIgZmxleGliaWxpdHkgaW4gZGV0ZXJtaW5pbmcgd2hlbiBlcnJvciBtZXNzYWdlcyBhcmUgZGlzcGxheWVkLFxuICogb3IgZm9yIHRob3NlIHdobyBwcmVmZXIgbm90IHRvIHJlbHkgc29sZWx5IG9uIHRoZSBmb3JtIHN1Ym1pc3Npb24gZXZlbnQsXG4gKiBhbiBhbHRlcm5hdGl2ZSBpcyB0byB1c2UgdGhlIFNpeEZvcm1VdGlsRGlyZWN0aXZlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdmb3JtW3NpeEZvcm1dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Rm9ybURpcmVjdGl2ZSB7XG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBmb3JtIGlzIHZhbGlkIGFuZCB0aGUgZm9ybSBzdWJtaXNzaW9uIGhhcyBiZWVuIHRyaWdnZXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBzaXhTdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Ym1pdEV2ZW50PigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ25nU3VibWl0JywgWyckZXZlbnQnXSlcbiAgb25OZ1N1Ym1pdChldmVudDogU3VibWl0RXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXBEaXJlY3RpdmUuaW52YWxpZCkge1xuICAgICAgZm9jdXNJbnZhbGlkRmllbGQodGhpcy5mb3JtR3JvdXBEaXJlY3RpdmUsIHRoaXMuZWxlbWVudFJlZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2l4U3VibWl0LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZVxuICApIHt9XG59XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgcHJvdmlkZXMgYSB1dGlsaXR5IG1ldGhvZCwgdGhhdCBtYXJrcyBhbGwgZm9ybSBjb250cm9sc1xuICogYXMgdG91Y2hlZCBhbmQgZGlydHksIGFuZCBmb2N1c2VzIHRoZSBmaXJzdCBpbnZhbGlkIGZvcm0gZWxlbWVudC5cbiAqXG4gKiBUbyB1dGlsaXplIHRoaXMgZGlyZWN0aXZlLCBhcHBseSBpdCB0byBhbiBBbmd1bGFyIGZvcm0uXG4gKiBgYGBodG1sXG4gKiA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBzaXhGb3JtVXRpbCAobmdTdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiPlxuICogICA8IS0tIGZvcm0gY29udGVudCAtLT5cbiAqIDwvZm9ybT5cbiAqIGBgYFxuICpcbiAqIFRoZW4sIGdldCBhIHJlZmVyZW5jZSB0byB0aGUgZGlyZWN0aXZlIGFuZCBpbnZva2UgYGZvY3VzSW52YWxpZEZpZWxkKClgIGlmIHRoZVxuICogZm9ybSBpcyBpbnZhbGlkOlxuICogYGBgdHNcbiAqIEBWaWV3Q2hpbGQoU2l4Rm9ybVV0aWxEaXJlY3RpdmUpIHNpeEZvcm1VdGlsITogU2l4Rm9ybVV0aWxEaXJlY3RpdmU7XG4gKiAvLyAuLi5cbiAqIG9uU3VibWl0KCkge1xuICogICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAqICAgICB0aGlzLnNpeEZvcm1VdGlsLmZvY3VzSW52YWxpZEZpZWxkKCk7XG4gKiAgIH0gZWxzZSB7XG4gKiAgICAgIC8vIC4uLlxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NpeEZvcm1VdGlsXScsXG59KVxuZXhwb3J0IGNsYXNzIFNpeEZvcm1VdGlsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge31cblxuICAvKiogbWFya0FsbENvbnRyb2xzQXNEaXJ0eShPYmplY3QudmFsdWVzKGZvcm1Hcm91cC5jb250cm9scykpO1xuICAgKiBNYXJrcyBhbGwgZm9ybSBjb250cm9scyBhcyB0b3VjaGVkIGFuZCBkaXJ0eSwgYW5kIGZvY3VzZXMgdGhlIGZpcnN0XG4gICAqIGludmFsaWQgZm9ybSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGZvY3VzSW52YWxpZEZpZWxkKCkge1xuICAgIGZvY3VzSW52YWxpZEZpZWxkKHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlLCB0aGlzLmVsZW1lbnRSZWYpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZvY3VzSW52YWxpZEZpZWxkKGZvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLCBmb3JtRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgZm9ybUdyb3VwRGlyZWN0aXZlLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICBtYXJrQWxsQXNEaXJ0eShbZm9ybUdyb3VwRGlyZWN0aXZlLmZvcm1dKTtcblxuICBjb25zdCBpbnZhbGlkRWxlbWVudCA9IGdldEludmFsaWRFbGVtZW50KGZvcm1FbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICBpZiAoJ3NldEZvY3VzJyBpbiBpbnZhbGlkRWxlbWVudCAmJiB0eXBlb2YgaW52YWxpZEVsZW1lbnQ/LnNldEZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW52YWxpZEVsZW1lbnQuc2V0Rm9jdXMoKTtcbiAgfVxuICBpZiAoJ2ZvY3VzJyBpbiBpbnZhbGlkRWxlbWVudCAmJiB0eXBlb2YgaW52YWxpZEVsZW1lbnQ/LmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaW52YWxpZEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRJbnZhbGlkRWxlbWVudChwYXJlbnQ6IEVsZW1lbnQpOiBFbGVtZW50IHtcbiAgY29uc3QgaW52YWxpZEVsZW1lbnQgPSBwYXJlbnQucXVlcnlTZWxlY3RvcignLm5nLWludmFsaWQnKTtcbiAgaWYgKGludmFsaWRFbGVtZW50ID09IG51bGwpIHtcbiAgICByZXR1cm4gcGFyZW50O1xuICB9XG4gIHJldHVybiBnZXRJbnZhbGlkRWxlbWVudChpbnZhbGlkRWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG1hcmtBbGxBc0RpcnR5KGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSk6IHZvaWQge1xuICBjb250cm9scy5mb3JFYWNoKChjb250cm9sKSA9PiB7XG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgbWFya0FsbEFzRGlydHkoT2JqZWN0LnZhbHVlcyhjb250cm9sLmNvbnRyb2xzKSk7XG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICBtYXJrQWxsQXNEaXJ0eShjb250cm9sLmNvbnRyb2xzKTtcbiAgICB9XG4gIH0pO1xufVxuIl19
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input, Optional } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/router";
|
|
5
|
-
/**
|
|
6
|
-
* Forked from https://github.com/ionic-team/ionic-framework/blob/main/packages/angular/common/src/directives/navigation/router-link-delegate.ts.
|
|
7
|
-
*/
|
|
8
|
-
export class SixRouterLinkDirective {
|
|
9
|
-
constructor(locationStrategy, elementRef, router, renderer, routerLinkDirective) {
|
|
10
|
-
this.locationStrategy = locationStrategy;
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.renderer = renderer;
|
|
14
|
-
this.routerLinkDirective = routerLinkDirective;
|
|
15
|
-
}
|
|
16
|
-
onClick(event) {
|
|
17
|
-
// Prevents the browser from performing a page reload when pressing a SIX-component with routerLink.
|
|
18
|
-
event.preventDefault();
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this.updateTargetUrlAndHref();
|
|
22
|
-
}
|
|
23
|
-
ngOnChanges() {
|
|
24
|
-
this.updateTargetUrlAndHref();
|
|
25
|
-
}
|
|
26
|
-
updateTargetUrlAndHref() {
|
|
27
|
-
if (this.routerLinkDirective?.urlTree) {
|
|
28
|
-
const url = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLinkDirective.urlTree));
|
|
29
|
-
this.renderer.setAttribute(this.elementRef.nativeElement, 'href', url);
|
|
30
|
-
// Remove the `tabindex` attribute to prevent redundant focus behavior.
|
|
31
|
-
// Angular's RouterLink adds `tabindex="0"` to non-focusable elements (e.g., `<div>`),
|
|
32
|
-
// but custom components like `six-button` already handle focusability.
|
|
33
|
-
// Keeping the tabindex would cause the element to receive focus twice.
|
|
34
|
-
this.renderer.removeAttribute(this.elementRef.nativeElement, 'tabindex');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixRouterLinkDirective, deps: [{ token: i1.LocationStrategy }, { token: i0.ElementRef }, { token: i2.Router }, { token: i0.Renderer2 }, { token: i2.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
38
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SixRouterLinkDirective, selector: "six-sidebar-item[routerLink],six-sidebar-item-group[routerLink],six-button[routerLink],six-icon-button[routerLink]", inputs: { routerLink: "routerLink", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", relativeTo: "relativeTo" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixRouterLinkDirective, decorators: [{
|
|
41
|
-
type: Directive,
|
|
42
|
-
args: [{
|
|
43
|
-
selector: 'six-sidebar-item[routerLink],six-sidebar-item-group[routerLink],six-button[routerLink],six-icon-button[routerLink]',
|
|
44
|
-
}]
|
|
45
|
-
}], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: i0.ElementRef }, { type: i2.Router }, { type: i0.Renderer2 }, { type: i2.RouterLink, decorators: [{
|
|
46
|
-
type: Optional
|
|
47
|
-
}] }]; }, propDecorators: { onClick: [{
|
|
48
|
-
type: HostListener,
|
|
49
|
-
args: ['click', ['$event']]
|
|
50
|
-
}], routerLink: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], queryParams: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], fragment: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], queryParamsHandling: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], relativeTo: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l4LXJvdXRlci1saW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbGluay9zaXgtcm91dGVyLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7O0FBSW5IOztHQUVHO0FBS0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLGdCQUFrQyxFQUNsQyxVQUFzQixFQUN0QixNQUFjLEVBQ2QsUUFBbUIsRUFDUCxtQkFBZ0M7UUFKNUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1Asd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFhO0lBQ25ELENBQUM7SUFHSixPQUFPLENBQUMsS0FBYztRQUNwQixvR0FBb0c7UUFDcEcsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFRRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRTtZQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRXZFLHVFQUF1RTtZQUN2RSxzRkFBc0Y7WUFDdEYsdUVBQXVFO1lBQ3ZFLHVFQUF1RTtZQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7K0dBeENVLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFDTixvSEFBb0g7aUJBQ3ZIOzswQkFPSSxRQUFROzRDQUlYLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXhCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3B0aW9uYWwsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEZvcmtlZCBmcm9tICBodHRwczovL2dpdGh1Yi5jb20vaW9uaWMtdGVhbS9pb25pYy1mcmFtZXdvcmsvYmxvYi9tYWluL3BhY2thZ2VzL2FuZ3VsYXIvY29tbW9uL3NyYy9kaXJlY3RpdmVzL25hdmlnYXRpb24vcm91dGVyLWxpbmstZGVsZWdhdGUudHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjpcbiAgICAnc2l4LXNpZGViYXItaXRlbVtyb3V0ZXJMaW5rXSxzaXgtc2lkZWJhci1pdGVtLWdyb3VwW3JvdXRlckxpbmtdLHNpeC1idXR0b25bcm91dGVyTGlua10sc2l4LWljb24tYnV0dG9uW3JvdXRlckxpbmtdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Um91dGVyTGlua0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsb2NhdGlvblN0cmF0ZWd5OiBMb2NhdGlvblN0cmF0ZWd5LFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlckxpbmtEaXJlY3RpdmU/OiBSb3V0ZXJMaW5rXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IFVJRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBQcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tIHBlcmZvcm1pbmcgYSBwYWdlIHJlbG9hZCB3aGVuIHByZXNzaW5nIGEgU0lYLWNvbXBvbmVudCB3aXRoIHJvdXRlckxpbmsuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHJvdXRlckxpbms/OiBhbnk7XG4gIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zPzogYW55O1xuICBASW5wdXQoKSBmcmFnbWVudD86IGFueTtcbiAgQElucHV0KCkgcXVlcnlQYXJhbXNIYW5kbGluZz86IGFueTtcbiAgQElucHV0KCkgcmVsYXRpdmVUbz86IGFueTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVRhcmdldFVybEFuZEhyZWYoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVGFyZ2V0VXJsQW5kSHJlZigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYXJnZXRVcmxBbmRIcmVmKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvdXRlckxpbmtEaXJlY3RpdmU/LnVybFRyZWUpIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMubG9jYXRpb25TdHJhdGVneS5wcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRoaXMucm91dGVyTGlua0RpcmVjdGl2ZS51cmxUcmVlKSk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2hyZWYnLCB1cmwpO1xuXG4gICAgICAvLyBSZW1vdmUgdGhlIGB0YWJpbmRleGAgYXR0cmlidXRlIHRvIHByZXZlbnQgcmVkdW5kYW50IGZvY3VzIGJlaGF2aW9yLlxuICAgICAgLy8gQW5ndWxhcidzIFJvdXRlckxpbmsgYWRkcyBgdGFiaW5kZXg9XCIwXCJgIHRvIG5vbi1mb2N1c2FibGUgZWxlbWVudHMgKGUuZy4sIGA8ZGl2PmApLFxuICAgICAgLy8gYnV0IGN1c3RvbSBjb21wb25lbnRzIGxpa2UgYHNpeC1idXR0b25gIGFscmVhZHkgaGFuZGxlIGZvY3VzYWJpbGl0eS5cbiAgICAgIC8vIEtlZXBpbmcgdGhlIHRhYmluZGV4IHdvdWxkIGNhdXNlIHRoZSBlbGVtZW50IHRvIHJlY2VpdmUgZm9jdXMgdHdpY2UuXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, NgZone } from '@angular/core';
|
|
2
|
-
import { showAlert } from '@six-group/ui-library';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AlertService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.ngZone = inject(NgZone);
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Displays an alert as a toast notification.
|
|
10
|
-
*/
|
|
11
|
-
showAlert(message, alertType, duration, iconName) {
|
|
12
|
-
this.ngZone.runOutsideAngular(() => showAlert(message, alertType, duration, iconName));
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertService, providedIn: 'root' }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertService, decorators: [{
|
|
18
|
-
type: Injectable,
|
|
19
|
-
args: [{ providedIn: 'root' }]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUc3RCxNQUFNLE9BQU8sWUFBWTtJQUR6QjtRQUVVLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FRakM7SUFOQzs7T0FFRztJQUNJLFNBQVMsQ0FBQyxPQUFlLEVBQUUsU0FBcUIsRUFBRSxRQUFpQixFQUFFLFFBQWlCO1FBQzNGLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQzsrR0FSVSxZQUFZO21IQUFaLFlBQVksY0FEQyxNQUFNOzs0RkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRUeXBlLCBzaG93QWxlcnQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XG4gIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGFuIGFsZXJ0IGFzIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNob3dBbGVydChtZXNzYWdlOiBzdHJpbmcsIGFsZXJ0VHlwZT86IEFsZXJ0VHlwZSwgZHVyYXRpb24/OiBudW1iZXIsIGljb25OYW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gc2hvd0FsZXJ0KG1lc3NhZ2UsIGFsZXJ0VHlwZSwgZHVyYXRpb24sIGljb25OYW1lKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { getErrorMessage } from '@six-group/ui-library';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ValidationMessagesService {
|
|
5
|
-
getErrorMessage(language, error) {
|
|
6
|
-
return getErrorMessage(language, error);
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValidationMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValidationMessagesService, providedIn: 'root' }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValidationMessagesService, decorators: [{
|
|
12
|
-
type: Injectable,
|
|
13
|
-
args: [{ providedIn: 'root' }]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92YWxpZGF0aW9uLW1lc3NhZ2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBNkIsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8seUJBQXlCO0lBQzdCLGVBQWUsQ0FBQyxRQUFrQixFQUFFLEtBQXNCO1FBQy9ELE9BQU8sZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQUhVLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRFosTUFBTTs7NEZBQ25CLHlCQUF5QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRFcnJvck1lc3NhZ2UsIExhbmd1YWdlLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2Uge1xuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlKGxhbmd1YWdlOiBMYW5ndWFnZSwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldEVycm9yTWVzc2FnZShsYW5ndWFnZSwgZXJyb3IpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { ContentChildren, Directive, HostBinding, inject } from '@angular/core';
|
|
2
|
-
import { RouterLinkActive } from '@angular/router';
|
|
3
|
-
import { SixSidebarItem, SixSidebarItemGroup } from '../stencil-generated/components';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
/**
|
|
7
|
-
* Enables Angular router integration for the six-sidebar component.
|
|
8
|
-
*
|
|
9
|
-
* When this directive is added to a six-sidebar component using the 'sixRouterLinkActive' attribute,
|
|
10
|
-
* it activates automatic route-based selection for sidebar items and groups.
|
|
11
|
-
*
|
|
12
|
-
* @recommended Add this directive to enable automatic route-based navigation in sidebars.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```html
|
|
16
|
-
* <six-sidebar sixRouterLinkActive>
|
|
17
|
-
* <six-sidebar-item routerLink="/home">Home</six-sidebar-item>
|
|
18
|
-
* <six-sidebar-item-group>
|
|
19
|
-
* <six-sidebar-item routerLink="/settings/profile">Profile</six-sidebar-item>
|
|
20
|
-
* </six-sidebar-item-group>
|
|
21
|
-
* </six-sidebar>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export class ActiveSidebarDirective {
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveSidebarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
26
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ActiveSidebarDirective, selector: "six-sidebar[sixRouterLinkActive]", ngImport: i0 }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveSidebarDirective, decorators: [{
|
|
29
|
-
type: Directive,
|
|
30
|
-
args: [{
|
|
31
|
-
selector: 'six-sidebar[sixRouterLinkActive]',
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
/**
|
|
35
|
-
* Enhances six-sidebar-item with Angular router integration.
|
|
36
|
-
*
|
|
37
|
-
* This directive automatically manages the 'selected' state of sidebar items based on the current route.
|
|
38
|
-
* When used with ActiveSidebarDirective, it switches from manual selection to route-based selection.
|
|
39
|
-
*
|
|
40
|
-
* @requires RouterLinkActive
|
|
41
|
-
* @optional ActiveSidebarDirective - If present, enables route-based selection
|
|
42
|
-
*/
|
|
43
|
-
export class ActiveSidebarItemDirective {
|
|
44
|
-
constructor() {
|
|
45
|
-
this.routerLinkActive = inject(RouterLinkActive);
|
|
46
|
-
this.sidebarItem = inject(SixSidebarItem);
|
|
47
|
-
this.activeSidebarDirective = inject(ActiveSidebarDirective, { optional: true });
|
|
48
|
-
}
|
|
49
|
-
get selected() {
|
|
50
|
-
if (this.activeSidebarDirective == null) {
|
|
51
|
-
return this.sidebarItem.selected;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
return this.routerLinkActive.isActive;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveSidebarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ActiveSidebarItemDirective, selector: "six-sidebar-item", host: { properties: { "selected": "this.selected" } }, hostDirectives: [{ directive: i1.RouterLinkActive }], ngImport: i0 }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveSidebarItemDirective, decorators: [{
|
|
61
|
-
type: Directive,
|
|
62
|
-
args: [{
|
|
63
|
-
selector: 'six-sidebar-item',
|
|
64
|
-
hostDirectives: [RouterLinkActive],
|
|
65
|
-
}]
|
|
66
|
-
}], propDecorators: { selected: [{
|
|
67
|
-
type: HostBinding,
|
|
68
|
-
args: ['selected']
|
|
69
|
-
}] } });
|
|
70
|
-
/**
|
|
71
|
-
* Enhances six-sidebar-item-group with Angular router integration.
|
|
72
|
-
*
|
|
73
|
-
* This directive automatically manages the 'open' state of sidebar groups based on the active route.
|
|
74
|
-
* When a child route is active, the group automatically expands to show the active item.
|
|
75
|
-
*
|
|
76
|
-
* @requires RouterLinkActive
|
|
77
|
-
* @optional ActiveSidebarDirective - If present, enables route-based expansion
|
|
78
|
-
*/
|
|
79
|
-
export class ActiveSidebarItemGroupDirective {
|
|
80
|
-
constructor() {
|
|
81
|
-
this.routerLinkActive = inject(RouterLinkActive);
|
|
82
|
-
this.sidebarItemGroup = inject(SixSidebarItemGroup);
|
|
83
|
-
this.activeSidebarDirective = inject(ActiveSidebarDirective, { optional: true });
|
|
84
|
-
}
|
|
85
|
-
get open() {
|
|
86
|
-
if (this.activeSidebarDirective == null) {
|
|
87
|
-
return this.sidebarItemGroup.open;
|
|
88
|
-
}
|
|
89
|
-
if (this.sidebarItems?.length > 0) {
|
|
90
|
-
return this.routerLinkActive.isActive ? true : this.sidebarItemGroup.open;
|
|
91
|
-
}
|
|
92
|
-
return this.routerLinkActive.isActive;
|
|
93
|
-
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveSidebarItemGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
95
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ActiveSidebarItemGroupDirective, selector: "six-sidebar-item-group", host: { properties: { "open": "this.open" } }, queries: [{ propertyName: "sidebarItems", predicate: SixSidebarItem }], hostDirectives: [{ directive: i1.RouterLinkActive }], ngImport: i0 }); }
|
|
96
|
-
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveSidebarItemGroupDirective, decorators: [{
|
|
98
|
-
type: Directive,
|
|
99
|
-
args: [{
|
|
100
|
-
selector: 'six-sidebar-item-group',
|
|
101
|
-
hostDirectives: [RouterLinkActive],
|
|
102
|
-
}]
|
|
103
|
-
}], propDecorators: { sidebarItems: [{
|
|
104
|
-
type: ContentChildren,
|
|
105
|
-
args: [SixSidebarItem]
|
|
106
|
-
}], open: [{
|
|
107
|
-
type: HostBinding,
|
|
108
|
-
args: ['open']
|
|
109
|
-
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXNpZGViYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL2FjdGl2ZS1zaWRlYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQWdCLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUV0Rjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCOytHQUF0QixzQkFBc0I7bUdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO2lCQUM3Qzs7QUFHRDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLVSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQywyQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQVVyRjtJQVJDLElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7U0FDdkM7SUFDSCxDQUFDOytHQWJVLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUNuQzs4QkFRSyxRQUFRO3NCQURYLFdBQVc7dUJBQUMsVUFBVTs7QUFVekI7Ozs7Ozs7O0dBUUc7QUFLSCxNQUFNLE9BQU8sK0JBQStCO0lBSjVDO1FBS1UscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0MsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FnQnJGO0lBWkMsSUFDSSxJQUFJO1FBQ04sSUFBSSxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztTQUNuQztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1NBQzNFO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7K0dBbEJVLCtCQUErQjttR0FBL0IsK0JBQStCLDBJQUt6QixjQUFjOzs0RkFMcEIsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUNuQzs4QkFNMEMsWUFBWTtzQkFBcEQsZUFBZTt1QkFBQyxjQUFjO2dCQUczQixJQUFJO3NCQURQLFdBQVc7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBpbmplY3QsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGlua0FjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTaXhTaWRlYmFySXRlbSwgU2l4U2lkZWJhckl0ZW1Hcm91cCB9IGZyb20gJy4uL3N0ZW5jaWwtZ2VuZXJhdGVkL2NvbXBvbmVudHMnO1xuXG4vKipcbiAqIEVuYWJsZXMgQW5ndWxhciByb3V0ZXIgaW50ZWdyYXRpb24gZm9yIHRoZSBzaXgtc2lkZWJhciBjb21wb25lbnQuXG4gKlxuICogV2hlbiB0aGlzIGRpcmVjdGl2ZSBpcyBhZGRlZCB0byBhIHNpeC1zaWRlYmFyIGNvbXBvbmVudCB1c2luZyB0aGUgJ3NpeFJvdXRlckxpbmtBY3RpdmUnIGF0dHJpYnV0ZSxcbiAqIGl0IGFjdGl2YXRlcyBhdXRvbWF0aWMgcm91dGUtYmFzZWQgc2VsZWN0aW9uIGZvciBzaWRlYmFyIGl0ZW1zIGFuZCBncm91cHMuXG4gKlxuICogQHJlY29tbWVuZGVkIEFkZCB0aGlzIGRpcmVjdGl2ZSB0byBlbmFibGUgYXV0b21hdGljIHJvdXRlLWJhc2VkIG5hdmlnYXRpb24gaW4gc2lkZWJhcnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzaXgtc2lkZWJhciBzaXhSb3V0ZXJMaW5rQWN0aXZlPlxuICogICA8c2l4LXNpZGViYXItaXRlbSByb3V0ZXJMaW5rPVwiL2hvbWVcIj5Ib21lPC9zaXgtc2lkZWJhci1pdGVtPlxuICogICA8c2l4LXNpZGViYXItaXRlbS1ncm91cD5cbiAqICAgICA8c2l4LXNpZGViYXItaXRlbSByb3V0ZXJMaW5rPVwiL3NldHRpbmdzL3Byb2ZpbGVcIj5Qcm9maWxlPC9zaXgtc2lkZWJhci1pdGVtPlxuICogICA8L3NpeC1zaWRlYmFyLWl0ZW0tZ3JvdXA+XG4gKiA8L3NpeC1zaWRlYmFyPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NpeC1zaWRlYmFyW3NpeFJvdXRlckxpbmtBY3RpdmVdJyxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZlU2lkZWJhckRpcmVjdGl2ZSB7fVxuXG4vKipcbiAqIEVuaGFuY2VzIHNpeC1zaWRlYmFyLWl0ZW0gd2l0aCBBbmd1bGFyIHJvdXRlciBpbnRlZ3JhdGlvbi5cbiAqXG4gKiBUaGlzIGRpcmVjdGl2ZSBhdXRvbWF0aWNhbGx5IG1hbmFnZXMgdGhlICdzZWxlY3RlZCcgc3RhdGUgb2Ygc2lkZWJhciBpdGVtcyBiYXNlZCBvbiB0aGUgY3VycmVudCByb3V0ZS5cbiAqIFdoZW4gdXNlZCB3aXRoIEFjdGl2ZVNpZGViYXJEaXJlY3RpdmUsIGl0IHN3aXRjaGVzIGZyb20gbWFudWFsIHNlbGVjdGlvbiB0byByb3V0ZS1iYXNlZCBzZWxlY3Rpb24uXG4gKlxuICogQHJlcXVpcmVzIFJvdXRlckxpbmtBY3RpdmVcbiAqIEBvcHRpb25hbCBBY3RpdmVTaWRlYmFyRGlyZWN0aXZlIC0gSWYgcHJlc2VudCwgZW5hYmxlcyByb3V0ZS1iYXNlZCBzZWxlY3Rpb25cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc2l4LXNpZGViYXItaXRlbScsXG4gIGhvc3REaXJlY3RpdmVzOiBbUm91dGVyTGlua0FjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2ZVNpZGViYXJJdGVtRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByb3V0ZXJMaW5rQWN0aXZlID0gaW5qZWN0KFJvdXRlckxpbmtBY3RpdmUpO1xuXG4gIHByaXZhdGUgc2lkZWJhckl0ZW0gPSBpbmplY3QoU2l4U2lkZWJhckl0ZW0pO1xuICBwcml2YXRlIGFjdGl2ZVNpZGViYXJEaXJlY3RpdmUgPSBpbmplY3QoQWN0aXZlU2lkZWJhckRpcmVjdGl2ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASG9zdEJpbmRpbmcoJ3NlbGVjdGVkJylcbiAgZ2V0IHNlbGVjdGVkKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZVNpZGViYXJEaXJlY3RpdmUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2lkZWJhckl0ZW0uc2VsZWN0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlckxpbmtBY3RpdmUuaXNBY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRW5oYW5jZXMgc2l4LXNpZGViYXItaXRlbS1ncm91cCB3aXRoIEFuZ3VsYXIgcm91dGVyIGludGVncmF0aW9uLlxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIGF1dG9tYXRpY2FsbHkgbWFuYWdlcyB0aGUgJ29wZW4nIHN0YXRlIG9mIHNpZGViYXIgZ3JvdXBzIGJhc2VkIG9uIHRoZSBhY3RpdmUgcm91dGUuXG4gKiBXaGVuIGEgY2hpbGQgcm91dGUgaXMgYWN0aXZlLCB0aGUgZ3JvdXAgYXV0b21hdGljYWxseSBleHBhbmRzIHRvIHNob3cgdGhlIGFjdGl2ZSBpdGVtLlxuICpcbiAqIEByZXF1aXJlcyBSb3V0ZXJMaW5rQWN0aXZlXG4gKiBAb3B0aW9uYWwgQWN0aXZlU2lkZWJhckRpcmVjdGl2ZSAtIElmIHByZXNlbnQsIGVuYWJsZXMgcm91dGUtYmFzZWQgZXhwYW5zaW9uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NpeC1zaWRlYmFyLWl0ZW0tZ3JvdXAnLFxuICBob3N0RGlyZWN0aXZlczogW1JvdXRlckxpbmtBY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBY3RpdmVTaWRlYmFySXRlbUdyb3VwRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByb3V0ZXJMaW5rQWN0aXZlID0gaW5qZWN0KFJvdXRlckxpbmtBY3RpdmUpO1xuICBwcml2YXRlIHNpZGViYXJJdGVtR3JvdXAgPSBpbmplY3QoU2l4U2lkZWJhckl0ZW1Hcm91cCk7XG4gIHByaXZhdGUgYWN0aXZlU2lkZWJhckRpcmVjdGl2ZSA9IGluamVjdChBY3RpdmVTaWRlYmFyRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2l4U2lkZWJhckl0ZW0pIHByaXZhdGUgc2lkZWJhckl0ZW1zITogUXVlcnlMaXN0PFNpeFNpZGViYXJJdGVtPjtcblxuICBASG9zdEJpbmRpbmcoJ29wZW4nKVxuICBnZXQgb3BlbigpIHtcbiAgICBpZiAodGhpcy5hY3RpdmVTaWRlYmFyRGlyZWN0aXZlID09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnNpZGViYXJJdGVtR3JvdXAub3BlbjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaWRlYmFySXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlckxpbmtBY3RpdmUuaXNBY3RpdmUgPyB0cnVlIDogdGhpcy5zaWRlYmFySXRlbUdyb3VwLm9wZW47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyTGlua0FjdGl2ZS5pc0FjdGl2ZTtcbiAgfVxufVxuIl19
|
|
@@ -1,59 +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
|
-
* In the event that proxyInputs is called
|
|
16
|
-
* multiple times re-defining these inputs
|
|
17
|
-
* will cause an error to be thrown. As a result
|
|
18
|
-
* we set configurable: true to indicate these
|
|
19
|
-
* properties can be changed.
|
|
20
|
-
*/
|
|
21
|
-
configurable: true,
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
export const proxyMethods = (Cmp, methods) => {
|
|
26
|
-
const Prototype = Cmp.prototype;
|
|
27
|
-
methods.forEach((methodName) => {
|
|
28
|
-
Prototype[methodName] = function () {
|
|
29
|
-
const args = arguments;
|
|
30
|
-
return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
export const proxyOutputs = (instance, el, events) => {
|
|
35
|
-
events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
|
|
36
|
-
};
|
|
37
|
-
export const defineCustomElement = (tagName, customElement) => {
|
|
38
|
-
if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
|
|
39
|
-
customElements.define(tagName, customElement);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
43
|
-
export function ProxyCmp(opts) {
|
|
44
|
-
const decorator = function (cls) {
|
|
45
|
-
const { defineCustomElementFn, inputs, methods } = opts;
|
|
46
|
-
if (defineCustomElementFn !== undefined) {
|
|
47
|
-
defineCustomElementFn();
|
|
48
|
-
}
|
|
49
|
-
if (inputs) {
|
|
50
|
-
proxyInputs(cls, inputs);
|
|
51
|
-
}
|
|
52
|
-
if (methods) {
|
|
53
|
-
proxyMethods(cls, methods);
|
|
54
|
-
}
|
|
55
|
-
return cls;
|
|
56
|
-
};
|
|
57
|
-
return decorator;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3N0ZW5jaWwtZ2VuZXJhdGVkL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDckMsR0FBRztnQkFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFRO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNEOzs7Ozs7ZUFNRztZQUNILFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QixTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDdEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBTyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtJQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxhQUFrQixFQUFFLEVBQUU7SUFDekUsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLE9BQU8sY0FBYyxLQUFLLFdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDeEcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMscUJBQXFCLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQjtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogSW4gdGhlIGV2ZW50IHRoYXQgcHJveHlJbnB1dHMgaXMgY2FsbGVkXG4gICAgICAgKiBtdWx0aXBsZSB0aW1lcyByZS1kZWZpbmluZyB0aGVzZSBpbnB1dHNcbiAgICAgICAqIHdpbGwgY2F1c2UgYW4gZXJyb3IgdG8gYmUgdGhyb3duLiBBcyBhIHJlc3VsdFxuICAgICAgICogd2Ugc2V0IGNvbmZpZ3VyYWJsZTogdHJ1ZSB0byBpbmRpY2F0ZSB0aGVzZVxuICAgICAgICogcHJvcGVydGllcyBjYW4gYmUgY2hhbmdlZC5cbiAgICAgICAqL1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU1ldGhvZHMgPSAoQ21wOiBhbnksIG1ldGhvZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICAgIFByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICByZXR1cm4gdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuZWxbbWV0aG9kTmFtZV0uYXBwbHkodGhpcy5lbCwgYXJncykpO1xuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5T3V0cHV0cyA9IChpbnN0YW5jZTogYW55LCBlbDogYW55LCBldmVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGV2ZW50cy5mb3JFYWNoKChldmVudE5hbWUpID0+IChpbnN0YW5jZVtldmVudE5hbWVdID0gZnJvbUV2ZW50KGVsLCBldmVudE5hbWUpKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQ3VzdG9tRWxlbWVudCA9ICh0YWdOYW1lOiBzdHJpbmcsIGN1c3RvbUVsZW1lbnQ6IGFueSkgPT4ge1xuICBpZiAoY3VzdG9tRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBjdXN0b21FbGVtZW50cyAhPT0gJ3VuZGVmaW5lZCcgJiYgIWN1c3RvbUVsZW1lbnRzLmdldCh0YWdOYW1lKSkge1xuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0YWdOYW1lLCBjdXN0b21FbGVtZW50KTtcbiAgfVxufTtcblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIFByb3h5Q21wKG9wdHM6IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuPzogKCkgPT4gdm9pZDsgaW5wdXRzPzogYW55OyBtZXRob2RzPzogYW55IH0pIHtcbiAgY29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gKGNsczogYW55KSB7XG4gICAgY29uc3QgeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4sIGlucHV0cywgbWV0aG9kcyB9ID0gb3B0cztcblxuICAgIGlmIChkZWZpbmVDdXN0b21FbGVtZW50Rm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuKCk7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0cykge1xuICAgICAgcHJveHlJbnB1dHMoY2xzLCBpbnB1dHMpO1xuICAgIH1cbiAgICBpZiAobWV0aG9kcykge1xuICAgICAgcHJveHlNZXRob2RzKGNscywgbWV0aG9kcyk7XG4gICAgfVxuICAgIHJldHVybiBjbHM7XG4gIH07XG4gIHJldHVybiBkZWNvcmF0b3I7XG59XG4iXX0=
|