year-scheduler
Version:
An Angular Year Scheduler component.
69 lines • 12.2 kB
JavaScript
import { Component, ViewEncapsulation } from '@angular/core';
import { trigger, transition, style, animate } from '@angular/animations';
import moment from 'moment';
import { AxiomSchedulerYearViewMonthObject } from '../model/axiom-scheduler-year-view-month-object.model';
import { AxiomSchedulerComponentCommon } from '../axiom-scheduler/axiom-scheduler-component-common.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "../axiom-scheduler-month-tile/axiom-scheduler-month-tile.component";
import * as i3 from "../axiom-scheduler-sidebar/axiom-scheduler-sidebar.component";
export class AxiomSchedulerYearViewComponent extends AxiomSchedulerComponentCommon {
months;
sidebar = false;
weekDays;
constructor(injector) {
super(injector);
}
ngOnInit() {
this.weekDays = Array.from(moment.localeData().weekdaysMin());
// Pasamos o domingo o final
this.weekDays.push(this.weekDays.shift());
this.subscriptionGarbageCollection.push(this.sidebarService.toggle.subscribe(toggle => {
this.sidebar = toggle;
}));
this.refreshDate();
this.refreshView();
}
refreshView() {
this.setMonths();
}
setMonths() {
const startMonth = this.date.clone().startOf('year');
const endMonth = this.date.clone().endOf('year');
this.months = [];
let month = startMonth.clone();
while (month <= endMonth) {
this.months.push(new AxiomSchedulerYearViewMonthObject(month));
month = month.clone().add(1, 'month');
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AxiomSchedulerYearViewComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AxiomSchedulerYearViewComponent, selector: "[ax-scheduler-year-view]", host: { classAttribute: "ax-scheduler__year-view" }, usesInheritance: true, ngImport: i0, template: "\n<div *ngFor=\"let month of months\">\n <div ax-scheduler-month-tile\n [monthObject]=\"month\"\n [axEventTemplate] = \"axEventTemplate\"\n [axEventFormatter] = \"axEventFormatter\"\n [axDragStep]=\"axDragStep\"\n [axEventToolbar]=\"axEventToolbar\"\n [axStartDate]=\"axStartDate\"\n [weekDays]=\"weekDays\"></div>\n</div>\n\n\n<div ax-scheduler-sidebar *ngIf=\"sidebar\" [@slideInOutRight] [axEventTemplate]=\"axEventTemplate\" [axEventToolbar]=\"axEventToolbar\"></div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AxiomSchedulerMonthTileComponent, selector: "[ax-scheduler-month-tile]", inputs: ["monthObject", "weekDays"] }, { kind: "component", type: i3.AxiomSchedulerSidebarComponent, selector: "[ax-scheduler-sidebar]", inputs: ["axEventTemplate", "axEventToolbar"] }], animations: [
trigger('slideInOutRight', [
transition(':enter', [
style({ transform: 'translateX(-100%)' }),
animate(`${120}ms ease-in-out`, style({ transform: 'translateX(0%)' }))
]),
transition(':leave', [
animate(`${100}ms ease-in-out`, style({ transform: 'translateX(100%)' }))
])
])
], encapsulation: i0.ViewEncapsulation.None });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AxiomSchedulerYearViewComponent, decorators: [{
type: Component,
args: [{ selector: '[ax-scheduler-year-view]', encapsulation: ViewEncapsulation.None, host: {
'class': 'ax-scheduler__year-view'
}, animations: [
trigger('slideInOutRight', [
transition(':enter', [
style({ transform: 'translateX(-100%)' }),
animate(`${120}ms ease-in-out`, style({ transform: 'translateX(0%)' }))
]),
transition(':leave', [
animate(`${100}ms ease-in-out`, style({ transform: 'translateX(100%)' }))
])
])
], standalone: false, template: "\n<div *ngFor=\"let month of months\">\n <div ax-scheduler-month-tile\n [monthObject]=\"month\"\n [axEventTemplate] = \"axEventTemplate\"\n [axEventFormatter] = \"axEventFormatter\"\n [axDragStep]=\"axDragStep\"\n [axEventToolbar]=\"axEventToolbar\"\n [axStartDate]=\"axStartDate\"\n [weekDays]=\"weekDays\"></div>\n</div>\n\n\n<div ax-scheduler-sidebar *ngIf=\"sidebar\" [@slideInOutRight] [axEventTemplate]=\"axEventTemplate\" [axEventToolbar]=\"axEventToolbar\"></div>" }]
}], ctorParameters: () => [{ type: i0.Injector }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb20tc2NoZWR1bGVyLXllYXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95ZWFyLXNjaGVkdWxlci9zcmMvbGliL2F4aW9tLXNjaGVkdWxlci15ZWFyLXZpZXcvYXhpb20tc2NoZWR1bGVyLXllYXItdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95ZWFyLXNjaGVkdWxlci9zcmMvbGliL2F4aW9tLXNjaGVkdWxlci15ZWFyLXZpZXcvYXhpb20tc2NoZWR1bGVyLXllYXItdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDMUcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7O0FBdUI5RyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsNkJBQTZCO0lBRXpFLE1BQU0sQ0FBdUM7SUFDN0MsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixRQUFRLENBQVk7SUFFM0IsWUFBWSxRQUFrQjtRQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDOUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRWUsV0FBVztRQUN6QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9ELEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQzt3R0FsQ1UsK0JBQStCOzRGQUEvQiwrQkFBK0IsNElDM0I1QyxpZUFheUksOGlCREN6SDtZQUNSLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtnQkFDdkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDakIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7b0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztpQkFDMUUsQ0FBQztnQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNqQixPQUFPLENBQUMsR0FBRyxHQUFHLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7aUJBQzVFLENBQUM7YUFDTCxDQUFDO1NBQ0w7OzRGQUdRLCtCQUErQjtrQkFyQjNDLFNBQVM7K0JBQ0ksMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLE9BQU8sRUFBRSx5QkFBeUI7cUJBQ3JDLGNBQ1c7d0JBQ1IsT0FBTyxDQUFDLGlCQUFpQixFQUFFOzRCQUN2QixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNqQixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztnQ0FDekMsT0FBTyxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDOzZCQUMxRSxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQzs2QkFDNUUsQ0FBQzt5QkFDTCxDQUFDO3FCQUNMLGNBQ1csS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRyaWdnZXIsIHRyYW5zaXRpb24sIHN0eWxlLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBBeGlvbVNjaGVkdWxlclllYXJWaWV3TW9udGhPYmplY3QgfSBmcm9tICcuLi9tb2RlbC9heGlvbS1zY2hlZHVsZXIteWVhci12aWV3LW1vbnRoLW9iamVjdC5tb2RlbCc7XG5pbXBvcnQgeyBBeGlvbVNjaGVkdWxlckNvbXBvbmVudENvbW1vbiB9IGZyb20gJy4uL2F4aW9tLXNjaGVkdWxlci9heGlvbS1zY2hlZHVsZXItY29tcG9uZW50LWNvbW1vbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1theC1zY2hlZHVsZXIteWVhci12aWV3XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F4aW9tLXNjaGVkdWxlci15ZWFyLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F4aW9tLXNjaGVkdWxlci15ZWFyLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2F4LXNjaGVkdWxlcl9feWVhci12aWV3J1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdzbGlkZUluT3V0UmlnaHQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShgJHsxMjB9bXMgZWFzZS1pbi1vdXRgLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoYCR7MTAwfW1zIGVhc2UtaW4tb3V0YCwgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBBeGlvbVNjaGVkdWxlclllYXJWaWV3Q29tcG9uZW50IGV4dGVuZHMgQXhpb21TY2hlZHVsZXJDb21wb25lbnRDb21tb24gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBtb250aHMhOiBBeGlvbVNjaGVkdWxlclllYXJWaWV3TW9udGhPYmplY3RbXTtcbiAgcHVibGljIHNpZGViYXIgPSBmYWxzZTtcbiAgcHVibGljIHdlZWtEYXlzITogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMud2Vla0RheXMgPSBBcnJheS5mcm9tKG1vbWVudC5sb2NhbGVEYXRhKCkud2Vla2RheXNNaW4oKSk7XG4gICAgLy8gUGFzYW1vcyBvIGRvbWluZ28gbyBmaW5hbFxuICAgIHRoaXMud2Vla0RheXMucHVzaCh0aGlzLndlZWtEYXlzLnNoaWZ0KCkhKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbkdhcmJhZ2VDb2xsZWN0aW9uLnB1c2godGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB7XG4gICAgICB0aGlzLnNpZGViYXIgPSB0b2dnbGU7XG4gICAgfSkpO1xuICAgIHRoaXMucmVmcmVzaERhdGUoKTtcbiAgICB0aGlzLnJlZnJlc2hWaWV3KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVmcmVzaFZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRNb250aHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TW9udGhzKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0TW9udGggPSB0aGlzLmRhdGUuY2xvbmUoKS5zdGFydE9mKCd5ZWFyJyk7XG4gICAgY29uc3QgZW5kTW9udGggPSB0aGlzLmRhdGUuY2xvbmUoKS5lbmRPZigneWVhcicpO1xuICAgIHRoaXMubW9udGhzID0gW107XG4gICAgbGV0IG1vbnRoID0gc3RhcnRNb250aC5jbG9uZSgpO1xuICAgIHdoaWxlIChtb250aCA8PSBlbmRNb250aCkge1xuICAgICAgdGhpcy5tb250aHMucHVzaChuZXcgQXhpb21TY2hlZHVsZXJZZWFyVmlld01vbnRoT2JqZWN0KG1vbnRoKSk7XG4gICAgICBtb250aCA9IG1vbnRoLmNsb25lKCkuYWRkKDEsICdtb250aCcpO1xuICAgIH1cbiAgfVxuXG59XG4iLCJcbjxkaXYgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoc1wiPlxuICA8ZGl2IGF4LXNjaGVkdWxlci1tb250aC10aWxlXG4gIFttb250aE9iamVjdF09XCJtb250aFwiXG4gIFtheEV2ZW50VGVtcGxhdGVdID0gXCJheEV2ZW50VGVtcGxhdGVcIlxuICBbYXhFdmVudEZvcm1hdHRlcl0gPSBcImF4RXZlbnRGb3JtYXR0ZXJcIlxuICBbYXhEcmFnU3RlcF09XCJheERyYWdTdGVwXCJcbiAgW2F4RXZlbnRUb29sYmFyXT1cImF4RXZlbnRUb29sYmFyXCJcbiAgW2F4U3RhcnREYXRlXT1cImF4U3RhcnREYXRlXCJcbiAgW3dlZWtEYXlzXT1cIndlZWtEYXlzXCI+PC9kaXY+XG48L2Rpdj5cblxuXG48ZGl2IGF4LXNjaGVkdWxlci1zaWRlYmFyICpuZ0lmPVwic2lkZWJhclwiIFtAc2xpZGVJbk91dFJpZ2h0XSBbYXhFdmVudFRlbXBsYXRlXT1cImF4RXZlbnRUZW1wbGF0ZVwiIFtheEV2ZW50VG9vbGJhcl09XCJheEV2ZW50VG9vbGJhclwiPjwvZGl2PiJdfQ==