@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.
@@ -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
- var control = this.formGroup.controls[k];
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.getControlName(child, k)).forEach((m) => messages.push(m));
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.getControlName(control, k)).forEach((m) => messages.push(m));
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(state, thingName) {
4947
- let thing = state.path || thingName;
4979
+ getValidationMessages(control, title) {
4948
4980
  let messages = [];
4949
- if (state.errors) {
4950
- for (let errorName in state.errors) {
4951
- if (state.errors.hasOwnProperty(errorName)) {
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 ${state.errors["minlength"].requiredLength} characters`);
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 ${state.errors["maxlength"].requiredLength} characters`);
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.get(ctx_r0.formControlName), ctx_r0.formControlTitle));
5061
+ i0.ɵɵproperty("ngForOf", ctx_r0.getValidationMessages(ctx_r0.formGroup.controls[ctx_r0.controlName]));
5069
5062
  } }
5070
5063
  class ItemValidationSummaryComponent extends ValidationSummaryComponent {
5071
- formControlName;
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: { formControlName: "formControlName", formControlTitle: "formControlTitle" }, 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) {
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.formControlName));
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(formControlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(formControlName), formControlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n" }]
5083
- }], null, { formControlName: [{
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: 11, consts: [[1, "form-group", 3, "formGroup", "ngClass"], [1, "col-form-label"], [3, "formControlName", "froalaEditor", "froalaInit"], [3, "formGroup", "formSubmitted", "formControlName", "formControlTitle"]], template: function FormsHtmlEditorComponent_Template(rf, ctx) { if (rf & 1) {
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(9, _c0$5, ctx.isControlInvalid(ctx.editorFormKey)));
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)("formControlName", ctx.editorFormKey)("formControlTitle", ctx.editorLabelText);
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 [formControlName]=\"editorFormKey\"\r\n [formControlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n</div>\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
- formControlName;
6076
- formControlTitle;
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.formControlName, event.urlSlug);
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.formControlName).valueChanges.subscribe({
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.formControlName);
6094
+ let text = this.getFormValue(this.controlName);
6110
6095
  this.generateUrlSlug(text);
6111
6096
  }
6112
- static ɵfac = function UrlSlugComponent_Factory(t) { return new (t || UrlSlugComponent)(); };
6113
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UrlSlugComponent, selectors: [["anatoly-forms-urlslug"]], inputs: { title: "title", isTitleVisible: "isTitleVisible", class: "class", watchedControlName: "watchedControlName", urlPrefix: "urlPrefix", isGoButtonVisible: "isGoButtonVisible", formControlName: "formControlName", formControlTitle: "formControlTitle" }, outputs: { generating: "generating" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 14, consts: [[3, "formGroup", "ngClass"], [1, "d-flex", "align-items-end"], [3, "formGroup", "formSubmitted", "formControlName", "formControlTitle"], [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) {
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.class, "");
6125
- i0.ɵɵproperty("formGroup", ctx.formGroup)("ngClass", i0.ɵɵpureFunction1(12, _c0, ctx.isControlInvalid(ctx.formControlName)));
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.formControlName)("formControlTitle", ctx.formControlTitle);
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.formControlName);
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(formControlName)}\"\r\n class=\"permalink form-group {{class}}\">\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]='formControlName'\r\n [formControlTitle]='formControlTitle'>\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' class='form-control' placeholder='Type url slug here'\r\n [formControlName]='formControlName' (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" }]
6139
- }], function () { return []; }, { title: [{
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
- }], formControlName: [{
6132
+ }], controlName: [{
6152
6133
  type: Input
6153
- }], formControlTitle: [{
6134
+ }], watchedControlName: [{
6154
6135
  type: Input
6155
6136
  }], generating: [{
6156
6137
  type: Output