@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
package/changelog.md CHANGED
@@ -4,6 +4,9 @@
4
4
 
5
5
  ### Features
6
6
 
7
+ - new `KeysPipe` pipe, that gets object keys/property names
8
+ - updated `CommonUtilsModule`
9
+ - added `KeysPipe` to this module
7
10
  - new **Tooltip** module (based on `Position` service)
8
11
  - new `TooltipModule` module for rendering tooltips
9
12
  - **exports**
@@ -44,6 +47,29 @@
44
47
  - now using `TitledDialogServiceOptions`, using type of component for dialog from options
45
48
  - new `MovableTitledDialogComponent` component, that is used as wrapper for material dialog enhanced with title, which is movable
46
49
  - new `MovableTitledDialogModule` module for components for displaying movable titled dialog
50
+ - *subpackage* `@anglr/common/forms`
51
+ - new `ErrorMessageModule` module for error message directives, pipes and components
52
+ - added `WithErrorMessagePipe` pipe to this module
53
+ - added `GroupErrorsTemplateDirective` directive to this module
54
+ - added `ErrorMessageDirective` directive to this module
55
+ - added `GroupErrorsComponent` directive to this module
56
+ - new `WithErrorMessagePipe` pipe, that filters array of errors with messages
57
+ - new `GroupErrorsTemplateContext` interface, that is context passed to template of group error
58
+ - `$implicit` name/code of error
59
+ - `last` indication whether rendered error is last
60
+ - `first` indication whether rendered error is first
61
+ - `index` index of currently rendered item
62
+ - `errors` object storing all errors for form group
63
+ - new `GroupErrorsTemplateDirective` directive, that obtains template for displaying form group error
64
+ - new `ErrorMessageDirective` directive, that is used for displaying form error message
65
+ - **inputs**
66
+ - `errorMessage` name/code of error message to be displayed
67
+ - `errors` object storing all errors
68
+ - new `GroupErrorsComponent` component, that is used for rendering from group errors
69
+ - **inputs**
70
+ - `cssClass` css classes that are applied to default rendered divs
71
+ - **content**
72
+ - child `GroupErrorsTemplateDirective` custom template for rendering form group error
47
73
 
48
74
  ## Version 11.2.0 (2022-03-01)
49
75
 
