@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.
- package/README.md +257 -0
- package/esm2020/i18n/bn.mjs +68 -0
- package/esm2020/i18n/de.mjs +68 -0
- package/esm2020/i18n/en.mjs +68 -0
- package/esm2020/i18n/es.mjs +68 -0
- package/esm2020/i18n/fr.mjs +68 -0
- package/esm2020/i18n/hi.mjs +68 -0
- package/esm2020/i18n/ja.mjs +68 -0
- package/esm2020/i18n/pt.mjs +68 -0
- package/esm2020/i18n/ru.mjs +68 -0
- package/esm2020/i18n/zh.mjs +68 -0
- package/esm2020/lib/common.utils.mjs +49 -0
- package/esm2020/lib/config-interface.mjs +3 -0
- package/esm2020/lib/constant.mjs +87 -0
- package/esm2020/lib/directive/error-trigger/error-trigger-on.directive.mjs +35 -0
- package/esm2020/lib/directive/index.mjs +3 -0
- package/esm2020/lib/directive/native-element/native-element.directive.mjs +34 -0
- package/esm2020/lib/interface.mjs +14 -0
- package/esm2020/lib/ng-absolute-validator.component.mjs +194 -0
- package/esm2020/lib/ng-absolute-validator.module.mjs +125 -0
- package/esm2020/lib/ng-absolute-validator.service.mjs +67 -0
- package/esm2020/lib/rule/above/above.directive.mjs +45 -0
- package/esm2020/lib/rule/accepted/accepted.directive.mjs +44 -0
- package/esm2020/lib/rule/after/after.directive.mjs +46 -0
- package/esm2020/lib/rule/alpha/alpha.directive.mjs +41 -0
- package/esm2020/lib/rule/alpha_dash/alpha-dash.directive.mjs +41 -0
- package/esm2020/lib/rule/alpha_numeric/alpha-numeric.directive.mjs +41 -0
- package/esm2020/lib/rule/array/array.directive.mjs +41 -0
- package/esm2020/lib/rule/before/before.directive.mjs +46 -0
- package/esm2020/lib/rule/between/between.directive.mjs +46 -0
- package/esm2020/lib/rule/boolean/boolean.directive.mjs +41 -0
- package/esm2020/lib/rule/confirmed/confirmed.directive.mjs +64 -0
- package/esm2020/lib/rule/credit_card/credit-card.directive.mjs +43 -0
- package/esm2020/lib/rule/cvv/cvv.directive.mjs +41 -0
- package/esm2020/lib/rule/date/date.directive.mjs +46 -0
- package/esm2020/lib/rule/date_format/date-format.directive.mjs +46 -0
- package/esm2020/lib/rule/debit_card/debit-card.directive.mjs +43 -0
- package/esm2020/lib/rule/different/different.directive.mjs +63 -0
- package/esm2020/lib/rule/dimension/dimension.directive.mjs +49 -0
- package/esm2020/lib/rule/email/email.directive.mjs +41 -0
- package/esm2020/lib/rule/ends_with/ends-with.directive.mjs +45 -0
- package/esm2020/lib/rule/equals/equals.directive.mjs +45 -0
- package/esm2020/lib/rule/exists/exists.directive.mjs +49 -0
- package/esm2020/lib/rule/image/image.directive.mjs +41 -0
- package/esm2020/lib/rule/in/in.directive.mjs +45 -0
- package/esm2020/lib/rule/includes/includes.directive.mjs +45 -0
- package/esm2020/lib/rule/index.mjs +60 -0
- package/esm2020/lib/rule/integer/integer.directive.mjs +41 -0
- package/esm2020/lib/rule/ip/ip.directive.mjs +41 -0
- package/esm2020/lib/rule/ipv4/ipv4.directive.mjs +41 -0
- package/esm2020/lib/rule/ipv6/ipv6.directive.mjs +41 -0
- package/esm2020/lib/rule/json/json.directive.mjs +41 -0
- package/esm2020/lib/rule/max/max.directive.mjs +51 -0
- package/esm2020/lib/rule/mimes/mimes.directive.mjs +47 -0
- package/esm2020/lib/rule/min/min.directive.mjs +51 -0
- package/esm2020/lib/rule/not_equals/not-equals.directive.mjs +44 -0
- package/esm2020/lib/rule/not_in/not-in.directive.mjs +45 -0
- package/esm2020/lib/rule/not_regex/not-regex.directive.mjs +45 -0
- package/esm2020/lib/rule/number/number.directive.mjs +41 -0
- package/esm2020/lib/rule/phone_no/phone-no.directive.mjs +45 -0
- package/esm2020/lib/rule/range/range.directive.mjs +46 -0
- package/esm2020/lib/rule/regex/regex.directive.mjs +45 -0
- package/esm2020/lib/rule/required/required.directive.mjs +41 -0
- package/esm2020/lib/rule/required_if/required-if.directive.mjs +66 -0
- package/esm2020/lib/rule/required_unless/required-unless.directive.mjs +65 -0
- package/esm2020/lib/rule/required_with/required-with.directive.mjs +67 -0
- package/esm2020/lib/rule/required_with_all/required-with-all.directive.mjs +67 -0
- package/esm2020/lib/rule/required_without/required-without.directive.mjs +67 -0
- package/esm2020/lib/rule/required_without_all/required-without-all.directive.mjs +67 -0
- package/esm2020/lib/rule/rule.directive.mjs +35 -0
- package/esm2020/lib/rule/rule.module.mjs +141 -0
- package/esm2020/lib/rule/same/same.directive.mjs +62 -0
- package/esm2020/lib/rule/size/size.directive.mjs +44 -0
- package/esm2020/lib/rule/starts_with/starts-with.directive.mjs +45 -0
- package/esm2020/lib/rule/strength/strength.directive.mjs +47 -0
- package/esm2020/lib/rule/string/string.directive.mjs +41 -0
- package/esm2020/lib/rule/under/under.directive.mjs +44 -0
- package/esm2020/lib/rule/unique/unique.directive.mjs +48 -0
- package/esm2020/lib/rule/url/url.directive.mjs +41 -0
- package/esm2020/lib/rule/uuid/uuid.directive.mjs +41 -0
- package/esm2020/lib/rule/video/video.directive.mjs +41 -0
- package/esm2020/lib/services/http.request.service.mjs +20 -0
- package/esm2020/lib/services/messages-builder.service.mjs +46 -0
- package/esm2020/lib/services/reactive.validate.mjs +69 -0
- package/esm2020/lib/services/utils.service.mjs +476 -0
- package/esm2020/lib/services/validate-rule.service.mjs +103 -0
- package/esm2020/lib/transator.loader.mjs +38 -0
- package/esm2020/public-api.mjs +11 -0
- package/esm2020/sbcore-ng-absolute-validator.mjs +5 -0
- package/fesm2015/sbcore-ng-absolute-validator.mjs +4488 -0
- package/fesm2015/sbcore-ng-absolute-validator.mjs.map +1 -0
- package/fesm2020/sbcore-ng-absolute-validator.mjs +4480 -0
- package/fesm2020/sbcore-ng-absolute-validator.mjs.map +1 -0
- package/i18n/bn.d.ts +68 -0
- package/i18n/de.d.ts +68 -0
- package/i18n/en.d.ts +68 -0
- package/i18n/es.d.ts +68 -0
- package/i18n/fr.d.ts +68 -0
- package/i18n/hi.d.ts +68 -0
- package/i18n/ja.d.ts +68 -0
- package/i18n/pt.d.ts +68 -0
- package/i18n/ru.d.ts +68 -0
- package/i18n/zh.d.ts +68 -0
- package/index.d.ts +5 -0
- package/lib/directive/error-trigger/error-trigger-on.directive.d.ts +10 -0
- package/lib/directive/index.d.ts +2 -0
- package/lib/directive/native-element/native-element.directive.d.ts +12 -0
- package/lib/ng-absolute-validator.module.d.ts +20 -0
- package/lib/rule/above/above.directive.d.ts +20 -0
- package/lib/rule/accepted/accepted.directive.d.ts +20 -0
- package/lib/rule/after/after.directive.d.ts +20 -0
- package/lib/rule/alpha/alpha.directive.d.ts +19 -0
- package/lib/rule/alpha_dash/alpha-dash.directive.d.ts +19 -0
- package/lib/rule/alpha_numeric/alpha-numeric.directive.d.ts +19 -0
- package/lib/rule/array/array.directive.d.ts +19 -0
- package/lib/rule/before/before.directive.d.ts +20 -0
- package/lib/rule/between/between.directive.d.ts +20 -0
- package/lib/rule/boolean/boolean.directive.d.ts +19 -0
- package/lib/rule/confirmed/confirmed.directive.d.ts +24 -0
- package/lib/rule/credit_card/credit-card.directive.d.ts +19 -0
- package/lib/rule/cvv/cvv.directive.d.ts +19 -0
- package/lib/rule/date/date.directive.d.ts +20 -0
- package/lib/rule/date_format/date-format.directive.d.ts +20 -0
- package/lib/rule/debit_card/debit-card.directive.d.ts +19 -0
- package/lib/rule/different/different.directive.d.ts +24 -0
- package/lib/rule/dimension/dimension.directive.d.ts +21 -0
- package/lib/rule/email/email.directive.d.ts +19 -0
- package/lib/rule/ends_with/ends-with.directive.d.ts +20 -0
- package/lib/rule/equals/equals.directive.d.ts +20 -0
- package/lib/rule/exists/exists.directive.d.ts +21 -0
- package/lib/rule/image/image.directive.d.ts +19 -0
- package/lib/rule/in/in.directive.d.ts +20 -0
- package/lib/rule/includes/includes.directive.d.ts +20 -0
- package/lib/rule/index.d.ts +59 -0
- package/lib/rule/integer/integer.directive.d.ts +19 -0
- package/lib/rule/ip/ip.directive.d.ts +19 -0
- package/lib/rule/ipv4/ipv4.directive.d.ts +19 -0
- package/lib/rule/ipv6/ipv6.directive.d.ts +19 -0
- package/lib/rule/json/json.directive.d.ts +19 -0
- package/lib/rule/max/max.directive.d.ts +20 -0
- package/lib/rule/mimes/mimes.directive.d.ts +20 -0
- package/lib/rule/min/min.directive.d.ts +20 -0
- package/lib/rule/not_equals/not-equals.directive.d.ts +20 -0
- package/lib/rule/not_in/not-in.directive.d.ts +20 -0
- package/lib/rule/not_regex/not-regex.directive.d.ts +20 -0
- package/lib/rule/number/number.directive.d.ts +19 -0
- package/lib/rule/phone_no/phone-no.directive.d.ts +20 -0
- package/lib/rule/range/range.directive.d.ts +20 -0
- package/lib/rule/regex/regex.directive.d.ts +20 -0
- package/lib/rule/required/required.directive.d.ts +19 -0
- package/lib/rule/required_if/required-if.directive.d.ts +24 -0
- package/lib/rule/required_unless/required-unless.directive.d.ts +24 -0
- package/lib/rule/required_with/required-with.directive.d.ts +24 -0
- package/lib/rule/required_with_all/required-with-all.directive.d.ts +24 -0
- package/lib/rule/required_without/required-without.directive.d.ts +24 -0
- package/lib/rule/required_without_all/required-without-all.directive.d.ts +24 -0
- package/lib/rule/rule.module.d.ts +65 -0
- package/lib/rule/same/same.directive.d.ts +24 -0
- package/lib/rule/size/size.directive.d.ts +20 -0
- package/lib/rule/starts_with/starts-with.directive.d.ts +20 -0
- package/lib/rule/strength/strength.directive.d.ts +20 -0
- package/lib/rule/string/string.directive.d.ts +19 -0
- package/lib/rule/under/under.directive.d.ts +20 -0
- package/lib/rule/unique/unique.directive.d.ts +21 -0
- package/lib/rule/url/url.directive.d.ts +19 -0
- package/lib/rule/uuid/uuid.directive.d.ts +19 -0
- package/lib/rule/video/video.directive.d.ts +19 -0
- package/lib/services/reactive.validate.d.ts +21 -0
- package/lib/transator.loader.d.ts +10 -0
- package/package.json +66 -0
- package/public-api.d.ts +7 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import { Subject, takeUntil, debounceTime } from 'rxjs';
|
|
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 SameDirective {
|
|
8
|
+
constructor(mb, el, utl) {
|
|
9
|
+
this.mb = mb;
|
|
10
|
+
this.el = el;
|
|
11
|
+
this.utl = utl;
|
|
12
|
+
this.vmessage = {};
|
|
13
|
+
this.destroy$ = new Subject();
|
|
14
|
+
this.wired = false;
|
|
15
|
+
this.fieldName = 'field';
|
|
16
|
+
this.fieldName = this.el.nativeElement.name;
|
|
17
|
+
}
|
|
18
|
+
set message(data) {
|
|
19
|
+
this.vmessage = data;
|
|
20
|
+
}
|
|
21
|
+
validate(control) {
|
|
22
|
+
this.utl.setValidationRules(control, 'same');
|
|
23
|
+
this.wireSiblingWatchers(control);
|
|
24
|
+
return this.isValid(control, this.same);
|
|
25
|
+
}
|
|
26
|
+
isValid(control, args) {
|
|
27
|
+
if (!this.utl.same(control, args) && !!control.value) {
|
|
28
|
+
return { 'same': this.mb.call('same', this.fieldName, this.same, this.vmessage) };
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
wireSiblingWatchers(control) {
|
|
33
|
+
if (this.wired)
|
|
34
|
+
return;
|
|
35
|
+
let sibling = control.root.get(this.same);
|
|
36
|
+
if (!sibling)
|
|
37
|
+
return;
|
|
38
|
+
this.wired = true;
|
|
39
|
+
sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))
|
|
40
|
+
.subscribe(() => control.updateValueAndValidity({ onlySelf: true }));
|
|
41
|
+
}
|
|
42
|
+
ngOnDestroy() {
|
|
43
|
+
this.destroy$.next();
|
|
44
|
+
this.destroy$.complete();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
SameDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SameDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
SameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: SameDirective, selector: "[same]", inputs: { same: "same", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: SameDirective, multi: true }], ngImport: i0 });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SameDirective, decorators: [{
|
|
50
|
+
type: Directive,
|
|
51
|
+
args: [{
|
|
52
|
+
selector: '[same]',
|
|
53
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: SameDirective, multi: true }]
|
|
54
|
+
}]
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { same: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: ['same']
|
|
58
|
+
}], message: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: ['message']
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1hYnNvbHV0ZS12YWxpZGF0b3Ivc3JjL2xpYi9ydWxlL3NhbWUvc2FtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBOEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUczRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFPeEQsTUFBTSxPQUFPLGFBQWE7SUFhekIsWUFDUyxFQUEwQixFQUMxQixFQUFnQixFQUNoQixHQUFpQjtRQUZqQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFkZixhQUFRLEdBQXVCLEVBQUUsQ0FBQTtRQUNqQyxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDakQsVUFBSyxHQUFpQixLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFhLE9BQU8sQ0FBQztRQVl2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUFBLENBQUM7SUFUL0MsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVNELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUF3QixFQUFFLElBQVk7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDcEY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBd0I7UUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDdkIsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNqRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzswR0EvQ1EsYUFBYTs4RkFBYixhQUFhLCtFQUZYLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzJGQUV2RSxhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUNuRjsrSkFRZSxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBRU4sT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsRWxlbWVudFJlZixJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NhbWVdJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFNhbWVEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYW1lRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkRlc3Ryb3l7XHJcblxyXG4gICAgcHJpdmF0ZSB2bWVzc2FnZSAgOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZGVzdHJveSQgIDogU3ViamVjdDx2b2lkPiAgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSB3aXJlZCAgICAgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyAgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ3NhbWUnKSBzYW1lICE6IHN0cmluZztcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWU7fVxyXG5cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdzYW1lJyk7XHJcbiAgICAgICAgdGhpcy53aXJlU2libGluZ1dhdGNoZXJzKGNvbnRyb2wpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZChjb250cm9sLCB0aGlzLnNhbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGFyZ3M6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMudXRsLnNhbWUoY29udHJvbCwgYXJncykgJiYgISFjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdzYW1lJzogdGhpcy5tYi5jYWxsKCdzYW1lJywgdGhpcy5maWVsZE5hbWUsIHRoaXMuc2FtZSwgdGhpcy52bWVzc2FnZSkgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHdpcmVTaWJsaW5nV2F0Y2hlcnMoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMud2lyZWQpIHJldHVybjtcclxuICAgICAgICBsZXQgc2libGluZyA9IGNvbnRyb2wucm9vdC5nZXQodGhpcy5zYW1lKTtcclxuXHJcbiAgICAgICAgaWYgKCFzaWJsaW5nKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy53aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICAgIHNpYmxpbmcudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBvbmx5U2VsZjogdHJ1ZSB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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 SizeDirective {
|
|
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, 'mimes');
|
|
20
|
+
return this.isValid(this.el.nativeElement.files, this.size);
|
|
21
|
+
}
|
|
22
|
+
isValid(fileInstance, mimes) {
|
|
23
|
+
if (!!fileInstance && fileInstance.length > 0 && !this.utl.size(fileInstance, mimes)) {
|
|
24
|
+
return { 'size': this.mb.call('size', this.fieldName, mimes, this.vmessage) };
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
SizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SizeDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
SizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: SizeDirective, selector: "[size]", inputs: { size: "size", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: SizeDirective, multi: true }], ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SizeDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[size]',
|
|
35
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: SizeDirective, multi: true }]
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { size: [{
|
|
38
|
+
type: Input,
|
|
39
|
+
args: ['size']
|
|
40
|
+
}], message: [{
|
|
41
|
+
type: Input,
|
|
42
|
+
args: ['message']
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1hYnNvbHV0ZS12YWxpZGF0b3Ivc3JjL2xpYi9ydWxlL3NpemUvc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sYUFBYTtJQVd6QixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVpmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFZdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFRRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVPLE9BQU8sQ0FBQyxZQUFvQixFQUFFLEtBQWE7UUFDL0MsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2xGLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFBO1NBQ2hGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7MEdBM0JRLGFBQWE7OEZBQWIsYUFBYSwrRUFGWCxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFdkUsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDbkY7K0pBTWUsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUVOLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcixBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2VzLWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzaXplXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBTaXplRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvcntcclxuXHJcbiAgICBwcml2YXRlIHZtZXNzYWdlICA6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWUgOiBzdHJpbmcgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ3NpemUnKSBzaXplICE6bnVtYmVyO1xyXG5cdEBJbnB1dCgnbWVzc2FnZScpXHJcbiAgICBzZXQgbWVzc2FnZShkYXRhOkxvY2FsaXplZE1lc3NhZ2Upe1xyXG4gICAgICAgIHRoaXMudm1lc3NhZ2UgPSBkYXRhXHJcbiAgICB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtYlx0OiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZVxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdtaW1lcycpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQodGhpcy5lbC5uYXRpdmVFbGVtZW50LmZpbGVzLCB0aGlzLnNpemUpXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkKGZpbGVJbnN0YW5jZTogRmlsZVtdLCBtaW1lczogbnVtYmVyKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIWZpbGVJbnN0YW5jZSAmJiBmaWxlSW5zdGFuY2UubGVuZ3RoID4gMCAmJiAhdGhpcy51dGwuc2l6ZShmaWxlSW5zdGFuY2UsIG1pbWVzKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAnc2l6ZSc6IHRoaXMubWIuY2FsbCgnc2l6ZScsIHRoaXMuZmllbGROYW1lLCBtaW1lcywgdGhpcy52bWVzc2FnZSkgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -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 StartsWithDirective {
|
|
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.startsWith = [];
|
|
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, 'starts_with');
|
|
21
|
+
return this.isValid(control.value);
|
|
22
|
+
}
|
|
23
|
+
isValid(value) {
|
|
24
|
+
if (!!value && !this.utl.startsWith(value, this.startsWith)) {
|
|
25
|
+
return { 'starts_with': this.mb.call('starts_with', this.fieldName, this.startsWith, this.vmessage) };
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
StartsWithDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StartsWithDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
+
StartsWithDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: StartsWithDirective, selector: "[startsWith]", inputs: { startsWith: "startsWith", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: StartsWithDirective, multi: true }], ngImport: i0 });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StartsWithDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: '[startsWith]',
|
|
36
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: StartsWithDirective, multi: true }]
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { startsWith: [{
|
|
39
|
+
type: Input,
|
|
40
|
+
args: ['startsWith']
|
|
41
|
+
}], message: [{
|
|
42
|
+
type: Input,
|
|
43
|
+
args: ['message']
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRzLXdpdGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9zdGFydHNfd2l0aC9zdGFydHMtd2l0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sbUJBQW1CO0lBVy9CLFlBQ1MsRUFBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsR0FBaUI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBWmYsYUFBUSxHQUF1QixFQUFFLENBQUE7UUFDakMsY0FBUyxHQUFZLE9BQU8sQ0FBQztRQUVuQixlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQVV2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUFBLENBQUM7SUFUL0MsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVNELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUN4RztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O2dIQTVCUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpR0FGakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFN0UsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3pGOytKQU1xQixVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBRVosT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsRWxlbWVudFJlZixJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlcy1idWlsZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbc3RhcnRzV2l0aF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogU3RhcnRzV2l0aERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXJ0c1dpdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3J7XHJcblxyXG4gICAgcHJpdmF0ZSB2bWVzc2FnZSAgOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZmllbGROYW1lIDogc3RyaW5nID0gJ2ZpZWxkJztcclxuXHJcblx0QElucHV0KCdzdGFydHNXaXRoJykgc3RhcnRzV2l0aCA6IHN0cmluZyB8IHN0cmluZ1tdID0gW107XHJcblx0QElucHV0KCdtZXNzYWdlJylcclxuICAgIHNldCBtZXNzYWdlKGRhdGE6TG9jYWxpemVkTWVzc2FnZSl7XHJcbiAgICAgICAgdGhpcy52bWVzc2FnZSA9IGRhdGFcclxuICAgIH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIG1iXHQ6IE1lc3NhZ2VCdWlsZGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZWwgXHQ6IEVsZW1lbnRSZWYsXHJcblx0XHRwcml2YXRlIHV0bCA6IFV0aWxTZXJ2aWNlXHJcblx0KXt0aGlzLmZpZWxkTmFtZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5uYW1lO31cclxuXHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAnc3RhcnRzX3dpdGgnKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5zdGFydHNXaXRoKHZhbHVlLCB0aGlzLnN0YXJ0c1dpdGgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdzdGFydHNfd2l0aCc6IHRoaXMubWIuY2FsbCgnc3RhcnRzX3dpdGgnLCB0aGlzLmZpZWxkTmFtZSwgdGhpcy5zdGFydHNXaXRoLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
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 StrengthDirective {
|
|
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.strength = [];
|
|
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, 'strength', {
|
|
21
|
+
strength: this.utl.getStrengthData(control.value, this.strength)
|
|
22
|
+
});
|
|
23
|
+
return this.isValid(control.value);
|
|
24
|
+
}
|
|
25
|
+
isValid(value) {
|
|
26
|
+
if (!!value && !this.utl.strength(value, this.strength)) {
|
|
27
|
+
return { 'strength': this.mb.call('strength', this.fieldName, this.vmessage) };
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
StrengthDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StrengthDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
+
StrengthDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: StrengthDirective, selector: "[strength]", inputs: { strength: "strength", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: StrengthDirective, multi: true }], ngImport: i0 });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StrengthDirective, decorators: [{
|
|
35
|
+
type: Directive,
|
|
36
|
+
args: [{
|
|
37
|
+
selector: '[strength]',
|
|
38
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: StrengthDirective, multi: true }]
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { strength: [{
|
|
41
|
+
type: Input,
|
|
42
|
+
args: ['strength']
|
|
43
|
+
}], message: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: ['message']
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZW5ndGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS9zdHJlbmd0aC9zdHJlbmd0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8saUJBQWlCO0lBVzdCLFlBQ1MsRUFBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsR0FBaUI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBd0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBWmYsYUFBUSxHQUF1QixFQUFFLENBQUE7UUFDakMsY0FBUyxHQUFZLE9BQU8sQ0FBQTtRQUVwQixhQUFRLEdBQXVCLEVBQUUsQ0FBQztRQVVuRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7SUFUOUMsSUFDTyxPQUFPLENBQUMsSUFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQztJQVFELFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUU7WUFDN0MsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNuRSxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUE7U0FDakY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs4R0E3QlEsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkZBRmYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFM0UsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ3ZGOytKQU1tQixRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBRVYsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3N0cmVuZ3RoXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBTdHJlbmd0aERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0cmVuZ3RoRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCdcclxuXHJcblx0QElucHV0KCdzdHJlbmd0aCcpIHN0cmVuZ3RoIDogc3RyaW5nIHwgc3RyaW5nW10gPSBbXTtcclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAnc3RyZW5ndGgnLCB7XHJcbiAgICAgICAgICAgIHN0cmVuZ3RoOiB0aGlzLnV0bC5nZXRTdHJlbmd0aERhdGEoY29udHJvbC52YWx1ZSwgdGhpcy5zdHJlbmd0aClcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC5zdHJlbmd0aCh2YWx1ZSwgdGhpcy5zdHJlbmd0aCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ3N0cmVuZ3RoJzogdGhpcy5tYi5jYWxsKCdzdHJlbmd0aCcsIHRoaXMuZmllbGROYW1lLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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 StringDirective {
|
|
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, 'string');
|
|
20
|
+
return this.isValid(control.value);
|
|
21
|
+
}
|
|
22
|
+
isValid(value) {
|
|
23
|
+
if (!this.utl.string(value) && !!value) {
|
|
24
|
+
return { 'string': this.mb.call('string', this.fieldName, this.vmessage) };
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
StringDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StringDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
StringDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: StringDirective, selector: "[string]", inputs: { message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: StringDirective, multi: true }], ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StringDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[string]',
|
|
35
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: StringDirective, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvc3RyaW5nL3N0cmluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sZUFBZTtJQVUzQixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVhmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFXdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFRRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUM3RTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzRHQTFCUSxlQUFlO2dHQUFmLGVBQWUsbUVBRmIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXpFLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDckY7K0pBT08sT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3N0cmluZ10nLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogU3RyaW5nRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RyaW5nRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgnbWVzc2FnZScpXHJcbiAgICBzZXQgbWVzc2FnZShkYXRhOkxvY2FsaXplZE1lc3NhZ2Upe1xyXG4gICAgICAgIHRoaXMudm1lc3NhZ2UgPSBkYXRhXHJcbiAgICB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtYlx0OiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZVxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICdzdHJpbmcnKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghdGhpcy51dGwuc3RyaW5nKHZhbHVlKSAmJiAhIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdzdHJpbmcnOiB0aGlzLm1iLmNhbGwoJ3N0cmluZycsIHRoaXMuZmllbGROYW1lLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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 UnderDirective {
|
|
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, 'under');
|
|
20
|
+
return this.isValid(control.value);
|
|
21
|
+
}
|
|
22
|
+
isValid(value) {
|
|
23
|
+
if (!!value && !this.utl.under(value, this.under)) {
|
|
24
|
+
return { 'under': this.mb.call('under', this.fieldName, this.under, this.vmessage) };
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
UnderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UnderDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
UnderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: UnderDirective, selector: "[under]", inputs: { under: "under", message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: UnderDirective, multi: true }], ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UnderDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[under]',
|
|
35
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: UnderDirective, multi: true }]
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i0.ElementRef }, { type: i2.UtilService }]; }, propDecorators: { under: [{
|
|
38
|
+
type: Input,
|
|
39
|
+
args: ['under']
|
|
40
|
+
}], message: [{
|
|
41
|
+
type: Input,
|
|
42
|
+
args: ['message']
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS91bmRlci91bmRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBZ0QsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM3RixNQUFNLE9BQU8sY0FBYztJQVd2QixZQUNZLEVBQTBCLEVBQzFCLEVBQWUsRUFDZixHQUFnQjtRQUZoQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQVpwQixhQUFRLEdBQXFCLEVBQUUsQ0FBQTtRQUMvQixjQUFTLEdBQVcsT0FBTyxDQUFDO1FBWWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQUMsQ0FBQztJQVRqRCxJQUNJLE9BQU8sQ0FBQyxJQUFzQjtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtJQUN4QixDQUFDO0lBUUQsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFBO1NBQ3ZGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7MkdBM0JRLGNBQWM7K0ZBQWQsY0FBYyxrRkFGWixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzsyRkFFeEUsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUNwRjsrSkFNbUIsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUVWLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3VuZGVyXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBVbmRlckRpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVuZGVyRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcclxuXHJcbiAgICBwcml2YXRlIHZtZXNzYWdlOiBMb2NhbGl6ZWRNZXNzYWdlID0ge31cclxuICAgIHByaXZhdGUgZmllbGROYW1lOiBzdHJpbmcgPSAnZmllbGQnO1xyXG5cclxuICAgIEBJbnB1dCgndW5kZXInKSB1bmRlcjogYW55O1xyXG4gICAgQElucHV0KCdtZXNzYWdlJylcclxuICAgIHNldCBtZXNzYWdlKGRhdGE6IExvY2FsaXplZE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbWIgOiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlbCA6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSB1dGw6IFV0aWxTZXJ2aWNlXHJcbiAgICApIHsgdGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZSB9XHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAndW5kZXInKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC51bmRlcih2YWx1ZSwgdGhpcy51bmRlcikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ3VuZGVyJzogdGhpcy5tYi5jYWxsKCd1bmRlcicsIHRoaXMuZmllbGROYW1lLCB0aGlzLnVuZGVyLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { NG_ASYNC_VALIDATORS } from '@angular/forms';
|
|
3
|
+
import { debounceTime, distinctUntilChanged, first, map, of, switchMap } from 'rxjs';
|
|
4
|
+
import { cloneDeep } from '../../common.utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services/utils.service";
|
|
7
|
+
import * as i2 from "../../services/messages-builder.service";
|
|
8
|
+
export class UniqueDirective {
|
|
9
|
+
constructor(el, utl, mb) {
|
|
10
|
+
this.el = el;
|
|
11
|
+
this.utl = utl;
|
|
12
|
+
this.mb = mb;
|
|
13
|
+
this.vmessage = {};
|
|
14
|
+
this.fieldName = 'field';
|
|
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, 'unique');
|
|
22
|
+
return control.valueChanges.pipe(debounceTime(200), distinctUntilChanged(), switchMap((value) => value ? this.isValid(value) : of(null)), first());
|
|
23
|
+
}
|
|
24
|
+
isValid(value) {
|
|
25
|
+
let cloned = cloneDeep(this.unique);
|
|
26
|
+
let request = { ...{ [this.unique.field || this.fieldName]: value }, ...cloned['request'] };
|
|
27
|
+
let unique = Object.assign(cloned, { request });
|
|
28
|
+
return this.utl.unique(unique).pipe(map((isValid) => {
|
|
29
|
+
return !isValid ? { 'unique': this.mb.call('unique', this.fieldName, this.vmessage) } : null;
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
UniqueDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UniqueDirective, deps: [{ token: i0.ElementRef }, { token: i1.UtilService }, { token: i2.MessageBuilderService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
UniqueDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: UniqueDirective, selector: "[unique]", inputs: { unique: "unique", message: "message" }, providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: UniqueDirective, multi: true }], ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UniqueDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[unique]',
|
|
39
|
+
providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: UniqueDirective, multi: true }]
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.UtilService }, { type: i2.MessageBuilderService }]; }, propDecorators: { unique: [{
|
|
42
|
+
type: Input,
|
|
43
|
+
args: ['unique']
|
|
44
|
+
}], message: [{
|
|
45
|
+
type: Input,
|
|
46
|
+
args: ['message']
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvdW5pcXVlL3VuaXF1ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFxRCxNQUFNLGdCQUFnQixDQUFDO0FBRXhHLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU0vQyxNQUFNLE9BQU8sZUFBZTtJQVczQixZQUNTLEVBQWdCLEVBQ2hCLEdBQWlCLEVBQ2pCLEVBQTBCO1FBRjFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUNqQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQVp4QixhQUFRLEdBQXVCLEVBQUUsQ0FBQTtRQUNqQyxjQUFTLEdBQVksT0FBTyxDQUFDO1FBWXRDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQUEsQ0FBQztJQVQ5QyxJQUNPLE9BQU8sQ0FBQyxJQUFxQjtRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtJQUN4QixDQUFDO0lBU0QsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzVCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM1RCxLQUFLLEVBQUUsQ0FDVixDQUFBO0lBQ0wsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFhO1FBQ3pCLElBQUksTUFBTSxHQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEMsSUFBSSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQTtRQUMzRixJQUFJLE1BQU0sR0FBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUE7UUFFN0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQy9CLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNyQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ2hHLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzs0R0F0Q1EsZUFBZTtnR0FBZixlQUFlLHFGQUZiLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRS9FLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUMzRjsrSkFNaUIsTUFBTTtzQkFBdEIsS0FBSzt1QkFBQyxRQUFRO2dCQUVSLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX0FTWU5DX1ZBTElEQVRPUlMsIEFzeW5jVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RBcmdzLCBMb2NhbGl6ZWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi4vLi4vY29tbW9uLnV0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdW5pcXVlXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX0FTWU5DX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBVbmlxdWVEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlxdWVEaXJlY3RpdmUgaW1wbGVtZW50cyBBc3luY1ZhbGlkYXRvcntcclxuXHJcbiAgICBwcml2YXRlIHZtZXNzYWdlICA6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWUgOiBzdHJpbmcgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ3VuaXF1ZScpIHVuaXF1ZSAhOiBIdHRwUmVxdWVzdEFyZ3M7XHJcblx0QElucHV0KCdtZXNzYWdlJylcclxuICAgIHNldCBtZXNzYWdlKGRhdGE6TG9jYWxpemVkTWVzc2FnZSl7XHJcbiAgICAgICAgdGhpcy52bWVzc2FnZSA9IGRhdGFcclxuICAgIH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZSxcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XHJcbiAgICAgICAgdGhpcy51dGwuc2V0VmFsaWRhdGlvblJ1bGVzKGNvbnRyb2wsICd1bmlxdWUnKTtcclxuICAgICAgICByZXR1cm4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHZhbHVlID8gdGhpcy5pc1ZhbGlkKHZhbHVlKSA6IG9mKG51bGwpKSxcclxuICAgICAgICAgICAgZmlyc3QoKVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzVmFsaWQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHwgT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xyXG4gICAgICAgIGxldCBjbG9uZWQgID0gY2xvbmVEZWVwKHRoaXMudW5pcXVlKVxyXG4gICAgICAgIGxldCByZXF1ZXN0ID0geyAuLi57IFt0aGlzLnVuaXF1ZS5maWVsZCB8fCB0aGlzLmZpZWxkTmFtZV06IHZhbHVlIH0sIC4uLmNsb25lZFsncmVxdWVzdCddIH1cclxuICAgICAgICBsZXQgdW5pcXVlICA9IE9iamVjdC5hc3NpZ24oY2xvbmVkLHtyZXF1ZXN0fSlcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXRsLnVuaXF1ZSh1bmlxdWUpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoaXNWYWxpZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkID8geyAndW5pcXVlJzogdGhpcy5tYi5jYWxsKCd1bmlxdWUnLCB0aGlzLmZpZWxkTmFtZSwgdGhpcy52bWVzc2FnZSkgfSA6IG51bGxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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 UrlDirective {
|
|
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, 'url');
|
|
20
|
+
return this.isValid(control.value);
|
|
21
|
+
}
|
|
22
|
+
isValid(value) {
|
|
23
|
+
if (!!value && !this.utl.url(value)) {
|
|
24
|
+
return { 'url': this.mb.call('url', this.fieldName, this.vmessage) };
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
UrlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UrlDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
UrlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: UrlDirective, selector: "[url]", inputs: { message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: UrlDirective, multi: true }], ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UrlDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[url]',
|
|
35
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: UrlDirective, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3J1bGUvdXJsL3VybC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sWUFBWTtJQVV4QixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVhmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFXdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFTRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUN2RTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O3lHQTNCUSxZQUFZOzZGQUFaLFlBQVksZ0VBRlYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXRFLFlBQVk7a0JBSnhCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ2xGOytKQU9PLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCxFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcixBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2VzLWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1t1cmxdJyxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFVybERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVybERpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvcntcclxuXHJcbiAgICBwcml2YXRlIHZtZXNzYWdlICA6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWUgOiBzdHJpbmcgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG5cclxuICAgIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICB0aGlzLnV0bC5zZXRWYWxpZGF0aW9uUnVsZXMoY29udHJvbCwgJ3VybCcpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoY29udHJvbC52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkKHZhbHVlOiBzdHJpbmcpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCEhdmFsdWUgJiYgIXRoaXMudXRsLnVybCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgJ3VybCc6IHRoaXMubWIuY2FsbCgndXJsJywgdGhpcy5maWVsZE5hbWUsIHRoaXMudm1lc3NhZ2UpIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -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 UuidDirective {
|
|
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, 'uuid');
|
|
20
|
+
return this.isValid(control.value);
|
|
21
|
+
}
|
|
22
|
+
isValid(value) {
|
|
23
|
+
if (!!value && !this.utl.uuid(value)) {
|
|
24
|
+
return { 'uuid': this.mb.call('uuid', this.fieldName, this.vmessage) };
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
UuidDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UuidDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
UuidDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: UuidDirective, selector: "[uuid]", inputs: { message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: UuidDirective, multi: true }], ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UuidDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[uuid]',
|
|
35
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: UuidDirective, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1hYnNvbHV0ZS12YWxpZGF0b3Ivc3JjL2xpYi9ydWxlL3V1aWQvdXVpZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sYUFBYTtJQVV6QixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVhmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFXdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFTRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUN6RTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzBHQTNCUSxhQUFhOzhGQUFiLGFBQWEsaUVBRlgsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXZFLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQ25GOytKQU9PLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCxFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvcixBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2VzLWJ1aWxkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1t1dWlkXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBVdWlkRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXVpZERpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvcntcclxuXHJcbiAgICBwcml2YXRlIHZtZXNzYWdlICA6IExvY2FsaXplZE1lc3NhZ2UgPSB7fVxyXG4gICAgcHJpdmF0ZSBmaWVsZE5hbWUgOiBzdHJpbmcgPSAnZmllbGQnO1xyXG5cclxuXHRASW5wdXQoJ21lc3NhZ2UnKVxyXG4gICAgc2V0IG1lc3NhZ2UoZGF0YTpMb2NhbGl6ZWRNZXNzYWdlKXtcclxuICAgICAgICB0aGlzLnZtZXNzYWdlID0gZGF0YVxyXG4gICAgfVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWJcdDogTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBlbCBcdDogRWxlbWVudFJlZixcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuXHQpe3RoaXMuZmllbGROYW1lID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWV9XHJcblxyXG5cclxuICAgIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgICAgICB0aGlzLnV0bC5zZXRWYWxpZGF0aW9uUnVsZXMoY29udHJvbCwgJ3V1aWQnKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLnV0bC51dWlkKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAndXVpZCc6IHRoaXMubWIuY2FsbCgndXVpZCcsIHRoaXMuZmllbGROYW1lLCB0aGlzLnZtZXNzYWdlKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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 VideoDirective {
|
|
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, 'video');
|
|
20
|
+
return this.isValid(this.el.nativeElement.files);
|
|
21
|
+
}
|
|
22
|
+
isValid(fileInstance) {
|
|
23
|
+
if (!!fileInstance && fileInstance.length > 0 && !this.utl.video(fileInstance)) {
|
|
24
|
+
return { 'video': this.mb.call('video', this.fieldName, this.vmessage) };
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
VideoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: VideoDirective, deps: [{ token: i1.MessageBuilderService }, { token: i0.ElementRef }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
VideoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: VideoDirective, selector: "[video]", inputs: { message: "message" }, providers: [{ provide: NG_VALIDATORS, useExisting: VideoDirective, multi: true }], ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: VideoDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[video]',
|
|
35
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: VideoDirective, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvcnVsZS92aWRlby92aWRlby5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM1RixNQUFNLE9BQU8sY0FBYztJQVUxQixZQUNTLEVBQTBCLEVBQzFCLEVBQWdCLEVBQ2hCLEdBQWlCO1FBRmpCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBYztRQVhmLGFBQVEsR0FBdUIsRUFBRSxDQUFBO1FBQ2pDLGNBQVMsR0FBWSxPQUFPLENBQUM7UUFXdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0lBVDlDLElBQ08sT0FBTyxDQUFDLElBQXFCO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFTRCxRQUFRLENBQUMsT0FBd0I7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxPQUFPLENBQUMsWUFBb0I7UUFDaEMsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTtTQUMzRTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzJHQTNCUSxjQUFjOytGQUFkLGNBQWMsa0VBRlosQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7MkZBRXhFLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztpQkFDcEY7K0pBT08sT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yLEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemVkTWVzc2FnZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3ZpZGVvXScsXHJcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBWaWRlb0RpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZGVvRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9ye1xyXG5cclxuICAgIHByaXZhdGUgdm1lc3NhZ2UgIDogTG9jYWxpemVkTWVzc2FnZSA9IHt9XHJcbiAgICBwcml2YXRlIGZpZWxkTmFtZSA6IHN0cmluZyA9ICdmaWVsZCc7XHJcblxyXG5cdEBJbnB1dCgnbWVzc2FnZScpXHJcbiAgICBzZXQgbWVzc2FnZShkYXRhOkxvY2FsaXplZE1lc3NhZ2Upe1xyXG4gICAgICAgIHRoaXMudm1lc3NhZ2UgPSBkYXRhXHJcbiAgICB9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtYlx0OiBNZXNzYWdlQnVpbGRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGVsIFx0OiBFbGVtZW50UmVmLFxyXG5cdFx0cHJpdmF0ZSB1dGwgOiBVdGlsU2VydmljZVxyXG5cdCl7dGhpcy5maWVsZE5hbWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmFtZX1cclxuXHJcblxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHRoaXMudXRsLnNldFZhbGlkYXRpb25SdWxlcyhjb250cm9sLCAndmlkZW8nKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5maWxlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkKGZpbGVJbnN0YW5jZTogRmlsZVtdKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIGlmICghIWZpbGVJbnN0YW5jZSAmJiBmaWxlSW5zdGFuY2UubGVuZ3RoID4gMCAmJiAhdGhpcy51dGwudmlkZW8oZmlsZUluc3RhbmNlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAndmlkZW8nOiB0aGlzLm1iLmNhbGwoJ3ZpZGVvJywgdGhpcy5maWVsZE5hbWUsIHRoaXMudm1lc3NhZ2UpIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
export class HttpRequestService {
|
|
5
|
+
constructor(http) {
|
|
6
|
+
this.http = http;
|
|
7
|
+
}
|
|
8
|
+
get(action_url, params = {}) {
|
|
9
|
+
return this.http.get(action_url, { params });
|
|
10
|
+
}
|
|
11
|
+
post(action_url, data = {}, params = {}) {
|
|
12
|
+
return this.http.post(action_url, data, { params });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
HttpRequestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpRequestService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
HttpRequestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpRequestService });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpRequestService, decorators: [{
|
|
18
|
+
type: Injectable
|
|
19
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5yZXF1ZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1hYnNvbHV0ZS12YWxpZGF0b3Ivc3JjL2xpYi9zZXJ2aWNlcy9odHRwLnJlcXVlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUNjLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDMUIsQ0FBQztJQUVMLEdBQUcsQ0FBQyxVQUFrQixFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVEsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxDQUFDLFVBQWtCLEVBQUUsT0FBWSxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDOzsrR0FaUSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBnZXQoYWN0aW9uX3VybDogc3RyaW5nLCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KGFjdGlvbl91cmwsIHsgcGFyYW1zIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3QoYWN0aW9uX3VybDogc3RyaW5nLCBkYXRhOiBhbnkgPSB7fSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4oYWN0aW9uX3VybCwgZGF0YSwgeyBwYXJhbXMgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { toArray } from '../common.utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
5
|
+
export class MessageBuilderService {
|
|
6
|
+
constructor(ts) {
|
|
7
|
+
this.ts = ts;
|
|
8
|
+
}
|
|
9
|
+
call(langAttr, attribute, ...args) {
|
|
10
|
+
let message = '';
|
|
11
|
+
let [lastElement] = args.slice(-1);
|
|
12
|
+
let template = this.ts.instant(langAttr) || '';
|
|
13
|
+
let hasCustomTemplate = typeof lastElement === 'object' && Object.keys(lastElement).length > 0;
|
|
14
|
+
if (hasCustomTemplate && lastElement[langAttr] && lastElement[langAttr][this.ts.currentLang]) {
|
|
15
|
+
template = lastElement[langAttr][this.ts.currentLang];
|
|
16
|
+
}
|
|
17
|
+
if (hasCustomTemplate && lastElement[this.ts.currentLang]) {
|
|
18
|
+
template = lastElement[this.ts.currentLang];
|
|
19
|
+
}
|
|
20
|
+
if (attribute && template) {
|
|
21
|
+
message = template.replace(':attribute', attribute);
|
|
22
|
+
}
|
|
23
|
+
if (args.length === 0) {
|
|
24
|
+
return message;
|
|
25
|
+
}
|
|
26
|
+
args.forEach((v, index) => {
|
|
27
|
+
let replaceWithOne = `:arg${index}`;
|
|
28
|
+
let replaceWithMulti = `:arg${index}:`;
|
|
29
|
+
if (message.includes(replaceWithMulti)) {
|
|
30
|
+
args = args.splice(index);
|
|
31
|
+
let argString = toArray(args) ? toArray(args).join(',') : args;
|
|
32
|
+
message = message.replace(replaceWithMulti, argString);
|
|
33
|
+
}
|
|
34
|
+
if (message.includes(replaceWithOne)) {
|
|
35
|
+
message = message.replace(replaceWithOne, v);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return message;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
MessageBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageBuilderService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
MessageBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageBuilderService });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageBuilderService, decorators: [{
|
|
44
|
+
type: Injectable
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFJMUMsTUFBTSxPQUFPLHFCQUFxQjtJQUU5QixZQUNZLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBQy9CLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBZ0IsRUFBRSxTQUFpQixFQUFFLEdBQUcsSUFBUztRQUNsRCxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxJQUFJLFFBQVEsR0FBWSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDdkQsSUFBSSxpQkFBaUIsR0FBRyxPQUFPLFdBQVcsS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRS9GLElBQUcsaUJBQWlCLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFDO1lBQ3hGLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtTQUN4RDtRQUNELElBQUcsaUJBQWlCLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUM7WUFDckQsUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1NBQzlDO1FBQ0QsSUFBSSxTQUFTLElBQUksUUFBUSxFQUFFO1lBQ3ZCLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO1FBRTFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFRLEVBQUUsS0FBWSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxjQUFjLEdBQUssT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxJQUFJLGdCQUFnQixHQUFHLE9BQU8sS0FBSyxHQUFHLENBQUM7WUFFdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDL0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsU0FBbUIsQ0FBQyxDQUFBO2FBQ25FO1lBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNsQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7YUFDL0M7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2tIQXhDUSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi4vY29tbW9uLnV0aWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJ1aWxkZXJTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHRzIDogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICl7fVxyXG5cclxuICAgIGNhbGwobGFuZ0F0dHI6IHN0cmluZywgYXR0cmlidXRlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueSkgOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBtZXNzYWdlICAgICAgICAgICA9ICcnO1xyXG4gICAgICAgIGxldCBbbGFzdEVsZW1lbnRdICAgICA9IGFyZ3Muc2xpY2UoLTEpO1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZSAgICAgICAgICA9IHRoaXMudHMuaW5zdGFudChsYW5nQXR0cikgfHwgJydcclxuICAgICAgICBsZXQgaGFzQ3VzdG9tVGVtcGxhdGUgPSB0eXBlb2YgbGFzdEVsZW1lbnQgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKGxhc3RFbGVtZW50KS5sZW5ndGggPiAwO1xyXG5cclxuICAgICAgICBpZihoYXNDdXN0b21UZW1wbGF0ZSAmJiBsYXN0RWxlbWVudFtsYW5nQXR0cl0gJiYgbGFzdEVsZW1lbnRbbGFuZ0F0dHJdW3RoaXMudHMuY3VycmVudExhbmddKXtcclxuICAgICAgICAgICAgdGVtcGxhdGUgPSBsYXN0RWxlbWVudFtsYW5nQXR0cl1bdGhpcy50cy5jdXJyZW50TGFuZ11cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoaGFzQ3VzdG9tVGVtcGxhdGUgJiYgbGFzdEVsZW1lbnRbdGhpcy50cy5jdXJyZW50TGFuZ10pe1xyXG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IGxhc3RFbGVtZW50W3RoaXMudHMuY3VycmVudExhbmddXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhdHRyaWJ1dGUgJiYgdGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9IHRlbXBsYXRlLnJlcGxhY2UoJzphdHRyaWJ1dGUnLCBhdHRyaWJ1dGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7IHJldHVybiBtZXNzYWdlOyB9XHJcblxyXG4gICAgICAgIGFyZ3MuZm9yRWFjaCgodjpzdHJpbmcsIGluZGV4Om51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBsZXQgcmVwbGFjZVdpdGhPbmUgICA9IGA6YXJnJHtpbmRleH1gO1xyXG4gICAgICAgICAgICBsZXQgcmVwbGFjZVdpdGhNdWx0aSA9IGA6YXJnJHtpbmRleH06YDtcclxuXHJcbiAgICAgICAgICAgIGlmIChtZXNzYWdlLmluY2x1ZGVzKHJlcGxhY2VXaXRoTXVsdGkpKSB7XHJcbiAgICAgICAgICAgICAgICBhcmdzID0gYXJncy5zcGxpY2UoaW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGFyZ1N0cmluZyA9IHRvQXJyYXkoYXJncykgPyB0b0FycmF5KGFyZ3MpLmpvaW4oJywnKSA6IGFyZ3M7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHJlcGxhY2VXaXRoTXVsdGksIGFyZ1N0cmluZyBhcyBzdHJpbmcpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChtZXNzYWdlLmluY2x1ZGVzKHJlcGxhY2VXaXRoT25lKSkge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShyZXBsYWNlV2l0aE9uZSwgdilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gbWVzc2FnZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|