@sbcore/ng-absolute-validator 14.0.0

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 (171) hide show
  1. package/README.md +257 -0
  2. package/esm2020/i18n/bn.mjs +68 -0
  3. package/esm2020/i18n/de.mjs +68 -0
  4. package/esm2020/i18n/en.mjs +68 -0
  5. package/esm2020/i18n/es.mjs +68 -0
  6. package/esm2020/i18n/fr.mjs +68 -0
  7. package/esm2020/i18n/hi.mjs +68 -0
  8. package/esm2020/i18n/ja.mjs +68 -0
  9. package/esm2020/i18n/pt.mjs +68 -0
  10. package/esm2020/i18n/ru.mjs +68 -0
  11. package/esm2020/i18n/zh.mjs +68 -0
  12. package/esm2020/lib/common.utils.mjs +49 -0
  13. package/esm2020/lib/config-interface.mjs +3 -0
  14. package/esm2020/lib/constant.mjs +87 -0
  15. package/esm2020/lib/directive/error-trigger/error-trigger-on.directive.mjs +35 -0
  16. package/esm2020/lib/directive/index.mjs +3 -0
  17. package/esm2020/lib/directive/native-element/native-element.directive.mjs +34 -0
  18. package/esm2020/lib/interface.mjs +14 -0
  19. package/esm2020/lib/ng-absolute-validator.component.mjs +194 -0
  20. package/esm2020/lib/ng-absolute-validator.module.mjs +125 -0
  21. package/esm2020/lib/ng-absolute-validator.service.mjs +67 -0
  22. package/esm2020/lib/rule/above/above.directive.mjs +45 -0
  23. package/esm2020/lib/rule/accepted/accepted.directive.mjs +44 -0
  24. package/esm2020/lib/rule/after/after.directive.mjs +46 -0
  25. package/esm2020/lib/rule/alpha/alpha.directive.mjs +41 -0
  26. package/esm2020/lib/rule/alpha_dash/alpha-dash.directive.mjs +41 -0
  27. package/esm2020/lib/rule/alpha_numeric/alpha-numeric.directive.mjs +41 -0
  28. package/esm2020/lib/rule/array/array.directive.mjs +41 -0
  29. package/esm2020/lib/rule/before/before.directive.mjs +46 -0
  30. package/esm2020/lib/rule/between/between.directive.mjs +46 -0
  31. package/esm2020/lib/rule/boolean/boolean.directive.mjs +41 -0
  32. package/esm2020/lib/rule/confirmed/confirmed.directive.mjs +64 -0
  33. package/esm2020/lib/rule/credit_card/credit-card.directive.mjs +43 -0
  34. package/esm2020/lib/rule/cvv/cvv.directive.mjs +41 -0
  35. package/esm2020/lib/rule/date/date.directive.mjs +46 -0
  36. package/esm2020/lib/rule/date_format/date-format.directive.mjs +46 -0
  37. package/esm2020/lib/rule/debit_card/debit-card.directive.mjs +43 -0
  38. package/esm2020/lib/rule/different/different.directive.mjs +63 -0
  39. package/esm2020/lib/rule/dimension/dimension.directive.mjs +49 -0
  40. package/esm2020/lib/rule/email/email.directive.mjs +41 -0
  41. package/esm2020/lib/rule/ends_with/ends-with.directive.mjs +45 -0
  42. package/esm2020/lib/rule/equals/equals.directive.mjs +45 -0
  43. package/esm2020/lib/rule/exists/exists.directive.mjs +49 -0
  44. package/esm2020/lib/rule/image/image.directive.mjs +41 -0
  45. package/esm2020/lib/rule/in/in.directive.mjs +45 -0
  46. package/esm2020/lib/rule/includes/includes.directive.mjs +45 -0
  47. package/esm2020/lib/rule/index.mjs +60 -0
  48. package/esm2020/lib/rule/integer/integer.directive.mjs +41 -0
  49. package/esm2020/lib/rule/ip/ip.directive.mjs +41 -0
  50. package/esm2020/lib/rule/ipv4/ipv4.directive.mjs +41 -0
  51. package/esm2020/lib/rule/ipv6/ipv6.directive.mjs +41 -0
  52. package/esm2020/lib/rule/json/json.directive.mjs +41 -0
  53. package/esm2020/lib/rule/max/max.directive.mjs +51 -0
  54. package/esm2020/lib/rule/mimes/mimes.directive.mjs +47 -0
  55. package/esm2020/lib/rule/min/min.directive.mjs +51 -0
  56. package/esm2020/lib/rule/not_equals/not-equals.directive.mjs +44 -0
  57. package/esm2020/lib/rule/not_in/not-in.directive.mjs +45 -0
  58. package/esm2020/lib/rule/not_regex/not-regex.directive.mjs +45 -0
  59. package/esm2020/lib/rule/number/number.directive.mjs +41 -0
  60. package/esm2020/lib/rule/phone_no/phone-no.directive.mjs +45 -0
  61. package/esm2020/lib/rule/range/range.directive.mjs +46 -0
  62. package/esm2020/lib/rule/regex/regex.directive.mjs +45 -0
  63. package/esm2020/lib/rule/required/required.directive.mjs +41 -0
  64. package/esm2020/lib/rule/required_if/required-if.directive.mjs +66 -0
  65. package/esm2020/lib/rule/required_unless/required-unless.directive.mjs +65 -0
  66. package/esm2020/lib/rule/required_with/required-with.directive.mjs +67 -0
  67. package/esm2020/lib/rule/required_with_all/required-with-all.directive.mjs +67 -0
  68. package/esm2020/lib/rule/required_without/required-without.directive.mjs +67 -0
  69. package/esm2020/lib/rule/required_without_all/required-without-all.directive.mjs +67 -0
  70. package/esm2020/lib/rule/rule.directive.mjs +35 -0
  71. package/esm2020/lib/rule/rule.module.mjs +141 -0
  72. package/esm2020/lib/rule/same/same.directive.mjs +62 -0
  73. package/esm2020/lib/rule/size/size.directive.mjs +44 -0
  74. package/esm2020/lib/rule/starts_with/starts-with.directive.mjs +45 -0
  75. package/esm2020/lib/rule/strength/strength.directive.mjs +47 -0
  76. package/esm2020/lib/rule/string/string.directive.mjs +41 -0
  77. package/esm2020/lib/rule/under/under.directive.mjs +44 -0
  78. package/esm2020/lib/rule/unique/unique.directive.mjs +48 -0
  79. package/esm2020/lib/rule/url/url.directive.mjs +41 -0
  80. package/esm2020/lib/rule/uuid/uuid.directive.mjs +41 -0
  81. package/esm2020/lib/rule/video/video.directive.mjs +41 -0
  82. package/esm2020/lib/services/http.request.service.mjs +20 -0
  83. package/esm2020/lib/services/messages-builder.service.mjs +46 -0
  84. package/esm2020/lib/services/reactive.validate.mjs +69 -0
  85. package/esm2020/lib/services/utils.service.mjs +476 -0
  86. package/esm2020/lib/services/validate-rule.service.mjs +103 -0
  87. package/esm2020/lib/transator.loader.mjs +38 -0
  88. package/esm2020/public-api.mjs +11 -0
  89. package/esm2020/sbcore-ng-absolute-validator.mjs +5 -0
  90. package/fesm2015/sbcore-ng-absolute-validator.mjs +4488 -0
  91. package/fesm2015/sbcore-ng-absolute-validator.mjs.map +1 -0
  92. package/fesm2020/sbcore-ng-absolute-validator.mjs +4480 -0
  93. package/fesm2020/sbcore-ng-absolute-validator.mjs.map +1 -0
  94. package/i18n/bn.d.ts +68 -0
  95. package/i18n/de.d.ts +68 -0
  96. package/i18n/en.d.ts +68 -0
  97. package/i18n/es.d.ts +68 -0
  98. package/i18n/fr.d.ts +68 -0
  99. package/i18n/hi.d.ts +68 -0
  100. package/i18n/ja.d.ts +68 -0
  101. package/i18n/pt.d.ts +68 -0
  102. package/i18n/ru.d.ts +68 -0
  103. package/i18n/zh.d.ts +68 -0
  104. package/index.d.ts +5 -0
  105. package/lib/directive/error-trigger/error-trigger-on.directive.d.ts +10 -0
  106. package/lib/directive/index.d.ts +2 -0
  107. package/lib/directive/native-element/native-element.directive.d.ts +12 -0
  108. package/lib/ng-absolute-validator.module.d.ts +20 -0
  109. package/lib/rule/above/above.directive.d.ts +20 -0
  110. package/lib/rule/accepted/accepted.directive.d.ts +20 -0
  111. package/lib/rule/after/after.directive.d.ts +20 -0
  112. package/lib/rule/alpha/alpha.directive.d.ts +19 -0
  113. package/lib/rule/alpha_dash/alpha-dash.directive.d.ts +19 -0
  114. package/lib/rule/alpha_numeric/alpha-numeric.directive.d.ts +19 -0
  115. package/lib/rule/array/array.directive.d.ts +19 -0
  116. package/lib/rule/before/before.directive.d.ts +20 -0
  117. package/lib/rule/between/between.directive.d.ts +20 -0
  118. package/lib/rule/boolean/boolean.directive.d.ts +19 -0
  119. package/lib/rule/confirmed/confirmed.directive.d.ts +24 -0
  120. package/lib/rule/credit_card/credit-card.directive.d.ts +19 -0
  121. package/lib/rule/cvv/cvv.directive.d.ts +19 -0
  122. package/lib/rule/date/date.directive.d.ts +20 -0
  123. package/lib/rule/date_format/date-format.directive.d.ts +20 -0
  124. package/lib/rule/debit_card/debit-card.directive.d.ts +19 -0
  125. package/lib/rule/different/different.directive.d.ts +24 -0
  126. package/lib/rule/dimension/dimension.directive.d.ts +21 -0
  127. package/lib/rule/email/email.directive.d.ts +19 -0
  128. package/lib/rule/ends_with/ends-with.directive.d.ts +20 -0
  129. package/lib/rule/equals/equals.directive.d.ts +20 -0
  130. package/lib/rule/exists/exists.directive.d.ts +21 -0
  131. package/lib/rule/image/image.directive.d.ts +19 -0
  132. package/lib/rule/in/in.directive.d.ts +20 -0
  133. package/lib/rule/includes/includes.directive.d.ts +20 -0
  134. package/lib/rule/index.d.ts +59 -0
  135. package/lib/rule/integer/integer.directive.d.ts +19 -0
  136. package/lib/rule/ip/ip.directive.d.ts +19 -0
  137. package/lib/rule/ipv4/ipv4.directive.d.ts +19 -0
  138. package/lib/rule/ipv6/ipv6.directive.d.ts +19 -0
  139. package/lib/rule/json/json.directive.d.ts +19 -0
  140. package/lib/rule/max/max.directive.d.ts +20 -0
  141. package/lib/rule/mimes/mimes.directive.d.ts +20 -0
  142. package/lib/rule/min/min.directive.d.ts +20 -0
  143. package/lib/rule/not_equals/not-equals.directive.d.ts +20 -0
  144. package/lib/rule/not_in/not-in.directive.d.ts +20 -0
  145. package/lib/rule/not_regex/not-regex.directive.d.ts +20 -0
  146. package/lib/rule/number/number.directive.d.ts +19 -0
  147. package/lib/rule/phone_no/phone-no.directive.d.ts +20 -0
  148. package/lib/rule/range/range.directive.d.ts +20 -0
  149. package/lib/rule/regex/regex.directive.d.ts +20 -0
  150. package/lib/rule/required/required.directive.d.ts +19 -0
  151. package/lib/rule/required_if/required-if.directive.d.ts +24 -0
  152. package/lib/rule/required_unless/required-unless.directive.d.ts +24 -0
  153. package/lib/rule/required_with/required-with.directive.d.ts +24 -0
  154. package/lib/rule/required_with_all/required-with-all.directive.d.ts +24 -0
  155. package/lib/rule/required_without/required-without.directive.d.ts +24 -0
  156. package/lib/rule/required_without_all/required-without-all.directive.d.ts +24 -0
  157. package/lib/rule/rule.module.d.ts +65 -0
  158. package/lib/rule/same/same.directive.d.ts +24 -0
  159. package/lib/rule/size/size.directive.d.ts +20 -0
  160. package/lib/rule/starts_with/starts-with.directive.d.ts +20 -0
  161. package/lib/rule/strength/strength.directive.d.ts +20 -0
  162. package/lib/rule/string/string.directive.d.ts +19 -0
  163. package/lib/rule/under/under.directive.d.ts +20 -0
  164. package/lib/rule/unique/unique.directive.d.ts +21 -0
  165. package/lib/rule/url/url.directive.d.ts +19 -0
  166. package/lib/rule/uuid/uuid.directive.d.ts +19 -0
  167. package/lib/rule/video/video.directive.d.ts +19 -0
  168. package/lib/services/reactive.validate.d.ts +21 -0
  169. package/lib/transator.loader.d.ts +10 -0
  170. package/package.json +66 -0
  171. package/public-api.d.ts +7 -0
