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
JavaScript
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==