UNPKG

year-scheduler

Version:
82 lines 12.5 kB
import { Component, Input, ViewEncapsulation } from '@angular/core'; import { ReplaySubject, fromEvent } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { trigger, transition, style, animate } from '@angular/animations'; import * as i0 from "@angular/core"; import * as i1 from "../services/axiom-scheduler-sidebar.service"; import * as i2 from "@angular/common"; import * as i3 from "../axiom-scheduler-event/axiom-scheduler-event.component"; export class AxiomSchedulerSidebarComponent { _element; _sidebarService; axEventTemplate; axEventToolbar; data; destroyed = new ReplaySubject(1); subs; constructor(_element, _sidebarService) { this._element = _element; this._sidebarService = _sidebarService; } ngOnInit() { this.subs = this._sidebarService.data.subscribe(data => { this.data = data; this.setEventObserver(); }); } ngOnDestroy() { this.destroyEventObserver(); this.subs && this.subs.unsubscribe(); } close() { this._sidebarService.close(); } closeOnGlobalKeydown(event) { if ((event.key || event.keyCode) === 27) { this._sidebarService.close(); } } setEventObserver() { this.destroyed = new ReplaySubject(1); fromEvent(document, 'keydown').pipe(takeUntil(this.destroyed)).subscribe((event) => this.closeOnGlobalKeydown(event)); } destroyEventObserver() { if (this.destroyed) { this.destroyed.next(true); this.destroyed.complete(); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AxiomSchedulerSidebarComponent, deps: [{ token: i0.ElementRef }, { token: i1.AxiomSchedulerSidebarService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AxiomSchedulerSidebarComponent, selector: "[ax-scheduler-sidebar]", inputs: { axEventTemplate: "axEventTemplate", axEventToolbar: "axEventToolbar" }, host: { classAttribute: "ax-scheduler__sidebar" }, ngImport: i0, template: "<span class=\"ax-scheduler__close-button\" (click)=\"close()\">\u00D7</span>\n\n<h6 *ngIf=\"data\">{{ data.title }}</h6>\n\n<ng-container *ngIf=\"data\">\n\n <div [@slideInOutRight] *ngFor=\"let event of data.events\" [event]=\"event\" [monthMode]=\"true\"\n [axEventToolbar]=\"axEventToolbar\" [axEventTemplate]=\"axEventTemplate\" ax-scheduler-event></div>\n\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AxiomSchedulerEventComponent, selector: "[ax-scheduler-event]", inputs: ["event", "monthMode"] }], animations: [ trigger('slideInOutRight', [ transition(':enter', [ style({ transform: 'translateX(100%)' }), animate(`${150}ms ease-in`, style({ transform: 'translateX(0%)' })) ]), transition(':leave', [ animate(`${240}ms ease-out`, style({ transform: 'translateX(100%)' })) ]) ]) ], encapsulation: i0.ViewEncapsulation.None }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AxiomSchedulerSidebarComponent, decorators: [{ type: Component, args: [{ selector: '[ax-scheduler-sidebar]', encapsulation: ViewEncapsulation.None, host: { 'class': 'ax-scheduler__sidebar' }, animations: [ trigger('slideInOutRight', [ transition(':enter', [ style({ transform: 'translateX(100%)' }), animate(`${150}ms ease-in`, style({ transform: 'translateX(0%)' })) ]), transition(':leave', [ animate(`${240}ms ease-out`, style({ transform: 'translateX(100%)' })) ]) ]) ], standalone: false, template: "<span class=\"ax-scheduler__close-button\" (click)=\"close()\">\u00D7</span>\n\n<h6 *ngIf=\"data\">{{ data.title }}</h6>\n\n<ng-container *ngIf=\"data\">\n\n <div [@slideInOutRight] *ngFor=\"let event of data.events\" [event]=\"event\" [monthMode]=\"true\"\n [axEventToolbar]=\"axEventToolbar\" [axEventTemplate]=\"axEventTemplate\" ax-scheduler-event></div>\n\n</ng-container>" }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AxiomSchedulerSidebarService }], propDecorators: { axEventTemplate: [{ type: Input }], axEventToolbar: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb20tc2NoZWR1bGVyLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveWVhci1zY2hlZHVsZXIvc3JjL2xpYi9heGlvbS1zY2hlZHVsZXItc2lkZWJhci9heGlvbS1zY2hlZHVsZXItc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95ZWFyLXNjaGVkdWxlci9zcmMvbGliL2F4aW9tLXNjaGVkdWxlci1zaWRlYmFyL2F4aW9tLXNjaGVkdWxlci1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLEtBQUssRUFBZSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUF3QjFFLE1BQU0sT0FBTyw4QkFBOEI7SUFTckI7SUFBOEI7SUFQekMsZUFBZSxDQUFvQjtJQUNuQyxjQUFjLENBQVE7SUFDeEIsSUFBSSxDQUE2QjtJQUU5QixTQUFTLEdBQTJCLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBZ0I7SUFFNUIsWUFBb0IsUUFBb0IsRUFBVSxlQUE2QztRQUEzRSxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQThCO0lBQUksQ0FBQztJQUU3RixRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7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LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdHJpZ2dlciwgdHJhbnNpdGlvbiwgc3R5bGUsIGFuaW1hdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEF4aW9tU2NoZWR1bGVyU2lkZWJhclNlcnZpY2UsIEF4aW9tU2NoZWR1bGVyU2lkZWJhckRhdGEgfSBmcm9tICcuLi9zZXJ2aWNlcy9heGlvbS1zY2hlZHVsZXItc2lkZWJhci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbYXgtc2NoZWR1bGVyLXNpZGViYXJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXhpb20tc2NoZWR1bGVyLXNpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F4aW9tLXNjaGVkdWxlci1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdheC1zY2hlZHVsZXJfX3NpZGViYXInXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXRSaWdodCcsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoYCR7MTUwfW1zIGVhc2UtaW5gLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoYCR7MjQwfW1zIGVhc2Utb3V0YCwgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBBeGlvbVNjaGVkdWxlclNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgYXhFdmVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgYXhFdmVudFRvb2xiYXIhOiB0cnVlO1xuICBwdWJsaWMgZGF0YSE6IEF4aW9tU2NoZWR1bGVyU2lkZWJhckRhdGE7XG5cbiAgcHJvdGVjdGVkIGRlc3Ryb3llZDogUmVwbGF5U3ViamVjdDxib29sZWFuPiA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICBwcml2YXRlIHN1YnMhOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBfc2lkZWJhclNlcnZpY2U6IEF4aW9tU2NoZWR1bGVyU2lkZWJhclNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnMgPSB0aGlzLl9zaWRlYmFyU2VydmljZS5kYXRhLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICB0aGlzLnNldEV2ZW50T2JzZXJ2ZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lFdmVudE9ic2VydmVyKCk7XG4gICAgdGhpcy5zdWJzICYmIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3NpZGViYXJTZXJ2aWNlLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlT25HbG9iYWxLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKChldmVudC5rZXkgfHwgZXZlbnQua2V5Q29kZSkgPT09IDI3KSB7XG4gICAgICB0aGlzLl9zaWRlYmFyU2VydmljZS5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RXZlbnRPYnNlcnZlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleWRvd24nKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuY2xvc2VPbkdsb2JhbEtleWRvd24oZXZlbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUV2ZW50T2JzZXJ2ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVzdHJveWVkKSB7XG4gICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KHRydWUpO1xuICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPHNwYW4gY2xhc3M9XCJheC1zY2hlZHVsZXJfX2Nsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCI+w5c8L3NwYW4+XG5cbjxoNiAqbmdJZj1cImRhdGFcIj57eyBkYXRhLnRpdGxlIH19PC9oNj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFcIj5cblxuICAgIDxkaXYgW0BzbGlkZUluT3V0UmlnaHRdICpuZ0Zvcj1cImxldCBldmVudCBvZiBkYXRhLmV2ZW50c1wiIFtldmVudF09XCJldmVudFwiIFttb250aE1vZGVdPVwidHJ1ZVwiXG4gICAgICAgIFtheEV2ZW50VG9vbGJhcl09XCJheEV2ZW50VG9vbGJhclwiIFtheEV2ZW50VGVtcGxhdGVdPVwiYXhFdmVudFRlbXBsYXRlXCIgYXgtc2NoZWR1bGVyLWV2ZW50PjwvZGl2PlxuXG48L25nLWNvbnRhaW5lcj4iXX0=