UNPKG

angular-calendar-timeline

Version:

A timeline for angular that shows events on a timeline board in different modes: days, weeks, and months.

54 lines 8.09 kB
import { TimelineViewMode } from "./models"; import { Inject, Injectable } from "@angular/core"; import { DayScaleGenerator } from "./scale-generator/day-scale-generator"; import { WeekScaleGenerator } from "./scale-generator/week-scale-generator"; import { MonthScaleGenerator } from "./scale-generator/month-scale-generator"; import { DaysViewModeAdaptor } from "./view-mode-adaptor/days-view-mode-adaptor"; import { WeeksViewModeAdaptor } from "./view-mode-adaptor/weeks-view-mode-adaptor"; import { MonthsViewModeAdaptor } from "./view-mode-adaptor/months-view-mode-adaptor"; import * as i0 from "@angular/core"; export class DefaultStrategyManager { constructor(_dayGenerator, _weekGenerator, _monthGenerator) { this._dayGenerator = _dayGenerator; this._weekGenerator = _weekGenerator; this._monthGenerator = _monthGenerator; this._generatorsDictionary = { [TimelineViewMode.Day]: this._dayGenerator, [TimelineViewMode.Week]: this._weekGenerator, [TimelineViewMode.Month]: this._monthGenerator, }; this._calculatorsDictionary = { [TimelineViewMode.Day]: new DaysViewModeAdaptor(), [TimelineViewMode.Week]: new WeeksViewModeAdaptor(), [TimelineViewMode.Month]: new MonthsViewModeAdaptor(), }; } getViewModeAdaptor(viewMode) { return this._calculatorsDictionary[viewMode]; } getScaleGenerator(viewMode) { return this._generatorsDictionary[viewMode]; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultStrategyManager, deps: [{ token: DayScaleGenerator }, { token: WeekScaleGenerator }, { token: MonthScaleGenerator }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultStrategyManager }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultStrategyManager, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [DayScaleGenerator] }] }, { type: undefined, decorators: [{ type: Inject, args: [WeekScaleGenerator] }] }, { type: undefined, decorators: [{ type: Inject, args: [MonthScaleGenerator] }] }] }); export class StrategyManager extends DefaultStrategyManager { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StrategyManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StrategyManager }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StrategyManager, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3ktbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2FsZW5kYXItdGltZWxpbmUvc3JjL2xpYi9zdHJhdGVneS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxnQkFBZ0IsRUFDakIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBU3JGLE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFBaUQsYUFBOEIsRUFDN0IsY0FBK0IsRUFDOUIsZUFBZ0M7UUFGbEMsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQzdCLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFkekUsMEJBQXFCLEdBQUc7WUFDaEMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUMxQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzVDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0MsQ0FBQztRQUVRLDJCQUFzQixHQUFHO1lBQ2pDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxtQkFBbUIsRUFBRTtZQUNqRCxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksb0JBQW9CLEVBQUU7WUFDbkQsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLHFCQUFxQixFQUFFO1NBQ3RELENBQUM7SUFNRixDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBdUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUF1QyxDQUFDLENBQUM7SUFDN0UsQ0FBQzsrR0F6QlUsc0JBQXNCLGtCQWFiLGlCQUFpQixhQUNqQixrQkFBa0IsYUFDbEIsbUJBQW1CO21IQWY1QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQWNJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLG1CQUFtQjs7QUFjekMsTUFBTSxPQUFPLGVBQTZDLFNBQVEsc0JBQWdDOytHQUFyRixlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIElWaWV3TW9kZUFkYXB0b3IsXHJcbiAgSVNjYWxlR2VuZXJhdG9yLFxyXG4gIFRpbWVsaW5lVmlld01vZGVcclxufSBmcm9tIFwiLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGF5U2NhbGVHZW5lcmF0b3IgfSBmcm9tIFwiLi9zY2FsZS1nZW5lcmF0b3IvZGF5LXNjYWxlLWdlbmVyYXRvclwiO1xyXG5pbXBvcnQgeyBXZWVrU2NhbGVHZW5lcmF0b3IgfSBmcm9tIFwiLi9zY2FsZS1nZW5lcmF0b3Ivd2Vlay1zY2FsZS1nZW5lcmF0b3JcIjtcclxuaW1wb3J0IHsgTW9udGhTY2FsZUdlbmVyYXRvciB9IGZyb20gXCIuL3NjYWxlLWdlbmVyYXRvci9tb250aC1zY2FsZS1nZW5lcmF0b3JcIjtcclxuaW1wb3J0IHsgRGF5c1ZpZXdNb2RlQWRhcHRvciB9IGZyb20gXCIuL3ZpZXctbW9kZS1hZGFwdG9yL2RheXMtdmlldy1tb2RlLWFkYXB0b3JcIjtcclxuaW1wb3J0IHsgV2Vla3NWaWV3TW9kZUFkYXB0b3IgfSBmcm9tIFwiLi92aWV3LW1vZGUtYWRhcHRvci93ZWVrcy12aWV3LW1vZGUtYWRhcHRvclwiO1xyXG5pbXBvcnQgeyBNb250aHNWaWV3TW9kZUFkYXB0b3IgfSBmcm9tIFwiLi92aWV3LW1vZGUtYWRhcHRvci9tb250aHMtdmlldy1tb2RlLWFkYXB0b3JcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN0cmF0ZWd5TWFuYWdlcjxWaWV3TW9kZSA9IFRpbWVsaW5lVmlld01vZGU+IHtcclxuICBnZXRTY2FsZUdlbmVyYXRvcih2aWV3TW9kZTogVmlld01vZGUpOiBJU2NhbGVHZW5lcmF0b3I7XHJcblxyXG4gIGdldFZpZXdNb2RlQWRhcHRvcih2aWV3TW9kZTogVmlld01vZGUpOiBJVmlld01vZGVBZGFwdG9yO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0U3RyYXRlZ3lNYW5hZ2VyPFZpZXdNb2RlPiBpbXBsZW1lbnRzIElTdHJhdGVneU1hbmFnZXI8Vmlld01vZGU+IHtcclxuICBwcm90ZWN0ZWQgX2dlbmVyYXRvcnNEaWN0aW9uYXJ5ID0ge1xyXG4gICAgW1RpbWVsaW5lVmlld01vZGUuRGF5XTogdGhpcy5fZGF5R2VuZXJhdG9yLFxyXG4gICAgW1RpbWVsaW5lVmlld01vZGUuV2Vla106IHRoaXMuX3dlZWtHZW5lcmF0b3IsXHJcbiAgICBbVGltZWxpbmVWaWV3TW9kZS5Nb250aF06IHRoaXMuX21vbnRoR2VuZXJhdG9yLFxyXG4gIH07XHJcblxyXG4gIHByb3RlY3RlZCBfY2FsY3VsYXRvcnNEaWN0aW9uYXJ5ID0ge1xyXG4gICAgW1RpbWVsaW5lVmlld01vZGUuRGF5XTogbmV3IERheXNWaWV3TW9kZUFkYXB0b3IoKSxcclxuICAgIFtUaW1lbGluZVZpZXdNb2RlLldlZWtdOiBuZXcgV2Vla3NWaWV3TW9kZUFkYXB0b3IoKSxcclxuICAgIFtUaW1lbGluZVZpZXdNb2RlLk1vbnRoXTogbmV3IE1vbnRoc1ZpZXdNb2RlQWRhcHRvcigpLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRGF5U2NhbGVHZW5lcmF0b3IpIHByb3RlY3RlZCBfZGF5R2VuZXJhdG9yOiBJU2NhbGVHZW5lcmF0b3IsXHJcbiAgICAgICAgICAgICAgQEluamVjdChXZWVrU2NhbGVHZW5lcmF0b3IpIHByb3RlY3RlZCBfd2Vla0dlbmVyYXRvcjogSVNjYWxlR2VuZXJhdG9yLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoTW9udGhTY2FsZUdlbmVyYXRvcikgcHJvdGVjdGVkIF9tb250aEdlbmVyYXRvcjogSVNjYWxlR2VuZXJhdG9yLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0Vmlld01vZGVBZGFwdG9yKHZpZXdNb2RlOiBWaWV3TW9kZSk6IElWaWV3TW9kZUFkYXB0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGN1bGF0b3JzRGljdGlvbmFyeVt2aWV3TW9kZSBhcyB1bmtub3duIGFzIFRpbWVsaW5lVmlld01vZGVdO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2NhbGVHZW5lcmF0b3Iodmlld01vZGU6IFZpZXdNb2RlKTogSVNjYWxlR2VuZXJhdG9yIHtcclxuICAgIHJldHVybiB0aGlzLl9nZW5lcmF0b3JzRGljdGlvbmFyeVt2aWV3TW9kZSBhcyB1bmtub3duIGFzIFRpbWVsaW5lVmlld01vZGVdO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RyYXRlZ3lNYW5hZ2VyPFZpZXdNb2RlID0gVGltZWxpbmVWaWV3TW9kZT4gZXh0ZW5kcyBEZWZhdWx0U3RyYXRlZ3lNYW5hZ2VyPFZpZXdNb2RlPiB7XHJcbn1cclxuIl19