@anglr/common 11.3.0-beta.20220412054621 → 11.3.0-beta.20220412124216

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.
Files changed (94) hide show
  1. package/changelog.md +26 -0
  2. package/es2015/forms/src/index.js +1 -0
  3. package/es2015/forms/src/index.js.map +1 -1
  4. package/es2015/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js +74 -0
  5. package/es2015/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js.map +1 -0
  6. package/es2015/forms/src/modules/errorMessage/components/index.js +2 -0
  7. package/es2015/forms/src/modules/errorMessage/components/index.js.map +1 -0
  8. package/es2015/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js +75 -0
  9. package/es2015/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js.map +1 -0
  10. package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.js +2 -0
  11. package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.js.map +1 -0
  12. package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js +27 -0
  13. package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js.map +1 -0
  14. package/es2015/forms/src/modules/errorMessage/directives/index.js +4 -0
  15. package/es2015/forms/src/modules/errorMessage/directives/index.js.map +1 -0
  16. package/es2015/forms/src/modules/errorMessage/index.js +5 -0
  17. package/es2015/forms/src/modules/errorMessage/index.js.map +1 -0
  18. package/es2015/forms/src/modules/errorMessage/modules/errorMessage.module.js +47 -0
  19. package/es2015/forms/src/modules/errorMessage/modules/errorMessage.module.js.map +1 -0
  20. package/es2015/forms/src/modules/errorMessage/modules/index.js +2 -0
  21. package/es2015/forms/src/modules/errorMessage/modules/index.js.map +1 -0
  22. package/es2015/forms/src/modules/errorMessage/pipes/index.js +2 -0
  23. package/es2015/forms/src/modules/errorMessage/pipes/index.js.map +1 -0
  24. package/es2015/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js +33 -0
  25. package/es2015/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js.map +1 -0
  26. package/es2015/src/modules/commonUtils.module.js +7 -3
  27. package/es2015/src/modules/commonUtils.module.js.map +1 -1
  28. package/es2015/src/pipes/index.js +1 -0
  29. package/es2015/src/pipes/index.js.map +1 -1
  30. package/es2015/src/pipes/keys/keys.pipe.js +25 -0
  31. package/es2015/src/pipes/keys/keys.pipe.js.map +1 -0
  32. package/es2020/forms/src/index.js +1 -0
  33. package/es2020/forms/src/index.js.map +1 -1
  34. package/es2020/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js +72 -0
  35. package/es2020/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js.map +1 -0
  36. package/es2020/forms/src/modules/errorMessage/components/index.js +2 -0
  37. package/es2020/forms/src/modules/errorMessage/components/index.js.map +1 -0
  38. package/es2020/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js +74 -0
  39. package/es2020/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js.map +1 -0
  40. package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.js +2 -0
  41. package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.js.map +1 -0
  42. package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js +27 -0
  43. package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js.map +1 -0
  44. package/es2020/forms/src/modules/errorMessage/directives/index.js +4 -0
  45. package/es2020/forms/src/modules/errorMessage/directives/index.js.map +1 -0
  46. package/es2020/forms/src/modules/errorMessage/index.js +5 -0
  47. package/es2020/forms/src/modules/errorMessage/index.js.map +1 -0
  48. package/es2020/forms/src/modules/errorMessage/modules/errorMessage.module.js +47 -0
  49. package/es2020/forms/src/modules/errorMessage/modules/errorMessage.module.js.map +1 -0
  50. package/es2020/forms/src/modules/errorMessage/modules/index.js +2 -0
  51. package/es2020/forms/src/modules/errorMessage/modules/index.js.map +1 -0
  52. package/es2020/forms/src/modules/errorMessage/pipes/index.js +2 -0
  53. package/es2020/forms/src/modules/errorMessage/pipes/index.js.map +1 -0
  54. package/es2020/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js +33 -0
  55. package/es2020/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js.map +1 -0
  56. package/es2020/src/modules/commonUtils.module.js +7 -3
  57. package/es2020/src/modules/commonUtils.module.js.map +1 -1
  58. package/es2020/src/pipes/index.js +1 -0
  59. package/es2020/src/pipes/index.js.map +1 -1
  60. package/es2020/src/pipes/keys/keys.pipe.js +25 -0
  61. package/es2020/src/pipes/keys/keys.pipe.js.map +1 -0
  62. package/forms/src/index.d.ts +1 -0
  63. package/forms/src/index.d.ts.map +1 -1
  64. package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.d.ts +50 -0
  65. package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.d.ts.map +1 -0
  66. package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.html +7 -0
  67. package/forms/src/modules/errorMessage/components/index.d.ts +2 -0
  68. package/forms/src/modules/errorMessage/components/index.d.ts.map +1 -0
  69. package/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.d.ts +41 -0
  70. package/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.d.ts.map +1 -0
  71. package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.d.ts +27 -0
  72. package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.d.ts.map +1 -0
  73. package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.d.ts +17 -0
  74. package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.d.ts.map +1 -0
  75. package/forms/src/modules/errorMessage/directives/index.d.ts +4 -0
  76. package/forms/src/modules/errorMessage/directives/index.d.ts.map +1 -0
  77. package/forms/src/modules/errorMessage/index.d.ts +5 -0
  78. package/forms/src/modules/errorMessage/index.d.ts.map +1 -0
  79. package/forms/src/modules/errorMessage/modules/errorMessage.module.d.ts +16 -0
  80. package/forms/src/modules/errorMessage/modules/errorMessage.module.d.ts.map +1 -0
  81. package/forms/src/modules/errorMessage/modules/index.d.ts +2 -0
  82. package/forms/src/modules/errorMessage/modules/index.d.ts.map +1 -0
  83. package/forms/src/modules/errorMessage/pipes/index.d.ts +2 -0
  84. package/forms/src/modules/errorMessage/pipes/index.d.ts.map +1 -0
  85. package/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.d.ts +18 -0
  86. package/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.d.ts.map +1 -0
  87. package/package.json +1 -1
  88. package/src/modules/commonUtils.module.d.ts +2 -1
  89. package/src/modules/commonUtils.module.d.ts.map +1 -1
  90. package/src/pipes/index.d.ts +1 -0
  91. package/src/pipes/index.d.ts.map +1 -1
  92. package/src/pipes/keys/keys.pipe.d.ts +16 -0
  93. package/src/pipes/keys/keys.pipe.d.ts.map +1 -0
  94. package/version.bak +1 -1
