@osovitny/anatoly 3.16.82 → 3.16.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/ui/components/html-editor/forms-html-editor.component.mjs +5 -5
- package/esm2022/lib/ui/forms/components/urlslug/urlslug.component.mjs +16 -25
- package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +7 -10
- package/esm2022/lib/ui/validation/validation-summary.component.mjs +53 -60
- package/fesm2022/osovitny-anatoly.mjs +77 -96
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/ui/forms/components/urlslug/urlslug.component.d.ts +3 -6
- package/lib/ui/validation/item-validation-summary.component.d.ts +2 -3
- package/lib/ui/validation/validation-summary.component.d.ts +3 -16
- package/package.json +1 -1
|
@@ -35,7 +35,7 @@ export class FormsHtmlEditorComponent extends HtmlEditorComponentBase {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
static ɵfac = function FormsHtmlEditorComponent_Factory(t) { return new (t || FormsHtmlEditorComponent)(); };
|
|
38
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormsHtmlEditorComponent, selectors: [["anatoly-forms-html-editor"]], inputs: { editorFormKey: "editorFormKey" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars:
|
|
38
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormsHtmlEditorComponent, selectors: [["anatoly-forms-html-editor"]], inputs: { editorFormKey: "editorFormKey" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 10, consts: [[1, "form-group", 3, "formGroup", "ngClass"], [1, "col-form-label"], [3, "formControlName", "froalaEditor", "froalaInit"], [3, "formGroup", "formSubmitted", "controlName"]], template: function FormsHtmlEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
39
39
|
i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
|
|
40
40
|
i0.ɵɵtext(2);
|
|
41
41
|
i0.ɵɵelementEnd();
|
|
@@ -45,19 +45,19 @@ export class FormsHtmlEditorComponent extends HtmlEditorComponentBase {
|
|
|
45
45
|
i0.ɵɵelement(4, "anatoly-item-validation-summary", 3);
|
|
46
46
|
i0.ɵɵelementEnd();
|
|
47
47
|
} if (rf & 2) {
|
|
48
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(
|
|
48
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx.isControlInvalid(ctx.editorFormKey)));
|
|
49
49
|
i0.ɵɵadvance(2);
|
|
50
50
|
i0.ɵɵtextInterpolate(ctx.editorLabelText);
|
|
51
51
|
i0.ɵɵadvance(1);
|
|
52
52
|
i0.ɵɵproperty("formControlName", ctx.editorFormKey)("froalaEditor", ctx.options);
|
|
53
53
|
i0.ɵɵadvance(1);
|
|
54
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("
|
|
54
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("controlName", ctx.editorFormKey);
|
|
55
55
|
} }, dependencies: [i1.NgClass, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.FroalaEditorDirective, i4.NativeElementDirective, i5.ItemValidationSummaryComponent], encapsulation: 2 });
|
|
56
56
|
}
|
|
57
57
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormsHtmlEditorComponent, [{
|
|
58
58
|
type: Component,
|
|
59
|
-
args: [{ selector: "anatoly-forms-html-editor", template: "<div [formGroup]=\"formGroup\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\" class=\"form-group\" >\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\" [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [
|
|
59
|
+
args: [{ selector: "anatoly-forms-html-editor", template: "<div [formGroup]=\"formGroup\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\" class=\"form-group\" >\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\" [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\">\r\n </anatoly-item-validation-summary>\r\n</div>\r\n" }]
|
|
60
60
|
}], function () { return []; }, { editorFormKey: [{
|
|
61
61
|
type: Input
|
|
62
62
|
}] }); })();
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvaHRtbC1lZGl0b3IvZm9ybXMtaHRtbC1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvaHRtbC1lZGl0b3IvZm9ybXMtaHRtbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQU12RSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQXVCO0lBQzFELGFBQWEsR0FBVyxNQUFNLENBQUM7SUFFeEM7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSztRQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxJQUFJO1lBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztrRkFYVSx3QkFBd0I7NkRBQXhCLHdCQUF3QjtZQzFCckMsOEJBQTZHLGVBQUE7WUFDM0UsWUFBcUI7WUFBQSxpQkFBUTtZQUMzRCxtQ0FBOEc7WUFBekMsdUhBQWMsNkJBQXlCLElBQUM7WUFBQyxpQkFBVztZQUN6SCxxREFHa0M7WUFDdEMsaUJBQU07O1lBUEQseUNBQXVCLGdGQUFBO1lBQ00sZUFBcUI7WUFBckIseUNBQXFCO1lBQ3pDLGVBQWlDO1lBQWpDLG1EQUFpQyw2QkFBQTtZQUNWLGVBQXVCO1lBQXZCLHlDQUF1QixvQ0FBQSxrQ0FBQTs7O3VGRHVCL0Msd0JBQXdCO2NBSnBDLFNBQVM7MkJBQ0UsMkJBQTJCO3NDQUk1QixhQUFhO2tCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEyIERlYyAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgSHRtbEVkaXRvckNvbXBvbmVudEJhc2UgfSBmcm9tIFwiLi9iYXNlLWh0bWwtZWRpdG9yLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYW5hdG9seS1mb3Jtcy1odG1sLWVkaXRvclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZm9ybXMtaHRtbC1lZGl0b3IuY29tcG9uZW50Lmh0bWxcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1zSHRtbEVkaXRvckNvbXBvbmVudCBleHRlbmRzIEh0bWxFZGl0b3JDb21wb25lbnRCYXNlIHtcclxuICBASW5wdXQoKSBlZGl0b3JGb3JtS2V5OiBzdHJpbmcgPSBcImh0bWxcIjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEZvcm1WYWx1ZUFmdGVySW5pdGlhbGl6ZWQobmFtZSwgdmFsdWUpIHtcclxuICAgIHRoaXMuZG9BZnRlckluaXRpYWxpemVkKGZ1bmN0aW9uICh0aGF0KSB7XHJcbiAgICAgIHRoYXQuc2V0Rm9ybVZhbHVlKG5hbWUsIHZhbHVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpc0NvbnRyb2xJbnZhbGlkKGVkaXRvckZvcm1LZXkpIH1cIiBjbGFzcz1cImZvcm0tZ3JvdXBcIiA+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtZm9ybS1sYWJlbFwiPnt7IGVkaXRvckxhYmVsVGV4dCB9fTwvbGFiZWw+XHJcbiAgICA8dGV4dGFyZWEgW2Zvcm1Db250cm9sTmFtZV09XCJlZGl0b3JGb3JtS2V5XCIgW2Zyb2FsYUVkaXRvcl09XCJvcHRpb25zXCIgKGZyb2FsYUluaXQpPVwiaW5pdGlhbGl6ZUNvbnRyb2woJGV2ZW50KVwiPjwvdGV4dGFyZWE+XHJcbiAgICA8YW5hdG9seS1pdGVtLXZhbGlkYXRpb24tc3VtbWFyeSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybVN1Ym1pdHRlZF09XCJmb3JtU3VibWl0dGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250cm9sTmFtZV09XCJlZGl0b3JGb3JtS2V5XCI+XHJcbiAgICA8L2FuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnk+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -52,18 +52,13 @@ export class UrlSlugComponent extends EditComponentBase {
|
|
|
52
52
|
//Inputs
|
|
53
53
|
title = 'Permalink:';
|
|
54
54
|
isTitleVisible = true;
|
|
55
|
-
class;
|
|
56
|
-
watchedControlName;
|
|
57
55
|
urlPrefix;
|
|
58
56
|
isGoButtonVisible = true;
|
|
59
57
|
//Validation
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
controlName;
|
|
59
|
+
watchedControlName;
|
|
62
60
|
//Outputs
|
|
63
61
|
generating = new EventEmitter();
|
|
64
|
-
constructor() {
|
|
65
|
-
super();
|
|
66
|
-
}
|
|
67
62
|
ngOnInit() {
|
|
68
63
|
this.startWatching();
|
|
69
64
|
}
|
|
@@ -71,7 +66,7 @@ export class UrlSlugComponent extends EditComponentBase {
|
|
|
71
66
|
let slugedText = Utils.slugify(text);
|
|
72
67
|
let event = { urlSlug: slugedText };
|
|
73
68
|
this.generating.emit(event);
|
|
74
|
-
this.setFormValue(this.
|
|
69
|
+
this.setFormValue(this.controlName, event.urlSlug);
|
|
75
70
|
}
|
|
76
71
|
startWatching() {
|
|
77
72
|
this.subs.sink = this.formGroup.get(this.watchedControlName).valueChanges.subscribe({
|
|
@@ -83,7 +78,7 @@ export class UrlSlugComponent extends EditComponentBase {
|
|
|
83
78
|
this.generateUrlSlug(value);
|
|
84
79
|
}
|
|
85
80
|
});
|
|
86
|
-
this.subs.sink = this.formGroup.get(this.
|
|
81
|
+
this.subs.sink = this.formGroup.get(this.controlName).valueChanges.subscribe({
|
|
87
82
|
next: (value) => {
|
|
88
83
|
this.hrefGo = value;
|
|
89
84
|
}
|
|
@@ -91,11 +86,11 @@ export class UrlSlugComponent extends EditComponentBase {
|
|
|
91
86
|
}
|
|
92
87
|
//Events
|
|
93
88
|
onUrlSlugChange() {
|
|
94
|
-
let text = this.getFormValue(this.
|
|
89
|
+
let text = this.getFormValue(this.controlName);
|
|
95
90
|
this.generateUrlSlug(text);
|
|
96
91
|
}
|
|
97
|
-
static ɵfac = function UrlSlugComponent_Factory(t) { return
|
|
98
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UrlSlugComponent, selectors: [["anatoly-forms-urlslug"]], inputs: { title: "title", isTitleVisible: "isTitleVisible",
|
|
92
|
+
static ɵfac = /*@__PURE__*/ function () { let ɵUrlSlugComponent_BaseFactory; return function UrlSlugComponent_Factory(t) { return (ɵUrlSlugComponent_BaseFactory || (ɵUrlSlugComponent_BaseFactory = i0.ɵɵgetInheritedFactory(UrlSlugComponent)))(t || UrlSlugComponent); }; }();
|
|
93
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UrlSlugComponent, selectors: [["anatoly-forms-urlslug"]], inputs: { title: "title", isTitleVisible: "isTitleVisible", urlPrefix: "urlPrefix", isGoButtonVisible: "isGoButtonVisible", controlName: "controlName", watchedControlName: "watchedControlName" }, outputs: { generating: "generating" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 13, consts: [[3, "formGroup", "ngClass"], [1, "d-flex", "align-items-end"], [3, "formGroup", "formSubmitted", "formControlName"], [1, "form-group"], ["class", "col-form-label", 4, "ngIf"], ["type", "text", "placeholder", "Type url slug here", 1, "form-control", 3, "formControlName", "focusout"], ["class", "form-group flex-shrink-1", 4, "ngIf"], [1, "col-form-label"], [1, "urlPrefix"], [1, "form-group", "flex-shrink-1"], ["target", "_blank", 1, "btn", "btn-primary", 3, "href"]], template: function UrlSlugComponent_Template(rf, ctx) { if (rf & 1) {
|
|
99
94
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
100
95
|
i0.ɵɵelement(2, "anatoly-item-validation-summary", 2);
|
|
101
96
|
i0.ɵɵelementStart(3, "div", 3);
|
|
@@ -106,38 +101,34 @@ export class UrlSlugComponent extends EditComponentBase {
|
|
|
106
101
|
i0.ɵɵtemplate(6, UrlSlugComponent_div_6_Template, 3, 2, "div", 6);
|
|
107
102
|
i0.ɵɵelementEnd()();
|
|
108
103
|
} if (rf & 2) {
|
|
109
|
-
i0.ɵɵclassMapInterpolate1("permalink form-group ", ctx.
|
|
110
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(
|
|
104
|
+
i0.ɵɵclassMapInterpolate1("permalink form-group ", ctx.classes, "");
|
|
105
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(11, _c0, ctx.isControlInvalid(ctx.controlName)));
|
|
111
106
|
i0.ɵɵadvance(2);
|
|
112
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("formControlName", ctx.
|
|
107
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("formControlName", ctx.controlName);
|
|
113
108
|
i0.ɵɵadvance(2);
|
|
114
109
|
i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
|
|
115
110
|
i0.ɵɵadvance(1);
|
|
116
|
-
i0.ɵɵproperty("formControlName", ctx.
|
|
111
|
+
i0.ɵɵproperty("formControlName", ctx.controlName);
|
|
117
112
|
i0.ɵɵadvance(1);
|
|
118
113
|
i0.ɵɵproperty("ngIf", ctx.isGoButtonVisible);
|
|
119
114
|
} }, dependencies: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.NativeElementDirective, i4.ItemValidationSummaryComponent], encapsulation: 2 });
|
|
120
115
|
}
|
|
121
116
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlSlugComponent, [{
|
|
122
117
|
type: Component,
|
|
123
|
-
args: [{ selector: 'anatoly-forms-urlslug', template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(
|
|
124
|
-
}],
|
|
118
|
+
args: [{ selector: 'anatoly-forms-urlslug', template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(controlName)}\"\r\n class=\"permalink form-group {{ classes }}\">\r\n <div class=\"d-flex align-items-end\">\r\n <anatoly-item-validation-summary\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n [formControlName]='controlName'>\r\n </anatoly-item-validation-summary>\r\n\r\n <div class=\"form-group\">\r\n <label *ngIf='isTitleVisible' class='col-form-label'>\r\n {{ title }}\r\n <span class=\"urlPrefix\">{{ urlPrefix }}</span>\r\n </label>\r\n <input type='text'\r\n class='form-control'\r\n placeholder='Type url slug here'\r\n [formControlName]='controlName'\r\n (focusout)='onUrlSlugChange()' />\r\n </div>\r\n\r\n <div class=\"form-group flex-shrink-1\" *ngIf=\"isGoButtonVisible\">\r\n <a href=\"{{urlPrefix}}{{hrefGo}}\" target=\"_blank\" class=\"btn btn-primary\">Go</a>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
119
|
+
}], null, { title: [{
|
|
125
120
|
type: Input
|
|
126
121
|
}], isTitleVisible: [{
|
|
127
122
|
type: Input
|
|
128
|
-
}], class: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], watchedControlName: [{
|
|
131
|
-
type: Input
|
|
132
123
|
}], urlPrefix: [{
|
|
133
124
|
type: Input
|
|
134
125
|
}], isGoButtonVisible: [{
|
|
135
126
|
type: Input
|
|
136
|
-
}],
|
|
127
|
+
}], controlName: [{
|
|
137
128
|
type: Input
|
|
138
|
-
}],
|
|
129
|
+
}], watchedControlName: [{
|
|
139
130
|
type: Input
|
|
140
131
|
}], generating: [{
|
|
141
132
|
type: Output
|
|
142
133
|
}] }); })();
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsc2x1Zy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZm9ybXMvY29tcG9uZW50cy91cmxzbHVnL3VybHNsdWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2Zvcm1zL2NvbXBvbmVudHMvdXJsc2x1Zy91cmxzbHVnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTFGLEtBQUs7QUFDTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7SUNYekMsZ0NBQXFEO0lBQ25ELFlBQ0E7SUFBQSwrQkFBd0I7SUFBQSxZQUFlO0lBQUEsaUJBQU8sRUFBQTs7O0lBRDlDLGVBQ0E7SUFEQSw2Q0FDQTtJQUF3QixlQUFlO0lBQWYsc0NBQWU7OztJQVMzQyw4QkFBZ0UsWUFBQTtJQUNZLGtCQUFFO0lBQUEsaUJBQUksRUFBQTs7O0lBQTdFLGVBQThCO0lBQTlCLGdHQUE4Qjs7O0FES3ZDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUFDckQsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixNQUFNLENBQVM7SUFFZixRQUFRO0lBQ0MsS0FBSyxHQUFXLFlBQVksQ0FBQztJQUM3QixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRXRCLFNBQVMsQ0FBUztJQUNsQixpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFFbEMsWUFBWTtJQUNILFdBQVcsQ0FBUztJQUNwQixrQkFBa0IsQ0FBUztJQUVwQyxTQUFTO0lBQ0MsVUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTdELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFJO1FBQzFCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLEdBQUcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1lBQ2xGLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ3hCLE9BQU87aUJBQ1I7Z0JBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDM0UsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO0lBQ1IsZUFBZTtRQUNiLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztrT0FyRFUsZ0JBQWdCLFNBQWhCLGdCQUFnQjs2REFBaEIsZ0JBQWdCO1lDM0I3Qiw4QkFDNkMsYUFBQTtZQUV6QyxxREFJa0M7WUFFbEMsOEJBQXdCO1lBQ3RCLHFFQUdRO1lBQ1IsZ0NBSXdDO1lBQWpDLGtHQUFZLHFCQUFpQixJQUFDO1lBSnJDLGlCQUl3QyxFQUFBO1lBRzFDLGlFQUVNO1lBQ1IsaUJBQU0sRUFBQTs7WUF2Qk4sbUVBQTBDO1lBRHZDLHlDQUF1QiwrRUFBQTtZQUl0QixlQUF1QjtZQUF2Qix5Q0FBdUIsb0NBQUEsb0NBQUE7WUFNZixlQUFvQjtZQUFwQix5Q0FBb0I7WUFPckIsZUFBK0I7WUFBL0IsaURBQStCO1lBSUQsZUFBdUI7WUFBdkIsNENBQXVCOzs7dUZETXJELGdCQUFnQjtjQUo1QixTQUFTOzJCQUNFLHVCQUF1QjtnQkFReEIsS0FBSztrQkFBYixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFHRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBR0ksVUFBVTtrQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAwMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEVkaXRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9iYXNlL2NvbXBvbmVudHMvZWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWZvcm1zLXVybHNsdWcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cmxzbHVnLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXJsU2x1Z0NvbXBvbmVudCBleHRlbmRzIEVkaXRDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmaXJzdFZhbHVlOiBib29sZWFuID0gdHJ1ZTtcclxuICBocmVmR286IHN0cmluZztcclxuXHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ1Blcm1hbGluazonO1xyXG4gIEBJbnB1dCgpIGlzVGl0bGVWaXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgdXJsUHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNHb0J1dHRvblZpc2libGUgPSB0cnVlO1xyXG5cclxuICAvL1ZhbGlkYXRpb25cclxuICBASW5wdXQoKSBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHdhdGNoZWRDb250cm9sTmFtZTogc3RyaW5nO1xyXG5cclxuICAvL091dHB1dHNcclxuICBAT3V0cHV0KCkgZ2VuZXJhdGluZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdGFydFdhdGNoaW5nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlVXJsU2x1Zyh0ZXh0KSB7XHJcbiAgICBsZXQgc2x1Z2VkVGV4dCA9IFV0aWxzLnNsdWdpZnkodGV4dCk7XHJcbiAgICBsZXQgZXZlbnQgPSB7IHVybFNsdWc6IHNsdWdlZFRleHQgfTtcclxuXHJcbiAgICB0aGlzLmdlbmVyYXRpbmcuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLnNldEZvcm1WYWx1ZSh0aGlzLmNvbnRyb2xOYW1lLCAgZXZlbnQudXJsU2x1Zyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXJ0V2F0Y2hpbmcoKSB7XHJcbiAgICB0aGlzLnN1YnMuc2luayA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLndhdGNoZWRDb250cm9sTmFtZSkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmZpcnN0VmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVVybFNsdWcodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnN1YnMuc2luayA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmNvbnRyb2xOYW1lKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ocmVmR28gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uVXJsU2x1Z0NoYW5nZSgpe1xyXG4gICAgbGV0IHRleHQgPSB0aGlzLmdldEZvcm1WYWx1ZSh0aGlzLmNvbnRyb2xOYW1lKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVVcmxTbHVnKHRleHQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPSdmb3JtR3JvdXAnIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaXNDb250cm9sSW52YWxpZChjb250cm9sTmFtZSl9XCJcclxuICBjbGFzcz1cInBlcm1hbGluayBmb3JtLWdyb3VwIHt7IGNsYXNzZXMgfX1cIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgPGFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnlcclxuICAgICAgW2Zvcm1Hcm91cF09J2Zvcm1Hcm91cCdcclxuICAgICAgW2Zvcm1TdWJtaXR0ZWRdPSdmb3JtU3VibWl0dGVkJ1xyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT0nY29udHJvbE5hbWUnPlxyXG4gICAgPC9hbmF0b2x5LWl0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgIDxsYWJlbCAqbmdJZj0naXNUaXRsZVZpc2libGUnIGNsYXNzPSdjb2wtZm9ybS1sYWJlbCc+XHJcbiAgICAgICAge3sgdGl0bGUgfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInVybFByZWZpeFwiPnt7IHVybFByZWZpeCB9fTwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPGlucHV0IHR5cGU9J3RleHQnXHJcbiAgICAgICAgICAgICBjbGFzcz0nZm9ybS1jb250cm9sJ1xyXG4gICAgICAgICAgICAgcGxhY2Vob2xkZXI9J1R5cGUgdXJsIHNsdWcgaGVyZSdcclxuICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPSdjb250cm9sTmFtZSdcclxuICAgICAgICAgICAgIChmb2N1c291dCk9J29uVXJsU2x1Z0NoYW5nZSgpJyAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZmxleC1zaHJpbmstMVwiICpuZ0lmPVwiaXNHb0J1dHRvblZpc2libGVcIj5cclxuICAgICAgPGEgaHJlZj1cInt7dXJsUHJlZml4fX17e2hyZWZHb319XCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5HbzwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -35,24 +35,21 @@ function ItemValidationSummaryComponent_ul_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
35
35
|
} if (rf & 2) {
|
|
36
36
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
37
37
|
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵproperty("ngForOf", ctx_r0.getValidationMessages(ctx_r0.formGroup.
|
|
38
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.getValidationMessages(ctx_r0.formGroup.controls[ctx_r0.controlName]));
|
|
39
39
|
} }
|
|
40
40
|
export class ItemValidationSummaryComponent extends ValidationSummaryComponent {
|
|
41
|
-
|
|
42
|
-
formControlTitle;
|
|
41
|
+
controlName;
|
|
43
42
|
static ɵfac = /*@__PURE__*/ function () { let ɵItemValidationSummaryComponent_BaseFactory; return function ItemValidationSummaryComponent_Factory(t) { return (ɵItemValidationSummaryComponent_BaseFactory || (ɵItemValidationSummaryComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ItemValidationSummaryComponent)))(t || ItemValidationSummaryComponent); }; }();
|
|
44
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ItemValidationSummaryComponent, selectors: [["anatoly-item-validation-summary"]], inputs: {
|
|
43
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ItemValidationSummaryComponent, selectors: [["anatoly-item-validation-summary"]], inputs: { controlName: "controlName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "list-unstyled", 4, "ngIf"], [1, "list-unstyled"], [4, "ngFor", "ngForOf"], [1, "help-block"]], template: function ItemValidationSummaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
45
44
|
i0.ɵɵtemplate(0, ItemValidationSummaryComponent_ul_0_Template, 2, 1, "ul", 0);
|
|
46
45
|
} if (rf & 2) {
|
|
47
|
-
i0.ɵɵproperty("ngIf", ctx.isControlInvalid(ctx.
|
|
46
|
+
i0.ɵɵproperty("ngIf", ctx.isControlInvalid(ctx.controlName));
|
|
48
47
|
} }, dependencies: [i1.NgForOf, i1.NgIf], encapsulation: 2 });
|
|
49
48
|
}
|
|
50
49
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ItemValidationSummaryComponent, [{
|
|
51
50
|
type: Component,
|
|
52
|
-
args: [{ selector: "anatoly-item-validation-summary", template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(
|
|
53
|
-
}], null, {
|
|
54
|
-
type: Input
|
|
55
|
-
}], formControlTitle: [{
|
|
51
|
+
args: [{ selector: "anatoly-item-validation-summary", template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.controls[controlName])\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n" }]
|
|
52
|
+
}], null, { controlName: [{
|
|
56
53
|
type: Input
|
|
57
54
|
}] }); })();
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL3ZhbGlkYXRpb24vaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL3ZhbGlkYXRpb24vaXRlbS12YWxpZGF0aW9uLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0lDbkIxRSwwQkFBaUYsY0FBQTtJQUN0RCxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxCLGVBQVc7SUFBWCw4QkFBVzs7O0lBRnhDLDZCQUFnRTtJQUM5RCxrRkFFSztJQUNQLGlCQUFLOzs7SUFIbUIsZUFBeUQ7SUFBekQscUdBQXlEOztBRHlCakYsTUFBTSxPQUFPLDhCQUErQixTQUFRLDBCQUEwQjtJQUNuRSxXQUFXLENBQVM7MFJBRGxCLDhCQUE4QixTQUE5Qiw4QkFBOEI7NkRBQTlCLDhCQUE4QjtZQzFCM0MsNkVBSUs7O1lBSnNCLDREQUFtQzs7O3VGRDBCakQsOEJBQThCO2NBSjFDLFNBQVM7MkJBQ0UsaUNBQWlDO2dCQUlsQyxXQUFXO2tCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDYgRGVjIDIwMTdcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gXCIuL3ZhbGlkYXRpb24tc3VtbWFyeS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFuYXRvbHktaXRlbS12YWxpZGF0aW9uLXN1bW1hcnlcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2l0ZW0tdmFsaWRhdGlvbi1zdW1tYXJ5LmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJdGVtVmFsaWRhdGlvblN1bW1hcnlDb21wb25lbnQgZXh0ZW5kcyBWYWxpZGF0aW9uU3VtbWFyeUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29udHJvbE5hbWU6IHN0cmluZztcclxufVxyXG4iLCI8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCIgKm5nSWY9XCJpc0NvbnRyb2xJbnZhbGlkKGNvbnRyb2xOYW1lKVwiPlxyXG4gIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzKGZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0pXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImhlbHAtYmxvY2tcIj57eyBlcnJvciB9fTwvc3Bhbj5cclxuICA8L2xpPlxyXG48L3VsPlxyXG5cclxuIl19
|
|
@@ -22,34 +22,76 @@ export class ValidationSummaryComponent extends EditComponentBase {
|
|
|
22
22
|
constructor() {
|
|
23
23
|
super();
|
|
24
24
|
}
|
|
25
|
+
getControlTitle(control, name) {
|
|
26
|
+
if (control?.nativeElement) {
|
|
27
|
+
let value = this.getTitleAttribute(control.nativeElement);
|
|
28
|
+
return value ? value : name;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
getTitleAttribute(nativeElement) {
|
|
33
|
+
let title;
|
|
34
|
+
let element;
|
|
35
|
+
let tagName = nativeElement.tagName;
|
|
36
|
+
switch (tagName) {
|
|
37
|
+
// For Kendo time and date picker element title is assigned to the 4th child control.
|
|
38
|
+
case "KENDO-TIMEPICKER":
|
|
39
|
+
case "KENDO-DATEPICKER":
|
|
40
|
+
element = nativeElement.children[0]?.children[0]?.children[0]?.children[0];
|
|
41
|
+
break;
|
|
42
|
+
// For Kendo numaric element title is assigned to the 2nd child control.
|
|
43
|
+
case "KENDO-NUMERICTEXTBOX":
|
|
44
|
+
element = nativeElement.children[0]?.children[0];
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
element = nativeElement;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
if (element) {
|
|
51
|
+
title = element.getAttribute("formControlTitle");
|
|
52
|
+
if (!title) {
|
|
53
|
+
title = element.getAttribute("title");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return title;
|
|
57
|
+
}
|
|
25
58
|
getFormValidationMessages() {
|
|
26
59
|
let messages = [];
|
|
27
60
|
Object.keys(this.formGroup.controls).forEach((k) => {
|
|
28
|
-
|
|
61
|
+
let control = this.formGroup.controls[k];
|
|
29
62
|
if (control.controls != null) {
|
|
30
63
|
Object.keys(control.controls).forEach((k) => {
|
|
31
64
|
var child = control.controls[k];
|
|
32
|
-
this.getValidationMessages(child, this.
|
|
65
|
+
this.getValidationMessages(child, this.getControlTitle(child, k)).forEach((m) => messages.push(m));
|
|
33
66
|
});
|
|
34
67
|
}
|
|
35
68
|
else {
|
|
36
|
-
this.getValidationMessages(control, this.
|
|
69
|
+
this.getValidationMessages(control, this.getControlTitle(control, k)).forEach((m) => messages.push(m));
|
|
37
70
|
}
|
|
38
71
|
});
|
|
39
72
|
return messages;
|
|
40
73
|
}
|
|
41
|
-
getValidationMessages(
|
|
42
|
-
let thing = state.path || thingName;
|
|
74
|
+
getValidationMessages(control, title) {
|
|
43
75
|
let messages = [];
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
76
|
+
let thing;
|
|
77
|
+
if (title) {
|
|
78
|
+
thing = title;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
thing = this.getControlTitle(control, null);
|
|
82
|
+
if (!thing) {
|
|
83
|
+
thing = control.path;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (control.errors) {
|
|
87
|
+
for (let errorName in control.errors) {
|
|
88
|
+
if (control.errors.hasOwnProperty(errorName)) {
|
|
47
89
|
switch (errorName) {
|
|
48
90
|
case "required":
|
|
49
91
|
messages.push(`${thing} is required`);
|
|
50
92
|
break;
|
|
51
93
|
case "minlength":
|
|
52
|
-
messages.push(`${thing} must be at least ${
|
|
94
|
+
messages.push(`${thing} must be at least ${control.errors["minlength"].requiredLength} characters`);
|
|
53
95
|
break;
|
|
54
96
|
case "pattern":
|
|
55
97
|
messages.push(`${thing} contains illegal characters`);
|
|
@@ -58,7 +100,7 @@ export class ValidationSummaryComponent extends EditComponentBase {
|
|
|
58
100
|
messages.push(`${thing} format mismatch`);
|
|
59
101
|
break;
|
|
60
102
|
case "maxlength":
|
|
61
|
-
messages.push(`${thing} must have maximum ${
|
|
103
|
+
messages.push(`${thing} must have maximum ${control.errors["maxlength"].requiredLength} characters`);
|
|
62
104
|
break;
|
|
63
105
|
case "specialcharacters":
|
|
64
106
|
messages.push(`${thing} contains special characters`);
|
|
@@ -69,55 +111,6 @@ export class ValidationSummaryComponent extends EditComponentBase {
|
|
|
69
111
|
}
|
|
70
112
|
return messages;
|
|
71
113
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Get Control Name
|
|
74
|
-
* @param control
|
|
75
|
-
* @param thingName
|
|
76
|
-
*/
|
|
77
|
-
getControlName(control, thingName) {
|
|
78
|
-
let value = this.getControlTitle(control);
|
|
79
|
-
return value ? value : thingName;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Retrieve tilte of control
|
|
83
|
-
* @param control
|
|
84
|
-
*/
|
|
85
|
-
getControlTitle(control) {
|
|
86
|
-
if (control?.nativeElement) {
|
|
87
|
-
let controlTitle = this.getTitleAttribute(control.nativeElement);
|
|
88
|
-
return controlTitle;
|
|
89
|
-
}
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Return title attribute of form control
|
|
94
|
-
*/
|
|
95
|
-
getTitleAttribute(nativeElement) {
|
|
96
|
-
let title;
|
|
97
|
-
let element;
|
|
98
|
-
let tagName = nativeElement.tagName;
|
|
99
|
-
switch (tagName) {
|
|
100
|
-
// For Kendo time and date picker element title is assigned to the 4th child control.
|
|
101
|
-
case "KENDO-TIMEPICKER":
|
|
102
|
-
case "KENDO-DATEPICKER":
|
|
103
|
-
element = nativeElement.children[0]?.children[0]?.children[0]?.children[0];
|
|
104
|
-
break;
|
|
105
|
-
// For Kendo numaric element title is assigned to the 2nd child control.
|
|
106
|
-
case "KENDO-NUMERICTEXTBOX":
|
|
107
|
-
element = nativeElement.children[0]?.children[0];
|
|
108
|
-
break;
|
|
109
|
-
default:
|
|
110
|
-
element = nativeElement;
|
|
111
|
-
break;
|
|
112
|
-
}
|
|
113
|
-
if (element) {
|
|
114
|
-
title = element.getAttribute("formControlTitle");
|
|
115
|
-
if (!title) {
|
|
116
|
-
title = element.getAttribute("title");
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return title;
|
|
120
|
-
}
|
|
121
114
|
static ɵfac = function ValidationSummaryComponent_Factory(t) { return new (t || ValidationSummaryComponent)(); };
|
|
122
115
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ValidationSummaryComponent, selectors: [["ng-component"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function ValidationSummaryComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
|
123
116
|
}
|
|
@@ -127,4 +120,4 @@ export class ValidationSummaryComponent extends EditComponentBase {
|
|
|
127
120
|
template: ''
|
|
128
121
|
}]
|
|
129
122
|
}], function () { return []; }, null); })();
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS92YWxpZGF0aW9uL3ZhbGlkYXRpb24tc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBS2pGLE1BQU0sT0FBZ0IsMEJBQTJCLFNBQVEsaUJBQWlCO0lBQ3hFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQseUJBQXlCO1FBQ3ZCLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUU1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFekMsSUFBZ0IsT0FBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQWEsT0FBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUN2RCxJQUFJLEtBQUssR0FBZSxPQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLENBQUMscUJBQXFCLENBQ3hCLEtBQUssRUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FDOUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxD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QUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxNQUFNO1lBRVIsd0VBQXdFO1lBQ3hFLEtBQUssc0JBQXNCO2dCQUN6QixPQUFPLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELE1BQU07WUFFUjtnQkFDRSxPQUFPLEdBQUcsYUFBYSxDQUFDO2dCQUN4QixNQUFNO1NBQ1Q7UUFFRCxJQUFJLE9BQU8sRUFBRTtZQUNYLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN2QztTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO29GQWxJbUIsMEJBQTBCOzZEQUExQiwwQkFBMEI7O3VGQUExQiwwQkFBMEI7Y0FIL0MsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgOCBEZWMgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEVkaXRDb21wb25lbnRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvYmFzZS9jb21wb25lbnRzL2VkaXQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZhbGlkYXRpb25TdW1tYXJ5Q29tcG9uZW50IGV4dGVuZHMgRWRpdENvbXBvbmVudEJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1WYWxpZGF0aW9uTWVzc2FnZXMoKTogc3RyaW5nW10ge1xyXG4gICAgbGV0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgIHZhciBjb250cm9sID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHNba107XHJcblxyXG4gICAgICBpZiAoKDxGb3JtR3JvdXA+Y29udHJvbCkuY29udHJvbHMgIT0gbnVsbCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKCg8Rm9ybUdyb3VwPmNvbnRyb2wpLmNvbnRyb2xzKS5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgICB2YXIgY2hpbGQgPSAoPEZvcm1Hcm91cD5jb250cm9sKS5jb250cm9sc1trXTtcclxuICAgICAgICAgIHRoaXMuZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzKFxyXG4gICAgICAgICAgICBjaGlsZCxcclxuICAgICAgICAgICAgdGhpcy5nZXRDb250cm9sTmFtZShjaGlsZCwgaylcclxuICAgICAgICAgICkuZm9yRWFjaCgobSkgPT4gbWVzc2FnZXMucHVzaChtKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZXRWYWxpZGF0aW9uTWVzc2FnZXMoXHJcbiAgICAgICAgICBjb250cm9sLFxyXG4gICAgICAgICAgdGhpcy5nZXRDb250cm9sTmFtZShjb250cm9sLCBrKVxyXG4gICAgICAgICkuZm9yRWFjaCgobSkgPT4gbWVzc2FnZXMucHVzaChtKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBtZXNzYWdlcztcclxuICB9XHJcblxyXG4gIGdldFZhbGlkYXRpb25NZXNzYWdlcyhzdGF0ZTogYW55LCB0aGluZ05hbWU/OiBzdHJpbmcpIHtcclxuICAgIGxldCB0aGluZzogc3RyaW5nID0gc3RhdGUucGF0aCB8fCB0aGluZ05hbWU7XHJcbiAgICBsZXQgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgaWYgKHN0YXRlLmVycm9ycykge1xyXG4gICAgICBmb3IgKGxldCBlcnJvck5hbWUgaW4gc3RhdGUuZXJyb3JzKSB7XHJcbiAgICAgICAgaWYgKHN0YXRlLmVycm9ycy5oYXNPd25Qcm9wZXJ0eShlcnJvck5hbWUpKSB7XHJcbiAgICAgICAgICBzd2l0Y2ggKGVycm9yTmFtZSkge1xyXG4gICAgICAgICAgICBjYXNlIFwicmVxdWlyZWRcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGAke3RoaW5nfSBpcyByZXF1aXJlZGApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSBcIm1pbmxlbmd0aFwiOlxyXG4gICAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goXHJcbiAgICAgICAgICAgICAgICBgJHt0aGluZ30gbXVzdCBiZSBhdCBsZWFzdCAke3N0YXRlLmVycm9yc1tcIm1pbmxlbmd0aFwiXS5yZXF1aXJlZExlbmd0aH0gY2hhcmFjdGVyc2BcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSBcInBhdHRlcm5cIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGAke3RoaW5nfSBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcnNgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgXCJmb3JtYXRcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGAke3RoaW5nfSBmb3JtYXQgbWlzbWF0Y2hgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgXCJtYXhsZW5ndGhcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpbmd9IG11c3QgaGF2ZSBtYXhpbXVtICR7c3RhdGUuZXJyb3JzW1wibWF4bGVuZ3RoXCJdLnJlcXVpcmVkTGVuZ3RofSBjaGFyYWN0ZXJzYFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFwic3BlY2lhbGNoYXJhY3RlcnNcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGAke3RoaW5nfSBjb250YWlucyBzcGVjaWFsIGNoYXJhY3RlcnNgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbWVzc2FnZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgQ29udHJvbCBOYW1lXHJcbiAgICogQHBhcmFtIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gdGhpbmdOYW1lXHJcbiAgICovXHJcbiAgZ2V0Q29udHJvbE5hbWUoY29udHJvbDogYW55LCB0aGluZ05hbWU/OiBzdHJpbmcpIHtcclxuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0Q29udHJvbFRpdGxlKGNvbnRyb2wpO1xyXG4gICAgcmV0dXJuIHZhbHVlID8gdmFsdWUgOiB0aGluZ05hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZSB0aWx0ZSBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2xcclxuICAgKi9cclxuICBnZXRDb250cm9sVGl0bGUoY29udHJvbDogYW55KTogc3RyaW5nIHtcclxuICAgIGlmIChjb250cm9sPy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGxldCBjb250cm9sVGl0bGUgPSB0aGlzLmdldFRpdGxlQXR0cmlidXRlKGNvbnRyb2wubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgIHJldHVybiBjb250cm9sVGl0bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aXRsZSBhdHRyaWJ1dGUgb2YgZm9ybSBjb250cm9sXHJcbiAgICovXHJcbiAgZ2V0VGl0bGVBdHRyaWJ1dGUobmF0aXZlRWxlbWVudDogSFRNTEZvcm1FbGVtZW50KTogc3RyaW5nIHtcclxuICAgIGxldCB0aXRsZTogc3RyaW5nO1xyXG4gICAgbGV0IGVsZW1lbnQ7XHJcbiAgICBsZXQgdGFnTmFtZSA9IG5hdGl2ZUVsZW1lbnQudGFnTmFtZTtcclxuXHJcbiAgICBzd2l0Y2ggKHRhZ05hbWUpIHtcclxuICAgICAgLy8gRm9yIEtlbmRvIHRpbWUgYW5kIGRhdGUgcGlja2VyIGVsZW1lbnQgdGl0bGUgaXMgYXNzaWduZWQgdG8gdGhlIDR0aCBjaGlsZCBjb250cm9sLlxyXG4gICAgICBjYXNlIFwiS0VORE8tVElNRVBJQ0tFUlwiOlxyXG4gICAgICBjYXNlIFwiS0VORE8tREFURVBJQ0tFUlwiOlxyXG4gICAgICAgIGVsZW1lbnQgPSBuYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdPy5jaGlsZHJlblswXT8uY2hpbGRyZW5bMF0/LmNoaWxkcmVuWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gRm9yIEtlbmRvIG51bWFyaWMgZWxlbWVudCB0aXRsZSBpcyBhc3NpZ25lZCB0byB0aGUgMm5kIGNoaWxkIGNvbnRyb2wuXHJcbiAgICAgIGNhc2UgXCJLRU5ETy1OVU1FUklDVEVYVEJPWFwiOlxyXG4gICAgICAgIGVsZW1lbnQgPSBuYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdPy5jaGlsZHJlblswXTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgZWxlbWVudCA9IG5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgdGl0bGUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShcImZvcm1Db250cm9sVGl0bGVcIik7XHJcbiAgICAgIGlmICghdGl0bGUpIHtcclxuICAgICAgICB0aXRsZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwidGl0bGVcIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGl0bGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS92YWxpZGF0aW9uL3ZhbGlkYXRpb24tc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBS2pGLE1BQU0sT0FBZ0IsMEJBQTJCLFNBQVEsaUJBQWlCO0lBQ3hFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFhO1FBQzVDLElBQUksT0FBTyxFQUFFLGFBQWEsRUFBRTtZQUMxQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUM3QjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxhQUE4QjtRQUN0RCxJQUFJLEtBQWEsQ0FBQztRQUNsQixJQUFJLE9BQU8sQ0FBQztRQUNaLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFFcEMsUUFBUSxPQUFPLEVBQUU7WUFDZixxRkFBcUY7WUFDckYsS0FBSyxrQkFBa0IsQ0FBQztZQUN4QixLQUFLLGtCQUFrQjtnQkFDckIsT0FBTyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLE1BQU07WUFFUix3RUFBd0U7WUFDeEUsS0FBSyxzQkFBc0I7Z0JBQ3pCLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsTUFBTTtZQUVSO2dCQUNFLE9BQU8sR0FBRyxhQUFhLENBQUM7Z0JBQ3hCLE1BQU07U0FDVDtRQUVELElBQUksT0FBTyxFQUFFO1lBQ1gsS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsSUFBSSxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBRTVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV6QyxJQUFnQixPQUFRLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRTtnQkFDekMsTUFBTSxDQUFDLElBQUksQ0FBYSxPQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ3ZELElBQUksS0FBSyxHQUFlLE9BQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzdDLElBQUksQ0FBQyxxQkFBcUIsQ0FDeEIsS0FBSyxFQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUMvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUNJO2dCQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FDeEIsT0FBTyxFQUNQLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUNqQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQscUJBQXFCLENBQUMsT0FBWSxFQUFFLEtBQWM7UUFDaEQsSUFBSSxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDO1FBRVYsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ2Y7YUFDSTtZQUNILEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUU1QyxJQUFJLENBQUMsS0FBSyxFQUFDO2dCQUNULEtBQUssR0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDO2FBQ3JCO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsS0FBSyxJQUFJLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNwQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUM1QyxRQUFRLFNBQVMsRUFBRTt3QkFDakIsS0FBSyxVQUFVOzRCQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLGNBQWMsQ0FBQyxDQUFDOzRCQUN0QyxNQUFNO3dCQUVSLEtBQUssV0FBVzs0QkFDZCxRQUFRLENBQUMsSUFBSSxDQUNYLEdBQUcsS0FBSyxxQkFBcUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLGFBQWEsQ0FDckYsQ0FBQzs0QkFDRixNQUFNO3dCQUVSLEtBQUssU0FBUzs0QkFDWixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyw4QkFBOEIsQ0FBQyxDQUFDOzRCQUN0RCxNQUFNO3dCQUVSLEtBQUssUUFBUTs0QkFDWCxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDOzRCQUMxQyxNQUFNO3dCQUVSLEtBQUssV0FBVzs0QkFDZCxRQUFRLENBQUMsSUFBSSxDQUNYLEdBQUcsS0FBSyxzQkFBc0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLGFBQWEsQ0FDdEYsQ0FBQzs0QkFDRixNQUFNO3dCQUVSLEtBQUssbUJBQW1COzRCQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyw4QkFBOEIsQ0FBQyxDQUFDOzRCQUN0RCxNQUFNO3FCQUNUO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7b0ZBNUhtQiwwQkFBMEI7NkRBQTFCLDBCQUEwQjs7dUZBQTFCLDBCQUEwQjtjQUgvQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDYiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICA4IERlYyAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgRWRpdENvbXBvbmVudEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9iYXNlL2NvbXBvbmVudHMvZWRpdC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVmFsaWRhdGlvblN1bW1hcnlDb21wb25lbnQgZXh0ZW5kcyBFZGl0Q29tcG9uZW50QmFzZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb250cm9sVGl0bGUoY29udHJvbCwgbmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoY29udHJvbD8ubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLmdldFRpdGxlQXR0cmlidXRlKGNvbnRyb2wubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlIDogbmFtZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUaXRsZUF0dHJpYnV0ZShuYXRpdmVFbGVtZW50OiBIVE1MRm9ybUVsZW1lbnQpOiBzdHJpbmcge1xyXG4gICAgbGV0IHRpdGxlOiBzdHJpbmc7XHJcbiAgICBsZXQgZWxlbWVudDtcclxuICAgIGxldCB0YWdOYW1lID0gbmF0aXZlRWxlbWVudC50YWdOYW1lO1xyXG5cclxuICAgIHN3aXRjaCAodGFnTmFtZSkge1xyXG4gICAgICAvLyBGb3IgS2VuZG8gdGltZSBhbmQgZGF0ZSBwaWNrZXIgZWxlbWVudCB0aXRsZSBpcyBhc3NpZ25lZCB0byB0aGUgNHRoIGNoaWxkIGNvbnRyb2wuXHJcbiAgICAgIGNhc2UgXCJLRU5ETy1USU1FUElDS0VSXCI6XHJcbiAgICAgIGNhc2UgXCJLRU5ETy1EQVRFUElDS0VSXCI6XHJcbiAgICAgICAgZWxlbWVudCA9IG5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0/LmNoaWxkcmVuWzBdPy5jaGlsZHJlblswXT8uY2hpbGRyZW5bMF07XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBGb3IgS2VuZG8gbnVtYXJpYyBlbGVtZW50IHRpdGxlIGlzIGFzc2lnbmVkIHRvIHRoZSAybmQgY2hpbGQgY29udHJvbC5cclxuICAgICAgY2FzZSBcIktFTkRPLU5VTUVSSUNURVhUQk9YXCI6XHJcbiAgICAgICAgZWxlbWVudCA9IG5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0/LmNoaWxkcmVuWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBlbGVtZW50ID0gbmF0aXZlRWxlbWVudDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICB0aXRsZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZm9ybUNvbnRyb2xUaXRsZVwiKTtcclxuICAgICAgaWYgKCF0aXRsZSkge1xyXG4gICAgICAgIHRpdGxlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJ0aXRsZVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aXRsZTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1WYWxpZGF0aW9uTWVzc2FnZXMoKTogc3RyaW5nW10ge1xyXG4gICAgbGV0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgIGxldCBjb250cm9sID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHNba107XHJcblxyXG4gICAgICBpZiAoKDxGb3JtR3JvdXA+Y29udHJvbCkuY29udHJvbHMgIT0gbnVsbCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKCg8Rm9ybUdyb3VwPmNvbnRyb2wpLmNvbnRyb2xzKS5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgICB2YXIgY2hpbGQgPSAoPEZvcm1Hcm91cD5jb250cm9sKS5jb250cm9sc1trXTtcclxuICAgICAgICAgIHRoaXMuZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzKFxyXG4gICAgICAgICAgICBjaGlsZCxcclxuICAgICAgICAgICAgdGhpcy5nZXRDb250cm9sVGl0bGUoY2hpbGQsIGspXHJcbiAgICAgICAgICApLmZvckVhY2goKG0pID0+IG1lc3NhZ2VzLnB1c2gobSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzKFxyXG4gICAgICAgICAgY29udHJvbCxcclxuICAgICAgICAgIHRoaXMuZ2V0Q29udHJvbFRpdGxlKGNvbnRyb2wsIGspXHJcbiAgICAgICAgKS5mb3JFYWNoKChtKSA9PiBtZXNzYWdlcy5wdXNoKG0pKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG1lc3NhZ2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzKGNvbnRyb2w6IGFueSwgdGl0bGU/OiBzdHJpbmcpIHtcclxuICAgIGxldCBtZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIGxldCB0aGluZztcclxuXHJcbiAgICBpZiAodGl0bGUpIHtcclxuICAgICAgdGhpbmcgPSB0aXRsZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGluZyA9IHRoaXMuZ2V0Q29udHJvbFRpdGxlKGNvbnRyb2wsIG51bGwpO1xyXG5cclxuICAgICAgaWYgKCF0aGluZyl7XHJcbiAgICAgICAgdGhpbmc9IGNvbnRyb2wucGF0aDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9sLmVycm9ycykge1xyXG4gICAgICBmb3IgKGxldCBlcnJvck5hbWUgaW4gY29udHJvbC5lcnJvcnMpIHtcclxuICAgICAgICBpZiAoY29udHJvbC5lcnJvcnMuaGFzT3duUHJvcGVydHkoZXJyb3JOYW1lKSkge1xyXG4gICAgICAgICAgc3dpdGNoIChlcnJvck5hbWUpIHtcclxuICAgICAgICAgICAgY2FzZSBcInJlcXVpcmVkXCI6XHJcbiAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaChgJHt0aGluZ30gaXMgcmVxdWlyZWRgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgXCJtaW5sZW5ndGhcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpbmd9IG11c3QgYmUgYXQgbGVhc3QgJHtjb250cm9sLmVycm9yc1tcIm1pbmxlbmd0aFwiXS5yZXF1aXJlZExlbmd0aH0gY2hhcmFjdGVyc2BcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSBcInBhdHRlcm5cIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGAke3RoaW5nfSBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcnNgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgXCJmb3JtYXRcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKGAke3RoaW5nfSBmb3JtYXQgbWlzbWF0Y2hgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgXCJtYXhsZW5ndGhcIjpcclxuICAgICAgICAgICAgICBtZXNzYWdlcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpbmd9IG11c3QgaGF2ZSBtYXhpbXVtICR7Y29udHJvbC5lcnJvcnNbXCJtYXhsZW5ndGhcIl0ucmVxdWlyZWRMZW5ndGh9IGNoYXJhY3RlcnNgXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgXCJzcGVjaWFsY2hhcmFjdGVyc1wiOlxyXG4gICAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2goYCR7dGhpbmd9IGNvbnRhaW5zIHNwZWNpYWwgY2hhcmFjdGVyc2ApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtZXNzYWdlcztcclxuICB9XHJcbn1cclxuIl19
|