UNPKG

angular-calendar-scheduler

Version:

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

127 lines 12.7 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 CalendarSchedulerEventComponent = class CalendarSchedulerEventComponent { constructor() { this.showContent = true; this.showActions = true; this.showStatus = true; this.eventClicked = new EventEmitter(); } ngOnInit() { this.title = this.title || `${this.event.event.title}, ${moment(this.event.event.start).format('dddd L, LT')}`; } onMouseEnter() { // Maybe do something } onMouseLeave() { // Maybe do something } /** * @hidden */ onEventClick(mouseEvent, event) { if (mouseEvent.stopPropagation) { mouseEvent.stopPropagation(); } if (event.isClickable) { this.eventClicked.emit({ event: event }); } } }; tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String) ], CalendarSchedulerEventComponent.prototype, "title", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object) ], CalendarSchedulerEventComponent.prototype, "day", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object) ], CalendarSchedulerEventComponent.prototype, "event", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean) ], CalendarSchedulerEventComponent.prototype, "showContent", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean) ], CalendarSchedulerEventComponent.prototype, "showActions", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean) ], CalendarSchedulerEventComponent.prototype, "showStatus", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", TemplateRef) ], CalendarSchedulerEventComponent.prototype, "customTemplate", void 0); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", TemplateRef) ], CalendarSchedulerEventComponent.prototype, "eventTitleTemplate", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], CalendarSchedulerEventComponent.prototype, "eventClicked", void 0); CalendarSchedulerEventComponent = tslib_1.__decorate([ Component({ selector: 'calendar-scheduler-event', template: ` <ng-template #defaultTemplate> <div class="cal-scheduler-event" [title]="title" [class.cal-cancelled]="event.event.isCancelled" [class.cal-disabled]="event.event.isDisabled" [class.cal-not-clickable]="!event.event.isClickable" [class.cal-draggable]="event.event.draggable" [class.cal-starts-before-day]="event.startsBeforeDay" [class.cal-ends-after-day]="event.endsAfterDay" [style.backgroundColor]="event.event.color?.secondary" [style.borderColor]="event.event.color?.primary" (mwlClick)="onEventClick($event, event.event)" (mouseenter)="onMouseEnter()" (mouseleave)="onMouseLeave()"> <calendar-scheduler-event-title view="week" [event]="event.event" [showStatus]="showStatus" [showContent]="showContent" [showActions]="showActions" [customTemplate]="eventTitleTemplate"> </calendar-scheduler-event-title> <calendar-scheduler-event-content *ngIf="showContent" [event]="event.event"> </calendar-scheduler-event-content> <calendar-scheduler-event-actions *ngIf="showActions && showContent && (event.event.isClickable || event.event.isDisabled)" [event]="event.event"> </calendar-scheduler-event-actions> </div> </ng-template> <ng-template [ngTemplateOutlet]="customTemplate || defaultTemplate" [ngTemplateOutletContext]="{ title: title, day: day, event: event, showContent: showContent, showActions: showActions, showStatus: showStatus, eventTitleTemplate: eventTitleTemplate, eventClicked: eventClicked }"> </ng-template> `, host: { '[style.height.%]': '100' } }), tslib_1.__metadata("design:paramtypes", []) ], CalendarSchedulerEventComponent); export { CalendarSchedulerEventComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2NoZWR1bGVyLWV2ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItY2FsZW5kYXItc2NoZWR1bGVyLyIsInNvdXJjZXMiOlsibW9kdWxlcy9zY2hlZHVsZXIvY2FsZW5kYXItc2NoZWR1bGVyLWV2ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPNUYsc0ZBQXNGO0FBQ3RGLE9BQU8sS0FBSyxjQUFjLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQztBQXVEOUIsSUFBYSwrQkFBK0IsR0FBNUMsTUFBYSwrQkFBK0I7SUFtQnhDO1FBWlMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFNUIsZUFBVSxHQUFZLElBQUksQ0FBQztRQU0xQixpQkFBWSxHQUFvRCxJQUFJLFlBQVksRUFBcUMsQ0FBQztJQUU5RyxDQUFDO0lBRVosUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7SUFDbkgsQ0FBQztJQUVELFlBQVk7UUFDUixxQkFBcUI7SUFDekIsQ0FBQztJQUVELFlBQVk7UUFDUixxQkFBcUI7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFVBQXNCLEVBQUUsS0FBNkI7UUFDOUQsSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFO1lBQzVCLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUEzQ1k7SUFBUixLQUFLLEVBQUU7OzhEQUFlO0FBRWQ7SUFBUixLQUFLLEVBQUU7OzREQUF1QjtBQUV0QjtJQUFSLEtBQUssRUFBRTs7OERBQTJCO0FBRTFCO0lBQVIsS0FBSyxFQUFFOztvRUFBNkI7QUFFNUI7SUFBUixLQUFLLEVBQUU7O29FQUE2QjtBQUU1QjtJQUFSLEtBQUssRUFBRTs7bUVBQTRCO0FBRTNCO0lBQVIsS0FBSyxFQUFFO3NDQUFpQixXQUFXO3VFQUFNO0FBRWpDO0lBQVIsS0FBSyxFQUFFO3NDQUFxQixXQUFXOzJFQUFNO0FBRXBDO0lBQVQsTUFBTSxFQUFFO3NDQUFlLFlBQVk7cUVBQTRGO0FBakJ2SCwrQkFBK0I7SUFyRDNDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOENUO1FBQ0QsSUFBSSxFQUFFO1lBQ0Ysa0JBQWtCLEVBQUUsS0FBSztTQUM1QjtLQUNKLENBQUM7O0dBQ1csK0JBQStCLENBNEMzQztTQTVDWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgU2NoZWR1bGVyVmlld0RheSxcclxuICAgIENhbGVuZGFyU2NoZWR1bGVyRXZlbnQsXHJcbiAgICBTY2hlZHVsZXJWaWV3RXZlbnRcclxufSBmcm9tICcuL21vZGVscyc7XHJcblxyXG4vLyBXT1JLQVJPVU5EOiBodHRwczovL2dpdGh1Yi5jb20vZGhlcmdlcy9uZy1wYWNrYWdyL2lzc3Vlcy8yMTcjaXNzdWVjb21tZW50LTMzOTQ2MDI1NVxyXG5pbXBvcnQgKiBhcyBtb21lbnRJbXBvcnRlZCBmcm9tICdtb21lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRJbXBvcnRlZDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjYWxlbmRhci1zY2hlZHVsZXItZXZlbnQnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbC1zY2hlZHVsZXItZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5jYWwtY2FuY2VsbGVkXT1cImV2ZW50LmV2ZW50LmlzQ2FuY2VsbGVkXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5jYWwtZGlzYWJsZWRdPVwiZXZlbnQuZXZlbnQuaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY2FsLW5vdC1jbGlja2FibGVdPVwiIWV2ZW50LmV2ZW50LmlzQ2xpY2thYmxlXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5jYWwtZHJhZ2dhYmxlXT1cImV2ZW50LmV2ZW50LmRyYWdnYWJsZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY2FsLXN0YXJ0cy1iZWZvcmUtZGF5XT1cImV2ZW50LnN0YXJ0c0JlZm9yZURheVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuY2FsLWVuZHMtYWZ0ZXItZGF5XT1cImV2ZW50LmVuZHNBZnRlckRheVwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImV2ZW50LmV2ZW50LmNvbG9yPy5zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cImV2ZW50LmV2ZW50LmNvbG9yPy5wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIChtd2xDbGljayk9XCJvbkV2ZW50Q2xpY2soJGV2ZW50LCBldmVudC5ldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIlxyXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIj5cclxuICAgICAgICAgICAgICAgIDxjYWxlbmRhci1zY2hlZHVsZXItZXZlbnQtdGl0bGVcclxuICAgICAgICAgICAgICAgICAgICB2aWV3PVwid2Vla1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2V2ZW50XT1cImV2ZW50LmV2ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd1N0YXR1c109XCJzaG93U3RhdHVzXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0NvbnRlbnRdPVwic2hvd0NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93QWN0aW9uc109XCJzaG93QWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVRlbXBsYXRlXT1cImV2ZW50VGl0bGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9jYWxlbmRhci1zY2hlZHVsZXItZXZlbnQtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8Y2FsZW5kYXItc2NoZWR1bGVyLWV2ZW50LWNvbnRlbnRcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dDb250ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICBbZXZlbnRdPVwiZXZlbnQuZXZlbnRcIj5cclxuICAgICAgICAgICAgICAgIDwvY2FsZW5kYXItc2NoZWR1bGVyLWV2ZW50LWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8Y2FsZW5kYXItc2NoZWR1bGVyLWV2ZW50LWFjdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dBY3Rpb25zICYmIHNob3dDb250ZW50ICYmIChldmVudC5ldmVudC5pc0NsaWNrYWJsZSB8fCBldmVudC5ldmVudC5pc0Rpc2FibGVkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2V2ZW50XT1cImV2ZW50LmV2ZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8L2NhbGVuZGFyLXNjaGVkdWxlci1ldmVudC1hY3Rpb25zPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21UZW1wbGF0ZSB8fCBkZWZhdWx0VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGF5OiBkYXksXHJcbiAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgICAgICBzaG93Q29udGVudDogc2hvd0NvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICBzaG93QWN0aW9uczogc2hvd0FjdGlvbnMsXHJcbiAgICAgICAgICAgICAgICBzaG93U3RhdHVzOiBzaG93U3RhdHVzLFxyXG4gICAgICAgICAgICAgICAgZXZlbnRUaXRsZVRlbXBsYXRlOiBldmVudFRpdGxlVGVtcGxhdGUsXHJcbiAgICAgICAgICAgICAgICBldmVudENsaWNrZWQ6IGV2ZW50Q2xpY2tlZFxyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1tzdHlsZS5oZWlnaHQuJV0nOiAnMTAwJ1xyXG4gICAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJTY2hlZHVsZXJFdmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIGRheTogU2NoZWR1bGVyVmlld0RheTtcclxuXHJcbiAgICBASW5wdXQoKSBldmVudDogU2NoZWR1bGVyVmlld0V2ZW50O1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dDb250ZW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBzaG93QWN0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgc2hvd1N0YXR1czogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgQElucHV0KCkgZXZlbnRUaXRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIEBPdXRwdXQoKSBldmVudENsaWNrZWQ6IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBDYWxlbmRhclNjaGVkdWxlckV2ZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBDYWxlbmRhclNjaGVkdWxlckV2ZW50IH0+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7ICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy50aXRsZSB8fCBgJHt0aGlzLmV2ZW50LmV2ZW50LnRpdGxlfSwgJHttb21lbnQodGhpcy5ldmVudC5ldmVudC5zdGFydCkuZm9ybWF0KCdkZGRkIEwsIExUJyl9YDtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gTWF5YmUgZG8gc29tZXRoaW5nXHJcbiAgICB9XHJcblxyXG4gICAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIE1heWJlIGRvIHNvbWV0aGluZ1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGhpZGRlblxyXG4gICAgICovXHJcbiAgICBvbkV2ZW50Q2xpY2sobW91c2VFdmVudDogTW91c2VFdmVudCwgZXZlbnQ6IENhbGVuZGFyU2NoZWR1bGVyRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAobW91c2VFdmVudC5zdG9wUHJvcGFnYXRpb24pIHtcclxuICAgICAgICAgICAgbW91c2VFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGV2ZW50LmlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXZlbnRDbGlja2VkLmVtaXQoeyBldmVudDogZXZlbnQgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==