@@ -0,0 +1,72 @@
1
+ import { Component, ChangeDetectionStrategy, Optional, ChangeDetectorRef, Input, ContentChild } from '@angular/core';
2
+ import { FormGroupDirective, FormGroupName } from '@angular/forms';
3
+ import { Subscription } from 'rxjs';
4
+ import { GroupErrorsTemplateDirective } from '../../directives';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "../../directives/errorMessage/errorMessage.directive";
9
+ import * as i4 from "../../pipes/withErrorMessage/withErrorMessage.pipe";
10
+ import * as i5 from "../../../../../../src/pipes/keys/keys.pipe";
11
+ /**
12
+ * Component used for rendering from group errors
13
+ */
14
+ export class GroupErrorsComponent {
15
+ //######################### constructor #########################
16
+ constructor(formGroupDirective, formGroupName, _changeDetector) {
17
+ this.formGroupDirective = formGroupDirective;
18
+ this.formGroupName = formGroupName;
19
+ this._changeDetector = _changeDetector;
20
+ /**
21
+ * Subscriptions created during initialization
22
+ */
23
+ this._initSubscriptions = new Subscription();
24
+ if (!this.formGroupDirective && !this.formGroupName) {
25
+ throw new Error('There is no parent formGroup or formGroupName directive');
26
+ }
27
+ }
28
+ //######################### public properties - template bindings #########################
29
+ /**
30
+ * Gets instance of currently used form group
31
+ * @internal
32
+ */
33
+ get formGroup() {
34
+ return (this._formGroup ?? (this._formGroup = this.formGroupDirective?.form ?? this.formGroupName?.control));
35
+ }
36
+ //######################### public methods - implementation of OnInit #########################
37
+ /**
38
+ * Initialize component
39
+ */
40
+ ngOnInit() {
41
+ this._initSubscriptions.add(this.formGroup.statusChanges.subscribe(state => {
42
+ if (this._lastState != state || state == 'INVALID') {
43
+ this._lastState = state;
44
+ this._changeDetector.detectChanges();
45
+ }
46
+ }));
47
+ }
48
+ //######################### public methods - implementation of OnDestroy #########################
49
+ /**
50
+ * Called when component is destroyed
51
+ */
52
+ ngOnDestroy() {
53
+ this._initSubscriptions?.unsubscribe();
54
+ this._initSubscriptions = null;
55
+ }
56
+ }
57
+ GroupErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: GroupErrorsComponent, deps: [{ token: i1.FormGroupDirective, optional: true }, { token: i1.FormGroupName, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
58
+ GroupErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: GroupErrorsComponent, selector: "form-group-errors", inputs: { cssClass: "cssClass" }, queries: [{ propertyName: "template", first: true, predicate: GroupErrorsTemplateDirective, descendants: true }], ngImport: i0, template: "<ng-template #defaultTemplate let-errorName>\n <div [ngClass]=\"cssClass\" [errorMessage]=\"errorName\" [errors]=\"formGroup.errors\"></div>\n</ng-template>\n\n<ng-container *ngFor=\"let errorName of formGroup.errors | keys | withErrorMessage; let first=first; let last=last; let index=index\">\n <ng-container *ngTemplateOutlet=\"template?.template ?? defaultTemplate; context: {$implicit: errorName, first, last, index, errors: formGroup.errors}\"></ng-container>\n</ng-container>", directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.ErrorMessageDirective, selector: "[errorMessage]", inputs: ["errorMessage", "errors"], exportAs: ["errorMessage"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "withErrorMessage": i4.WithErrorMessagePipe, "keys": i5.KeysPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: GroupErrorsComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'form-group-errors', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #defaultTemplate let-errorName>\n <div [ngClass]=\"cssClass\" [errorMessage]=\"errorName\" [errors]=\"formGroup.errors\"></div>\n</ng-template>\n\n<ng-container *ngFor=\"let errorName of formGroup.errors | keys | withErrorMessage; let first=first; let last=last; let index=index\">\n <ng-container *ngTemplateOutlet=\"template?.template ?? defaultTemplate; context: {$implicit: errorName, first, last, index, errors: formGroup.errors}\"></ng-container>\n</ng-container>" }]
62
+ }], ctorParameters: function () { return [{ type: i1.FormGroupDirective, decorators: [{
63
+ type: Optional
64
+ }] }, { type: i1.FormGroupName, decorators: [{
65
+ type: Optional
66
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { cssClass: [{
67
+ type: Input
68
+ }], template: [{
69
+ type: ContentChild,
70
+ args: [GroupErrorsTemplateDirective]
71
+ }] } });
72
+ //# sourceMappingURL=groupErrors.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupErrors.component.js","sourceRoot":"","sources":["../../../../../../../forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.ts","../../../../../../../forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,QAAQ,EAAqB,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACtI,OAAO,EAA+B,kBAAkB,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;;;;;;;AAE9D;;GAEG;AAOH,MAAM,OAAO,oBAAoB;IA8C7B,iEAAiE;IACjE,YAAkC,kBAAsC,EACtC,aAA4B,EACxC,eAAkC;QAFtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,kBAAa,GAAb,aAAa,CAAe;QACxC,oBAAe,GAAf,eAAe,CAAmB;QAxCxD;;WAEG;QACO,uBAAkB,GAAiB,IAAI,YAAY,EAAE,CAAC;QAuC5D,IAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,EAClD;YACI,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC9E;IACL,CAAC;IApCD,2FAA2F;IAE3F;;;OAGG;IACH,IAAW,SAAS;QAEhB,OAAO,CAAC,IAAI,CAAC,UAAU,KAAf,IAAI,CAAC,UAAU,GAAM,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC;IA6BD,+FAA+F;IAE/F;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAEvE,IAAG,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,KAAK,IAAI,SAAS,EACjD;gBACI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;aACxC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;QAEd,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACnC,CAAC;;iHAnFQ,oBAAoB;qGAApB,oBAAoB,iIA2Cf,4BAA4B,gDC1D9C,0eAMe;2FDSF,oBAAoB;kBANhC,SAAS;+BAEI,mBAAmB,mBAEZ,uBAAuB,CAAC,MAAM;;0BAiDlC,QAAQ;;0BACR,QAAQ;4EAZd,QAAQ;sBADd,KAAK;gBASC,QAAQ;sBADd,YAAY;uBAAC,4BAA4B","sourcesContent":["import {Component, ChangeDetectionStrategy, Optional, OnInit, OnDestroy, ChangeDetectorRef, Input, ContentChild} from '@angular/core';\nimport {FormControlStatus, FormGroup, FormGroupDirective, FormGroupName} from '@angular/forms';\nimport {Subscription} from 'rxjs';\n\nimport {GroupErrorsTemplateDirective} from '../../directives';\n\n/**\n * Component used for rendering from group errors\n */\n@Component(\n{\n selector: 'form-group-errors',\n templateUrl: 'groupErrors.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GroupErrorsComponent implements OnInit, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of currently used form group\n */\n protected _formGroup?: FormGroup;\n\n /**\n * Subscriptions created during initialization\n */\n protected _initSubscriptions: Subscription = new Subscription();\n\n /**\n * Last state of form control\n */\n protected _lastState?: FormControlStatus;\n\n //######################### public properties - template bindings #########################\n\n /**\n * Gets instance of currently used form group\n * @internal\n */\n public get formGroup(): FormGroup\n {\n return (this._formGroup ??= (this.formGroupDirective?.form ?? this.formGroupName?.control));\n }\n\n //######################### public properties - inputs #########################\n\n /**\n * Css classes that are applied to default rendered divs\n */\n @Input()\n public cssClass: string;\n\n //######################### public properties - children #########################\n\n /**\n * Custom template for rendering form group error\n */\n @ContentChild(GroupErrorsTemplateDirective)\n public template?: GroupErrorsTemplateDirective;\n\n //######################### constructor #########################\n constructor(@Optional() protected formGroupDirective: FormGroupDirective,\n @Optional() protected formGroupName: FormGroupName,\n protected _changeDetector: ChangeDetectorRef,)\n {\n if(!this.formGroupDirective && !this.formGroupName)\n {\n throw new Error('There is no parent formGroup or formGroupName directive');\n }\n }\n\n //######################### public methods - implementation of OnInit #########################\n \n /**\n * Initialize component\n */\n public ngOnInit(): void\n {\n this._initSubscriptions.add(this.formGroup.statusChanges.subscribe(state =>\n {\n if(this._lastState != state || state == 'INVALID')\n {\n this._lastState = state;\n this._changeDetector.detectChanges();\n }\n }));\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this._initSubscriptions?.unsubscribe();\n this._initSubscriptions = null;\n }\n}","<ng-template #defaultTemplate let-errorName>\n <div [ngClass]=\"cssClass\" [errorMessage]=\"errorName\" [errors]=\"formGroup.errors\"></div>\n</ng-template>\n\n<ng-container *ngFor=\"let errorName of formGroup.errors | keys | withErrorMessage; let first=first; let last=last; let index=index\">\n <ng-container *ngTemplateOutlet=\"template?.template ?? defaultTemplate; context: {$implicit: errorName, first, last, index, errors: formGroup.errors}\"></ng-container>\n</ng-container>"]}
@@ -0,0 +1,2 @@
1
+ export * from './groupErrors/groupErrors.component';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../forms/src/modules/errorMessage/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC","sourcesContent":["export * from './groupErrors/groupErrors.component';\n"]}
@@ -0,0 +1,74 @@
1
+ import { Directive, ElementRef, Inject, Input } from '@angular/core';
2
+ import { STRING_LOCALIZATION } from '@anglr/common';
3
+ import { isBlank, nameof } from '@jscrpt/common';
4
+ import { Subscription } from 'rxjs';
5
+ import { VALIDATION_ERROR_MESSAGES } from '../../../../misc/types';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Directive used for displaying form error message
9
+ */
10
+ export class ErrorMessageDirective {
11
+ //######################### constructor #########################
12
+ constructor(_element, _localization, _errorMessages) {
13
+ this._element = _element;
14
+ this._localization = _localization;
15
+ this._errorMessages = _errorMessages;
16
+ //######################### protected properties #########################
17
+ /**
18
+ * Subscriptions created during initialization
19
+ */
20
+ this._initSubscriptions = new Subscription();
21
+ this._initSubscriptions.add(this._localization.textsChange.subscribe(() => this._showMessage()));
22
+ }
23
+ //######################### public methods - implementation of OnChanges #########################
24
+ /**
25
+ * Called when input value changes
26
+ */
27
+ ngOnChanges(changes) {
28
+ if (nameof('errorName') in changes) {
29
+ this._showMessage();
30
+ }
31
+ }
32
+ //######################### public methods - implementation of OnDestroy #########################
33
+ /**
34
+ * Called when component is destroyed
35
+ */
36
+ ngOnDestroy() {
37
+ this._initSubscriptions?.unsubscribe();
38
+ this._initSubscriptions = null;
39
+ }
40
+ //######################### protected methods #########################
41
+ /**
42
+ * Shows message inside of element
43
+ */
44
+ _showMessage() {
45
+ if (isBlank(this.errorName)) {
46
+ this._element.nativeElement.innerHTML = '';
47
+ return;
48
+ }
49
+ const errorMessage = this._errorMessages[this.errorName];
50
+ const message = this._localization.get(errorMessage, this.errors);
51
+ this._element.nativeElement.innerHTML = message;
52
+ }
53
+ }
54
+ ErrorMessageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageDirective, deps: [{ token: i0.ElementRef }, { token: STRING_LOCALIZATION }, { token: VALIDATION_ERROR_MESSAGES }], target: i0.ɵɵFactoryTarget.Directive });
55
+ ErrorMessageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: ErrorMessageDirective, selector: "[errorMessage]", inputs: { errorName: ["errorMessage", "errorName"], errors: "errors" }, exportAs: ["errorMessage"], usesOnChanges: true, ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ selector: '[errorMessage]',
60
+ exportAs: 'errorMessage'
61
+ }]
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
63
+ type: Inject,
64
+ args: [STRING_LOCALIZATION]
65
+ }] }, { type: undefined, decorators: [{
66
+ type: Inject,
67
+ args: [VALIDATION_ERROR_MESSAGES]
68
+ }] }]; }, propDecorators: { errorName: [{
69
+ type: Input,
70
+ args: ['errorMessage']
71
+ }], errors: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=errorMessage.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorMessage.directive.js","sourceRoot":"","sources":["../../../../../../../forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAsC,MAAM,eAAe,CAAC;AACxG,OAAO,EAAqB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAa,OAAO,EAAE,MAAM,EAAmB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,yBAAyB,EAAC,MAAM,wBAAwB,CAAC;;AAEjE;;GAEG;AAMH,MAAM,OAAO,qBAAqB;IAuB9B,iEAAiE;IACjE,YAAsB,QAAiC,EACJ,aAAiC,EAC3B,cAAgC;QAFnE,aAAQ,GAAR,QAAQ,CAAyB;QACJ,kBAAa,GAAb,aAAa,CAAoB;QAC3B,mBAAc,GAAd,cAAc,CAAkB;QAxBzF,0EAA0E;QAE1E;;WAEG;QACO,uBAAkB,GAAiB,IAAI,YAAY,EAAE,CAAC;QAqB5D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW,CAAC,OAAsB;QAErC,IAAG,MAAM,CAAwB,WAAW,CAAC,IAAI,OAAO,EACxD;YACI,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;QAEd,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,YAAY;QAElB,IAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1B;YACI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;YAE3C,OAAO;SACV;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC;IACpD,CAAC;;kHAzEQ,qBAAqB,4CAyBV,mBAAmB,aACnB,yBAAyB;sGA1BpC,qBAAqB;2FAArB,qBAAqB;kBALjC,SAAS;mBACV;oBACI,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBAC3B;;0BA0BgB,MAAM;2BAAC,mBAAmB;;0BAC1B,MAAM;2BAAC,yBAAyB;4CAXtC,SAAS;sBADf,KAAK;uBAAC,cAAc;gBAOd,MAAM;sBADZ,KAAK","sourcesContent":["import {Directive, ElementRef, Inject, Input, OnChanges, OnDestroy, SimpleChanges} from '@angular/core';\nimport {StringLocalization, STRING_LOCALIZATION} from '@anglr/common';\nimport {Dictionary, isBlank, nameof, StringDictionary} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {VALIDATION_ERROR_MESSAGES} from '../../../../misc/types';\n\n/**\n * Directive used for displaying form error message\n */\n@Directive(\n{\n selector: '[errorMessage]',\n exportAs: 'errorMessage'\n})\nexport class ErrorMessageDirective implements OnChanges, OnDestroy\n{\n //######################### protected properties #########################\n\n /**\n * Subscriptions created during initialization\n */\n protected _initSubscriptions: Subscription = new Subscription();\n\n //######################### public properties - inputs #########################\n\n /**\n * Name/code of error message to be displayed\n */\n @Input('errorMessage')\n public errorName: string;\n\n /**\n * Object storing all errors\n */\n @Input()\n public errors: Dictionary;\n\n //######################### constructor #########################\n constructor(protected _element: ElementRef<HTMLElement>,\n @Inject(STRING_LOCALIZATION) protected _localization: StringLocalization,\n @Inject(VALIDATION_ERROR_MESSAGES) protected _errorMessages: StringDictionary,)\n {\n this._initSubscriptions.add(this._localization.textsChange.subscribe(() => this._showMessage()));\n }\n\n //######################### public methods - implementation of OnChanges #########################\n \n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n if(nameof<ErrorMessageDirective>('errorName') in changes)\n {\n this._showMessage();\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this._initSubscriptions?.unsubscribe();\n this._initSubscriptions = null;\n }\n\n //######################### protected methods #########################\n\n /**\n * Shows message inside of element\n */\n protected _showMessage(): void\n {\n if(isBlank(this.errorName))\n {\n this._element.nativeElement.innerHTML = '';\n\n return;\n }\n\n const errorMessage = this._errorMessages[this.errorName];\n const message = this._localization.get(errorMessage, this.errors);\n\n this._element.nativeElement.innerHTML = message;\n }\n}"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=groupErrorTemplate.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupErrorTemplate.context.js","sourceRoot":"","sources":["../../../../../../../forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorTemplate.context.ts"],"names":[],"mappings":"","sourcesContent":["import {Dictionary} from '@jscrpt/common';\n\n/**\n * Context passed to template of group error\n */\nexport interface GroupErrorsTemplateContext\n{\n /**\n * Name/code of error\n */\n $implicit: string;\n\n /**\n * Indication whether rendered error is last\n */\n last: boolean;\n\n /**\n * Indication whether rendered error is first\n */\n first: boolean;\n\n /**\n * Index of currently rendered item\n */\n index: number;\n\n /**\n * Object storing all errors for form group\n */\n errors: Dictionary;\n}"]}
@@ -0,0 +1,27 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Obtains template for displaying form group error
5
+ */
6
+ export class GroupErrorsTemplateDirective {
7
+ //######################### constructor #########################
8
+ constructor(template) {
9
+ this.template = template;
10
+ }
11
+ //######################### ng language server #########################
12
+ /**
13
+ * Allows typechecking for template
14
+ */
15
+ static ngTemplateContextGuard(_dir, _ctx) {
16
+ return true;
17
+ }
18
+ }
19
+ GroupErrorsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: GroupErrorsTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ GroupErrorsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: GroupErrorsTemplateDirective, selector: "[formGroupError]", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: GroupErrorsTemplateDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[formGroupError]'
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
27
+ //# sourceMappingURL=groupErrorsTemplate.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupErrorsTemplate.directive.js","sourceRoot":"","sources":["../../../../../../../forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAIrD;;GAEG;AAKH,MAAM,OAAO,4BAA4B;IAErC,iEAAiE;IACjE,YAAmB,QAAiD;QAAjD,aAAQ,GAAR,QAAQ,CAAyC;IAEpE,CAAC;IAED,wEAAwE;IAExE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAkC,EAAE,IAAa;QAE3E,OAAO,IAAI,CAAC;IAChB,CAAC;;yHAfQ,4BAA4B;6GAA5B,4BAA4B;2FAA5B,4BAA4B;kBAJxC,SAAS;mBACV;oBACI,QAAQ,EAAE,kBAAkB;iBAC/B","sourcesContent":["import {Directive, TemplateRef} from '@angular/core';\n\nimport {GroupErrorsTemplateContext} from './groupErrorTemplate.context';\n\n/**\n * Obtains template for displaying form group error\n */\n@Directive(\n{\n selector: '[formGroupError]'\n})\nexport class GroupErrorsTemplateDirective\n{\n //######################### constructor #########################\n constructor(public template: TemplateRef<GroupErrorsTemplateContext>)\n {\n }\n\n //######################### ng language server #########################\n \n /**\n * Allows typechecking for template\n */\n static ngTemplateContextGuard(_dir: GroupErrorsTemplateDirective, _ctx: unknown): _ctx is GroupErrorsTemplateContext\n {\n return true;\n }\n}"]}
@@ -0,0 +1,4 @@
1
+ export * from './errorMessage/errorMessage.directive';
2
+ export * from './groupErrorsTemplate/groupErrorsTemplate.directive';
3
+ export * from './groupErrorsTemplate/groupErrorTemplate.context';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../forms/src/modules/errorMessage/directives/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,qDAAqD,CAAC;AACpE,cAAc,kDAAkD,CAAC","sourcesContent":["export * from './errorMessage/errorMessage.directive';\nexport * from './groupErrorsTemplate/groupErrorsTemplate.directive';\nexport * from './groupErrorsTemplate/groupErrorTemplate.context';\n"]}
@@ -0,0 +1,5 @@
1
+ export * from './components';
2
+ export * from './directives';
3
+ export * from './modules';
4
+ export * from './pipes';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../forms/src/modules/errorMessage/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC","sourcesContent":["export * from './components';\nexport * from './directives';\nexport * from './modules';\nexport * from './pipes';\n"]}
@@ -0,0 +1,47 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { CommonUtilsModule } from '@anglr/common';
4
+ import { GroupErrorsComponent } from '../components';
5
+ import { ErrorMessageDirective, GroupErrorsTemplateDirective } from '../directives';
6
+ import { WithErrorMessagePipe } from '../pipes';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * Module for error message directives, pipes and components
10
+ */
11
+ export class ErrorMessageModule {
12
+ }
13
+ ErrorMessageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ ErrorMessageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageModule, declarations: [WithErrorMessagePipe,
15
+ ErrorMessageDirective,
16
+ GroupErrorsTemplateDirective,
17
+ GroupErrorsComponent], imports: [CommonModule,
18
+ CommonUtilsModule], exports: [WithErrorMessagePipe,
19
+ ErrorMessageDirective,
20
+ GroupErrorsTemplateDirective,
21
+ GroupErrorsComponent] });
22
+ ErrorMessageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageModule, imports: [[
23
+ CommonModule,
24
+ CommonUtilsModule,
25
+ ]] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ imports: [
30
+ CommonModule,
31
+ CommonUtilsModule,
32
+ ],
33
+ declarations: [
34
+ WithErrorMessagePipe,
35
+ ErrorMessageDirective,
36
+ GroupErrorsTemplateDirective,
37
+ GroupErrorsComponent,
38
+ ],
39
+ exports: [
40
+ WithErrorMessagePipe,
41
+ ErrorMessageDirective,
42
+ GroupErrorsTemplateDirective,
43
+ GroupErrorsComponent,
44
+ ]
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=errorMessage.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorMessage.module.js","sourceRoot":"","sources":["../../../../../../forms/src/modules/errorMessage/modules/errorMessage.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,qBAAqB,EAAE,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAClF,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;;AAE9C;;GAEG;AAuBH,MAAM,OAAO,kBAAkB;;+GAAlB,kBAAkB;gHAAlB,kBAAkB,iBAbvB,oBAAoB;QACpB,qBAAqB;QACrB,4BAA4B;QAC5B,oBAAoB,aARpB,YAAY;QACZ,iBAAiB,aAWjB,oBAAoB;QACpB,qBAAqB;QACrB,4BAA4B;QAC5B,oBAAoB;gHAGf,kBAAkB,YAnB3B;YACI,YAAY;YACZ,iBAAiB;SACpB;2FAgBQ,kBAAkB;kBAtB9B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,YAAY;wBACZ,iBAAiB;qBACpB;oBACD,YAAY,EACZ;wBACI,oBAAoB;wBACpB,qBAAqB;wBACrB,4BAA4B;wBAC5B,oBAAoB;qBACvB;oBACD,OAAO,EACP;wBACI,oBAAoB;wBACpB,qBAAqB;wBACrB,4BAA4B;wBAC5B,oBAAoB;qBACvB;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CommonUtilsModule} from '@anglr/common';\n\nimport {GroupErrorsComponent} from '../components';\nimport {ErrorMessageDirective, GroupErrorsTemplateDirective} from '../directives';\nimport {WithErrorMessagePipe} from '../pipes';\n\n/**\n * Module for error message directives, pipes and components\n */\n@NgModule(\n{\n imports:\n [\n CommonModule,\n CommonUtilsModule,\n ],\n declarations:\n [\n WithErrorMessagePipe,\n ErrorMessageDirective,\n GroupErrorsTemplateDirective,\n GroupErrorsComponent,\n ],\n exports:\n [\n WithErrorMessagePipe,\n ErrorMessageDirective,\n GroupErrorsTemplateDirective,\n GroupErrorsComponent,\n ]\n})\nexport class ErrorMessageModule\n{\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './errorMessage.module';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../forms/src/modules/errorMessage/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC","sourcesContent":["export * from './errorMessage.module';\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './withErrorMessage/withErrorMessage.pipe';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../forms/src/modules/errorMessage/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC","sourcesContent":["export * from './withErrorMessage/withErrorMessage.pipe';\n"]}
@@ -0,0 +1,33 @@
1
+ import { Inject, Pipe } from '@angular/core';
2
+ import { VALIDATION_ERROR_MESSAGES } from '../../../../misc/types';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Filters array of errors with messages
6
+ */
7
+ export class WithErrorMessagePipe {
8
+ //######################### constructor #########################
9
+ constructor(_errorMessages) {
10
+ this._errorMessages = _errorMessages;
11
+ }
12
+ //######################### public methods - implementation of PipeTransform #########################
13
+ /**
14
+ * Filters array of errors with messages
15
+ * @param value - Array of error names
16
+ */
17
+ transform(value) {
18
+ if (!value?.length) {
19
+ return value;
20
+ }
21
+ return value.filter(itm => this._errorMessages[itm]);
22
+ }
23
+ }
24
+ WithErrorMessagePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: WithErrorMessagePipe, deps: [{ token: VALIDATION_ERROR_MESSAGES }], target: i0.ɵɵFactoryTarget.Pipe });
25
+ WithErrorMessagePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: WithErrorMessagePipe, name: "withErrorMessage" });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: WithErrorMessagePipe, decorators: [{
27
+ type: Pipe,
28
+ args: [{ name: 'withErrorMessage' }]
29
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
30
+ type: Inject,
31
+ args: [VALIDATION_ERROR_MESSAGES]
32
+ }] }]; } });
33
+ //# sourceMappingURL=withErrorMessage.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withErrorMessage.pipe.js","sourceRoot":"","sources":["../../../../../../../forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAC;AAG1D,OAAO,EAAC,yBAAyB,EAAC,MAAM,wBAAwB,CAAC;;AAEjE;;GAEG;AAEH,MAAM,OAAO,oBAAoB;IAE7B,iEAAiE;IACjE,YAAyD,cAAgC;QAAhC,mBAAc,GAAd,cAAc,CAAkB;IAEzF,CAAC;IAED,sGAAsG;IAEtG;;;OAGG;IACI,SAAS,CAAC,KAAe;QAE5B,IAAG,CAAC,KAAK,EAAE,MAAM,EACjB;YACI,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;;iHArBQ,oBAAoB,kBAGT,yBAAyB;+GAHpC,oBAAoB;2FAApB,oBAAoB;kBADhC,IAAI;mBAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC;;0BAIf,MAAM;2BAAC,yBAAyB","sourcesContent":["import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {StringDictionary} from '@jscrpt/common';\n\nimport {VALIDATION_ERROR_MESSAGES} from '../../../../misc/types';\n\n/**\n * Filters array of errors with messages\n */\n@Pipe({name: 'withErrorMessage'})\nexport class WithErrorMessagePipe implements PipeTransform\n{\n //######################### constructor #########################\n constructor(@Inject(VALIDATION_ERROR_MESSAGES) protected _errorMessages: StringDictionary)\n {\n }\n\n //######################### public methods - implementation of PipeTransform #########################\n\n /**\n * Filters array of errors with messages\n * @param value - Array of error names\n */\n public transform(value: string[]): string[]\n {\n if(!value?.length)\n {\n return value;\n }\n\n return value.filter(itm => this._errorMessages[itm]);\n }\n}"]}
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe } from '../pipes';
2
+ import { IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe, KeysPipe } from '../pipes';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Module for common utility stuff
@@ -10,10 +10,12 @@ CommonUtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versio
10
10
  CommonUtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonUtilsModule, declarations: [IsNaNPipe,
11
11
  IsPresentPipe,
12
12
  UrlEncodePipe,
13
- MergeCssClassesPipe], exports: [IsNaNPipe,
13
+ MergeCssClassesPipe,
14
+ KeysPipe], exports: [IsNaNPipe,
14
15
  IsPresentPipe,
15
16
  UrlEncodePipe,
16
- MergeCssClassesPipe] });
17
+ MergeCssClassesPipe,
18
+ KeysPipe] });
17
19
  CommonUtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonUtilsModule });
