year-scheduler
Version:
An Angular Year Scheduler component.
73 lines • 9.31 kB
JavaScript
import { Component, Input } from '@angular/core';
import moment from 'moment';
import { distinct } from 'rxjs/operators';
import { AxiomSchedulerSidebarService } from '../services/axiom-scheduler-sidebar.service';
import { AxiomSchedulerService } from '../services/axiom-scheduler.service';
import * as i0 from "@angular/core";
export class AxiomSchedulerComponentCommon {
injector;
axStartDate;
axEventTemplate;
axEventFormatter;
axDragStep;
axLocale;
axEventToolbar;
today;
date;
service;
sidebarService;
subscriptionGarbageCollection = [];
constructor(injector) {
this.injector = injector;
this.today = moment();
this.service = this.injector.get(AxiomSchedulerService);
this.sidebarService = this.injector.get(AxiomSchedulerSidebarService);
this.subscriptionGarbageCollection.push(this.service.refershRequest.subscribe((s) => {
if (s) {
this.date = s.clone();
this.date.locale(this.service.schedulerLocale);
this.refreshView();
}
}));
this.subscriptionGarbageCollection.push(this.service.locale.pipe(distinct()).subscribe((locale) => {
moment.locale(locale);
if (this.date) {
this.date.locale(this.service.schedulerLocale);
this.refreshView();
}
}));
}
refreshDate(axStartDate) {
this.date = axStartDate ? moment(axStartDate) : moment(Date.now());
}
refreshView() { }
ngOnDestroy() {
if (Array.isArray(this.subscriptionGarbageCollection)) {
this.subscriptionGarbageCollection.forEach(g => g && g.unsubscribe());
}
this.baseDestroy();
}
baseDestroy() { }
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AxiomSchedulerComponentCommon, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AxiomSchedulerComponentCommon, selector: "ng-component", inputs: { axStartDate: "axStartDate", axEventTemplate: "axEventTemplate", axEventFormatter: "axEventFormatter", axDragStep: "axDragStep", axLocale: "axLocale", axEventToolbar: "axEventToolbar" }, ngImport: i0, template: '', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AxiomSchedulerComponentCommon, decorators: [{
type: Component,
args: [{
template: '',
standalone: false
}]
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { axStartDate: [{
type: Input
}], axEventTemplate: [{
type: Input
}], axEventFormatter: [{
type: Input
}], axDragStep: [{
type: Input
}], axLocale: [{
type: Input
}], axEventToolbar: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb20tc2NoZWR1bGVyLWNvbXBvbmVudC1jb21tb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveWVhci1zY2hlZHVsZXIvc3JjL2xpYi9heGlvbS1zY2hlZHVsZXIvYXhpb20tc2NoZWR1bGVyLWNvbXBvbmVudC1jb21tb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQU01RSxNQUFNLE9BQU8sNkJBQTZCO0lBZWhCO0lBYmIsV0FBVyxDQUFRO0lBQ25CLGVBQWUsQ0FBb0I7SUFDbkMsZ0JBQWdCLENBQXNDO0lBQ3RELFVBQVUsQ0FBSztJQUNmLFFBQVEsQ0FBVTtJQUNsQixjQUFjLENBQVE7SUFFeEIsS0FBSyxDQUFnQjtJQUNyQixJQUFJLENBQWlCO0lBQ3JCLE9BQU8sQ0FBd0I7SUFDL0IsY0FBYyxDQUErQjtJQUM3Qyw2QkFBNkIsR0FBbUIsRUFBRSxDQUFDO0lBRTFELFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEYsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDTixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXLENBQUMsV0FBa0I7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxXQUFXLEtBQVcsQ0FBQztJQUV2QixXQUFXO1FBQ2hCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxLQUFXLENBQUM7d0dBaERyQiw2QkFBNkI7NEZBQTdCLDZCQUE2Qix3UEFINUIsRUFBRTs7NEZBR0gsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs2RUFHWSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF4aW9tU2NoZWR1bGVyU2lkZWJhclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9heGlvbS1zY2hlZHVsZXItc2lkZWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhpb21TY2hlZHVsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXhpb20tc2NoZWR1bGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxyXG5leHBvcnQgY2xhc3MgQXhpb21TY2hlZHVsZXJDb21wb25lbnRDb21tb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIFxyXG4gICAgQElucHV0KCkgYXhTdGFydERhdGUhOiBEYXRlO1xyXG4gICAgQElucHV0KCkgYXhFdmVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBJbnB1dCgpIGF4RXZlbnRGb3JtYXR0ZXIhOiAoZGF0YTogYW55LCBkYXRlPzogRGF0ZSkgPT4gc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYXhEcmFnU3RlcCE6IDU7XHJcbiAgICBASW5wdXQoKSBheExvY2FsZSE6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGF4RXZlbnRUb29sYmFyITogdHJ1ZTtcclxuICBcclxuICAgIHB1YmxpYyB0b2RheTogbW9tZW50Lk1vbWVudDtcclxuICAgIHB1YmxpYyBkYXRlITogbW9tZW50Lk1vbWVudDtcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBBeGlvbVNjaGVkdWxlclNlcnZpY2U7XHJcbiAgICBwdWJsaWMgc2lkZWJhclNlcnZpY2U6IEF4aW9tU2NoZWR1bGVyU2lkZWJhclNlcnZpY2U7XHJcbiAgICBwdWJsaWMgc3Vic2NyaXB0aW9uR2FyYmFnZUNvbGxlY3Rpb246IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgIHRoaXMudG9kYXkgPSBtb21lbnQoKTtcclxuICAgICAgdGhpcy5zZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQXhpb21TY2hlZHVsZXJTZXJ2aWNlKTtcclxuICAgICAgdGhpcy5zaWRlYmFyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEF4aW9tU2NoZWR1bGVyU2lkZWJhclNlcnZpY2UpO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbkdhcmJhZ2VDb2xsZWN0aW9uLnB1c2godGhpcy5zZXJ2aWNlLnJlZmVyc2hSZXF1ZXN0LnN1YnNjcmliZSgocykgPT4ge1xyXG4gICAgICAgIGlmIChzKSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGUgPSBzLmNsb25lKCk7XHJcbiAgICAgICAgICB0aGlzLmRhdGUubG9jYWxlKHRoaXMuc2VydmljZS5zY2hlZHVsZXJMb2NhbGUpO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVmlldygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbkdhcmJhZ2VDb2xsZWN0aW9uLnB1c2godGhpcy5zZXJ2aWNlLmxvY2FsZS5waXBlKGRpc3RpbmN0KCkpLnN1YnNjcmliZSgobG9jYWxlKSA9PiB7XHJcbiAgICAgICAgbW9tZW50LmxvY2FsZShsb2NhbGUpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGUpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZS5sb2NhbGUodGhpcy5zZXJ2aWNlLnNjaGVkdWxlckxvY2FsZSk7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hWaWV3KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwdWJsaWMgcmVmcmVzaERhdGUoYXhTdGFydERhdGU/OiBEYXRlKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuZGF0ZSA9IGF4U3RhcnREYXRlID8gbW9tZW50KGF4U3RhcnREYXRlKSA6IG1vbWVudChEYXRlLm5vdygpKTtcclxuICAgIH1cclxuICBcclxuICAgIHB1YmxpYyByZWZyZXNoVmlldygpOiB2b2lkIHsgfVxyXG4gIFxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnN1YnNjcmlwdGlvbkdhcmJhZ2VDb2xsZWN0aW9uKSkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uR2FyYmFnZUNvbGxlY3Rpb24uZm9yRWFjaChnID0+IGcgJiYgZy51bnN1YnNjcmliZSgpKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmJhc2VEZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwdWJsaWMgYmFzZURlc3Ryb3koKTogdm9pZCB7IH1cclxuICBcclxuICB9Il19