@@ -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.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../forms/src/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","sourcesContent":["export * from './directives/numberInput/maxValueNumberValidator.directive';\nexport * from './directives/numberInput/minValueNumberValidator.directive';\nexport * from './directives/numberInput/numberInputValidator.directive';\nexport * from './directives/numberInput/numberInputControlValueAccessor.directive';\nexport * from './directives/hasError/hasError.directive';\nexport * from './directives/groupHasError/groupHasError.directive';\nexport * from './directives/requiredClass/requiredClass.directive';\nexport * from './services/submitted/submitted.service';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.interface';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.service';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.interface';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.service';\nexport * from './misc/validators';\nexport * from './misc/utils';\nexport * from './misc/types';\nexport * from './modules/numberInput.module';\nexport * from './modules/hasError.module';\nexport * from './modules/requiredClass.module';\nexport * from './modules/formPipes';\nexport * from './misc/formModel';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../forms/src/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","sourcesContent":["export * from './directives/numberInput/maxValueNumberValidator.directive';\nexport * from './directives/numberInput/minValueNumberValidator.directive';\nexport * from './directives/numberInput/numberInputValidator.directive';\nexport * from './directives/numberInput/numberInputControlValueAccessor.directive';\nexport * from './directives/hasError/hasError.directive';\nexport * from './directives/groupHasError/groupHasError.directive';\nexport * from './directives/requiredClass/requiredClass.directive';\nexport * from './services/submitted/submitted.service';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.interface';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.service';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.interface';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.service';\nexport * from './misc/validators';\nexport * from './misc/utils';\nexport * from './misc/types';\nexport * from './modules/numberInput.module';\nexport * from './modules/hasError.module';\nexport * from './modules/requiredClass.module';\nexport * from './modules/formPipes';\nexport * from './modules/errorMessage';\nexport * from './misc/formModel';\n"]}
@@ -0,0 +1,74 @@
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
+ var _a, _b, _c, _d;
35
+ return ((_a = this._formGroup) !== null && _a !== void 0 ? _a : (this._formGroup = (_c = (_b = this.formGroupDirective) === null || _b === void 0 ? void 0 : _b.form) !== null && _c !== void 0 ? _c : (_d = this.formGroupName) === null || _d === void 0 ? void 0 : _d.control));
36
+ }
37
+ //######################### public methods - implementation of OnInit #########################
38
+ /**
39
+ * Initialize component
40
+ */
41
+ ngOnInit() {
42
+ this._initSubscriptions.add(this.formGroup.statusChanges.subscribe(state => {
43
+ if (this._lastState != state || state == 'INVALID') {
44
+ this._lastState = state;
45
+ this._changeDetector.detectChanges();
46
+ }
47
+ }));
48
+ }
49
+ //######################### public methods - implementation of OnDestroy #########################
50
+ /**
51
+ * Called when component is destroyed
52
+ */
53
+ ngOnDestroy() {
54
+ var _a;
55
+ (_a = this._initSubscriptions) === null || _a === void 0 ? void 0 : _a.unsubscribe();
56
+ this._initSubscriptions = null;
57
+ }
58
+ }
59
+ 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 });
60
+ 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 });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: GroupErrorsComponent, decorators: [{
62
+ type: Component,
63
+ 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>" }]
64
+ }], ctorParameters: function () { return [{ type: i1.FormGroupDirective, decorators: [{
65
+ type: Optional
66
+ }] }, { type: i1.FormGroupName, decorators: [{
67
+ type: Optional
68
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { cssClass: [{
69
+ type: Input
70
+ }], template: [{
71
+ type: ContentChild,
72
+ args: [GroupErrorsTemplateDirective]
73
+ }] } });
74
+ //# 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,OAAC,IAAI,CAAC,UAAU,oCAAf,IAAI,CAAC,UAAU,GAAM,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,IAAI,mCAAI,MAAA,IAAI,CAAC,aAAa,0CAAE,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,MAAA,IAAI,CAAC,kBAAkB,0CAAE,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,75 @@
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
+ var _a;
38
+ (_a = this._initSubscriptions) === null || _a === void 0 ? void 0 : _a.unsubscribe();
39
+ this._initSubscriptions = null;
40
+ }
41
+ //######################### protected methods #########################
42
+ /**
43
+ * Shows message inside of element
44
+ */
45
+ _showMessage() {
46
+ if (isBlank(this.errorName)) {
47
+ this._element.nativeElement.innerHTML = '';
48
+ return;
49
+ }
50
+ const errorMessage = this._errorMessages[this.errorName];
51
+ const message = this._localization.get(errorMessage, this.errors);
52
+ this._element.nativeElement.innerHTML = message;
53
+ }
54
+ }
55
+ 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 });
56
+ 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 });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ErrorMessageDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{
60
+ selector: '[errorMessage]',
61
+ exportAs: 'errorMessage'
62
+ }]
63
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: [STRING_LOCALIZATION]
66
+ }] }, { type: undefined, decorators: [{
67
+ type: Inject,
68
+ args: [VALIDATION_ERROR_MESSAGES]
69
+ }] }]; }, propDecorators: { errorName: [{
70
+ type: Input,
71
+ args: ['errorMessage']
72
+ }], errors: [{
73
+ type: Input
74
+ }] } });
75
+ //# 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,MAAA,IAAI,CAAC,kBAAkB,0CAAE,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 === null || value === void 0 ? void 0 : 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,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,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.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../forms/src/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","sourcesContent":["export * from './directives/numberInput/maxValueNumberValidator.directive';\nexport * from './directives/numberInput/minValueNumberValidator.directive';\nexport * from './directives/numberInput/numberInputValidator.directive';\nexport * from './directives/numberInput/numberInputControlValueAccessor.directive';\nexport * from './directives/hasError/hasError.directive';\nexport * from './directives/groupHasError/groupHasError.directive';\nexport * from './directives/requiredClass/requiredClass.directive';\nexport * from './services/submitted/submitted.service';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.interface';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.service';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.interface';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.service';\nexport * from './misc/validators';\nexport * from './misc/utils';\nexport * from './misc/types';\nexport * from './modules/numberInput.module';\nexport * from './modules/hasError.module';\nexport * from './modules/requiredClass.module';\nexport * from './modules/formPipes';\nexport * from './misc/formModel';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../forms/src/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","sourcesContent":["export * from './directives/numberInput/maxValueNumberValidator.directive';\nexport * from './directives/numberInput/minValueNumberValidator.directive';\nexport * from './directives/numberInput/numberInputValidator.directive';\nexport * from './directives/numberInput/numberInputControlValueAccessor.directive';\nexport * from './directives/hasError/hasError.directive';\nexport * from './directives/groupHasError/groupHasError.directive';\nexport * from './directives/requiredClass/requiredClass.directive';\nexport * from './services/submitted/submitted.service';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.interface';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.service';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.interface';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.service';\nexport * from './misc/validators';\nexport * from './misc/utils';\nexport * from './misc/types';\nexport * from './modules/numberInput.module';\nexport * from './modules/hasError.module';\nexport * from './modules/requiredClass.module';\nexport * from './modules/formPipes';\nexport * from './modules/errorMessage';\nexport * from './misc/formModel';\n"]}