18
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonUtilsModule, decorators: [{
19
21
  type: NgModule,
@@ -23,12 +25,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
23
25
  IsPresentPipe,
24
26
  UrlEncodePipe,
25
27
  MergeCssClassesPipe,
28
+ KeysPipe,
26
29
  ],
27
30
  exports: [
28
31
  IsNaNPipe,
29
32
  IsPresentPipe,
30
33
  UrlEncodePipe,
31
34
  MergeCssClassesPipe,
35
+ KeysPipe,
32
36
  ]
33
37
  }]
34
38
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"commonUtils.module.js","sourceRoot":"","sources":["../../../src/modules/commonUtils.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,UAAU,CAAC;;AAEtF;;GAEG;AAkBH,MAAM,OAAO,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAbtB,SAAS;QACT,aAAa;QACb,aAAa;QACb,mBAAmB,aAInB,SAAS;QACT,aAAa;QACb,aAAa;QACb,mBAAmB;+GAGd,iBAAiB;2FAAjB,iBAAiB;kBAjB7B,QAAQ;mBACT;oBACI,YAAY,EACZ;wBACI,SAAS;wBACT,aAAa;wBACb,aAAa;wBACb,mBAAmB;qBACtB;oBACD,OAAO,EACP;wBACI,SAAS;wBACT,aAAa;wBACb,aAAa;wBACb,mBAAmB;qBACtB;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe} from '../pipes';\n\n/**\n * Module for common utility stuff\n */\n@NgModule(\n{\n declarations:\n [\n IsNaNPipe,\n IsPresentPipe,\n UrlEncodePipe,\n MergeCssClassesPipe,\n ],\n exports: \n [\n IsNaNPipe,\n IsPresentPipe,\n UrlEncodePipe,\n MergeCssClassesPipe,\n ]\n})\nexport class CommonUtilsModule\n{\n}"]}
1
+ {"version":3,"file":"commonUtils.module.js","sourceRoot":"","sources":["../../../src/modules/commonUtils.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;;AAEhG;;GAEG;AAoBH,MAAM,OAAO,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAftB,SAAS;QACT,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,QAAQ,aAIR,SAAS;QACT,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,QAAQ;+GAGH,iBAAiB;2FAAjB,iBAAiB;kBAnB7B,QAAQ;mBACT;oBACI,YAAY,EACZ;wBACI,SAAS;wBACT,aAAa;wBACb,aAAa;wBACb,mBAAmB;wBACnB,QAAQ;qBACX;oBACD,OAAO,EACP;wBACI,SAAS;wBACT,aAAa;wBACb,aAAa;wBACb,mBAAmB;wBACnB,QAAQ;qBACX;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe, KeysPipe} from '../pipes';\n\n/**\n * Module for common utility stuff\n */\n@NgModule(\n{\n declarations:\n [\n IsNaNPipe,\n IsPresentPipe,\n UrlEncodePipe,\n MergeCssClassesPipe,\n KeysPipe,\n ],\n exports: \n [\n IsNaNPipe,\n IsPresentPipe,\n UrlEncodePipe,\n MergeCssClassesPipe,\n KeysPipe,\n ]\n})\nexport class CommonUtilsModule\n{\n}"]}
@@ -3,4 +3,5 @@ export * from './isPresent/isPresent.pipe';
3
3
  export * from './isNaN/isNaN.pipe';
