@daypilot/daypilot-lite-angular
Version:
DayPilot Lite for Angular
82 lines • 8.51 kB
JavaScript
import { Component, Input } from "@angular/core";
import { DayPilot } from "./core/daypilot-core";
import { optHash, rand } from "./util";
import * as i0 from "@angular/core";
export class DayPilotMonthComponent {
constructor() {
this.events = [];
this._requestUpdate = false;
this._hashOptions = "";
this._hashEvents = "";
this._id = "dp_" + new Date().getTime() + rand();
}
get id() {
return this._id;
}
ngOnInit() {
}
ngOnDestroy() {
this.dispose();
}
ngAfterViewInit() {
this.dispose();
this.control = new DayPilot.Month(this.id);
this.updateOptions();
this.updateEvents();
this._requestUpdate = false; // config just loaded and calling init(), no need to call update again
this.control.init();
}
ngDoCheck() {
if (!this.control) {
return;
}
this.updateOptions();
this.updateEvents();
if (this._requestUpdate) {
this.control.update();
this._requestUpdate = false;
}
}
dispose() {
if (this.control) {
this.control.dispose();
//@ts-ignore
this.control = null;
}
}
updateOptions() {
let hash = optHash(this.config);
if (hash !== this._hashOptions) {
let dp = this.control;
dp.internal.loadOptions(this.config);
this._requestUpdate = true;
}
this._hashOptions = hash;
}
updateEvents() {
let hash = optHash(this.events);
if (hash !== this._hashEvents) {
let dp = this.control;
dp.events.list = this.events;
this._requestUpdate = true;
}
this._hashEvents = hash;
}
}
DayPilotMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: DayPilotMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
DayPilotMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: DayPilotMonthComponent, selector: "daypilot-month", inputs: { events: "events", config: "config" }, ngImport: i0, template: `
<div id='{{id}}'></div>`, isInline: true, styles: [""] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: DayPilotMonthComponent, decorators: [{
type: Component,
args: [{
selector: 'daypilot-month',
template: `
<div id='{{id}}'></div>`,
styles: [``]
}]
}], propDecorators: { events: [{
type: Input
}], config: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlsb3QtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF5cGlsb3QvZGF5cGlsb3QtbGl0ZS1hbmd1bGFyL3NyYy9saWIvZGF5cGlsb3QtbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFXLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQVFyQyxNQUFNLE9BQU8sc0JBQXNCO0lBTm5DO1FBU1csV0FBTSxHQUF5QixFQUFFLENBQUM7UUFFbkMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekIsUUFBRyxHQUFXLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0tBOEQ3RDtJQTVEQyxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsc0VBQXNFO1FBQ25HLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixZQUFZO1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDOUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQWMsQ0FBQztZQUM3QixFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDN0IsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN0QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFMUIsQ0FBQzs7bUhBdEVVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHNHQUp2Qjs0QkFDZ0I7MkZBR2Ysc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs0QkFDZ0I7b0JBQzFCLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs4QkFJVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIERvQ2hlY2ssIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RGF5UGlsb3R9IGZyb20gXCIuL2NvcmUvZGF5cGlsb3QtY29yZVwiO1xuaW1wb3J0IHtvcHRIYXNoLCByYW5kfSBmcm9tIFwiLi91dGlsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RheXBpbG90LW1vbnRoJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGlkPSd7e2lkfX0nPjwvZGl2PmAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXlQaWxvdE1vbnRoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuXG4gIHB1YmxpYyBjb250cm9sITogRGF5UGlsb3QuTW9udGg7XG4gIEBJbnB1dCgpIGV2ZW50czogRGF5UGlsb3QuRXZlbnREYXRhW10gPSBbXTtcbiAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gIHByaXZhdGUgX3JlcXVlc3RVcGRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaGFzaE9wdGlvbnM6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX2hhc2hFdmVudHM6IHN0cmluZyA9IFwiXCI7XG5cbiAgcHJpdmF0ZSBfaWQ6IHN0cmluZyA9IFwiZHBfXCIgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHJhbmQoKTtcblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB0aGlzLmNvbnRyb2wgPSBuZXcgRGF5UGlsb3QuTW9udGgodGhpcy5pZCk7XG4gICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gICAgdGhpcy51cGRhdGVFdmVudHMoKTtcbiAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlID0gZmFsc2U7IC8vIGNvbmZpZyBqdXN0IGxvYWRlZCBhbmQgY2FsbGluZyBpbml0KCksIG5vIG5lZWQgdG8gY2FsbCB1cGRhdGUgYWdhaW5cbiAgICB0aGlzLmNvbnRyb2wuaW5pdCgpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlRXZlbnRzKCk7XG4gICAgaWYgKHRoaXMuX3JlcXVlc3RVcGRhdGUpIHtcbiAgICAgIHRoaXMuY29udHJvbC51cGRhdGUoKTtcbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3Bvc2UoKSB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLmRpc3Bvc2UoKTtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgdGhpcy5jb250cm9sID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgbGV0IGhhc2ggPSBvcHRIYXNoKHRoaXMuY29uZmlnKTtcbiAgICBpZiAoaGFzaCAhPT0gdGhpcy5faGFzaE9wdGlvbnMpIHtcbiAgICAgIGxldCBkcCA9IHRoaXMuY29udHJvbCBhcyBhbnk7XG4gICAgICBkcC5pbnRlcm5hbC5sb2FkT3B0aW9ucyh0aGlzLmNvbmZpZyk7XG4gICAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5faGFzaE9wdGlvbnMgPSBoYXNoO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVFdmVudHMoKTogdm9pZCB7XG4gICAgbGV0IGhhc2ggPSBvcHRIYXNoKHRoaXMuZXZlbnRzKTtcbiAgICBpZiAoaGFzaCAhPT0gdGhpcy5faGFzaEV2ZW50cykge1xuICAgICAgbGV0IGRwID0gdGhpcy5jb250cm9sO1xuICAgICAgZHAuZXZlbnRzLmxpc3QgPSB0aGlzLmV2ZW50cztcbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLl9oYXNoRXZlbnRzID0gaGFzaDtcblxuICB9XG59XG4iXX0=