@arsedizioni/ars-utils 18.4.62 → 18.4.63
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/clipper.ui/ui/search-calendar/search-calendar.component.d.ts +2 -1
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +5 -4
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +3 -2
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/package.json +7 -7
- package/ui.application/ui/components/file-input/file-input.component.d.ts +1 -1
- package/ui.application/ui/components/filter-bar/filter-bar.component.d.ts +1 -1
|
@@ -15,6 +15,7 @@ export declare class ClipperSearchCalendarComponent {
|
|
|
15
15
|
calendarDate: Date;
|
|
16
16
|
protected calendarDateClass: MatCalendarCellClassFunction<Date>;
|
|
17
17
|
protected calendarDateFilter: () => boolean;
|
|
18
|
+
canFilter: import("@angular/core").InputSignal<boolean>;
|
|
18
19
|
/**
|
|
19
20
|
* Update calendar
|
|
20
21
|
* @param value : the snapshot
|
|
@@ -37,5 +38,5 @@ export declare class ClipperSearchCalendarComponent {
|
|
|
37
38
|
*/
|
|
38
39
|
protected filterCalendarDates: () => boolean;
|
|
39
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClipperSearchCalendarComponent, never>;
|
|
40
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClipperSearchCalendarComponent, "clipper-search-calendar", never, {}, { "changed": "changed"; }, never, never, true, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClipperSearchCalendarComponent, "clipper-search-calendar", never, { "canFilter": { "alias": "canFilter"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
41
42
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, inject, signal } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output, ViewChild, inject, input, signal } from '@angular/core';
|
|
2
2
|
import { DateInterval } from '@arsedizioni/ars-utils/core';
|
|
3
3
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
4
4
|
import { MatDividerModule } from '@angular/material/divider';
|
|
@@ -36,7 +36,8 @@ export class ClipperSearchCalendarComponent {
|
|
|
36
36
|
}
|
|
37
37
|
return '';
|
|
38
38
|
};
|
|
39
|
-
this.calendarDateFilter = () => { return
|
|
39
|
+
this.calendarDateFilter = () => { return this.canFilter(); };
|
|
40
|
+
this.canFilter = input(false);
|
|
40
41
|
/**
|
|
41
42
|
* Disable date selection from calendar
|
|
42
43
|
*/
|
|
@@ -100,7 +101,7 @@ export class ClipperSearchCalendarComponent {
|
|
|
100
101
|
this.calendarDate = d;
|
|
101
102
|
}
|
|
102
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClipperSearchCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", inputs: { canFilter: { classPropertyName: "canFilter", publicName: "canFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
105
|
}
|
|
105
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClipperSearchCalendarComponent, decorators: [{
|
|
106
107
|
type: Component,
|
|
@@ -120,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
120
121
|
}], changed: [{
|
|
121
122
|
type: Output
|
|
122
123
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1jYWxlbmRhci9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWNhbGVuZGFyL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFnQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JGLE9BQU8s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Z0JBQWdCLDhCQUNoQixrQkFBa0I7OzJGQUdULDhCQUE4QjtrQkFqQjFDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDbkI7OEJBR3NCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDWCxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3Q2hpbGQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVJbnRlcnZhbCB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZmxleCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBlbmRPZkRheSwgZW5kT2ZNb250aCwgc3RhcnRPZk1vbnRoLCBzdGFydE9mVG9kYXksIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7IENhbGVuZGFyRW1wdHlIZWFkZXIgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uJztcclxuaW1wb3J0IHsgQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RNb250aCwgQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RSZXN1bHQgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uJztcclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLXNlYXJjaC1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGbGV4TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdENhbGVuZGFyLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoQ2FsZW5kYXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyJykgY2FsZW5kYXIhOiBNYXRDYWxlbmRhcjxhbnk+O1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlSW50ZXJ2YWwgfCBudWxsPigpO1xyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIFxyXG4gIHByb3RlY3RlZCBidXN5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICBwcm90ZWN0ZWQgbW9udGhzID0gc2lnbmFsPENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGhbXT4obnVsbCk7XHJcbiAgcHJvdGVjdGVkIGNhbGVuZGFyU3BlY2lhbERheXM/OiBudW1iZXJbXSB8IG51bGwgPSBudWxsO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhckVtcHR5SGVhZGVyID0gQ2FsZW5kYXJFbXB0eUhlYWRlcjtcclxuICBwdWJsaWMgY2FsZW5kYXJEYXRlOiBEYXRlID0gc3RhcnRPZlRvZGF5KCk7XHJcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRGF0ZUNsYXNzOiBNYXRDYWxlbmRhckNlbGxDbGFzc0Z1bmN0aW9uPERhdGU+ID0gKGNlbGxEYXRlKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJTcGVjaWFsRGF5cykgcmV0dXJuICcnO1xyXG4gICAgaWYgKHRoaXMuY2FsZW5kYXJTcGVjaWFsRGF5c1tjZWxsRGF0ZS5nZXREYXRlKCkgLSAxXSA+IDApIHtcclxuICAgICAgaWYgKGNlbGxEYXRlIDwgc3RhcnRPZlRvZGF5KCkpIHJldHVybiAnc3BlY2lhbC1kYXRlLWV4cGlyZWQnO1xyXG4gICAgICBlbHNlIGlmIChzdWJEYXlzKGNlbGxEYXRlLCAxNSkgPD0gc3RhcnRPZlRvZGF5KCkpIHJldHVybiAnc3BlY2lhbC1kYXRlLWV4cGlyaW5nJztcclxuICAgICAgZWxzZSByZXR1cm4gJ3NwZWNpYWwtZGF0ZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgY2FsZW5kYXJEYXRlRmlsdGVyID0gKCk6IGJvb2xlYW4gPT4geyByZXR1cm4gZmFsc2U7IH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBjYWxlbmRhclxyXG4gICAqIEBwYXJhbSB2YWx1ZSA6IHRoZSBzbmFwc2hvdFxyXG4gICAqIEBwYXJhbSB2aWV3IDogdmlldyB0byB1cGRhdGUgJ21vbnRoJyBvciAnIG1vbnRocycuIERlZmF1bHQgaXMgJ21vbnRocydcclxuICAgKiBAcGFyYW0gZGF0ZSA6IHRoZSBuZXcgY3VycmVudCBkYXRlXHJcbiAgICovXHJcbiAgdXBkYXRlKHZhbHVlOiBDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdFJlc3VsdCB8IG51bGwgPSBudWxsLFxyXG4gICAgdmlldzogJ21vbnRoJyB8ICdtb250aHMnID0gJ21vbnRocycsXHJcbiAgICBkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmJ1c3kuc2V0KHRydWUpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh2aWV3ID09PSAnbW9udGhzJykge1xyXG4gICAgICAgIHRoaXMubW9udGhzLnNldCh2YWx1ZT8ubW9udGhzKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUubW9udGhzICYmIHZhbHVlLm1vbnRocy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhclNwZWNpYWxEYXlzID0gdmFsdWUubW9udGhzWzBdLmRheXM7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FsZW5kYXIpIHtcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLnNlbGVjdGVkID0gZGF0ZTtcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXIudXBkYXRlVG9kYXlzRGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGRhdGU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgdGhpcy5idXN5LnNldChmYWxzZSk7XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBieSBkYXRlXHJcbiAgICogQHBhcmFtIGRhdGUgOiB0aGUgZGF0ZSB0byBmaWx0ZXIgdG8gb3IgXCJtb250aFwiIHRvIGZpbHRlciBieSB0aGUgd2hvbGUgbW9udGguXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGZpbHRlckJ5RGF0ZShkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGRhdGUgPT09ICdtb250aCcpIHtcclxuICAgICAgaWYgKHRoaXMuY2FsZW5kYXJEYXRlKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQoXHJcbiAgICAgICAgICBuZXcgRGF0ZUludGVydmFsKFxyXG4gICAgICAgICAgICBlbmRPZkRheShzdGFydE9mTW9udGgodGhpcy5jYWxlbmRhckRhdGUpKSxcclxuICAgICAgICAgICAgZW5kT2ZNb250aCh0aGlzLmNhbGVuZGFyRGF0ZSkpKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChkYXRlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KFxyXG4gICAgICAgIG5ldyBEYXRlSW50ZXJ2YWwoXHJcbiAgICAgICAgICBlbmRPZkRheShkYXRlIGFzIERhdGUpLFxyXG4gICAgICAgICAgZW5kT2ZEYXkoZGF0ZSBhcyBEYXRlKSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgYnkgbW9udGhcclxuICAgKiBAcGFyYW0gbW9udGhJbmZvOiB0aGUgbW9udGggaW5mb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBmaWx0ZXJCeU1vbnRoKG1vbnRoSW5mbzogQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RNb250aCkge1xyXG4gICAgbGV0IGQgPSBuZXcgRGF0ZShtb250aEluZm8ueWVhciwgbW9udGhJbmZvLm1vbnRoIC0gMSwgMSk7XHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChcclxuICAgICAgbmV3IERhdGVJbnRlcnZhbChcclxuICAgICAgICBlbmRPZkRheShzdGFydE9mTW9udGgoZCkpLFxyXG4gICAgICAgIGVuZE9mTW9udGgoZCkpKTtcclxuICAgIHRoaXMuY2FsZW5kYXJTcGVjaWFsRGF5cyA9IG1vbnRoSW5mby5kYXlzO1xyXG4gICAgdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlID0gZDtcclxuICAgIHRoaXMuY2FsZW5kYXIudXBkYXRlVG9kYXlzRGF0ZSgpO1xyXG4gICAgdGhpcy5jYWxlbmRhckRhdGUgPSBkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIERpc2FibGUgZGF0ZSBzZWxlY3Rpb24gZnJvbSBjYWxlbmRhclxyXG4gKi9cclxuICBwcm90ZWN0ZWQgZmlsdGVyQ2FsZW5kYXJEYXRlcyA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH07XHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbCBjbGFzcz1cImNhbGVuZGFyLWNvbnRhaW5lciBzY3JvbGwtaGlkZGVuXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLW1vbnRoc1wiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiOHB4XCIgZnhGaWxsPlxyXG4gICAgICAgIEBmb3IgKG0gb2YgbW9udGhzKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgIDxidXR0b24gZnhGbGV4PVwiMzdweFwiIG1hdC1idXR0b24gY2xhc3M9XCJzbWFsbCB1cHBlcmNhc2VcIiAoY2xpY2spPVwiZmlsdGVyQnlNb250aChtKVwiIFtkaXNhYmxlZF09XCJtLnRvdGFsID09PSAwXCI+XHJcbiAgICAgICAgICBAaWYgKG0uZXhwaXJlZCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJleHBpcmVkXCIgW21hdFRvb2x0aXBdPVwibS5leHBpcmVkICsgJyBlbGVtZW50aSBpbiByaXRhcmRvJ1wiPnt7bS5tb250aFNob3J0TmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmICghbS5leHBpcmVkKSB7XHJcbiAgICAgICAgICA8c3BhbiBbbWF0VG9vbHRpcF09XCJtLnRvdGFsICsgJyBlbGVtZW50aSdcIj57e20ubW9udGhTaG9ydE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBmeEZsZXg9XCIqXCIgY2xhc3M9XCJzY3JvbGwtYXV0b1wiPlxyXG4gICAgQGlmICghYnVzeSgpKSB7XHJcbiAgICA8bWF0LWNhbGVuZGFyICNjYWxlbmRhciBbaGVhZGVyQ29tcG9uZW50XT1cImNhbGVuZGFyRW1wdHlIZWFkZXJcIiBbZGF0ZUNsYXNzXT1cImNhbGVuZGFyRGF0ZUNsYXNzXCJcclxuICAgICAgW2RhdGVGaWx0ZXJdPVwiY2FsZW5kYXJEYXRlRmlsdGVyXCIgKHNlbGVjdGVkQ2hhbmdlKT1cImZpbHRlckJ5RGF0ZSgkZXZlbnQpXCIgY2xhc3M9XCJjYWxlbmRhci1tb250aFwiPlxyXG4gICAgPC9tYXQtY2FsZW5kYXI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZFwiIHN0eWxlPVwicGFkZGluZzowIDE1cHhcIj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJmaWx0ZXJCeURhdGUoJ21vbnRoJylcIj5UdXR0byBpbFxyXG4gICAgICAgIG1lc2U8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1jYWxlbmRhci9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWNhbGVuZGFyL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBZ0MsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztB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LHU2RUFDVixlQUFlLDJOQUNmLGdCQUFnQiw2VEFDaEIsV0FBVyw2WUFDWCxjQUFjLDhCQUNkLGFBQWEsOEJBQ2IsZ0JBQWdCLDhCQUNoQixrQkFBa0I7OzJGQUdULDhCQUE4QjtrQkFqQjFDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDbkI7OEJBR3NCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDWCxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3Q2hpbGQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlSW50ZXJ2YWwgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgZW5kT2ZEYXksIGVuZE9mTW9udGgsIHN0YXJ0T2ZNb250aCwgc3RhcnRPZlRvZGF5LCBzdWJEYXlzIH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckVtcHR5SGVhZGVyIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbic7XHJcbmltcG9ydCB7IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGgsIENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90UmVzdWx0IH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2xpcHBlci1zZWFyY2gtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRmxleE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRDYWxlbmRhcixcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaENhbGVuZGFyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdjYWxlbmRhcicpIGNhbGVuZGFyITogTWF0Q2FsZW5kYXI8YW55PjtcclxuICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZUludGVydmFsIHwgbnVsbD4oKTtcclxuICBwcml2YXRlIGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBcclxuICBwcm90ZWN0ZWQgYnVzeSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJvdGVjdGVkIG1vbnRocyA9IHNpZ25hbDxDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdE1vbnRoW10+KG51bGwpO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhclNwZWNpYWxEYXlzPzogbnVtYmVyW10gfCBudWxsID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgY2FsZW5kYXJFbXB0eUhlYWRlciA9IENhbGVuZGFyRW1wdHlIZWFkZXI7XHJcbiAgcHVibGljIGNhbGVuZGFyRGF0ZTogRGF0ZSA9IHN0YXJ0T2ZUb2RheSgpO1xyXG4gIHByb3RlY3RlZCBjYWxlbmRhckRhdGVDbGFzczogTWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPiA9IChjZWxsRGF0ZSkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyU3BlY2lhbERheXMpIHJldHVybiAnJztcclxuICAgIGlmICh0aGlzLmNhbGVuZGFyU3BlY2lhbERheXNbY2VsbERhdGUuZ2V0RGF0ZSgpIC0gMV0gPiAwKSB7XHJcbiAgICAgIGlmIChjZWxsRGF0ZSA8IHN0YXJ0T2ZUb2RheSgpKSByZXR1cm4gJ3NwZWNpYWwtZGF0ZS1leHBpcmVkJztcclxuICAgICAgZWxzZSBpZiAoc3ViRGF5cyhjZWxsRGF0ZSwgMTUpIDw9IHN0YXJ0T2ZUb2RheSgpKSByZXR1cm4gJ3NwZWNpYWwtZGF0ZS1leHBpcmluZyc7XHJcbiAgICAgIGVsc2UgcmV0dXJuICdzcGVjaWFsLWRhdGUnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH07XHJcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRGF0ZUZpbHRlciA9ICgpOiBib29sZWFuID0+IHsgcmV0dXJuIHRoaXMuY2FuRmlsdGVyKCk7IH1cclxuICBwdWJsaWMgY2FuRmlsdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGNhbGVuZGFyXHJcbiAgICogQHBhcmFtIHZhbHVlIDogdGhlIHNuYXBzaG90XHJcbiAgICogQHBhcmFtIHZpZXcgOiB2aWV3IHRvIHVwZGF0ZSAnbW9udGgnIG9yICcgbW9udGhzJy4gRGVmYXVsdCBpcyAnbW9udGhzJ1xyXG4gICAqIEBwYXJhbSBkYXRlIDogdGhlIG5ldyBjdXJyZW50IGRhdGVcclxuICAgKi9cclxuICB1cGRhdGUodmFsdWU6IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90UmVzdWx0IHwgbnVsbCA9IG51bGwsXHJcbiAgICB2aWV3OiAnbW9udGgnIHwgJ21vbnRocycgPSAnbW9udGhzJyxcclxuICAgIGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHZpZXcgPT09ICdtb250aHMnKSB7XHJcbiAgICAgICAgdGhpcy5tb250aHMuc2V0KHZhbHVlPy5tb250aHMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5tb250aHMgJiYgdmFsdWUubW9udGhzLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyU3BlY2lhbERheXMgPSB2YWx1ZS5tb250aHNbMF0uZGF5cztcclxuICAgICAgICBpZiAodGhpcy5jYWxlbmRhcikge1xyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlID0gZGF0ZTtcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0ZWQgPSBkYXRlO1xyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci51cGRhdGVUb2RheXNEYXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZGF0ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcclxuICAgIH0sIDI1MCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGJ5IGRhdGVcclxuICAgKiBAcGFyYW0gZGF0ZSA6IHRoZSBkYXRlIHRvIGZpbHRlciB0byBvciBcIm1vbnRoXCIgdG8gZmlsdGVyIGJ5IHRoZSB3aG9sZSBtb250aC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZmlsdGVyQnlEYXRlKGRhdGU6IERhdGUgfCBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAoZGF0ZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICBpZiAodGhpcy5jYWxlbmRhckRhdGUpIHtcclxuICAgICAgICB0aGlzLmNoYW5nZWQuZW1pdChcclxuICAgICAgICAgIG5ldyBEYXRlSW50ZXJ2YWwoXHJcbiAgICAgICAgICAgIGVuZE9mRGF5KHN0YXJ0T2ZNb250aCh0aGlzLmNhbGVuZGFyRGF0ZSkpLFxyXG4gICAgICAgICAgICBlbmRPZk1vbnRoKHRoaXMuY2FsZW5kYXJEYXRlKSkpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGRhdGUpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQoXHJcbiAgICAgICAgbmV3IERhdGVJbnRlcnZhbChcclxuICAgICAgICAgIGVuZE9mRGF5KGRhdGUgYXMgRGF0ZSksXHJcbiAgICAgICAgICBlbmRPZkRheShkYXRlIGFzIERhdGUpKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBieSBtb250aFxyXG4gICAqIEBwYXJhbSBtb250aEluZm86IHRoZSBtb250aCBpbmZvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGZpbHRlckJ5TW9udGgobW9udGhJbmZvOiBDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdE1vbnRoKSB7XHJcbiAgICBsZXQgZCA9IG5ldyBEYXRlKG1vbnRoSW5mby55ZWFyLCBtb250aEluZm8ubW9udGggLSAxLCAxKTtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KFxyXG4gICAgICBuZXcgRGF0ZUludGVydmFsKFxyXG4gICAgICAgIGVuZE9mRGF5KHN0YXJ0T2ZNb250aChkKSksXHJcbiAgICAgICAgZW5kT2ZNb250aChkKSkpO1xyXG4gICAgdGhpcy5jYWxlbmRhclNwZWNpYWxEYXlzID0gbW9udGhJbmZvLmRheXM7XHJcbiAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPSBkO1xyXG4gICAgdGhpcy5jYWxlbmRhci51cGRhdGVUb2RheXNEYXRlKCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyRGF0ZSA9IGQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogRGlzYWJsZSBkYXRlIHNlbGVjdGlvbiBmcm9tIGNhbGVuZGFyXHJcbiAqL1xyXG4gIHByb3RlY3RlZCBmaWx0ZXJDYWxlbmRhckRhdGVzID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfTtcclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsIGNsYXNzPVwiY2FsZW5kYXItY29udGFpbmVyIHNjcm9sbC1oaWRkZW5cIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItbW9udGhzXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93IHdyYXBcIiBmeExheW91dEFsaWduPVwiY2VudGVyXCIgZnhMYXlvdXRHYXA9XCI4cHhcIiBmeEZpbGw+XHJcbiAgICAgICAgQGZvciAobSBvZiBtb250aHMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgPGJ1dHRvbiBmeEZsZXg9XCIzN3B4XCIgbWF0LWJ1dHRvbiBjbGFzcz1cInNtYWxsIHVwcGVyY2FzZVwiIChjbGljayk9XCJmaWx0ZXJCeU1vbnRoKG0pXCIgW2Rpc2FibGVkXT1cIm0udG90YWwgPT09IDBcIj5cclxuICAgICAgICAgIEBpZiAobS5leHBpcmVkKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4cGlyZWRcIiBbbWF0VG9vbHRpcF09XCJtLmV4cGlyZWQgKyAnIGVsZW1lbnRpIGluIHJpdGFyZG8nXCI+e3ttLm1vbnRoU2hvcnROYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKCFtLmV4cGlyZWQpIHtcclxuICAgICAgICAgIDxzcGFuIFttYXRUb29sdGlwXT1cIm0udG90YWwgKyAnIGVsZW1lbnRpJ1wiPnt7bS5tb250aFNob3J0TmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGZ4RmxleD1cIipcIiBjbGFzcz1cInNjcm9sbC1hdXRvXCI+XHJcbiAgICBAaWYgKCFidXN5KCkpIHtcclxuICAgIDxtYXQtY2FsZW5kYXIgI2NhbGVuZGFyIFtoZWFkZXJDb21wb25lbnRdPVwiY2FsZW5kYXJFbXB0eUhlYWRlclwiIFtkYXRlQ2xhc3NdPVwiY2FsZW5kYXJEYXRlQ2xhc3NcIlxyXG4gICAgICBbZGF0ZUZpbHRlcl09XCJjYWxlbmRhckRhdGVGaWx0ZXJcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwiZmlsdGVyQnlEYXRlKCRldmVudClcIiBjbGFzcz1cImNhbGVuZGFyLW1vbnRoXCI+XHJcbiAgICA8L21hdC1jYWxlbmRhcj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kXCIgc3R5bGU9XCJwYWRkaW5nOjAgMTVweFwiPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImZpbHRlckJ5RGF0ZSgnbW9udGgnKVwiPlR1dHRvIGlsXHJcbiAgICAgICAgbWVzZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -927,7 +927,8 @@ class ClipperSearchCalendarComponent {
|
|
|
927
927
|
}
|
|
928
928
|
return '';
|
|
929
929
|
};
|
|
930
|
-
this.calendarDateFilter = () => { return
|
|
930
|
+
this.calendarDateFilter = () => { return this.canFilter(); };
|
|
931
|
+
this.canFilter = input(false);
|
|
931
932
|
/**
|
|
932
933
|
* Disable date selection from calendar
|
|
933
934
|
*/
|
|
@@ -991,7 +992,7 @@ class ClipperSearchCalendarComponent {
|
|
|
991
992
|
this.calendarDate = d;
|
|
992
993
|
}
|
|
993
994
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClipperSearchCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
994
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule$1 }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
995
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ClipperSearchCalendarComponent, isStandalone: true, selector: "clipper-search-calendar", inputs: { canFilter: { classPropertyName: "canFilter", publicName: "canFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"calendar-container scroll-hidden\">\r\n <div class=\"calendar-months\">\r\n <div>\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center\" fxLayoutGap=\"8px\" fxFill>\r\n @for (m of months(); track $index) {\r\n <button fxFlex=\"37px\" mat-button class=\"small uppercase\" (click)=\"filterByMonth(m)\" [disabled]=\"m.total === 0\">\r\n @if (m.expired) {\r\n <span class=\"expired\" [matTooltip]=\"m.expired + ' elementi in ritardo'\">{{m.monthShortName}}</span>\r\n }\r\n @if (!m.expired) {\r\n <span [matTooltip]=\"m.total + ' elementi'\">{{m.monthShortName}}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"separator\"></div>\r\n </div>\r\n <div fxFlex=\"*\" class=\"scroll-auto\">\r\n @if (!busy()) {\r\n <mat-calendar #calendar [headerComponent]=\"calendarEmptyHeader\" [dateClass]=\"calendarDateClass\"\r\n [dateFilter]=\"calendarDateFilter\" (selectedChange)=\"filterByDate($event)\" class=\"calendar-month\">\r\n </mat-calendar>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around\" style=\"padding:0 15px\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"filterByDate('month')\">Tutto il\r\n mese</button>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".calendar-container{padding-top:20px;padding-bottom:10px}.calendar-message{padding-top:10px;padding-left:15px}.calendar-months .separator{border-top:1px var(--ars-color-divider, #757d87) solid;margin-top:15px;padding-top:15px}.calendar-months .expired{color:var(--ars-color-error, #ff5449)!important}.calendar-month{padding:10px 0 30px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule$1 }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "ngmodule", type: MatExpansionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
995
996
|
}
|
|
996
997
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ClipperSearchCalendarComponent, decorators: [{
|
|
997
998
|
type: Component,
|