4
4
  export * from './localize/localize.pipe';
5
5
  export * from './mergeCssClasses/mergeCssClasses.pipe';
6
+ export * from './keys/keys.pipe';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC","sourcesContent":["export * from './urlEncode/urlEncode.pipe';\nexport * from './isPresent/isPresent.pipe';\nexport * from './isNaN/isNaN.pipe';\nexport * from './localize/localize.pipe';\nexport * from './mergeCssClasses/mergeCssClasses.pipe';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './urlEncode/urlEncode.pipe';\nexport * from './isPresent/isPresent.pipe';\nexport * from './isNaN/isNaN.pipe';\nexport * from './localize/localize.pipe';\nexport * from './mergeCssClasses/mergeCssClasses.pipe';\nexport * from './keys/keys.pipe';\n"]}
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { isBlank } from '@jscrpt/common';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Gets object keys/property names
6
+ */
7
+ export class KeysPipe {
8
+ /**
9
+ * Gets object keys/property names
10
+ * @param value - Object containing keys which will be obtained
11
+ */
12
+ transform(value) {
13
+ if (isBlank(value)) {
14
+ return [];
15
+ }
16
+ return Object.keys(value);
17
+ }
18
+ }
19
+ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KeysPipe, name: "keys" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KeysPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{ name: 'keys' }]
24
+ }] });
25
+ //# sourceMappingURL=keys.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/keys/keys.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAa,OAAO,EAAC,MAAM,gBAAgB,CAAC;;AAEnD;;GAEG;AAEH,MAAM,OAAO,QAAQ;IAEjB;;;OAGG;IACI,SAAS,CAAC,KAAsB;QAEnC,IAAG,OAAO,CAAC,KAAK,CAAC,EACjB;YACI,OAAO,EAAE,CAAC;SACb;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;qGAdQ,QAAQ;mGAAR,QAAQ;2FAAR,QAAQ;kBADpB,IAAI;mBAAC,EAAC,IAAI,EAAE,MAAM,EAAC","sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {Dictionary, isBlank} from '@jscrpt/common';\n\n/**\n * Gets object keys/property names\n */\n@Pipe({name: 'keys'})\nexport class KeysPipe implements PipeTransform\n{\n /**\n * Gets object keys/property names\n * @param value - Object containing keys which will be obtained\n */\n public transform(value: Dictionary<any>): string[]\n {\n if(isBlank(value))\n {\n return [];\n }\n\n return Object.keys(value);\n }\n}\n"]}
@@ -17,5 +17,6 @@ export * from './modules/numberInput.module';
17
17
  export * from './modules/hasError.module';
