@acorex/components 20.2.0-next.9 → 20.2.1
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/accordion/index.d.ts +6 -5
- package/action-sheet/index.d.ts +1 -10
- package/alert/index.d.ts +1 -3
- package/aspect-ratio/README.md +3 -0
- package/aspect-ratio/index.d.ts +11 -0
- package/autocomplete/index.d.ts +6 -2
- package/avatar/index.d.ts +1 -2
- package/badge/index.d.ts +1 -2
- package/bottom-navigation/index.d.ts +10 -2
- package/breadcrumbs/index.d.ts +2 -3
- package/button/index.d.ts +56 -17
- package/button-group/index.d.ts +10 -6
- package/calendar/index.d.ts +9 -9
- package/check-box/index.d.ts +1 -4
- package/chips/index.d.ts +1 -2
- package/circular-progress/index.d.ts +23 -18
- package/code-editor/README.md +3 -0
- package/code-editor/index.d.ts +103 -0
- package/collapse/index.d.ts +7 -6
- package/color-box/index.d.ts +5 -8
- package/color-palette/index.d.ts +19 -24
- package/command/README.md +3 -0
- package/command/index.d.ts +60 -0
- package/comment/index.d.ts +15 -10
- package/conversation/index.d.ts +106 -78
- package/data-list/README.md +356 -0
- package/data-list/index.d.ts +102 -0
- package/data-pager/index.d.ts +22 -17
- package/data-table/index.d.ts +59 -3
- package/datetime-box/index.d.ts +11 -15
- package/datetime-input/index.d.ts +1 -4
- package/datetime-picker/index.d.ts +4 -11
- package/decorators/index.d.ts +2 -2
- package/dialog/index.d.ts +29 -4
- package/drawer-2/index.d.ts +22 -8
- package/dropdown/index.d.ts +44 -3
- package/dropdown-button/index.d.ts +7 -2
- package/fesm2022/acorex-components-accordion.mjs +74 -72
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +22 -48
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +12 -16
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +36 -0
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -0
- package/fesm2022/acorex-components-audio-wave.mjs +7 -7
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +25 -10
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +13 -17
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -11
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +18 -16
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +21 -20
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +35 -26
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +78 -38
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +52 -41
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +10 -13
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +9 -11
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +31 -26
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +591 -0
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -0
- package/fesm2022/acorex-components-collapse.mjs +21 -21
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +32 -32
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +68 -84
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +144 -0
- package/fesm2022/acorex-components-command.mjs.map +1 -0
- package/fesm2022/acorex-components-comment.mjs +47 -41
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +121 -89
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +46 -46
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +386 -0
- package/fesm2022/acorex-components-data-list.mjs.map +1 -0
- package/fesm2022/acorex-components-data-pager.mjs +41 -36
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +97 -41
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +21 -35
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +13 -17
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +44 -46
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +27 -27
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +44 -19
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +28 -14
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +13 -13
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +16 -11
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +57 -13
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +25 -25
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +40 -16
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +36 -17
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +125 -15
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +115 -92
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +8 -8
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +11 -7
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +21 -29
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +11 -15
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +17 -28
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +58 -59
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +84 -28
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +484 -112
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +47 -37
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +67 -37
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs → acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs} +117 -40
- package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +235 -0
- package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +14 -10
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +31 -45
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-2.mjs +18 -5
- package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +14 -15
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +68 -33
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +15 -18
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +44 -14
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +13 -18
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +10 -10
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +7 -7
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +26 -16
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +13 -9
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +222 -102
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1581 -167
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +70 -28
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +12 -9
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +14 -11
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +98 -43
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +9 -9
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +16 -16
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +31 -32
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +20 -15
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +47 -19
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +8 -9
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +22 -12
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +7 -7
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +13 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +59 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -11
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +12 -12
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +252 -56
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +96 -60
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/flow-chart/index.d.ts +24 -0
- package/form/index.d.ts +27 -13
- package/grid-layout-builder/index.d.ts +115 -4
- package/image/index.d.ts +4 -4
- package/image-editor/index.d.ts +16 -14
- package/json-viewer/index.d.ts +3 -3
- package/kanban/index.d.ts +7 -3
- package/kbd/index.d.ts +11 -11
- package/label/index.d.ts +1 -2
- package/list/index.d.ts +4 -14
- package/loading/index.d.ts +59 -6
- package/loading-dialog/index.d.ts +30 -19
- package/map/index.d.ts +95 -2
- package/menu/index.d.ts +38 -13
- package/modal/index.d.ts +47 -2
- package/navbar/index.d.ts +7 -3
- package/notification/index.d.ts +1 -8
- package/number-box-2/index.d.ts +1 -1
- package/otp/index.d.ts +1 -3
- package/package.json +43 -4
- package/paint/index.d.ts +42 -7
- package/password-box/index.d.ts +7 -10
- package/phone-box/index.d.ts +17 -16
- package/popover/index.d.ts +2 -2
- package/popup/index.d.ts +2 -2
- package/qrcode/index.d.ts +7 -7
- package/query-builder/index.d.ts +1 -1
- package/rail-navigation/index.d.ts +12 -3
- package/range-slider/index.d.ts +13 -13
- package/rate-picker/index.d.ts +5 -5
- package/rest-api-generator/index.d.ts +1 -1
- package/rrule/index.d.ts +40 -17
- package/scheduler/index.d.ts +541 -191
- package/search-box/index.d.ts +2 -2
- package/select-box/index.d.ts +13 -4
- package/selection-list-2/index.d.ts +3 -3
- package/side-menu/index.d.ts +24 -15
- package/sliding-item/index.d.ts +4 -5
- package/step-wizard/index.d.ts +10 -13
- package/switch/index.d.ts +0 -1
- package/tabs/index.d.ts +6 -1
- package/tag-box/index.d.ts +18 -2
- package/text-area/index.d.ts +1 -2
- package/text-box/index.d.ts +2 -0
- package/time-line/index.d.ts +3 -0
- package/toast/index.d.ts +45 -1
- package/tooltip/index.d.ts +2 -1
- package/uploader/index.d.ts +215 -5
- package/wysiwyg/index.d.ts +26 -5
- package/fesm2022/acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs +0 -218
- package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs.map +0 -1
package/scheduler/index.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
import { AXRange, NXNativeEvent, NXComponent, NXEvent, AXValueChangedEvent } from '@acorex/cdk/common';
|
2
2
|
import { AXDateTime, AXHolidayDate } from '@acorex/core/date-time';
|
3
3
|
import * as _angular_core from '@angular/core';
|
4
|
-
import { OnInit, TemplateRef } from '@angular/core';
|
4
|
+
import { OnInit, TemplateRef, AfterViewInit, ElementRef } from '@angular/core';
|
5
5
|
import { AXDropZoneDropEvent } from '@acorex/cdk/drag-drop';
|
6
6
|
|
7
|
-
type AXSchedulerView = 'day' | 'week' | 'month' | 'timeline-day' | 'timeline-multi-day' | 'timeline-month' | 'agenda';
|
7
|
+
type AXSchedulerView = 'day' | 'week' | 'month' | 'timeline-day' | 'timeline-multi-day' | 'timeline-month' | 'timeline-year' | 'agenda';
|
8
8
|
type AXDayOfWeekName = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
|
9
9
|
type AXSchedulerBlockIdentifier = {
|
10
10
|
dayIndex: number;
|
@@ -15,6 +15,7 @@ type AXSchedulerAppointment = {
|
|
15
15
|
endDate: Date;
|
16
16
|
title?: string;
|
17
17
|
startDate: Date;
|
18
|
+
resourceId?: any;
|
18
19
|
allDay?: boolean;
|
19
20
|
cssClass?: string;
|
20
21
|
readonly?: boolean;
|
@@ -33,7 +34,6 @@ type AXSchedulerDayAppointmentLayout = {
|
|
33
34
|
effectiveTotalColumns: number;
|
34
35
|
};
|
35
36
|
type AXSchedulerBlockOccupancyMap = Map<string, any>;
|
36
|
-
type AXSchedulerAppointmentsByStartBlock = Record<number, Record<number, AXSchedulerAppointmentSegment[]>>;
|
37
37
|
type AXSchedulerActiveAppointmentsInBlock = Record<number, Record<number, AXSchedulerAppointmentSegment[]>>;
|
38
38
|
type AXSchedulerOverflowBadge = {
|
39
39
|
key: any;
|
@@ -63,6 +63,11 @@ type AXSchedulerAppointmentDataSourceFilter = {
|
|
63
63
|
type AXSchedulerAppointmentLoader = (filter?: AXSchedulerAppointmentDataSourceFilter) => AXSchedulerAppointment[];
|
64
64
|
type AXSchedulerAppointmentLoaderAsync = (filter?: AXSchedulerAppointmentDataSourceFilter) => Promise<AXSchedulerAppointment[]>;
|
65
65
|
type AXSchedulerAppointmentDataSource = AXSchedulerAppointment[] | AXSchedulerAppointmentLoader | AXSchedulerAppointmentLoaderAsync;
|
66
|
+
type AXSchedulerResource = {
|
67
|
+
id: any;
|
68
|
+
title: string;
|
69
|
+
description?: string;
|
70
|
+
};
|
66
71
|
|
67
72
|
interface AXSchedulerAppointmentMouseEvent extends NXNativeEvent<AXSchedulerComponent, MouseEvent> {
|
68
73
|
appointment: AXSchedulerAppointment;
|
@@ -81,6 +86,7 @@ interface AXSchedulerSlotDropEvent extends NXEvent<AXSchedulerComponent> {
|
|
81
86
|
endDate: AXDateTime;
|
82
87
|
startDate: AXDateTime;
|
83
88
|
view: AXSchedulerView;
|
89
|
+
resourceId?: any;
|
84
90
|
};
|
85
91
|
isSameSlotDrop: boolean;
|
86
92
|
}
|
@@ -116,12 +122,18 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
116
122
|
draggable: _angular_core.InputSignal<boolean>;
|
117
123
|
hasActions: _angular_core.InputSignal<boolean>;
|
118
124
|
dragStartDelay: _angular_core.InputSignal<number>;
|
125
|
+
weekend: _angular_core.InputSignal<number[]>;
|
119
126
|
allowFullScreen: _angular_core.InputSignal<boolean>;
|
120
127
|
multiDayViewDaysCount: _angular_core.InputSignal<number>;
|
128
|
+
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
129
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
130
|
+
showUnassignedAppointments: _angular_core.InputSignal<boolean>;
|
131
|
+
resources: _angular_core.InputSignal<AXSchedulerResource[]>;
|
132
|
+
resourceTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
133
|
+
firstDayOfWeek: _angular_core.InputSignal<AXDayOfWeekName>;
|
121
134
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
122
135
|
dataSource: _angular_core.InputSignal<AXSchedulerAppointmentDataSource>;
|
123
136
|
holidays: _angular_core.InputSignal<(range: AXSchedulerDateRange) => Promise<AXHolidayDate[]>>;
|
124
|
-
firstDayOfWeek: _angular_core.InputSignal<AXDayOfWeekName>;
|
125
137
|
views: _angular_core.InputSignal<AXSchedulerView[]>;
|
126
138
|
selectedView: _angular_core.ModelSignal<AXSchedulerView>;
|
127
139
|
private prevView;
|
@@ -146,22 +158,46 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
146
158
|
private fillDataSource;
|
147
159
|
private getGridDateRange;
|
148
160
|
currentDateText: _angular_core.Signal<string>;
|
149
|
-
calendarDepth: _angular_core.Signal<"day" | "month">;
|
161
|
+
calendarDepth: _angular_core.Signal<"day" | "month" | "year">;
|
150
162
|
private mappedAppointments;
|
151
163
|
range: _angular_core.Signal<AXSchedulerDateRange>;
|
152
164
|
viewAppointments: _angular_core.Signal<AXSchedulerAppointment[]>;
|
165
|
+
/**
|
166
|
+
* Handles view change events.
|
167
|
+
*
|
168
|
+
* @param e - The value changed event containing old and new view values.
|
169
|
+
*/
|
153
170
|
viewChanged(e: AXValueChangedEvent<AXSchedulerView>): void;
|
154
171
|
private handleViewChanged;
|
172
|
+
/**
|
173
|
+
* Navigates to the next time period based on current view.
|
174
|
+
*/
|
155
175
|
nextClick(): void;
|
176
|
+
/**
|
177
|
+
* Navigates to the previous time period based on current view.
|
178
|
+
*/
|
156
179
|
prevClick(): void;
|
180
|
+
/**
|
181
|
+
* Handles calendar date change events.
|
182
|
+
*
|
183
|
+
* @param e - The value changed event containing the new date.
|
184
|
+
*/
|
157
185
|
calendarDateChanged(e: AXValueChangedEvent<Date>): void;
|
186
|
+
/**
|
187
|
+
* Toggles fullscreen mode for the scheduler.
|
188
|
+
*/
|
158
189
|
handleFullScreen(): void;
|
190
|
+
/**
|
191
|
+
* Refreshes the scheduler data.
|
192
|
+
*
|
193
|
+
* @param appointments - Optional array of appointments to refresh with.
|
194
|
+
*/
|
159
195
|
refresh(appointments?: AXSchedulerAppointment[]): Promise<void>;
|
160
196
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerComponent, never>;
|
161
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerComponent, "ax-scheduler", never, { "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "startingDate": { "alias": "startingDate"; "required": false; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": false; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": false; "isSignal": true; }; "hasHeader": { "alias": "hasHeader"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "allowFullScreen": { "alias": "allowFullScreen"; "required": false; "isSignal": true; }; "multiDayViewDaysCount": { "alias": "multiDayViewDaysCount"; "required": false; "isSignal": true; }; "
|
197
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerComponent, "ax-scheduler", never, { "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "startingDate": { "alias": "startingDate"; "required": false; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": false; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": false; "isSignal": true; }; "hasHeader": { "alias": "hasHeader"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "allowFullScreen": { "alias": "allowFullScreen"; "required": false; "isSignal": true; }; "multiDayViewDaysCount": { "alias": "multiDayViewDaysCount"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "holidays": { "alias": "holidays"; "required": false; "isSignal": true; }; "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": false; "isSignal": true; }; }, { "selectedView": "selectedViewChange"; "onDataLoaded": "onDataLoaded"; "onRangeChanged": "onRangeChanged"; "onSlotClicked": "onSlotClicked"; "onSlotDblClicked": "onSlotDblClicked"; "onSlotRightClick": "onSlotRightClick"; "onAppointmentDrop": "onAppointmentDrop"; "onActionClick": "onActionClick"; "onAppointmentClicked": "onAppointmentClicked"; "onAppointmentDblClicked": "onAppointmentDblClicked"; "onAppointmentRightClick": "onAppointmentRightClick"; }, never, never, true, never>;
|
162
198
|
}
|
163
199
|
|
164
|
-
declare class AXSchedulerDayViewComponent extends NXComponent {
|
200
|
+
declare class AXSchedulerDayViewComponent extends NXComponent implements AfterViewInit {
|
165
201
|
private document;
|
166
202
|
private scheduler;
|
167
203
|
private calendarService;
|
@@ -175,12 +211,14 @@ declare class AXSchedulerDayViewComponent extends NXComponent {
|
|
175
211
|
date: _angular_core.InputSignal<AXDateTime>;
|
176
212
|
endDayHour: _angular_core.InputSignal<number>;
|
177
213
|
startDayHour: _angular_core.InputSignal<number>;
|
214
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
178
215
|
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
179
216
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
217
|
+
currentTimeLineElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
180
218
|
private dragStartSlotId;
|
181
|
-
processedAppointmentsForLayout
|
182
|
-
allDayAppointments: _angular_core.Signal<AXSchedulerAppointment[]>;
|
183
|
-
singleDayAppointments: _angular_core.Signal<AXSchedulerAppointmentSegment[]>;
|
219
|
+
private processedAppointmentsForLayout;
|
220
|
+
protected allDayAppointments: _angular_core.Signal<AXSchedulerAppointment[]>;
|
221
|
+
protected singleDayAppointments: _angular_core.Signal<AXSchedulerAppointmentSegment[]>;
|
184
222
|
slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
185
223
|
slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
186
224
|
slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
@@ -190,29 +228,33 @@ declare class AXSchedulerDayViewComponent extends NXComponent {
|
|
190
228
|
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
191
229
|
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
192
230
|
private readonly eventOutputMap;
|
193
|
-
handleAppointmentEvent(mouseEvent: MouseEvent, appointment: AXSchedulerAppointment): void;
|
194
|
-
handleSingleSlotEvent(mouseEvent: MouseEvent, startDate: AXDateTime): void;
|
195
|
-
handleAllDaySlotEvent(mouseEvent: MouseEvent): void;
|
196
|
-
handleAllDayDrop(e: AXDropZoneDropEvent): void;
|
197
|
-
handleSingleDayDrop(e: AXDropZoneDropEvent, startDate: AXDateTime): void;
|
198
|
-
handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
199
|
-
hoursArray: _angular_core.Signal<AXDateTime[]>;
|
200
|
-
appointmentLayouts
|
201
|
-
getAppointmentLayout
|
202
|
-
getAppointmentLeft(key: any): string;
|
203
|
-
getAppointmentWidth(key: any): string;
|
204
|
-
getAppointmentTop(key: any): string;
|
205
|
-
getAppointmentHeight(key: any): string;
|
206
|
-
|
207
|
-
|
231
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointment: AXSchedulerAppointment): void;
|
232
|
+
protected handleSingleSlotEvent(mouseEvent: MouseEvent, startDate: AXDateTime): void;
|
233
|
+
protected handleAllDaySlotEvent(mouseEvent: MouseEvent): void;
|
234
|
+
protected handleAllDayDrop(e: AXDropZoneDropEvent): void;
|
235
|
+
protected handleSingleDayDrop(e: AXDropZoneDropEvent, startDate: AXDateTime): void;
|
236
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
237
|
+
protected hoursArray: _angular_core.Signal<AXDateTime[]>;
|
238
|
+
private appointmentLayouts;
|
239
|
+
private getAppointmentLayout;
|
240
|
+
protected getAppointmentLeft(key: any): string;
|
241
|
+
protected getAppointmentWidth(key: any): string;
|
242
|
+
protected getAppointmentTop(key: any): string;
|
243
|
+
protected getAppointmentHeight(key: any): string;
|
244
|
+
protected getCurrentTimePosition(): number | null;
|
245
|
+
protected getCurrentTimePositionWithOffset(): string | null;
|
246
|
+
ngAfterViewInit(): void;
|
247
|
+
private setupCurrentTimeScroll;
|
248
|
+
protected getSlotId(e: PointerEvent): void;
|
249
|
+
protected get isReadonly(): boolean;
|
208
250
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerDayViewComponent, never>;
|
209
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerDayViewComponent, "ax-scheduler-day-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": true; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
251
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerDayViewComponent, "ax-scheduler-day-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": true; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": true; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
210
252
|
}
|
211
253
|
|
212
254
|
type AXSchedulerGridBadgeInfo = AXSchedulerOverflowBadge & {
|
213
255
|
hiddenAppointments: AXSchedulerAppointmentSegment[];
|
214
256
|
};
|
215
|
-
declare class AXSchedulerWeekViewComponent extends NXComponent {
|
257
|
+
declare class AXSchedulerWeekViewComponent extends NXComponent implements AfterViewInit {
|
216
258
|
private readonly document;
|
217
259
|
private readonly scheduler;
|
218
260
|
private readonly calendarService;
|
@@ -228,8 +270,10 @@ declare class AXSchedulerWeekViewComponent extends NXComponent {
|
|
228
270
|
date: _angular_core.InputSignal<AXDateTime>;
|
229
271
|
endDayHour: _angular_core.InputSignal<number>;
|
230
272
|
startDayHour: _angular_core.InputSignal<number>;
|
273
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
231
274
|
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
232
275
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
276
|
+
currentTimeLineElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
233
277
|
protected readonly slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
234
278
|
protected readonly slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
235
279
|
protected readonly slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
@@ -287,48 +331,48 @@ declare class AXSchedulerWeekViewComponent extends NXComponent {
|
|
287
331
|
* Handles click, dblclick, and contextmenu events on an appointment and emits them to the parent.
|
288
332
|
* @param mouseEvent The native DOM event.
|
289
333
|
* @param appointmentSegment The appointment data segment that was interacted with.
|
290
|
-
* @
|
334
|
+
* @protected
|
291
335
|
*/
|
292
|
-
handleAppointmentEvent(mouseEvent: MouseEvent, appointmentSegment: AXSchedulerAppointment): void;
|
336
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointmentSegment: AXSchedulerAppointment): void;
|
293
337
|
/**
|
294
338
|
* Handles click, dblclick, and contextmenu events on an empty time slot and emits them to the parent.
|
295
339
|
* @param mouseEvent The native DOM event.
|
296
340
|
* @param hour The starting hour of the slot.
|
297
341
|
* @param day The day of the slot.
|
298
342
|
* @param minuteIndex The half-hour index (0 or 1).
|
299
|
-
* @
|
343
|
+
* @protected
|
300
344
|
*/
|
301
|
-
handleSingleSlotEvent(mouseEvent: MouseEvent, hour: AXDateTime, day: AXDateTime, minuteIndex: number): void;
|
345
|
+
protected handleSingleSlotEvent(mouseEvent: MouseEvent, hour: AXDateTime, day: AXDateTime, minuteIndex: number): void;
|
302
346
|
/**
|
303
347
|
* Handles interaction events on the all-day slot.
|
304
348
|
* @param mouseEvent The native DOM event.
|
305
349
|
* @param day The corresponding day for the all-day slot.
|
306
|
-
* @
|
350
|
+
* @protected
|
307
351
|
*/
|
308
|
-
handleAllDaySlotEvent(mouseEvent: MouseEvent, day: AXDateTime): void;
|
352
|
+
protected handleAllDaySlotEvent(mouseEvent: MouseEvent, day: AXDateTime): void;
|
309
353
|
/**
|
310
354
|
* Handles dropping an appointment onto the all-day slot.
|
311
355
|
* @param e The drop event from the CDK.
|
312
356
|
* @param day The corresponding day for the all-day slot.
|
313
|
-
* @
|
357
|
+
* @protected
|
314
358
|
*/
|
315
|
-
handleAllDayDrop(e: AXDropZoneDropEvent, day: AXDateTime): void;
|
359
|
+
protected handleAllDayDrop(e: AXDropZoneDropEvent, day: AXDateTime): void;
|
316
360
|
/**
|
317
361
|
* Handles dropping an appointment onto a timed grid slot.
|
318
362
|
* @param e The drop event from the CDK.
|
319
363
|
* @param hour The starting hour of the drop target.
|
320
364
|
* @param day The day of the drop target.
|
321
365
|
* @param minuteIndex The half-hour index (0 or 1) of the drop target.
|
322
|
-
* @
|
366
|
+
* @protected
|
323
367
|
*/
|
324
|
-
handleSingleDayDrop(e: AXDropZoneDropEvent, hour: AXDateTime, day: AXDateTime, minuteIndex: number): void;
|
368
|
+
protected handleSingleDayDrop(e: AXDropZoneDropEvent, hour: AXDateTime, day: AXDateTime, minuteIndex: number): void;
|
325
369
|
/**
|
326
370
|
* Handles clicks on the "more" action icon on an appointment.
|
327
371
|
* @param event The native mouse event.
|
328
372
|
* @param appointmentItem The appointment associated with the action.
|
329
|
-
* @
|
373
|
+
* @protected
|
330
374
|
*/
|
331
|
-
handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
375
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
332
376
|
/**
|
333
377
|
* @protected
|
334
378
|
* Checks if a given date is the current day.
|
@@ -352,11 +396,18 @@ declare class AXSchedulerWeekViewComponent extends NXComponent {
|
|
352
396
|
* @param e The pointer event that initiates the drag.
|
353
397
|
*/
|
354
398
|
protected getSlotId(e: PointerEvent): void;
|
399
|
+
protected getCurrentTimePosition(): number | null;
|
400
|
+
protected getCurrentTimePositionWithOffset(): string | null;
|
401
|
+
protected getCurrentDayColumnPosition(): string | null;
|
402
|
+
protected getCurrentDayColumnWidth(): string;
|
403
|
+
ngAfterViewInit(): void;
|
404
|
+
private setupCurrentTimeScroll;
|
405
|
+
protected shouldShowCurrentTimeForToday(): boolean;
|
355
406
|
protected get isReadonly(): boolean;
|
356
407
|
private processedAppointmentsForLayout;
|
357
408
|
private timedGridSegments;
|
358
409
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerWeekViewComponent, never>;
|
359
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerWeekViewComponent, "ax-scheduler-week-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": true; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
410
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerWeekViewComponent, "ax-scheduler-week-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": true; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": true; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
360
411
|
}
|
361
412
|
|
362
413
|
type AXSchedulerMonthDayCell = {
|
@@ -397,54 +448,46 @@ declare class AXSchedulerMonthViewComponent extends NXComponent {
|
|
397
448
|
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
398
449
|
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
399
450
|
private readonly eventOutputMap;
|
400
|
-
handleAppointmentEvent(mouseEvent: MouseEvent, appointmentSegmentOrOriginal: AXSchedulerAppointment): void;
|
401
|
-
handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
402
|
-
handleDrop(e: AXDropZoneDropEvent, date: AXDateTime): void;
|
403
|
-
handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
404
|
-
monthStartDate
|
405
|
-
daysArray: _angular_core.Signal<AXDateTime[]>;
|
406
|
-
calendarDaysInfo
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
holidayTitle?: string;
|
413
|
-
holidayCssClass?: string;
|
414
|
-
}[];
|
415
|
-
weeksNeeded: number;
|
416
|
-
}>;
|
417
|
-
appointmentsGroupedByDay: _angular_core.Signal<Map<string, AXSchedulerAppointment[]>>;
|
418
|
-
dayCellLayouts: _angular_core.Signal<AXSchedulerMonthDayCell[]>;
|
419
|
-
gridTemplateRowsStyle: _angular_core.Signal<string>;
|
420
|
-
getSlotId(e: PointerEvent): void;
|
421
|
-
get isReadonly(): boolean;
|
451
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointmentSegmentOrOriginal: AXSchedulerAppointment): void;
|
452
|
+
protected handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
453
|
+
protected handleDrop(e: AXDropZoneDropEvent, date: AXDateTime): void;
|
454
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
455
|
+
private monthStartDate;
|
456
|
+
protected daysArray: _angular_core.Signal<AXDateTime[]>;
|
457
|
+
private calendarDaysInfo;
|
458
|
+
private appointmentsGroupedByDay;
|
459
|
+
protected dayCellLayouts: _angular_core.Signal<AXSchedulerMonthDayCell[]>;
|
460
|
+
protected gridTemplateRowsStyle: _angular_core.Signal<string>;
|
461
|
+
protected getSlotId(e: PointerEvent): void;
|
462
|
+
protected get isReadonly(): boolean;
|
422
463
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerMonthViewComponent, never>;
|
423
464
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerMonthViewComponent, "ax-scheduler-month-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
424
465
|
}
|
425
466
|
|
426
|
-
|
467
|
+
interface AgendaDayData {
|
468
|
+
date: AXDateTime;
|
469
|
+
appointments: AXSchedulerAppointmentSegment[];
|
470
|
+
holiday?: {
|
471
|
+
state: 'holiday' | 'weekend' | 'none';
|
472
|
+
holiday?: AXHolidayDate;
|
473
|
+
};
|
474
|
+
}
|
475
|
+
declare class AXSchedulerAgendaViewComponent extends NXComponent {
|
427
476
|
private document;
|
428
477
|
private scheduler;
|
429
478
|
private calendarService;
|
430
479
|
private schedulerService;
|
431
|
-
|
480
|
+
daysCount: _angular_core.InputSignal<number>;
|
432
481
|
readonly: _angular_core.InputSignal<boolean>;
|
433
482
|
draggable: _angular_core.InputSignal<boolean>;
|
434
483
|
hasActions: _angular_core.InputSignal<boolean>;
|
435
484
|
dragStartDelay: _angular_core.InputSignal<number>;
|
436
485
|
calendar: _angular_core.InputSignal<string>;
|
437
486
|
date: _angular_core.InputSignal<AXDateTime>;
|
438
|
-
endDayHour: _angular_core.InputSignal<number>;
|
439
|
-
startDayHour: _angular_core.InputSignal<number>;
|
440
487
|
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
441
488
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
442
489
|
private dragStartSlotId;
|
443
|
-
|
444
|
-
* Processes original appointments to get segments relevant to this specific day and its viewable hours.
|
445
|
-
* Filters out original all-day events.
|
446
|
-
*/
|
447
|
-
processedSegmentsForLayout: _angular_core.Signal<AXSchedulerAppointmentSegment[]>;
|
490
|
+
protected agendaDaysLayout: _angular_core.Signal<AgendaDayData[]>;
|
448
491
|
slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
449
492
|
slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
450
493
|
slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
@@ -454,124 +497,142 @@ declare class AXSchedulerTimelineDayViewComponent extends NXComponent {
|
|
454
497
|
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
455
498
|
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
456
499
|
private readonly eventOutputMap;
|
457
|
-
handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
458
|
-
handleSlotEvent(mouseEvent: MouseEvent,
|
459
|
-
handleDrop(e: AXDropZoneDropEvent,
|
460
|
-
handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerModule, never>;
|
471
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSchedulerModule, never, [typeof AXSchedulerComponent, typeof AXSchedulerDayViewComponent, typeof AXSchedulerWeekViewComponent, typeof AXSchedulerMonthViewComponent, typeof AXSchedulerTimelineDayViewComponent], [typeof AXSchedulerComponent, typeof AXSchedulerDayViewComponent, typeof AXSchedulerWeekViewComponent, typeof AXSchedulerMonthViewComponent, typeof AXSchedulerTimelineDayViewComponent]>;
|
472
|
-
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSchedulerModule>;
|
500
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
501
|
+
protected handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
502
|
+
protected handleDrop(e: AXDropZoneDropEvent, date: AXDateTime): void;
|
503
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
504
|
+
protected isToday(date: AXDateTime): boolean;
|
505
|
+
protected isHoliday(date: AXDateTime): {
|
506
|
+
state: 'holiday' | 'weekend' | 'none';
|
507
|
+
holiday?: AXHolidayDate;
|
508
|
+
};
|
509
|
+
protected getSlotId(e: PointerEvent): void;
|
510
|
+
protected get isReadonly(): boolean;
|
511
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerAgendaViewComponent, never>;
|
512
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerAgendaViewComponent, "ax-scheduler-agenda-view", never, { "daysCount": { "alias": "daysCount"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
473
513
|
}
|
474
514
|
|
475
|
-
declare class
|
476
|
-
private
|
515
|
+
declare class AXSchedulerTimelineDayViewComponent extends NXComponent implements AfterViewInit {
|
516
|
+
private document;
|
517
|
+
private scheduler;
|
477
518
|
private calendarService;
|
478
|
-
|
479
|
-
readonly
|
480
|
-
readonly
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
519
|
+
private schedulerService;
|
520
|
+
readonly GAP_PX = 1;
|
521
|
+
readonly: _angular_core.InputSignal<boolean>;
|
522
|
+
draggable: _angular_core.InputSignal<boolean>;
|
523
|
+
hasActions: _angular_core.InputSignal<boolean>;
|
524
|
+
dragStartDelay: _angular_core.InputSignal<number>;
|
525
|
+
calendar: _angular_core.InputSignal<string>;
|
526
|
+
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
527
|
+
date: _angular_core.InputSignal<AXDateTime>;
|
528
|
+
endDayHour: _angular_core.InputSignal<number>;
|
529
|
+
startDayHour: _angular_core.InputSignal<number>;
|
530
|
+
showUnassignedAppointments: _angular_core.InputSignal<boolean>;
|
531
|
+
resources: _angular_core.InputSignal<AXSchedulerResource[]>;
|
532
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
533
|
+
resourceTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
534
|
+
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
535
|
+
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
536
|
+
private dragStartSlotId;
|
537
|
+
private dragStartSlotResourceId;
|
538
|
+
currentTimeLineElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
488
539
|
/**
|
489
|
-
*
|
540
|
+
* Gets appointments grouped by resources for timeline view.
|
490
541
|
*/
|
491
|
-
|
542
|
+
protected appointmentsByResource: _angular_core.Signal<Map<any, AXSchedulerAppointment[]>>;
|
492
543
|
/**
|
493
|
-
*
|
544
|
+
* Gets all resource IDs including unassigned if applicable.
|
494
545
|
*/
|
495
|
-
|
546
|
+
protected resourceIds: _angular_core.Signal<any[]>;
|
496
547
|
/**
|
497
|
-
*
|
498
|
-
*
|
548
|
+
* Processes original appointments to get segments relevant to this specific day and its viewable hours.
|
549
|
+
* Filters out original all-day events.
|
499
550
|
*/
|
500
|
-
|
501
|
-
|
551
|
+
private processedSegmentsForLayout;
|
552
|
+
slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
553
|
+
slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
554
|
+
slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
555
|
+
appointmentClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
556
|
+
appointmentDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
557
|
+
appointmentRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
558
|
+
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
559
|
+
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
560
|
+
private readonly eventOutputMap;
|
561
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
562
|
+
protected handleSlotEvent(mouseEvent: MouseEvent, startDate: AXDateTime): void;
|
563
|
+
protected handleDrop(e: AXDropZoneDropEvent, startDate: AXDateTime, resourceId?: any): void;
|
564
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
565
|
+
protected hoursArray: _angular_core.Signal<AXDateTime[]>;
|
566
|
+
protected appointmentLayouts: _angular_core.Signal<AXSchedulerAppointmentLayout[]>;
|
502
567
|
/**
|
503
|
-
*
|
504
|
-
* @param viewTotalDays - Number of days in the current view (1 for Day, 7 for Week, etc.)
|
568
|
+
* Gets appointments for a specific resource.
|
505
569
|
*/
|
506
|
-
|
570
|
+
protected getAppointmentsForResource(resourceId: any): AXSchedulerAppointment[];
|
507
571
|
/**
|
508
|
-
*
|
572
|
+
* Gets resource title by ID.
|
509
573
|
*/
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
574
|
+
protected getResourceTitle(resourceId: any): string;
|
575
|
+
protected getResourceContext(resourceId: any): AXSchedulerResource;
|
576
|
+
protected getCurrentTimePosition(): number | null;
|
577
|
+
protected getCurrentTimePositionWithOffset(): string | null;
|
578
|
+
ngAfterViewInit(): void;
|
579
|
+
private setupCurrentTimeScroll;
|
515
580
|
/**
|
516
|
-
*
|
581
|
+
* Gets appointment layouts for a specific resource with proper positioning.
|
517
582
|
*/
|
518
|
-
|
583
|
+
protected getAppointmentLayoutsForResource(resourceId: any): AXSchedulerAppointmentLayout[];
|
519
584
|
/**
|
520
|
-
*
|
521
|
-
* Returns a Map where the key is the date string ('YYYY-MM-DD') and the value is an array of appointments.
|
585
|
+
* Calculates the height for a resource row based on its appointments.
|
522
586
|
*/
|
523
|
-
|
524
|
-
viewEndDate: AXDateTime): Map<string, AXSchedulerAppointment[]>;
|
525
|
-
getDayOfWeekNumber(dayName: AXDayOfWeekName): number;
|
526
|
-
getSlotData(startDate: AXDateTime, view: AXSchedulerView): {
|
527
|
-
startDate: AXDateTime;
|
528
|
-
endDate: AXDateTime;
|
529
|
-
view: AXSchedulerView;
|
530
|
-
};
|
531
|
-
handleEvent(event: AXSchedulerSlotMouseEvent | AXSchedulerAppointmentMouseEvent, eventOutputMap: any, eventType: 'appointment' | 'slot'): void;
|
532
|
-
calculateTimelineLayout(appt: AXSchedulerAppointment, viewStartHour: number, // e.g., 8 for 8 AM
|
533
|
-
viewEndHour: number): {
|
534
|
-
left: string;
|
535
|
-
width: string;
|
536
|
-
} | null;
|
587
|
+
protected getResourceRowHeight(resourceId: any): string;
|
537
588
|
/**
|
538
|
-
* Calculates the
|
539
|
-
* constrained by the view's start and end hours.
|
540
|
-
* Returns a new appointment-like object representing the segment.
|
589
|
+
* Calculates the maximum number of overlapping appointment rows needed.
|
541
590
|
*/
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerService, never>;
|
548
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXSchedulerService>;
|
591
|
+
private calculateMaxOverlappingRows;
|
592
|
+
protected getSlotId(e: PointerEvent): void;
|
593
|
+
protected get isReadonly(): boolean;
|
594
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerTimelineDayViewComponent, never>;
|
595
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerTimelineDayViewComponent, "ax-scheduler-timeline-day-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": true; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": true; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
549
596
|
}
|
550
597
|
|
551
|
-
interface
|
598
|
+
interface TimelineMonthViewDayData {
|
552
599
|
date: AXDateTime;
|
553
|
-
|
600
|
+
visibleAppointments: AXSchedulerAppointmentSegment[];
|
601
|
+
hiddenAppointments: AXSchedulerAppointmentSegment[];
|
602
|
+
moreCount: number;
|
554
603
|
holiday?: {
|
555
604
|
state: 'holiday' | 'weekend' | 'none';
|
556
605
|
holiday?: AXHolidayDate;
|
557
606
|
};
|
607
|
+
appointmentsByResource?: Map<string, {
|
608
|
+
visible: AXSchedulerAppointmentSegment[];
|
609
|
+
hidden: AXSchedulerAppointmentSegment[];
|
610
|
+
moreCount: number;
|
611
|
+
}>;
|
558
612
|
}
|
559
|
-
declare class
|
613
|
+
declare class AXSchedulerTimelineMonthViewComponent extends NXComponent implements AfterViewInit {
|
560
614
|
private document;
|
561
615
|
private scheduler;
|
562
616
|
private calendarService;
|
563
617
|
private schedulerService;
|
564
|
-
|
618
|
+
private readonly MAX_VISIBLE_APPOINTMENTS_PER_DAY;
|
565
619
|
readonly: _angular_core.InputSignal<boolean>;
|
566
620
|
draggable: _angular_core.InputSignal<boolean>;
|
567
621
|
hasActions: _angular_core.InputSignal<boolean>;
|
568
622
|
dragStartDelay: _angular_core.InputSignal<number>;
|
569
623
|
calendar: _angular_core.InputSignal<string>;
|
624
|
+
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
570
625
|
date: _angular_core.InputSignal<AXDateTime>;
|
626
|
+
showUnassignedAppointments: _angular_core.InputSignal<boolean>;
|
627
|
+
resources: _angular_core.InputSignal<AXSchedulerResource[]>;
|
628
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
629
|
+
resourceTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
571
630
|
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
572
631
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
573
632
|
private dragStartSlotId;
|
574
|
-
|
633
|
+
private dragStartSlotResourceId;
|
634
|
+
currentTimeLineElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
635
|
+
protected processedDayData: _angular_core.Signal<TimelineMonthViewDayData[]>;
|
575
636
|
slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
576
637
|
slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
577
638
|
slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
@@ -581,47 +642,88 @@ declare class AXSchedulerAgendaViewComponent extends NXComponent {
|
|
581
642
|
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
582
643
|
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
583
644
|
private readonly eventOutputMap;
|
584
|
-
handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
585
|
-
handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
586
|
-
handleDrop(e: AXDropZoneDropEvent, date: AXDateTime): void;
|
587
|
-
handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
645
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
646
|
+
protected handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
647
|
+
protected handleDrop(e: AXDropZoneDropEvent, date: AXDateTime, resourceId?: any): void;
|
648
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
588
649
|
protected isToday(date: AXDateTime): boolean;
|
589
650
|
protected isHoliday(date: AXDateTime): {
|
590
651
|
state: 'holiday' | 'weekend' | 'none';
|
591
652
|
holiday?: AXHolidayDate;
|
592
653
|
};
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
654
|
+
/**
|
655
|
+
* Gets appointments grouped by resources for timeline view.
|
656
|
+
*/
|
657
|
+
protected appointmentsByResource: _angular_core.Signal<Map<any, AXSchedulerAppointment[]>>;
|
658
|
+
/**
|
659
|
+
* Gets all resource IDs including unassigned if applicable.
|
660
|
+
*/
|
661
|
+
protected resourceIds: _angular_core.Signal<any[]>;
|
662
|
+
/**
|
663
|
+
* Gets appointments for a specific resource.
|
664
|
+
*/
|
665
|
+
protected getAppointmentsForResource(resourceId: any): AXSchedulerAppointment[];
|
666
|
+
/**
|
667
|
+
* Gets resource title by ID.
|
668
|
+
*/
|
669
|
+
protected getResourceTitle(resourceId: any): string;
|
670
|
+
protected getResourceContext(resourceId: any): AXSchedulerResource;
|
671
|
+
protected getCurrentTimePosition(): number | null;
|
672
|
+
ngAfterViewInit(): void;
|
673
|
+
private setupCurrentTimeScroll;
|
674
|
+
/**
|
675
|
+
* Gets appointments for a specific resource and day.
|
676
|
+
*/
|
677
|
+
protected getAppointmentsForResourceAndDay(resourceId: any, dayData: TimelineMonthViewDayData): {
|
678
|
+
visible: AXSchedulerAppointmentSegment[];
|
679
|
+
hidden: AXSchedulerAppointmentSegment[];
|
680
|
+
moreCount: number;
|
681
|
+
};
|
682
|
+
protected getSlotId(e: PointerEvent): void;
|
683
|
+
/**
|
684
|
+
* Gets the height for a specific resource row based on appointments.
|
685
|
+
*/
|
686
|
+
protected getResourceRowHeight(resourceId: any): string;
|
687
|
+
/**
|
688
|
+
* Calculates the maximum number of overlapping appointment rows needed.
|
689
|
+
* This is a simplified version for timeline month view.
|
690
|
+
*/
|
691
|
+
protected calculateMaxOverlappingRows(appointments: AXSchedulerAppointmentSegment[]): number;
|
692
|
+
protected shouldShowCurrentTimeForDay(dayDate: AXDateTime): boolean;
|
693
|
+
protected get isReadonly(): boolean;
|
694
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerTimelineMonthViewComponent, never>;
|
695
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerTimelineMonthViewComponent, "ax-scheduler-timeline-month-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
597
696
|
}
|
598
697
|
|
599
|
-
interface
|
698
|
+
interface TimelineMultiDayDaySlot {
|
600
699
|
date: AXDateTime;
|
601
|
-
|
602
|
-
hiddenAppointments: AXSchedulerAppointmentSegment[];
|
603
|
-
moreCount: number;
|
700
|
+
originalAppointmentsForThisDay: AXSchedulerAppointment[];
|
604
701
|
holiday?: {
|
605
702
|
state: 'holiday' | 'weekend' | 'none';
|
606
703
|
holiday?: AXHolidayDate;
|
607
704
|
};
|
608
705
|
}
|
609
|
-
declare class
|
610
|
-
private document;
|
611
|
-
private scheduler;
|
706
|
+
declare class AXSchedulerTimelineMultiDayViewComponent extends NXComponent implements AfterViewInit {
|
612
707
|
private calendarService;
|
613
708
|
private schedulerService;
|
614
|
-
|
709
|
+
daysCount: _angular_core.InputSignal<number>;
|
615
710
|
readonly: _angular_core.InputSignal<boolean>;
|
616
711
|
draggable: _angular_core.InputSignal<boolean>;
|
617
712
|
hasActions: _angular_core.InputSignal<boolean>;
|
618
713
|
dragStartDelay: _angular_core.InputSignal<number>;
|
619
714
|
calendar: _angular_core.InputSignal<string>;
|
715
|
+
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
620
716
|
date: _angular_core.InputSignal<AXDateTime>;
|
717
|
+
endDayHour: _angular_core.InputSignal<number>;
|
718
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
719
|
+
startDayHour: _angular_core.InputSignal<number>;
|
720
|
+
showUnassignedAppointments: _angular_core.InputSignal<boolean>;
|
721
|
+
resources: _angular_core.InputSignal<AXSchedulerResource[]>;
|
722
|
+
resourceTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
621
723
|
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
622
724
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
623
|
-
|
624
|
-
|
725
|
+
currentTimeLineElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
726
|
+
protected daysDataForTimelineViews: _angular_core.Signal<TimelineMultiDayDaySlot[]>;
|
625
727
|
slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
626
728
|
slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
627
729
|
slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
@@ -630,45 +732,110 @@ declare class AXSchedulerTimelineMonthViewComponent extends NXComponent {
|
|
630
732
|
appointmentRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
631
733
|
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
632
734
|
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
633
|
-
|
634
|
-
handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
635
|
-
handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
636
|
-
handleDrop(e: AXDropZoneDropEvent, date: AXDateTime): void;
|
637
|
-
handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
735
|
+
protected handleDrop(event: AXSchedulerSlotDropEvent, resourceId: any): void;
|
638
736
|
protected isToday(date: AXDateTime): boolean;
|
737
|
+
/**
|
738
|
+
* Gets appointments grouped by resources for timeline view.
|
739
|
+
*/
|
740
|
+
protected appointmentsByResource: _angular_core.Signal<Map<any, AXSchedulerAppointment[]>>;
|
741
|
+
/**
|
742
|
+
* Gets all resource IDs including unassigned if applicable.
|
743
|
+
*/
|
744
|
+
protected resourceIds: _angular_core.Signal<any[]>;
|
745
|
+
/**
|
746
|
+
* Gets appointments for a specific resource.
|
747
|
+
*/
|
748
|
+
protected getAppointmentsForResource(resourceId: any): AXSchedulerAppointment[];
|
749
|
+
/**
|
750
|
+
* Gets resource title by ID.
|
751
|
+
*/
|
752
|
+
protected getResourceTitle(resourceId: any): string;
|
753
|
+
protected getResourceContext(resourceId: any): AXSchedulerResource;
|
754
|
+
protected getCurrentTimePosition(): number | null;
|
755
|
+
protected shouldShowCurrentTimeForDay(dayDate: AXDateTime): boolean;
|
756
|
+
ngAfterViewInit(): void;
|
757
|
+
private setupCurrentTimeScroll;
|
758
|
+
/**
|
759
|
+
* Gets appointments for a specific resource and day.
|
760
|
+
*/
|
761
|
+
protected getAppointmentsForResourceAndDay(resourceId: any, dayAppointments: AXSchedulerAppointment[]): AXSchedulerAppointment[];
|
762
|
+
/**
|
763
|
+
* Gets the height for a specific resource across all days.
|
764
|
+
*/
|
765
|
+
protected getResourceRowHeight(resourceId: any): string;
|
766
|
+
/**
|
767
|
+
* Calculates the maximum number of overlapping rows for a set of appointments.
|
768
|
+
* Uses the actual segmented times that will be displayed in the timeline view.
|
769
|
+
*/
|
770
|
+
private calculateMaxOverlappingRowsForAppointments;
|
771
|
+
/**
|
772
|
+
* Gets the hours array for time slots display.
|
773
|
+
*/
|
774
|
+
protected getHoursArray(): AXDateTime[];
|
775
|
+
/**
|
776
|
+
* Gets the number of hours for CSS calculations.
|
777
|
+
*/
|
778
|
+
protected getHoursCount(): number;
|
639
779
|
protected isHoliday(date: AXDateTime): {
|
640
780
|
state: 'holiday' | 'weekend' | 'none';
|
641
781
|
holiday?: AXHolidayDate;
|
642
782
|
};
|
643
|
-
|
644
|
-
|
645
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerTimelineMonthViewComponent, never>;
|
646
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerTimelineMonthViewComponent, "ax-scheduler-timeline-month-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
783
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerTimelineMultiDayViewComponent, never>;
|
784
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerTimelineMultiDayViewComponent, "ax-scheduler-timeline-multi-day-view", never, { "daysCount": { "alias": "daysCount"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": true; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": true; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
647
785
|
}
|
648
786
|
|
649
|
-
interface
|
787
|
+
interface TimelineYearViewDayData {
|
650
788
|
date: AXDateTime;
|
651
|
-
|
789
|
+
visibleAppointments: AXSchedulerAppointmentSegment[];
|
790
|
+
hiddenAppointments: AXSchedulerAppointmentSegment[];
|
791
|
+
moreCount: number;
|
652
792
|
holiday?: {
|
653
793
|
state: 'holiday' | 'weekend' | 'none';
|
654
794
|
holiday?: AXHolidayDate;
|
655
795
|
};
|
796
|
+
appointmentsByResource?: Map<string, {
|
797
|
+
visible: AXSchedulerAppointmentSegment[];
|
798
|
+
hidden: AXSchedulerAppointmentSegment[];
|
799
|
+
moreCount: number;
|
800
|
+
}>;
|
656
801
|
}
|
657
|
-
declare class
|
802
|
+
declare class AXSchedulerTimelineYearViewComponent extends NXComponent implements AfterViewInit {
|
803
|
+
private document;
|
804
|
+
private scheduler;
|
658
805
|
private calendarService;
|
659
806
|
private schedulerService;
|
660
|
-
|
807
|
+
private readonly MAX_VISIBLE_APPOINTMENTS_PER_DAY;
|
661
808
|
readonly: _angular_core.InputSignal<boolean>;
|
662
809
|
draggable: _angular_core.InputSignal<boolean>;
|
663
810
|
hasActions: _angular_core.InputSignal<boolean>;
|
664
811
|
dragStartDelay: _angular_core.InputSignal<number>;
|
665
812
|
calendar: _angular_core.InputSignal<string>;
|
813
|
+
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
666
814
|
date: _angular_core.InputSignal<AXDateTime>;
|
667
|
-
|
668
|
-
|
815
|
+
showUnassignedAppointments: _angular_core.InputSignal<boolean>;
|
816
|
+
resources: _angular_core.InputSignal<AXSchedulerResource[]>;
|
817
|
+
showCurrentTimeIndicator: _angular_core.InputSignal<boolean>;
|
818
|
+
resourceTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
669
819
|
appointments: _angular_core.InputSignal<AXSchedulerAppointment[]>;
|
670
820
|
tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
671
|
-
|
821
|
+
private dragStartSlotId;
|
822
|
+
private dragStartSlotResourceId;
|
823
|
+
currentTimeLineElement: _angular_core.Signal<ElementRef<HTMLElement>>;
|
824
|
+
protected optimizedDragStartDelay: _angular_core.Signal<number>;
|
825
|
+
protected processedDayData: _angular_core.Signal<TimelineYearViewDayData[]>;
|
826
|
+
protected resourceIds: _angular_core.Signal<any[]>;
|
827
|
+
private getHolidayInfo;
|
828
|
+
protected isToday(date: AXDateTime): boolean;
|
829
|
+
protected getResourceTitle(resourceId: any): string;
|
830
|
+
protected getAppointmentsForResourceAndDay(resourceId: any, dayData: TimelineYearViewDayData): {
|
831
|
+
visible: AXSchedulerAppointmentSegment[];
|
832
|
+
hidden: AXSchedulerAppointmentSegment[];
|
833
|
+
moreCount: number;
|
834
|
+
};
|
835
|
+
protected getResourceContext(resourceId: any): AXSchedulerResource;
|
836
|
+
protected getCurrentTimePosition(): number | null;
|
837
|
+
ngAfterViewInit(): void;
|
838
|
+
private setupCurrentTimeScroll;
|
672
839
|
slotClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
673
840
|
slotDblClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
674
841
|
slotRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotMouseEvent>;
|
@@ -677,14 +844,197 @@ declare class AXSchedulerTimelineMultiDayViewComponent extends NXComponent {
|
|
677
844
|
appointmentRightClickedInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
678
845
|
onActionClickInternal: _angular_core.OutputEmitterRef<AXSchedulerAppointmentMouseEvent>;
|
679
846
|
onAppointmentDropInternal: _angular_core.OutputEmitterRef<AXSchedulerSlotDropEvent>;
|
680
|
-
|
681
|
-
protected
|
682
|
-
|
683
|
-
|
847
|
+
private readonly eventOutputMap;
|
848
|
+
protected handleAppointmentEvent(mouseEvent: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
849
|
+
protected handleSlotEvent(mouseEvent: MouseEvent, date: AXDateTime): void;
|
850
|
+
protected handleDrop(e: AXDropZoneDropEvent, date: AXDateTime, resourceId?: any): void;
|
851
|
+
protected handleActionClick(event: MouseEvent, appointmentItem: AXSchedulerAppointment): void;
|
852
|
+
protected shouldShowCurrentTimeForDay(dayDate: AXDateTime): boolean;
|
853
|
+
protected getSlotId(e: PointerEvent): void;
|
854
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerTimelineYearViewComponent, never>;
|
855
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerTimelineYearViewComponent, "ax-scheduler-timeline-year-view", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; "onActionClickInternal": "onActionClickInternal"; "onAppointmentDropInternal": "onAppointmentDropInternal"; }, never, never, true, never>;
|
856
|
+
}
|
857
|
+
|
858
|
+
declare class AXSchedulerModule {
|
859
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerModule, never>;
|
860
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSchedulerModule, never, [typeof AXSchedulerComponent, typeof AXSchedulerDayViewComponent, typeof AXSchedulerWeekViewComponent, typeof AXSchedulerMonthViewComponent, typeof AXSchedulerAgendaViewComponent, typeof AXSchedulerTimelineDayViewComponent, typeof AXSchedulerTimelineMonthViewComponent, typeof AXSchedulerTimelineMultiDayViewComponent, typeof AXSchedulerTimelineYearViewComponent], [typeof AXSchedulerComponent, typeof AXSchedulerDayViewComponent, typeof AXSchedulerWeekViewComponent, typeof AXSchedulerMonthViewComponent, typeof AXSchedulerAgendaViewComponent, typeof AXSchedulerTimelineDayViewComponent, typeof AXSchedulerTimelineMonthViewComponent, typeof AXSchedulerTimelineMultiDayViewComponent, typeof AXSchedulerTimelineYearViewComponent]>;
|
861
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSchedulerModule>;
|
862
|
+
}
|
863
|
+
|
864
|
+
declare class AXSchedulerService {
|
865
|
+
private formatService;
|
866
|
+
private calendarService;
|
867
|
+
readonly HOURS_PER_DAY = 24;
|
868
|
+
readonly MINUTES_PER_HOUR = 60;
|
869
|
+
readonly BLOCK_DURATION_MINUTES = 30;
|
870
|
+
readonly MILLISECONDS_PER_MINUTE: number;
|
871
|
+
readonly MILLISECONDS_PER_DAY: number;
|
872
|
+
internalWeekend: _angular_core.WritableSignal<number[]>;
|
873
|
+
internalHoliday: _angular_core.WritableSignal<AXHolidayDate[]>;
|
874
|
+
/**
|
875
|
+
* Checks if two appointments overlap in time.
|
876
|
+
*
|
877
|
+
* @param appointmentA - First appointment to check.
|
878
|
+
* @param appointmentB - Second appointment to check.
|
879
|
+
* @returns boolean - True if appointments overlap, false otherwise.
|
880
|
+
*/
|
881
|
+
doAppointmentsOverlap(appointmentA: AXSchedulerAppointment, appointmentB: AXSchedulerAppointment): boolean;
|
882
|
+
/**
|
883
|
+
* Calculates appointment duration in minutes.
|
884
|
+
*
|
885
|
+
* @param Appointment - The appointment to calculate duration for.
|
886
|
+
* @returns number - Duration in minutes.
|
887
|
+
*/
|
888
|
+
calculateDurationInMinutes(Appointment: AXSchedulerAppointment): number;
|
889
|
+
/**
|
890
|
+
* Gets the day index and block index for a given date time within the view context.
|
891
|
+
*
|
892
|
+
* @param dateTime - The date time to get block identifier for.
|
893
|
+
* @param viewStartDate - Start date of the view.
|
894
|
+
* @param startHour - Start hour of the view.
|
895
|
+
* @param endHour - End hour of the view (exclusive).
|
896
|
+
* @param viewTotalDays - Total days in the view (default: 1).
|
897
|
+
* @returns AXSchedulerBlockIdentifier | null - Block identifier or null if outside view.
|
898
|
+
*/
|
899
|
+
getBlockIdentifier(dateTime: AXDateTime, viewStartDate: AXDateTime, startHour: number, endHour: number, // Exclusive end hour
|
900
|
+
viewTotalDays?: number): AXSchedulerBlockIdentifier | null;
|
901
|
+
/**
|
902
|
+
* Groups appointments by the blocks they are ACTIVE in for a given view.
|
903
|
+
*
|
904
|
+
* @param singleDayAppointments - Array of appointment segments.
|
905
|
+
* @param viewStartDate - Start date of the view.
|
906
|
+
* @param startHour - Start hour of the view.
|
907
|
+
* @param endHour - End hour of the view.
|
908
|
+
* @param viewTotalDays - Total days in the view.
|
909
|
+
* @returns AXSchedulerActiveAppointmentsInBlock - Active appointments grouped by blocks.
|
910
|
+
*/
|
911
|
+
private calculateActiveAppointmentsInBlock;
|
912
|
+
/**
|
913
|
+
* Calculates day view concurrency information for appointments.
|
914
|
+
*
|
915
|
+
* @param singleDayAppointments - Array of appointment segments.
|
916
|
+
* @param viewStartDate - Start date of the view.
|
917
|
+
* @param startHour - Start hour of the view.
|
918
|
+
* @param endHour - End hour of the view.
|
919
|
+
* @returns Map<any, { maxConcurrency: number; effectiveTotalColumns: number }> - Concurrency information map.
|
920
|
+
*/
|
921
|
+
calculateDayViewConcurrencyInfo(singleDayAppointments: AXSchedulerAppointmentSegment[], // These are segments for the current day
|
922
|
+
viewStartDate: AXDateTime, startHour: number, endHour: number): Map<any, {
|
923
|
+
maxConcurrency: number;
|
924
|
+
effectiveTotalColumns: number;
|
925
|
+
}>;
|
926
|
+
/**
|
927
|
+
* Groups appointments by day within a date range.
|
928
|
+
*
|
929
|
+
* @param appointments - Array of appointments.
|
930
|
+
* @param viewStartDate - Start date of the view.
|
931
|
+
* @param viewEndDate - End date of the view.
|
932
|
+
* @returns Map<string, AXSchedulerAppointment[]> - Appointments grouped by day.
|
933
|
+
*/
|
934
|
+
groupAppointmentsByDay(appointments: AXSchedulerAppointment[], viewStartDate: AXDateTime, // First day visible in the grid
|
935
|
+
viewEndDate: AXDateTime): Map<string, AXSchedulerAppointment[]>;
|
936
|
+
/**
|
937
|
+
* Gets the day of week number for a given day name.
|
938
|
+
*
|
939
|
+
* @param dayName - The day name to get number for.
|
940
|
+
* @returns number - Day number (1-7, where 1 is Sunday).
|
941
|
+
*/
|
942
|
+
getDayOfWeekNumber(dayName: AXDayOfWeekName): number;
|
943
|
+
/**
|
944
|
+
* Gets slot data for a given start date and view.
|
945
|
+
*
|
946
|
+
* @param startDate - Start date for the slot.
|
947
|
+
* @param view - View type.
|
948
|
+
* @returns { startDate: AXDateTime; endDate: AXDateTime; view: AXSchedulerView } - Slot data.
|
949
|
+
*/
|
950
|
+
getSlotData(startDate: AXDateTime, view: AXSchedulerView): {
|
951
|
+
startDate: AXDateTime;
|
952
|
+
endDate: AXDateTime;
|
953
|
+
view: AXSchedulerView;
|
684
954
|
};
|
685
|
-
|
686
|
-
|
955
|
+
/**
|
956
|
+
* Handles events for appointments and slots.
|
957
|
+
*
|
958
|
+
* @param event - The event to handle.
|
959
|
+
* @param eventOutputMap - Map of event outputs.
|
960
|
+
* @param eventType - Type of event ('appointment' or 'slot').
|
961
|
+
*/
|
962
|
+
handleEvent(event: AXSchedulerSlotMouseEvent | AXSchedulerAppointmentMouseEvent, eventOutputMap: any, eventType: 'appointment' | 'slot'): void;
|
963
|
+
/**
|
964
|
+
* Calculates timeline layout for appointments.
|
965
|
+
*
|
966
|
+
* @param appt - The appointment to calculate layout for.
|
967
|
+
* @param viewStartHour - Start hour of the view.
|
968
|
+
* @param viewEndHour - End hour of the view.
|
969
|
+
* @returns { left: string; width: string } | null - Layout information or null.
|
970
|
+
*/
|
971
|
+
calculateTimelineLayout(appt: AXSchedulerAppointment, viewStartHour: number, // e.g., 8 for 8 AM
|
972
|
+
viewEndHour: number): {
|
973
|
+
left: string;
|
974
|
+
width: string;
|
975
|
+
} | null;
|
976
|
+
/**
|
977
|
+
* Gets cloned appointment segment for a specific day.
|
978
|
+
*
|
979
|
+
* @param appointment - The appointment to clone.
|
980
|
+
* @param day - The day to get segment for.
|
981
|
+
* @param viewStartHour - Start hour of the view.
|
982
|
+
* @param viewEndHour - End hour of the view.
|
983
|
+
* @param isFullDayCellContext - Whether this is for full day cell context.
|
984
|
+
* @returns AXSchedulerAppointmentSegment | null - Cloned segment or null.
|
985
|
+
*/
|
986
|
+
getClonedAppointmentSegmentOnDay(appointment: AXSchedulerAppointment, // This is the ORIGINAL appointment
|
987
|
+
day: AXDateTime, viewStartHour: number, viewEndHour: number, isFullDayCellContext?: boolean): AXSchedulerAppointmentSegment | null;
|
988
|
+
/**
|
989
|
+
* Gets the original appointment from a segment.
|
990
|
+
*
|
991
|
+
* @param item - Appointment or appointment segment.
|
992
|
+
* @returns AXSchedulerAppointment - The original appointment.
|
993
|
+
*/
|
994
|
+
getOriginalAppointment(item: AXSchedulerAppointment | AXSchedulerAppointmentSegment): AXSchedulerAppointment;
|
995
|
+
/**
|
996
|
+
* Checks if a date is a holiday.
|
997
|
+
*
|
998
|
+
* @param date - The date to check.
|
999
|
+
* @returns boolean - True if the date is a holiday.
|
1000
|
+
*/
|
1001
|
+
isHoliday(date: AXDateTime): boolean;
|
1002
|
+
/**
|
1003
|
+
* Checks if a date is a weekend.
|
1004
|
+
*
|
1005
|
+
* @param date - The date to check.
|
1006
|
+
* @param calendar - The calendar type to use.
|
1007
|
+
* @returns boolean - True if the date is a weekend.
|
1008
|
+
*/
|
1009
|
+
isWeekend(date: AXDateTime, calendar: string): boolean;
|
1010
|
+
/**
|
1011
|
+
* Filters appointments by resources and unassigned appointments.
|
1012
|
+
*
|
1013
|
+
* @param appointments - Array of appointments to filter.
|
1014
|
+
* @param resources - Array of resources.
|
1015
|
+
* @param showUnassignedAppointments - Whether to show appointments without resources.
|
1016
|
+
* @returns Map<any, AXSchedulerAppointment[]> - Appointments grouped by resource ID.
|
1017
|
+
*/
|
1018
|
+
filterAppointmentsByResources(appointments: AXSchedulerAppointment[], resources: AXSchedulerResource[], showUnassignedAppointments?: boolean): Map<any, AXSchedulerAppointment[]>;
|
1019
|
+
/**
|
1020
|
+
* Gets appointments for a specific resource.
|
1021
|
+
*
|
1022
|
+
* @param appointments - Array of appointments.
|
1023
|
+
* @param resourceId - The resource ID to filter by.
|
1024
|
+
* @returns AXSchedulerAppointment[] - Filtered appointments.
|
1025
|
+
*/
|
1026
|
+
getAppointmentsForResource(appointments: AXSchedulerAppointment[], resourceId: any): AXSchedulerAppointment[];
|
1027
|
+
/**
|
1028
|
+
* Gets all resource IDs including unassigned if applicable.
|
1029
|
+
*
|
1030
|
+
* @param resources - Array of resources.
|
1031
|
+
* @param showUnassignedAppointments - Whether to include unassigned appointments.
|
1032
|
+
* @returns string[] - Array of resource IDs.
|
1033
|
+
*/
|
1034
|
+
getAllResourceIds(resources: AXSchedulerResource[], showUnassignedAppointments?: boolean): any[];
|
1035
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerService, never>;
|
1036
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXSchedulerService>;
|
687
1037
|
}
|
688
1038
|
|
689
|
-
export { AXSchedulerAgendaViewComponent, AXSchedulerComponent, AXSchedulerDayViewComponent, AXSchedulerModule, AXSchedulerMonthViewComponent, AXSchedulerService, AXSchedulerTimelineDayViewComponent, AXSchedulerTimelineMonthViewComponent, AXSchedulerTimelineMultiDayViewComponent, AXSchedulerWeekViewComponent };
|
690
|
-
export type { AXDayOfWeekName, AXSchedulerActiveAppointmentsInBlock, AXSchedulerAllDaySlotData, AXSchedulerAppointment, AXSchedulerAppointmentDataSource, AXSchedulerAppointmentDataSourceFilter, AXSchedulerAppointmentLayout, AXSchedulerAppointmentLoader, AXSchedulerAppointmentLoaderAsync, AXSchedulerAppointmentMouseEvent, AXSchedulerAppointmentSegment,
|
1039
|
+
export { AXSchedulerAgendaViewComponent, AXSchedulerComponent, AXSchedulerDayViewComponent, AXSchedulerModule, AXSchedulerMonthViewComponent, AXSchedulerService, AXSchedulerTimelineDayViewComponent, AXSchedulerTimelineMonthViewComponent, AXSchedulerTimelineMultiDayViewComponent, AXSchedulerTimelineYearViewComponent, AXSchedulerWeekViewComponent };
|
1040
|
+
export type { AXDayOfWeekName, AXSchedulerActiveAppointmentsInBlock, AXSchedulerAllDaySlotData, AXSchedulerAppointment, AXSchedulerAppointmentDataSource, AXSchedulerAppointmentDataSourceFilter, AXSchedulerAppointmentLayout, AXSchedulerAppointmentLoader, AXSchedulerAppointmentLoaderAsync, AXSchedulerAppointmentMouseEvent, AXSchedulerAppointmentSegment, AXSchedulerBlockIdentifier, AXSchedulerBlockOccupancyMap, AXSchedulerDateRange, AXSchedulerDayAppointmentLayout, AXSchedulerMonthDayCell, AXSchedulerMultiDayViewAppointment, AXSchedulerOverflowBadge, AXSchedulerResource, AXSchedulerSlotDropEvent, AXSchedulerSlotMouseEvent, AXSchedulerView, AgendaDayData, TimelineMonthViewDayData, TimelineMultiDayDaySlot, TimelineYearViewDayData };
|