@@ -0,0 +1,47 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { toArray } from '../../common.utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/messages-builder.service";
6
+ import * as i2 from "../../services/utils.service";
7
+ export class MimesDirective {
8
+ constructor(mb, el, utl) {
9
+ this.mb = mb;
10
+ this.el = el;
11
+ this.utl = utl;
12
+ this.vmessage = {};
13
+ this.fieldName = 'field';
14
+ this.mimes = [];
15
+ this.fieldName = this.el.nativeElement.name;
16
+ }
17
+ set message(data) {
18
+ this.vmessage = data;
19
+ }
20
+ validate(control) {
21
+ this.utl.setValidationRules(control, 'mimes');
22
+ return this.isValid(this.el.nativeElement.files, this.mimes);
23
+ }
24
+ isValid(fileInstance, mimes) {
25
+ if (!!fileInstance && fileInstance.length > 0 && this.utl.mimes(fileInstance, mimes)) {
26
+ let _mimes = toArray(mimes);
27
+ return { 'mimes': this.mb.call('mimes', this.fieldName, ..._mimes, this.vmessage) };
28
+ }
29
+ return null;
30
+ }
31
+ }
32
+ MimesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MimesDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
33
+ MimesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: MimesDirective, selector: "[mimes]", inputs: { mimes: "mimes", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: MimesDirective, multi: true }], ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MimesDirective, decorators: [{
35
+ type: Directive,
36
+ args: [{
37
+ selector: '[mimes]',
38
+ providers: [{ provide: NG_VALIDATORS, useExisting: MimesDirective, multi: true }]
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { mimes: [{
41
+ type: Input,
42
+ args: ['mimes']
43
+ }], message: [{
44
+ type: Input,
45
+ args: ['message']
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWltZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9taW1lcy9taW1lcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBZ0QsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGNBQWM7SUFXdkIsWUFDWSxFQUF5QixFQUN6QixFQUFjLEVBQ2QsR0FBZ0I7UUFGaEIsT0FBRSxHQUFGLEVBQUUsQ0FBdUI7UUFDekIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFacEIsYUFBUSxHQUFxQixFQUFFLENBQUE7UUFDL0IsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUVwQixVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQVUxQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUFDLENBQUM7SUFUakQsSUFDSSxPQUFPLENBQUMsSUFBc0I7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVFELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRVMsT0FBTyxDQUFDLFlBQW9CLEVBQUUsS0FBd0I7UUFDNUQsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNsRixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDM0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUN0RjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzJHQTVCUSxjQUFjOytGQUFkLGNBQWMsa0ZBRlosQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXhFLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDcEY7K0pBTW1CLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFFVixPQUFPO3NCQURWLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2VzLWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IHRvQXJyYXkgfSBmcm9tICcuLi8uLi9jb21tb24udXRpbHMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbWltZXNdJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IE1pbWVzRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWltZXNEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2U6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWU6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG4gICAgQElucHV0KCdtaW1lcycpIG1pbWVzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQElucHV0KCdtZXNzYWdlJylcclxuICAgIHNldCBtZXNzYWdlKGRhdGE6IExvY2FsaXplZE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbWI6IE1lc3NhZ2VCdWlsZGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgdXRsOiBVdGlsU2VydmljZVxyXG4gICAgKSB7IHRoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWUgfVxyXG5cclxuICAgIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICB0aGlzLnV0bC5zZXRWYWxpZGF0aW9uUnVsZXMoY29udHJvbCwgJ21pbWVzJyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZmlsZXMsIHRoaXMubWltZXMpXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGlzVmFsaWQoZmlsZUluc3RhbmNlOiBGaWxlW10sIG1pbWVzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICBpZiAoISFmaWxlSW5zdGFuY2UgJiYgZmlsZUluc3RhbmNlLmxlbmd0aCA+IDAgJiYgdGhpcy51dGwubWltZXMoZmlsZUluc3RhbmNlLCBtaW1lcykpIHtcclxuICAgICAgICAgICAgbGV0IF9taW1lcyA9IHRvQXJyYXkobWltZXMpXHJcbiAgICAgICAgICAgIHJldHVybiB7ICdtaW1lcyc6IHRoaXMubWIuY2FsbCgnbWltZXMnLCB0aGlzLmZpZWxkTmFtZSwgLi4uX21pbWVzLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class MinDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.fieldName = this.el.nativeElement.name;
14
+ }
15
+ set message(data) {
16
+ this.vmessage = data;
17
+ }
18
+ validate(control) {
19
+ this.utl.setValidationRules(control, 'min');
20
+ return this.isValid(control.value);
21
+ }
22
+ isValid(value) {
23
+ let fnName = 'min.string';
24
+ if (this.utl.integer(value)) {
25
+ fnName = 'min.numeric';
26
+ }
27
+ if (this.utl.array(value)) {
28
+ fnName = 'min.array';
29
+ }
30
+ if (!!value && !this.utl.min(value, this.min)) {
31
+ return { 'min': this.mb.call(fnName, this.fieldName, this.min, this.vmessage) };
32
+ }
33
+ return null;
34
+ }
35
+ }
36
+ MinDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MinDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
37
+ MinDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: MinDirective, selector: "[min]", inputs: { min: "min", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: MinDirective, multi: true }], ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MinDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ selector: '[min]',
42
+ providers: [{ provide: NG_VALIDATORS, useExisting: MinDirective, multi: true }]
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { min: [{
45
+ type: Input,
46
+ args: ['min']
47
+ }], message: [{
48
+ type: Input,
49
+ args: ['message']
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvbWluL21pbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sWUFBWTtJQVd4QixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVpmLGFBQVEsR0FBc0IsRUFBRSxDQUFBO1FBQ2hDLGNBQVMsR0FBVyxPQUFPLENBQUM7UUFZckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXNCO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFTRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxNQUFNLEdBQUcsWUFBWSxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxNQUFNLEdBQUcsYUFBYSxDQUFDO1NBQUU7UUFDeEQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE1BQU0sR0FBRyxXQUFXLENBQUM7U0FBRTtRQUVwRCxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUNsRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O3lHQWhDUSxZQUFZOzZGQUFaLFlBQVksNEVBRlYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXRFLFlBQVk7a0JBSnhCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ2xGOytKQU1jLEdBQUc7c0JBQWhCLEtBQUs7dUJBQUMsS0FBSztnQkFFTCxPQUFPO3NCQURiLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlcy1idWlsZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbWluXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBNaW5EaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaW5EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3J7XHJcblxyXG4gICAgcHJpdmF0ZSB2bWVzc2FnZSA6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWU6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgnbWluJykgbWluICE6IG51bWJlcjtcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTogTG9jYWxpemVkTWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMudm1lc3NhZ2UgPSBkYXRhXHJcbiAgICB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtYlx0OiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZVxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAnbWluJyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZChjb250cm9sLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzVmFsaWQodmFsdWU6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICBsZXQgZm5OYW1lID0gJ21pbi5zdHJpbmcnO1xyXG4gICAgICAgIGlmICh0aGlzLnV0bC5pbnRlZ2VyKHZhbHVlKSkgeyBmbk5hbWUgPSAnbWluLm51bWVyaWMnOyB9XHJcbiAgICAgICAgaWYgKHRoaXMudXRsLmFycmF5KHZhbHVlKSkgeyBmbk5hbWUgPSAnbWluLmFycmF5JzsgfVxyXG5cclxuICAgICAgICBpZiAoISF2YWx1ZSAmJiAhdGhpcy51dGwubWluKHZhbHVlLCB0aGlzLm1pbikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ21pbic6IHRoaXMubWIuY2FsbChmbk5hbWUsIHRoaXMuZmllbGROYW1lLCB0aGlzLm1pbiwgdGhpcy52bWVzc2FnZSkgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class NotEqualsDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.fieldName = this.el.nativeElement.name;
14
+ }
15
+ set message(data) {
16
+ this.vmessage = data;
17
+ }
18
+ validate(control) {
19
+ this.utl.setValidationRules(control, 'not_equals');
20
+ return this.isValid(control.value);
21
+ }
22
+ isValid(value) {
23
+ if (!!value && !this.utl.notEquals(value, this.notEquals)) {
24
+ return { 'not_equals': this.mb.call('not_equals', this.fieldName, this.notEquals, this.vmessage) };
25
+ }
26
+ return null;
27
+ }
28
+ }
29
+ NotEqualsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotEqualsDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
30
+ NotEqualsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NotEqualsDirective, selector: "[notEquals]", inputs: { notEquals: "notEquals", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: NotEqualsDirective, multi: true }], ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotEqualsDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[notEquals]',
35
+ providers: [{ provide: NG_VALIDATORS, useExisting: NotEqualsDirective, multi: true }]
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { notEquals: [{
38
+ type: Input,
39
+ args: ['notEquals']
40
+ }], message: [{
41
+ type: Input,
42
+ args: ['message']
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWVxdWFscy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1hYnNvbHV0ZS12YWxpZGF0b3Ivc3JjL2xpYi9ydWxlL25vdF9lcXVhbHMvbm90LWVxdWFscy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sa0JBQWtCO0lBVzlCLFlBQ1MsRUFBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsR0FBaUI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBWmYsYUFBUSxHQUF1QixFQUFFLENBQUE7UUFDakMsY0FBUyxHQUFZLE9BQU8sQ0FBQztRQVl0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7SUFUOUMsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVNELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUNyRztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OytHQTVCUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4RkFGaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFNUUsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3hGOytKQU1vQixTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBRVgsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW25vdEVxdWFsc10nLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogTm90RXF1YWxzRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90RXF1YWxzRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgnbm90RXF1YWxzJykgbm90RXF1YWxzIDogYW55XHJcblx0QElucHV0KCdtZXNzYWdlJylcclxuICAgIHNldCBtZXNzYWdlKGRhdGE6TG9jYWxpemVkTWVzc2FnZSl7XHJcbiAgICAgICAgdGhpcy52bWVzc2FnZSA9IGRhdGFcclxuICAgIH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIG1iXHQ6IE1lc3NhZ2VCdWlsZGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZWwgXHQ6IEVsZW1lbnRSZWYsXHJcblx0XHRwcml2YXRlIHV0bCA6IFV0aWxTZXJ2aWNlXHJcblx0KXt0aGlzLmZpZWxkTmFtZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5uYW1lfVxyXG5cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdub3RfZXF1YWxzJyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZChjb250cm9sLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzVmFsaWQodmFsdWU6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICBpZiAoISF2YWx1ZSAmJiAhdGhpcy51dGwubm90RXF1YWxzKHZhbHVlLCB0aGlzLm5vdEVxdWFscykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ25vdF9lcXVhbHMnOiB0aGlzLm1iLmNhbGwoJ25vdF9lcXVhbHMnLCB0aGlzLmZpZWxkTmFtZSwgdGhpcy5ub3RFcXVhbHMsIHRoaXMudm1lc3NhZ2UpIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,45 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class NotInDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.notIn = [];
14
+ this.fieldName = this.el.nativeElement.name;
15
+ }
16
+ set message(data) {
17
+ this.vmessage = data;
18
+ }
19
+ validate(control) {
20
+ this.utl.setValidationRules(control, 'not_in');
21
+ return this.isValid(control.value);
22
+ }
23
+ isValid(value) {
24
+ if (!!value && !this.utl.notIn(value, this.notIn)) {
25
+ return { 'not_in': this.mb.call('not_in', this.fieldName, this.notIn, this.vmessage) };
26
+ }
27
+ return null;
28
+ }
29
+ }
30
+ NotInDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotInDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
31
+ NotInDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NotInDirective, selector: "[notIn]", inputs: { notIn: "notIn", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: NotInDirective, multi: true }], ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotInDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[notIn]',
36
+ providers: [{ provide: NG_VALIDATORS, useExisting: NotInDirective, multi: true }]
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { notIn: [{
39
+ type: Input,
40
+ args: ['notIn']
41
+ }], message: [{
42
+ type: Input,
43
+ args: ['message']
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvbm90X2luL25vdC1pbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sY0FBYztJQVcxQixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVpmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFFeEIsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFVN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFBQSxDQUFDO0lBVC9DLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFTRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDekY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzsyR0E1QlEsY0FBYzsrRkFBZCxjQUFjLGtGQUZaLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzJGQUV4RSxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3BGOytKQU1nQixLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBRVAsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsRWxlbWVudFJlZixJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlcy1idWlsZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbm90SW5dJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IE5vdEluRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90SW5EaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3J7XHJcblxyXG4gICAgcHJpdmF0ZSB2bWVzc2FnZSAgOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZmllbGROYW1lIDogc3RyaW5nID0gJ2ZpZWxkJztcclxuXHJcblx0QElucHV0KCdub3RJbicpIG5vdEluIDogc3RyaW5nIHwgc3RyaW5nW10gPSBbXTtcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWU7fVxyXG5cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdub3RfaW4nKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5ub3RJbih2YWx1ZSwgdGhpcy5ub3RJbikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ25vdF9pbic6IHRoaXMubWIuY2FsbCgnbm90X2luJywgdGhpcy5maWVsZE5hbWUsIHRoaXMubm90SW4sIHRoaXMudm1lc3NhZ2UpIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,45 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class NotRegexDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.notRegex = '';
14
+ this.fieldName = this.el.nativeElement.name;
15
+ }
16
+ set message(data) {
17
+ this.vmessage = data;
18
+ }
19
+ validate(control) {
20
+ this.utl.setValidationRules(control, 'not_regex');
21
+ return this.isValid(control.value);
22
+ }
23
+ isValid(value) {
24
+ if (!!value && !this.utl.notRegex(value, this.notRegex)) {
25
+ return { 'not_regex': this.mb.call('not_regex', this.fieldName, this.vmessage) };
26
+ }
27
+ return null;
28
+ }
29
+ }
30
+ NotRegexDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotRegexDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
31
+ NotRegexDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NotRegexDirective, selector: "[notRegex]", inputs: { notRegex: "notRegex", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: NotRegexDirective, multi: true }], ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotRegexDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[notRegex]',
36
+ providers: [{ provide: NG_VALIDATORS, useExisting: NotRegexDirective, multi: true }]
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { notRegex: [{
39
+ type: Input,
40
+ args: ['notRegex']
41
+ }], message: [{
42
+ type: Input,
43
+ args: ['message']
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LXJlZ2V4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvbm90X3JlZ2V4L25vdC1yZWdleC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8saUJBQWlCO0lBVzdCLFlBQ1MsRUFBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsR0FBaUI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBWmYsYUFBUSxHQUF1QixFQUFFLENBQUE7UUFDakMsY0FBUyxHQUFZLE9BQU8sQ0FBQztRQUVyQixhQUFRLEdBQVksRUFBRSxDQUFDO1FBVXhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQUEsQ0FBQztJQVQ5QyxJQUNPLE9BQU8sQ0FBQyxJQUFxQjtRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtJQUN4QixDQUFDO0lBU0QsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUNuRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzhHQTVCUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyRkFGZixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzJGQUUzRSxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDdkY7K0pBTW1CLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFFVixPQUFPO3NCQURiLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlcy1idWlsZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbm90UmVnZXhdJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IE5vdFJlZ2V4RGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90UmVnZXhEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3J7XHJcblxyXG4gICAgcHJpdmF0ZSB2bWVzc2FnZSAgOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZmllbGROYW1lIDogc3RyaW5nID0gJ2ZpZWxkJztcclxuXHJcblx0QElucHV0KCdub3RSZWdleCcpIG5vdFJlZ2V4IDogc3RyaW5nID0gJyc7XHJcblx0QElucHV0KCdtZXNzYWdlJylcclxuICAgIHNldCBtZXNzYWdlKGRhdGE6TG9jYWxpemVkTWVzc2FnZSl7XHJcbiAgICAgICAgdGhpcy52bWVzc2FnZSA9IGRhdGFcclxuICAgIH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIG1iXHQ6IE1lc3NhZ2VCdWlsZGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZWwgXHQ6IEVsZW1lbnRSZWYsXHJcblx0XHRwcml2YXRlIHV0bCA6IFV0aWxTZXJ2aWNlXHJcblx0KXt0aGlzLmZpZWxkTmFtZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5uYW1lfVxyXG5cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdub3RfcmVnZXgnKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5ub3RSZWdleCh2YWx1ZSwgdGhpcy5ub3RSZWdleCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ25vdF9yZWdleCc6IHRoaXMubWIuY2FsbCgnbm90X3JlZ2V4JywgdGhpcy5maWVsZE5hbWUsIHRoaXMudm1lc3NhZ2UpIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,41 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class NumberDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.fieldName = this.el.nativeElement.name;
14
+ }
15
+ set message(data) {
16
+ this.vmessage = data;
17
+ }
18
+ validate(control) {
19
+ this.utl.setValidationRules(control, 'number');
20
+ return this.isValid(control.value);
21
+ }
22
+ isValid(value) {
23
+ if (!!value && !this.utl.number(value)) {
24
+ return { 'number': this.mb.call('number', this.fieldName, this.vmessage) };
25
+ }
26
+ return null;
27
+ }
28
+ }
29
+ NumberDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumberDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
30
+ NumberDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NumberDirective, selector: "[number]", inputs: { message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: NumberDirective, multi: true }], ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NumberDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[number]',
35
+ providers: [{ provide: NG_VALIDATORS, useExisting: NumberDirective, multi: true }]
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { message: [{
38
+ type: Input,
39
+ args: ['message']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvbnVtYmVyL251bWJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sZUFBZTtJQVUzQixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVhmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFXdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFRRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUM3RTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzRHQTFCUSxlQUFlO2dHQUFmLGVBQWUsbUVBRmIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXpFLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDckY7K0pBT08sT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW251bWJlcl0nLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogTnVtYmVyRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgnbWVzc2FnZScpXHJcbiAgICBzZXQgbWVzc2FnZShkYXRhOkxvY2FsaXplZE1lc3NhZ2Upe1xyXG4gICAgICAgIHRoaXMudm1lc3NhZ2UgPSBkYXRhXHJcbiAgICB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtYlx0OiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZVxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdudW1iZXInKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5udW1iZXIodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdudW1iZXInOiB0aGlzLm1iLmNhbGwoJ251bWJlcicsIHRoaXMuZmllbGROYW1lLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class PhoneNoDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.PhoneNo = null;
14
+ this.fieldName = this.el.nativeElement.name;
15
+ }
16
+ set message(data) {
17
+ this.vmessage = data;
18
+ }
19
+ validate(control) {
20
+ this.utl.setValidationRules(control, 'phone_no');
21
+ return this.isValid(control.value);
22
+ }
23
+ isValid(value) {
24
+ if (!!value && !this.utl.phoneNo(value, this.PhoneNo)) {
25
+ return { 'phone_no': this.mb.call('phone_no', this.fieldName, this.vmessage) };
26
+ }
27
+ return null;
28
+ }
29
+ }
30
+ PhoneNoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PhoneNoDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
31
+ PhoneNoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: PhoneNoDirective, selector: "[PhoneNo]", inputs: { PhoneNo: "PhoneNo", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: PhoneNoDirective, multi: true }], ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PhoneNoDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[PhoneNo]',
36
+ providers: [{ provide: NG_VALIDATORS, useExisting: PhoneNoDirective, multi: true }]
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { PhoneNo: [{
39
+ type: Input,
40
+ args: ['PhoneNo']
41
+ }], message: [{
42
+ type: Input,
43
+ args: ['message']
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbm8uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9waG9uZV9uby9waG9uZS1uby5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sZ0JBQWdCO0lBVzVCLFlBQ1MsRUFBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsR0FBaUI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBWmYsYUFBUSxHQUF1QixFQUFFLENBQUE7UUFDakMsY0FBUyxHQUFZLE9BQU8sQ0FBQztRQUV0QixZQUFPLEdBQW1CLElBQUksQ0FBQztRQVUvQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7SUFUOUMsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVFELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDakY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs2R0EzQlEsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd0ZBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFMUUsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3RGOytKQU1rQixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBRVQsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW1Bob25lTm9dJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFBob25lTm9EaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU5vRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgnUGhvbmVObycpIFBob25lTm8gOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAncGhvbmVfbm8nKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5waG9uZU5vKHZhbHVlLCB0aGlzLlBob25lTm8pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdwaG9uZV9ubyc6IHRoaXMubWIuY2FsbCgncGhvbmVfbm8nLCB0aGlzLmZpZWxkTmFtZSwgdGhpcy52bWVzc2FnZSkgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { toArray } from '../../common.utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/messages-builder.service";
6
+ import * as i2 from "../../services/utils.service";
7
+ export class RangeDirective {
8
+ constructor(mb, el, utl) {
9
+ this.mb = mb;
10
+ this.el = el;
11
+ this.utl = utl;
12
+ this.vmessage = {};
13
+ this.fieldName = 'field';
14
+ this.range = [];
15
+ this.fieldName = this.el.nativeElement.name;
16
+ }
17
+ set message(data) {
18
+ this.vmessage = data;
19
+ }
20
+ validate(control) {
21
+ this.utl.setValidationRules(control, 'range');
22
+ return this.isValid(control.value);
23
+ }
24
+ isValid(value) {
25
+ if (!this.utl.range(value, this.range) && !!value) {
26
+ return { 'range': this.mb.call('range', this.fieldName, ...toArray(this.range), this.vmessage) };
27
+ }
28
+ return null;
29
+ }
30
+ }
31
+ RangeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
32
+ RangeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: RangeDirective, selector: "[range]", inputs: { range: "range", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: RangeDirective, multi: true }], ngImport: i0 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: '[range]',
37
+ providers: [{ provide: NG_VALIDATORS, useExisting: RangeDirective, multi: true }]
38
+ }]
39
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { range: [{
40
+ type: Input,
41
+ args: ['range']
42
+ }], message: [{
43
+ type: Input,
44
+ args: ['message']
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9yYW5nZS9yYW5nZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGNBQWM7SUFXMUIsWUFDUyxFQUEwQixFQUMxQixFQUFnQixFQUNoQixHQUFpQjtRQUZqQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFaZixhQUFRLEdBQXVCLEVBQUUsQ0FBQTtRQUNqQyxjQUFTLEdBQVksT0FBTyxDQUFDO1FBRXhCLFVBQUssR0FBbUMsRUFBRSxDQUFDO1FBVXpELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQUEsQ0FBQztJQVQ5QyxJQUNPLE9BQU8sQ0FBQyxJQUFxQjtRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtJQUN4QixDQUFDO0lBU0QsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDbkc7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzsyR0E1QlEsY0FBYzsrRkFBZCxjQUFjLGtGQUZaLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzJGQUV4RSxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3BGOytKQU1nQixLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBRVAsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdG9BcnJheSB9IGZyb20gJy4uLy4uL2NvbW1vbi51dGlscyc7XHJcbmltcG9ydCB7IExvY2FsaXplZE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tyYW5nZV0nLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogUmFuZ2VEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYW5nZURpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvcntcclxuXHJcbiAgICBwcml2YXRlIHZtZXNzYWdlICA6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWUgOiBzdHJpbmcgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ3JhbmdlJykgcmFuZ2UgXHQ6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVtYmVyW10gPSBbXTtcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG5cclxuICAgIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICB0aGlzLnV0bC5zZXRWYWxpZGF0aW9uUnVsZXMoY29udHJvbCwgJ3JhbmdlJyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZChjb250cm9sLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzVmFsaWQodmFsdWU6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMudXRsLnJhbmdlKHZhbHVlLCB0aGlzLnJhbmdlKSAmJiAhIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdyYW5nZSc6IHRoaXMubWIuY2FsbCgncmFuZ2UnLCB0aGlzLmZpZWxkTmFtZSwgLi4udG9BcnJheSh0aGlzLnJhbmdlKSwgdGhpcy52bWVzc2FnZSkgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class RegexDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.regex = '';
14
+ this.fieldName = this.el.nativeElement.name;
15
+ }
16
+ set message(data) {
17
+ this.vmessage = data;
18
+ }
19
+ validate(control) {
20
+ this.utl.setValidationRules(control, 'regex');
21
+ return this.isValid(control.value);
22
+ }
23
+ isValid(value) {
24
+ if (!!value && !this.utl.regex(value, this.regex)) {
25
+ return { 'regex': this.mb.call('regex', this.fieldName, this.vmessage) };
26
+ }
27
+ return null;
28
+ }
29
+ }
30
+ RegexDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RegexDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
31
+ RegexDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: RegexDirective, selector: "[regex]", inputs: { regex: "regex", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: RegexDirective, multi: true }], ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RegexDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[regex]',
36
+ providers: [{ provide: NG_VALIDATORS, useExisting: RegexDirective, multi: true }]
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { regex: [{
39
+ type: Input,
40
+ args: ['regex']
41
+ }], message: [{
42
+ type: Input,
43
+ args: ['message']
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9yZWdleC9yZWdleC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sY0FBYztJQVcxQixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVpmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFFeEIsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQVVsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7SUFUOUMsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVNELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDM0U7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzsyR0E1QlEsY0FBYzsrRkFBZCxjQUFjLGtGQUZaLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzJGQUV4RSxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3BGOytKQU1nQixLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBRVAsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3JlZ2V4XScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBSZWdleERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlZ2V4RGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgncmVnZXgnKSByZWdleCA6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgnbWVzc2FnZScpXHJcbiAgICBzZXQgbWVzc2FnZShkYXRhOkxvY2FsaXplZE1lc3NhZ2Upe1xyXG4gICAgICAgIHRoaXMudm1lc3NhZ2UgPSBkYXRhXHJcbiAgICB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtYlx0OiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZVxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAncmVnZXgnKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5yZWdleCh2YWx1ZSwgdGhpcy5yZWdleCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ3JlZ2V4JzogdGhpcy5tYi5jYWxsKCdyZWdleCcsIHRoaXMuZmllbGROYW1lLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/messages-builder.service";
5
+ import * as i2 from "../../services/utils.service";
6
+ export class RequiredDirective {
7
+ constructor(mb, el, utl) {
8
+ this.mb = mb;
9
+ this.el = el;
10
+ this.utl = utl;
11
+ this.vmessage = {};
12
+ this.fieldName = 'field';
13
+ this.fieldName = this.el.nativeElement.name;
14
+ }
15
+ set message(data) {
16
+ this.vmessage = data;
17
+ }
18
+ validate(control) {
19
+ this.utl.setValidationRules(control, 'required');
20
+ return this.isValid(control.value);
21
+ }
22
+ isValid(value) {
23
+ if (!this.utl.required(value)) {
24
+ return { 'required': this.mb.call('required', this.fieldName, this.vmessage) };
25
+ }
26
+ return null;
27
+ }
28
+ }
29
+ RequiredDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RequiredDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
30
+ RequiredDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: RequiredDirective, selector: "[required]", inputs: { message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: RequiredDirective, multi: true }], ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RequiredDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[required]',
35
+ providers: [{ provide: NG_VALIDATORS, useExisting: RequiredDirective, multi: true }]
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { message: [{
38
+ type: Input,
39
+ args: ['message']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9yZXF1aXJlZC9yZXF1aXJlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8saUJBQWlCO0lBVTdCLFlBQ1MsRUFBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsR0FBaUI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBWGxCLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQzlCLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFXdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDNDLElBQ0ksT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFRRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDakY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs4R0ExQlEsaUJBQWlCO2tHQUFqQixpQkFBaUIscUVBRmYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFM0UsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3ZGOytKQU9PLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCxFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcixBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2VzLWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tyZXF1aXJlZF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogUmVxdWlyZWREaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXF1aXJlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvcntcclxuXHJcblx0cHJpdmF0ZSB2bWVzc2FnZSAgOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZmllbGROYW1lIDogc3RyaW5nID0gJ2ZpZWxkJztcclxuXHJcbiAgICBASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAncmVxdWlyZWQnKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghdGhpcy51dGwucmVxdWlyZWQodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdyZXF1aXJlZCc6IHRoaXMubWIuY2FsbCgncmVxdWlyZWQnLCB0aGlzLmZpZWxkTmFtZSwgdGhpcy52bWVzc2FnZSkgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { debounceTime, Subject, takeUntil } from 'rxjs';
4
+ import { toArray } from '../../common.utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../services/messages-builder.service";
7
+ import * as i2 from "../../services/utils.service";
8
+ export class RequiredIfDirective {
9
+ constructor(mb, el, utl) {
10
+ this.mb = mb;
11
+ this.el = el;
12
+ this.utl = utl;
13
+ this.vmessage = {};
14
+ this.destroy$ = new Subject();
15
+ this.wired = false;
16
+ this.fieldName = 'field';
17
+ this.requiredIf = [];
18
+ this.fieldName = this.el.nativeElement.name;
19
+ }
20
+ set message(data) {
21
+ this.vmessage = data;
22
+ }
23
+ validate(control) {
24
+ this.utl.setValidationRules(control, 'required_if');
25
+ this.wireSiblingWatchers(control);
26
+ return this.isValid(control, this.requiredIf);
27
+ }
28
+ isValid(control, args) {
29
+ if (!this.utl.requiredIf(control, args)) {
30
+ let _args = toArray(args);
31
+ return { 'required_if': this.mb.call('required_if', this.fieldName, ..._args, this.vmessage) };
32
+ }
33
+ return null;
34
+ }
35
+ wireSiblingWatchers(control) {
36
+ if (this.wired)
37
+ return;
38
+ let [name, ...args] = toArray(this.requiredIf);
39
+ let sibling = control.root.get(name);
40
+ if (!sibling)
41
+ return;
42
+ this.wired = true;
43
+ sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))
44
+ .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));
45
+ }
46
+ ngOnDestroy() {
47
+ this.destroy$.next();
48
+ this.destroy$.complete();
49
+ }
50
+ }
51
+ RequiredIfDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RequiredIfDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
52
+ RequiredIfDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: RequiredIfDirective, selector: "[requiredIf]", inputs: { requiredIf: "requiredIf", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: RequiredIfDirective, multi: true }], ngImport: i0 });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RequiredIfDirective, decorators: [{
54
+ type: Directive,
55
+ args: [{
56
+ selector: '[requiredIf]',
57
+ providers: [{ provide: NG_VALIDATORS, useExisting: RequiredIfDirective, multi: true }]
58
+ }]
59
+ }], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { requiredIf: [{
60
+ type: Input,
61
+ args: ['requiredIf']
62
+ }], message: [{
63
+ type: Input,
64
+ args: ['message']
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9yZXF1aXJlZF9pZi9yZXF1aXJlZC1pZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBNEQsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTdDLE1BQU0sT0FBTyxtQkFBbUI7SUFhL0IsWUFDUyxFQUEwQixFQUMxQixFQUFnQixFQUNoQixHQUFpQjtRQUZqQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFkZixhQUFRLEdBQXVCLEVBQUUsQ0FBQTtRQUNqQyxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDakQsVUFBSyxHQUFpQixLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFhLE9BQU8sQ0FBQztRQUVwQixlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQVV2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7SUFUOUMsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVFELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUF3QixFQUFFLElBQXVCO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDckMsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDakc7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBd0I7UUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDOUMsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFnQixDQUFBO1FBRW5ELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNoRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOztnSEFoRFEsbUJBQW1CO29HQUFuQixtQkFBbUIsaUdBRmpCLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRTdFLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcscUJBQXFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUN6RjsrSkFRcUIsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUVaLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2VzLWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRvQXJyYXkgfSBmcm9tICcuLi8uLi9jb21tb24udXRpbHMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3JlcXVpcmVkSWZdJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFJlcXVpcmVkSWZEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXF1aXJlZElmRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkRlc3Ryb3l7XHJcblxyXG4gICAgcHJpdmF0ZSB2bWVzc2FnZSAgOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZGVzdHJveSQgIDogU3ViamVjdDx2b2lkPiAgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSB3aXJlZCAgICAgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyAgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ3JlcXVpcmVkSWYnKSByZXF1aXJlZElmIDogc3RyaW5nIHwgc3RyaW5nW10gPSBbXTtcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAncmVxdWlyZWRfaWYnKTtcclxuICAgICAgICB0aGlzLndpcmVTaWJsaW5nV2F0Y2hlcnMoY29udHJvbClcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wsIHRoaXMucmVxdWlyZWRJZik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgYXJnczogc3RyaW5nIHwgc3RyaW5nW10pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnV0bC5yZXF1aXJlZElmKGNvbnRyb2wsIGFyZ3MpKSB7XHJcbiAgICAgICAgICAgIGxldCBfYXJncyA9IHRvQXJyYXkoYXJncyk7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdyZXF1aXJlZF9pZic6IHRoaXMubWIuY2FsbCgncmVxdWlyZWRfaWYnLCB0aGlzLmZpZWxkTmFtZSwgLi4uX2FyZ3MsIHRoaXMudm1lc3NhZ2UpIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB3aXJlU2libGluZ1dhdGNoZXJzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLndpcmVkKSByZXR1cm47XHJcbiAgICAgICAgbGV0IFtuYW1lLCAuLi5hcmdzXSA9IHRvQXJyYXkodGhpcy5yZXF1aXJlZElmKVxyXG4gICAgICAgIGxldCBzaWJsaW5nID0gY29udHJvbC5yb290LmdldChuYW1lKSBhcyBGb3JtQ29udHJvbFxyXG5cclxuICAgICAgICBpZiAoIXNpYmxpbmcpIHJldHVybjtcclxuICAgICAgICB0aGlzLndpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgc2libGluZy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSx0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxufVxyXG4iXX0=