chrv-components 1.2.7 → 1.2.8
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.8.tgz +0 -0
- package/{esm2020 → esm2022}/chrv-components.mjs +4 -4
- package/{esm2020 → esm2022}/lib/chr-breadcrumb/chr-breadcrumb.component.mjs +22 -22
- package/{esm2020 → esm2022}/lib/chr-button/chr-button.component.mjs +51 -51
- package/esm2022/lib/chr-checkbox/chr-checkbox.component.mjs +37 -0
- package/{esm2020 → esm2022}/lib/chr-components.module.mjs +126 -126
- package/{esm2020 → esm2022}/lib/chr-delete-modal/chr-delete-modal.component.mjs +22 -22
- package/esm2022/lib/chr-form/chr-form.component.mjs +132 -0
- package/esm2022/lib/chr-form/chr-validators/decimal-validator.mjs +58 -0
- package/esm2022/lib/chr-form/chr-validators/max-date-validator.mjs +54 -0
- package/esm2022/lib/chr-form/chr-validators/type-validator.mjs +52 -0
- package/{esm2020 → esm2022}/lib/chr-paginator/chr-paginator.component.mjs +73 -73
- package/esm2022/lib/chr-search-select/chr-search-select.component.mjs +136 -0
- package/{esm2020 → esm2022}/lib/chr-searchbar/chr-searchbar.component.mjs +29 -29
- package/esm2022/lib/chr-separator/chr-separator.component.mjs +11 -0
- package/esm2022/lib/chr-table/chr-table.component.mjs +62 -0
- package/esm2022/lib/chr-table-header-cell/chr-table-header-cell.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/services/dialog.service.mjs +29 -29
- package/{esm2020 → esm2022}/public-api.mjs +19 -19
- package/fesm2022/chrv-components.mjs +876 -0
- package/{fesm2015 → fesm2022}/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 +10 -16
- package/public-api.d.ts +16 -16
- package/chrv-components-1.2.7.tgz +0 -0
- package/esm2020/lib/chr-checkbox/chr-checkbox.component.mjs +0 -37
- package/esm2020/lib/chr-form/chr-form.component.mjs +0 -132
- package/esm2020/lib/chr-form/chr-validators/decimal-validator.mjs +0 -58
- package/esm2020/lib/chr-form/chr-validators/max-date-validator.mjs +0 -54
- package/esm2020/lib/chr-form/chr-validators/type-validator.mjs +0 -52
- package/esm2020/lib/chr-search-select/chr-search-select.component.mjs +0 -136
- package/esm2020/lib/chr-separator/chr-separator.component.mjs +0 -11
- package/esm2020/lib/chr-table/chr-table.component.mjs +0 -62
- package/esm2020/lib/chr-table-header-cell/chr-table-header-cell.component.mjs +0 -49
- package/fesm2015/chrv-components.mjs +0 -884
- package/fesm2020/chrv-components.mjs +0 -876
- package/fesm2020/chrv-components.mjs.map +0 -1
|
@@ -0,0 +1,58 @@
|
|
|
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==
|
|
@@ -0,0 +1,54 @@
|
|
|
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=
|
|
@@ -0,0 +1,52 @@
|
|
|
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=
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "ngx-pagination";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "../chr-form/chr-form.component";
|
|
6
|
-
export class ChrPaginatorComponent {
|
|
7
|
-
constructor(service) {
|
|
8
|
-
this.service = service;
|
|
9
|
-
this.currentPage = 1;
|
|
10
|
-
this.pageChange = new EventEmitter();
|
|
11
|
-
this.pageSizeChange = new EventEmitter();
|
|
12
|
-
this.previous = () => {
|
|
13
|
-
this.currentPage--;
|
|
14
|
-
this.emit();
|
|
15
|
-
};
|
|
16
|
-
this.next = () => {
|
|
17
|
-
this.currentPage++;
|
|
18
|
-
this.emit();
|
|
19
|
-
};
|
|
20
|
-
this.setPage = (page) => {
|
|
21
|
-
if (page < 1 || page > this.lastPage())
|
|
22
|
-
return;
|
|
23
|
-
this.currentPage = page;
|
|
24
|
-
this.emit();
|
|
25
|
-
};
|
|
26
|
-
this.setPageEventHandler = (event) => {
|
|
27
|
-
return this.setPage(event.target.value);
|
|
28
|
-
};
|
|
29
|
-
this.isFirstPage = () => {
|
|
30
|
-
return this.currentPage == 1;
|
|
31
|
-
};
|
|
32
|
-
this.setPageSize = (pageSize) => {
|
|
33
|
-
this.setPage(1);
|
|
34
|
-
this.instance.itemsPerPage = pageSize;
|
|
35
|
-
this.pageSizeChange.emit(pageSize);
|
|
36
|
-
};
|
|
37
|
-
this.setPageSizeEventHandler = (event) => {
|
|
38
|
-
return this.setPageSize(event.target.value);
|
|
39
|
-
};
|
|
40
|
-
this.isLastPage = () => {
|
|
41
|
-
if (!this.instance.totalItems)
|
|
42
|
-
return false;
|
|
43
|
-
return (this.currentPage ==
|
|
44
|
-
Math.ceil(this.instance.totalItems / this.instance.itemsPerPage));
|
|
45
|
-
};
|
|
46
|
-
this.pageSize = () => this.instance.itemsPerPage;
|
|
47
|
-
this.lastPage = () => this.instance.totalItems
|
|
48
|
-
? Math.ceil(this.instance.totalItems / this.instance.itemsPerPage)
|
|
49
|
-
: 1;
|
|
50
|
-
this.emit = (page = undefined) => {
|
|
51
|
-
if (!page)
|
|
52
|
-
this.pageChange.emit(this.currentPage);
|
|
53
|
-
else
|
|
54
|
-
this.pageChange.emit(page);
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
ngAfterContentChecked() {
|
|
58
|
-
//console.log(this.service, this.service.getInstance('chr_data-table'));
|
|
59
|
-
this.instance = this.service.getInstance('chr_data-table');
|
|
60
|
-
}
|
|
61
|
-
ngOnInit() { }
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{ selector: 'app-chr-paginator', template: "<div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row justify-start py-2 items-center content-center\">\n \u00C9l\u00E9ments par page:\n <app-chr-form class=\"ml-1\" (keyup.enter)=\"setPageSizeEventHandler($event)\" [sections]=\"[\n { controls: [\n {\n type: 'text',\n name: 'pageSize',\n value: pageSize(),\n width: 'row'\n }]\n }]\">\n </app-chr-form>\n </div>\n <div class=\"flex flex-row justify-end py-2 items-center content-center\">\n <button type=\"button\" *ngIf=\"!isFirstPage()\" (click)=\"previous()\"\n class=\"w-fit cursor-pointer\">Pr\u00E9c\u00E9dent</button>\n <div class=\"flex flex-row items-center content-center mx-2 w-fit\">\n <div class=\"w-10 mr-1\">\n <app-chr-form (keyup.enter)=\"setPageEventHandler($event)\" [sections]=\"[\n { controls: [\n {\n type: 'text',\n name: 'currentPage',\n value: currentPage,\n width: 'row'\n }]\n }]\">\n </app-chr-form>\n </div> / {{lastPage()}}\n </div>\n <button type=\"button\" [ngClass]=\"!isLastPage() ? 'cursor-pointer' : '' \" (click)=\"!isLastPage() && next()\"\n class=\"w-fit\">Suivant</button>\n </div>\n</div>" }]
|
|
68
|
-
}], ctorParameters:
|
|
69
|
-
type: Output
|
|
70
|
-
}], pageSizeChange: [{
|
|
71
|
-
type: Output
|
|
72
|
-
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Output, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-pagination";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "../chr-form/chr-form.component";
|
|
6
|
+
export class ChrPaginatorComponent {
|
|
7
|
+
constructor(service) {
|
|
8
|
+
this.service = service;
|
|
9
|
+
this.currentPage = 1;
|
|
10
|
+
this.pageChange = new EventEmitter();
|
|
11
|
+
this.pageSizeChange = new EventEmitter();
|
|
12
|
+
this.previous = () => {
|
|
13
|
+
this.currentPage--;
|
|
14
|
+
this.emit();
|
|
15
|
+
};
|
|
16
|
+
this.next = () => {
|
|
17
|
+
this.currentPage++;
|
|
18
|
+
this.emit();
|
|
19
|
+
};
|
|
20
|
+
this.setPage = (page) => {
|
|
21
|
+
if (page < 1 || page > this.lastPage())
|
|
22
|
+
return;
|
|
23
|
+
this.currentPage = page;
|
|
24
|
+
this.emit();
|
|
25
|
+
};
|
|
26
|
+
this.setPageEventHandler = (event) => {
|
|
27
|
+
return this.setPage(event.target.value);
|
|
28
|
+
};
|
|
29
|
+
this.isFirstPage = () => {
|
|
30
|
+
return this.currentPage == 1;
|
|
31
|
+
};
|
|
32
|
+
this.setPageSize = (pageSize) => {
|
|
33
|
+
this.setPage(1);
|
|
34
|
+
this.instance.itemsPerPage = pageSize;
|
|
35
|
+
this.pageSizeChange.emit(pageSize);
|
|
36
|
+
};
|
|
37
|
+
this.setPageSizeEventHandler = (event) => {
|
|
38
|
+
return this.setPageSize(event.target.value);
|
|
39
|
+
};
|
|
40
|
+
this.isLastPage = () => {
|
|
41
|
+
if (!this.instance.totalItems)
|
|
42
|
+
return false;
|
|
43
|
+
return (this.currentPage ==
|
|
44
|
+
Math.ceil(this.instance.totalItems / this.instance.itemsPerPage));
|
|
45
|
+
};
|
|
46
|
+
this.pageSize = () => this.instance.itemsPerPage;
|
|
47
|
+
this.lastPage = () => this.instance.totalItems
|
|
48
|
+
? Math.ceil(this.instance.totalItems / this.instance.itemsPerPage)
|
|
49
|
+
: 1;
|
|
50
|
+
this.emit = (page = undefined) => {
|
|
51
|
+
if (!page)
|
|
52
|
+
this.pageChange.emit(this.currentPage);
|
|
53
|
+
else
|
|
54
|
+
this.pageChange.emit(page);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
ngAfterContentChecked() {
|
|
58
|
+
//console.log(this.service, this.service.getInstance('chr_data-table'));
|
|
59
|
+
this.instance = this.service.getInstance('chr_data-table');
|
|
60
|
+
}
|
|
61
|
+
ngOnInit() { }
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChrPaginatorComponent, deps: [{ token: i1.PaginationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ChrPaginatorComponent, selector: "app-chr-paginator", outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row justify-start py-2 items-center content-center\">\n \u00C9l\u00E9ments par page:\n <app-chr-form class=\"ml-1\" (keyup.enter)=\"setPageSizeEventHandler($event)\" [sections]=\"[\n { controls: [\n {\n type: 'text',\n name: 'pageSize',\n value: pageSize(),\n width: 'row'\n }]\n }]\">\n </app-chr-form>\n </div>\n <div class=\"flex flex-row justify-end py-2 items-center content-center\">\n <button type=\"button\" *ngIf=\"!isFirstPage()\" (click)=\"previous()\"\n class=\"w-fit cursor-pointer\">Pr\u00E9c\u00E9dent</button>\n <div class=\"flex flex-row items-center content-center mx-2 w-fit\">\n <div class=\"w-10 mr-1\">\n <app-chr-form (keyup.enter)=\"setPageEventHandler($event)\" [sections]=\"[\n { controls: [\n {\n type: 'text',\n name: 'currentPage',\n value: currentPage,\n width: 'row'\n }]\n }]\">\n </app-chr-form>\n </div> / {{lastPage()}}\n </div>\n <button type=\"button\" [ngClass]=\"!isLastPage() ? 'cursor-pointer' : '' \" (click)=\"!isLastPage() && next()\"\n class=\"w-fit\">Suivant</button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ChrFormComponent, selector: "app-chr-form", inputs: ["sections", "valid", "model", "disabled"], outputs: ["validChange", "modelChange", "valuesChange"] }] }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChrPaginatorComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'app-chr-paginator', template: "<div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row justify-start py-2 items-center content-center\">\n \u00C9l\u00E9ments par page:\n <app-chr-form class=\"ml-1\" (keyup.enter)=\"setPageSizeEventHandler($event)\" [sections]=\"[\n { controls: [\n {\n type: 'text',\n name: 'pageSize',\n value: pageSize(),\n width: 'row'\n }]\n }]\">\n </app-chr-form>\n </div>\n <div class=\"flex flex-row justify-end py-2 items-center content-center\">\n <button type=\"button\" *ngIf=\"!isFirstPage()\" (click)=\"previous()\"\n class=\"w-fit cursor-pointer\">Pr\u00E9c\u00E9dent</button>\n <div class=\"flex flex-row items-center content-center mx-2 w-fit\">\n <div class=\"w-10 mr-1\">\n <app-chr-form (keyup.enter)=\"setPageEventHandler($event)\" [sections]=\"[\n { controls: [\n {\n type: 'text',\n name: 'currentPage',\n value: currentPage,\n width: 'row'\n }]\n }]\">\n </app-chr-form>\n </div> / {{lastPage()}}\n </div>\n <button type=\"button\" [ngClass]=\"!isLastPage() ? 'cursor-pointer' : '' \" (click)=\"!isLastPage() && next()\"\n class=\"w-fit\">Suivant</button>\n </div>\n</div>" }]
|
|
68
|
+
}], ctorParameters: () => [{ type: i1.PaginationService }], propDecorators: { pageChange: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], pageSizeChange: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}] } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaHJ2LWNvbXBvbmVudHMvc3JjL2xpYi9jaHItcGFnaW5hdG9yL2Noci1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hydi1jb21wb25lbnRzL3NyYy9saWIvY2hyLXBhZ2luYXRvci9jaHItcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRdkIsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUFtQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUx0QyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUNyQixlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsbUJBQWMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWM3RCxhQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFSyxTQUFJLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFSyxZQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNoQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQUUsT0FBTztZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFSyx3QkFBbUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztRQUVLLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO1FBRUssZ0JBQVcsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7UUFFSyw0QkFBdUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQztRQUVLLGVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUM1QyxPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVc7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FDakUsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVLLGFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUU1QyxhQUFRLEdBQUcsR0FBRyxFQUFFLENBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVTtZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUEsU0FBSSxHQUFHLENBQUMsT0FBMkIsU0FBUyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLElBQUk7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDOztnQkFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDO0lBL0Q4QyxDQUFDO0lBRWpELHFCQUFxQjtRQUNuQix3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FDdEMsZ0JBQWdCLENBQ0ssQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7OEdBZlIscUJBQXFCO2tHQUFyQixxQkFBcUIsa0lDZGxDLDgzQ0FrQ007OzJGRHBCTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO3NGQU1uQixVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkluc3RhbmNlLCBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJ25neC1wYWdpbmF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoci1wYWdpbmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hyLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Noci1wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hyUGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgcHVibGljIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGluc3RhbmNlOiBQYWdpbmF0aW9uSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKHRoaXMuc2VydmljZSwgdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKCdjaHJfZGF0YS10YWJsZScpKTtcbiAgICB0aGlzLmluc3RhbmNlID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKFxuICAgICAgJ2Nocl9kYXRhLXRhYmxlJ1xuICAgICkgYXMgUGFnaW5hdGlvbkluc3RhbmNlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBwcmV2aW91cyA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlLS07XG4gICAgdGhpcy5lbWl0KCk7XG4gIH07XG5cbiAgcHVibGljIG5leHQgPSAoKSA9PiB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSsrO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9O1xuXG4gIHB1YmxpYyBzZXRQYWdlID0gKHBhZ2U6IG51bWJlcikgPT4ge1xuICAgIGlmIChwYWdlIDwgMSB8fCBwYWdlID4gdGhpcy5sYXN0UGFnZSgpKSByZXR1cm47XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgdGhpcy5lbWl0KCk7XG4gIH07XG5cbiAgcHVibGljIHNldFBhZ2VFdmVudEhhbmRsZXIgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldFBhZ2UoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfTtcblxuICBwdWJsaWMgaXNGaXJzdFBhZ2UgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPT0gMTtcbiAgfTtcblxuICBwdWJsaWMgc2V0UGFnZVNpemUgPSAocGFnZVNpemU6IG51bWJlcikgPT4ge1xuICAgIHRoaXMuc2V0UGFnZSgxKTtcbiAgICB0aGlzLmluc3RhbmNlLml0ZW1zUGVyUGFnZSA9IHBhZ2VTaXplO1xuICAgIHRoaXMucGFnZVNpemVDaGFuZ2UuZW1pdChwYWdlU2l6ZSk7XG4gIH07XG5cbiAgcHVibGljIHNldFBhZ2VTaXplRXZlbnRIYW5kbGVyID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRQYWdlU2l6ZShldmVudC50YXJnZXQudmFsdWUpO1xuICB9O1xuXG4gIHB1YmxpYyBpc0xhc3RQYWdlID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy5pbnN0YW5jZS50b3RhbEl0ZW1zKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPT1cbiAgICAgIE1hdGguY2VpbCh0aGlzLmluc3RhbmNlLnRvdGFsSXRlbXMgLyB0aGlzLmluc3RhbmNlLml0ZW1zUGVyUGFnZSlcbiAgICApO1xuICB9O1xuXG4gIHB1YmxpYyBwYWdlU2l6ZSA9ICgpID0+IHRoaXMuaW5zdGFuY2UuaXRlbXNQZXJQYWdlO1xuXG4gIHB1YmxpYyBsYXN0UGFnZSA9ICgpID0+XG4gICAgdGhpcy5pbnN0YW5jZS50b3RhbEl0ZW1zXG4gICAgICA/IE1hdGguY2VpbCh0aGlzLmluc3RhbmNlLnRvdGFsSXRlbXMgLyB0aGlzLmluc3RhbmNlLml0ZW1zUGVyUGFnZSlcbiAgICAgIDogMTtcblxuICBwcml2YXRlIGVtaXQgPSAocGFnZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSA9PiB7XG4gICAgaWYgKCFwYWdlKSB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRQYWdlKTtcbiAgICBlbHNlIHRoaXMucGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1zdGFydCBweS0yIGl0ZW1zLWNlbnRlciBjb250ZW50LWNlbnRlclwiPlxuICAgICAgICDDiWzDqW1lbnRzIHBhciBwYWdlOlxuICAgICAgICA8YXBwLWNoci1mb3JtIGNsYXNzPVwibWwtMVwiIChrZXl1cC5lbnRlcik9XCJzZXRQYWdlU2l6ZUV2ZW50SGFuZGxlcigkZXZlbnQpXCIgW3NlY3Rpb25zXT1cIltcbiAgICAgICAgeyBjb250cm9sczogW1xuICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICBuYW1lOiAncGFnZVNpemUnLFxuICAgICAgICAgICAgdmFsdWU6IHBhZ2VTaXplKCksXG4gICAgICAgICAgICB3aWR0aDogJ3JvdydcbiAgICAgICAgfV1cbiAgICAgICAgfV1cIj5cbiAgICAgICAgPC9hcHAtY2hyLWZvcm0+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgcHktMiBpdGVtcy1jZW50ZXIgY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCIhaXNGaXJzdFBhZ2UoKVwiIChjbGljayk9XCJwcmV2aW91cygpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidy1maXQgY3Vyc29yLXBvaW50ZXJcIj5QcsOpY8OpZGVudDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgY29udGVudC1jZW50ZXIgbXgtMiB3LWZpdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAgbXItMVwiPlxuICAgICAgICAgICAgICAgIDxhcHAtY2hyLWZvcm0gKGtleXVwLmVudGVyKT1cInNldFBhZ2VFdmVudEhhbmRsZXIoJGV2ZW50KVwiIFtzZWN0aW9uc109XCJbXG4gICAgICAgICAgICB7IGNvbnRyb2xzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgbmFtZTogJ2N1cnJlbnRQYWdlJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICB3aWR0aDogJ3JvdydcbiAgICAgICAgICAgIH1dXG4gICAgICAgICAgICB9XVwiPlxuICAgICAgICAgICAgICAgIDwvYXBwLWNoci1mb3JtPlxuICAgICAgICAgICAgPC9kaXY+IC8ge3tsYXN0UGFnZSgpfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIiFpc0xhc3RQYWdlKCkgPyAnY3Vyc29yLXBvaW50ZXInIDogJycgXCIgKGNsaWNrKT1cIiFpc0xhc3RQYWdlKCkgJiYgbmV4dCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidy1maXRcIj5TdWl2YW50PC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|