chrv-components 1.2.8 → 1.2.10
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/chrv-components-1.2.10.tgz +0 -0
- package/{esm2022 → esm2020}/chrv-components.mjs +4 -4
- package/{esm2022 → esm2020}/lib/chr-breadcrumb/chr-breadcrumb.component.mjs +22 -22
- package/{esm2022 → esm2020}/lib/chr-button/chr-button.component.mjs +51 -51
- package/esm2020/lib/chr-checkbox/chr-checkbox.component.mjs +37 -0
- package/{esm2022 → esm2020}/lib/chr-components.module.mjs +126 -126
- package/{esm2022 → esm2020}/lib/chr-delete-modal/chr-delete-modal.component.mjs +22 -22
- package/esm2020/lib/chr-form/chr-form.component.mjs +132 -0
- package/esm2020/lib/chr-form/chr-validators/decimal-validator.mjs +58 -0
- package/esm2020/lib/chr-form/chr-validators/max-date-validator.mjs +54 -0
- package/esm2020/lib/chr-form/chr-validators/type-validator.mjs +52 -0
- package/{esm2022 → esm2020}/lib/chr-paginator/chr-paginator.component.mjs +73 -73
- package/esm2020/lib/chr-search-select/chr-search-select.component.mjs +136 -0
- package/{esm2022 → esm2020}/lib/chr-searchbar/chr-searchbar.component.mjs +29 -29
- package/esm2020/lib/chr-separator/chr-separator.component.mjs +11 -0
- package/esm2020/lib/chr-table/chr-table.component.mjs +62 -0
- package/esm2020/lib/chr-table-header-cell/chr-table-header-cell.component.mjs +49 -0
- package/{esm2022 → esm2020}/lib/services/dialog.service.mjs +29 -29
- package/esm2020/public-api.mjs +22 -0
- package/fesm2015/chrv-components.mjs +886 -0
- package/fesm2015/chrv-components.mjs.map +1 -0
- package/fesm2020/chrv-components.mjs +878 -0
- package/{fesm2022 → fesm2020}/chrv-components.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/chr-breadcrumb/chr-breadcrumb.component.d.ts +15 -15
- package/lib/chr-button/chr-button.component.d.ts +19 -19
- package/lib/chr-checkbox/chr-checkbox.component.d.ts +13 -13
- package/lib/chr-components.module.d.ts +30 -30
- package/lib/chr-delete-modal/chr-delete-modal.component.d.ts +11 -11
- package/lib/chr-form/chr-form.component.d.ts +57 -57
- package/lib/chr-form/chr-validators/decimal-validator.d.ts +10 -10
- package/lib/chr-form/chr-validators/max-date-validator.d.ts +10 -10
- package/lib/chr-form/chr-validators/type-validator.d.ts +10 -10
- package/lib/chr-paginator/chr-paginator.component.d.ts +26 -26
- package/lib/chr-search-select/chr-search-select.component.d.ts +44 -44
- package/lib/chr-searchbar/chr-searchbar.component.d.ts +14 -14
- package/lib/chr-separator/chr-separator.component.d.ts +5 -5
- package/lib/chr-table/chr-table.component.d.ts +42 -42
- package/lib/chr-table-header-cell/chr-table-header-cell.component.d.ts +16 -16
- package/lib/services/dialog.service.d.ts +10 -10
- package/package.json +16 -11
- package/public-api.d.ts +18 -16
- package/chrv-components-1.2.8.tgz +0 -0
- package/esm2022/lib/chr-checkbox/chr-checkbox.component.mjs +0 -37
- package/esm2022/lib/chr-form/chr-form.component.mjs +0 -132
- package/esm2022/lib/chr-form/chr-validators/decimal-validator.mjs +0 -58
- package/esm2022/lib/chr-form/chr-validators/max-date-validator.mjs +0 -54
- package/esm2022/lib/chr-form/chr-validators/type-validator.mjs +0 -52
- package/esm2022/lib/chr-search-select/chr-search-select.component.mjs +0 -136
- package/esm2022/lib/chr-separator/chr-separator.component.mjs +0 -11
- package/esm2022/lib/chr-table/chr-table.component.mjs +0 -62
- package/esm2022/lib/chr-table-header-cell/chr-table-header-cell.component.mjs +0 -49
- package/esm2022/public-api.mjs +0 -20
- package/fesm2022/chrv-components.mjs +0 -876
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, Injectable } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DecimalValidatorDirective {
|
|
5
|
-
validate(control) {
|
|
6
|
-
return this.amount ? decimal(this.amount)(control) : null;
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DecimalValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: DecimalValidatorDirective, selector: "[app-decimal]", inputs: { amount: "amount" }, providers: [
|
|
10
|
-
{
|
|
11
|
-
provide: NG_VALIDATORS,
|
|
12
|
-
useExisting: DecimalValidatorDirective,
|
|
13
|
-
multi: true,
|
|
14
|
-
},
|
|
15
|
-
], ngImport: i0 }); }
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DecimalValidatorDirective, providedIn: 'root' }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DecimalValidatorDirective, decorators: [{
|
|
19
|
-
type: Injectable,
|
|
20
|
-
args: [{ providedIn: 'root' }]
|
|
21
|
-
}, {
|
|
22
|
-
type: Directive,
|
|
23
|
-
args: [{
|
|
24
|
-
selector: '[app-decimal]',
|
|
25
|
-
providers: [
|
|
26
|
-
{
|
|
27
|
-
provide: NG_VALIDATORS,
|
|
28
|
-
useExisting: DecimalValidatorDirective,
|
|
29
|
-
multi: true,
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
}]
|
|
33
|
-
}], propDecorators: { amount: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}] } });
|
|
36
|
-
export function decimal(amount) {
|
|
37
|
-
return (control) => {
|
|
38
|
-
const value = control.value;
|
|
39
|
-
if (!value) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
let isTooLong = false;
|
|
43
|
-
const str = `${value}`;
|
|
44
|
-
isTooLong =
|
|
45
|
-
str.indexOf(',') != -1
|
|
46
|
-
? (str.split(',')[1] ? str.split(',')[1].length : 0) > amount
|
|
47
|
-
: str.indexOf('.') != -1
|
|
48
|
-
? (str.split('.')[1] ? str.split('.')[1].length : 0) > amount
|
|
49
|
-
: false;
|
|
50
|
-
return isTooLong
|
|
51
|
-
? {
|
|
52
|
-
decimal: true,
|
|
53
|
-
max: amount,
|
|
54
|
-
}
|
|
55
|
-
: null;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaHJ2LWNvbXBvbmVudHMvc3JjL2xpYi9jaHItZm9ybS9jaHItdmFsaWRhdG9ycy9kZWNpbWFsLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUVMLGFBQWEsR0FJZCxNQUFNLGdCQUFnQixDQUFDOztBQWF4QixNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDOzhHQUxVLHlCQUF5QjtrR0FBekIseUJBQXlCLHNFQVJ6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7a0hBRVUseUJBQXlCLGNBWFosTUFBTTs7MkZBV25CLHlCQUF5QjtrQkFYckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O2tCQUNqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsMkJBQTJCOzRCQUN0QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFFVSxNQUFNO3NCQUFkLEtBQUs7O0FBT1IsTUFBTSxVQUFVLE9BQU8sQ0FBQyxNQUFjO0lBQ3BDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXRCLE1BQU0sR0FBRyxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDdkIsU0FBUztZQUNQLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTTtnQkFDN0QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTTtvQkFDN0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVaLE9BQU8sU0FBUztZQUNkLENBQUMsQ0FBRTtnQkFDQyxPQUFPLEVBQUUsSUFBSTtnQkFDYixHQUFHLEVBQUUsTUFBTTthQUNTO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBJbnB1dCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBOR19WQUxJREFUT1JTLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yLFxyXG4gIFZhbGlkYXRvckZuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcC1kZWNpbWFsXScsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBEZWNpbWFsVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlY2ltYWxWYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xyXG4gIEBJbnB1dCgpIGFtb3VudDogbnVtYmVyO1xyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgPyBkZWNpbWFsKHRoaXMuYW1vdW50KShjb250cm9sKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVjaW1hbChhbW91bnQ6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpc1Rvb0xvbmcgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBzdHIgPSBgJHt2YWx1ZX1gO1xyXG4gICAgaXNUb29Mb25nID1cclxuICAgICAgc3RyLmluZGV4T2YoJywnKSAhPSAtMVxyXG4gICAgICAgID8gKHN0ci5zcGxpdCgnLCcpWzFdID8gc3RyLnNwbGl0KCcsJylbMV0ubGVuZ3RoIDogMCkgPiBhbW91bnRcclxuICAgICAgICA6IHN0ci5pbmRleE9mKCcuJykgIT0gLTFcclxuICAgICAgICA/IChzdHIuc3BsaXQoJy4nKVsxXSA/IHN0ci5zcGxpdCgnLicpWzFdLmxlbmd0aCA6IDApID4gYW1vdW50XHJcbiAgICAgICAgOiBmYWxzZTtcclxuXHJcbiAgICByZXR1cm4gaXNUb29Mb25nXHJcbiAgICAgID8gKHtcclxuICAgICAgICAgIGRlY2ltYWw6IHRydWUsXHJcbiAgICAgICAgICBtYXg6IGFtb3VudCxcclxuICAgICAgICB9IGFzIFZhbGlkYXRpb25FcnJvcnMpXHJcbiAgICAgIDogbnVsbDtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, Injectable } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, } from '@angular/forms';
|
|
3
|
-
import * as moment from 'moment';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class MaxDateValidatorDirective {
|
|
6
|
-
validate(control) {
|
|
7
|
-
return this.date ? maxDate(this.date)(control) : null;
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MaxDateValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: MaxDateValidatorDirective, selector: "[app-max-date]", inputs: { date: "date" }, providers: [
|
|
11
|
-
{
|
|
12
|
-
provide: NG_VALIDATORS,
|
|
13
|
-
useExisting: MaxDateValidatorDirective,
|
|
14
|
-
multi: true,
|
|
15
|
-
},
|
|
16
|
-
], ngImport: i0 }); }
|
|
17
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MaxDateValidatorDirective, providedIn: 'root' }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: MaxDateValidatorDirective, decorators: [{
|
|
20
|
-
type: Injectable,
|
|
21
|
-
args: [{ providedIn: 'root' }]
|
|
22
|
-
}, {
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[app-max-date]',
|
|
26
|
-
providers: [
|
|
27
|
-
{
|
|
28
|
-
provide: NG_VALIDATORS,
|
|
29
|
-
useExisting: MaxDateValidatorDirective,
|
|
30
|
-
multi: true,
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
}]
|
|
34
|
-
}], propDecorators: { date: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}] } });
|
|
37
|
-
export function maxDate(date) {
|
|
38
|
-
return (control) => {
|
|
39
|
-
const value = control.value;
|
|
40
|
-
if (!value) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
const maxDate = moment(date);
|
|
44
|
-
const inputDate = moment(value);
|
|
45
|
-
return !(inputDate.isValid() && inputDate.isBefore(maxDate))
|
|
46
|
-
? {
|
|
47
|
-
maxdate: true,
|
|
48
|
-
max: maxDate.toDate(),
|
|
49
|
-
actual: value,
|
|
50
|
-
}
|
|
51
|
-
: null;
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWRhdGUtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hydi1jb21wb25lbnRzL3NyYy9saWIvY2hyLWZvcm0vY2hyLXZhbGlkYXRvcnMvbWF4LWRhdGUtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBRUwsYUFBYSxHQUlkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7O0FBYWpDLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7OEdBTFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsbUVBUnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSx5QkFBeUI7Z0JBQ3RDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtrSEFFVSx5QkFBeUIsY0FYWixNQUFNOzsyRkFXbkIseUJBQXlCO2tCQVhyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7a0JBQ2pDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLDJCQUEyQjs0QkFDdEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBRVUsSUFBSTtzQkFBWixLQUFLOztBQU9SLE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBVTtJQUNoQyxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFFO2dCQUNDLE9BQU8sRUFBRSxJQUFJO2dCQUNiLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNyQixNQUFNLEVBQUUsS0FBSzthQUNPO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBJbnB1dCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBOR19WQUxJREFUT1JTLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yLFxyXG4gIFZhbGlkYXRvckZuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHAtbWF4LWRhdGVdJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IE1heERhdGVWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF4RGF0ZVZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XHJcbiAgQElucHV0KCkgZGF0ZTogRGF0ZTtcclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZSA/IG1heERhdGUodGhpcy5kYXRlKShjb250cm9sKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWF4RGF0ZShkYXRlOiBEYXRlKTogVmFsaWRhdG9yRm4ge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXhEYXRlID0gbW9tZW50KGRhdGUpO1xyXG4gICAgY29uc3QgaW5wdXREYXRlID0gbW9tZW50KHZhbHVlKTtcclxuXHJcbiAgICByZXR1cm4gIShpbnB1dERhdGUuaXNWYWxpZCgpICYmIGlucHV0RGF0ZS5pc0JlZm9yZShtYXhEYXRlKSlcclxuICAgICAgPyAoe1xyXG4gICAgICAgICAgbWF4ZGF0ZTogdHJ1ZSxcclxuICAgICAgICAgIG1heDogbWF4RGF0ZS50b0RhdGUoKSxcclxuICAgICAgICAgIGFjdHVhbDogdmFsdWUsXHJcbiAgICAgICAgfSBhcyBWYWxpZGF0aW9uRXJyb3JzKVxyXG4gICAgICA6IG51bGw7XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, Injectable } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TypeValidatorDirective {
|
|
5
|
-
validate(control) {
|
|
6
|
-
return this.type ? type(this.type)(control) : null;
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: TypeValidatorDirective, selector: "[app-type]", inputs: { type: "type" }, providers: [
|
|
10
|
-
{
|
|
11
|
-
provide: NG_VALIDATORS,
|
|
12
|
-
useExisting: TypeValidatorDirective,
|
|
13
|
-
multi: true,
|
|
14
|
-
},
|
|
15
|
-
], ngImport: i0 }); }
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeValidatorDirective, providedIn: 'root' }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeValidatorDirective, decorators: [{
|
|
19
|
-
type: Injectable,
|
|
20
|
-
args: [{ providedIn: 'root' }]
|
|
21
|
-
}, {
|
|
22
|
-
type: Directive,
|
|
23
|
-
args: [{
|
|
24
|
-
selector: '[app-type]',
|
|
25
|
-
providers: [
|
|
26
|
-
{
|
|
27
|
-
provide: NG_VALIDATORS,
|
|
28
|
-
useExisting: TypeValidatorDirective,
|
|
29
|
-
multi: true,
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
}]
|
|
33
|
-
}], propDecorators: { type: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}] } });
|
|
36
|
-
export function type(type) {
|
|
37
|
-
return (control) => {
|
|
38
|
-
const value = control.value;
|
|
39
|
-
if (!value) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
const isType = typeof value == type;
|
|
43
|
-
return !isType
|
|
44
|
-
? {
|
|
45
|
-
type: true,
|
|
46
|
-
requiredType: type,
|
|
47
|
-
actualType: typeof value,
|
|
48
|
-
}
|
|
49
|
-
: null;
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaHJ2LWNvbXBvbmVudHMvc3JjL2xpYi9jaHItZm9ybS9jaHItdmFsaWRhdG9ycy90eXBlLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUVMLGFBQWEsR0FJZCxNQUFNLGdCQUFnQixDQUFDOztBQWF4QixNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDOzhHQUxVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLCtEQVJ0QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsc0JBQXNCO2dCQUNuQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7a0hBRVUsc0JBQXNCLGNBWFQsTUFBTTs7MkZBV25CLHNCQUFzQjtrQkFYbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O2tCQUNqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsd0JBQXdCOzRCQUNuQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFFVSxJQUFJO3NCQUFaLEtBQUs7O0FBT1IsTUFBTSxVQUFVLElBQUksQ0FBQyxJQUFZO0lBQy9CLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRXBDLE9BQU8sQ0FBQyxNQUFNO1lBQ1osQ0FBQyxDQUFFO2dCQUNDLElBQUksRUFBRSxJQUFJO2dCQUNWLFlBQVksRUFBRSxJQUFJO2dCQUNsQixVQUFVLEVBQUUsT0FBTyxLQUFLO2FBQ0o7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbiAgVmFsaWRhdGlvbkVycm9ycyxcclxuICBWYWxpZGF0b3IsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwLXR5cGVdJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFR5cGVWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHlwZVZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy50eXBlID8gdHlwZSh0aGlzLnR5cGUpKGNvbnRyb2wpIDogbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0eXBlKHR5cGU6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGlzVHlwZSA9IHR5cGVvZiB2YWx1ZSA9PSB0eXBlO1xyXG5cclxuICAgIHJldHVybiAhaXNUeXBlXHJcbiAgICAgID8gKHtcclxuICAgICAgICAgIHR5cGU6IHRydWUsXHJcbiAgICAgICAgICByZXF1aXJlZFR5cGU6IHR5cGUsXHJcbiAgICAgICAgICBhY3R1YWxUeXBlOiB0eXBlb2YgdmFsdWUsXHJcbiAgICAgICAgfSBhcyBWYWxpZGF0aW9uRXJyb3JzKVxyXG4gICAgICA6IG51bGw7XHJcbiAgfTtcclxufVxyXG4iXX0=
|