ngx-tethys 15.3.8 → 15.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/action/action.component.d.ts +24 -4
- package/action/examples/feedback/feedback.component.scss +3 -0
- package/action/styles/action.scss +4 -4
- package/action/styles/mixin.scss +8 -6
- package/esm2020/action/action.component.mjs +57 -7
- package/esm2020/form/form-validator-loader.mjs +4 -2
- package/esm2020/version.mjs +2 -2
- package/fesm2015/ngx-tethys-action.mjs +56 -5
- package/fesm2015/ngx-tethys-action.mjs.map +1 -1
- package/fesm2015/ngx-tethys-form.mjs +3 -1
- package/fesm2015/ngx-tethys-form.mjs.map +1 -1
- package/fesm2015/ngx-tethys.mjs +1 -1
- package/fesm2015/ngx-tethys.mjs.map +1 -1
- package/fesm2020/ngx-tethys-action.mjs +55 -5
- package/fesm2020/ngx-tethys-action.mjs.map +1 -1
- package/fesm2020/ngx-tethys-form.mjs +3 -1
- package/fesm2020/ngx-tethys-form.mjs.map +1 -1
- package/fesm2020/ngx-tethys.mjs +1 -1
- package/fesm2020/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/styles/modules/tables.scss +6 -15
- package/styles/variables.scss +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [15.3.9](https://github.com/atinc/ngx-tethys/compare/15.3.5...15.3.9) (2023-06-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **form:** fix defaultRemoveError removeChild error #INFR-8240 ([c856d80](https://github.com/atinc/ngx-tethys/commit/c856d80c2633f2af4fb710e3254b536d79caf6f8)), closes [#INFR-8240](https://github.com/atinc/ngx-tethys/issues/INFR-8240)
|
|
11
|
+
* **table:** thyTheme值为bordered且可拖拽时,拖拽图标和文字之间的间距过大 #INFR-8217 ([#2705](https://github.com/atinc/ngx-tethys/issues/2705)) ([f2ac471](https://github.com/atinc/ngx-tethys/commit/f2ac471cb2e92d4297e5f03308eb828b741a47db)), closes [#INFR-8217](https://github.com/atinc/ngx-tethys/issues/INFR-8217) [#INFR-8217](https://github.com/atinc/ngx-tethys/issues/INFR-8217) [#INFR-8217](https://github.com/atinc/ngx-tethys/issues/INFR-8217)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **action:** supports success and error feedback #INFR-8234 ([#2706](https://github.com/atinc/ngx-tethys/issues/2706)) ([62edb36](https://github.com/atinc/ngx-tethys/commit/62edb3633e73032d2ce378a87bf45fe3abd88842)), closes [#INFR-8234](https://github.com/atinc/ngx-tethys/issues/INFR-8234)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
5
20
|
## [15.3.8](https://github.com/atinc/ngx-tethys/compare/15.3.5...15.3.8) (2023-06-06)
|
|
6
21
|
|
|
7
22
|
|
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
import { OnInit, AfterViewInit, OnChanges, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { OnInit, AfterViewInit, OnChanges, ElementRef, Renderer2, SimpleChanges, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';
|
|
4
|
+
export type ThyActionFeedback = 'success' | 'error';
|
|
5
|
+
export interface ThyActionFeedbackOptions {
|
|
6
|
+
icon?: string;
|
|
7
|
+
class?: string;
|
|
8
|
+
duration?: number;
|
|
9
|
+
}
|
|
4
10
|
/**
|
|
5
11
|
* 立即操作组件
|
|
6
12
|
* @name thy-action,[thyAction]
|
|
7
13
|
*/
|
|
8
|
-
export declare class ThyActionComponent implements OnInit, AfterViewInit, OnChanges {
|
|
14
|
+
export declare class ThyActionComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
|
|
9
15
|
private elementRef;
|
|
10
16
|
private renderer;
|
|
17
|
+
private cdr;
|
|
11
18
|
icon: string;
|
|
12
|
-
|
|
19
|
+
feedback: ThyActionFeedback;
|
|
20
|
+
feedbackOptions: ThyActionFeedbackOptions;
|
|
21
|
+
active: boolean;
|
|
13
22
|
private type;
|
|
14
23
|
private hostRenderer;
|
|
24
|
+
private feedbackTimer;
|
|
15
25
|
/**
|
|
16
26
|
* 操作图标的类型
|
|
17
27
|
* @type primary | success | danger | warning
|
|
@@ -50,14 +60,24 @@ export declare class ThyActionComponent implements OnInit, AfterViewInit, OnChan
|
|
|
50
60
|
* @default false
|
|
51
61
|
*/
|
|
52
62
|
thyDisabled: boolean;
|
|
53
|
-
constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2);
|
|
63
|
+
constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2, cdr: ChangeDetectorRef);
|
|
54
64
|
ngOnInit(): void;
|
|
55
65
|
ngAfterViewInit(): void;
|
|
56
66
|
ngOnChanges(changes: SimpleChanges): void;
|
|
57
67
|
setMarginRight(marginRight: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* 触发成功反馈操作
|
|
70
|
+
*/
|
|
71
|
+
success(options?: ThyActionFeedbackOptions): void;
|
|
72
|
+
/**
|
|
73
|
+
* 触发失败反馈操作
|
|
74
|
+
*/
|
|
75
|
+
error(options?: ThyActionFeedbackOptions): void;
|
|
76
|
+
private setFeedback;
|
|
58
77
|
private wrapSpanForText;
|
|
59
78
|
private setActionType;
|
|
60
79
|
private updateClasses;
|
|
80
|
+
ngOnDestroy(): void;
|
|
61
81
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThyActionComponent, never>;
|
|
62
82
|
static ɵcmp: i0.ɵɵComponentDeclaration<ThyActionComponent, "thy-action, [thyAction]", never, { "thyType": "thyType"; "thyIcon": "thyIcon"; "thyActionIcon": "thyActionIcon"; "thyActive": "thyActive"; "thyActionActive": "thyActionActive"; "thyTheme": "thyTheme"; "thyHoverIcon": "thyHoverIcon"; "thyDisabled": "thyDisabled"; }, {}, never, ["*"], true, never>;
|
|
63
83
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
3
|
-
@use
|
|
4
|
-
@use
|
|
1
|
+
@use '../../styles/mixins/hover.scss';
|
|
2
|
+
@use '../../styles/bootstrap/functions-variables';
|
|
3
|
+
@use '../../styles/variables.scss';
|
|
4
|
+
@use './mixin.scss' as action-mixin;
|
|
5
5
|
|
|
6
6
|
.thy-action {
|
|
7
7
|
padding: variables.$action-padding-y variables.$action-padding-x;
|
package/action/styles/mixin.scss
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use '../../styles/mixins/hover.scss';
|
|
2
|
+
@use '../../styles/variables.scss';
|
|
3
3
|
|
|
4
4
|
@mixin action-variant($color, $hover-color, $hover-bg-color) {
|
|
5
5
|
color: $color;
|
|
6
6
|
|
|
7
7
|
@include hover.hover-active {
|
|
8
|
-
|
|
9
|
-
background: $hover-bg-color;
|
|
10
|
-
|
|
11
|
-
> span {
|
|
8
|
+
&:not(.thy-action-has-feedback) {
|
|
12
9
|
color: $hover-color;
|
|
10
|
+
background: $hover-bg-color;
|
|
11
|
+
|
|
12
|
+
> span {
|
|
13
|
+
color: $hover-color;
|
|
14
|
+
}
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ElementRef, Renderer2 } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, ElementRef, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { InputBoolean } from 'ngx-tethys/core';
|
|
4
4
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
5
5
|
import { ThyIconComponent } from 'ngx-tethys/icon';
|
|
6
6
|
import { NgIf } from '@angular/common';
|
|
7
|
+
import { timer } from 'rxjs';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
const defaultFeedbackOptions = {
|
|
10
|
+
success: {
|
|
11
|
+
icon: 'check-circle-fill',
|
|
12
|
+
class: 'text-success',
|
|
13
|
+
duration: 3000
|
|
14
|
+
},
|
|
15
|
+
error: {
|
|
16
|
+
icon: 'close-circle-fill',
|
|
17
|
+
class: 'text-danger',
|
|
18
|
+
duration: 3000
|
|
19
|
+
}
|
|
20
|
+
};
|
|
8
21
|
/**
|
|
9
22
|
* 立即操作组件
|
|
10
23
|
* @name thy-action,[thyAction]
|
|
@@ -44,9 +57,11 @@ export class ThyActionComponent {
|
|
|
44
57
|
set thyActionActive(value) {
|
|
45
58
|
this.active = value;
|
|
46
59
|
}
|
|
47
|
-
constructor(elementRef, renderer) {
|
|
60
|
+
constructor(elementRef, renderer, cdr) {
|
|
48
61
|
this.elementRef = elementRef;
|
|
49
62
|
this.renderer = renderer;
|
|
63
|
+
this.cdr = cdr;
|
|
64
|
+
this.feedback = null;
|
|
50
65
|
this.active = false;
|
|
51
66
|
this.type = 'primary';
|
|
52
67
|
this.hostRenderer = useHostRenderer();
|
|
@@ -70,6 +85,37 @@ export class ThyActionComponent {
|
|
|
70
85
|
setMarginRight(marginRight) {
|
|
71
86
|
this.elementRef.nativeElement.style.marginRight = marginRight;
|
|
72
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* 触发成功反馈操作
|
|
90
|
+
*/
|
|
91
|
+
success(options) {
|
|
92
|
+
this.setFeedback('success', options);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 触发失败反馈操作
|
|
96
|
+
*/
|
|
97
|
+
error(options) {
|
|
98
|
+
this.setFeedback('error', options);
|
|
99
|
+
}
|
|
100
|
+
setFeedback(feedback, options) {
|
|
101
|
+
if (this.thyDisabled) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
options = Object.assign({}, defaultFeedbackOptions[feedback], options);
|
|
105
|
+
this.feedback = feedback;
|
|
106
|
+
this.feedbackOptions = options;
|
|
107
|
+
this.cdr.markForCheck();
|
|
108
|
+
if (options.duration) {
|
|
109
|
+
if (this.feedbackTimer) {
|
|
110
|
+
this.feedbackTimer.unsubscribe();
|
|
111
|
+
}
|
|
112
|
+
this.feedbackTimer = timer(options.duration).subscribe(() => {
|
|
113
|
+
this.feedback = null;
|
|
114
|
+
this.feedbackOptions = null;
|
|
115
|
+
this.cdr.markForCheck();
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
73
119
|
wrapSpanForText(nodes) {
|
|
74
120
|
nodes.forEach(node => {
|
|
75
121
|
if (node.nodeName === '#text') {
|
|
@@ -92,9 +138,12 @@ export class ThyActionComponent {
|
|
|
92
138
|
}
|
|
93
139
|
this.hostRenderer.updateClass(classNames);
|
|
94
140
|
}
|
|
141
|
+
ngOnDestroy() {
|
|
142
|
+
this.feedbackTimer?.unsubscribe();
|
|
143
|
+
}
|
|
95
144
|
}
|
|
96
|
-
ThyActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyActionComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
-
ThyActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ThyActionComponent, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: "thyActive", thyActionActive: "thyActionActive", thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: "thyDisabled" }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
145
|
+
ThyActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyActionComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
+
ThyActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ThyActionComponent, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: "thyActive", thyActionActive: "thyActionActive", thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: "thyDisabled" }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
98
147
|
__decorate([
|
|
99
148
|
InputBoolean(),
|
|
100
149
|
__metadata("design:type", Boolean),
|
|
@@ -115,9 +164,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
115
164
|
class: 'thy-action',
|
|
116
165
|
'[class.active]': 'active',
|
|
117
166
|
'[class.thy-action-hover-icon]': 'thyHoverIcon',
|
|
167
|
+
'[class.thy-action-has-feedback]': '!!feedback',
|
|
118
168
|
'[class.disabled]': 'thyDisabled'
|
|
119
|
-
}, standalone: true, imports: [NgIf, ThyIconComponent], template: "<thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n" }]
|
|
120
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { thyType: [{
|
|
169
|
+
}, standalone: true, imports: [NgIf, ThyIconComponent], template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n" }]
|
|
170
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thyType: [{
|
|
121
171
|
type: Input
|
|
122
172
|
}], thyIcon: [{
|
|
123
173
|
type: Input
|
|
@@ -134,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
134
184
|
}], thyDisabled: [{
|
|
135
185
|
type: Input
|
|
136
186
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBSUwsVUFBVSxFQUNWLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJdkM7OztHQUdHO0FBY0gsTUFBTSxPQUFPLGtCQUFrQjtJQVMzQjs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxPQUFPLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLGFBQWEsQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUVJLFNBQVMsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUVJLGVBQWUsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxD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c0JBRFYsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBU0YsYUFBYTtzQkFEaEIsS0FBSztnQkFXRixTQUFTO3NCQUZaLEtBQUs7Z0JBWUYsZUFBZTtzQkFGbEIsS0FBSztnQkFVRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUU4sV0FBVztzQkFGVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb25Db21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRoeUFjdGlvblR5cGUgPSAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJztcblxuLyoqXG4gKiDnq4vljbPmk43kvZznu4Tku7ZcbiAqIEBuYW1lIHRoeS1hY3Rpb24sW3RoeUFjdGlvbl1cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYWN0aW9uLCBbdGh5QWN0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1hY3Rpb24nLFxuICAgICAgICAnW2NsYXNzLmFjdGl2ZV0nOiAnYWN0aXZlJyxcbiAgICAgICAgJ1tjbGFzcy50aHktYWN0aW9uLWhvdmVyLWljb25dJzogJ3RoeUhvdmVySWNvbicsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ3RoeURpc2FibGVkJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIGljb246IHN0cmluZztcblxuICAgIHByaXZhdGUgYWN0aXZlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHR5cGU6IHN0cmluZyA9ICdwcmltYXJ5JztcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIfnmoTnsbvlnotcbiAgICAgKiBAdHlwZSBwcmltYXJ5IHwgc3VjY2VzcyB8IGRhbmdlciB8IHdhcm5pbmdcbiAgICAgKiBAZGVmYXVsdCBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogVGh5QWN0aW9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEFjdGlvblR5cGUodmFsdWUgfHwgJ3ByaW1hcnknKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIfvvIzmlK/mjIHkvKDlj4LlkIzml7bkuZ/mlK/mjIHlnKjmipXlvbHkuK3lhpkgdGh5LWljb24g57uE5Lu2XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uID0gaWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIfvvIzlvZMgdGh5SWNvbiDlkozlhbbku5bmjIfku6Tlj4LmlbDlkI3mnInlhrLnqoHml7bkvb/nlKggdGh5QWN0aW9uSWNvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGlvbkljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IGljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pON5L2c55qE5Zu+5qCHIEFjdGl2ZSDnirbmgIHvvIzorr7nva7kuLogdHJ1ZSDml7bkvJrlnKggSXRlbSDkuIrmt7vliqAgYWN0aXZlIGNsYXNzXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCB0aHlBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZznmoTlm77moIcgQWN0aXZlIOeKtuaAge+8jOW9kyB0aHlBY3RpdmUg5ZKM5YW25LuW5oyH5Luk5Y+C5pWw5ZCN5pyJ5Yay56qB5pe25L2/55SoIHRoeUFjdGlvbkFjdGl2ZVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICBzZXQgdGh5QWN0aW9uQWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pON5L2c5Zu+5qCH55qE5Li76aKYXG4gICAgICogQHR5cGUgZmlsbCjog4zmma/oibLloavlhYUpIHwgbGl0ZSjnroDljZXmlofmnKzpopzoibLlj5jljJYpXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VGhlbWU6ICdmaWxsJyB8ICdsaXRlJyA9ICdmaWxsJztcblxuICAgIC8qKlxuICAgICAqIEhvdmVyIOWxleekuueahOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUhvdmVySWNvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5aSE5LqO56aB55So54q25oCBXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHRoeURpc2FibGVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy53cmFwU3BhbkZvclRleHQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMudGh5VHlwZSAmJiAhY2hhbmdlcy50aHlUeXBlLmZpcnN0Q2hhbmdlKSB8fCAoY2hhbmdlcy50aHlUaGVtZSAmJiAhY2hhbmdlcy50aHlUaGVtZS5maXJzdENoYW5nZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0TWFyZ2luUmlnaHQobWFyZ2luUmlnaHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW5SaWdodCA9IG1hcmdpblJpZ2h0O1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1hY3Rpb24td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEFjdGlvblR5cGUodmFsdWU6IFRoeUFjdGlvblR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICBsZXQgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGBhY3Rpb24tJHt0aGlzLnR5cGV9YCk7XG4gICAgICAgIGlmICh0aGlzLnRoeVRoZW1lID09PSAnbGl0ZScpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgndGh5LWFjdGlvbi1saXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoY2xhc3NOYW1lcyk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uICpuZ0lmPVwiaWNvblwiIFt0aHlJY29uTmFtZV09XCJpY29uXCI+PC90aHktaWNvbj5cbjx0aHktaWNvbiBjbGFzcz1cImhvdmVyLWljb25cIiAqbmdJZj1cInRoeUhvdmVySWNvblwiIFt0aHlJY29uTmFtZV09XCJ0aHlIb3Zlckljb25cIj48L3RoeS1pY29uPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBSUwsVUFBVSxFQUNWLFNBQVMsRUFFVCxpQkFBaUIsRUFFcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBWTNDLE1BQU0sc0JBQXNCLEdBQXdEO0lBQ2hGLE9BQU8sRUFBRTtRQUNMLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLGNBQWM7UUFDckIsUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxLQUFLLEVBQUU7UUFDSCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0NBQ0osQ0FBQztBQUNGOzs7R0FHRztBQWVILE1BQU0sT0FBTyxrQkFBa0I7SUFlM0I7Ozs7T0FJRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FB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LEVBQUU7OzttREFHZDtBQU1EO0lBQ0MsWUFBWSxFQUFFOzs7eURBR2Q7QUFpQkQ7SUFDQyxZQUFZLEVBQUU7O3VEQUNNOzJGQTlFWixrQkFBa0I7a0JBZDlCLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxZQUFZO3dCQUNuQixnQkFBZ0IsRUFBRSxRQUFRO3dCQUMxQiwrQkFBK0IsRUFBRSxjQUFjO3dCQUMvQyxpQ0FBaUMsRUFBRSxZQUFZO3dCQUMvQyxrQkFBa0IsRUFBRSxhQUFhO3FCQUNwQyxjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQzt5SkF1QjdCLE9BQU87c0JBRFYsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBU0YsYUFBYTtzQkFEaEIsS0FBSztnQkFXRixTQUFTO3NCQUZaLEtBQUs7Z0JBWUYsZUFBZTtzQkFGbEIsS0FBSztnQkFVRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUU4sV0FBVztzQkFGVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlJY29uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBUaHlBY3Rpb25UeXBlID0gJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ2RhbmdlcicgfCAnd2FybmluZyc7XG5cbmV4cG9ydCB0eXBlIFRoeUFjdGlvbkZlZWRiYWNrID0gJ3N1Y2Nlc3MnIHwgJ2Vycm9yJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMge1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRGZWVkYmFja09wdGlvbnM6IFJlY29yZDxUaHlBY3Rpb25GZWVkYmFjaywgVGh5QWN0aW9uRmVlZGJhY2tPcHRpb25zPiA9IHtcbiAgICBzdWNjZXNzOiB7XG4gICAgICAgIGljb246ICdjaGVjay1jaXJjbGUtZmlsbCcsXG4gICAgICAgIGNsYXNzOiAndGV4dC1zdWNjZXNzJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDBcbiAgICB9LFxuICAgIGVycm9yOiB7XG4gICAgICAgIGljb246ICdjbG9zZS1jaXJjbGUtZmlsbCcsXG4gICAgICAgIGNsYXNzOiAndGV4dC1kYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMFxuICAgIH1cbn07XG4vKipcbiAqIOeri+WNs+aTjeS9nOe7hOS7tlxuICogQG5hbWUgdGh5LWFjdGlvbixbdGh5QWN0aW9uXVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1hY3Rpb24sIFt0aHlBY3Rpb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWFjdGlvbicsXG4gICAgICAgICdbY2xhc3MuYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICAgICAnW2NsYXNzLnRoeS1hY3Rpb24taG92ZXItaWNvbl0nOiAndGh5SG92ZXJJY29uJyxcbiAgICAgICAgJ1tjbGFzcy50aHktYWN0aW9uLWhhcy1mZWVkYmFja10nOiAnISFmZWVkYmFjaycsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ3RoeURpc2FibGVkJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgaWNvbjogc3RyaW5nO1xuXG4gICAgZmVlZGJhY2s6IFRoeUFjdGlvbkZlZWRiYWNrID0gbnVsbDtcblxuICAgIGZlZWRiYWNrT3B0aW9uczogVGh5QWN0aW9uRmVlZGJhY2tPcHRpb25zO1xuXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHR5cGU6IHN0cmluZyA9ICdwcmltYXJ5JztcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcml2YXRlIGZlZWRiYWNrVGltZXI6IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh+eahOexu+Wei1xuICAgICAqIEB0eXBlIHByaW1hcnkgfCBzdWNjZXNzIHwgZGFuZ2VyIHwgd2FybmluZ1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUeXBlKHZhbHVlOiBUaHlBY3Rpb25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QWN0aW9uVHlwZSh2YWx1ZSB8fCAncHJpbWFyeScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh++8jOaUr+aMgeS8oOWPguWQjOaXtuS5n+aUr+aMgeWcqOaKleW9seS4reWGmSB0aHktaWNvbiDnu4Tku7ZcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh++8jOW9kyB0aHlJY29uIOWSjOWFtuS7luaMh+S7pOWPguaVsOWQjeacieWGsueqgeaXtuS9v+eUqCB0aHlBY3Rpb25JY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uSWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uID0gaWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZznmoTlm77moIcgQWN0aXZlIOeKtuaAge+8jOiuvue9ruS4uiB0cnVlIOaXtuS8muWcqCBJdGVtIOS4iua3u+WKoCBhY3RpdmUgY2xhc3NcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeUFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOeahOWbvuaghyBBY3RpdmUg54q25oCB77yM5b2TIHRoeUFjdGl2ZSDlkozlhbbku5bmjIfku6Tlj4LmlbDlkI3mnInlhrLnqoHml7bkvb/nlKggdGh5QWN0aW9uQWN0aXZlXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCB0aHlBY3Rpb25BY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIfnmoTkuLvpophcbiAgICAgKiBAdHlwZSBmaWxsKOiDjOaZr+iJsuWhq+WFhSkgfCBsaXRlKOeugOWNleaWh+acrOminOiJsuWPmOWMlilcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUaGVtZTogJ2ZpbGwnIHwgJ2xpdGUnID0gJ2ZpbGwnO1xuXG4gICAgLyoqXG4gICAgICogSG92ZXIg5bGV56S655qE5Zu+5qCHXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SG92ZXJJY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblpITkuo7npoHnlKjnirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMud3JhcFNwYW5Gb3JUZXh0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKChjaGFuZ2VzLnRoeVR5cGUgJiYgIWNoYW5nZXMudGh5VHlwZS5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXMudGh5VGhlbWUgJiYgIWNoYW5nZXMudGh5VGhlbWUuZmlyc3RDaGFuZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldE1hcmdpblJpZ2h0KG1hcmdpblJpZ2h0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWFyZ2luUmlnaHQgPSBtYXJnaW5SaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDop6blj5HmiJDlip/lj43ppojmk43kvZxcbiAgICAgKi9cbiAgICBzdWNjZXNzKG9wdGlvbnM/OiBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5zZXRGZWVkYmFjaygnc3VjY2VzcycsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOinpuWPkeWksei0peWPjemmiOaTjeS9nFxuICAgICAqL1xuICAgIGVycm9yKG9wdGlvbnM/OiBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5zZXRGZWVkYmFjaygnZXJyb3InLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZlZWRiYWNrKGZlZWRiYWNrOiBUaHlBY3Rpb25GZWVkYmFjaywgb3B0aW9uczogVGh5QWN0aW9uRmVlZGJhY2tPcHRpb25zKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRGZWVkYmFja09wdGlvbnNbZmVlZGJhY2tdLCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5mZWVkYmFjayA9IGZlZWRiYWNrO1xuICAgICAgICB0aGlzLmZlZWRiYWNrT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBpZiAob3B0aW9ucy5kdXJhdGlvbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2tUaW1lcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tUaW1lci51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5mZWVkYmFja1RpbWVyID0gdGltZXIob3B0aW9ucy5kdXJhdGlvbikuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZlZWRiYWNrID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmZlZWRiYWNrT3B0aW9ucyA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1hY3Rpb24td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEFjdGlvblR5cGUodmFsdWU6IFRoeUFjdGlvblR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICBsZXQgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGBhY3Rpb24tJHt0aGlzLnR5cGV9YCk7XG4gICAgICAgIGlmICh0aGlzLnRoeVRoZW1lID09PSAnbGl0ZScpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgndGh5LWFjdGlvbi1saXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoY2xhc3NOYW1lcyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmVlZGJhY2tUaW1lcj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8dGh5LWljb24gKm5nSWY9XCJpY29uICYmICFmZWVkYmFja1wiIFt0aHlJY29uTmFtZV09XCJpY29uXCI+PC90aHktaWNvbj5cbjx0aHktaWNvbiAqbmdJZj1cImZlZWRiYWNrT3B0aW9ucz8uaWNvblwiIFtjbGFzc109XCJmZWVkYmFja09wdGlvbnMuY2xhc3NcIiBbdGh5SWNvbk5hbWVdPVwiZmVlZGJhY2tPcHRpb25zLmljb25cIj48L3RoeS1pY29uPlxuPHRoeS1pY29uIGNsYXNzPVwiaG92ZXItaWNvblwiICpuZ0lmPVwidGh5SG92ZXJJY29uXCIgW3RoeUljb25OYW1lXT1cInRoeUhvdmVySWNvblwiPjwvdGh5LWljb24+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -81,7 +81,9 @@ export class ThyFormValidatorLoader {
|
|
|
81
81
|
defaultRemoveError(element) {
|
|
82
82
|
if (element && element.parentElement) {
|
|
83
83
|
const invalidFeedback = element.parentElement.querySelector('.invalid-feedback');
|
|
84
|
-
|
|
84
|
+
if (invalidFeedback) {
|
|
85
|
+
element.parentElement.removeChild(invalidFeedback);
|
|
86
|
+
}
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
removeError(element) {
|
|
@@ -127,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
127
129
|
type: Inject,
|
|
128
130
|
args: [THY_VALIDATOR_CONFIG]
|
|
129
131
|
}] }]; } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3ItbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZm9ybS12YWxpZGF0b3ItbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLG9CQUFvQixFQUEyRCxNQUFNLGNBQWMsQ0FBQzs7QUFFN0csTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDO0FBRXRELE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUNuQyxNQUFNLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDO0FBRWxELE1BQU0sc0JBQXNCLEdBQWlDO0lBQ3pELGdCQUFnQixFQUFFLElBQUk7SUFDdEIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixrQkFBa0IsRUFBRSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFHO0lBQzdCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsU0FBUyxFQUFFLHlCQUF5QjtJQUNwQyxjQUFjLEVBQUUsZUFBZTtJQUMvQixLQUFLLEVBQUUsWUFBWTtJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsWUFBWTtJQUNqQixHQUFHLEVBQUUsaUJBQWlCO0lBQ3RCLEdBQUcsRUFBRSxpQkFBaUI7Q0FDekIsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQUd2QiwyQkFBMkIsQ0FBQyxHQUFXO1FBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLHdC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LENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxRQUFtQztRQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDJCQUEyQixDQUFDLGtCQUFzQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0lBQzlELENBQUM7O21IQXBHUSxzQkFBc0Isa0JBWW5CLG9CQUFvQjt1SEFadkIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQVlGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgaGVscGVycyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRIWV9WQUxJREFUT1JfQ09ORklHLCBUaHlGb3JtVmFsaWRhdGlvbk1lc3NhZ2VzLCBUaHlGb3JtVmFsaWRhdG9yR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi9mb3JtLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IEVSUk9SX1ZBTFVFX1JFUExBQ0VfUkVHRVggPSAvXFx7KC4rPylcXH0vZztcblxuY29uc3QgSU5WQUxJRF9DTEFTUyA9ICdpcy1pbnZhbGlkJztcbmNvbnN0IElOVkFMSURfRkVFREJBQ0tfQ0xBU1MgPSAnaW52YWxpZC1mZWVkYmFjayc7XG5cbmNvbnN0IGRlZmF1bHRWYWxpZGF0b3JDb25maWc6IFRoeUZvcm1WYWxpZGF0b3JHbG9iYWxDb25maWcgPSB7XG4gICAgc2hvd0VsZW1lbnRFcnJvcjogdHJ1ZSxcbiAgICByZW1vdmVFbGVtZW50RXJyb3I6IHRydWUsXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiB7fVxufTtcblxuY29uc3QgZ2xvYmFsVmFsaWRhdGlvbk1lc3NhZ2VzID0ge1xuICAgIHJlcXVpcmVkOiAn6K+l6YCJ6aG55LiN6IO95Li656m6JyxcbiAgICBtYXhsZW5ndGg6ICfor6XpgInpobnovpPlhaXlgLzplb/luqbkuI3og73lpKfkuo57bWF4bGVuZ3RofScsXG4gICAgbWlubGVuZ3RoOiAn6K+l6YCJ6aG56L6T5YWl5YC86ZW/5bqm5LiN6IO95bCP5LqOe21pbmxlbmd0aH0nLFxuICAgIHRoeVVuaXF1ZUNoZWNrOiAn6L6T5YWl5YC85bey57uP5a2Y5Zyo77yM6K+36YeN5paw6L6T5YWlJyxcbiAgICBlbWFpbDogJ+i+k+WFpemCruS7tueahOagvOW8j+S4jeato+ehricsXG4gICAgY29uZmlybTogJ+S4pOasoei+k+WFpeS4jeS4gOiHtCcsXG4gICAgcGF0dGVybjogJ+ivpemAiemhuei+k+WFpeagvOW8j+S4jeato+ehricsXG4gICAgbnVtYmVyOiAn5b+F6aG76L6T5YWl5pWw5a2XJyxcbiAgICB1cmw6ICfovpPlhaVVUkzmoLzlvI/kuI3mraPnoa4nLFxuICAgIG1heDogJ+ivpemAiemhuei+k+WFpeWAvOS4jeiDveWkp+S6jnttYXh9JyxcbiAgICBtaW46ICfor6XpgInpobnovpPlhaXlgLzkuI3og73lsI/kuo57bWlufSdcbn07XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoeUZvcm1WYWxpZGF0b3JMb2FkZXIge1xuICAgIHByaXZhdGUgY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yR2xvYmFsQ29uZmlnO1xuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0VmFsaWRhdGlvbk1lc3NhZ2Uoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmdsb2JhbFZhbGlkYXRpb25NZXNzYWdlcyAmJiB0aGlzLmNvbmZpZy5nbG9iYWxWYWxpZGF0aW9uTWVzc2FnZXNba2V5XSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdsb2JhbFZhbGlkYXRpb25NZXNzYWdlc1trZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFZhbGlkYXRpb25NZXNzYWdlc1trZXldO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9WQUxJREFUT1JfQ09ORklHKVxuICAgICAgICBjb25maWc6IFRoeUZvcm1WYWxpZGF0b3JHbG9iYWxDb25maWdcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsaWRhdG9yQ29uZmlnLCBjb25maWcpO1xuICAgIH1cblxuICAgIGdldCB2YWxpZGF0aW9uTWVzc2FnZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXM7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkYXRlT24oKSB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWc/LnZhbGlkYXRlT24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnZhbGlkYXRlT24gPSAnc3VibWl0JztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudmFsaWRhdGVPbjtcbiAgICB9XG5cbiAgICBpc0VsZW1lbnRJbklucHV0R3JvdXAoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuICEhKGVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ1RIWS1JTlBVVC1HUk9VUCcpO1xuICAgIH1cblxuICAgIGdldEVycm9yTWVzc2FnZShuYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzW25hbWVdICYmIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzW25hbWVdW2tleV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25NZXNzYWdlc1tuYW1lXVtrZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFZhbGlkYXRpb25NZXNzYWdlKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRFcnJvck1lc3NhZ2VzKG5hbWU6IHN0cmluZywgdmFsaWRhdGlvbkVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB2YWxpZGF0aW9uRXJyb3IgaW4gdmFsaWRhdGlvbkVycm9ycykge1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25FcnJvcnMuaGFzT3duUHJvcGVydHkodmFsaWRhdGlvbkVycm9yKSkge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2godGhpcy5nZXRFcnJvck1lc3NhZ2UobmFtZSwgdmFsaWRhdGlvbkVycm9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1lc3NhZ2VzO1xuICAgIH1cblxuICAgIGRlZmF1bHRTaG93RXJyb3IoZWxlbWVudDogSFRNTEVsZW1lbnQsIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRGcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICAgICAgY29uc3QgZGl2Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuICAgICAgICAgICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlcnJvck1lc3NhZ2VzWzBdKTtcbiAgICAgICAgICAgIGRpdk5vZGUuYXBwZW5kQ2hpbGQodGV4dE5vZGUpO1xuICAgICAgICAgICAgZGl2Tm9kZS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgSU5WQUxJRF9GRUVEQkFDS19DTEFTUyk7XG4gICAgICAgICAgICBkb2N1bWVudEZyYWcuYXBwZW5kQ2hpbGQoZGl2Tm9kZSk7XG4gICAgICAgICAgICBlbGVtZW50LnBhcmVudEVsZW1lbnQuYXBwZW5kKGRvY3VtZW50RnJhZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZWZhdWx0UmVtb3ZlRXJyb3IoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpbnZhbGlkRmVlZGJhY2sgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmludmFsaWQtZmVlZGJhY2snKTtcbiAgICAgICAgICAgIGVsZW1lbnQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChpbnZhbGlkRmVlZGJhY2spO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlRXJyb3IoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xFbGVtZW50ID0gdGhpcy5pc0VsZW1lbnRJbklucHV0R3JvdXAoZWxlbWVudCkgPyBlbGVtZW50LnBhcmVudEVsZW1lbnQgOiBlbGVtZW50O1xuICAgICAgICBmb3JtQ29udHJvbEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShJTlZBTElEX0NMQVNTKTtcbiAgICAgICAgaWYgKGhlbHBlcnMuaXNGdW5jdGlvbih0aGlzLmNvbmZpZy5yZW1vdmVFbGVtZW50RXJyb3IpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5yZW1vdmVFbGVtZW50RXJyb3IoZm9ybUNvbnRyb2xFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5zaG93RWxlbWVudEVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRSZW1vdmVFcnJvcihmb3JtQ29udHJvbEVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gZG8gbm90aGluZ3NcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dFcnJvcihlbGVtZW50OiBIVE1MRWxlbWVudCwgZXJyb3JNZXNzYWdlczogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xFbGVtZW50ID0gdGhpcy5pc0VsZW1lbnRJbklucHV0R3JvdXAoZWxlbWVudCkgPyBlbGVtZW50LnBhcmVudEVsZW1lbnQgOiBlbGVtZW50O1xuICAgICAgICBmb3JtQ29udHJvbEVsZW1lbnQuY2xhc3NMaXN0LmFkZChJTlZBTElEX0NMQVNTKTtcbiAgICAgICAgaWYgKGhlbHBlcnMuaXNGdW5jdGlvbih0aGlzLmNvbmZpZy5zaG93RWxlbWVudEVycm9yKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcuc2hvd0VsZW1lbnRFcnJvcihmb3JtQ29udHJvbEVsZW1lbnQsIGVycm9yTWVzc2FnZXMpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnNob3dFbGVtZW50RXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFNob3dFcnJvcihmb3JtQ29udHJvbEVsZW1lbnQsIGVycm9yTWVzc2FnZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gZG8gbm90aGluZ3NcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZFZhbGlkYXRpb25NZXNzYWdlcyhtZXNzYWdlczogVGh5Rm9ybVZhbGlkYXRpb25NZXNzYWdlcykge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29uZmlnLnZhbGlkYXRpb25NZXNzYWdlcywgbWVzc2FnZXMpO1xuICAgIH1cblxuICAgIHNldEdsb2JhbFZhbGlkYXRpb25NZXNzYWdlcyh2YWxpZGF0aW9uTWVzc2FnZXM6IERpY3Rpb25hcnk8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmNvbmZpZy5nbG9iYWxWYWxpZGF0aW9uTWVzc2FnZXMgPSB2YWxpZGF0aW9uTWVzc2FnZXM7XG4gICAgfVxufVxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3ItbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZm9ybS12YWxpZGF0b3ItbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLG9CQUFvQixFQUEyRCxNQUFNLGNBQWMsQ0FBQzs7QUFFN0csTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDO0FBRXRELE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQUNuQyxNQUFNLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDO0FBRWxELE1BQU0sc0JBQXNCLEdBQWlDO0lBQ3pELGdCQUFnQixFQUFFLElBQUk7SUFDdEIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixrQkFBa0IsRUFBRSxFQUFFO0NBQ3pCLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFHO0lBQzdCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsU0FBUyxFQUFFLHlCQUF5QjtJQUNwQyxjQUFjLEVBQUUsZUFBZTtJQUMvQixLQUFLLEVBQUUsWUFBWTtJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsWUFBWTtJQUNqQixHQUFHLEVBQUUsaUJBQWlCO0lBQ3RCLEdBQUcsRUFBRSxpQkFBaUI7Q0FDekIsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQUd2QiwyQkFBMkIsQ0FBQyxHQUFXO1FBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLHdC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RDthQUFNO1lBQ0gsY0FBYztTQUNqQjtJQUNMLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxRQUFtQztRQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDJCQUEyQixDQUFDLGtCQUFzQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0lBQzlELENBQUM7O21IQXRHUSxzQkFBc0Isa0JBWW5CLG9CQUFvQjt1SEFadkIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQVlGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgaGVscGVycyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRIWV9WQUxJREFUT1JfQ09ORklHLCBUaHlGb3JtVmFsaWRhdGlvbk1lc3NhZ2VzLCBUaHlGb3JtVmFsaWRhdG9yR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi9mb3JtLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IEVSUk9SX1ZBTFVFX1JFUExBQ0VfUkVHRVggPSAvXFx7KC4rPylcXH0vZztcblxuY29uc3QgSU5WQUxJRF9DTEFTUyA9ICdpcy1pbnZhbGlkJztcbmNvbnN0IElOVkFMSURfRkVFREJBQ0tfQ0xBU1MgPSAnaW52YWxpZC1mZWVkYmFjayc7XG5cbmNvbnN0IGRlZmF1bHRWYWxpZGF0b3JDb25maWc6IFRoeUZvcm1WYWxpZGF0b3JHbG9iYWxDb25maWcgPSB7XG4gICAgc2hvd0VsZW1lbnRFcnJvcjogdHJ1ZSxcbiAgICByZW1vdmVFbGVtZW50RXJyb3I6IHRydWUsXG4gICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiB7fVxufTtcblxuY29uc3QgZ2xvYmFsVmFsaWRhdGlvbk1lc3NhZ2VzID0ge1xuICAgIHJlcXVpcmVkOiAn6K+l6YCJ6aG55LiN6IO95Li656m6JyxcbiAgICBtYXhsZW5ndGg6ICfor6XpgInpobnovpPlhaXlgLzplb/luqbkuI3og73lpKfkuo57bWF4bGVuZ3RofScsXG4gICAgbWlubGVuZ3RoOiAn6K+l6YCJ6aG56L6T5YWl5YC86ZW/5bqm5LiN6IO95bCP5LqOe21pbmxlbmd0aH0nLFxuICAgIHRoeVVuaXF1ZUNoZWNrOiAn6L6T5YWl5YC85bey57uP5a2Y5Zyo77yM6K+36YeN5paw6L6T5YWlJyxcbiAgICBlbWFpbDogJ+i+k+WFpemCruS7tueahOagvOW8j+S4jeato+ehricsXG4gICAgY29uZmlybTogJ+S4pOasoei+k+WFpeS4jeS4gOiHtCcsXG4gICAgcGF0dGVybjogJ+ivpemAiemhuei+k+WFpeagvOW8j+S4jeato+ehricsXG4gICAgbnVtYmVyOiAn5b+F6aG76L6T5YWl5pWw5a2XJyxcbiAgICB1cmw6ICfovpPlhaVVUkzmoLzlvI/kuI3mraPnoa4nLFxuICAgIG1heDogJ+ivpemAiemhuei+k+WFpeWAvOS4jeiDveWkp+S6jnttYXh9JyxcbiAgICBtaW46ICfor6XpgInpobnovpPlhaXlgLzkuI3og73lsI/kuo57bWlufSdcbn07XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoeUZvcm1WYWxpZGF0b3JMb2FkZXIge1xuICAgIHByaXZhdGUgY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yR2xvYmFsQ29uZmlnO1xuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0VmFsaWRhdGlvbk1lc3NhZ2Uoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmdsb2JhbFZhbGlkYXRpb25NZXNzYWdlcyAmJiB0aGlzLmNvbmZpZy5nbG9iYWxWYWxpZGF0aW9uTWVzc2FnZXNba2V5XSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdsb2JhbFZhbGlkYXRpb25NZXNzYWdlc1trZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFZhbGlkYXRpb25NZXNzYWdlc1trZXldO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9WQUxJREFUT1JfQ09ORklHKVxuICAgICAgICBjb25maWc6IFRoeUZvcm1WYWxpZGF0b3JHbG9iYWxDb25maWdcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsaWRhdG9yQ29uZmlnLCBjb25maWcpO1xuICAgIH1cblxuICAgIGdldCB2YWxpZGF0aW9uTWVzc2FnZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXM7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkYXRlT24oKSB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWc/LnZhbGlkYXRlT24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnZhbGlkYXRlT24gPSAnc3VibWl0JztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudmFsaWRhdGVPbjtcbiAgICB9XG5cbiAgICBpc0VsZW1lbnRJbklucHV0R3JvdXAoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuICEhKGVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ1RIWS1JTlBVVC1HUk9VUCcpO1xuICAgIH1cblxuICAgIGdldEVycm9yTWVzc2FnZShuYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzW25hbWVdICYmIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzW25hbWVdW2tleV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25NZXNzYWdlc1tuYW1lXVtrZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFZhbGlkYXRpb25NZXNzYWdlKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRFcnJvck1lc3NhZ2VzKG5hbWU6IHN0cmluZywgdmFsaWRhdGlvbkVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB2YWxpZGF0aW9uRXJyb3IgaW4gdmFsaWRhdGlvbkVycm9ycykge1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25FcnJvcnMuaGFzT3duUHJvcGVydHkodmFsaWRhdGlvbkVycm9yKSkge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2godGhpcy5nZXRFcnJvck1lc3NhZ2UobmFtZSwgdmFsaWRhdGlvbkVycm9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1lc3NhZ2VzO1xuICAgIH1cblxuICAgIGRlZmF1bHRTaG93RXJyb3IoZWxlbWVudDogSFRNTEVsZW1lbnQsIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRGcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICAgICAgY29uc3QgZGl2Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuICAgICAgICAgICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlcnJvck1lc3NhZ2VzWzBdKTtcbiAgICAgICAgICAgIGRpdk5vZGUuYXBwZW5kQ2hpbGQodGV4dE5vZGUpO1xuICAgICAgICAgICAgZGl2Tm9kZS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgSU5WQUxJRF9GRUVEQkFDS19DTEFTUyk7XG4gICAgICAgICAgICBkb2N1bWVudEZyYWcuYXBwZW5kQ2hpbGQoZGl2Tm9kZSk7XG4gICAgICAgICAgICBlbGVtZW50LnBhcmVudEVsZW1lbnQuYXBwZW5kKGRvY3VtZW50RnJhZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZWZhdWx0UmVtb3ZlRXJyb3IoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpbnZhbGlkRmVlZGJhY2sgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmludmFsaWQtZmVlZGJhY2snKTtcbiAgICAgICAgICAgIGlmIChpbnZhbGlkRmVlZGJhY2spIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoaW52YWxpZEZlZWRiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUVycm9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sRWxlbWVudCA9IHRoaXMuaXNFbGVtZW50SW5JbnB1dEdyb3VwKGVsZW1lbnQpID8gZWxlbWVudC5wYXJlbnRFbGVtZW50IDogZWxlbWVudDtcbiAgICAgICAgZm9ybUNvbnRyb2xFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoSU5WQUxJRF9DTEFTUyk7XG4gICAgICAgIGlmIChoZWxwZXJzLmlzRnVuY3Rpb24odGhpcy5jb25maWcucmVtb3ZlRWxlbWVudEVycm9yKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcucmVtb3ZlRWxlbWVudEVycm9yKGZvcm1Db250cm9sRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuc2hvd0VsZW1lbnRFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UmVtb3ZlRXJyb3IoZm9ybUNvbnRyb2xFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGRvIG5vdGhpbmdzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93RXJyb3IoZWxlbWVudDogSFRNTEVsZW1lbnQsIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sRWxlbWVudCA9IHRoaXMuaXNFbGVtZW50SW5JbnB1dEdyb3VwKGVsZW1lbnQpID8gZWxlbWVudC5wYXJlbnRFbGVtZW50IDogZWxlbWVudDtcbiAgICAgICAgZm9ybUNvbnRyb2xFbGVtZW50LmNsYXNzTGlzdC5hZGQoSU5WQUxJRF9DTEFTUyk7XG4gICAgICAgIGlmIChoZWxwZXJzLmlzRnVuY3Rpb24odGhpcy5jb25maWcuc2hvd0VsZW1lbnRFcnJvcikpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnNob3dFbGVtZW50RXJyb3IoZm9ybUNvbnRyb2xFbGVtZW50LCBlcnJvck1lc3NhZ2VzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5zaG93RWxlbWVudEVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRTaG93RXJyb3IoZm9ybUNvbnRyb2xFbGVtZW50LCBlcnJvck1lc3NhZ2VzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGRvIG5vdGhpbmdzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRWYWxpZGF0aW9uTWVzc2FnZXMobWVzc2FnZXM6IFRoeUZvcm1WYWxpZGF0aW9uTWVzc2FnZXMpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXMsIG1lc3NhZ2VzKTtcbiAgICB9XG5cbiAgICBzZXRHbG9iYWxWYWxpZGF0aW9uTWVzc2FnZXModmFsaWRhdGlvbk1lc3NhZ2VzOiBEaWN0aW9uYXJ5PHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5jb25maWcuZ2xvYmFsVmFsaWRhdGlvbk1lc3NhZ2VzID0gdmFsaWRhdGlvbk1lc3NhZ2VzO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2020/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('15.3.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('15.3.9');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNS4zLjknKTtcbiJdfQ==
|
|
@@ -5,7 +5,20 @@ import { InputBoolean, getNumericSize } from 'ngx-tethys/core';
|
|
|
5
5
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
6
6
|
import { ThyIconComponent, ThyIconModule } from 'ngx-tethys/icon';
|
|
7
7
|
import { NgIf, CommonModule } from '@angular/common';
|
|
8
|
+
import { timer } from 'rxjs';
|
|
8
9
|
|
|
10
|
+
const defaultFeedbackOptions = {
|
|
11
|
+
success: {
|
|
12
|
+
icon: 'check-circle-fill',
|
|
13
|
+
class: 'text-success',
|
|
14
|
+
duration: 3000
|
|
15
|
+
},
|
|
16
|
+
error: {
|
|
17
|
+
icon: 'close-circle-fill',
|
|
18
|
+
class: 'text-danger',
|
|
19
|
+
duration: 3000
|
|
20
|
+
}
|
|
21
|
+
};
|
|
9
22
|
/**
|
|
10
23
|
* 立即操作组件
|
|
11
24
|
* @name thy-action,[thyAction]
|
|
@@ -45,9 +58,11 @@ class ThyActionComponent {
|
|
|
45
58
|
set thyActionActive(value) {
|
|
46
59
|
this.active = value;
|
|
47
60
|
}
|
|
48
|
-
constructor(elementRef, renderer) {
|
|
61
|
+
constructor(elementRef, renderer, cdr) {
|
|
49
62
|
this.elementRef = elementRef;
|
|
50
63
|
this.renderer = renderer;
|
|
64
|
+
this.cdr = cdr;
|
|
65
|
+
this.feedback = null;
|
|
51
66
|
this.active = false;
|
|
52
67
|
this.type = 'primary';
|
|
53
68
|
this.hostRenderer = useHostRenderer();
|
|
@@ -71,6 +86,37 @@ class ThyActionComponent {
|
|
|
71
86
|
setMarginRight(marginRight) {
|
|
72
87
|
this.elementRef.nativeElement.style.marginRight = marginRight;
|
|
73
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* 触发成功反馈操作
|
|
91
|
+
*/
|
|
92
|
+
success(options) {
|
|
93
|
+
this.setFeedback('success', options);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 触发失败反馈操作
|
|
97
|
+
*/
|
|
98
|
+
error(options) {
|
|
99
|
+
this.setFeedback('error', options);
|
|
100
|
+
}
|
|
101
|
+
setFeedback(feedback, options) {
|
|
102
|
+
if (this.thyDisabled) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
options = Object.assign({}, defaultFeedbackOptions[feedback], options);
|
|
106
|
+
this.feedback = feedback;
|
|
107
|
+
this.feedbackOptions = options;
|
|
108
|
+
this.cdr.markForCheck();
|
|
109
|
+
if (options.duration) {
|
|
110
|
+
if (this.feedbackTimer) {
|
|
111
|
+
this.feedbackTimer.unsubscribe();
|
|
112
|
+
}
|
|
113
|
+
this.feedbackTimer = timer(options.duration).subscribe(() => {
|
|
114
|
+
this.feedback = null;
|
|
115
|
+
this.feedbackOptions = null;
|
|
116
|
+
this.cdr.markForCheck();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
74
120
|
wrapSpanForText(nodes) {
|
|
75
121
|
nodes.forEach(node => {
|
|
76
122
|
if (node.nodeName === '#text') {
|
|
@@ -93,9 +139,13 @@ class ThyActionComponent {
|
|
|
93
139
|
}
|
|
94
140
|
this.hostRenderer.updateClass(classNames);
|
|
95
141
|
}
|
|
142
|
+
ngOnDestroy() {
|
|
143
|
+
var _a;
|
|
144
|
+
(_a = this.feedbackTimer) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
145
|
+
}
|
|
96
146
|
}
|
|
97
|
-
ThyActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyActionComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
ThyActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ThyActionComponent, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: "thyActive", thyActionActive: "thyActionActive", thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: "thyDisabled" }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
147
|
+
ThyActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyActionComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
ThyActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ThyActionComponent, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: "thyActive", thyActionActive: "thyActionActive", thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: "thyDisabled" }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
99
149
|
__decorate([
|
|
100
150
|
InputBoolean(),
|
|
101
151
|
__metadata("design:type", Boolean),
|
|
@@ -116,9 +166,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
116
166
|
class: 'thy-action',
|
|
117
167
|
'[class.active]': 'active',
|
|
118
168
|
'[class.thy-action-hover-icon]': 'thyHoverIcon',
|
|
169
|
+
'[class.thy-action-has-feedback]': '!!feedback',
|
|
119
170
|
'[class.disabled]': 'thyDisabled'
|
|
120
|
-
}, standalone: true, imports: [NgIf, ThyIconComponent], template: "<thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n" }]
|
|
121
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { thyType: [{
|
|
171
|
+
}, standalone: true, imports: [NgIf, ThyIconComponent], template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n" }]
|
|
172
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { thyType: [{
|
|
122
173
|
type: Input
|
|
123
174
|
}], thyIcon: [{
|
|
124
175
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-action.mjs","sources":["../../../src/action/action.component.ts","../../../src/action/action.component.html","../../../src/action/actions.component.ts","../../../src/action/action.module.ts","../../../src/action/ngx-tethys-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n ElementRef,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIconComponent } from 'ngx-tethys/icon';\nimport { NgIf } from '@angular/common';\n\nexport type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';\n\n/**\n * 立即操作组件\n * @name thy-action,[thyAction]\n */\n@Component({\n selector: 'thy-action, [thyAction]',\n templateUrl: './action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-action',\n '[class.active]': 'active',\n '[class.thy-action-hover-icon]': 'thyHoverIcon',\n '[class.disabled]': 'thyDisabled'\n },\n standalone: true,\n imports: [NgIf, ThyIconComponent]\n})\nexport class ThyActionComponent implements OnInit, AfterViewInit, OnChanges {\n icon: string;\n\n private active = false;\n\n private type: string = 'primary';\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 操作图标的类型\n * @type primary | success | danger | warning\n * @default primary\n */\n @Input()\n set thyType(value: ThyActionType) {\n this.setActionType(value || 'primary');\n }\n\n /**\n * 操作图标,支持传参同时也支持在投影中写 thy-icon 组件\n */\n @Input()\n set thyIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon\n */\n @Input()\n set thyActionIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyActionActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作图标的主题\n * @type fill(背景色填充) | lite(简单文本颜色变化)\n */\n @Input() thyTheme: 'fill' | 'lite' = 'fill';\n\n /**\n * Hover 展示的图标\n */\n @Input() thyHoverIcon: string;\n\n /**\n * 是否处于禁用状态\n * @default false\n */\n @Input()\n @InputBoolean()\n thyDisabled: boolean;\n\n constructor(private elementRef: ElementRef<HTMLElement>, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.elementRef.nativeElement.childNodes);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyType && !changes.thyType.firstChange) || (changes.thyTheme && !changes.thyTheme.firstChange)) {\n this.updateClasses();\n }\n }\n\n setMarginRight(marginRight: string) {\n this.elementRef.nativeElement.style.marginRight = marginRight;\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n // this.renderer.addClass(span, 'thy-action-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n\n private setActionType(value: ThyActionType) {\n this.type = value;\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n classNames.push(`action-${this.type}`);\n if (this.thyTheme === 'lite') {\n classNames.push('thy-action-lite');\n }\n this.hostRenderer.updateClass(classNames);\n }\n}\n","<thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n","import {\n Component,\n OnInit,\n OnChanges,\n ChangeDetectionStrategy,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n SimpleChanges\n} from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { ThyActionComponent } from './action.component';\n\n/**\n * Actions 组件\n * @name thy-actions\n */\n@Component({\n selector: 'thy-actions',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-actions'\n },\n standalone: true\n})\nexport class ThyActionsComponent implements OnInit, AfterContentInit, OnChanges {\n @ContentChildren(ThyActionComponent) actions: QueryList<ThyActionComponent>;\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n @Input() thySize: ThySpacingSize = 'md';\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thySize && !changes.thySize.firstChange && this.actions) {\n this.setActionsSize(this.actions.toArray());\n }\n }\n\n ngAfterContentInit(): void {\n this.actions.changes.subscribe((actions: ThyActionComponent[]) => {\n this.setActionsSize(actions);\n });\n this.setActionsSize(this.actions.toArray());\n }\n\n private setActionsSize(actions: ThyActionComponent[]) {\n actions.forEach((action: ThyActionComponent, index) => {\n // can't set marginRight value for last item\n if (index !== actions.length - 1) {\n action.setMarginRight(getNumericSize(this.thySize, 'md') + 'px');\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyActionComponent } from './action.component';\nimport { ThyActionsComponent } from './actions.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyActionComponent, ThyActionsComponent],\n exports: [ThyActionComponent, ThyActionsComponent]\n})\nexport class ThyActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-action.mjs","sources":["../../../src/action/action.component.ts","../../../src/action/action.component.html","../../../src/action/actions.component.ts","../../../src/action/action.module.ts","../../../src/action/ngx-tethys-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n AfterViewInit,\n OnChanges,\n ElementRef,\n Renderer2,\n SimpleChanges,\n ChangeDetectorRef,\n OnDestroy\n} from '@angular/core';\nimport { InputBoolean } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIconComponent } from 'ngx-tethys/icon';\nimport { NgIf } from '@angular/common';\nimport { Subscription, timer } from 'rxjs';\n\nexport type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';\n\nexport type ThyActionFeedback = 'success' | 'error';\n\nexport interface ThyActionFeedbackOptions {\n icon?: string;\n class?: string;\n duration?: number;\n}\n\nconst defaultFeedbackOptions: Record<ThyActionFeedback, ThyActionFeedbackOptions> = {\n success: {\n icon: 'check-circle-fill',\n class: 'text-success',\n duration: 3000\n },\n error: {\n icon: 'close-circle-fill',\n class: 'text-danger',\n duration: 3000\n }\n};\n/**\n * 立即操作组件\n * @name thy-action,[thyAction]\n */\n@Component({\n selector: 'thy-action, [thyAction]',\n templateUrl: './action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-action',\n '[class.active]': 'active',\n '[class.thy-action-hover-icon]': 'thyHoverIcon',\n '[class.thy-action-has-feedback]': '!!feedback',\n '[class.disabled]': 'thyDisabled'\n },\n standalone: true,\n imports: [NgIf, ThyIconComponent]\n})\nexport class ThyActionComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n icon: string;\n\n feedback: ThyActionFeedback = null;\n\n feedbackOptions: ThyActionFeedbackOptions;\n\n active = false;\n\n private type: string = 'primary';\n\n private hostRenderer = useHostRenderer();\n\n private feedbackTimer: Subscription;\n\n /**\n * 操作图标的类型\n * @type primary | success | danger | warning\n * @default primary\n */\n @Input()\n set thyType(value: ThyActionType) {\n this.setActionType(value || 'primary');\n }\n\n /**\n * 操作图标,支持传参同时也支持在投影中写 thy-icon 组件\n */\n @Input()\n set thyIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon\n */\n @Input()\n set thyActionIcon(icon: string) {\n this.icon = icon;\n }\n\n /**\n * 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive\n * @default false\n */\n @Input()\n @InputBoolean()\n set thyActionActive(value: boolean) {\n this.active = value;\n }\n\n /**\n * 操作图标的主题\n * @type fill(背景色填充) | lite(简单文本颜色变化)\n */\n @Input() thyTheme: 'fill' | 'lite' = 'fill';\n\n /**\n * Hover 展示的图标\n */\n @Input() thyHoverIcon: string;\n\n /**\n * 是否处于禁用状态\n * @default false\n */\n @Input()\n @InputBoolean()\n thyDisabled: boolean;\n\n constructor(private elementRef: ElementRef<HTMLElement>, private renderer: Renderer2, private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.elementRef.nativeElement.childNodes);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyType && !changes.thyType.firstChange) || (changes.thyTheme && !changes.thyTheme.firstChange)) {\n this.updateClasses();\n }\n }\n\n setMarginRight(marginRight: string) {\n this.elementRef.nativeElement.style.marginRight = marginRight;\n }\n\n /**\n * 触发成功反馈操作\n */\n success(options?: ThyActionFeedbackOptions) {\n this.setFeedback('success', options);\n }\n\n /**\n * 触发失败反馈操作\n */\n error(options?: ThyActionFeedbackOptions) {\n this.setFeedback('error', options);\n }\n\n private setFeedback(feedback: ThyActionFeedback, options: ThyActionFeedbackOptions) {\n if (this.thyDisabled) {\n return;\n }\n options = Object.assign({}, defaultFeedbackOptions[feedback], options);\n this.feedback = feedback;\n this.feedbackOptions = options;\n this.cdr.markForCheck();\n if (options.duration) {\n if (this.feedbackTimer) {\n this.feedbackTimer.unsubscribe();\n }\n this.feedbackTimer = timer(options.duration).subscribe(() => {\n this.feedback = null;\n this.feedbackOptions = null;\n this.cdr.markForCheck();\n });\n }\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n // this.renderer.addClass(span, 'thy-action-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n\n private setActionType(value: ThyActionType) {\n this.type = value;\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n classNames.push(`action-${this.type}`);\n if (this.thyTheme === 'lite') {\n classNames.push('thy-action-lite');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n ngOnDestroy(): void {\n this.feedbackTimer?.unsubscribe();\n }\n}\n","<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n","import {\n Component,\n OnInit,\n OnChanges,\n ChangeDetectionStrategy,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n SimpleChanges\n} from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { ThyActionComponent } from './action.component';\n\n/**\n * Actions 组件\n * @name thy-actions\n */\n@Component({\n selector: 'thy-actions',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-actions'\n },\n standalone: true\n})\nexport class ThyActionsComponent implements OnInit, AfterContentInit, OnChanges {\n @ContentChildren(ThyActionComponent) actions: QueryList<ThyActionComponent>;\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n @Input() thySize: ThySpacingSize = 'md';\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thySize && !changes.thySize.firstChange && this.actions) {\n this.setActionsSize(this.actions.toArray());\n }\n }\n\n ngAfterContentInit(): void {\n this.actions.changes.subscribe((actions: ThyActionComponent[]) => {\n this.setActionsSize(actions);\n });\n this.setActionsSize(this.actions.toArray());\n }\n\n private setActionsSize(actions: ThyActionComponent[]) {\n actions.forEach((action: ThyActionComponent, index) => {\n // can't set marginRight value for last item\n if (index !== actions.length - 1) {\n action.setMarginRight(getNumericSize(this.thySize, 'md') + 'px');\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyActionComponent } from './action.component';\nimport { ThyActionsComponent } from './actions.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyActionComponent, ThyActionsComponent],\n exports: [ThyActionComponent, ThyActionsComponent]\n})\nexport class ThyActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -103,7 +103,9 @@ class ThyFormValidatorLoader {
|
|
|
103
103
|
defaultRemoveError(element) {
|
|
104
104
|
if (element && element.parentElement) {
|
|
105
105
|
const invalidFeedback = element.parentElement.querySelector('.invalid-feedback');
|
|
106
|
-
|
|
106
|
+
if (invalidFeedback) {
|
|
107
|
+
element.parentElement.removeChild(invalidFeedback);
|
|
108
|
+
}
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
111
|
removeError(element) {
|