novo-elements 8.0.1 → 8.1.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements/agenda/common/AgendaDateChange.scss +3 -1
- package/elements/agenda/common/AgendaHoursLayout.scss +52 -0
- package/elements/agenda/day/AgendaDayView.scss +40 -85
- package/elements/agenda/month/AgendaMonthView.scss +139 -135
- package/elements/agenda/week/AgendaWeekView.scss +70 -66
- package/elements/card/Card.d.ts +2 -2
- package/elements/card/Card.scss +27 -55
- package/elements/card/CardContent.scss +8 -0
- package/elements/card/CardFooter.scss +10 -0
- package/elements/card/CardHeader.scss +14 -0
- package/elements/date-picker/DatePicker.scss +181 -348
- package/elements/date-picker/DatePickerInput.scss +45 -0
- package/elements/date-picker/DateRangeInput.scss +55 -0
- package/elements/date-picker/MultiDateInput.scss +50 -0
- package/elements/date-time-picker/DateTimePickerInput.scss +14 -0
- package/elements/date-time-picker/_DateTimePicker.scss +4 -17
- package/elements/dropdown/Dropdown.scss +3 -3
- package/elements/header/Header.scss +14 -19
- package/elements/header/HeaderSpacer.scss +7 -0
- package/elements/icon/Icon.scss +1 -1
- package/elements/list/List.scss +5 -111
- package/elements/list/list-item-content.scss +34 -0
- package/elements/list/list-item-end.scss +8 -0
- package/elements/list/list-item-header-avatar.scss +12 -0
- package/elements/list/list-item-header-end.scss +4 -0
- package/elements/list/list-item-header-title.scss +17 -0
- package/elements/list/list-item-header.scss +17 -0
- package/elements/list/list-item.scss +47 -0
- package/elements/loading/Loading.scss +4 -1
- package/elements/loading/NovoSpinner.scss +3 -1
- package/elements/modal/modal.component.scss +19 -115
- package/elements/modal/notification.component.scss +108 -0
- package/elements/places/places.component.scss +3 -1
- package/elements/quick-note/QuickNote.scss +2 -31
- package/elements/quick-note/extras/quick-note-results/QuickNoteResults.scss +18 -0
- package/elements/radio/Radio.scss +32 -41
- package/elements/radio/radio-group.scss +53 -0
- package/elements/search/SearchBox.scss +2 -2
- package/elements/select/Select.scss +1 -1
- package/elements/simple-table/table.scss +2 -1
- package/elements/slider/Slider.scss +2 -2
- package/elements/stepper/step-header.component.scss +141 -52
- package/elements/stepper/stepper.component.scss +66 -166
- package/elements/switch/Switch.scss +5 -5
- package/elements/tabbed-group-picker/TabbedGroupPicker.scss +127 -125
- package/elements/table/extras/table-footer/table-footer.scss +3 -0
- package/elements/table/extras/table-header/table-header.scss +9 -0
- package/elements/tabs/tab-button.scss +54 -0
- package/elements/tabs/tab-content.scss +6 -0
- package/elements/tabs/tab-header.scss +6 -0
- package/elements/tabs/tab-nav.scss +39 -0
- package/elements/tabs/tab-outlet.scss +3 -0
- package/elements/tabs/tab.scss +190 -0
- package/elements/tiles/Tiles.scss +3 -1
- package/elements/time-picker/TimePicker.scss +3 -46
- package/elements/time-picker/TimePickerInput.scss +44 -0
- package/elements/tip-well/TipWell.scss +4 -1
- package/elements/toast/Toast.scss +151 -162
- package/elements/tooltip/Tooltip.scss +1 -1
- package/elements/value/Value.scss +21 -23
- package/esm2020/elements/agenda/common/AgendaDateChange.mjs +4 -7
- package/esm2020/elements/agenda/day/AgendaDayView.mjs +4 -7
- package/esm2020/elements/agenda/month/AgendaMonthView.mjs +4 -7
- package/esm2020/elements/agenda/week/AgendaWeekView.mjs +4 -7
- package/esm2020/elements/card/Card.mjs +17 -31
- package/esm2020/elements/date-picker/DatePicker.mjs +5 -10
- package/esm2020/elements/date-picker/DatePickerInput.mjs +4 -8
- package/esm2020/elements/date-picker/DateRangeInput.mjs +4 -8
- package/esm2020/elements/date-picker/MultiDateInput.mjs +4 -8
- package/esm2020/elements/date-time-picker/DateTimePicker.mjs +5 -10
- package/esm2020/elements/date-time-picker/DateTimePickerInput.mjs +4 -8
- package/esm2020/elements/dropdown/Dropdown.mjs +5 -10
- package/esm2020/elements/header/Header.mjs +6 -12
- package/esm2020/elements/icon/Icon.mjs +5 -10
- package/esm2020/elements/list/List.mjs +27 -59
- package/esm2020/elements/loading/Loading.mjs +7 -13
- package/esm2020/elements/modal/modal.component.mjs +9 -17
- package/esm2020/elements/places/places.component.mjs +4 -8
- package/esm2020/elements/quick-note/QuickNote.mjs +3 -7
- package/esm2020/elements/quick-note/extras/quick-note-results/QuickNoteResults.mjs +5 -9
- package/esm2020/elements/radio/Radio.mjs +5 -10
- package/esm2020/elements/radio/RadioGroup.mjs +5 -10
- package/esm2020/elements/search/SearchBox.mjs +4 -9
- package/esm2020/elements/select/Select.mjs +6 -12
- package/esm2020/elements/slider/Slider.mjs +5 -9
- package/esm2020/elements/stepper/step-header.component.mjs +2 -2
- package/esm2020/elements/stepper/stepper.component.mjs +7 -7
- package/esm2020/elements/switch/Switch.mjs +5 -10
- package/esm2020/elements/tabbed-group-picker/TabbedGroupPicker.mjs +3 -3
- package/esm2020/elements/table/extras/table-footer/TableFooter.mjs +3 -6
- package/esm2020/elements/table/extras/table-header/TableHeader.mjs +3 -6
- package/esm2020/elements/tabs/Tabs.mjs +22 -50
- package/esm2020/elements/tiles/Tiles.mjs +4 -9
- package/esm2020/elements/time-picker/TimePicker.mjs +5 -10
- package/esm2020/elements/time-picker/TimePickerInput.mjs +4 -8
- package/esm2020/elements/tip-well/TipWell.mjs +5 -9
- package/esm2020/elements/toast/Toast.mjs +5 -9
- package/esm2020/elements/tooltip/Tooltip.component.mjs +3 -3
- package/esm2020/elements/value/Value.mjs +4 -7
- package/fesm2015/novo-elements-elements-agenda.mjs +12 -24
- package/fesm2015/novo-elements-elements-agenda.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-card.mjs +16 -30
- package/fesm2015/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-picker.mjs +13 -30
- package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-time-picker.mjs +7 -16
- package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-dropdown.mjs +4 -9
- package/fesm2015/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-header.mjs +5 -11
- package/fesm2015/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-icon.mjs +4 -9
- package/fesm2015/novo-elements-elements-icon.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-list.mjs +26 -58
- package/fesm2015/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-loading.mjs +6 -12
- package/fesm2015/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-modal.mjs +8 -16
- package/fesm2015/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-places.mjs +3 -7
- package/fesm2015/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-quick-note.mjs +6 -14
- package/fesm2015/novo-elements-elements-quick-note.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-radio.mjs +8 -18
- package/fesm2015/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-search.mjs +3 -8
- package/fesm2015/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-select.mjs +5 -11
- package/fesm2015/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-slider.mjs +4 -8
- package/fesm2015/novo-elements-elements-slider.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-stepper.mjs +8 -8
- package/fesm2015/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-switch.mjs +4 -9
- package/fesm2015/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs +2 -2
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-table.mjs +4 -10
- package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabs.mjs +21 -49
- package/fesm2015/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tiles.mjs +3 -8
- package/fesm2015/novo-elements-elements-tiles.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-time-picker.mjs +7 -16
- package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tip-well.mjs +4 -8
- package/fesm2015/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-toast.mjs +4 -8
- package/fesm2015/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tooltip.mjs +2 -2
- package/fesm2015/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-value.mjs +3 -6
- package/fesm2015/novo-elements-elements-value.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-agenda.mjs +12 -24
- package/fesm2020/novo-elements-elements-agenda.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-card.mjs +16 -30
- package/fesm2020/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-picker.mjs +13 -30
- package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-time-picker.mjs +7 -16
- package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-dropdown.mjs +4 -9
- package/fesm2020/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-header.mjs +5 -11
- package/fesm2020/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-icon.mjs +4 -9
- package/fesm2020/novo-elements-elements-icon.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-list.mjs +26 -58
- package/fesm2020/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-loading.mjs +6 -12
- package/fesm2020/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-modal.mjs +8 -16
- package/fesm2020/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-places.mjs +3 -7
- package/fesm2020/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-quick-note.mjs +6 -14
- package/fesm2020/novo-elements-elements-quick-note.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-radio.mjs +8 -18
- package/fesm2020/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-search.mjs +3 -8
- package/fesm2020/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-select.mjs +5 -11
- package/fesm2020/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-slider.mjs +4 -8
- package/fesm2020/novo-elements-elements-slider.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-stepper.mjs +8 -8
- package/fesm2020/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-switch.mjs +4 -9
- package/fesm2020/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs +2 -2
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-table.mjs +4 -10
- package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabs.mjs +21 -49
- package/fesm2020/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tiles.mjs +3 -8
- package/fesm2020/novo-elements-elements-tiles.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-time-picker.mjs +7 -16
- package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tip-well.mjs +4 -8
- package/fesm2020/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-toast.mjs +4 -8
- package/fesm2020/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tooltip.mjs +2 -2
- package/fesm2020/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-value.mjs +3 -6
- package/fesm2020/novo-elements-elements-value.mjs.map +1 -1
- package/novo-elements.scss +10 -43
- package/package.json +1 -1
- package/elements/tabs/Tabs.scss +0 -298
- package/elements/value/Values.scss +0 -57
|
@@ -181,12 +181,10 @@ NovoAgendaDateChangeElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
181
181
|
</span>
|
|
182
182
|
<i class="bhi-arrow-right" (click)="addDate()"></i>
|
|
183
183
|
</div>
|
|
184
|
-
`, isInline: true, directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "month": MonthPipe, "year": YearPipe, "monthday": MonthDayPipe, "endofweekdisplay": EndOfWeekDisplayPipe, "weekday": WeekdayPipe, "dayofmonth": DayOfMonthPipe } });
|
|
184
|
+
`, isInline: true, styles: [":host{display:inline-block}:host .cal-date-change{border-radius:3px;border:1px solid #e1e1e1;background-color:#fff;position:relative;padding:10px 15px;text-align:center}:host .cal-date-change>span{padding:5px;color:#000}:host .cal-date-change>i{cursor:pointer;padding:2px;font-size:.9em}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "month": MonthPipe, "year": YearPipe, "monthday": MonthDayPipe, "endofweekdisplay": EndOfWeekDisplayPipe, "weekday": WeekdayPipe, "dayofmonth": DayOfMonthPipe } });
|
|
185
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoAgendaDateChangeElement, decorators: [{
|
|
186
186
|
type: Component,
|
|
187
|
-
args: [{
|
|
188
|
-
selector: 'novo-agenda-date-change',
|
|
189
|
-
template: `
|
|
187
|
+
args: [{ selector: 'novo-agenda-date-change', template: `
|
|
190
188
|
<div class="cal-date-change">
|
|
191
189
|
<i class="bhi-arrow-left" (click)="subtractDate()"></i>
|
|
192
190
|
<span [ngSwitch]="view">
|
|
@@ -200,8 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
200
198
|
</span>
|
|
201
199
|
<i class="bhi-arrow-right" (click)="addDate()"></i>
|
|
202
200
|
</div>
|
|
203
|
-
`,
|
|
204
|
-
}]
|
|
201
|
+
`, styles: [":host{display:inline-block}:host .cal-date-change{border-radius:3px;border:1px solid #e1e1e1;background-color:#fff;position:relative;padding:10px 15px;text-align:center}:host .cal-date-change>span{padding:5px;color:#000}:host .cal-date-change>i{cursor:pointer;padding:2px;font-size:.9em}\n"] }]
|
|
205
202
|
}], ctorParameters: function () {
|
|
206
203
|
return [{ type: undefined, decorators: [{
|
|
207
204
|
type: Inject,
|
|
@@ -758,12 +755,10 @@ NovoAgendaDayViewElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
758
755
|
</div>
|
|
759
756
|
</div>
|
|
760
757
|
</div>
|
|
761
|
-
`, isInline: true, components: [{ type: NovoAgendaAllDayEventElement, selector: "novo-agenda-all-day-event", inputs: ["event", "customTemplate"], outputs: ["eventClicked"] }, { type: NovoAgendaDayEventElement, selector: "novo-agenda-day-event", inputs: ["dayEvent", "tooltipPosition", "customTemplate"], outputs: ["eventClicked"] }, { type: NovoAgendaHourSegmentElement, selector: "novo-agenda-day-hour-segment", inputs: ["segment", "locale", "customTemplate"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
758
|
+
`, isInline: true, styles: [":host ::ng-deep .cal-day-view .cal-event-container{position:absolute}:host ::ng-deep .cal-day-view novo-agenda-day-event{height:inherit}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event{height:inherit;font-size:12px;margin-left:2px;margin-right:2px;min-height:30px;display:flex;flex-flow:row nowrap;background-color:#f7f7f7}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-ribbon{width:4px;min-height:100%}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-group{overflow:hidden;flex:1;padding:2px 10px;display:flex;flex-flow:column}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-title{line-height:26px}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-description{font-size:10px;line-height:13px}:host ::ng-deep .cal-day-view .cal-draggable{cursor:move}:host ::ng-deep .cal-day-view .cal-all-day-event{padding:8px;border:solid 1px}\n", "@charset \"UTF-8\";:host ::ng-deep .cal-day-view .cal-hour-rows,:host ::ng-deep .cal-week-view .cal-hour-rows{width:100%;border:solid 1px #e1e1e1;overflow-x:scroll;position:relative}:host ::ng-deep .cal-day-view .cal-hour:nth-child(even),:host ::ng-deep .cal-week-view .cal-hour:nth-child(even){background-color:#f7f7f7}:host ::ng-deep .cal-day-view .cal-hour:nth-child(odd),:host ::ng-deep .cal-week-view .cal-hour:nth-child(odd){background-color:#fff}:host ::ng-deep .cal-day-view .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment{height:30px}:host ::ng-deep .cal-day-view .cal-hour-segment:after,:host ::ng-deep .cal-week-view .cal-hour-segment:after{content:\"\\a0\"}:host ::ng-deep .cal-day-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-day-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment{border-bottom:thin dashed #e1e1e1}:host ::ng-deep .cal-day-view .cal-time,:host ::ng-deep .cal-week-view .cal-time{font-weight:700;padding-top:5px;width:70px;text-align:center;color:#9e9e9e}:host ::ng-deep .cal-day-view .cal-hour-segment.cal-after-hour-start .cal-time,:host ::ng-deep .cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}:host ::ng-deep .cal-day-view .cal-hour-segment:hover,:host ::ng-deep .cal-day-view .cal-drag-over .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment:hover,:host ::ng-deep .cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}\n"], components: [{ type: NovoAgendaAllDayEventElement, selector: "novo-agenda-all-day-event", inputs: ["event", "customTemplate"], outputs: ["eventClicked"] }, { type: NovoAgendaDayEventElement, selector: "novo-agenda-day-event", inputs: ["dayEvent", "tooltipPosition", "customTemplate"], outputs: ["eventClicked"] }, { type: NovoAgendaHourSegmentElement, selector: "novo-agenda-day-hour-segment", inputs: ["segment", "locale", "customTemplate"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
762
759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoAgendaDayViewElement, decorators: [{
|
|
763
760
|
type: Component,
|
|
764
|
-
args: [{
|
|
765
|
-
selector: 'novo-agenda-day',
|
|
766
|
-
template: `
|
|
761
|
+
args: [{ selector: 'novo-agenda-day', template: `
|
|
767
762
|
<div class="cal-day-view" #dayViewContainer>
|
|
768
763
|
<novo-agenda-all-day-event
|
|
769
764
|
*ngFor="let event of view.allDayEvents"
|
|
@@ -804,8 +799,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
804
799
|
</div>
|
|
805
800
|
</div>
|
|
806
801
|
</div>
|
|
807
|
-
`,
|
|
808
|
-
}]
|
|
802
|
+
`, styles: [":host ::ng-deep .cal-day-view .cal-event-container{position:absolute}:host ::ng-deep .cal-day-view novo-agenda-day-event{height:inherit}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event{height:inherit;font-size:12px;margin-left:2px;margin-right:2px;min-height:30px;display:flex;flex-flow:row nowrap;background-color:#f7f7f7}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-ribbon{width:4px;min-height:100%}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-group{overflow:hidden;flex:1;padding:2px 10px;display:flex;flex-flow:column}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-title{line-height:26px}:host ::ng-deep .cal-day-view novo-agenda-day-event .cal-event .cal-event-description{font-size:10px;line-height:13px}:host ::ng-deep .cal-day-view .cal-draggable{cursor:move}:host ::ng-deep .cal-day-view .cal-all-day-event{padding:8px;border:solid 1px}\n", "@charset \"UTF-8\";:host ::ng-deep .cal-day-view .cal-hour-rows,:host ::ng-deep .cal-week-view .cal-hour-rows{width:100%;border:solid 1px #e1e1e1;overflow-x:scroll;position:relative}:host ::ng-deep .cal-day-view .cal-hour:nth-child(even),:host ::ng-deep .cal-week-view .cal-hour:nth-child(even){background-color:#f7f7f7}:host ::ng-deep .cal-day-view .cal-hour:nth-child(odd),:host ::ng-deep .cal-week-view .cal-hour:nth-child(odd){background-color:#fff}:host ::ng-deep .cal-day-view .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment{height:30px}:host ::ng-deep .cal-day-view .cal-hour-segment:after,:host ::ng-deep .cal-week-view .cal-hour-segment:after{content:\"\\a0\"}:host ::ng-deep .cal-day-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-day-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment{border-bottom:thin dashed #e1e1e1}:host ::ng-deep .cal-day-view .cal-time,:host ::ng-deep .cal-week-view .cal-time{font-weight:700;padding-top:5px;width:70px;text-align:center;color:#9e9e9e}:host ::ng-deep .cal-day-view .cal-hour-segment.cal-after-hour-start .cal-time,:host ::ng-deep .cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}:host ::ng-deep .cal-day-view .cal-hour-segment:hover,:host ::ng-deep .cal-day-view .cal-drag-over .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment:hover,:host ::ng-deep .cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}\n"] }]
|
|
809
803
|
}], ctorParameters: function () {
|
|
810
804
|
return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
811
805
|
type: Inject,
|
|
@@ -1206,12 +1200,10 @@ NovoAgendaMonthViewElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
1206
1200
|
</div>
|
|
1207
1201
|
</div>
|
|
1208
1202
|
</div>
|
|
1209
|
-
`, isInline: true, components: [{ type: NovoAgendaMonthHeaderElement, selector: "novo-agenda-month-header", inputs: ["viewDate", "days", "locale", "customTemplate"], outputs: ["viewDateChange"] }, { type: NovoAgendaMonthDayElement, selector: "novo-agenda-month-day", inputs: ["day", "locale", "tooltipPosition", "customTemplate"], outputs: ["eventClicked"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "slice": i1.SlicePipe } });
|
|
1203
|
+
`, isInline: true, styles: [":host ::ng-deep .agenda-month-view{background-color:#fff}:host ::ng-deep .agenda-month-view .agenda-header{display:flex;flex-flow:column;text-align:center;font-weight:bolder;border-bottom:2px solid #e1e1e1}:host ::ng-deep .agenda-month-view .agenda-header .agenda-header-top{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-around}:host ::ng-deep .agenda-month-view .agenda-header .agenda-header-top .agenda-month{font-size:180%}:host ::ng-deep .agenda-month-view .agenda-header .agenda-header-top .agenda-year{color:#999}:host ::ng-deep .agenda-month-view .agenda-header .agenda-weekdays{display:flex;flex-flow:row nowrap}:host ::ng-deep .agenda-month-view .agenda-header .agenda-weekdays .agenda-weekday{padding:5px 0;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap;flex:1}:host ::ng-deep .agenda-month-view .agenda-cell-row{display:flex}:host ::ng-deep .agenda-month-view .agenda-cell-row:hover{background-color:#fafafa}:host ::ng-deep .agenda-month-view .agenda-cell-row .agenda-cell:hover,:host ::ng-deep .agenda-month-view .agenda-cell.agenda-has-events.agenda-open{background-color:#ededed}:host ::ng-deep .agenda-month-view .agenda-days{border:1px solid #e1e1e1;border-bottom:0}:host ::ng-deep .agenda-month-view .agenda-day-top{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host ::ng-deep .agenda-month-view .agenda-cell:hover .agenda-actions{display:flex}:host ::ng-deep .agenda-month-view .agenda-cell{float:left;flex:1;display:flex;flex-direction:column;align-items:stretch;position:relative}:host ::ng-deep .agenda-month-view .agenda-day-cell{min-height:56px}:host ::ng-deep .agenda-month-view .agenda-day-cell:not(:last-child){border-right:1px solid #e1e1e1}:host ::ng-deep .agenda-month-view .agenda-days .agenda-cell-row{border-bottom:1px solid #e1e1e1}:host ::ng-deep .agenda-month-view .agenda-day-badge{background-color:#b94a48;display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;border-radius:10px}:host ::ng-deep .agenda-month-view .agenda-day-number{font-size:1.2em;font-weight:400;opacity:.5;padding:4px}:host ::ng-deep .agenda-month-view .agenda-event{width:22px;height:22px;border-radius:4px;display:inline-block;margin:2px;vertical-align:middle;text-align:center;line-height:22px;font-size:12px;color:#fff}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-in-month.agenda-has-events{cursor:pointer}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-out-month .agenda-day-number{opacity:.1;cursor:default}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-weekend .agenda-day-number{color:#8b0000}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-today{background-color:#e8fde7}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-today .agenda-day-number{color:#3d464d}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-drag-over{background-color:#e0e0e0!important}:host ::ng-deep .agenda-month-view .agenda-open-day-events{padding:15px;color:#fff;background-color:#555;box-shadow:inset 0 0 15px #00000080}:host ::ng-deep .agenda-month-view .agenda-open-day-events .agenda-event{position:relative;top:2px}:host ::ng-deep .agenda-month-view .agenda-event-title{color:#fff}:host ::ng-deep .agenda-month-view .agenda-out-month .agenda-day-badge,:host ::ng-deep .agenda-month-view .agenda-out-month .agenda-event{opacity:.3}\n"], components: [{ type: NovoAgendaMonthHeaderElement, selector: "novo-agenda-month-header", inputs: ["viewDate", "days", "locale", "customTemplate"], outputs: ["viewDateChange"] }, { type: NovoAgendaMonthDayElement, selector: "novo-agenda-month-day", inputs: ["day", "locale", "tooltipPosition", "customTemplate"], outputs: ["eventClicked"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "slice": i1.SlicePipe } });
|
|
1210
1204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoAgendaMonthViewElement, decorators: [{
|
|
1211
1205
|
type: Component,
|
|
1212
|
-
args: [{
|
|
1213
|
-
selector: 'novo-agenda-month',
|
|
1214
|
-
template: `
|
|
1206
|
+
args: [{ selector: 'novo-agenda-month', template: `
|
|
1215
1207
|
<div class="agenda-month-view">
|
|
1216
1208
|
<novo-agenda-month-header
|
|
1217
1209
|
[(viewDate)]="viewDate"
|
|
@@ -1237,8 +1229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1237
1229
|
</div>
|
|
1238
1230
|
</div>
|
|
1239
1231
|
</div>
|
|
1240
|
-
`,
|
|
1241
|
-
}]
|
|
1232
|
+
`, styles: [":host ::ng-deep .agenda-month-view{background-color:#fff}:host ::ng-deep .agenda-month-view .agenda-header{display:flex;flex-flow:column;text-align:center;font-weight:bolder;border-bottom:2px solid #e1e1e1}:host ::ng-deep .agenda-month-view .agenda-header .agenda-header-top{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-around}:host ::ng-deep .agenda-month-view .agenda-header .agenda-header-top .agenda-month{font-size:180%}:host ::ng-deep .agenda-month-view .agenda-header .agenda-header-top .agenda-year{color:#999}:host ::ng-deep .agenda-month-view .agenda-header .agenda-weekdays{display:flex;flex-flow:row nowrap}:host ::ng-deep .agenda-month-view .agenda-header .agenda-weekdays .agenda-weekday{padding:5px 0;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap;flex:1}:host ::ng-deep .agenda-month-view .agenda-cell-row{display:flex}:host ::ng-deep .agenda-month-view .agenda-cell-row:hover{background-color:#fafafa}:host ::ng-deep .agenda-month-view .agenda-cell-row .agenda-cell:hover,:host ::ng-deep .agenda-month-view .agenda-cell.agenda-has-events.agenda-open{background-color:#ededed}:host ::ng-deep .agenda-month-view .agenda-days{border:1px solid #e1e1e1;border-bottom:0}:host ::ng-deep .agenda-month-view .agenda-day-top{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host ::ng-deep .agenda-month-view .agenda-cell:hover .agenda-actions{display:flex}:host ::ng-deep .agenda-month-view .agenda-cell{float:left;flex:1;display:flex;flex-direction:column;align-items:stretch;position:relative}:host ::ng-deep .agenda-month-view .agenda-day-cell{min-height:56px}:host ::ng-deep .agenda-month-view .agenda-day-cell:not(:last-child){border-right:1px solid #e1e1e1}:host ::ng-deep .agenda-month-view .agenda-days .agenda-cell-row{border-bottom:1px solid #e1e1e1}:host ::ng-deep .agenda-month-view .agenda-day-badge{background-color:#b94a48;display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;border-radius:10px}:host ::ng-deep .agenda-month-view .agenda-day-number{font-size:1.2em;font-weight:400;opacity:.5;padding:4px}:host ::ng-deep .agenda-month-view .agenda-event{width:22px;height:22px;border-radius:4px;display:inline-block;margin:2px;vertical-align:middle;text-align:center;line-height:22px;font-size:12px;color:#fff}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-in-month.agenda-has-events{cursor:pointer}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-out-month .agenda-day-number{opacity:.1;cursor:default}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-weekend .agenda-day-number{color:#8b0000}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-today{background-color:#e8fde7}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-today .agenda-day-number{color:#3d464d}:host ::ng-deep .agenda-month-view .agenda-day-cell.agenda-drag-over{background-color:#e0e0e0!important}:host ::ng-deep .agenda-month-view .agenda-open-day-events{padding:15px;color:#fff;background-color:#555;box-shadow:inset 0 0 15px #00000080}:host ::ng-deep .agenda-month-view .agenda-open-day-events .agenda-event{position:relative;top:2px}:host ::ng-deep .agenda-month-view .agenda-event-title{color:#fff}:host ::ng-deep .agenda-month-view .agenda-out-month .agenda-day-badge,:host ::ng-deep .agenda-month-view .agenda-out-month .agenda-event{opacity:.3}\n"] }]
|
|
1242
1233
|
}], ctorParameters: function () {
|
|
1243
1234
|
return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1244
1235
|
type: Inject,
|
|
@@ -1697,12 +1688,10 @@ NovoAgendaWeekViewElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
1697
1688
|
</novo-agenda-day-hour-segment>
|
|
1698
1689
|
</div>
|
|
1699
1690
|
</div>
|
|
1700
|
-
`, isInline: true, components: [{ type: NovoAgendaWeekHeaderElement, selector: "novo-agenda-week-header", inputs: ["days", "locale", "customTemplate"], outputs: ["dayClicked", "eventDropped"] }, { type: NovoAgendaWeekEventElement, selector: "novo-agenda-week-event", inputs: ["weekEvent", "tooltipPosition", "customTemplate"], outputs: ["eventClicked"] }, { type: NovoAgendaHourSegmentElement, selector: "novo-agenda-day-hour-segment", inputs: ["segment", "locale", "customTemplate"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1691
|
+
`, isInline: true, styles: [":host ::ng-deep .cal-week-view{position:relative}:host ::ng-deep .cal-week-view .cal-day-headers{display:flex;border:1px solid #e1e1e1}:host ::ng-deep .cal-week-view .cal-day-headers .cal-header{flex:1;text-align:center;padding:5px;background-color:#f7f7f7}:host ::ng-deep .cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right:1px solid #e1e1e1}:host ::ng-deep .cal-week-view .cal-day-headers .cal-header:hover,:host ::ng-deep .cal-week-view .cal-day-headers .cal-drag-over{background-color:#ededed}:host ::ng-deep .cal-week-view .cal-day-headers span{font-weight:400;opacity:.5}:host ::ng-deep .cal-week-view .cal-event-container{position:absolute}:host ::ng-deep .cal-week-view .cal-event-container:nth-child(n+2){border-left:1px solid #3d464d}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event{height:inherit}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event{height:inherit;font-size:12px;min-height:30px;display:flex;flex-flow:column;background-color:#f7f7f7}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event .cal-event-ribbon{min-height:4px;width:100%}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event .cal-event-title{padding:0 0 0 10px;line-height:26px;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event .cal-event-description{font-size:10px;line-height:13px;padding:0 0 0 10px;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .cal-week-view .cal-draggable{cursor:move}:host ::ng-deep .cal-week-view .cal-header.cal-today{background-color:#e8fde7}:host ::ng-deep .cal-week-view .cal-header.cal-weekend span{color:#8b0000}:host ::ng-deep .cal-week-view .cal-event,:host ::ng-deep .cal-week-view .cal-header{text-overflow:ellipsis;white-space:nowrap}\n", "@charset \"UTF-8\";:host ::ng-deep .cal-day-view .cal-hour-rows,:host ::ng-deep .cal-week-view .cal-hour-rows{width:100%;border:solid 1px #e1e1e1;overflow-x:scroll;position:relative}:host ::ng-deep .cal-day-view .cal-hour:nth-child(even),:host ::ng-deep .cal-week-view .cal-hour:nth-child(even){background-color:#f7f7f7}:host ::ng-deep .cal-day-view .cal-hour:nth-child(odd),:host ::ng-deep .cal-week-view .cal-hour:nth-child(odd){background-color:#fff}:host ::ng-deep .cal-day-view .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment{height:30px}:host ::ng-deep .cal-day-view .cal-hour-segment:after,:host ::ng-deep .cal-week-view .cal-hour-segment:after{content:\"\\a0\"}:host ::ng-deep .cal-day-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-day-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment{border-bottom:thin dashed #e1e1e1}:host ::ng-deep .cal-day-view .cal-time,:host ::ng-deep .cal-week-view .cal-time{font-weight:700;padding-top:5px;width:70px;text-align:center;color:#9e9e9e}:host ::ng-deep .cal-day-view .cal-hour-segment.cal-after-hour-start .cal-time,:host ::ng-deep .cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}:host ::ng-deep .cal-day-view .cal-hour-segment:hover,:host ::ng-deep .cal-day-view .cal-drag-over .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment:hover,:host ::ng-deep .cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}\n"], components: [{ type: NovoAgendaWeekHeaderElement, selector: "novo-agenda-week-header", inputs: ["days", "locale", "customTemplate"], outputs: ["dayClicked", "eventDropped"] }, { type: NovoAgendaWeekEventElement, selector: "novo-agenda-week-event", inputs: ["weekEvent", "tooltipPosition", "customTemplate"], outputs: ["eventClicked"] }, { type: NovoAgendaHourSegmentElement, selector: "novo-agenda-day-hour-segment", inputs: ["segment", "locale", "customTemplate"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1701
1692
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoAgendaWeekViewElement, decorators: [{
|
|
1702
1693
|
type: Component,
|
|
1703
|
-
args: [{
|
|
1704
|
-
selector: 'novo-agenda-week',
|
|
1705
|
-
template: `
|
|
1694
|
+
args: [{ selector: 'novo-agenda-week', template: `
|
|
1706
1695
|
<div class="cal-week-view" #weekViewContainer>
|
|
1707
1696
|
<novo-agenda-week-header [days]="days" [locale]="locale" [customTemplate]="headerTemplate" (dayClicked)="dayClicked.emit($event)">
|
|
1708
1697
|
</novo-agenda-week-header>
|
|
@@ -1736,8 +1725,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1736
1725
|
</novo-agenda-day-hour-segment>
|
|
1737
1726
|
</div>
|
|
1738
1727
|
</div>
|
|
1739
|
-
`,
|
|
1740
|
-
}]
|
|
1728
|
+
`, styles: [":host ::ng-deep .cal-week-view{position:relative}:host ::ng-deep .cal-week-view .cal-day-headers{display:flex;border:1px solid #e1e1e1}:host ::ng-deep .cal-week-view .cal-day-headers .cal-header{flex:1;text-align:center;padding:5px;background-color:#f7f7f7}:host ::ng-deep .cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right:1px solid #e1e1e1}:host ::ng-deep .cal-week-view .cal-day-headers .cal-header:hover,:host ::ng-deep .cal-week-view .cal-day-headers .cal-drag-over{background-color:#ededed}:host ::ng-deep .cal-week-view .cal-day-headers span{font-weight:400;opacity:.5}:host ::ng-deep .cal-week-view .cal-event-container{position:absolute}:host ::ng-deep .cal-week-view .cal-event-container:nth-child(n+2){border-left:1px solid #3d464d}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event{height:inherit}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event{height:inherit;font-size:12px;min-height:30px;display:flex;flex-flow:column;background-color:#f7f7f7}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event .cal-event-ribbon{min-height:4px;width:100%}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event .cal-event-title{padding:0 0 0 10px;line-height:26px;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .cal-week-view .cal-event-container novo-agenda-week-event .cal-event .cal-event-description{font-size:10px;line-height:13px;padding:0 0 0 10px;overflow:hidden;text-overflow:ellipsis}:host ::ng-deep .cal-week-view .cal-draggable{cursor:move}:host ::ng-deep .cal-week-view .cal-header.cal-today{background-color:#e8fde7}:host ::ng-deep .cal-week-view .cal-header.cal-weekend span{color:#8b0000}:host ::ng-deep .cal-week-view .cal-event,:host ::ng-deep .cal-week-view .cal-header{text-overflow:ellipsis;white-space:nowrap}\n", "@charset \"UTF-8\";:host ::ng-deep .cal-day-view .cal-hour-rows,:host ::ng-deep .cal-week-view .cal-hour-rows{width:100%;border:solid 1px #e1e1e1;overflow-x:scroll;position:relative}:host ::ng-deep .cal-day-view .cal-hour:nth-child(even),:host ::ng-deep .cal-week-view .cal-hour:nth-child(even){background-color:#f7f7f7}:host ::ng-deep .cal-day-view .cal-hour:nth-child(odd),:host ::ng-deep .cal-week-view .cal-hour:nth-child(odd){background-color:#fff}:host ::ng-deep .cal-day-view .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment{height:30px}:host ::ng-deep .cal-day-view .cal-hour-segment:after,:host ::ng-deep .cal-week-view .cal-hour-segment:after{content:\"\\a0\"}:host ::ng-deep .cal-day-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-day-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment{border-bottom:thin dashed #e1e1e1}:host ::ng-deep .cal-day-view .cal-time,:host ::ng-deep .cal-week-view .cal-time{font-weight:700;padding-top:5px;width:70px;text-align:center;color:#9e9e9e}:host ::ng-deep .cal-day-view .cal-hour-segment.cal-after-hour-start .cal-time,:host ::ng-deep .cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}:host ::ng-deep .cal-day-view .cal-hour-segment:hover,:host ::ng-deep .cal-day-view .cal-drag-over .cal-hour-segment,:host ::ng-deep .cal-week-view .cal-hour-segment:hover,:host ::ng-deep .cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}\n"] }]
|
|
1741
1729
|
}], ctorParameters: function () {
|
|
1742
1730
|
return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1743
1731
|
type: Inject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-agenda.mjs","sources":["../../../projects/novo-elements/src/elements/agenda/pipe/Month.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Year.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/MonthDay.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/EndOfWeekDisplayPipe.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Weekday.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/DayOfMonth.pipe.ts","../../../projects/novo-elements/src/elements/agenda/common/AgendaDateChange.ts","../../../projects/novo-elements/src/elements/agenda/common/EventTypeLegend.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaAllDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Hours.pipe.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaHourSegment.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayView.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthDay.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthHeader.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthView.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekEvent.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekHeader.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekView.ts","../../../projects/novo-elements/src/elements/agenda/Agenda.module.ts","../../../projects/novo-elements/src/elements/agenda/novo-elements-elements-agenda.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'month' })\nexport class MonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'long'): string {\n return new Intl.DateTimeFormat(locale, { month: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'year' })\nexport class YearPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { year: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'monthday' })\nexport class MonthDayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'endofweekdisplay' })\nexport class EndOfWeekDisplayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n\n transform(\n endOfWeek: Date,\n startOfWeek: Date,\n locale: string = this.locale,\n method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short',\n ): String {\n if (endOfWeek.getMonth() === startOfWeek.getMonth()) {\n return new Intl.DateTimeFormat(locale, { day: 'numeric' }).format(endOfWeek);\n }\n\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(endOfWeek);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'weekday' })\nexport class WeekdayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { weekday: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dayofmonth' })\nexport class DayOfMonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { day: method }).format(date);\n }\n}\n","import { Component, EventEmitter, Inject, Input, LOCALE_ID, Output } from '@angular/core';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-date-change',\n template: `\n <div class=\"cal-date-change\">\n <i class=\"bhi-arrow-left\" (click)=\"subtractDate()\"></i>\n <span [ngSwitch]=\"view\">\n <span *ngSwitchCase=\"'month'\">{{ (viewDate | month: locale) + ' ' + (viewDate | year: locale) }}</span>\n <span *ngSwitchCase=\"'week'\">{{\n (startOfWeek | monthday: locale:'long') + ' - ' + (endOfWeek | endofweekdisplay: startOfWeek:locale:'long')\n }}</span>\n <span *ngSwitchCase=\"'day'\">{{\n (viewDate | weekday: locale:'long') + ', ' + (viewDate | month: locale) + ' ' + (viewDate | dayofmonth: locale)\n }}</span>\n </span>\n <i class=\"bhi-arrow-right\" (click)=\"addDate()\"></i>\n </div>\n `,\n})\nexport class NovoAgendaDateChangeElement {\n /**\n * The current view\n */\n @Input()\n view: string;\n\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n @Input()\n locale: string;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n subtractDate(): void {\n this.changeDate(-1);\n }\n\n addDate(): void {\n this.changeDate(1);\n }\n\n changeDate(unit: number): void {\n const addFn: any = {\n day: DateUtil.addDays,\n week: DateUtil.addWeeks,\n month: DateUtil.addMonths,\n }[this.view];\n\n this.viewDateChange.emit(addFn(this.viewDate, unit));\n }\n\n get startOfWeek() {\n return DateUtil.startOfWeek(this.viewDate);\n }\n\n get endOfWeek() {\n return DateUtil.endOfWeek(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-event-type-legend',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-event-legend\">\n <div\n class=\"cal-event-type\"\n *ngFor=\"let type of events | groupBy: 'type'\"\n (click)=\"$event.stopPropagation(); eventTypeClicked.emit({ event: type?.key })\"\n >\n <div class=\"cal-event-type-swatch\"></div>\n <div>{{ type?.key }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ events: events, eventTypeClicked: eventTypeClicked }\"\n >\n </ng-template>\n `,\n})\nexport class NovoEventTypeLegendElement {\n @Input()\n events: CalendarEvent[];\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventTypeClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-all-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-all-day-event\" [style.backgroundColor]=\"event.color.secondary\" [style.borderColor]=\"event.color.primary\">\n {{ event.title }}\n <!--<novo-agenda-event-title\n [event]=\"event\"\n view=\"day\"\n (click)=\"eventClicked.emit()\">\n </novo-agenda-event-title>\n <novo-agenda-event-actions [event]=\"event\"></novo-agenda-event-actions>-->\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n eventClicked: eventClicked\n }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaAllDayEventElement {\n @Input()\n event: CalendarEvent;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { DayViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [style.borderColor]=\"dayEvent.event.color.secondary\"\n [class.cal-starts-within-day]=\"!dayEvent.startsBeforeDay\"\n [class.cal-ends-within-day]=\"!dayEvent.endsAfterDay\"\n [ngClass]=\"dayEvent.event.cssClass\"\n [tooltip]=\"dayEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: dayEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"dayEvent.event.color.primary\"></div>\n <div class=\"cal-event-group\">\n <div class=\"cal-event-title\">{{ dayEvent.event.title }}</div>\n <div class=\"cal-event-description\">{{ dayEvent.event?.description }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ dayEvent: dayEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaDayEventElement {\n @Input()\n dayEvent: DayViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'hours' })\nexport class HoursPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { hour: method }).format(date);\n }\n}\n","import { Component, Input, TemplateRef } from '@angular/core';\nimport { DayViewHourSegment } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-hour-segment',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-hour-segment\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n >\n <div class=\"cal-time\">\n {{ segment.date | hours: locale }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n segment: segment,\n locale: locale\n }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaHourSegmentElement {\n @Input()\n segment: DayViewHourSegment;\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayView,\n DayViewHour,\n getDayView,\n getDayViewHourGrid,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n\n/**\n * Shows all events on a given day. Example usage:\n *\n * ```typescript\n * <novo-agenda-day\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </novo-agenda-day>\n * ```\n */\n@Component({\n selector: 'novo-agenda-day',\n template: `\n <div class=\"cal-day-view\" #dayViewContainer>\n <novo-agenda-all-day-event\n *ngFor=\"let event of view.allDayEvents\"\n [event]=\"event\"\n [customTemplate]=\"allDayEventTemplate\"\n (eventClicked)=\"eventClicked.emit({ event: event })\"\n >\n </novo-agenda-all-day-event>\n <div class=\"cal-hour-rows\">\n <div class=\"cal-events\">\n <div\n #event\n *ngFor=\"let dayEvent of view?.events\"\n class=\"cal-event-container\"\n [style.marginTop.px]=\"dayEvent.top\"\n [style.height.px]=\"dayEvent.height\"\n [style.marginLeft.px]=\"dayEvent.left + 70\"\n [style.width.px]=\"dayEvent.width - 1\"\n >\n <novo-agenda-day-event\n [dayEvent]=\"dayEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-day-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"view?.width + 70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n </div>\n `,\n})\nexport class NovoAgendaDayViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n\n /**\n * The width in pixels of each event on the view\n */\n @Input()\n eventWidth: number = 150;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * A function that will be called before each hour segment is called. The first argument will contain the hour segment.\n * If you add the `cssClass` property to the segment it will add that class to the hour segment in the template\n */\n @Input()\n hourSegmentModifier: Function;\n\n /**\n * The grid size to snap resizing and dragging of events to\n */\n @Input()\n eventSnapSize: number = 30;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for all day events\n */\n @Input()\n allDayEventTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for day view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * Called when an event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n view: DayView;\n\n /**\n * @hidden\n */\n width: number = 0;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalTop: number;\n originalHeight: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n\n if (\n changes.viewDate ||\n changes.events ||\n changes.dayStartHour ||\n changes.dayStartMinute ||\n changes.dayEndHour ||\n changes.dayEndMinute ||\n changes.eventWidth\n ) {\n this.refreshView();\n }\n }\n\n /*\n eventDropped(dropEvent: {dropData?: {event?: CalendarEvent}}, segment: DayViewHourSegment): void {\n if (dropEvent.dropData && dropEvent.dropData.event) {\n this.eventTimesChanged.emit({event: dropEvent.dropData.event, newStart: segment.date});\n }\n }\n\n resizeStarted(event: DayViewEvent, resizeEvent: ResizeEvent, dayViewContainer: HTMLElement): void {\n this.currentResize = {\n originalTop: event.top,\n originalHeight: event.height,\n edge: typeof resizeEvent.edges.top !== 'undefined' ? 'top' : 'bottom'\n };\n const resizeHelper: CalendarResizeHelper = new CalendarResizeHelper(dayViewContainer);\n this.validateResize = ({rectangle}) => resizeHelper.validateResize({rectangle});\n this.cdr.detectChanges();\n }\n\n resizing(event: DayViewEvent, resizeEvent: ResizeEvent): void {\n if (resizeEvent.edges.top) {\n event.top = this.currentResize.originalTop + +resizeEvent.edges.top;\n event.height = this.currentResize.originalHeight - +resizeEvent.edges.top;\n } else if (resizeEvent.edges.bottom) {\n event.height = this.currentResize.originalHeight + +resizeEvent.edges.bottom;\n }\n }\n\n resizeEnded(dayEvent: DayViewEvent): void {\n\n let pixelsMoved: number;\n if (this.currentResize.edge === 'top') {\n pixelsMoved = (dayEvent.top - this.currentResize.originalTop);\n } else {\n pixelsMoved = (dayEvent.height - this.currentResize.originalHeight);\n }\n\n dayEvent.top = this.currentResize.originalTop;\n dayEvent.height = this.currentResize.originalHeight;\n\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = pixelsMoved * pixelAmountInMinutes;\n let newStart: Date = dayEvent.event.start;\n let newEnd: Date = dayEvent.event.end;\n if (this.currentResize.edge === 'top') {\n newStart = addMinutes(newStart, minutesMoved);\n } else if (newEnd) {\n newEnd = addMinutes(newEnd, minutesMoved);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n this.currentResize = null;\n\n }\n\n dragStart(event: HTMLElement, dayViewContainer: HTMLElement): void {\n const dragHelper: CalendarDragHelper = new CalendarDragHelper(dayViewContainer, event);\n this.validateDrag = ({x, y}) => !this.currentResize && dragHelper.validateDrag({x, y});\n this.cdr.detectChanges();\n }\n\n eventDragged(dayEvent: DayViewEvent, draggedInPixels: number): void {\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = draggedInPixels * pixelAmountInMinutes;\n const newStart: Date = addMinutes(dayEvent.event.start, minutesMoved);\n let newEnd: Date;\n if (dayEvent.event.end) {\n newEnd = addMinutes(dayEvent.event.end, minutesMoved);\n }\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n }\n */\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n if (this.hourSegmentModifier) {\n this.hours.forEach((hour) => {\n hour.segments.forEach((segment) => this.hourSegmentModifier(segment));\n });\n }\n }\n\n private refreshView(): void {\n this.view = getDayView({\n events: this.events,\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n eventWidth: this.eventWidth,\n segmentHeight: SEGMENT_HEIGHT,\n });\n }\n\n private refreshAll(): void {\n this.refreshHourGrid();\n this.refreshView();\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, CalendarEventResponse, MonthViewDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-day',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-day-top\">\n <span class=\"agenda-day-badge\" *ngIf=\"day.badgeTotal > 0\">{{ day.badgeTotal }}</span>\n <span class=\"agenda-day-number\">{{ day.date | dayofmonth: locale }}</span>\n </div>\n <div class=\"agenda-events\">\n <div\n class=\"agenda-event\"\n *ngFor=\"let type of day.events | groupBy: 'type'\"\n [style.backgroundColor]=\"type?.value[0]?.color.primary\"\n [ngClass]=\"type?.value[0]?.cssClass\"\n (click)=\"$event.stopPropagation(); eventClicked.emit({ event: type?.value[0] })\"\n >\n {{ type?.value.length }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n day: day,\n locale: locale,\n tooltipPosition: tooltipPosition,\n eventClicked: eventClicked,\n accepted: accepted,\n rejected: rejected,\n maybes: maybes\n }\"\n >\n </ng-template>\n `,\n host: {\n '[class]': '\"agenda-cell agenda-day-cell \" + day?.cssClass',\n '[class.agenda-day-accepted]': 'accepted.length',\n '[class.agenda-day-rejected]': 'rejected.length',\n '[class.agenda-past]': 'day.isPast',\n '[class.agenda-today]': 'day.isToday',\n '[class.agenda-future]': 'day.isFuture',\n '[class.agenda-weekend]': 'day.isWeekend',\n '[class.agenda-in-month]': 'day.inMonth',\n '[class.agenda-out-month]': '!day.inMonth',\n '[class.agenda-has-events]': 'day.events.length > 0',\n '[style.backgroundColor]': 'day.backgroundColor',\n },\n})\nexport class NovoAgendaMonthDayElement {\n @Input()\n day: MonthViewDay;\n\n @Input()\n locale: string;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n get accepted(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Accepted;\n });\n }\n\n get rejected(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Rejected;\n });\n }\n\n get maybes(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Maybe;\n });\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { addMonths, subMonths } from 'date-fns';\nimport { WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-header\">\n <div class=\"agenda-header-top\">\n <novo-button theme=\"icon\" icon=\"previous\" (click)=\"prevMonth($event)\"></novo-button>\n <div class=\"agenda-month\">{{ viewDate | month: locale }}</div>\n <novo-button theme=\"icon\" icon=\"next\" (click)=\"nextMonth($event)\"></novo-button>\n </div>\n <div class=\"agenda-weekdays\">\n <div\n class=\"agenda-weekday\"\n *ngFor=\"let day of days\"\n [class.agenda-past]=\"day.isPast\"\n [class.agenda-today]=\"day.isToday\"\n [class.agenda-future]=\"day.isFuture\"\n [class.agenda-weekend]=\"day.isWeekend\"\n >\n {{ day.date | weekday: locale }}\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, viewDate: viewDate }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaMonthHeaderElement {\n @Input()\n viewDate: Date;\n\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n prevMonth(event: Event) {\n this.viewDateChange.emit(subMonths(this.viewDate, 1));\n }\n\n nextMonth(event: Event) {\n this.viewDateChange.emit(addMonths(this.viewDate, 1));\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { addSeconds, differenceInSeconds, getDate, getMonth, getYear, setDate, setMonth, setYear } from 'date-fns';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n getMonthView,\n getWeekViewHeader,\n MonthView,\n MonthViewDay,\n WeekDay,\n} from 'novo-elements/utils';\n\n/**\n * Shows all events on a given month. Example usage:\n *\n * ```\n * <novo-agenda-month-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </novo-agenda-month-view>\n * ```\n */\n@Component({\n selector: 'novo-agenda-month',\n template: `\n <div class=\"agenda-month-view\">\n <novo-agenda-month-header\n [(viewDate)]=\"viewDate\"\n [days]=\"columnHeaders\"\n [locale]=\"locale\"\n [customTemplate]=\"headerTemplate\"\n (viewDateChange)=\"refreshAll()\"\n >\n </novo-agenda-month-header>\n <div class=\"agenda-days\">\n <div *ngFor=\"let rowIndex of view.rowOffsets\">\n <div class=\"agenda-cell-row\">\n <novo-agenda-month-day\n *ngFor=\"let day of view.days | slice: rowIndex:rowIndex + view.totalDaysVisibleInWeek\"\n [day]=\"day\"\n [locale]=\"locale\"\n [customTemplate]=\"cellTemplate\"\n (click)=\"dayClicked.emit({ day: day })\"\n (eventClicked)=\"eventClicked.emit({ day: day, event: $event.event })\"\n >\n </novo-agenda-month-day>\n </div>\n </div>\n </div>\n </div>\n `,\n})\nexport class NovoAgendaMonthViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * A function that will be called before each cell is rendered. The first argument will contain the calendar cell.\n * If you add the `cssClass` property to the cell it will add that class to the cell in the template\n */\n @Input()\n dayModifier: Function;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string = 'en-US';\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use to replace the day cell\n */\n @Input()\n cellTemplate: TemplateRef<any>;\n\n /**\n * Called when the day cell is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ day: MonthViewDay }> = new EventEmitter<{ day: MonthViewDay }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ day: any; event: CalendarEvent }> = new EventEmitter<{ day: any; event: CalendarEvent }>();\n\n /**\n * Called when an event is dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n /**\n * @hidden\n */\n columnHeaders: WeekDay[];\n\n /**\n * @hidden\n */\n view: MonthView;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n if (changes.viewDate || changes.events || changes.excludeDays) {\n this.refreshBody();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n eventDropped(day: MonthViewDay, event: CalendarEvent): void {\n const year: number = getYear(day.date);\n const month: number = getMonth(day.date);\n const date: number = getDate(day.date);\n const newStart: Date = setYear(setMonth(setDate(event.start, date), month), year);\n let newEnd: Date;\n if (event.end) {\n const secondsDiff: number = differenceInSeconds(newStart, event.start);\n newEnd = addSeconds(event.end, secondsDiff);\n }\n this.eventTimesChanged.emit({ event, newStart, newEnd });\n }\n\n private refreshHeader(): void {\n this.columnHeaders = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.view = getMonthView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n if (this.dayModifier) {\n this.view.days.forEach((day) => this.dayModifier(day));\n }\n }\n\n public refreshAll(): void {\n this.refreshHeader();\n this.refreshBody();\n this.viewDateChange.emit(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { WeekViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [class.cal-starts-within-week]=\"!weekEvent.startsBeforeWeek\"\n [class.cal-ends-within-week]=\"!weekEvent.endsAfterWeek\"\n [ngClass]=\"weekEvent.event?.cssClass\"\n [tooltip]=\"weekEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: weekEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"weekEvent.event.color.primary\"></div>\n <div class=\"cal-event-title\">{{ weekEvent.event?.title }}</div>\n <div class=\"cal-event-description\">{{ weekEvent.event?.description }}</div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ weekEvent: weekEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaWeekEventElement {\n @Input()\n weekEvent: WeekViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-day-headers\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [class.cal-drag-over]=\"day.dragOver\"\n (click)=\"dayClicked.emit({ date: day.date })\"\n mwlDroppable\n (dragEnter)=\"day.dragOver = true\"\n (dragLeave)=\"day.dragOver = false\"\n (drop)=\"day.dragOver = false; eventDropped.emit({ event: $event.dropData.event, newStart: day.date })\"\n >\n <b>{{ day.date | weekday: locale:'long' }}</b\n ><br />\n <span>{{ day.date | monthday: locale }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, dayClicked: dayClicked, eventDropped: eventDropped }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaWeekHeaderElement {\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n @Output()\n eventDropped: EventEmitter<{ event: CalendarEvent; newStart: Date }> = new EventEmitter<{ event: CalendarEvent; newStart: Date }>();\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayViewHour,\n getDayViewHourGrid,\n getWeekView,\n getWeekViewHeader,\n WeekDay,\n WeekViewEventRow,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n/**\n * Shows all events on a given week. Example usage:\n *\n * ```typescript\n * <novo-agenda-week\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </novo-agenda-week>\n * ```\n */\n@Component({\n selector: 'novo-agenda-week',\n template: `\n <div class=\"cal-week-view\" #weekViewContainer>\n <novo-agenda-week-header [days]=\"days\" [locale]=\"locale\" [customTemplate]=\"headerTemplate\" (dayClicked)=\"dayClicked.emit($event)\">\n </novo-agenda-week-header>\n <div *ngFor=\"let eventRow of eventRows\" #eventRowContainer>\n <div\n class=\"cal-event-container\"\n #event\n *ngFor=\"let weekEvent of eventRow.row\"\n [style.width]=\"(100 / days.length) * weekEvent.span + '%'\"\n [style.marginTop.px]=\"weekEvent.top\"\n [style.height.px]=\"weekEvent.height\"\n [style.marginLeft]=\"(100 / days.length) * weekEvent.offset + '%'\"\n >\n <novo-agenda-week-event\n [weekEvent]=\"weekEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-week-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n `,\n})\nexport class NovoAgendaWeekViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'bottom';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for week view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * The precision to display events.\n * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding\n */\n @Input()\n precision: 'days' | 'minutes' = 'days';\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n /**\n * Called when a header week day is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n days: WeekDay[];\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n eventRows: WeekViewEventRow[] = [];\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalOffset: number;\n originalSpan: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n\n if (changes.events || changes.viewDate || changes.excludeDays) {\n this.refreshBody();\n }\n\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /*\n resizeStarted(weekViewContainer: HTMLElement, weekEvent: WeekViewEvent, resizeEvent: ResizeEvent): void {\n this.currentResize = {\n originalOffset: weekEvent.offset,\n originalSpan: weekEvent.span,\n edge: typeof resizeEvent.edges.left !== 'undefined' ? 'left' : 'right'\n };\n const resizeHelper: CalendarResizeHelper = new CalendarResizeHelper(weekViewContainer, this.getDayColumnWidth(weekViewContainer));\n this.validateResize = ({rectangle}) => resizeHelper.validateResize({rectangle});\n this.cdr.detectChanges();\n }\n\n resizing(weekEvent: WeekViewEvent, resizeEvent: ResizeEvent, dayWidth: number): void {\n if (resizeEvent.edges.left) {\n const diff: number = Math.round(+resizeEvent.edges.left / dayWidth);\n weekEvent.offset = this.currentResize.originalOffset + diff;\n weekEvent.span = this.currentResize.originalSpan - diff;\n } else if (resizeEvent.edges.right) {\n const diff: number = Math.round(+resizeEvent.edges.right / dayWidth);\n weekEvent.span = this.currentResize.originalSpan + diff;\n }\n }\n\n resizeEnded(weekEvent: WeekViewEvent): void {\n\n let daysDiff: number;\n if (this.currentResize.edge === 'left') {\n daysDiff = weekEvent.offset - this.currentResize.originalOffset;\n } else {\n daysDiff = weekEvent.span - this.currentResize.originalSpan;\n }\n\n weekEvent.offset = this.currentResize.originalOffset;\n weekEvent.span = this.currentResize.originalSpan;\n\n let newStart: Date = weekEvent.event.start;\n let newEnd: Date = weekEvent.event.end;\n if (this.currentResize.edge === 'left') {\n newStart = addDays(newStart, daysDiff);\n } else if (newEnd) {\n newEnd = addDays(newEnd, daysDiff);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: weekEvent.event});\n this.currentResize = null;\n\n }\n\n eventDragged(weekEvent: WeekViewEvent, draggedByPx: number, dayWidth: number): void {\n\n const daysDragged: number = draggedByPx / dayWidth;\n const newStart: Date = addDays(weekEvent.event.start, daysDragged);\n let newEnd: Date;\n if (weekEvent.event.end) {\n newEnd = addDays(weekEvent.event.end, daysDragged);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: weekEvent.event});\n\n }\n\n dragStart(weekViewContainer: HTMLElement, event: HTMLElement): void {\n const dragHelper: CalendarDragHelper = new CalendarDragHelper(weekViewContainer, event);\n this.validateDrag = ({x, y}) => !this.currentResize && dragHelper.validateDrag({x, y});\n this.cdr.detectChanges();\n }\n */\n\n getDayColumnWidth(eventRowContainer: HTMLElement): number {\n return Math.floor(eventRowContainer.offsetWidth / this.days.length);\n }\n\n private refreshHeader(): void {\n this.days = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.eventRows = getWeekView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n hourSegments: this.hourSegments,\n segmentHeight: SEGMENT_HEIGHT,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n // precision: this.precision\n });\n }\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n // if (this.hourSegmentModifier) {\n // this.hours.forEach(hour => {\n // hour.segments.forEach(segment => this.hourSegmentModifier(segment));\n // });\n // }\n }\n\n private refreshAll(): void {\n this.refreshHeader();\n this.refreshHourGrid();\n this.refreshBody();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoTooltipModule } from 'novo-elements/elements/tooltip';\n// Common Elements\nimport { NovoAgendaDateChangeElement } from './common/AgendaDateChange';\nimport { NovoEventTypeLegendElement } from './common/EventTypeLegend';\n// Day View\nimport { NovoAgendaAllDayEventElement } from './day/AgendaAllDayEvent';\nimport { NovoAgendaDayEventElement } from './day/AgendaDayEvent';\nimport { NovoAgendaDayViewElement } from './day/AgendaDayView';\nimport { NovoAgendaHourSegmentElement } from './day/AgendaHourSegment';\n// Month View\nimport { NovoAgendaMonthDayElement } from './month/AgendaMonthDay';\nimport { NovoAgendaMonthHeaderElement } from './month/AgendaMonthHeader';\nimport { NovoAgendaMonthViewElement } from './month/AgendaMonthView';\n// Week View\nimport { NovoAgendaWeekEventElement } from './week/AgendaWeekEvent';\nimport { NovoAgendaWeekHeaderElement } from './week/AgendaWeekHeader';\nimport { NovoAgendaWeekViewElement } from './week/AgendaWeekView';\n// Pipes\nimport { DayOfMonthPipe } from './pipe/DayOfMonth.pipe';\nimport { EndOfWeekDisplayPipe } from './pipe/EndOfWeekDisplayPipe.pipe';\nimport { HoursPipe } from './pipe/Hours.pipe';\nimport { MonthPipe } from './pipe/Month.pipe';\nimport { MonthDayPipe } from './pipe/MonthDay.pipe';\nimport { WeekdayPipe } from './pipe/Weekday.pipe';\nimport { YearPipe } from './pipe/Year.pipe';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule, NovoTooltipModule, NovoPipesModule],\n declarations: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n exports: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n})\nexport class NovoAgendaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.MonthPipe","i3.YearPipe","i4.MonthDayPipe","i5.EndOfWeekDisplayPipe","i6.WeekdayPipe","i7.DayOfMonthPipe","i2","i2.HoursPipe","SEGMENT_HEIGHT","MINUTES_IN_HOUR","i1.NovoAgendaAllDayEventElement","i2.NovoAgendaDayEventElement","i3.NovoAgendaHourSegmentElement","i4","i2.DayOfMonthPipe","i3","i1","i3.MonthPipe","i4.WeekdayPipe","i1.NovoAgendaMonthHeaderElement","i2.NovoAgendaMonthDayElement","i2.WeekdayPipe","i3.MonthDayPipe","i1.NovoAgendaWeekHeaderElement","i2.NovoAgendaWeekEventElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-agenda.mjs","sources":["../../../projects/novo-elements/src/elements/agenda/pipe/Month.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Year.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/MonthDay.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/EndOfWeekDisplayPipe.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Weekday.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/DayOfMonth.pipe.ts","../../../projects/novo-elements/src/elements/agenda/common/AgendaDateChange.ts","../../../projects/novo-elements/src/elements/agenda/common/EventTypeLegend.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaAllDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Hours.pipe.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaHourSegment.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayView.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthDay.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthHeader.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthView.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekEvent.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekHeader.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekView.ts","../../../projects/novo-elements/src/elements/agenda/Agenda.module.ts","../../../projects/novo-elements/src/elements/agenda/novo-elements-elements-agenda.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'month' })\nexport class MonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'long'): string {\n return new Intl.DateTimeFormat(locale, { month: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'year' })\nexport class YearPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { year: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'monthday' })\nexport class MonthDayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'endofweekdisplay' })\nexport class EndOfWeekDisplayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n\n transform(\n endOfWeek: Date,\n startOfWeek: Date,\n locale: string = this.locale,\n method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short',\n ): String {\n if (endOfWeek.getMonth() === startOfWeek.getMonth()) {\n return new Intl.DateTimeFormat(locale, { day: 'numeric' }).format(endOfWeek);\n }\n\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(endOfWeek);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'weekday' })\nexport class WeekdayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { weekday: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dayofmonth' })\nexport class DayOfMonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { day: method }).format(date);\n }\n}\n","import { Component, EventEmitter, Inject, Input, LOCALE_ID, Output } from '@angular/core';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-date-change',\n template: `\n <div class=\"cal-date-change\">\n <i class=\"bhi-arrow-left\" (click)=\"subtractDate()\"></i>\n <span [ngSwitch]=\"view\">\n <span *ngSwitchCase=\"'month'\">{{ (viewDate | month: locale) + ' ' + (viewDate | year: locale) }}</span>\n <span *ngSwitchCase=\"'week'\">{{\n (startOfWeek | monthday: locale:'long') + ' - ' + (endOfWeek | endofweekdisplay: startOfWeek:locale:'long')\n }}</span>\n <span *ngSwitchCase=\"'day'\">{{\n (viewDate | weekday: locale:'long') + ', ' + (viewDate | month: locale) + ' ' + (viewDate | dayofmonth: locale)\n }}</span>\n </span>\n <i class=\"bhi-arrow-right\" (click)=\"addDate()\"></i>\n </div>\n `,\n styleUrls: ['./AgendaDateChange.scss'],\n})\nexport class NovoAgendaDateChangeElement {\n /**\n * The current view\n */\n @Input()\n view: string;\n\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n @Input()\n locale: string;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n subtractDate(): void {\n this.changeDate(-1);\n }\n\n addDate(): void {\n this.changeDate(1);\n }\n\n changeDate(unit: number): void {\n const addFn: any = {\n day: DateUtil.addDays,\n week: DateUtil.addWeeks,\n month: DateUtil.addMonths,\n }[this.view];\n\n this.viewDateChange.emit(addFn(this.viewDate, unit));\n }\n\n get startOfWeek() {\n return DateUtil.startOfWeek(this.viewDate);\n }\n\n get endOfWeek() {\n return DateUtil.endOfWeek(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-event-type-legend',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-event-legend\">\n <div\n class=\"cal-event-type\"\n *ngFor=\"let type of events | groupBy: 'type'\"\n (click)=\"$event.stopPropagation(); eventTypeClicked.emit({ event: type?.key })\"\n >\n <div class=\"cal-event-type-swatch\"></div>\n <div>{{ type?.key }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ events: events, eventTypeClicked: eventTypeClicked }\"\n >\n </ng-template>\n `,\n})\nexport class NovoEventTypeLegendElement {\n @Input()\n events: CalendarEvent[];\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventTypeClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-all-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-all-day-event\" [style.backgroundColor]=\"event.color.secondary\" [style.borderColor]=\"event.color.primary\">\n {{ event.title }}\n <!--<novo-agenda-event-title\n [event]=\"event\"\n view=\"day\"\n (click)=\"eventClicked.emit()\">\n </novo-agenda-event-title>\n <novo-agenda-event-actions [event]=\"event\"></novo-agenda-event-actions>-->\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n eventClicked: eventClicked\n }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaAllDayEventElement {\n @Input()\n event: CalendarEvent;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { DayViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [style.borderColor]=\"dayEvent.event.color.secondary\"\n [class.cal-starts-within-day]=\"!dayEvent.startsBeforeDay\"\n [class.cal-ends-within-day]=\"!dayEvent.endsAfterDay\"\n [ngClass]=\"dayEvent.event.cssClass\"\n [tooltip]=\"dayEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: dayEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"dayEvent.event.color.primary\"></div>\n <div class=\"cal-event-group\">\n <div class=\"cal-event-title\">{{ dayEvent.event.title }}</div>\n <div class=\"cal-event-description\">{{ dayEvent.event?.description }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ dayEvent: dayEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaDayEventElement {\n @Input()\n dayEvent: DayViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'hours' })\nexport class HoursPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { hour: method }).format(date);\n }\n}\n","import { Component, Input, TemplateRef } from '@angular/core';\nimport { DayViewHourSegment } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-hour-segment',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-hour-segment\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n >\n <div class=\"cal-time\">\n {{ segment.date | hours: locale }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n segment: segment,\n locale: locale\n }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaHourSegmentElement {\n @Input()\n segment: DayViewHourSegment;\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayView,\n DayViewHour,\n getDayView,\n getDayViewHourGrid,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n\n/**\n * Shows all events on a given day. Example usage:\n *\n * ```typescript\n * <novo-agenda-day\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </novo-agenda-day>\n * ```\n */\n@Component({\n selector: 'novo-agenda-day',\n template: `\n <div class=\"cal-day-view\" #dayViewContainer>\n <novo-agenda-all-day-event\n *ngFor=\"let event of view.allDayEvents\"\n [event]=\"event\"\n [customTemplate]=\"allDayEventTemplate\"\n (eventClicked)=\"eventClicked.emit({ event: event })\"\n >\n </novo-agenda-all-day-event>\n <div class=\"cal-hour-rows\">\n <div class=\"cal-events\">\n <div\n #event\n *ngFor=\"let dayEvent of view?.events\"\n class=\"cal-event-container\"\n [style.marginTop.px]=\"dayEvent.top\"\n [style.height.px]=\"dayEvent.height\"\n [style.marginLeft.px]=\"dayEvent.left + 70\"\n [style.width.px]=\"dayEvent.width - 1\"\n >\n <novo-agenda-day-event\n [dayEvent]=\"dayEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-day-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"view?.width + 70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaDayView.scss', '../common/AgendaHoursLayout.scss'],\n})\nexport class NovoAgendaDayViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n\n /**\n * The width in pixels of each event on the view\n */\n @Input()\n eventWidth: number = 150;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * A function that will be called before each hour segment is called. The first argument will contain the hour segment.\n * If you add the `cssClass` property to the segment it will add that class to the hour segment in the template\n */\n @Input()\n hourSegmentModifier: Function;\n\n /**\n * The grid size to snap resizing and dragging of events to\n */\n @Input()\n eventSnapSize: number = 30;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for all day events\n */\n @Input()\n allDayEventTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for day view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * Called when an event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n view: DayView;\n\n /**\n * @hidden\n */\n width: number = 0;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalTop: number;\n originalHeight: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n\n if (\n changes.viewDate ||\n changes.events ||\n changes.dayStartHour ||\n changes.dayStartMinute ||\n changes.dayEndHour ||\n changes.dayEndMinute ||\n changes.eventWidth\n ) {\n this.refreshView();\n }\n }\n\n /*\n eventDropped(dropEvent: {dropData?: {event?: CalendarEvent}}, segment: DayViewHourSegment): void {\n if (dropEvent.dropData && dropEvent.dropData.event) {\n this.eventTimesChanged.emit({event: dropEvent.dropData.event, newStart: segment.date});\n }\n }\n\n resizeStarted(event: DayViewEvent, resizeEvent: ResizeEvent, dayViewContainer: HTMLElement): void {\n this.currentResize = {\n originalTop: event.top,\n originalHeight: event.height,\n edge: typeof resizeEvent.edges.top !== 'undefined' ? 'top' : 'bottom'\n };\n const resizeHelper: CalendarResizeHelper = new CalendarResizeHelper(dayViewContainer);\n this.validateResize = ({rectangle}) => resizeHelper.validateResize({rectangle});\n this.cdr.detectChanges();\n }\n\n resizing(event: DayViewEvent, resizeEvent: ResizeEvent): void {\n if (resizeEvent.edges.top) {\n event.top = this.currentResize.originalTop + +resizeEvent.edges.top;\n event.height = this.currentResize.originalHeight - +resizeEvent.edges.top;\n } else if (resizeEvent.edges.bottom) {\n event.height = this.currentResize.originalHeight + +resizeEvent.edges.bottom;\n }\n }\n\n resizeEnded(dayEvent: DayViewEvent): void {\n\n let pixelsMoved: number;\n if (this.currentResize.edge === 'top') {\n pixelsMoved = (dayEvent.top - this.currentResize.originalTop);\n } else {\n pixelsMoved = (dayEvent.height - this.currentResize.originalHeight);\n }\n\n dayEvent.top = this.currentResize.originalTop;\n dayEvent.height = this.currentResize.originalHeight;\n\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = pixelsMoved * pixelAmountInMinutes;\n let newStart: Date = dayEvent.event.start;\n let newEnd: Date = dayEvent.event.end;\n if (this.currentResize.edge === 'top') {\n newStart = addMinutes(newStart, minutesMoved);\n } else if (newEnd) {\n newEnd = addMinutes(newEnd, minutesMoved);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n this.currentResize = null;\n\n }\n\n dragStart(event: HTMLElement, dayViewContainer: HTMLElement): void {\n const dragHelper: CalendarDragHelper = new CalendarDragHelper(dayViewContainer, event);\n this.validateDrag = ({x, y}) => !this.currentResize && dragHelper.validateDrag({x, y});\n this.cdr.detectChanges();\n }\n\n eventDragged(dayEvent: DayViewEvent, draggedInPixels: number): void {\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = draggedInPixels * pixelAmountInMinutes;\n const newStart: Date = addMinutes(dayEvent.event.start, minutesMoved);\n let newEnd: Date;\n if (dayEvent.event.end) {\n newEnd = addMinutes(dayEvent.event.end, minutesMoved);\n }\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n }\n */\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n if (this.hourSegmentModifier) {\n this.hours.forEach((hour) => {\n hour.segments.forEach((segment) => this.hourSegmentModifier(segment));\n });\n }\n }\n\n private refreshView(): void {\n this.view = getDayView({\n events: this.events,\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n eventWidth: this.eventWidth,\n segmentHeight: SEGMENT_HEIGHT,\n });\n }\n\n private refreshAll(): void {\n this.refreshHourGrid();\n this.refreshView();\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, CalendarEventResponse, MonthViewDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-day',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-day-top\">\n <span class=\"agenda-day-badge\" *ngIf=\"day.badgeTotal > 0\">{{ day.badgeTotal }}</span>\n <span class=\"agenda-day-number\">{{ day.date | dayofmonth: locale }}</span>\n </div>\n <div class=\"agenda-events\">\n <div\n class=\"agenda-event\"\n *ngFor=\"let type of day.events | groupBy: 'type'\"\n [style.backgroundColor]=\"type?.value[0]?.color.primary\"\n [ngClass]=\"type?.value[0]?.cssClass\"\n (click)=\"$event.stopPropagation(); eventClicked.emit({ event: type?.value[0] })\"\n >\n {{ type?.value.length }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n day: day,\n locale: locale,\n tooltipPosition: tooltipPosition,\n eventClicked: eventClicked,\n accepted: accepted,\n rejected: rejected,\n maybes: maybes\n }\"\n >\n </ng-template>\n `,\n host: {\n '[class]': '\"agenda-cell agenda-day-cell \" + day?.cssClass',\n '[class.agenda-day-accepted]': 'accepted.length',\n '[class.agenda-day-rejected]': 'rejected.length',\n '[class.agenda-past]': 'day.isPast',\n '[class.agenda-today]': 'day.isToday',\n '[class.agenda-future]': 'day.isFuture',\n '[class.agenda-weekend]': 'day.isWeekend',\n '[class.agenda-in-month]': 'day.inMonth',\n '[class.agenda-out-month]': '!day.inMonth',\n '[class.agenda-has-events]': 'day.events.length > 0',\n '[style.backgroundColor]': 'day.backgroundColor',\n },\n})\nexport class NovoAgendaMonthDayElement {\n @Input()\n day: MonthViewDay;\n\n @Input()\n locale: string;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n get accepted(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Accepted;\n });\n }\n\n get rejected(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Rejected;\n });\n }\n\n get maybes(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Maybe;\n });\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { addMonths, subMonths } from 'date-fns';\nimport { WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-header\">\n <div class=\"agenda-header-top\">\n <novo-button theme=\"icon\" icon=\"previous\" (click)=\"prevMonth($event)\"></novo-button>\n <div class=\"agenda-month\">{{ viewDate | month: locale }}</div>\n <novo-button theme=\"icon\" icon=\"next\" (click)=\"nextMonth($event)\"></novo-button>\n </div>\n <div class=\"agenda-weekdays\">\n <div\n class=\"agenda-weekday\"\n *ngFor=\"let day of days\"\n [class.agenda-past]=\"day.isPast\"\n [class.agenda-today]=\"day.isToday\"\n [class.agenda-future]=\"day.isFuture\"\n [class.agenda-weekend]=\"day.isWeekend\"\n >\n {{ day.date | weekday: locale }}\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, viewDate: viewDate }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaMonthHeaderElement {\n @Input()\n viewDate: Date;\n\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n prevMonth(event: Event) {\n this.viewDateChange.emit(subMonths(this.viewDate, 1));\n }\n\n nextMonth(event: Event) {\n this.viewDateChange.emit(addMonths(this.viewDate, 1));\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { addSeconds, differenceInSeconds, getDate, getMonth, getYear, setDate, setMonth, setYear } from 'date-fns';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n getMonthView,\n getWeekViewHeader,\n MonthView,\n MonthViewDay,\n WeekDay,\n} from 'novo-elements/utils';\n\n/**\n * Shows all events on a given month. Example usage:\n *\n * ```\n * <novo-agenda-month-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </novo-agenda-month-view>\n * ```\n */\n@Component({\n selector: 'novo-agenda-month',\n template: `\n <div class=\"agenda-month-view\">\n <novo-agenda-month-header\n [(viewDate)]=\"viewDate\"\n [days]=\"columnHeaders\"\n [locale]=\"locale\"\n [customTemplate]=\"headerTemplate\"\n (viewDateChange)=\"refreshAll()\"\n >\n </novo-agenda-month-header>\n <div class=\"agenda-days\">\n <div *ngFor=\"let rowIndex of view.rowOffsets\">\n <div class=\"agenda-cell-row\">\n <novo-agenda-month-day\n *ngFor=\"let day of view.days | slice: rowIndex:rowIndex + view.totalDaysVisibleInWeek\"\n [day]=\"day\"\n [locale]=\"locale\"\n [customTemplate]=\"cellTemplate\"\n (click)=\"dayClicked.emit({ day: day })\"\n (eventClicked)=\"eventClicked.emit({ day: day, event: $event.event })\"\n >\n </novo-agenda-month-day>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaMonthView.scss'],\n})\nexport class NovoAgendaMonthViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * A function that will be called before each cell is rendered. The first argument will contain the calendar cell.\n * If you add the `cssClass` property to the cell it will add that class to the cell in the template\n */\n @Input()\n dayModifier: Function;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string = 'en-US';\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use to replace the day cell\n */\n @Input()\n cellTemplate: TemplateRef<any>;\n\n /**\n * Called when the day cell is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ day: MonthViewDay }> = new EventEmitter<{ day: MonthViewDay }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ day: any; event: CalendarEvent }> = new EventEmitter<{ day: any; event: CalendarEvent }>();\n\n /**\n * Called when an event is dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n /**\n * @hidden\n */\n columnHeaders: WeekDay[];\n\n /**\n * @hidden\n */\n view: MonthView;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n if (changes.viewDate || changes.events || changes.excludeDays) {\n this.refreshBody();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n eventDropped(day: MonthViewDay, event: CalendarEvent): void {\n const year: number = getYear(day.date);\n const month: number = getMonth(day.date);\n const date: number = getDate(day.date);\n const newStart: Date = setYear(setMonth(setDate(event.start, date), month), year);\n let newEnd: Date;\n if (event.end) {\n const secondsDiff: number = differenceInSeconds(newStart, event.start);\n newEnd = addSeconds(event.end, secondsDiff);\n }\n this.eventTimesChanged.emit({ event, newStart, newEnd });\n }\n\n private refreshHeader(): void {\n this.columnHeaders = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.view = getMonthView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n if (this.dayModifier) {\n this.view.days.forEach((day) => this.dayModifier(day));\n }\n }\n\n public refreshAll(): void {\n this.refreshHeader();\n this.refreshBody();\n this.viewDateChange.emit(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { WeekViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [class.cal-starts-within-week]=\"!weekEvent.startsBeforeWeek\"\n [class.cal-ends-within-week]=\"!weekEvent.endsAfterWeek\"\n [ngClass]=\"weekEvent.event?.cssClass\"\n [tooltip]=\"weekEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: weekEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"weekEvent.event.color.primary\"></div>\n <div class=\"cal-event-title\">{{ weekEvent.event?.title }}</div>\n <div class=\"cal-event-description\">{{ weekEvent.event?.description }}</div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ weekEvent: weekEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaWeekEventElement {\n @Input()\n weekEvent: WeekViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-day-headers\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [class.cal-drag-over]=\"day.dragOver\"\n (click)=\"dayClicked.emit({ date: day.date })\"\n mwlDroppable\n (dragEnter)=\"day.dragOver = true\"\n (dragLeave)=\"day.dragOver = false\"\n (drop)=\"day.dragOver = false; eventDropped.emit({ event: $event.dropData.event, newStart: day.date })\"\n >\n <b>{{ day.date | weekday: locale:'long' }}</b\n ><br />\n <span>{{ day.date | monthday: locale }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, dayClicked: dayClicked, eventDropped: eventDropped }\"\n >\n </ng-template>\n `,\n})\nexport class NovoAgendaWeekHeaderElement {\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n @Output()\n eventDropped: EventEmitter<{ event: CalendarEvent; newStart: Date }> = new EventEmitter<{ event: CalendarEvent; newStart: Date }>();\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayViewHour,\n getDayViewHourGrid,\n getWeekView,\n getWeekViewHeader,\n WeekDay,\n WeekViewEventRow,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n/**\n * Shows all events on a given week. Example usage:\n *\n * ```typescript\n * <novo-agenda-week\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </novo-agenda-week>\n * ```\n */\n@Component({\n selector: 'novo-agenda-week',\n template: `\n <div class=\"cal-week-view\" #weekViewContainer>\n <novo-agenda-week-header [days]=\"days\" [locale]=\"locale\" [customTemplate]=\"headerTemplate\" (dayClicked)=\"dayClicked.emit($event)\">\n </novo-agenda-week-header>\n <div *ngFor=\"let eventRow of eventRows\" #eventRowContainer>\n <div\n class=\"cal-event-container\"\n #event\n *ngFor=\"let weekEvent of eventRow.row\"\n [style.width]=\"(100 / days.length) * weekEvent.span + '%'\"\n [style.marginTop.px]=\"weekEvent.top\"\n [style.height.px]=\"weekEvent.height\"\n [style.marginLeft]=\"(100 / days.length) * weekEvent.offset + '%'\"\n >\n <novo-agenda-week-event\n [weekEvent]=\"weekEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-week-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaWeekView.scss', '../common/AgendaHoursLayout.scss'],\n})\nexport class NovoAgendaWeekViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'bottom';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for week view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * The precision to display events.\n * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding\n */\n @Input()\n precision: 'days' | 'minutes' = 'days';\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n /**\n * Called when a header week day is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n days: WeekDay[];\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n eventRows: WeekViewEventRow[] = [];\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalOffset: number;\n originalSpan: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n\n if (changes.events || changes.viewDate || changes.excludeDays) {\n this.refreshBody();\n }\n\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /*\n resizeStarted(weekViewContainer: HTMLElement, weekEvent: WeekViewEvent, resizeEvent: ResizeEvent): void {\n this.currentResize = {\n originalOffset: weekEvent.offset,\n originalSpan: weekEvent.span,\n edge: typeof resizeEvent.edges.left !== 'undefined' ? 'left' : 'right'\n };\n const resizeHelper: CalendarResizeHelper = new CalendarResizeHelper(weekViewContainer, this.getDayColumnWidth(weekViewContainer));\n this.validateResize = ({rectangle}) => resizeHelper.validateResize({rectangle});\n this.cdr.detectChanges();\n }\n\n resizing(weekEvent: WeekViewEvent, resizeEvent: ResizeEvent, dayWidth: number): void {\n if (resizeEvent.edges.left) {\n const diff: number = Math.round(+resizeEvent.edges.left / dayWidth);\n weekEvent.offset = this.currentResize.originalOffset + diff;\n weekEvent.span = this.currentResize.originalSpan - diff;\n } else if (resizeEvent.edges.right) {\n const diff: number = Math.round(+resizeEvent.edges.right / dayWidth);\n weekEvent.span = this.currentResize.originalSpan + diff;\n }\n }\n\n resizeEnded(weekEvent: WeekViewEvent): void {\n\n let daysDiff: number;\n if (this.currentResize.edge === 'left') {\n daysDiff = weekEvent.offset - this.currentResize.originalOffset;\n } else {\n daysDiff = weekEvent.span - this.currentResize.originalSpan;\n }\n\n weekEvent.offset = this.currentResize.originalOffset;\n weekEvent.span = this.currentResize.originalSpan;\n\n let newStart: Date = weekEvent.event.start;\n let newEnd: Date = weekEvent.event.end;\n if (this.currentResize.edge === 'left') {\n newStart = addDays(newStart, daysDiff);\n } else if (newEnd) {\n newEnd = addDays(newEnd, daysDiff);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: weekEvent.event});\n this.currentResize = null;\n\n }\n\n eventDragged(weekEvent: WeekViewEvent, draggedByPx: number, dayWidth: number): void {\n\n const daysDragged: number = draggedByPx / dayWidth;\n const newStart: Date = addDays(weekEvent.event.start, daysDragged);\n let newEnd: Date;\n if (weekEvent.event.end) {\n newEnd = addDays(weekEvent.event.end, daysDragged);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: weekEvent.event});\n\n }\n\n dragStart(weekViewContainer: HTMLElement, event: HTMLElement): void {\n const dragHelper: CalendarDragHelper = new CalendarDragHelper(weekViewContainer, event);\n this.validateDrag = ({x, y}) => !this.currentResize && dragHelper.validateDrag({x, y});\n this.cdr.detectChanges();\n }\n */\n\n getDayColumnWidth(eventRowContainer: HTMLElement): number {\n return Math.floor(eventRowContainer.offsetWidth / this.days.length);\n }\n\n private refreshHeader(): void {\n this.days = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.eventRows = getWeekView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n hourSegments: this.hourSegments,\n segmentHeight: SEGMENT_HEIGHT,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n // precision: this.precision\n });\n }\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n // if (this.hourSegmentModifier) {\n // this.hours.forEach(hour => {\n // hour.segments.forEach(segment => this.hourSegmentModifier(segment));\n // });\n // }\n }\n\n private refreshAll(): void {\n this.refreshHeader();\n this.refreshHourGrid();\n this.refreshBody();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoTooltipModule } from 'novo-elements/elements/tooltip';\n// Common Elements\nimport { NovoAgendaDateChangeElement } from './common/AgendaDateChange';\nimport { NovoEventTypeLegendElement } from './common/EventTypeLegend';\n// Day View\nimport { NovoAgendaAllDayEventElement } from './day/AgendaAllDayEvent';\nimport { NovoAgendaDayEventElement } from './day/AgendaDayEvent';\nimport { NovoAgendaDayViewElement } from './day/AgendaDayView';\nimport { NovoAgendaHourSegmentElement } from './day/AgendaHourSegment';\n// Month View\nimport { NovoAgendaMonthDayElement } from './month/AgendaMonthDay';\nimport { NovoAgendaMonthHeaderElement } from './month/AgendaMonthHeader';\nimport { NovoAgendaMonthViewElement } from './month/AgendaMonthView';\n// Week View\nimport { NovoAgendaWeekEventElement } from './week/AgendaWeekEvent';\nimport { NovoAgendaWeekHeaderElement } from './week/AgendaWeekHeader';\nimport { NovoAgendaWeekViewElement } from './week/AgendaWeekView';\n// Pipes\nimport { DayOfMonthPipe } from './pipe/DayOfMonth.pipe';\nimport { EndOfWeekDisplayPipe } from './pipe/EndOfWeekDisplayPipe.pipe';\nimport { HoursPipe } from './pipe/Hours.pipe';\nimport { MonthPipe } from './pipe/Month.pipe';\nimport { MonthDayPipe } from './pipe/MonthDay.pipe';\nimport { WeekdayPipe } from './pipe/Weekday.pipe';\nimport { YearPipe } from './pipe/Year.pipe';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule, NovoTooltipModule, NovoPipesModule],\n declarations: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n exports: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n})\nexport class NovoAgendaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.MonthPipe","i3.YearPipe","i4.MonthDayPipe","i5.EndOfWeekDisplayPipe","i6.WeekdayPipe","i7.DayOfMonthPipe","i2","i2.HoursPipe","SEGMENT_HEIGHT","MINUTES_IN_HOUR","i1.NovoAgendaAllDayEventElement","i2.NovoAgendaDayEventElement","i3.NovoAgendaHourSegmentElement","i4","i2.DayOfMonthPipe","i3","i1","i3.MonthPipe","i4.WeekdayPipe","i1.NovoAgendaMonthHeaderElement","i2.NovoAgendaMonthDayElement","i2.WeekdayPipe","i3.MonthDayPipe","i1.NovoAgendaWeekHeaderElement","i2.NovoAgendaWeekEventElement"],"mappings":"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"}
|