@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
|
@@ -4927,34 +4927,76 @@ class ValidationSummaryComponent extends EditComponentBase {
|
|
|
4927
4927
|
constructor() {
|
|
4928
4928
|
super();
|
|
4929
4929
|
}
|
|
4930
|
+
getControlTitle(control, name) {
|
|
4931
|
+
if (control?.nativeElement) {
|
|
4932
|
+
let value = this.getTitleAttribute(control.nativeElement);
|
|
4933
|
+
return value ? value : name;
|
|
4934
|
+
}
|
|
4935
|
+
return undefined;
|
|
4936
|
+
}
|
|
4937
|
+
getTitleAttribute(nativeElement) {
|
|
4938
|
+
let title;
|
|
4939
|
+
let element;
|
|
4940
|
+
let tagName = nativeElement.tagName;
|
|
4941
|
+
switch (tagName) {
|
|
4942
|
+
// For Kendo time and date picker element title is assigned to the 4th child control.
|
|
4943
|
+
case "KENDO-TIMEPICKER":
|
|
4944
|
+
case "KENDO-DATEPICKER":
|
|
4945
|
+
element = nativeElement.children[0]?.children[0]?.children[0]?.children[0];
|
|
4946
|
+
break;
|
|
4947
|
+
// For Kendo numaric element title is assigned to the 2nd child control.
|
|
4948
|
+
case "KENDO-NUMERICTEXTBOX":
|
|
4949
|
+
element = nativeElement.children[0]?.children[0];
|
|
4950
|
+
break;
|
|
4951
|
+
default:
|
|
4952
|
+
element = nativeElement;
|
|
4953
|
+
break;
|
|
4954
|
+
}
|
|
4955
|
+
if (element) {
|
|
4956
|
+
title = element.getAttribute("formControlTitle");
|
|
4957
|
+
if (!title) {
|
|
4958
|
+
title = element.getAttribute("title");
|
|
4959
|
+
}
|
|
4960
|
+
}
|
|
4961
|
+
return title;
|
|
4962
|
+
}
|
|
4930
4963
|
getFormValidationMessages() {
|
|
4931
4964
|
let messages = [];
|
|
4932
4965
|
Object.keys(this.formGroup.controls).forEach((k) => {
|
|
4933
|
-
|
|
4966
|
+
let control = this.formGroup.controls[k];
|
|
4934
4967
|
if (control.controls != null) {
|
|
4935
4968
|
Object.keys(control.controls).forEach((k) => {
|
|
4936
4969
|
var child = control.controls[k];
|
|
4937
|
-
this.getValidationMessages(child, this.
|
|
4970
|
+
this.getValidationMessages(child, this.getControlTitle(child, k)).forEach((m) => messages.push(m));
|
|
4938
4971
|
});
|
|
4939
4972
|
}
|
|
4940
4973
|
else {
|
|
4941
|
-
this.getValidationMessages(control, this.
|
|
4974
|
+
this.getValidationMessages(control, this.getControlTitle(control, k)).forEach((m) => messages.push(m));
|
|
4942
4975
|
}
|
|
4943
4976
|
});
|
|
4944
4977
|
return messages;
|
|
4945
4978
|
}
|
|
4946
|
-
getValidationMessages(
|
|
4947
|
-
let thing = state.path || thingName;
|
|
4979
|
+
getValidationMessages(control, title) {
|
|
4948
4980
|
let messages = [];
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4981
|
+
let thing;
|
|
4982
|
+
if (title) {
|
|
4983
|
+
thing = title;
|
|
4984
|
+
}
|
|
4985
|
+
else {
|
|
4986
|
+
thing = this.getControlTitle(control, null);
|
|
4987
|
+
if (!thing) {
|
|
4988
|
+
thing = control.path;
|
|
4989
|
+
}
|
|
4990
|
+
}
|
|
4991
|
+
if (control.errors) {
|
|
4992
|
+
for (let errorName in control.errors) {
|
|
4993
|
+
if (control.errors.hasOwnProperty(errorName)) {
|
|
4952
4994
|
switch (errorName) {
|
|
4953
4995
|
case "required":
|
|
4954
4996
|
messages.push(`${thing} is required`);
|
|
4955
4997
|
break;
|
|
4956
4998
|
case "minlength":
|
|
4957
|
-
messages.push(`${thing} must be at least ${
|
|
4999
|
+
messages.push(`${thing} must be at least ${control.errors["minlength"].requiredLength} characters`);
|
|
4958
5000
|
break;
|
|
4959
5001
|
case "pattern":
|
|
4960
5002
|
messages.push(`${thing} contains illegal characters`);
|
|
@@ -4963,7 +5005,7 @@ class ValidationSummaryComponent extends EditComponentBase {
|
|
|
4963
5005
|
messages.push(`${thing} format mismatch`);
|
|
4964
5006
|
break;
|
|
4965
5007
|
case "maxlength":
|
|
4966
|
-
messages.push(`${thing} must have maximum ${
|
|
5008
|
+
messages.push(`${thing} must have maximum ${control.errors["maxlength"].requiredLength} characters`);
|
|
4967
5009
|
break;
|
|
4968
5010
|
case "specialcharacters":
|
|
4969
5011
|
messages.push(`${thing} contains special characters`);
|
|
@@ -4974,55 +5016,6 @@ class ValidationSummaryComponent extends EditComponentBase {
|
|
|
4974
5016
|
}
|
|
4975
5017
|
return messages;
|
|
4976
5018
|
}
|
|
4977
|
-
/**
|
|
4978
|
-
* Get Control Name
|
|
4979
|
-
* @param control
|
|
4980
|
-
* @param thingName
|
|
4981
|
-
*/
|
|
4982
|
-
getControlName(control, thingName) {
|
|
4983
|
-
let value = this.getControlTitle(control);
|
|
4984
|
-
return value ? value : thingName;
|
|
4985
|
-
}
|
|
4986
|
-
/**
|
|
4987
|
-
* Retrieve tilte of control
|
|
4988
|
-
* @param control
|
|
4989
|
-
*/
|
|
4990
|
-
getControlTitle(control) {
|
|
4991
|
-
if (control?.nativeElement) {
|
|
4992
|
-
let controlTitle = this.getTitleAttribute(control.nativeElement);
|
|
4993
|
-
return controlTitle;
|
|
4994
|
-
}
|
|
4995
|
-
return undefined;
|
|
4996
|
-
}
|
|
4997
|
-
/**
|
|
4998
|
-
* Return title attribute of form control
|
|
4999
|
-
*/
|
|
5000
|
-
getTitleAttribute(nativeElement) {
|
|
5001
|
-
let title;
|
|
5002
|
-
let element;
|
|
5003
|
-
let tagName = nativeElement.tagName;
|
|
5004
|
-
switch (tagName) {
|
|
5005
|
-
// For Kendo time and date picker element title is assigned to the 4th child control.
|
|
5006
|
-
case "KENDO-TIMEPICKER":
|
|
5007
|
-
case "KENDO-DATEPICKER":
|
|
5008
|
-
element = nativeElement.children[0]?.children[0]?.children[0]?.children[0];
|
|
5009
|
-
break;
|
|
5010
|
-
// For Kendo numaric element title is assigned to the 2nd child control.
|
|
5011
|
-
case "KENDO-NUMERICTEXTBOX":
|
|
5012
|
-
element = nativeElement.children[0]?.children[0];
|
|
5013
|
-
break;
|
|
5014
|
-
default:
|
|
5015
|
-
element = nativeElement;
|
|
5016
|
-
break;
|
|
5017
|
-
}
|
|
5018
|
-
if (element) {
|
|
5019
|
-
title = element.getAttribute("formControlTitle");
|
|
5020
|
-
if (!title) {
|
|
5021
|
-
title = element.getAttribute("title");
|
|
5022
|
-
}
|
|
5023
|
-
}
|
|
5024
|
-
return title;
|
|
5025
|
-
}
|
|
5026
5019
|
static ɵfac = function ValidationSummaryComponent_Factory(t) { return new (t || ValidationSummaryComponent)(); };
|
|
5027
5020
|
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 });
|
|
5028
5021
|
}
|
|
@@ -5065,24 +5058,21 @@ function ItemValidationSummaryComponent_ul_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
5065
5058
|
} if (rf & 2) {
|
|
5066
5059
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
5067
5060
|
i0.ɵɵadvance(1);
|
|
5068
|
-
i0.ɵɵproperty("ngForOf", ctx_r0.getValidationMessages(ctx_r0.formGroup.
|
|
5061
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.getValidationMessages(ctx_r0.formGroup.controls[ctx_r0.controlName]));
|
|
5069
5062
|
} }
|
|
5070
5063
|
class ItemValidationSummaryComponent extends ValidationSummaryComponent {
|
|
5071
|
-
|
|
5072
|
-
formControlTitle;
|
|
5064
|
+
controlName;
|
|
5073
5065
|
static ɵfac = /*@__PURE__*/ function () { let ɵItemValidationSummaryComponent_BaseFactory; return function ItemValidationSummaryComponent_Factory(t) { return (ɵItemValidationSummaryComponent_BaseFactory || (ɵItemValidationSummaryComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ItemValidationSummaryComponent)))(t || ItemValidationSummaryComponent); }; }();
|
|
5074
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ItemValidationSummaryComponent, selectors: [["anatoly-item-validation-summary"]], inputs: {
|
|
5066
|
+
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) {
|
|
5075
5067
|
i0.ɵɵtemplate(0, ItemValidationSummaryComponent_ul_0_Template, 2, 1, "ul", 0);
|
|
5076
5068
|
} if (rf & 2) {
|
|
5077
|
-
i0.ɵɵproperty("ngIf", ctx.isControlInvalid(ctx.
|
|
5069
|
+
i0.ɵɵproperty("ngIf", ctx.isControlInvalid(ctx.controlName));
|
|
5078
5070
|
} }, dependencies: [i1$2.NgForOf, i1$2.NgIf], encapsulation: 2 });
|
|
5079
5071
|
}
|
|
5080
5072
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ItemValidationSummaryComponent, [{
|
|
5081
5073
|
type: Component,
|
|
5082
|
-
args: [{ selector: "anatoly-item-validation-summary", template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(
|
|
5083
|
-
}], null, {
|
|
5084
|
-
type: Input
|
|
5085
|
-
}], formControlTitle: [{
|
|
5074
|
+
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" }]
|
|
5075
|
+
}], null, { controlName: [{
|
|
5086
5076
|
type: Input
|
|
5087
5077
|
}] }); })();
|
|
5088
5078
|
|
|
@@ -5114,7 +5104,7 @@ class FormsHtmlEditorComponent extends HtmlEditorComponentBase {
|
|
|
5114
5104
|
});
|
|
5115
5105
|
}
|
|
5116
5106
|
static ɵfac = function FormsHtmlEditorComponent_Factory(t) { return new (t || FormsHtmlEditorComponent)(); };
|
|
5117
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormsHtmlEditorComponent, selectors: [["anatoly-forms-html-editor"]], inputs: { editorFormKey: "editorFormKey" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars:
|
|
5107
|
+
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) {
|
|
5118
5108
|
i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
|
|
5119
5109
|
i0.ɵɵtext(2);
|
|
5120
5110
|
i0.ɵɵelementEnd();
|
|
@@ -5124,18 +5114,18 @@ class FormsHtmlEditorComponent extends HtmlEditorComponentBase {
|
|
|
5124
5114
|
i0.ɵɵelement(4, "anatoly-item-validation-summary", 3);
|
|
5125
5115
|
i0.ɵɵelementEnd();
|
|
5126
5116
|
} if (rf & 2) {
|
|
5127
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(
|
|
5117
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(8, _c0$5, ctx.isControlInvalid(ctx.editorFormKey)));
|
|
5128
5118
|
i0.ɵɵadvance(2);
|
|
5129
5119
|
i0.ɵɵtextInterpolate(ctx.editorLabelText);
|
|
5130
5120
|
i0.ɵɵadvance(1);
|
|
5131
5121
|
i0.ɵɵproperty("formControlName", ctx.editorFormKey)("froalaEditor", ctx.options);
|
|
5132
5122
|
i0.ɵɵadvance(1);
|
|
5133
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("
|
|
5123
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("controlName", ctx.editorFormKey);
|
|
5134
5124
|
} }, dependencies: [i1$2.NgClass, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.FroalaEditorDirective, NativeElementDirective, ItemValidationSummaryComponent], encapsulation: 2 });
|
|
5135
5125
|
}
|
|
5136
5126
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormsHtmlEditorComponent, [{
|
|
5137
5127
|
type: Component,
|
|
5138
|
-
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 [
|
|
5128
|
+
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" }]
|
|
5139
5129
|
}], function () { return []; }, { editorFormKey: [{
|
|
5140
5130
|
type: Input
|
|
5141
5131
|
}] }); })();
|
|
@@ -6067,18 +6057,13 @@ class UrlSlugComponent extends EditComponentBase {
|
|
|
6067
6057
|
//Inputs
|
|
6068
6058
|
title = 'Permalink:';
|
|
6069
6059
|
isTitleVisible = true;
|
|
6070
|
-
class;
|
|
6071
|
-
watchedControlName;
|
|
6072
6060
|
urlPrefix;
|
|
6073
6061
|
isGoButtonVisible = true;
|
|
6074
6062
|
//Validation
|
|
6075
|
-
|
|
6076
|
-
|
|
6063
|
+
controlName;
|
|
6064
|
+
watchedControlName;
|
|
6077
6065
|
//Outputs
|
|
6078
6066
|
generating = new EventEmitter();
|
|
6079
|
-
constructor() {
|
|
6080
|
-
super();
|
|
6081
|
-
}
|
|
6082
6067
|
ngOnInit() {
|
|
6083
6068
|
this.startWatching();
|
|
6084
6069
|
}
|
|
@@ -6086,7 +6071,7 @@ class UrlSlugComponent extends EditComponentBase {
|
|
|
6086
6071
|
let slugedText = Utils.slugify(text);
|
|
6087
6072
|
let event = { urlSlug: slugedText };
|
|
6088
6073
|
this.generating.emit(event);
|
|
6089
|
-
this.setFormValue(this.
|
|
6074
|
+
this.setFormValue(this.controlName, event.urlSlug);
|
|
6090
6075
|
}
|
|
6091
6076
|
startWatching() {
|
|
6092
6077
|
this.subs.sink = this.formGroup.get(this.watchedControlName).valueChanges.subscribe({
|
|
@@ -6098,7 +6083,7 @@ class UrlSlugComponent extends EditComponentBase {
|
|
|
6098
6083
|
this.generateUrlSlug(value);
|
|
6099
6084
|
}
|
|
6100
6085
|
});
|
|
6101
|
-
this.subs.sink = this.formGroup.get(this.
|
|
6086
|
+
this.subs.sink = this.formGroup.get(this.controlName).valueChanges.subscribe({
|
|
6102
6087
|
next: (value) => {
|
|
6103
6088
|
this.hrefGo = value;
|
|
6104
6089
|
}
|
|
@@ -6106,11 +6091,11 @@ class UrlSlugComponent extends EditComponentBase {
|
|
|
6106
6091
|
}
|
|
6107
6092
|
//Events
|
|
6108
6093
|
onUrlSlugChange() {
|
|
6109
|
-
let text = this.getFormValue(this.
|
|
6094
|
+
let text = this.getFormValue(this.controlName);
|
|
6110
6095
|
this.generateUrlSlug(text);
|
|
6111
6096
|
}
|
|
6112
|
-
static ɵfac = function UrlSlugComponent_Factory(t) { return
|
|
6113
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UrlSlugComponent, selectors: [["anatoly-forms-urlslug"]], inputs: { title: "title", isTitleVisible: "isTitleVisible",
|
|
6097
|
+
static ɵfac = /*@__PURE__*/ function () { let ɵUrlSlugComponent_BaseFactory; return function UrlSlugComponent_Factory(t) { return (ɵUrlSlugComponent_BaseFactory || (ɵUrlSlugComponent_BaseFactory = i0.ɵɵgetInheritedFactory(UrlSlugComponent)))(t || UrlSlugComponent); }; }();
|
|
6098
|
+
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) {
|
|
6114
6099
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
6115
6100
|
i0.ɵɵelement(2, "anatoly-item-validation-summary", 2);
|
|
6116
6101
|
i0.ɵɵelementStart(3, "div", 3);
|
|
@@ -6121,36 +6106,32 @@ class UrlSlugComponent extends EditComponentBase {
|
|
|
6121
6106
|
i0.ɵɵtemplate(6, UrlSlugComponent_div_6_Template, 3, 2, "div", 6);
|
|
6122
6107
|
i0.ɵɵelementEnd()();
|
|
6123
6108
|
} if (rf & 2) {
|
|
6124
|
-
i0.ɵɵclassMapInterpolate1("permalink form-group ", ctx.
|
|
6125
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(
|
|
6109
|
+
i0.ɵɵclassMapInterpolate1("permalink form-group ", ctx.classes, "");
|
|
6110
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(11, _c0, ctx.isControlInvalid(ctx.controlName)));
|
|
6126
6111
|
i0.ɵɵadvance(2);
|
|
6127
|
-
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("formControlName", ctx.
|
|
6112
|
+
i0.ɵɵproperty("formGroup", ctx.formGroup)("formSubmitted", ctx.formSubmitted)("formControlName", ctx.controlName);
|
|
6128
6113
|
i0.ɵɵadvance(2);
|
|
6129
6114
|
i0.ɵɵproperty("ngIf", ctx.isTitleVisible);
|
|
6130
6115
|
i0.ɵɵadvance(1);
|
|
6131
|
-
i0.ɵɵproperty("formControlName", ctx.
|
|
6116
|
+
i0.ɵɵproperty("formControlName", ctx.controlName);
|
|
6132
6117
|
i0.ɵɵadvance(1);
|
|
6133
6118
|
i0.ɵɵproperty("ngIf", ctx.isGoButtonVisible);
|
|
6134
6119
|
} }, dependencies: [i1$2.NgClass, i1$2.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, NativeElementDirective, ItemValidationSummaryComponent], encapsulation: 2 });
|
|
6135
6120
|
}
|
|
6136
6121
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlSlugComponent, [{
|
|
6137
6122
|
type: Component,
|
|
6138
|
-
args: [{ selector: 'anatoly-forms-urlslug', template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(
|
|
6139
|
-
}],
|
|
6123
|
+
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" }]
|
|
6124
|
+
}], null, { title: [{
|
|
6140
6125
|
type: Input
|
|
6141
6126
|
}], isTitleVisible: [{
|
|
6142
6127
|
type: Input
|
|
6143
|
-
}], class: [{
|
|
6144
|
-
type: Input
|
|
6145
|
-
}], watchedControlName: [{
|
|
6146
|
-
type: Input
|
|
6147
6128
|
}], urlPrefix: [{
|
|
6148
6129
|
type: Input
|
|
6149
6130
|
}], isGoButtonVisible: [{
|
|
6150
6131
|
type: Input
|
|
6151
|
-
}],
|
|
6132
|
+
}], controlName: [{
|
|
6152
6133
|
type: Input
|
|
6153
|
-
}],
|
|
6134
|
+
}], watchedControlName: [{
|
|
6154
6135
|
type: Input
|
|
6155
6136
|
}], generating: [{
|
|
6156
6137
|
type: Output
|