@acorex/core 7.17.27 → 7.17.29

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.
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export declare class AXCalendarService {
6
6
  private config;
7
7
  private _holidaysLoader;
8
+ private eventService;
8
9
  get calendar(): AXCalendar;
9
10
  private activeCalendar;
10
11
  calendarChanges$: import("rxjs").Observable<AXCalendar>;
@@ -3,6 +3,7 @@ import { BehaviorSubject, Subject } from 'rxjs';
3
3
  import { AX_DATETIME_CONFIG } from './dateTime.config';
4
4
  import { AXDateTime } from './datetime.class';
5
5
  import { AX_DATETIME_HOLIDAYS_LOADER } from './holidays.loader';
6
+ import { AXEventService, AXEventTypes } from '@acorex/core/events';
6
7
  import * as i0 from "@angular/core";
7
8
  export class AXCalendarService {
8
9
  get calendar() {
@@ -15,8 +16,11 @@ export class AXCalendarService {
15
16
  return this.activeCalendar.getValue();
16
17
  }
17
18
  setActiveCalendar(name) {
18
- const calendar = this.resolveCalendar(name);
19
- this.activeCalendar.next(calendar);
19
+ if (name != this.calendar.name()) {
20
+ const calendar = this.resolveCalendar(name);
21
+ this.activeCalendar.next(calendar);
22
+ this.eventService.emitEvent({ type: AXEventTypes.AXCalendarChanged, payload: this.getActiveCalendar() });
23
+ }
20
24
  }
21
25
  get holidays() {
22
26
  return this._holidays;
@@ -24,6 +28,7 @@ export class AXCalendarService {
24
28
  constructor() {
25
29
  this.config = inject(AX_DATETIME_CONFIG);
26
30
  this._holidaysLoader = inject(AX_DATETIME_HOLIDAYS_LOADER);
31
+ this.eventService = inject(AXEventService);
27
32
  this.activeCalendar = new BehaviorSubject(this.getDefaultCalendar());
28
33
  this.calendarChanges$ = this.activeCalendar.asObservable();
29
34
  this.onHolidaysChanged = new Subject();
@@ -83,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
83
88
  type: Injectable,
84
89
  args: [{ providedIn: 'root' }]
85
90
  }], ctorParameters: () => [] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlVGltZS9zcmMvbGliL2NhbGVuZGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxVQUFVLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQTBDLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBR3hHLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUtNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBSUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7UUE3QlEsV0FBTSxHQUFxQixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztR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QUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQzs7Z0JBQ3BFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztRQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLEtBQWMsQ0FBQztRQUN4RSxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQWpGVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVDb25maWcsIEFYX0RBVEVUSU1FX0NPTkZJRyB9IGZyb20gJy4vZGF0ZVRpbWUuY29uZmlnJztcbmltcG9ydCB7IEFYQ2FsZW5kYXIsIEFYRGF0ZVRpbWUsIEFYRGF0ZVZhbHVlIH0gZnJvbSAnLi9kYXRldGltZS5jbGFzcyc7XG5pbXBvcnQgeyBBWEhvbGlkYXlEYXRlLCBBWEhvbGlkYXlzTG9hZGVyT3B0aW9ucywgQVhfREFURVRJTUVfSE9MSURBWVNfTE9BREVSIH0gZnJvbSAnLi9ob2xpZGF5cy5sb2FkZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWc6IEFYRGF0ZVRpbWVDb25maWcgPSBpbmplY3QoQVhfREFURVRJTUVfQ09ORklHKTtcbiAgcHJpdmF0ZSBfaG9saWRheXNMb2FkZXIgPSBpbmplY3QoQVhfREFURVRJTUVfSE9MSURBWVNfTE9BREVSKTtcblxuICBwdWJsaWMgZ2V0IGNhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZUNhbGVuZGFyKCk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2ZUNhbGVuZGFyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWENhbGVuZGFyPih0aGlzLmdldERlZmF1bHRDYWxlbmRhcigpKTtcbiAgY2FsZW5kYXJDaGFuZ2VzJCA9IHRoaXMuYWN0aXZlQ2FsZW5kYXIuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGdldERlZmF1bHRDYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY2FsZW5kYXJzW3RoaXMuY29uZmlnLmNhbGVuZGFyXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3RpdmVDYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDYWxlbmRhci5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGl2ZUNhbGVuZGFyKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5yZXNvbHZlQ2FsZW5kYXIobmFtZSk7XG4gICAgdGhpcy5hY3RpdmVDYWxlbmRhci5uZXh0KGNhbGVuZGFyKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhvbGlkYXlzQ2hhbmdlZDogU3ViamVjdDxBWEhvbGlkYXlEYXRlW10+ID0gbmV3IFN1YmplY3Q8QVhIb2xpZGF5RGF0ZVtdPigpO1xuICBwcml2YXRlIF9ob2xpZGF5czogQVhIb2xpZGF5RGF0ZVtdID0gW107XG4gIHB1YmxpYyBnZXQgaG9saWRheXMoKTogQVhIb2xpZGF5RGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5faG9saWRheXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRIb2xpZGF5cygpO1xuICB9XG5cbiAgcHVibGljIGxvYWRIb2xpZGF5cyhvcHRpb25zPzogQVhIb2xpZGF5c0xvYWRlck9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5faG9saWRheXNMb2FkZXIuZ2V0SG9saWRheXMob3B0aW9ucykudGhlbigodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuX2hvbGlkYXlzID0gdmFsdWU7XG4gICAgICB0aGlzLm9uSG9saWRheXNDaGFuZ2VkLm5leHQodGhpcy5faG9saWRheXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWU7XG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IERhdGUsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWU7XG4gIHB1YmxpYyBjcmVhdGUodmFsdWU6IEFYRGF0ZVZhbHVlIHwgRGF0ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZSB7XG4gICAgY29uc3QgY2FsZW5kYXIgPSBjYWxlbmRhck5hbWUgPyB0aGlzLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhck5hbWUpIDogdGhpcy5jYWxlbmRhcjtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUodmFsdWUsIGNhbGVuZGFyKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlPy55ZWFyICYmIHZhbHVlPy5tb250aCkge1xuICAgICAgcmV0dXJuIGNhbGVuZGFyLmNyZWF0ZSh2YWx1ZSBhcyBBWERhdGVWYWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5vdygpO1xuICB9XG5cbiAgcHVibGljIG5vdyhjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCBjYWxlbmRhcik7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZUNhbGVuZGFyKG5hbWU6IHN0cmluZyk6IEFYQ2FsZW5kYXIge1xuICAgIGNvbnN0IGMgPSB0aGlzLmNvbmZpZy5jYWxlbmRhcnNbbmFtZV07XG4gICAgaWYgKCFjKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBcIiR7bmFtZX1cIiBpcyBub3QgYSB2YWxpZCBjYWxlbmRhciBuYW1lIWApO1xuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gICAgfVxuICAgIHJldHVybiBjO1xuICB9XG5cbiAgcHVibGljIGNvbnZlcnQodmFsdWU6IERhdGUgfCBBWERhdGVUaW1lIHwgc3RyaW5nLCBjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBpc0lTT1N0cmluZyA9IChzdHIpID0+IHtcbiAgICAgIGlmICghL1xcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9KC5cXGR7M31aKT8vLnRlc3Qoc3RyKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHN0cik7XG4gICAgICByZXR1cm4gZCBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGQuZ2V0VGltZSgpKTsgLy8gdmFsaWQgZGF0ZVxuICAgIH07XG4gICAgLy9cbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoaXNJU09TdHJpbmcodmFsdWUpKSByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUodmFsdWUpLCBjYWxlbmRhcik7XG4gICAgICBlbHNlIHJldHVybiBjYWxlbmRhci5wYXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSB2YWx1ZSBpbnN0YW5jZW9mIEFYRGF0ZVRpbWUgPyB2YWx1ZS5kYXRlIDogKHZhbHVlIGFzIERhdGUpO1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShkYXRlLCBjYWxlbmRhcik7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlVGltZS9zcmMvbGliL2NhbGVuZGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxVQUFVLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQTBDLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBS00sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBWTtRQUNuQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsSUFB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WSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhO1FBQ2hFLENBQUMsQ0FBQztRQUNGLEVBQUU7UUFDRixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbkYsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7O2dCQUNwRSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxLQUFjLENBQUM7UUFDeEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0F0RlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lQ29uZmlnLCBBWF9EQVRFVElNRV9DT05GSUcgfSBmcm9tICcuL2RhdGVUaW1lLmNvbmZpZyc7XG5pbXBvcnQgeyBBWENhbGVuZGFyLCBBWERhdGVUaW1lLCBBWERhdGVWYWx1ZSB9IGZyb20gJy4vZGF0ZXRpbWUuY2xhc3MnO1xuaW1wb3J0IHsgQVhIb2xpZGF5RGF0ZSwgQVhIb2xpZGF5c0xvYWRlck9wdGlvbnMsIEFYX0RBVEVUSU1FX0hPTElEQVlTX0xPQURFUiB9IGZyb20gJy4vaG9saWRheXMubG9hZGVyJztcbmltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWEV2ZW50VHlwZXMgfSBmcm9tICdAYWNvcmV4L2NvcmUvZXZlbnRzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBBWERhdGVUaW1lQ29uZmlnID0gaW5qZWN0KEFYX0RBVEVUSU1FX0NPTkZJRyk7XG4gIHByaXZhdGUgX2hvbGlkYXlzTG9hZGVyID0gaW5qZWN0KEFYX0RBVEVUSU1FX0hPTElEQVlTX0xPQURFUik7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYRXZlbnRTZXJ2aWNlKTtcblxuXG4gIHB1YmxpYyBnZXQgY2FsZW5kYXIoKTogQVhDYWxlbmRhciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlQ2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZlQ2FsZW5kYXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYQ2FsZW5kYXI+KHRoaXMuZ2V0RGVmYXVsdENhbGVuZGFyKCkpO1xuICBjYWxlbmRhckNoYW5nZXMkID0gdGhpcy5hY3RpdmVDYWxlbmRhci5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgZ2V0RGVmYXVsdENhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jYWxlbmRhcnNbdGhpcy5jb25maWcuY2FsZW5kYXJdO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUNhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUNhbGVuZGFyLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlQ2FsZW5kYXIobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG5hbWUgIT0gdGhpcy5jYWxlbmRhci5uYW1lKCkpIHtcbiAgICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5yZXNvbHZlQ2FsZW5kYXIobmFtZSk7XG4gICAgICB0aGlzLmFjdGl2ZUNhbGVuZGFyLm5leHQoY2FsZW5kYXIpO1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdEV2ZW50KHsgdHlwZTogQVhFdmVudFR5cGVzLkFYQ2FsZW5kYXJDaGFuZ2VkLCBwYXlsb2FkOiB0aGlzLmdldEFjdGl2ZUNhbGVuZGFyKCkgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSG9saWRheXNDaGFuZ2VkOiBTdWJqZWN0PEFYSG9saWRheURhdGVbXT4gPSBuZXcgU3ViamVjdDxBWEhvbGlkYXlEYXRlW10+KCk7XG4gIHByaXZhdGUgX2hvbGlkYXlzOiBBWEhvbGlkYXlEYXRlW10gPSBbXTtcbiAgcHVibGljIGdldCBob2xpZGF5cygpOiBBWEhvbGlkYXlEYXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9hZEhvbGlkYXlzKCk7XG4gIH1cblxuICBwdWJsaWMgbG9hZEhvbGlkYXlzKG9wdGlvbnM/OiBBWEhvbGlkYXlzTG9hZGVyT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5c0xvYWRlci5nZXRIb2xpZGF5cyhvcHRpb25zKS50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5faG9saWRheXMgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25Ib2xpZGF5c0NoYW5nZWQubmV4dCh0aGlzLl9ob2xpZGF5cyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBBWERhdGVWYWx1ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogRGF0ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUgfCBEYXRlLCBjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZSh2YWx1ZSwgY2FsZW5kYXIpO1xuICAgIH0gZWxzZSBpZiAodmFsdWU/LnllYXIgJiYgdmFsdWU/Lm1vbnRoKSB7XG4gICAgICByZXR1cm4gY2FsZW5kYXIuY3JlYXRlKHZhbHVlIGFzIEFYRGF0ZVZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm93KCk7XG4gIH1cblxuICBwdWJsaWMgbm93KGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWUge1xuICAgIGNvbnN0IGNhbGVuZGFyID0gY2FsZW5kYXJOYW1lID8gdGhpcy5yZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXJOYW1lKSA6IHRoaXMuY2FsZW5kYXI7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIGNhbGVuZGFyKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlQ2FsZW5kYXIobmFtZTogc3RyaW5nKTogQVhDYWxlbmRhciB7XG4gICAgY29uc3QgYyA9IHRoaXMuY29uZmlnLmNhbGVuZGFyc1tuYW1lXTtcbiAgICBpZiAoIWMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFwiJHtuYW1lfVwiIGlzIG5vdCBhIHZhbGlkIGNhbGVuZGFyIG5hbWUhYCk7XG4gICAgICByZXR1cm4gdGhpcy5jYWxlbmRhcjtcbiAgICB9XG4gICAgcmV0dXJuIGM7XG4gIH1cblxuICBwdWJsaWMgY29udmVydCh2YWx1ZTogRGF0ZSB8IEFYRGF0ZVRpbWUgfCBzdHJpbmcsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWUge1xuICAgIGNvbnN0IGlzSVNPU3RyaW5nID0gKHN0cikgPT4ge1xuICAgICAgaWYgKCEvXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0oLlxcZHszfVopPy8udGVzdChzdHIpKSByZXR1cm4gZmFsc2U7XG4gICAgICBjb25zdCBkID0gbmV3IERhdGUoc3RyKTtcbiAgICAgIHJldHVybiBkIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZC5nZXRUaW1lKCkpOyAvLyB2YWxpZCBkYXRlXG4gICAgfTtcbiAgICAvL1xuICAgIGNvbnN0IGNhbGVuZGFyID0gY2FsZW5kYXJOYW1lID8gdGhpcy5yZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXJOYW1lKSA6IHRoaXMuY2FsZW5kYXI7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpc0lTT1N0cmluZyh2YWx1ZSkpIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSh2YWx1ZSksIGNhbGVuZGFyKTtcbiAgICAgIGVsc2UgcmV0dXJuIGNhbGVuZGFyLnBhcnNlKHZhbHVlKTtcbiAgICB9XG4gICAgY29uc3QgZGF0ZSA9IHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSA/IHZhbHVlLmRhdGUgOiAodmFsdWUgYXMgRGF0ZSk7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGRhdGUsIGNhbGVuZGFyKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './lib/event.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZXZlbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZXZlbnQuc2VydmljZSc7XG4iXX0=
2
+ export * from './lib/event.type';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZXZlbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ldmVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V2ZW50LnR5cGUnO1xuIl19
@@ -1,9 +1,16 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export class AXEventService {
4
5
  constructor() {
6
+ this.eventSubject = new Subject();
7
+ // Observable property
8
+ this.onEvent = this.eventSubject.asObservable();
5
9
  this.list = [];
6
10
  }
11
+ emitEvent(event) {
12
+ this.eventSubject.next(event);
13
+ }
7
14
  broadcast(key, options) {
8
15
  const d = this.list.find((c) => c.key === key);
9
16
  if (d) {
@@ -33,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
33
40
  type: Injectable,
34
41
  args: [{ providedIn: 'root' }]
35
42
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ldmVudHMvc3JjL2xpYi9ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsU0FBSSxHQUFVLEVBQUUsQ0FBQztLQTBCMUI7SUF4QlEsU0FBUyxDQUFDLEdBQVcsRUFBRSxPQUFhO1FBQ3pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDMUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxFQUFFLENBQUMsR0FBVyxFQUFFLFFBQWlDO1FBQ3RELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDM0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNmO0lBQ0gsQ0FBQzs4R0ExQlUsY0FBYztrSEFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsaXN0OiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBicm9hZGNhc3Qoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cy5mb3JFYWNoKChjOiBhbnkpID0+IHtcbiAgICAgICAgYyhvcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbihrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKSB7XG4gICAgbGV0IGQgPSB0aGlzLmxpc3QuZmluZCgoYykgPT4gYy5rZXkgPT09IGtleSk7XG4gICAgaWYgKCFkKSB7XG4gICAgICBkID0geyBrZXksIGV2ZW50czogW10gfTtcbiAgICAgIHRoaXMubGlzdC5wdXNoKGQpO1xuICAgIH1cbiAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KGtleTogc3RyaW5nLCBjYWxsYmFjazogKG9wdGlvbnM/OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ldmVudHMvc3JjL2xpYi9ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXM0MsTUFBTSxPQUFPLGNBQWM7SUFEM0I7UUFHVSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDbEQsc0JBQXNCO1FBQ2YsWUFBTyxHQUE0QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBT25FLFNBQUksR0FBVSxFQUFFLENBQUM7S0EwQjFCO0lBL0JDLFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBS00sU0FBUyxDQUFDLEdBQVcsRUFBRSxPQUFhO1FBQ3pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDMUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxFQUFFLENBQUMsR0FBVyxFQUFFLFFBQWlDO1FBQ3RELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDTixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDM0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNmO0lBQ0gsQ0FBQzs4R0FwQ1UsY0FBYztrSEFBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBBWEV2ZW50RGF0YSB7XG4gIHR5cGU6IHN0cmluZztcbiAgcGF5bG9hZD86IGFueTtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcblxuICBwcml2YXRlIGV2ZW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PEFYRXZlbnREYXRhPigpO1xuICAvLyBPYnNlcnZhYmxlIHByb3BlcnR5XG4gIHB1YmxpYyBvbkV2ZW50OiBPYnNlcnZhYmxlPEFYRXZlbnREYXRhPiA9IHRoaXMuZXZlbnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGVtaXRFdmVudChldmVudDogQVhFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBsaXN0OiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBicm9hZGNhc3Qoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cy5mb3JFYWNoKChjOiBhbnkpID0+IHtcbiAgICAgICAgYyhvcHRpb25zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbihrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKSB7XG4gICAgbGV0IGQgPSB0aGlzLmxpc3QuZmluZCgoYykgPT4gYy5rZXkgPT09IGtleSk7XG4gICAgaWYgKCFkKSB7XG4gICAgICBkID0geyBrZXksIGV2ZW50czogW10gfTtcbiAgICAgIHRoaXMubGlzdC5wdXNoKGQpO1xuICAgIH1cbiAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KGtleTogc3RyaW5nLCBjYWxsYmFjazogKG9wdGlvbnM/OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoKGMpID0+IGMua2V5ID09PSBrZXkpO1xuICAgIGlmIChkKSB7XG4gICAgICBkLmV2ZW50cyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export const AXEventTypes = {
2
+ AXLanguageChanged: 'AX_LANGUAGE_CHANGED',
3
+ AXLanguageLoaded: 'AX_LANGUAGE_LOADED',
4
+ AXCalendarChanged: 'AX_CALENDAR_CHANGED',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ldmVudHMvc3JjL2xpYi9ldmVudC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixpQkFBaUIsRUFBRSxxQkFBcUI7SUFDeEMsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDLGlCQUFpQixFQUFFLHFCQUFxQjtDQUMzQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYRXZlbnRUeXBlcyA9IHtcbiAgICBBWExhbmd1YWdlQ2hhbmdlZDogJ0FYX0xBTkdVQUdFX0NIQU5HRUQnLFxuICAgIEFYTGFuZ3VhZ2VMb2FkZWQ6ICdBWF9MQU5HVUFHRV9MT0FERUQnLFxuICAgIEFYQ2FsZW5kYXJDaGFuZ2VkOiAnQVhfQ0FMRU5EQVJfQ0hBTkdFRCcsXG59Il19
@@ -1,21 +1,33 @@
1
1
  import { Pipe, inject } from '@angular/core';
2
2
  import { AXFormatService } from './format.service';
3
+ import { filter, of, startWith, switchMap } from 'rxjs';
4
+ import { AXEventService } from '@acorex/core/events';
3
5
  import * as i0 from "@angular/core";
4
6
  export class AXFormatPipe {
5
7
  constructor() {
6
8
  this.formatService = inject(AXFormatService);
9
+ this.eventService = inject(AXEventService);
10
+ this.triggers = ['AX_CALENDAR_CHANGED', 'AX_LANGUAGE_CHANGED', 'AX_LANGUAGE_LOADED'];
7
11
  }
8
12
  transform(value, name, options) {
9
- return this.formatService.format(value, name, options);
13
+ // Initial formatted value
14
+ const initialFormattedValue = this.formatService.format(value, name, options);
15
+ // React to language changes and re-format the value
16
+ return this.eventService.onEvent.pipe(filter((event) => this.triggers.includes(event.type)), startWith(initialFormattedValue), // Emit the initial formatted value immediately
17
+ switchMap((event) => {
18
+ // Re-call format method on every language change
19
+ const formattedValue = this.formatService.format(value, name, options);
20
+ return of(formattedValue);
21
+ }));
10
22
  }
11
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, name: "format", pure: false }); }
24
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, name: "format" }); }
13
25
  }
14
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXFormatPipe, decorators: [{
15
27
  type: Pipe,
16
28
  args: [{
17
29
  name: 'format',
18
- pure: false,
30
+ pure: true
19
31
  }]
20
32
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPbkQsTUFBTSxPQUFPLFlBQVk7SUFKekI7UUFLVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUtqRDtJQUhDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFFLE9BQWtDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDOzhHQUxVLFlBQVk7NEdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtYXQuc2VydmljZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE9wdGlvbnMgfSBmcm9tICcuL2Zvcm1hdC50eXBlcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1hdCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnMgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCBuYW1lIGFzIGFueSwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxPQUFPLEVBQWMsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLFlBQVk7SUFKekI7UUFLVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO0tBaUJ4RjtJQWZDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsSUFBWSxFQUFFLE9BQWtDO1FBQ3hFLDBCQUEwQjtRQUMxQixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckYsb0RBQW9EO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuQyxNQUFNLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDbEUsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsK0NBQStDO1FBQ2pGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xCLGlEQUFpRDtZQUNqRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXBCVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJy4vZm9ybWF0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhGb3JtYXRPcHRpb25zIH0gZnJvbSAnLi9mb3JtYXQudHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWEV2ZW50RGF0YSB9IGZyb20gJ0BhY29yZXgvY29yZS9ldmVudHMnO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1hdCcsXG4gIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQVhGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG5cbiAgcHJpdmF0ZSB0cmlnZ2VycyA9IFsnQVhfQ0FMRU5EQVJfQ0hBTkdFRCcsICdBWF9MQU5HVUFHRV9DSEFOR0VEJywgJ0FYX0xBTkdVQUdFX0xPQURFRCddXG5cbiAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnMgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIC8vIEluaXRpYWwgZm9ybWF0dGVkIHZhbHVlXG4gICAgY29uc3QgaW5pdGlhbEZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh2YWx1ZSwgbmFtZSBhcyBhbnksIG9wdGlvbnMpO1xuXG4gICAgLy8gUmVhY3QgdG8gbGFuZ3VhZ2UgY2hhbmdlcyBhbmQgcmUtZm9ybWF0IHRoZSB2YWx1ZVxuICAgIHJldHVybiB0aGlzLmV2ZW50U2VydmljZS5vbkV2ZW50LnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBBWEV2ZW50RGF0YSkgPT4gdGhpcy50cmlnZ2Vycy5pbmNsdWRlcyhldmVudC50eXBlKSksXG4gICAgICBzdGFydFdpdGgoaW5pdGlhbEZvcm1hdHRlZFZhbHVlKSwgLy8gRW1pdCB0aGUgaW5pdGlhbCBmb3JtYXR0ZWQgdmFsdWUgaW1tZWRpYXRlbHlcbiAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgLy8gUmUtY2FsbCBmb3JtYXQgbWV0aG9kIG9uIGV2ZXJ5IGxhbmd1YWdlIGNoYW5nZVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodmFsdWUsIG5hbWUgYXMgYW55LCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIG9mKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { Injectable, Injector } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export class AXFormatterRegistryService {
4
5
  constructor(injector) {
@@ -29,6 +30,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
29
30
  export class AXFormatService {
30
31
  constructor(pluginRegistry) {
31
32
  this.pluginRegistry = pluginRegistry;
33
+ this.renderSubject = new Subject();
34
+ // Observable that other services/components can subscribe to
35
+ this.onRender = this.renderSubject.asObservable();
36
+ }
37
+ render() {
38
+ this.renderSubject.next();
32
39
  }
33
40
  /**
34
41
  * Resolves a formatter by its name.
@@ -82,4 +89,4 @@ class AXFormatFluent {
82
89
  }
83
90
  }
84
91
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3JELE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFBWSxRQUFrQjtRQUp0QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUtsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQUcsT0FBa0M7UUFDNUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JILE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzhHQXRCVSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQTJCRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNVLGNBQTBDO1FBQTFDLG1CQUFjLEdBQWQsY0FBYyxDQUE0QjtJQUNoRCxDQUFDO0lBRUw7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLElBQVk7UUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQVlELHNDQUFzQztJQUN0QyxNQUFNLENBQ0osS0FBYyxFQUNkLFNBQWEsRUFDYixPQUErQjtRQUUvQixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUNqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDOzhHQXhDVSxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBNkNsQyxNQUFNLGNBQWM7SUFFbEIsWUFBb0IsYUFBOEIsRUFBVSxZQUFxQjtRQUE3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBUztJQUFJLENBQUM7SUFFdEY7Ozs7O1FBS0k7SUFDSixFQUFFLENBQXFDLFNBQVksRUFBRSxPQUErQjtRQUNsRixJQUFJO1lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRSxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2Qsb0NBQW9DO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXQuY29uZmlnJztcbmltcG9ydCB7IEFYRm9ybWF0T3B0aW9uc01hcCB9IGZyb20gJy4vZm9ybWF0LnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2Uge1xuICBwcml2YXRlIHBsdWdpbnM6IEFYRm9ybWF0dGVyW10gPSBbXTtcblxuICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcjtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmluamVjdG9yID0gaW5qZWN0b3I7XG4gIH1cblxuICByZWdpc3RlciguLi5wbHVnaW5zOiAobmV3ICgpID0+IEFYRm9ybWF0dGVyKVtdKSB7XG4gICAgcGx1Z2lucy5mb3JFYWNoKHQgPT4ge1xuICAgICAgY29uc3QgY2hpbGRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogdCwgdXNlQ2xhc3M6IHQsIGRlcHM6IFtdIH1dLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgICBjb25zdCB2ID0gY2hpbGRJbmplY3Rvci5nZXQodCk7XG5cbiAgICAgIGlmICh2ICYmICF0aGlzLnBsdWdpbnMuc29tZShwID0+IHAubmFtZSA9PSB2Lm5hbWUpKSB7XG4gICAgICAgIHRoaXMucGx1Z2lucy5wdXNoKHYpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXQgZm9ybWF0dGVycygpOiBBWEZvcm1hdHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW5zO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhGb3JtYXRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW5SZWdpc3RyeTogQVhGb3JtYXR0ZXJSZWdpc3RyeVNlcnZpY2VcbiAgKSB7IH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSBmb3JtYXR0ZXIgYnkgaXRzIG5hbWUuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBmb3JtYXR0ZXIuXG4gICAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZXIgaWYgZm91bmQsIG90aGVyd2lzZSB0aHJvd3MgYW4gZXJyb3IuXG4gICAqL1xuICByZXNvbHZlRm9ybWF0dGVyKG5hbWU6IHN0cmluZyk6IEFYRm9ybWF0dGVyIHtcbiAgICBjb25zdCBmb3JtYXR0ZXIgPSB0aGlzLnBsdWdpblJlZ2lzdHJ5LmZvcm1hdHRlcnMuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpO1xuICAgIGlmICghZm9ybWF0dGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvcm1hdHRlciBub3QgZm91bmQ6ICR7bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdHRlcjtcbiAgfVxuXG4gIC8vIE92ZXJsb2FkIGZvciB0cmFkaXRpb25hbCBmb3JtYXR0aW5nXG4gIGZvcm1hdDxLIGV4dGVuZHMga2V5b2YgQVhGb3JtYXRPcHRpb25zTWFwPihcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICBuYW1lOiBLLFxuICAgIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnNNYXBbS11cbiAgKTogc3RyaW5nO1xuXG4gIC8vIE92ZXJsb2FkIGZvciBzdGFydGluZyBmbHVlbnQgQVBJIGNoYWluXG4gIGZvcm1hdCh2YWx1ZTogdW5rbm93bik6IEFYRm9ybWF0Rmx1ZW50O1xuXG4gIC8vIEltcGxlbWVudGF0aW9uIG9mIHRoZSBmb3JtYXQgbWV0aG9kXG4gIGZvcm1hdDxLIGV4dGVuZHMga2V5b2YgQVhGb3JtYXRPcHRpb25zTWFwPihcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICBmb3JtYXR0ZXI/OiBLLFxuICAgIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnNNYXBbS11cbiAgKTogc3RyaW5nIHwgQVhGb3JtYXRGbHVlbnQge1xuICAgIGlmICh0eXBlb2YgZm9ybWF0dGVyID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZm9ybWF0dGVyUmVmID0gdGhpcy5yZXNvbHZlRm9ybWF0dGVyKGZvcm1hdHRlcik7XG4gICAgICByZXR1cm4gZm9ybWF0dGVyUmVmLmZvcm1hdCh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgQVhGb3JtYXRGbHVlbnQodGhpcywgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5cbmNsYXNzIEFYRm9ybWF0Rmx1ZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZSwgcHJpdmF0ZSBpbml0aWFsVmFsdWU6IHVua25vd24pIHsgfVxuXG4gIC8qKlxuICAgICogRm9ybWF0cyB0aGUgdmFsdWUgdXNpbmcgdGhlIHNwZWNpZmllZCBmb3JtYXR0ZXIgYW5kIG9wdGlvbnMuXG4gICAgKiBAcGFyYW0gZm9ybWF0dGVyIFRoZSBuYW1lIG9mIHRoZSBmb3JtYXR0ZXIgdG8gdXNlLlxuICAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgZm9ybWF0dGVyLlxuICAgICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBzdHJpbmcuXG4gICAgKi9cbiAgdG88SyBleHRlbmRzIGtleW9mIEFYRm9ybWF0T3B0aW9uc01hcD4oZm9ybWF0dGVyOiBLLCBvcHRpb25zPzogQVhGb3JtYXRPcHRpb25zTWFwW0tdKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZm9ybWF0dGVyUmVmID0gdGhpcy5mb3JtYXRTZXJ2aWNlLnJlc29sdmVGb3JtYXR0ZXIoZm9ybWF0dGVyKTtcbiAgICAgIHJldHVybiBmb3JtYXR0ZXJSZWYuZm9ybWF0KHRoaXMuaW5pdGlhbFZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIG9yIGxvZyB0aGUgZXJyb3IgYXMgbmVlZGVkXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiBTdHJpbmcodGhpcy5pbml0aWFsVmFsdWUpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybWF0L3NyYy9saWIvZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFZLFFBQWtCO1FBSnRCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBS2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxPQUFrQztRQUM1QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDckgsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7OEdBdEJVLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBMkJELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsY0FBMEM7UUFBMUMsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBSTVDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1Qyw2REFBNkQ7UUFDN0QsYUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFOekMsQ0FBQztJQVNMLE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBWUQsc0NBQXNDO0lBQ3RDLE1BQU0sQ0FDSixLQUFjLEVBQ2QsU0FBYSxFQUNiLE9BQStCO1FBRS9CLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7OEdBcERVLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUF5RGxDLE1BQU0sY0FBYztJQUVsQixZQUFvQixhQUE4QixFQUFVLFlBQXFCO1FBQTdELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFTO0lBQUksQ0FBQztJQUV0Rjs7Ozs7UUFLSTtJQUNKLEVBQUUsQ0FBcUMsU0FBWSxFQUFFLE9BQStCO1FBQ2xGLElBQUk7WUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3hEO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxvQ0FBb0M7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdC5jb25maWcnO1xuaW1wb3J0IHsgQVhGb3JtYXRPcHRpb25zTWFwIH0gZnJvbSAnLi9mb3JtYXQudHlwZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZSB7XG4gIHByaXZhdGUgcGx1Z2luczogQVhGb3JtYXR0ZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgfVxuXG4gIHJlZ2lzdGVyKC4uLnBsdWdpbnM6IChuZXcgKCkgPT4gQVhGb3JtYXR0ZXIpW10pIHtcbiAgICBwbHVnaW5zLmZvckVhY2godCA9PiB7XG4gICAgICBjb25zdCBjaGlsZEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiB0LCB1c2VDbGFzczogdCwgZGVwczogW10gfV0sIHBhcmVudDogdGhpcy5pbmplY3RvciB9KTtcbiAgICAgIGNvbnN0IHYgPSBjaGlsZEluamVjdG9yLmdldCh0KTtcblxuICAgICAgaWYgKHYgJiYgIXRoaXMucGx1Z2lucy5zb21lKHAgPT4gcC5uYW1lID09IHYubmFtZSkpIHtcbiAgICAgICAgdGhpcy5wbHVnaW5zLnB1c2godik7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldCBmb3JtYXR0ZXJzKCk6IEFYRm9ybWF0dGVyW10ge1xuICAgIHJldHVybiB0aGlzLnBsdWdpbnM7XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWEZvcm1hdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpblJlZ2lzdHJ5OiBBWEZvcm1hdHRlclJlZ2lzdHJ5U2VydmljZVxuICApIHsgfVxuXG5cbiAgcHJpdmF0ZSByZW5kZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyBPYnNlcnZhYmxlIHRoYXQgb3RoZXIgc2VydmljZXMvY29tcG9uZW50cyBjYW4gc3Vic2NyaWJlIHRvXG4gIG9uUmVuZGVyID0gdGhpcy5yZW5kZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG5cbiAgcmVuZGVyKCkge1xuICAgIHRoaXMucmVuZGVyU3ViamVjdC5uZXh0KCk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIGZvcm1hdHRlciBieSBpdHMgbmFtZS5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGZvcm1hdHRlci5cbiAgICogQHJldHVybnMgVGhlIGZvcm1hdHRlciBpZiBmb3VuZCwgb3RoZXJ3aXNlIHRocm93cyBhbiBlcnJvci5cbiAgICovXG4gIHJlc29sdmVGb3JtYXR0ZXIobmFtZTogc3RyaW5nKTogQVhGb3JtYXR0ZXIge1xuICAgIGNvbnN0IGZvcm1hdHRlciA9IHRoaXMucGx1Z2luUmVnaXN0cnkuZm9ybWF0dGVycy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG4gICAgaWYgKCFmb3JtYXR0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRm9ybWF0dGVyIG5vdCBmb3VuZDogJHtuYW1lfWApO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVyO1xuICB9XG5cbiAgLy8gT3ZlcmxvYWQgZm9yIHRyYWRpdGlvbmFsIGZvcm1hdHRpbmdcbiAgZm9ybWF0PEsgZXh0ZW5kcyBrZXlvZiBBWEZvcm1hdE9wdGlvbnNNYXA+KFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIG5hbWU6IEssXG4gICAgb3B0aW9ucz86IEFYRm9ybWF0T3B0aW9uc01hcFtLXVxuICApOiBzdHJpbmc7XG5cbiAgLy8gT3ZlcmxvYWQgZm9yIHN0YXJ0aW5nIGZsdWVudCBBUEkgY2hhaW5cbiAgZm9ybWF0KHZhbHVlOiB1bmtub3duKTogQVhGb3JtYXRGbHVlbnQ7XG5cbiAgLy8gSW1wbGVtZW50YXRpb24gb2YgdGhlIGZvcm1hdCBtZXRob2RcbiAgZm9ybWF0PEsgZXh0ZW5kcyBrZXlvZiBBWEZvcm1hdE9wdGlvbnNNYXA+KFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGZvcm1hdHRlcj86IEssXG4gICAgb3B0aW9ucz86IEFYRm9ybWF0T3B0aW9uc01hcFtLXVxuICApOiBzdHJpbmcgfCBBWEZvcm1hdEZsdWVudCB7XG4gICAgaWYgKHR5cGVvZiBmb3JtYXR0ZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZXJSZWYgPSB0aGlzLnJlc29sdmVGb3JtYXR0ZXIoZm9ybWF0dGVyKTtcbiAgICAgIHJldHVybiBmb3JtYXR0ZXJSZWYuZm9ybWF0KHZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBBWEZvcm1hdEZsdWVudCh0aGlzLCB2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cblxuY2xhc3MgQVhGb3JtYXRGbHVlbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybWF0U2VydmljZTogQVhGb3JtYXRTZXJ2aWNlLCBwcml2YXRlIGluaXRpYWxWYWx1ZTogdW5rbm93bikgeyB9XG5cbiAgLyoqXG4gICAgKiBGb3JtYXRzIHRoZSB2YWx1ZSB1c2luZyB0aGUgc3BlY2lmaWVkIGZvcm1hdHRlciBhbmQgb3B0aW9ucy5cbiAgICAqIEBwYXJhbSBmb3JtYXR0ZXIgVGhlIG5hbWUgb2YgdGhlIGZvcm1hdHRlciB0byB1c2UuXG4gICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBwYXNzIHRvIHRoZSBmb3JtYXR0ZXIuXG4gICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHN0cmluZy5cbiAgICAqL1xuICB0bzxLIGV4dGVuZHMga2V5b2YgQVhGb3JtYXRPcHRpb25zTWFwPihmb3JtYXR0ZXI6IEssIG9wdGlvbnM/OiBBWEZvcm1hdE9wdGlvbnNNYXBbS10pOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZXJSZWYgPSB0aGlzLmZvcm1hdFNlcnZpY2UucmVzb2x2ZUZvcm1hdHRlcihmb3JtYXR0ZXIpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlclJlZi5mb3JtYXQodGhpcy5pbml0aWFsVmFsdWUsIG9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBIYW5kbGUgb3IgbG9nIHRoZSBlcnJvciBhcyBuZWVkZWRcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLmluaXRpYWxWYWx1ZSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,8 +1,9 @@
1
1
  import { Injectable, inject } from '@angular/core';
2
- import { BehaviorSubject, catchError, forkJoin, map, of, switchMap, tap } from 'rxjs';
2
+ import { BehaviorSubject, catchError, finalize, forkJoin, map, of, shareReplay, startWith, switchMap, tap } from 'rxjs';
3
3
  import { AX_TRANSLATION_LOADER } from './translation.loader';
4
4
  import { set as lodashSet, get as lodashGet } from 'lodash-es';
5
5
  import { AX_TRANSLATION_CONFIG } from './translation.config';
6
+ import { AXEventService, AXEventTypes } from '@acorex/core/events';
6
7
  import * as i0 from "@angular/core";
7
8
  let service;
8
9
  export function translateSync(key, options) {
@@ -15,22 +16,41 @@ export class AXTranslationService {
15
16
  constructor() {
16
17
  this.loader = inject(AX_TRANSLATION_LOADER);
17
18
  this.config = inject(AX_TRANSLATION_CONFIG);
19
+ this.eventService = inject(AXEventService);
18
20
  this.translationCache = {};
21
+ this.ongoingRequests = new Map();
19
22
  this.activeLang = new BehaviorSubject(this.getDefaultLang());
20
23
  this.langChanges$ = this.activeLang.asObservable();
24
+ this.lastActiveLang = null;
21
25
  service = this;
22
26
  }
23
27
  loadLanguagesAndScopes(languages, scopes) {
24
28
  const requests = languages.flatMap(lang => scopes.map(scope => {
29
+ // Check if translations are already cached
25
30
  if (this.translationCache[lang]?.[scope]) {
26
31
  return of(this.translationCache[lang][scope]);
27
32
  }
28
- return this.loader.getTranslation({ lang, scope }).pipe(tap(translations => this.cacheTranslations(lang, scope, translations)), catchError(error => {
29
- console.error(`Error loading translations for lang: ${lang}, scope: ${scope}`, error);
30
- return of(null); // You can return 'null' or any other fallback value
31
- }));
33
+ // Use the new method to handle ongoing requests and loading
34
+ return this.getOrLoadTranslations(lang, scope);
32
35
  }));
33
- return forkJoin(...requests);
36
+ return forkJoin(requests);
37
+ }
38
+ getOrLoadTranslations(lang, scope) {
39
+ const requestKey = `${lang}_${scope}`;
40
+ // Return existing observable if the request is already in progress
41
+ if (this.ongoingRequests.has(requestKey)) {
42
+ return this.ongoingRequests.get(requestKey);
43
+ }
44
+ // Load translations if not in cache or ongoing requests
45
+ const translationObservable = this.loader.getTranslation({ lang, scope }).pipe(tap(translations => this.cacheTranslations(lang, scope, translations)), catchError(error => {
46
+ console.error(`Error loading translations for lang: ${lang}, scope: ${scope}`, error);
47
+ return of(null);
48
+ }), finalize(() => {
49
+ this.eventService.emitEvent({ type: AXEventTypes.AXLanguageLoaded, payload: lang });
50
+ this.ongoingRequests.delete(requestKey);
51
+ }), shareReplay(1));
52
+ this.ongoingRequests.set(requestKey, translationObservable);
53
+ return translationObservable;
34
54
  }
35
55
  cacheTranslations(lang, scope, translations) {
36
56
  lodashSet(this.translationCache, `${lang}.${scope}`, translations);
@@ -42,17 +62,22 @@ export class AXTranslationService {
42
62
  return this.activeLang.getValue();
43
63
  }
44
64
  setActiveLang(lang) {
45
- this.activeLang.next(lang);
65
+ if (lang != this.getActiveLang()) {
66
+ this.lastActiveLang = this.getActiveLang(); // Update last active language
67
+ this.activeLang.next(lang);
68
+ this.eventService.emitEvent({ type: AXEventTypes.AXLanguageChanged, payload: lang });
69
+ }
46
70
  }
47
71
  load(key, options = {}) {
48
72
  const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options;
73
+ // Function to fetch translation
49
74
  const fetchTranslation = (language) => {
50
75
  // Check if translations are available in the cache
51
76
  if (this.translationCache[language]?.[scope]) {
52
77
  return of(this.getTranslation(key, language, scope, options.params));
53
78
  }
54
- // Load translations for the language and scope
55
- return this.loadLanguagesAndScopes([language], [scope]).pipe(map(() => {
79
+ // Use the new method to handle ongoing requests and loading
80
+ return this.getOrLoadTranslations(language, scope).pipe(map(() => {
56
81
  const translation = this.translationCache[language]?.[scope]?.[key] || key;
57
82
  return this.getTranslation(translation, language, scope, options.params);
58
83
  }), switchMap(translatedText => {
@@ -64,8 +89,14 @@ export class AXTranslationService {
64
89
  return of(translatedText);
65
90
  }));
66
91
  };
67
- // Return the translation or initiate fetching process
68
- return fetchTranslation(lang);
92
+ // First, try to fetch the translation for the requested language
93
+ const translationForRequestedLang = fetchTranslation(lang);
94
+ // If lastActiveLang is available and different from the requested language, use it as a fallback
95
+ if (this.lastActiveLang && this.lastActiveLang !== lang) {
96
+ const translationForLastActiveLang = this.getTranslation(key, this.lastActiveLang, scope, options.params);
97
+ return translationForRequestedLang.pipe(startWith(translationForLastActiveLang));
98
+ }
99
+ return translationForRequestedLang;
69
100
  }
70
101
  getTranslation(key, lang, scope, params) {
71
102
  let translation = (lodashGet(this.translationCache, `${lang}.${scope}.${key}`) || key);
@@ -93,7 +124,18 @@ export class AXTranslationService {
93
124
  }
94
125
  translateSync(key, options) {
95
126
  const { lang = this.getActiveLang(), scope = this.config.defaultScope } = options || {};
96
- return this.getTranslation(key, lang, scope, options?.params);
127
+ // Check if the translation for the active language is available
128
+ let translation = lodashGet(this.translationCache, `${lang}.${scope}.${key}`);
129
+ // If not available, check lastActiveLang
130
+ if (!translation && this.lastActiveLang) {
131
+ translation = lodashGet(this.translationCache, `${this.lastActiveLang}.${scope}.${key}`);
132
+ }
133
+ // If still not available, use the default language
134
+ if (!translation) {
135
+ translation = lodashGet(this.translationCache, `${this.getDefaultLang()}.${scope}.${key}`);
136
+ }
137
+ // If no translation found, return the key
138
+ return translation || this.getTranslation(key, lang, scope, options?.params);
97
139
  }
98
140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
141
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }
@@ -102,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
102
144
  type: Injectable,
103
145
  args: [{ providedIn: 'root' }]
104
146
  }], ctorParameters: () => [] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUksU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUU3RCxJQUFJLE9BQTZCLENBQUM7QUFHbEMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7SUFDbkUsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBSUQsTUFBTSxPQUFPLG9CQUFvQjtJQVc3Qjs7T0FFRztJQUNIO1FBWlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ3RDLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUV0QyxxQkFBZ0IsR0FBbUQsRUFBRSxDQUFDO1FBRXRFLGVBQVUsR0FBNEIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakcsaUJBQVksR0FBdUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU85RCxPQUFPLEdBQUcsSUFB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QWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBVyxFQUFFLE9BQTRCO1FBQ3RELElBQUksT0FBTyxFQUFFLElBQUksRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDakM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNyRCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLGFBQWEsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7UUFDMUQsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OEdBeEhRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0ZUhhc2hNYXAsIEFYVHJhbnNsYXRlT3B0aW9ucywgQVhUcmFuc2xhdGVQYXJhbXMgfSBmcm9tICcuL3RyYW5zbGF0aW9uLnR5cGVzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0xPQURFUiB9IGZyb20gJy4vdHJhbnNsYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IHNldCBhcyBsb2Rhc2hTZXQsIGdldCBhcyBsb2Rhc2hHZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhfVFJBTlNMQVRJT05fQ09ORklHIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5jb25maWcnO1xuXG5sZXQgc2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2U7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVN5bmMoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoa2V5LCBvcHRpb25zKTtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25TZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgbG9hZGVyID0gaW5qZWN0KEFYX1RSQU5TTEFUSU9OX0xPQURFUilcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChBWF9UUkFOU0xBVElPTl9DT05GSUcpXG5cbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uQ2FjaGU6IEFYVHJhbnNsYXRlSGFzaE1hcDxBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPj4gPSB7fTtcblxuICAgIHByaXZhdGUgYWN0aXZlTGFuZzogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICBsYW5nQ2hhbmdlcyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuYWN0aXZlTGFuZy5hc09ic2VydmFibGUoKTtcblxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzZXJ2aWNlID0gdGhpcztcbiAgICB9XG5cblxuICAgIHB1YmxpYyBsb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKGxhbmd1YWdlczogc3RyaW5nW10sIHNjb3Blczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBsYW5ndWFnZXMuZmxhdE1hcChsYW5nID0+XG4gICAgICAgICAgICBzY29wZXMubWFwKHNjb3BlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlW2xhbmddPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ11bc2NvcGVdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVyLmdldFRyYW5zbGF0aW9uKHsgbGFuZywgc2NvcGUgfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKHRyYW5zbGF0aW9ucyA9PiB0aGlzLmNhY2hlVHJhbnNsYXRpb25zKGxhbmcsIHNjb3BlLCB0cmFuc2xhdGlvbnMpKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nIHRyYW5zbGF0aW9ucyBmb3IgbGFuZzogJHtsYW5nfSwgc2NvcGU6ICR7c2NvcGV9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpOyAvLyBZb3UgY2FuIHJldHVybiAnbnVsbCcgb3IgYW55IG90aGVyIGZhbGxiYWNrIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKC4uLnJlcXVlc3RzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhY2hlVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZywgdHJhbnNsYXRpb25zOiBBWFRyYW5zbGF0ZUhhc2hNYXA8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICBsb2Rhc2hTZXQodGhpcy50cmFuc2xhdGlvbkNhY2hlLCBgJHtsYW5nfS4ke3Njb3BlfWAsIHRyYW5zbGF0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERlZmF1bHRMYW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aXZlTGFuZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVMYW5nLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZUxhbmcobGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlTGFuZy5uZXh0KGxhbmcpO1xuICAgIH1cblxuXG5cbiAgICBwcml2YXRlIGxvYWQoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IEFYVHJhbnNsYXRlT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIGNvbnN0IGZldGNoVHJhbnNsYXRpb24gPSAobGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0cmFuc2xhdGlvbnMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGVcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0VHJhbnNsYXRpb24oa2V5LCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExvYWQgdHJhbnNsYXRpb25zIGZvciB0aGUgbGFuZ3VhZ2UgYW5kIHNjb3BlXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKFtsYW5ndWFnZV0sIFtzY29wZV0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdPy5ba2V5XSB8fCBrZXk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uLCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodHJhbnNsYXRlZFRleHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRlZFRleHQgPT09IGtleSAmJiBsYW5ndWFnZSAhPT0gdGhpcy5nZXREZWZhdWx0TGFuZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHJhbnNsYXRpb24gaXMgbm90IGZvdW5kIGFuZCB0aGUgbGFuZ3VhZ2UgaXMgbm90IGRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnkgZmV0Y2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoVHJhbnNsYXRpb24odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJhbnNsYXRlZFRleHQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgdHJhbnNsYXRpb24gb3IgaW5pdGlhdGUgZmV0Y2hpbmcgcHJvY2Vzc1xuICAgICAgICByZXR1cm4gZmV0Y2hUcmFuc2xhdGlvbihsYW5nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nLCBsYW5nOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcsIHBhcmFtcz86IEFYVHJhbnNsYXRlUGFyYW1zKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmcgPSAobG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7bGFuZ30uJHtzY29wZX0uJHtrZXl9YCkgfHwga2V5KSBhcyBzdHJpbmdcblxuICAgICAgICAvLyBSZXBsYWNlIHBhcmFtcyBsaWtlIHt7IG5hbWUgfX1cbiAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKHBhcmFtS2V5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbVZhbHVlID0gcGFyYW1zW3BhcmFtS2V5XSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbi5yZXBsYWNlKG5ldyBSZWdFeHAoYHt7XFxcXHMqJHtwYXJhbUtleX1cXFxccyp9fWAsICdnJyksIHBhcmFtVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXBsYWNlIHRyYW5zbGF0aW9ucyBsaWtlIHt7IHQoJ2tleScpIH19XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uUGF0dGVybiA9IC97e1xccyp0XFwoJyhbXiddKyknXFwpXFxzKn19L2c7XG4gICAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24ucmVwbGFjZSh0cmFuc2xhdGlvblBhdHRlcm4sIChtYXRjaCwgaW5uZXJLZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKGlubmVyS2V5LCBsYW5nLCBzY29wZSwgcGFyYW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAob3B0aW9ucz8ubGFuZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChrZXksIG9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkKGtleSwgeyAuLi5vcHRpb25zLCBsYW5nOiBsYW5nIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGVTeW5jKGtleTogc3RyaW5nLCBvcHRpb25zPzogQVhUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2xhdGlvbihrZXksIGxhbmcsIHNjb3BlLCBvcHRpb25zPy5wYXJhbXMpO1xuICAgIH1cbn1cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwSSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxJQUFJLFNBQVMsRUFBRSxHQUFHLElBQUksU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR25FLElBQUksT0FBNkIsQ0FBQztBQUdsQyxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVcsRUFBRSxPQUE0QjtJQUNuRSxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRCxNQUFNLE9BQU8sb0JBQW9CO0lBaUI3Qjs7T0FFRztJQUNIO1FBbEJRLFdBQU0sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2QyxXQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFdkMsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFHdEMscUJBQWdCLEdBQW1ELEVBQUUsQ0FBQztRQUN0RSxv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QUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUV4RixnRUFBZ0U7UUFDaEUsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLElBQUksSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUU3RSx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JDLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQTtTQUMzRjtRQUVELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2QsV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUE7U0FDN0Y7UUFFRCwwQ0FBMEM7UUFDMUMsT0FBTyxXQUFrQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hGLENBQUM7OEdBbExRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgZmluYWxpemUsIGZvcmtKb2luLCBtYXAsIG9mLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVIYXNoTWFwLCBBWFRyYW5zbGF0ZU9wdGlvbnMsIEFYVHJhbnNsYXRlUGFyYW1zIH0gZnJvbSAnLi90cmFuc2xhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBWF9UUkFOU0xBVElPTl9MT0FERVIgfSBmcm9tICcuL3RyYW5zbGF0aW9uLmxvYWRlcic7XG5pbXBvcnQgeyBzZXQgYXMgbG9kYXNoU2V0LCBnZXQgYXMgbG9kYXNoR2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYX1RSQU5TTEFUSU9OX0NPTkZJRyB9IGZyb20gJy4vdHJhbnNsYXRpb24uY29uZmlnJztcbmltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWEV2ZW50VHlwZXMgfSBmcm9tICdAYWNvcmV4L2NvcmUvZXZlbnRzJztcblxuXG5sZXQgc2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2U7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVN5bmMoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoa2V5LCBvcHRpb25zKTtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRpb25TZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgbG9hZGVyID0gaW5qZWN0KEFYX1RSQU5TTEFUSU9OX0xPQURFUik7XG4gICAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoQVhfVFJBTlNMQVRJT05fQ09ORklHKTtcblxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYRXZlbnRTZXJ2aWNlKTtcblxuXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvbkNhY2hlOiBBWFRyYW5zbGF0ZUhhc2hNYXA8QVhUcmFuc2xhdGVIYXNoTWFwPHN0cmluZz4+ID0ge307XG4gICAgcHJpdmF0ZSBvbmdvaW5nUmVxdWVzdHM6IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4gPSBuZXcgTWFwKCk7XG5cbiAgICBwcml2YXRlIGFjdGl2ZUxhbmc6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHRoaXMuZ2V0RGVmYXVsdExhbmcoKSk7XG4gICAgbGFuZ0NoYW5nZXMkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmFjdGl2ZUxhbmcuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIGxhc3RBY3RpdmVMYW5nOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzZXJ2aWNlID0gdGhpcztcbiAgICB9XG5cblxuICAgIHB1YmxpYyBsb2FkTGFuZ3VhZ2VzQW5kU2NvcGVzKGxhbmd1YWdlczogc3RyaW5nW10sIHNjb3Blczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBsYW5ndWFnZXMuZmxhdE1hcChsYW5nID0+XG4gICAgICAgICAgICBzY29wZXMubWFwKHNjb3BlID0+IHtcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0cmFuc2xhdGlvbnMgYXJlIGFscmVhZHkgY2FjaGVkXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb25DYWNoZVtsYW5nXT8uW3Njb3BlXSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy50cmFuc2xhdGlvbkNhY2hlW2xhbmddW3Njb3BlXSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBuZXcgbWV0aG9kIHRvIGhhbmRsZSBvbmdvaW5nIHJlcXVlc3RzIGFuZCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JMb2FkVHJhbnNsYXRpb25zKGxhbmcsIHNjb3BlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3RzKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgZ2V0T3JMb2FkVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZywgc2NvcGU6IHN0cmluZyk6IE9ic2VydmFibGU8QVhUcmFuc2xhdGVIYXNoTWFwPHN0cmluZz4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdEtleSA9IGAke2xhbmd9XyR7c2NvcGV9YDtcblxuICAgICAgICAvLyBSZXR1cm4gZXhpc3Rpbmcgb2JzZXJ2YWJsZSBpZiB0aGUgcmVxdWVzdCBpcyBhbHJlYWR5IGluIHByb2dyZXNzXG4gICAgICAgIGlmICh0aGlzLm9uZ29pbmdSZXF1ZXN0cy5oYXMocmVxdWVzdEtleSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uZ29pbmdSZXF1ZXN0cy5nZXQocmVxdWVzdEtleSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2FkIHRyYW5zbGF0aW9ucyBpZiBub3QgaW4gY2FjaGUgb3Igb25nb2luZyByZXF1ZXN0c1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbk9ic2VydmFibGUgPSB0aGlzLmxvYWRlci5nZXRUcmFuc2xhdGlvbih7IGxhbmcsIHNjb3BlIH0pLnBpcGUoXG4gICAgICAgICAgICB0YXAodHJhbnNsYXRpb25zID0+IHRoaXMuY2FjaGVUcmFuc2xhdGlvbnMobGFuZywgc2NvcGUsIHRyYW5zbGF0aW9ucykpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgbG9hZGluZyB0cmFuc2xhdGlvbnMgZm9yIGxhbmc6ICR7bGFuZ30sIHNjb3BlOiAke3Njb3BlfWAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS5lbWl0RXZlbnQoeyB0eXBlOiBBWEV2ZW50VHlwZXMuQVhMYW5ndWFnZUxvYWRlZCwgcGF5bG9hZDogbGFuZyB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uZ29pbmdSZXF1ZXN0cy5kZWxldGUocmVxdWVzdEtleSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5vbmdvaW5nUmVxdWVzdHMuc2V0KHJlcXVlc3RLZXksIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZSk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbk9ic2VydmFibGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWNoZVRyYW5zbGF0aW9ucyhsYW5nOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcsIHRyYW5zbGF0aW9uczogQVhUcmFuc2xhdGVIYXNoTWFwPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgbG9kYXNoU2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7bGFuZ30uJHtzY29wZX1gLCB0cmFuc2xhdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREZWZhdWx0TGFuZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdExhbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGl2ZUxhbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlTGFuZy5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRBY3RpdmVMYW5nKGxhbmc6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAobGFuZyAhPSB0aGlzLmdldEFjdGl2ZUxhbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0QWN0aXZlTGFuZyA9IHRoaXMuZ2V0QWN0aXZlTGFuZygpOyAvLyBVcGRhdGUgbGFzdCBhY3RpdmUgbGFuZ3VhZ2VcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTGFuZy5uZXh0KGxhbmcpO1xuICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdEV2ZW50KHsgdHlwZTogQVhFdmVudFR5cGVzLkFYTGFuZ3VhZ2VDaGFuZ2VkLCBwYXlsb2FkOiBsYW5nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkKGtleTogc3RyaW5nLCBvcHRpb25zOiBBWFRyYW5zbGF0ZU9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHsgbGFuZyA9IHRoaXMuZ2V0QWN0aXZlTGFuZygpLCBzY29wZSA9IHRoaXMuY29uZmlnLmRlZmF1bHRTY29wZSB9ID0gb3B0aW9ucztcblxuICAgICAgICAvLyBGdW5jdGlvbiB0byBmZXRjaCB0cmFuc2xhdGlvblxuICAgICAgICBjb25zdCBmZXRjaFRyYW5zbGF0aW9uID0gKGxhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdHJhbnNsYXRpb25zIGFyZSBhdmFpbGFibGUgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlW2xhbmd1YWdlXT8uW3Njb3BlXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmdldFRyYW5zbGF0aW9uKGtleSwgbGFuZ3VhZ2UsIHNjb3BlLCBvcHRpb25zLnBhcmFtcykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBVc2UgdGhlIG5ldyBtZXRob2QgdG8gaGFuZGxlIG9uZ29pbmcgcmVxdWVzdHMgYW5kIGxvYWRpbmdcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldE9yTG9hZFRyYW5zbGF0aW9ucyhsYW5ndWFnZSwgc2NvcGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0aW9uQ2FjaGVbbGFuZ3VhZ2VdPy5bc2NvcGVdPy5ba2V5XSB8fCBrZXk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uLCBsYW5ndWFnZSwgc2NvcGUsIG9wdGlvbnMucGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodHJhbnNsYXRlZFRleHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRlZFRleHQgPT09IGtleSAmJiBsYW5ndWFnZSAhPT0gdGhpcy5nZXREZWZhdWx0TGFuZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHJhbnNsYXRpb24gaXMgbm90IGZvdW5kIGFuZCB0aGUgbGFuZ3VhZ2UgaXMgbm90IGRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cnkgZmV0Y2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoVHJhbnNsYXRpb24odGhpcy5nZXREZWZhdWx0TGFuZygpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJhbnNsYXRlZFRleHQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEZpcnN0LCB0cnkgdG8gZmV0Y2ggdGhlIHRyYW5zbGF0aW9uIGZvciB0aGUgcmVxdWVzdGVkIGxhbmd1YWdlXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uRm9yUmVxdWVzdGVkTGFuZyA9IGZldGNoVHJhbnNsYXRpb24obGFuZyk7XG5cbiAgICAgICAgLy8gSWYgbGFzdEFjdGl2ZUxhbmcgaXMgYXZhaWxhYmxlIGFuZCBkaWZmZXJlbnQgZnJvbSB0aGUgcmVxdWVzdGVkIGxhbmd1YWdlLCB1c2UgaXQgYXMgYSBmYWxsYmFja1xuICAgICAgICBpZiAodGhpcy5sYXN0QWN0aXZlTGFuZyAmJiB0aGlzLmxhc3RBY3RpdmVMYW5nICE9PSBsYW5nKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbkZvckxhc3RBY3RpdmVMYW5nID0gdGhpcy5nZXRUcmFuc2xhdGlvbihrZXksIHRoaXMubGFzdEFjdGl2ZUxhbmcsIHNjb3BlLCBvcHRpb25zLnBhcmFtcyk7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25Gb3JSZXF1ZXN0ZWRMYW5nLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRyYW5zbGF0aW9uRm9yTGFzdEFjdGl2ZUxhbmcpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uRm9yUmVxdWVzdGVkTGFuZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nLCBsYW5nOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcsIHBhcmFtcz86IEFYVHJhbnNsYXRlUGFyYW1zKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmcgPSAobG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7bGFuZ30uJHtzY29wZX0uJHtrZXl9YCkgfHwga2V5KSBhcyBzdHJpbmdcblxuICAgICAgICAvLyBSZXBsYWNlIHBhcmFtcyBsaWtlIHt7IG5hbWUgfX1cbiAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKHBhcmFtS2V5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbVZhbHVlID0gcGFyYW1zW3BhcmFtS2V5XSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbi5yZXBsYWNlKG5ldyBSZWdFeHAoYHt7XFxcXHMqJHtwYXJhbUtleX1cXFxccyp9fWAsICdnJyksIHBhcmFtVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXBsYWNlIHRyYW5zbGF0aW9ucyBsaWtlIHt7IHQoJ2tleScpIH19XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uUGF0dGVybiA9IC97e1xccyp0XFwoJyhbXiddKyknXFwpXFxzKn19L2c7XG4gICAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24ucmVwbGFjZSh0cmFuc2xhdGlvblBhdHRlcm4sIChtYXRjaCwgaW5uZXJLZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zbGF0aW9uKGlubmVyS2V5LCBsYW5nLCBzY29wZSwgcGFyYW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBBWFRyYW5zbGF0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAob3B0aW9ucz8ubGFuZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZChrZXksIG9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ0NoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkKGtleSwgeyAuLi5vcHRpb25zLCBsYW5nOiBsYW5nIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2xhdGVTeW5jKGtleTogc3RyaW5nLCBvcHRpb25zPzogQVhUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeyBsYW5nID0gdGhpcy5nZXRBY3RpdmVMYW5nKCksIHNjb3BlID0gdGhpcy5jb25maWcuZGVmYXVsdFNjb3BlIH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSB0cmFuc2xhdGlvbiBmb3IgdGhlIGFjdGl2ZSBsYW5ndWFnZSBpcyBhdmFpbGFibGVcbiAgICAgICAgbGV0IHRyYW5zbGF0aW9uID0gbG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7bGFuZ30uJHtzY29wZX0uJHtrZXl9YClcblxuICAgICAgICAvLyBJZiBub3QgYXZhaWxhYmxlLCBjaGVjayBsYXN0QWN0aXZlTGFuZ1xuICAgICAgICBpZiAoIXRyYW5zbGF0aW9uICYmIHRoaXMubGFzdEFjdGl2ZUxhbmcpIHtcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uID0gbG9kYXNoR2V0KHRoaXMudHJhbnNsYXRpb25DYWNoZSwgYCR7dGhpcy5sYXN0QWN0aXZlTGFuZ30uJHtzY29wZX0uJHtrZXl9YClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHN0aWxsIG5vdCBhdmFpbGFibGUsIHVzZSB0aGUgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICBpZiAoIXRyYW5zbGF0aW9uKSB7XG4gICAgICAgICAgICB0cmFuc2xhdGlvbiA9IGxvZGFzaEdldCh0aGlzLnRyYW5zbGF0aW9uQ2FjaGUsIGAke3RoaXMuZ2V0RGVmYXVsdExhbmcoKX0uJHtzY29wZX0uJHtrZXl9YClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIG5vIHRyYW5zbGF0aW9uIGZvdW5kLCByZXR1cm4gdGhlIGtleVxuICAgICAgICByZXR1cm4gdHJhbnNsYXRpb24gYXMgYW55IHx8IHRoaXMuZ2V0VHJhbnNsYXRpb24oa2V5LCBsYW5nLCBzY29wZSwgb3B0aW9ucz8ucGFyYW1zKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,41 +1,23 @@
1
- import { ChangeDetectorRef, Pipe, inject } from '@angular/core';
1
+ import { Pipe } from '@angular/core';
2
2
  import { AXTranslationService } from './translation.service';
3
+ import { of } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "./translation.service";
4
6
  export class AXTranslatorPipe {
5
- constructor() {
6
- this.service = inject(AXTranslationService);
7
- this.cdr = inject(ChangeDetectorRef);
8
- this.value = '';
9
- this.lastKey = null;
10
- this.subscription = null;
7
+ constructor(service) {
8
+ this.service = service;
11
9
  }
12
10
  transform(key, options) {
13
- if (!key || key === this.lastKey) {
14
- return this.value;
11
+ if (!key) {
12
+ return of(''); // Return an empty observable if the key is not provided
15
13
  }
16
- this.lastKey = key;
17
- this.value = key;
18
- this.dispose();
19
- this.subscription = this.service.translate(key, options).subscribe(translatedValue => {
20
- this.value = translatedValue;
21
- this.cdr.markForCheck();
22
- });
23
- return this.value;
14
+ return this.service.translate(key, options);
24
15
  }
25
- ngOnDestroy() {
26
- this.dispose();
27
- }
28
- dispose() {
29
- if (this.subscription) {
30
- this.subscription.unsubscribe();
31
- this.subscription = null;
32
- }
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
35
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, name: "translate", pure: false }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, deps: [{ token: i1.AXTranslationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, name: "translate" }); }
36
18
  }
37
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTranslatorPipe, decorators: [{
38
20
  type: Pipe,
39
- args: [{ name: 'translate', pure: false }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBYSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUdVLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN2QyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFaEMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixpQkFBWSxHQUF3QixJQUFJLENBQUM7S0EwQmxEO0lBeEJDLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBNEI7UUFDakQsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDbkYsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs4R0FoQ1UsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVPcHRpb25zIH0gZnJvbSAnLi90cmFuc2xhdGlvbi50eXBlcyc7XG5cblxuXG5AUGlwZSh7IG5hbWU6ICd0cmFuc2xhdGUnLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBsYXN0S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIHRyYW5zZm9ybShrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFrZXkgfHwga2V5ID09PSB0aGlzLmxhc3RLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmxhc3RLZXkgPSBrZXk7XG4gICAgdGhpcy52YWx1ZSA9IGtleTtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VydmljZS50cmFuc2xhdGUoa2V5LCBvcHRpb25zKS5zdWJzY3JpYmUodHJhbnNsYXRlZFZhbHVlID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB0cmFuc2xhdGVkVmFsdWU7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
21
+ args: [{ name: 'translate', pure: true }]
22
+ }], ctorParameters: () => [{ type: i1.AXTranslationService }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU90QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW9CLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBQUksQ0FBQztJQUV0RCxTQUFTLENBQUMsR0FBVyxFQUFFLE9BQTRCO1FBQ2pELElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdEQUF3RDtTQUN4RTtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7OEdBVFUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGVPcHRpb25zIH0gZnJvbSAnLi90cmFuc2xhdGlvbi50eXBlcyc7XG5cblxuXG5cbkBQaXBlKHsgbmFtZTogJ3RyYW5zbGF0ZScsIHB1cmU6IHRydWUgfSkgLy8gVGhlIHBpcGUgY2FuIG5vdyBiZSBwdXJlXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogQVhUcmFuc2xhdGlvblNlcnZpY2UpIHsgfVxuXG4gIHRyYW5zZm9ybShrZXk6IHN0cmluZywgb3B0aW9ucz86IEFYVHJhbnNsYXRlT3B0aW9ucyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybiBvZignJyk7IC8vIFJldHVybiBhbiBlbXB0eSBvYnNlcnZhYmxlIGlmIHRoZSBrZXkgaXMgbm90IHByb3ZpZGVkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcnZpY2UudHJhbnNsYXRlKGtleSwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
package/events/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './lib/event.service';
2
+ export * from './lib/event.type';
@@ -1,5 +1,13 @@
1
+ import { Observable } from 'rxjs';
1
2
  import * as i0 from "@angular/core";
3
+ export interface AXEventData {
4
+ type: string;
5
+ payload?: any;
6
+ }
2
7
  export declare class AXEventService {
8
+ private eventSubject;
9
+ onEvent: Observable<AXEventData>;
10
+ emitEvent(event: AXEventData): void;
3
11
  private list;
4
12
  broadcast(key: string, options?: any): void;
5
13
  on(key: string, callback: (options?: any) => void): void;
@@ -0,0 +1,5 @@
1
+ export declare const AXEventTypes: {
2
+ AXLanguageChanged: string;
3
+ AXLanguageLoaded: string;
4
+ AXCalendarChanged: string;
5
+ };
@@ -4,6 +4,7 @@ import { BehaviorSubject, Subject } from 'rxjs';
4
4
  import { AX_GLOBAL_CONFIG } from '@acorex/core/config';
5
5
  import { defaults, orderBy, set, isNil } from 'lodash-es';
6
6
  import { translateSync } from '@acorex/core/translation';
7
+ import { AXEventTypes, AXEventService } from '@acorex/core/events';
7
8
  import * as i1 from '@acorex/core/format';
8
9
  import { AXFormatModule } from '@acorex/core/format';
9
10
 
@@ -983,8 +984,11 @@ class AXCalendarService {
983
984
  return this.activeCalendar.getValue();
984
985
  }
985
986
  setActiveCalendar(name) {
986
- const calendar = this.resolveCalendar(name);
987
- this.activeCalendar.next(calendar);
987
+ if (name != this.calendar.name()) {
988
+ const calendar = this.resolveCalendar(name);
989
+ this.activeCalendar.next(calendar);
990
+ this.eventService.emitEvent({ type: AXEventTypes.AXCalendarChanged, payload: this.getActiveCalendar() });
991
+ }
988
992
  }
989
993
  get holidays() {
990
994
  return this._holidays;
@@ -992,6 +996,7 @@ class AXCalendarService {
992
996
  constructor() {
993
997
  this.config = inject(AX_DATETIME_CONFIG);
994
998
  this._holidaysLoader = inject(AX_DATETIME_HOLIDAYS_LOADER);
999
+ this.eventService = inject(AXEventService);
995
1000
  this.activeCalendar = new BehaviorSubject(this.getDefaultCalendar());
996
1001
  this.calendarChanges$ = this.activeCalendar.asObservable();
997
1002
  this.onHolidaysChanged = new Subject();