UNPKG

angular-calendar-scheduler

Version:

This project provide a scheduler view component for [mattlewis92/angular-calendar](https://github.com/mattlewis92/angular-calendar).

110 lines 10.9 kB
import * as tslib_1 from "tslib"; import { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'; // WORKAROUND: https://github.com/dherges/ng-packagr/issues/217#issuecomment-339460255 import * as momentImported from 'moment'; const moment = momentImported; let CalendarSchedulerHourSegmentComponent = class CalendarSchedulerHourSegmentComponent { constructor() { this.hourSegmentHeight = 58; this.showHour = false; this.segmentClicked = new EventEmitter(); } ngOnInit() { this.title = this.title || moment(this.segment.date).format('dddd L, LT'); } /** * @hidden */ onMouseEnter(mouseEvent, segment, event) { if (!event.isDisabled && !segment.isDisabled) { // Maybe do something } } /** * @hidden */ onMouseLeave(mouseEvent, segment, event) { if (!event.isDisabled && !segment.isDisabled) { // Maybe do something } } /** * @hidden */ onSegmentClick(mouseEvent, segment) { if (mouseEvent.stopPropagation) { mouseEvent.stopPropagation(); } if (segment.events.length === 0 && !segment.isDisabled && !segment.isCancelled) { this.segmentClicked.emit({ segment: segment }); } } }; tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String) ], CalendarSchedulerHourSegmentComponent.prototype, "title", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object) ], CalendarSchedulerHourSegmentComponent.prototype, "day", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object) ], CalendarSchedulerHourSegmentComponent.prototype, "segment", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String) ], CalendarSchedulerHourSegmentComponent.prototype, "locale", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", TemplateRef) ], CalendarSchedulerHourSegmentComponent.prototype, "customTemplate", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Number) ], CalendarSchedulerHourSegmentComponent.prototype, "hourSegmentHeight", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean) ], CalendarSchedulerHourSegmentComponent.prototype, "showHour", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], CalendarSchedulerHourSegmentComponent.prototype, "segmentClicked", void 0); CalendarSchedulerHourSegmentComponent = tslib_1.__decorate([ Component({ selector: 'calendar-scheduler-hour-segment', template: ` <ng-template #defaultTemplate> <div class="cal-scheduler-hour-segment" [title]="title" [ngClass]="segment?.cssClass" [class.has-events]="segment.events.length > 0" [class.cal-cancelled]="segment.isCancelled" [class.cal-disabled]="segment.isDisabled" [style.backgroundColor]="segment.backgroundColor" [style.height.px]="hourSegmentHeight" (mwlClick)="onSegmentClick($event, segment)"> <div class="cal-scheduler-time" *ngIf="showHour"> {{ segment.date | calendarDate:'dayViewHour':locale }} </div> </div> </ng-template> <ng-template [ngTemplateOutlet]="customTemplate || defaultTemplate" [ngTemplateOutletContext]="{ title: title, day: day, segment: segment, locale: locale, hourSegmentHeight: hourSegmentHeight, showHour: showHour, segmentClicked: segmentClicked }"> </ng-template> ` }) ], CalendarSchedulerHourSegmentComponent); export { CalendarSchedulerHourSegmentComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2NoZWR1bGVyLWhvdXItc2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWNhbGVuZGFyLXNjaGVkdWxlci8iLCJzb3VyY2VzIjpbIm1vZHVsZXMvc2NoZWR1bGVyL2NhbGVuZGFyLXNjaGVkdWxlci1ob3VyLXNlZ21lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU81RixzRkFBc0Y7QUFDdEYsT0FBTyxLQUFLLGNBQWMsTUFBTSxRQUFRLENBQUM7QUFDekMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDO0FBa0M5QixJQUFhLHFDQUFxQyxHQUFsRCxNQUFhLHFDQUFxQztJQWhDbEQ7UUEyQ2Esc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRS9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFekIsbUJBQWMsR0FBd0QsSUFBSSxZQUFZLEVBQXlDLENBQUM7SUFvQzlJLENBQUM7SUFsQ0csUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFVBQXNCLEVBQUUsT0FBaUMsRUFBRSxLQUE2QjtRQUNqRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDMUMscUJBQXFCO1NBQ3hCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFVBQXNCLEVBQUUsT0FBaUMsRUFBRSxLQUE2QjtRQUNqRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDMUMscUJBQXFCO1NBQ3hCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFVBQXNCLEVBQUUsT0FBaUM7UUFDcEUsSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFO1lBQzVCLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNoQztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDNUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7Q0FDSixDQUFBO0FBbERZO0lBQVIsS0FBSyxFQUFFOztvRUFBZTtBQUVkO0lBQVIsS0FBSyxFQUFFOztrRUFBdUI7QUFFdEI7SUFBUixLQUFLLEVBQUU7O3NFQUFtQztBQUVsQztJQUFSLEtBQUssRUFBRTs7cUVBQWdCO0FBRWY7SUFBUixLQUFLLEVBQUU7c0NBQWlCLFdBQVc7NkVBQU07QUFFakM7SUFBUixLQUFLLEVBQUU7O2dGQUFnQztBQUUvQjtJQUFSLEtBQUssRUFBRTs7dUVBQTJCO0FBRXpCO0lBQVQsTUFBTSxFQUFFO3NDQUFpQixZQUFZOzZFQUFvRztBQWZqSSxxQ0FBcUM7SUFoQ2pELFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQ0FBaUM7UUFDM0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNEJUO0tBQ0osQ0FBQztHQUNXLHFDQUFxQyxDQW1EakQ7U0FuRFkscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIFNjaGVkdWxlclZpZXdEYXksXHJcbiAgICBTY2hlZHVsZXJWaWV3SG91clNlZ21lbnQsXHJcbiAgICBDYWxlbmRhclNjaGVkdWxlckV2ZW50XHJcbn0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuLy8gV09SS0FST1VORDogaHR0cHM6Ly9naXRodWIuY29tL2RoZXJnZXMvbmctcGFja2Fnci9pc3N1ZXMvMjE3I2lzc3VlY29tbWVudC0zMzk0NjAyNTVcclxuaW1wb3J0ICogYXMgbW9tZW50SW1wb3J0ZWQgZnJvbSAnbW9tZW50JztcclxuY29uc3QgbW9tZW50ID0gbW9tZW50SW1wb3J0ZWQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY2FsZW5kYXItc2NoZWR1bGVyLWhvdXItc2VnbWVudCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsLXNjaGVkdWxlci1ob3VyLXNlZ21lbnRcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlZ21lbnQ/LmNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5oYXMtZXZlbnRzXT1cInNlZ21lbnQuZXZlbnRzLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmNhbC1jYW5jZWxsZWRdPVwic2VnbWVudC5pc0NhbmNlbGxlZFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY2FsLWRpc2FibGVkXT1cInNlZ21lbnQuaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInNlZ21lbnQuYmFja2dyb3VuZENvbG9yXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaG91clNlZ21lbnRIZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgKG13bENsaWNrKT1cIm9uU2VnbWVudENsaWNrKCRldmVudCwgc2VnbWVudClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWwtc2NoZWR1bGVyLXRpbWVcIiAqbmdJZj1cInNob3dIb3VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VnbWVudC5kYXRlIHwgY2FsZW5kYXJEYXRlOidkYXlWaWV3SG91cic6bG9jYWxlIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tVGVtcGxhdGUgfHwgZGVmYXVsdFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGRheTogZGF5LFxyXG4gICAgICAgICAgICAgICAgc2VnbWVudDogc2VnbWVudCxcclxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlLFxyXG4gICAgICAgICAgICAgICAgaG91clNlZ21lbnRIZWlnaHQ6IGhvdXJTZWdtZW50SGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgc2hvd0hvdXI6IHNob3dIb3VyLFxyXG4gICAgICAgICAgICAgICAgc2VnbWVudENsaWNrZWQ6IHNlZ21lbnRDbGlja2VkXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJTY2hlZHVsZXJIb3VyU2VnbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIGRheTogU2NoZWR1bGVyVmlld0RheTtcclxuXHJcbiAgICBASW5wdXQoKSBzZWdtZW50OiBTY2hlZHVsZXJWaWV3SG91clNlZ21lbnQ7XHJcblxyXG4gICAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KCkgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgQElucHV0KCkgaG91clNlZ21lbnRIZWlnaHQ6IG51bWJlciA9IDU4O1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dIb3VyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpIHNlZ21lbnRDbGlja2VkOiBFdmVudEVtaXR0ZXI8eyBzZWdtZW50OiBTY2hlZHVsZXJWaWV3SG91clNlZ21lbnQgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgc2VnbWVudDogU2NoZWR1bGVyVmlld0hvdXJTZWdtZW50IH0+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMudGl0bGUgfHwgbW9tZW50KHRoaXMuc2VnbWVudC5kYXRlKS5mb3JtYXQoJ2RkZGQgTCwgTFQnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBoaWRkZW5cclxuICAgICAqL1xyXG4gICAgb25Nb3VzZUVudGVyKG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQsIHNlZ21lbnQ6IFNjaGVkdWxlclZpZXdIb3VyU2VnbWVudCwgZXZlbnQ6IENhbGVuZGFyU2NoZWR1bGVyRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWV2ZW50LmlzRGlzYWJsZWQgJiYgIXNlZ21lbnQuaXNEaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAvLyBNYXliZSBkbyBzb21ldGhpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaGlkZGVuXHJcbiAgICAgKi9cclxuICAgIG9uTW91c2VMZWF2ZShtb3VzZUV2ZW50OiBNb3VzZUV2ZW50LCBzZWdtZW50OiBTY2hlZHVsZXJWaWV3SG91clNlZ21lbnQsIGV2ZW50OiBDYWxlbmRhclNjaGVkdWxlckV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFldmVudC5pc0Rpc2FibGVkICYmICFzZWdtZW50LmlzRGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgLy8gTWF5YmUgZG8gc29tZXRoaW5nXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGhpZGRlblxyXG4gICAgICovXHJcbiAgICBvblNlZ21lbnRDbGljayhtb3VzZUV2ZW50OiBNb3VzZUV2ZW50LCBzZWdtZW50OiBTY2hlZHVsZXJWaWV3SG91clNlZ21lbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAobW91c2VFdmVudC5zdG9wUHJvcGFnYXRpb24pIHtcclxuICAgICAgICAgICAgbW91c2VFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzZWdtZW50LmV2ZW50cy5sZW5ndGggPT09IDAgJiYgIXNlZ21lbnQuaXNEaXNhYmxlZCAmJiAhc2VnbWVudC5pc0NhbmNlbGxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlZ21lbnRDbGlja2VkLmVtaXQoeyBzZWdtZW50OiBzZWdtZW50IH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=