18
18
  export * from './modules/requiredClass.module';
19
19
  export * from './modules/formPipes';
20
+ export * from './modules/errorMessage';
20
21
  export * from './misc/formModel';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,yDAAyD,CAAC;AACxE,cAAc,oEAAoE,CAAC;AACnF,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oDAAoD,CAAC;AACnE,cAAc,wCAAwC,CAAC;AACvD,cAAc,oEAAoE,CAAC;AACnF,cAAc,kEAAkE,CAAC;AACjF,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,yDAAyD,CAAC;AACxE,cAAc,oEAAoE,CAAC;AACnF,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oDAAoD,CAAC;AACnE,cAAc,wCAAwC,CAAC;AACvD,cAAc,oEAAoE,CAAC;AACnF,cAAc,kEAAkE,CAAC;AACjF,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
+ import { FormControlStatus, FormGroup, FormGroupDirective, FormGroupName } from '@angular/forms';
3
+ import { Subscription } from 'rxjs';
4
+ import { GroupErrorsTemplateDirective } from '../../directives';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Component used for rendering from group errors
8
+ */
9
+ export declare class GroupErrorsComponent implements OnInit, OnDestroy {
10
+ protected formGroupDirective: FormGroupDirective;
11
+ protected formGroupName: FormGroupName;
12
+ protected _changeDetector: ChangeDetectorRef;
13
+ /**
14
+ * Instance of currently used form group
15
+ */
16
+ protected _formGroup?: FormGroup;
17
+ /**
18
+ * Subscriptions created during initialization
19
+ */
20
+ protected _initSubscriptions: Subscription;
21
+ /**
22
+ * Last state of form control
23
+ */
24
+ protected _lastState?: FormControlStatus;
25
+ /**
26
+ * Gets instance of currently used form group
27
+ * @internal
28
+ */
29
+ get formGroup(): FormGroup;
30
+ /**
31
+ * Css classes that are applied to default rendered divs
32
+ */
33
+ cssClass: string;
34
+ /**
35
+ * Custom template for rendering form group error
36
+ */
37
+ template?: GroupErrorsTemplateDirective;
38
+ constructor(formGroupDirective: FormGroupDirective, formGroupName: FormGroupName, _changeDetector: ChangeDetectorRef);
39
+ /**
40
+ * Initialize component
41
+ */
42
+ ngOnInit(): void;
43
+ /**
44
+ * Called when component is destroyed
45
+ */
46
+ ngOnDestroy(): void;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<GroupErrorsComponent, [{ optional: true; }, { optional: true; }, null]>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<GroupErrorsComponent, "form-group-errors", never, { "cssClass": "cssClass"; }, {}, ["template"], never>;
49
+ }
50
+ //# sourceMappingURL=groupErrors.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupErrors.component.d.ts","sourceRoot":"","sources":["groupErrors.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAsB,MAAM,eAAe,CAAC;AACtI,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;;AAE9D;;GAEG;AACH,qBAMa,oBAAqB,YAAW,MAAM,EAAE,SAAS;IA+ClC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB;IAChD,SAAS,CAAC,aAAa,EAAE,aAAa;IAClD,SAAS,CAAC,eAAe,EAAE,iBAAiB;IA7CxD;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAEjC;;OAEG;IACH,SAAS,CAAC,kBAAkB,EAAE,YAAY,CAAsB;IAEhE;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAIzC;;;OAGG;IACH,IAAW,SAAS,IAAI,SAAS,CAGhC;IAID;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAC;IAIxB;;OAEG;IAEI,QAAQ,CAAC,EAAE,4BAA4B,CAAC;gBAGb,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EACxC,eAAe,EAAE,iBAAiB;IAUxD;;OAEG;IACI,QAAQ,IAAI,IAAI;IAcvB;;OAEG;IACI,WAAW,IAAI,IAAI;yCA/EjB,oBAAoB;2CAApB,oBAAoB;CAoFhC"}
@@ -0,0 +1,7 @@
1
+ <ng-template #defaultTemplate let-errorName>
2
+ <div [ngClass]="cssClass" [errorMessage]="errorName" [errors]="formGroup.errors"></div>
3
+ </ng-template>
4
+
5
+ <ng-container *ngFor="let errorName of formGroup.errors | keys | withErrorMessage; let first=first; let last=last; let index=index">
6
+ <ng-container *ngTemplateOutlet="template?.template ?? defaultTemplate; context: {$implicit: errorName, first, last, index, errors: formGroup.errors}"></ng-container>
7
+ </ng-container>
@@ -0,0 +1,2 @@
1
+ export * from './groupErrors/groupErrors.component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
+ import { StringLocalization } from '@anglr/common';
3
+ import { Dictionary, StringDictionary } from '@jscrpt/common';
4
+ import { Subscription } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Directive used for displaying form error message
8
+ */
9
+ export declare class ErrorMessageDirective implements OnChanges, OnDestroy {
10
+ protected _element: ElementRef<HTMLElement>;
11
+ protected _localization: StringLocalization;
12
+ protected _errorMessages: StringDictionary;
13
+ /**
14
+ * Subscriptions created during initialization
15
+ */
16
+ protected _initSubscriptions: Subscription;
17
+ /**
18
+ * Name/code of error message to be displayed
19
+ */
20
+ errorName: string;
21
+ /**
22
+ * Object storing all errors
23
+ */
24
+ errors: Dictionary;
25
+ constructor(_element: ElementRef<HTMLElement>, _localization: StringLocalization, _errorMessages: StringDictionary);
26
+ /**
27
+ * Called when input value changes
28
+ */
29
+ ngOnChanges(changes: SimpleChanges): void;
30
+ /**
31
+ * Called when component is destroyed
32
+ */
33
+ ngOnDestroy(): void;
34
+ /**
35
+ * Shows message inside of element
36
+ */
37
+ protected _showMessage(): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorMessageDirective, never>;
39
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ErrorMessageDirective, "[errorMessage]", ["errorMessage"], { "errorName": "errorMessage"; "errors": "errors"; }, {}, never>;
40
+ }
41
+ //# sourceMappingURL=errorMessage.directive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorMessage.directive.d.ts","sourceRoot":"","sources":["errorMessage.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAiB,SAAS,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACxG,OAAO,EAAC,kBAAkB,EAAsB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,UAAU,EAAmB,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;;AAIlC;;GAEG;AACH,qBAKa,qBAAsB,YAAW,SAAS,EAAE,SAAS;IAwBlD,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;IACd,SAAS,CAAC,aAAa,EAAE,kBAAkB;IACrC,SAAS,CAAC,cAAc,EAAE,gBAAgB;IAtBzF;;OAEG;IACH,SAAS,CAAC,kBAAkB,EAAE,YAAY,CAAsB;IAIhE;;OAEG;IAEI,SAAS,EAAE,MAAM,CAAC;IAEzB;;OAEG;IAEI,MAAM,EAAE,UAAU,CAAC;gBAGJ,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,EACJ,aAAa,EAAE,kBAAkB,EAC3B,cAAc,EAAE,gBAAgB;IAOzF;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAUhD;;OAEG;IACI,WAAW,IAAI,IAAI;IAQ1B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;yCA5DrB,qBAAqB;2CAArB,qBAAqB;CA0EjC"}
@@ -0,0 +1,27 @@
1
+ import { Dictionary } from '@jscrpt/common';
2
+ /**
3
+ * Context passed to template of group error
4
+ */
5
+ export interface GroupErrorsTemplateContext {
6
+ /**
7
+ * Name/code of error
8
+ */
9
+ $implicit: string;
10
+ /**
11
+ * Indication whether rendered error is last
12
+ */
13
+ last: boolean;
14
+ /**
15
+ * Indication whether rendered error is first
16
+ */
17
+ first: boolean;
18
+ /**
19
+ * Index of currently rendered item
20
+ */
21
+ index: number;
22
+ /**
23
+ * Object storing all errors for form group
24
+ */
25
+ errors: Dictionary;
26
+ }
27
+ //# sourceMappingURL=groupErrorTemplate.context.d.ts.map