@odx/angular 12.12.2 → 12.13.1
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/CHANGELOG.md +12 -1
- package/components/calendar/lib/services/calendar-month.service.d.ts +1 -0
- package/components/toast/lib/models/toast-variant.d.ts +2 -0
- package/components/wizard/lib/wizard.component.d.ts +2 -2
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +4 -5
- package/esm2022/components/toast/lib/models/toast-variant.mjs +3 -1
- package/esm2022/components/wizard/lib/wizard.component.mjs +18 -18
- package/fesm2022/odx-angular-components-calendar.mjs +3 -4
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +2 -0
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +17 -17
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
# @odx/angular
|
|
2
2
|
|
|
3
|
-
## 12.
|
|
3
|
+
## 12.13.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 01787ab: Fixed: to avoid calendar jumps caused by the different number of days in each month, it now consistently displays 6 weeks per month
|
|
8
|
+
|
|
9
|
+
## 12.13.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- b146ba8: Two new variants have been added to the Toast component: warning-strong and danger-strong
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
6
16
|
|
|
7
17
|
- 890c7aa: Added a new icon inside the switch indicator: a checkmark appears when checked, and an "x" appears when unchecked.
|
|
18
|
+
- 6b48ec1: New usage exemple for wizard component
|
|
8
19
|
|
|
9
20
|
## 12.12.1
|
|
10
21
|
|
|
@@ -2,6 +2,7 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
/** @internal */
|
|
3
3
|
export declare class CalendarMonthService {
|
|
4
4
|
private readonly calendar;
|
|
5
|
+
private readonly weeksInView;
|
|
5
6
|
readonly weekDays$: import("rxjs").Observable<Date[]>;
|
|
6
7
|
readonly weeks$: import("rxjs").Observable<Date[][]>;
|
|
7
8
|
private generateWeekDays;
|
|
@@ -14,8 +14,8 @@ export declare class WizardComponent implements AfterViewInit {
|
|
|
14
14
|
private readonly dottedLineStart;
|
|
15
15
|
private readonly dottedLineEnd;
|
|
16
16
|
private readonly windowRef;
|
|
17
|
-
private activeStep;
|
|
18
17
|
protected readonly steps: QueryList<WizardStepComponent>;
|
|
18
|
+
readonly activeStep: import("@angular/core").WritableSignal<number>;
|
|
19
19
|
readonly element: import("@angular/core").ElementRef<HTMLElement>;
|
|
20
20
|
/**
|
|
21
21
|
* Indicates if the wizard layout should be vertical. When true, the wizard orientation changes to vertical.
|
|
@@ -45,7 +45,7 @@ export declare class WizardComponent implements AfterViewInit {
|
|
|
45
45
|
*/
|
|
46
46
|
previousStep(): void;
|
|
47
47
|
/**
|
|
48
|
-
* Sets the active step
|
|
48
|
+
* Sets the active step valid.
|
|
49
49
|
*/
|
|
50
50
|
setActiveStepValid(): void;
|
|
51
51
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { addDays,
|
|
2
|
+
import { addDays, startOfMonth, startOfWeek } from 'date-fns';
|
|
3
3
|
import { map } from 'rxjs';
|
|
4
4
|
import { CalendarService } from '../calendar.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
export class CalendarMonthService {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.calendar = inject(CalendarService);
|
|
10
|
+
this.weeksInView = 6;
|
|
10
11
|
this.weekDays$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeekDays(date)));
|
|
11
12
|
this.weeks$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeeks(date)));
|
|
12
13
|
}
|
|
@@ -16,12 +17,10 @@ export class CalendarMonthService {
|
|
|
16
17
|
}
|
|
17
18
|
generateWeeks(date) {
|
|
18
19
|
const startOfTheSelectedMonth = startOfMonth(date);
|
|
19
|
-
const endOfTheSelectedMonth = endOfMonth(date);
|
|
20
20
|
const startDate = startOfWeek(startOfTheSelectedMonth, { weekStartsOn: 1 });
|
|
21
|
-
const endDate = endOfWeek(endOfTheSelectedMonth);
|
|
22
21
|
const allWeeks = [];
|
|
23
22
|
let currentDate = startDate;
|
|
24
|
-
|
|
23
|
+
for (let i = this.weeksInView; i > 0; i--) {
|
|
25
24
|
allWeeks.push(this.generateDaysForWeek(currentDate, date));
|
|
26
25
|
currentDate = addDays(currentDate, 7);
|
|
27
26
|
}
|
|
@@ -36,4 +35,4 @@ export class CalendarMonthService {
|
|
|
36
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarMonthService, decorators: [{
|
|
37
36
|
type: Injectable
|
|
38
37
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvc2VydmljZXMvY2FsZW5kYXItbW9udGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXRELGdCQUFnQjtBQUVoQixNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFakIsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsV0FBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBeUJsRztJQXZCUyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFVO1FBQzlCLE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFFNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRCxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQVUsRUFBRSxXQUFpQjtRQUN2RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7K0dBN0JVLG9CQUFvQjttSEFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGREYXlzLCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhciA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHdlZWtzSW5WaWV3ID0gNjtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2Vla0RheXMkID0gdGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlJC5waXBlKG1hcCgoZGF0ZSkgPT4gdGhpcy5nZW5lcmF0ZVdlZWtEYXlzKGRhdGUpKSk7XG4gIHB1YmxpYyByZWFkb25seSB3ZWVrcyQgPSB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUkLnBpcGUobWFwKChkYXRlKSA9PiB0aGlzLmdlbmVyYXRlV2Vla3MoZGF0ZSkpKTtcblxuICBwcml2YXRlIGdlbmVyYXRlV2Vla0RheXMoZGF0ZTogRGF0ZSk6IERhdGVbXSB7XG4gICAgY29uc3QgZmlyc3RXZWVrRGF5ID0gc3RhcnRPZldlZWsoZGF0ZSwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSwgKF8sIGkpID0+IGFkZERheXMoZmlyc3RXZWVrRGF5LCBpKSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlV2Vla3MoZGF0ZTogRGF0ZSk6IERhdGVbXVtdIHtcbiAgICBjb25zdCBzdGFydE9mVGhlU2VsZWN0ZWRNb250aCA9IHN0YXJ0T2ZNb250aChkYXRlKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSBzdGFydE9mV2VlayhzdGFydE9mVGhlU2VsZWN0ZWRNb250aCwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgY29uc3QgYWxsV2Vla3MgPSBbXTtcblxuICAgIGxldCBjdXJyZW50RGF0ZSA9IHN0YXJ0RGF0ZTtcblxuICAgIGZvciAobGV0IGkgPSB0aGlzLndlZWtzSW5WaWV3OyBpID4gMDsgaS0tKSB7XG4gICAgICBhbGxXZWVrcy5wdXNoKHRoaXMuZ2VuZXJhdGVEYXlzRm9yV2VlayhjdXJyZW50RGF0ZSwgZGF0ZSkpO1xuICAgICAgY3VycmVudERhdGUgPSBhZGREYXlzKGN1cnJlbnREYXRlLCA3KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsV2Vla3M7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRGF5c0ZvcldlZWsoZGF0ZTogRGF0ZSwgY3VycmVudERhdGU6IERhdGUpOiBEYXRlW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA3IH0pLm1hcCgoXywgaSkgPT4gYWRkRGF5cyhkYXRlLCBpKSwgY3VycmVudERhdGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -3,5 +3,7 @@ export const ToastVariant = {
|
|
|
3
3
|
WARNING: 'warning',
|
|
4
4
|
DANGER: 'danger',
|
|
5
5
|
SUCCESS: 'success',
|
|
6
|
+
WARNING_STRONG: 'warning-strong',
|
|
7
|
+
DANGER_STRONG: 'danger-strong',
|
|
6
8
|
};
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdmFyaWFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3RvYXN0L3NyYy9saWIvbW9kZWxzL3RvYXN0LXZhcmlhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsYUFBYSxFQUFFLGVBQWU7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRvYXN0VmFyaWFudCA9ICh0eXBlb2YgVG9hc3RWYXJpYW50KVtrZXlvZiB0eXBlb2YgVG9hc3RWYXJpYW50XTtcblxuZXhwb3J0IGNvbnN0IFRvYXN0VmFyaWFudCA9IHtcbiAgREVGQVVMVDogJ2RlZmF1bHQnLFxuICBXQVJOSU5HOiAnd2FybmluZycsXG4gIERBTkdFUjogJ2RhbmdlcicsXG4gIFNVQ0NFU1M6ICdzdWNjZXNzJyxcbiAgV0FSTklOR19TVFJPTkc6ICd3YXJuaW5nLXN0cm9uZycsXG4gIERBTkdFUl9TVFJPTkc6ICdkYW5nZXItc3Ryb25nJyxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, inject, Input, Output, QueryList, Renderer2, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, inject, Input, Output, QueryList, Renderer2, signal, ViewEncapsulation, } from '@angular/core';
|
|
3
3
|
import { WindowRef } from '@odx/angular';
|
|
4
4
|
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
5
5
|
import { injectElement, untilDestroyed } from '@odx/angular/utils';
|
|
@@ -20,7 +20,7 @@ let WizardComponent = class WizardComponent {
|
|
|
20
20
|
this.dottedLineStart = this.renderer.createElement('div');
|
|
21
21
|
this.dottedLineEnd = this.renderer.createElement('div');
|
|
22
22
|
this.windowRef = inject(WindowRef);
|
|
23
|
-
this.activeStep = 0;
|
|
23
|
+
this.activeStep = signal(0);
|
|
24
24
|
this.element = injectElement();
|
|
25
25
|
/**
|
|
26
26
|
* Indicates if the wizard layout should be vertical. When true, the wizard orientation changes to vertical.
|
|
@@ -61,19 +61,19 @@ let WizardComponent = class WizardComponent {
|
|
|
61
61
|
* Navigates to the next step in the wizard.
|
|
62
62
|
*/
|
|
63
63
|
nextStep() {
|
|
64
|
-
this.activeStep < this.steps.length - 1 && this.changeStepHandler(this.steps.get(this.activeStep + 1));
|
|
64
|
+
this.activeStep() < this.steps.length - 1 && this.changeStepHandler(this.steps.get(this.activeStep() + 1));
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Navigates to the previous step in the wizard.
|
|
68
68
|
*/
|
|
69
69
|
previousStep() {
|
|
70
|
-
this.activeStep > 0 && this.changeStepHandler(this.steps.get(this.activeStep - 1));
|
|
70
|
+
this.activeStep() > 0 && this.changeStepHandler(this.steps.get(this.activeStep() - 1));
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
* Sets the active step
|
|
73
|
+
* Sets the active step valid.
|
|
74
74
|
*/
|
|
75
75
|
setActiveStepValid() {
|
|
76
|
-
this.steps.get(this.activeStep)?.setValid(true);
|
|
76
|
+
this.steps.get(this.activeStep())?.setValid(true);
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
79
|
* Sets the validity of a step at the specified index.
|
|
@@ -85,8 +85,8 @@ let WizardComponent = class WizardComponent {
|
|
|
85
85
|
const step = this.steps.get(stepIndex);
|
|
86
86
|
if (step) {
|
|
87
87
|
step.setValid(valid);
|
|
88
|
-
if (stepIndex === this.activeStep) {
|
|
89
|
-
this.activeStepChanged.emit(this.activeStep);
|
|
88
|
+
if (stepIndex === this.activeStep()) {
|
|
89
|
+
this.activeStepChanged.emit(this.activeStep());
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -97,7 +97,7 @@ let WizardComponent = class WizardComponent {
|
|
|
97
97
|
* @returns {boolean} - Whether the step is valid or not.
|
|
98
98
|
*/
|
|
99
99
|
isStepValid(stepIndex) {
|
|
100
|
-
return !!this.steps
|
|
100
|
+
return !!this.steps?.get(stepIndex)?.valid;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Returns whether the current active step is valid.
|
|
@@ -105,7 +105,7 @@ let WizardComponent = class WizardComponent {
|
|
|
105
105
|
* @returns {boolean} - Whether the current step is valid or not.
|
|
106
106
|
*/
|
|
107
107
|
isCurrentStepValid() {
|
|
108
|
-
return this.isStepValid(this.activeStep);
|
|
108
|
+
return this.isStepValid(this.activeStep());
|
|
109
109
|
}
|
|
110
110
|
calculateVisibleStepsSegments() {
|
|
111
111
|
if (!this.responsive$.getValue())
|
|
@@ -132,11 +132,11 @@ let WizardComponent = class WizardComponent {
|
|
|
132
132
|
this.steps.forEach((step, index) => {
|
|
133
133
|
step.active = false;
|
|
134
134
|
step.isLastTouched = false;
|
|
135
|
-
if (this.activeStep === index)
|
|
135
|
+
if (this.activeStep() === index)
|
|
136
136
|
step.touched = true;
|
|
137
137
|
step.touched && touched.push(step);
|
|
138
|
-
this.activeStep === index && (step.active = true);
|
|
139
|
-
step.passed = index <= this.activeStep;
|
|
138
|
+
this.activeStep() === index && (step.active = true);
|
|
139
|
+
step.passed = index <= this.activeStep();
|
|
140
140
|
});
|
|
141
141
|
const lastTouched = touched.pop();
|
|
142
142
|
lastTouched && (lastTouched.isLastTouched = true);
|
|
@@ -151,9 +151,9 @@ let WizardComponent = class WizardComponent {
|
|
|
151
151
|
const index = this.steps.toArray().indexOf(step);
|
|
152
152
|
const isPreviousStepValid = this.steps.get(index - 1)?.valid;
|
|
153
153
|
const isFirstStepTarget = index === 0;
|
|
154
|
-
if ((isPreviousStepValid || isFirstStepTarget) && index !== this.activeStep) {
|
|
155
|
-
this.activeStep
|
|
156
|
-
this.activeStepChanged.emit(this.activeStep);
|
|
154
|
+
if ((isPreviousStepValid || isFirstStepTarget) && index !== this.activeStep()) {
|
|
155
|
+
this.activeStep.set(index);
|
|
156
|
+
this.activeStepChanged.emit(this.activeStep());
|
|
157
157
|
this.setActiveStep();
|
|
158
158
|
}
|
|
159
159
|
}
|
|
@@ -162,7 +162,7 @@ let WizardComponent = class WizardComponent {
|
|
|
162
162
|
[this.dottedLineStart, this.dottedLineEnd].forEach((l) => this.setDottedLineActive(l, true));
|
|
163
163
|
this.renderer.insertBefore(this.element.nativeElement, this.dottedLineStart, this.steps.get(1)?.element.nativeElement);
|
|
164
164
|
this.renderer.insertBefore(this.element.nativeElement, this.dottedLineEnd, this.steps.get(length - 1)?.element.nativeElement);
|
|
165
|
-
const start = this.activeStep < length / 2;
|
|
165
|
+
const start = this.activeStep() < length / 2;
|
|
166
166
|
const stepsForHide = this.steps.toArray().slice(1, -1);
|
|
167
167
|
const visibleStepsSegments = this.visibleStepsSegments - 2;
|
|
168
168
|
stepsForHide.forEach((step, i) => {
|
|
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
221
221
|
}], activeStepChanged: [{
|
|
222
222
|
type: Output
|
|
223
223
|
}] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3dpemFyZC9zcmMvbGliL3dpemFyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy93aXphcmQvc3JjL2xpYi93aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFbkQ7Ozs7R0FJRztBQVNJLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFBckI7UUFDWSxjQUFTLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUNoQixvQkFBZSxHQUFHLElBQUks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QUNFLFlBQVksY0FFVixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBZWxCLEtBQUs7c0JBRHZCLGVBQWU7dUJBQUMsbUJBQW1CO2dCQWE3QixRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTNCLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVy9CLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBtZXJnZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXaXphcmRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcblxuLyoqXG4gKiBXaXphcmRDb21wb25lbnQgbWFuYWdlcyBhIHNlcmllcyBvZiBzdGVwcywgcHJvdmlkaW5nIGZ1bmN0aW9uYWxpdHkgZm9yIG5hdmlnYXRpbmcgZm9yd2FyZHMgYW5kIGJhY2t3YXJkc1xuICogdGhyb3VnaCB0aGUgc3RlcHMuIEl0IGR5bmFtaWNhbGx5IGFkanVzdHMgdGhlIHZpc2liaWxpdHkgb2Ygc3RlcHMgYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZSBhbmQgY3VycmVudCBhY3RpdmUgc3RlcC5cbiAqIFRoZSBjb21wb25lbnQgc3VwcG9ydHMgYm90aCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBvcmllbnRhdGlvbnMuXG4gKi9cbkBDU1NDb21wb25lbnQoJ3dpemFyZCcpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtd2l6YXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zaXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgdmlzaWJsZVN0ZXBzU2VnbWVudHMgPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvdHRlZExpbmVTdGFydCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG90dGVkTGluZUVuZCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWYgPSBpbmplY3QoV2luZG93UmVmKTtcbiAgcHJpdmF0ZSBhY3RpdmVTdGVwID0gMDtcblxuICBAQ29udGVudENoaWxkcmVuKFdpemFyZFN0ZXBDb21wb25lbnQpXG4gIHByb3RlY3RlZCByZWFkb25seSBzdGVwcyE6IFF1ZXJ5TGlzdDxXaXphcmRTdGVwQ29tcG9uZW50PjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSB3aXphcmQgbGF5b3V0IHNob3VsZCBiZSB2ZXJ0aWNhbC4gV2hlbiB0cnVlLCB0aGUgd2l6YXJkIG9yaWVudGF0aW9uIGNoYW5nZXMgdG8gdmVydGljYWwuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyB2ZXJ0aWNhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgd2l6YXJkIGNvbXBvbmVudCBpcyByZXNwb25zaXZlXG4gICAqIGFuZCBoaWRlcyB0aGUgc3RlcHMgdGhhdCBkbyBub3QgZml0IGluIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNldCByZXNwb25zaXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZXNwb25zaXZlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjdGl2ZSBzdGVwIGNoYW5nZXMsIHByb3ZpZGluZyB0aGUgaW5kZXggb2YgdGhlIG5ldyBhY3RpdmUgc3RlcC5cbiAgICpcbiAgICogQGVtaXRzIHtudW1iZXJ9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZVN0ZXBDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGVwcykgcmV0dXJuO1xuICAgIFt0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5kb3R0ZWRMaW5lRW5kXS5mb3JFYWNoKChsKSA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGwsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lJykpO1xuICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVTdGVwKCk7XG5cbiAgICBtZXJnZShmcm9tRXZlbnQodGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LCAncmVzaXplJyksIHRoaXMuc3RlcHMuY2hhbmdlcywgdGhpcy5yZXNwb25zaXZlJClcbiAgICAgIC5waXBlKHRoaXMuZGVzdHJveWVkKCksIGRlYm91bmNlVGltZSg2MDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgICAgIHRoaXMuc2V0SGlkZGVuU3RlcHMoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY2xpY2tTdGVwU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgbmV4dCBzdGVwIGluIHRoZSB3aXphcmQuXG4gICAqL1xuICBwdWJsaWMgbmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVTdGVwIDwgdGhpcy5zdGVwcy5sZW5ndGggLSAxICYmIHRoaXMuY2hhbmdlU3RlcEhhbmRsZXIodGhpcy5zdGVwcy5nZXQodGhpcy5hY3RpdmVTdGVwICsgMSkgYXMgV2l6YXJkU3RlcENvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcmV2aW91cyBzdGVwIGluIHRoZSB3aXphcmQuXG4gICAqL1xuICBwdWJsaWMgcHJldmlvdXNTdGVwKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlU3RlcCA+IDAgJiYgdGhpcy5jaGFuZ2VTdGVwSGFuZGxlcih0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAgLSAxKSBhcyBXaXphcmRTdGVwQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY3RpdmUgc3RlcCB0byB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZVN0ZXBWYWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXApPy5zZXRWYWxpZCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWxpZGl0eSBvZiBhIHN0ZXAgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBJbmRleCAtIEluZGV4IG9mIHRoZSBzdGVwIHRvIHNldCB2YWxpZGl0eS5cbiAgICogQHBhcmFtIHtib29sZWFufSB2YWxpZCAtIFdoZXRoZXIgdGhlIHN0ZXAgc2hvdWxkIGJlIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBzZXRTdGVwVmFsaWQoc3RlcEluZGV4OiBudW1iZXIsIHZhbGlkOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuc3RlcHMuZ2V0KHN0ZXBJbmRleCk7XG4gICAgaWYgKHN0ZXApIHtcbiAgICAgIHN0ZXAuc2V0VmFsaWQodmFsaWQpO1xuICAgICAgaWYgKHN0ZXBJbmRleCA9PT0gdGhpcy5hY3RpdmVTdGVwKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlU3RlcENoYW5nZWQuZW1pdCh0aGlzLmFjdGl2ZVN0ZXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHN0ZXAgYXQgdGhlIHNwZWNpZmllZCBpbmRleCBpcyB2YWxpZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBJbmRleCAtIEluZGV4IG9mIHRoZSBzdGVwIHRvIGNoZWNrIHZhbGlkaXR5LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSBzdGVwIGlzIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBpc1N0ZXBWYWxpZChzdGVwSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RlcHMuZ2V0KHN0ZXBJbmRleCk/LnZhbGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBhY3RpdmUgc3RlcCBpcyB2YWxpZC5cbiAgICpcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB0aGUgY3VycmVudCBzdGVwIGlzIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBpc0N1cnJlbnRTdGVwVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTdGVwVmFsaWQodGhpcy5hY3RpdmVTdGVwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlzaWJsZVN0ZXBzU2VnbWVudHMoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2l2ZSQuZ2V0VmFsdWUoKSkgcmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLnZlcnRpY2FsID8gaGVpZ2h0IDogd2lkdGg7XG5cbiAgICBsZXQgdmlzaWJsZVN0ZXBzID0gMDtcbiAgICBsZXQgc3VtbWFyeVN0ZXBzU2l6ZSA9IDA7XG4gICAgY29uc3QgcHJvcCA9IHRoaXMudmVydGljYWwgPyAnZmxleC1iYXNpcycgOiAnbWluLXdpZHRoJztcbiAgICBjb25zdCBtaW5TdGVwU2l6ZSA9IHBhcnNlSW50KHRoaXMuZ2V0U3R5bGVGcm9tQ1NTKHRoaXMuc3RlcHMuZmlyc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBwcm9wKSk7XG5cbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKCkgPT4ge1xuICAgICAgc3VtbWFyeVN0ZXBzU2l6ZSArPSBtaW5TdGVwU2l6ZTtcbiAgICAgIGlmIChzdW1tYXJ5U3RlcHNTaXplIDwgY29udGFpbmVyU2l6ZSkgdmlzaWJsZVN0ZXBzKys7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmlzaWJsZVN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHlsZUZyb21DU1MoZWw6IEhUTUxFbGVtZW50LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlU3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCB0b3VjaGVkOiBXaXphcmRTdGVwQ29tcG9uZW50W10gPSBbXTtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBzdGVwLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgc3RlcC5pc0xhc3RUb3VjaGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5hY3RpdmVTdGVwID09PSBpbmRleCkgc3RlcC50b3VjaGVkID0gdHJ1ZTtcbiAgICAgIHN0ZXAudG91Y2hlZCAmJiB0b3VjaGVkLnB1c2goc3RlcCk7XG4gICAgICB0aGlzLmFjdGl2ZVN0ZXAgPT09IGluZGV4ICYmIChzdGVwLmFjdGl2ZSA9IHRydWUpO1xuICAgICAgc3RlcC5wYXNzZWQgPSBpbmRleCA8PSB0aGlzLmFjdGl2ZVN0ZXA7XG4gICAgfSk7XG4gICAgY29uc3QgbGFzdFRvdWNoZWQgPSB0b3VjaGVkLnBvcCgpO1xuICAgIGxhc3RUb3VjaGVkICYmIChsYXN0VG91Y2hlZC5pc0xhc3RUb3VjaGVkID0gdHJ1ZSk7XG4gICAgdGhpcy5zZXRIaWRkZW5TdGVwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGlja1N0ZXBTdWJzY3JpYmVyKCk6IHZvaWQge1xuICAgIG1lcmdlKC4uLnRoaXMuc3RlcHMubWFwKChzdGVwKSA9PiBzdGVwLnN0ZXBDaG9zZW4kKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLmRlc3Ryb3llZCgpLFxuICAgICAgICB0YXAoKHN0ZXApID0+IHRoaXMuY2hhbmdlU3RlcEhhbmRsZXIoc3RlcCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VTdGVwSGFuZGxlcihzdGVwOiBXaXphcmRTdGVwQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0ZXBzLnRvQXJyYXkoKS5pbmRleE9mKHN0ZXApO1xuICAgIGNvbnN0IGlzUHJldmlvdXNTdGVwVmFsaWQgPSB0aGlzLnN0ZXBzLmdldChpbmRleCAtIDEpPy52YWxpZDtcbiAgICBjb25zdCBpc0ZpcnN0U3RlcFRhcmdldCA9IGluZGV4ID09PSAwO1xuXG4gICAgaWYgKChpc1ByZXZpb3VzU3RlcFZhbGlkIHx8IGlzRmlyc3RTdGVwVGFyZ2V0KSAmJiBpbmRleCAhPT0gdGhpcy5hY3RpdmVTdGVwKSB7XG4gICAgICB0aGlzLmFjdGl2ZVN0ZXAgPSBpbmRleDtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcENoYW5nZWQuZW1pdCh0aGlzLmFjdGl2ZVN0ZXApO1xuICAgICAgdGhpcy5zZXRBY3RpdmVTdGVwKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRIaWRkZW5TdGVwcygpIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLnN0ZXBzLmxlbmd0aDtcblxuICAgIFt0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5kb3R0ZWRMaW5lRW5kXS5mb3JFYWNoKChsKSA9PiB0aGlzLnNldERvdHRlZExpbmVBY3RpdmUobCwgdHJ1ZSkpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZG90dGVkTGluZVN0YXJ0LCB0aGlzLnN0ZXBzLmdldCgxKT8uZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5kb3R0ZWRMaW5lRW5kLCB0aGlzLnN0ZXBzLmdldChsZW5ndGggLSAxKT8uZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuYWN0aXZlU3RlcCA8IGxlbmd0aCAvIDI7XG4gICAgY29uc3Qgc3RlcHNGb3JIaWRlID0gdGhpcy5zdGVwcy50b0FycmF5KCkuc2xpY2UoMSwgLTEpO1xuICAgIGNvbnN0IHZpc2libGVTdGVwc1NlZ21lbnRzID0gdGhpcy52aXNpYmxlU3RlcHNTZWdtZW50cyAtIDI7XG4gICAgc3RlcHNGb3JIaWRlLmZvckVhY2goKHN0ZXAsIGkpID0+IHtcbiAgICAgIGlmIChsZW5ndGggPiB0aGlzLnZpc2libGVTdGVwc1NlZ21lbnRzKSB7XG4gICAgICAgIHN0ZXAudmlzaWJsZSA9IHN0YXJ0XG4gICAgICAgICAgPyBpIDwgdmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIHx8IHRoaXMuaXNOZWlnaGJvcnMoaSwgc3RlcHNGb3JIaWRlKVxuICAgICAgICAgIDogaSA+IHN0ZXBzRm9ySGlkZS5sZW5ndGggLSAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxKSB8fCB0aGlzLmlzTmVpZ2hib3JzKGksIHN0ZXBzRm9ySGlkZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGVwLnZpc2libGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGZpbHRlcmVkVmlzaWJsZVN0ZXBzID0gc3RlcHNGb3JIaWRlLmZpbHRlcigocykgPT4gcy52aXNpYmxlKTtcbiAgICBpZiAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIDwgZmlsdGVyZWRWaXNpYmxlU3RlcHMubGVuZ3RoICYmIGxlbmd0aCA+IHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMpIHtcbiAgICAgIGNvbnN0IG92ZXJmbG93U2l6ZSA9IGZpbHRlcmVkVmlzaWJsZVN0ZXBzLmxlbmd0aCAtIHZpc2libGVTdGVwc1NlZ21lbnRzICsgMTtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3RhcnQgPyBvdmVyZmxvd1NpemUgOiBmaWx0ZXJlZFZpc2libGVTdGVwcy5sZW5ndGggLSBvdmVyZmxvd1NpemUgLSAxO1xuXG4gICAgICBmaWx0ZXJlZFZpc2libGVTdGVwcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIChzdGFydCA/IGkgPD0gaW5kZXggOiBpID49IGluZGV4KSAmJiAhdGhpcy5pc05laWdoYm9ycyhpLCBmaWx0ZXJlZFZpc2libGVTdGVwcykgJiYgKHMudmlzaWJsZSA9IGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHMubGFzdC5hY3RpdmUgJiYgKHN0ZXBzRm9ySGlkZVtzdGVwc0ZvckhpZGUubGVuZ3RoIC0gMV0udmlzaWJsZSA9IHRydWUpO1xuICAgIHRoaXMuc3RlcHMuZmlyc3QuYWN0aXZlICYmIChzdGVwc0ZvckhpZGVbMF0udmlzaWJsZSA9IHRydWUpO1xuXG4gICAgIXRoaXMuc3RlcHMuZ2V0KDEpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVTdGFydCk7XG4gICAgIXRoaXMuc3RlcHMuZ2V0KGxlbmd0aCAtIDIpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVFbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05laWdoYm9ycyhpbmRleDogbnVtYmVyLCBzdGVwczogV2l6YXJkU3RlcENvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWN0aXZlU3RlcCA9IHN0ZXBzLmluZGV4T2Yoc3RlcHMuZmluZCgocykgPT4gcy5hY3RpdmUpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICAgIHJldHVybiBhY3RpdmVTdGVwICE9PSAtMSAmJiAoaW5kZXggPT09IGFjdGl2ZVN0ZXAgLSAxIHx8IGluZGV4ID09PSBhY3RpdmVTdGVwICsgMSB8fCBpbmRleCA9PT0gYWN0aXZlU3RlcCk7XG4gIH1cblxuICBwcml2YXRlIHNldERvdHRlZExpbmVBY3RpdmUobGluZTogSFRNTEVsZW1lbnQsIHVuc2V0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHVuc2V0ID8gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhsaW5lLCAnb2R4LXdpemFyZC1zdGVwX19kb3R0ZWQtbGluZS0tYWN0aXZlJykgOiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxpbmUsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lLS1hY3RpdmUnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LXdpemFyZC1zdGVwXCIgLz5cbiJdfQ==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3dpemFyZC9zcmMvbGliL3dpemFyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy93aXphcmQvc3JjL2xpYi93aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRW5EOzs7O0dBSUc7QUFTSSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBQXJCO1FBQ1ksY0FBUyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMxRCx5QkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDaEIsb0JBQWUs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OztBRDBEUztJQUZOLFdBQVcsRUFBRTs7aURBRVU7QUF6QmIsZUFBZTtJQVIzQixZQUFZLENBQUMsUUFBUSxDQUFDO0dBUVYsZUFBZSxDQTBOM0I7OzRGQTFOWSxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFlBQVksY0FFVixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBY2xCLEtBQUs7c0JBRHZCLGVBQWU7dUJBQUMsbUJBQW1CO2dCQWM3QixRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTNCLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVy9CLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQsIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIG1lcmdlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpemFyZFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG4vKipcbiAqIFdpemFyZENvbXBvbmVudCBtYW5hZ2VzIGEgc2VyaWVzIG9mIHN0ZXBzLCBwcm92aWRpbmcgZnVuY3Rpb25hbGl0eSBmb3IgbmF2aWdhdGluZyBmb3J3YXJkcyBhbmQgYmFja3dhcmRzXG4gKiB0aHJvdWdoIHRoZSBzdGVwcy4gSXQgZHluYW1pY2FsbHkgYWRqdXN0cyB0aGUgdmlzaWJpbGl0eSBvZiBzdGVwcyBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlIGFuZCBjdXJyZW50IGFjdGl2ZSBzdGVwLlxuICogVGhlIGNvbXBvbmVudCBzdXBwb3J0cyBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIG9yaWVudGF0aW9ucy5cbiAqL1xuQENTU0NvbXBvbmVudCgnd2l6YXJkJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC13aXphcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2l6YXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFdpemFyZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNpdmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSB2aXNpYmxlU3RlcHNTZWdtZW50cyA9IDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG90dGVkTGluZVN0YXJ0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb3R0ZWRMaW5lRW5kID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZiA9IGluamVjdChXaW5kb3dSZWYpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oV2l6YXJkU3RlcENvbXBvbmVudClcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXBzITogUXVlcnlMaXN0PFdpemFyZFN0ZXBDb21wb25lbnQ+O1xuXG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVTdGVwID0gc2lnbmFsKDApO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSB3aXphcmQgbGF5b3V0IHNob3VsZCBiZSB2ZXJ0aWNhbC4gV2hlbiB0cnVlLCB0aGUgd2l6YXJkIG9yaWVudGF0aW9uIGNoYW5nZXMgdG8gdmVydGljYWwuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyB2ZXJ0aWNhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgd2l6YXJkIGNvbXBvbmVudCBpcyByZXNwb25zaXZlXG4gICAqIGFuZCBoaWRlcyB0aGUgc3RlcHMgdGhhdCBkbyBub3QgZml0IGluIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNldCByZXNwb25zaXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZXNwb25zaXZlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjdGl2ZSBzdGVwIGNoYW5nZXMsIHByb3ZpZGluZyB0aGUgaW5kZXggb2YgdGhlIG5ldyBhY3RpdmUgc3RlcC5cbiAgICpcbiAgICogQGVtaXRzIHtudW1iZXJ9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZVN0ZXBDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGVwcykgcmV0dXJuO1xuICAgIFt0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5kb3R0ZWRMaW5lRW5kXS5mb3JFYWNoKChsKSA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGwsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lJykpO1xuICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgdGhpcy5zZXRBY3RpdmVTdGVwKCk7XG5cbiAgICBtZXJnZShmcm9tRXZlbnQodGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LCAncmVzaXplJyksIHRoaXMuc3RlcHMuY2hhbmdlcywgdGhpcy5yZXNwb25zaXZlJClcbiAgICAgIC5waXBlKHRoaXMuZGVzdHJveWVkKCksIGRlYm91bmNlVGltZSg2MDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMgPSB0aGlzLmNhbGN1bGF0ZVZpc2libGVTdGVwc1NlZ21lbnRzKCk7XG4gICAgICAgIHRoaXMuc2V0SGlkZGVuU3RlcHMoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY2xpY2tTdGVwU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgbmV4dCBzdGVwIGluIHRoZSB3aXphcmQuXG4gICAqL1xuICBwdWJsaWMgbmV4dFN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVTdGVwKCkgPCB0aGlzLnN0ZXBzLmxlbmd0aCAtIDEgJiYgdGhpcy5jaGFuZ2VTdGVwSGFuZGxlcih0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAoKSArIDEpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgcHJldmlvdXMgc3RlcCBpbiB0aGUgd2l6YXJkLlxuICAgKi9cbiAgcHVibGljIHByZXZpb3VzU3RlcCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVN0ZXAoKSA+IDAgJiYgdGhpcy5jaGFuZ2VTdGVwSGFuZGxlcih0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAoKSAtIDEpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjdGl2ZSBzdGVwIHZhbGlkLlxuICAgKi9cbiAgcHVibGljIHNldEFjdGl2ZVN0ZXBWYWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmdldCh0aGlzLmFjdGl2ZVN0ZXAoKSk/LnNldFZhbGlkKHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbGlkaXR5IG9mIGEgc3RlcCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RlcEluZGV4IC0gSW5kZXggb2YgdGhlIHN0ZXAgdG8gc2V0IHZhbGlkaXR5LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbGlkIC0gV2hldGhlciB0aGUgc3RlcCBzaG91bGQgYmUgdmFsaWQgb3Igbm90LlxuICAgKi9cbiAgcHVibGljIHNldFN0ZXBWYWxpZChzdGVwSW5kZXg6IG51bWJlciwgdmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBzdGVwID0gdGhpcy5zdGVwcy5nZXQoc3RlcEluZGV4KTtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgc3RlcC5zZXRWYWxpZCh2YWxpZCk7XG4gICAgICBpZiAoc3RlcEluZGV4ID09PSB0aGlzLmFjdGl2ZVN0ZXAoKSkge1xuICAgICAgICB0aGlzLmFjdGl2ZVN0ZXBDaGFuZ2VkLmVtaXQodGhpcy5hY3RpdmVTdGVwKCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHN0ZXAgYXQgdGhlIHNwZWNpZmllZCBpbmRleCBpcyB2YWxpZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBJbmRleCAtIEluZGV4IG9mIHRoZSBzdGVwIHRvIGNoZWNrIHZhbGlkaXR5LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSBzdGVwIGlzIHZhbGlkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBpc1N0ZXBWYWxpZChzdGVwSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RlcHM/LmdldChzdGVwSW5kZXgpPy52YWxpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGN1cnJlbnQgYWN0aXZlIHN0ZXAgaXMgdmFsaWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdGhlIGN1cnJlbnQgc3RlcCBpcyB2YWxpZCBvciBub3QuXG4gICAqL1xuICBwdWJsaWMgaXNDdXJyZW50U3RlcFZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU3RlcFZhbGlkKHRoaXMuYWN0aXZlU3RlcCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVmlzaWJsZVN0ZXBzU2VnbWVudHMoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2l2ZSQuZ2V0VmFsdWUoKSkgcmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLnZlcnRpY2FsID8gaGVpZ2h0IDogd2lkdGg7XG5cbiAgICBsZXQgdmlzaWJsZVN0ZXBzID0gMDtcbiAgICBsZXQgc3VtbWFyeVN0ZXBzU2l6ZSA9IDA7XG4gICAgY29uc3QgcHJvcCA9IHRoaXMudmVydGljYWwgPyAnZmxleC1iYXNpcycgOiAnbWluLXdpZHRoJztcbiAgICBjb25zdCBtaW5TdGVwU2l6ZSA9IHBhcnNlSW50KHRoaXMuZ2V0U3R5bGVGcm9tQ1NTKHRoaXMuc3RlcHMuZmlyc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBwcm9wKSk7XG5cbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKCkgPT4ge1xuICAgICAgc3VtbWFyeVN0ZXBzU2l6ZSArPSBtaW5TdGVwU2l6ZTtcbiAgICAgIGlmIChzdW1tYXJ5U3RlcHNTaXplIDwgY29udGFpbmVyU2l6ZSkgdmlzaWJsZVN0ZXBzKys7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmlzaWJsZVN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdHlsZUZyb21DU1MoZWw6IEhUTUxFbGVtZW50LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlU3RlcCgpOiB2b2lkIHtcbiAgICBjb25zdCB0b3VjaGVkOiBXaXphcmRTdGVwQ29tcG9uZW50W10gPSBbXTtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBzdGVwLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgc3RlcC5pc0xhc3RUb3VjaGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5hY3RpdmVTdGVwKCkgPT09IGluZGV4KSBzdGVwLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgc3RlcC50b3VjaGVkICYmIHRvdWNoZWQucHVzaChzdGVwKTtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCgpID09PSBpbmRleCAmJiAoc3RlcC5hY3RpdmUgPSB0cnVlKTtcbiAgICAgIHN0ZXAucGFzc2VkID0gaW5kZXggPD0gdGhpcy5hY3RpdmVTdGVwKCk7XG4gICAgfSk7XG4gICAgY29uc3QgbGFzdFRvdWNoZWQgPSB0b3VjaGVkLnBvcCgpO1xuICAgIGxhc3RUb3VjaGVkICYmIChsYXN0VG91Y2hlZC5pc0xhc3RUb3VjaGVkID0gdHJ1ZSk7XG4gICAgdGhpcy5zZXRIaWRkZW5TdGVwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGlja1N0ZXBTdWJzY3JpYmVyKCk6IHZvaWQge1xuICAgIG1lcmdlKC4uLnRoaXMuc3RlcHMubWFwKChzdGVwKSA9PiBzdGVwLnN0ZXBDaG9zZW4kKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLmRlc3Ryb3llZCgpLFxuICAgICAgICB0YXAoKHN0ZXApID0+IHRoaXMuY2hhbmdlU3RlcEhhbmRsZXIoc3RlcCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VTdGVwSGFuZGxlcihzdGVwOiBXaXphcmRTdGVwQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0ZXBzLnRvQXJyYXkoKS5pbmRleE9mKHN0ZXApO1xuICAgIGNvbnN0IGlzUHJldmlvdXNTdGVwVmFsaWQgPSB0aGlzLnN0ZXBzLmdldChpbmRleCAtIDEpPy52YWxpZDtcbiAgICBjb25zdCBpc0ZpcnN0U3RlcFRhcmdldCA9IGluZGV4ID09PSAwO1xuXG4gICAgaWYgKChpc1ByZXZpb3VzU3RlcFZhbGlkIHx8IGlzRmlyc3RTdGVwVGFyZ2V0KSAmJiBpbmRleCAhPT0gdGhpcy5hY3RpdmVTdGVwKCkpIHtcbiAgICAgIHRoaXMuYWN0aXZlU3RlcC5zZXQoaW5kZXgpO1xuICAgICAgdGhpcy5hY3RpdmVTdGVwQ2hhbmdlZC5lbWl0KHRoaXMuYWN0aXZlU3RlcCgpKTtcbiAgICAgIHRoaXMuc2V0QWN0aXZlU3RlcCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SGlkZGVuU3RlcHMoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5zdGVwcy5sZW5ndGg7XG5cbiAgICBbdGhpcy5kb3R0ZWRMaW5lU3RhcnQsIHRoaXMuZG90dGVkTGluZUVuZF0uZm9yRWFjaCgobCkgPT4gdGhpcy5zZXREb3R0ZWRMaW5lQWN0aXZlKGwsIHRydWUpKTtcblxuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmRvdHRlZExpbmVTdGFydCwgdGhpcy5zdGVwcy5nZXQoMSk/LmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZG90dGVkTGluZUVuZCwgdGhpcy5zdGVwcy5nZXQobGVuZ3RoIC0gMSk/LmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmFjdGl2ZVN0ZXAoKSA8IGxlbmd0aCAvIDI7XG4gICAgY29uc3Qgc3RlcHNGb3JIaWRlID0gdGhpcy5zdGVwcy50b0FycmF5KCkuc2xpY2UoMSwgLTEpO1xuICAgIGNvbnN0IHZpc2libGVTdGVwc1NlZ21lbnRzID0gdGhpcy52aXNpYmxlU3RlcHNTZWdtZW50cyAtIDI7XG4gICAgc3RlcHNGb3JIaWRlLmZvckVhY2goKHN0ZXAsIGkpID0+IHtcbiAgICAgIGlmIChsZW5ndGggPiB0aGlzLnZpc2libGVTdGVwc1NlZ21lbnRzKSB7XG4gICAgICAgIHN0ZXAudmlzaWJsZSA9IHN0YXJ0XG4gICAgICAgICAgPyBpIDwgdmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIHx8IHRoaXMuaXNOZWlnaGJvcnMoaSwgc3RlcHNGb3JIaWRlKVxuICAgICAgICAgIDogaSA+IHN0ZXBzRm9ySGlkZS5sZW5ndGggLSAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxKSB8fCB0aGlzLmlzTmVpZ2hib3JzKGksIHN0ZXBzRm9ySGlkZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGVwLnZpc2libGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGZpbHRlcmVkVmlzaWJsZVN0ZXBzID0gc3RlcHNGb3JIaWRlLmZpbHRlcigocykgPT4gcy52aXNpYmxlKTtcbiAgICBpZiAodmlzaWJsZVN0ZXBzU2VnbWVudHMgLSAxIDwgZmlsdGVyZWRWaXNpYmxlU3RlcHMubGVuZ3RoICYmIGxlbmd0aCA+IHRoaXMudmlzaWJsZVN0ZXBzU2VnbWVudHMpIHtcbiAgICAgIGNvbnN0IG92ZXJmbG93U2l6ZSA9IGZpbHRlcmVkVmlzaWJsZVN0ZXBzLmxlbmd0aCAtIHZpc2libGVTdGVwc1NlZ21lbnRzICsgMTtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3RhcnQgPyBvdmVyZmxvd1NpemUgOiBmaWx0ZXJlZFZpc2libGVTdGVwcy5sZW5ndGggLSBvdmVyZmxvd1NpemUgLSAxO1xuXG4gICAgICBmaWx0ZXJlZFZpc2libGVTdGVwcy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIChzdGFydCA/IGkgPD0gaW5kZXggOiBpID49IGluZGV4KSAmJiAhdGhpcy5pc05laWdoYm9ycyhpLCBmaWx0ZXJlZFZpc2libGVTdGVwcykgJiYgKHMudmlzaWJsZSA9IGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc3RlcHMubGFzdC5hY3RpdmUgJiYgKHN0ZXBzRm9ySGlkZVtzdGVwc0ZvckhpZGUubGVuZ3RoIC0gMV0udmlzaWJsZSA9IHRydWUpO1xuICAgIHRoaXMuc3RlcHMuZmlyc3QuYWN0aXZlICYmIChzdGVwc0ZvckhpZGVbMF0udmlzaWJsZSA9IHRydWUpO1xuXG4gICAgIXRoaXMuc3RlcHMuZ2V0KDEpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVTdGFydCk7XG4gICAgIXRoaXMuc3RlcHMuZ2V0KGxlbmd0aCAtIDIpPy52aXNpYmxlICYmIHRoaXMuc2V0RG90dGVkTGluZUFjdGl2ZSh0aGlzLmRvdHRlZExpbmVFbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05laWdoYm9ycyhpbmRleDogbnVtYmVyLCBzdGVwczogV2l6YXJkU3RlcENvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWN0aXZlU3RlcCA9IHN0ZXBzLmluZGV4T2Yoc3RlcHMuZmluZCgocykgPT4gcy5hY3RpdmUpIGFzIFdpemFyZFN0ZXBDb21wb25lbnQpO1xuICAgIHJldHVybiBhY3RpdmVTdGVwICE9PSAtMSAmJiAoaW5kZXggPT09IGFjdGl2ZVN0ZXAgLSAxIHx8IGluZGV4ID09PSBhY3RpdmVTdGVwICsgMSB8fCBpbmRleCA9PT0gYWN0aXZlU3RlcCk7XG4gIH1cblxuICBwcml2YXRlIHNldERvdHRlZExpbmVBY3RpdmUobGluZTogSFRNTEVsZW1lbnQsIHVuc2V0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHVuc2V0ID8gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhsaW5lLCAnb2R4LXdpemFyZC1zdGVwX19kb3R0ZWQtbGluZS0tYWN0aXZlJykgOiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxpbmUsICdvZHgtd2l6YXJkLXN0ZXBfX2RvdHRlZC1saW5lLS1hY3RpdmUnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LXdpemFyZC1zdGVwXCIgLz5cbiJdfQ==
|
|
@@ -7,7 +7,7 @@ import { CoreModule, WindowRef, DisabledController } from '@odx/angular';
|
|
|
7
7
|
import { CSSComponent, fastDeepEqual, CSSModifier } from '@odx/angular/internal';
|
|
8
8
|
import { createConfigTokens, isString, isPresent, injectElement, hasChanged, EventManager, deferFn, untilDestroyed, isFunction } from '@odx/angular/utils';
|
|
9
9
|
import { BehaviorSubject, shareReplay, map, filter, distinctUntilChanged, merge, defer, of, withLatestFrom, combineLatest } from 'rxjs';
|
|
10
|
-
import { isSameDay, isSameMonth, isSameYear, endOfDay, endOfMonth, endOfYear, startOfDay, startOfMonth, startOfYear, isValid, toDate, isBefore, isEqual, addMonths, subMonths, isWithinInterval, startOfWeek, addDays,
|
|
10
|
+
import { isSameDay, isSameMonth, isSameYear, endOfDay, endOfMonth, endOfYear, startOfDay, startOfMonth, startOfYear, isValid, toDate, isBefore, isEqual, addMonths, subMonths, isWithinInterval, startOfWeek, addDays, eachMonthOfInterval, addYears, getYear, setYear, subDays, subWeeks, addWeeks, setMonth, getMonth } from 'date-fns';
|
|
11
11
|
import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
12
12
|
import { ButtonComponent } from '@odx/angular/components/button';
|
|
13
13
|
import { IconComponent } from '@odx/angular/components/icon';
|
|
@@ -706,6 +706,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
706
706
|
class CalendarMonthService {
|
|
707
707
|
constructor() {
|
|
708
708
|
this.calendar = inject(CalendarService);
|
|
709
|
+
this.weeksInView = 6;
|
|
709
710
|
this.weekDays$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeekDays(date)));
|
|
710
711
|
this.weeks$ = this.calendar.activeDate$.pipe(map((date) => this.generateWeeks(date)));
|
|
711
712
|
}
|
|
@@ -715,12 +716,10 @@ class CalendarMonthService {
|
|
|
715
716
|
}
|
|
716
717
|
generateWeeks(date) {
|
|
717
718
|
const startOfTheSelectedMonth = startOfMonth(date);
|
|
718
|
-
const endOfTheSelectedMonth = endOfMonth(date);
|
|
719
719
|
const startDate = startOfWeek(startOfTheSelectedMonth, { weekStartsOn: 1 });
|
|
720
|
-
const endDate = endOfWeek(endOfTheSelectedMonth);
|
|
721
720
|
const allWeeks = [];
|
|
722
721
|
let currentDate = startDate;
|
|
723
|
-
|
|
722
|
+
for (let i = this.weeksInView; i > 0; i--) {
|
|
724
723
|
allWeeks.push(this.generateDaysForWeek(currentDate, date));
|
|
725
724
|
currentDate = addDays(currentDate, 7);
|
|
726
725
|
}
|