@timelinekit/core 1.0.0 → 1.0.5
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/LICENSE +1 -1
- package/README.md +200 -0
- package/dist/__tests__/calendar/sidebar/calendar-list.test.d.ts +1 -0
- package/dist/__tests__/calendar/sidebar/mini-calendar.test.d.ts +1 -0
- package/dist/__tests__/calendar/test-helpers.d.ts +169 -0
- package/dist/__tests__/calendar/tooltip/calendar-tooltip-renderer.test.d.ts +1 -0
- package/dist/__tests__/calendar/validation.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/agenda-view.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/day-view.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/drag-handlers.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/keyboard-navigation.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/month-view.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/swipe-navigation-handler.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/time-grid-helper.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/view-utils.test.d.ts +1 -0
- package/dist/__tests__/calendar/views/week-view.test.d.ts +1 -0
- package/dist/__tests__/ganttchart/model/dependency-evaluator.test.d.ts +1 -0
- package/dist/__tests__/ganttchart/model/task-filters.test.d.ts +1 -0
- package/dist/__tests__/ganttchart/model/task-link.test.d.ts +1 -0
- package/dist/calendar/clipboard/calendar-clipboard.d.ts +19 -0
- package/dist/calendar/eventcalendar-context.d.ts +157 -0
- package/dist/calendar/eventcalendar-engine.d.ts +80 -0
- package/dist/calendar/eventcalendar-events.d.ts +40 -0
- package/dist/calendar/eventcalendar-settings.d.ts +30 -0
- package/dist/calendar/export/calendar-data-exporter.d.ts +32 -0
- package/dist/calendar/export/calendar-icalendar-exporter.d.ts +24 -0
- package/dist/calendar/export/calendar-image-exporter.d.ts +17 -0
- package/dist/calendar/export/calendar-pdf-exporter.d.ts +30 -0
- package/dist/calendar/import/calendar-icalendar-importer.d.ts +30 -0
- package/dist/calendar/model/calendar-data.d.ts +34 -0
- package/dist/calendar/model/calendar-entry.d.ts +44 -0
- package/dist/calendar/model/calendar-item.d.ts +151 -0
- package/dist/calendar/model/calendar.d.ts +29 -0
- package/dist/calendar/model/recurrence-editor.d.ts +25 -0
- package/dist/calendar/model/recurrence-exception.d.ts +34 -0
- package/dist/calendar/model/recurrence-expander.d.ts +17 -0
- package/dist/calendar/model/recurrence-rule.d.ts +42 -0
- package/dist/calendar/sidebar/calendar-list.d.ts +13 -0
- package/dist/calendar/sidebar/mini-calendar.d.ts +20 -0
- package/dist/calendar/themes/dark-theme.d.ts +4 -0
- package/dist/calendar/themes/eventcalendar-theme.d.ts +156 -0
- package/dist/calendar/themes/light-theme.d.ts +4 -0
- package/dist/calendar/tooltip/calendar-tooltip-renderer.d.ts +8 -0
- package/dist/calendar/views/agenda-view.d.ts +12 -0
- package/dist/calendar/views/base-view.d.ts +23 -0
- package/dist/calendar/views/day-view.d.ts +11 -0
- package/dist/calendar/views/handlers/allday-drag-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/allday-entry-drag-handler.d.ts +18 -0
- package/dist/calendar/views/handlers/month-drag-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/month-entry-drag-handler.d.ts +18 -0
- package/dist/calendar/views/handlers/swipe-navigation-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/time-grid-drag-handler.d.ts +14 -0
- package/dist/calendar/views/handlers/time-grid-entry-drag-handler.d.ts +18 -0
- package/dist/calendar/views/month-view.d.ts +13 -0
- package/dist/calendar/views/time-grid-helper.d.ts +36 -0
- package/dist/calendar/views/view-utils.d.ts +38 -0
- package/dist/calendar/views/week-view.d.ts +16 -0
- package/dist/common/base-background-renderer.d.ts +9 -6
- package/dist/common/base-chart-handler.d.ts +19 -13
- package/dist/common/base-chart-handlers.d.ts +34 -0
- package/dist/common/base-chart-scroll-handler.d.ts +5 -3
- package/dist/common/base-chart.d.ts +98 -0
- package/dist/common/base-divider.d.ts +2 -0
- package/dist/common/base-engine.d.ts +112 -0
- package/dist/common/base-export-renderer.d.ts +26 -0
- package/dist/common/base-header-renderer.d.ts +8 -6
- package/dist/common/base-markers-renderer.d.ts +9 -6
- package/dist/common/base-theme.d.ts +107 -0
- package/dist/common/base-tooltip-renderer.d.ts +7 -0
- package/dist/common/chart-time-axis.d.ts +32 -0
- package/dist/common/common.d.ts +12 -2
- package/dist/common/custom-properties-container.d.ts +14 -0
- package/dist/common/drawing.d.ts +8 -2
- package/dist/common/export-utils.d.ts +34 -7
- package/dist/common/functions.d.ts +1 -1
- package/dist/common/locale.d.ts +101 -0
- package/dist/common/marker.d.ts +13 -0
- package/dist/common/subscription-manager.d.ts +17 -0
- package/dist/common/text.d.ts +9 -9
- package/dist/common/theme-utils.d.ts +5 -0
- package/dist/common/timeline-theme.d.ts +107 -0
- package/dist/common/undo-manager.d.ts +22 -0
- package/dist/common/working-calendar.d.ts +57 -0
- package/dist/ganttchart/chart/chart-scroll-handler.d.ts +1 -1
- package/dist/ganttchart/chart/chart-time-axis.d.ts +2 -32
- package/dist/ganttchart/chart/chart.d.ts +10 -4
- package/dist/ganttchart/chart/handlers/add-task-part.d.ts +14 -7
- package/dist/ganttchart/chart/handlers/connector-dots-handler.d.ts +10 -8
- package/dist/ganttchart/chart/handlers/gantt-drag-handler.d.ts +32 -0
- package/dist/ganttchart/chart/handlers/handler.d.ts +7 -4
- package/dist/ganttchart/chart/handlers/handlers.d.ts +5 -10
- package/dist/ganttchart/chart/handlers/move-milestone.d.ts +9 -7
- package/dist/ganttchart/chart/handlers/move-task-part.d.ts +9 -7
- package/dist/ganttchart/chart/handlers/resize-task-part.d.ts +18 -7
- package/dist/ganttchart/chart/handlers/select-link.d.ts +8 -6
- package/dist/ganttchart/chart/handlers/select-task.d.ts +13 -11
- package/dist/ganttchart/chart/handlers/set-task-progress.d.ts +14 -7
- package/dist/ganttchart/chart/renderers/chart-background-renderer.d.ts +3 -2
- package/dist/ganttchart/chart/renderers/chart-header-renderer.d.ts +2 -2
- package/dist/ganttchart/chart/renderers/chart-links-renderer.d.ts +4 -3
- package/dist/ganttchart/chart/renderers/chart-markers-renderer.d.ts +2 -2
- package/dist/ganttchart/chart/renderers/chart-tasks-renderer.d.ts +9 -9
- package/dist/ganttchart/chart/renderers/renderer-base.d.ts +2 -1
- package/dist/ganttchart/chart/tooltip/chart-tooltip-renderer.d.ts +4 -6
- package/dist/ganttchart/clipboard.d.ts +10 -3
- package/dist/ganttchart/divider/divider.d.ts +1 -1
- package/dist/ganttchart/export/data-exporter.d.ts +12 -7
- package/dist/ganttchart/export/export-common.d.ts +16 -16
- package/dist/ganttchart/export/image-exporter.d.ts +5 -4
- package/dist/ganttchart/export/pdf-exporter.d.ts +7 -6
- package/dist/ganttchart/ganttchart-engine.d.ts +134 -40
- package/dist/ganttchart/locale.d.ts +2 -66
- package/dist/ganttchart/model/dependency-evaluator.d.ts +16 -0
- package/dist/ganttchart/model/lag.d.ts +11 -0
- package/dist/ganttchart/model/length.d.ts +13 -2
- package/dist/ganttchart/model/marker.d.ts +1 -7
- package/dist/ganttchart/model/rate.d.ts +7 -1
- package/dist/ganttchart/model/resource-list.d.ts +11 -0
- package/dist/ganttchart/model/resource.d.ts +15 -1
- package/dist/ganttchart/model/task-filters.d.ts +10 -0
- package/dist/ganttchart/model/task-link.d.ts +15 -2
- package/dist/ganttchart/model/task-list-adapter.d.ts +22 -0
- package/dist/ganttchart/model/task-list.d.ts +55 -2
- package/dist/ganttchart/model/task-part.d.ts +20 -0
- package/dist/ganttchart/model/task-parts-manager.d.ts +44 -0
- package/dist/ganttchart/model/task-resource.d.ts +11 -0
- package/dist/ganttchart/model/task-serializer.d.ts +5 -0
- package/dist/ganttchart/model/task-warnings.d.ts +4 -0
- package/dist/ganttchart/model/task.d.ts +92 -19
- package/dist/ganttchart/model/work.d.ts +14 -1
- package/dist/ganttchart/model/working-calendar.d.ts +2 -32
- package/dist/ganttchart/sheet/renderers/sheet-icons-cell-renderer.d.ts +2 -0
- package/dist/ganttchart/sheet/sheet.d.ts +12 -7
- package/dist/ganttchart/themes/theme.d.ts +63 -108
- package/dist/ganttchart/undo-manager.d.ts +1 -13
- package/dist/index.d.ts +77 -8
- package/dist/index.js +6 -1
- package/dist/licensing/features.d.ts +3 -1
- package/dist/licensing/license-key.d.ts +1 -0
- package/dist/licensing/license-manager.d.ts +4 -1
- package/dist/licensing/watermark.d.ts +1 -0
- package/dist/locales/cs.d.ts +1 -1
- package/dist/locales/cs.js +1 -0
- package/dist/locales/de.d.ts +1 -1
- package/dist/locales/de.js +1 -0
- package/dist/locales/es.d.ts +1 -1
- package/dist/locales/es.js +1 -0
- package/dist/locales/fr.d.ts +1 -1
- package/dist/locales/fr.js +1 -0
- package/dist/locales/it.d.ts +1 -1
- package/dist/locales/it.js +1 -0
- package/dist/locales/ja.d.ts +1 -1
- package/dist/locales/ja.js +1 -0
- package/dist/locales/ko.d.ts +1 -1
- package/dist/locales/ko.js +1 -0
- package/dist/locales/nl.d.ts +1 -1
- package/dist/locales/nl.js +1 -0
- package/dist/locales/pl.d.ts +1 -1
- package/dist/locales/pl.js +1 -0
- package/dist/locales/pt.d.ts +1 -1
- package/dist/locales/pt.js +1 -0
- package/dist/locales/ru.d.ts +1 -1
- package/dist/locales/ru.js +1 -0
- package/dist/locales/sv.d.ts +1 -1
- package/dist/locales/sv.js +1 -0
- package/dist/locales/zh.d.ts +1 -1
- package/dist/locales/zh.js +1 -0
- package/dist/resourcescheduler/chart/handlers/add-event.d.ts +15 -8
- package/dist/resourcescheduler/chart/handlers/move-event.d.ts +10 -8
- package/dist/resourcescheduler/chart/handlers/resize-event.d.ts +21 -8
- package/dist/resourcescheduler/chart/handlers/scheduler-drag-handler.d.ts +32 -0
- package/dist/resourcescheduler/chart/handlers/scheduler-handler.d.ts +5 -3
- package/dist/resourcescheduler/chart/handlers/scheduler-handlers.d.ts +9 -10
- package/dist/resourcescheduler/chart/handlers/select-event.d.ts +10 -8
- package/dist/resourcescheduler/chart/renderers/scheduler-background-renderer.d.ts +2 -1
- package/dist/resourcescheduler/chart/renderers/scheduler-events-renderer.d.ts +2 -1
- package/dist/resourcescheduler/chart/renderers/scheduler-renderer-base.d.ts +1 -0
- package/dist/resourcescheduler/chart/scheduler-chart.d.ts +9 -4
- package/dist/resourcescheduler/chart/tooltip/scheduler-tooltip-renderer.d.ts +2 -4
- package/dist/resourcescheduler/clipboard.d.ts +8 -0
- package/dist/resourcescheduler/export/scheduler-data-exporter.d.ts +5 -0
- package/dist/resourcescheduler/export/scheduler-export-common.d.ts +12 -7
- package/dist/resourcescheduler/export/scheduler-image-exporter.d.ts +2 -1
- package/dist/resourcescheduler/export/scheduler-pdf-exporter.d.ts +3 -1
- package/dist/resourcescheduler/model/scheduler-data-adapter.d.ts +1 -0
- package/dist/resourcescheduler/model/scheduler-data.d.ts +45 -2
- package/dist/resourcescheduler/model/scheduler-event.d.ts +22 -2
- package/dist/resourcescheduler/model/scheduler-layout-calculator.d.ts +18 -0
- package/dist/resourcescheduler/model/scheduler-resource.d.ts +21 -2
- package/dist/resourcescheduler/resourcescheduler-engine.d.ts +134 -42
- package/dist/resourcescheduler/sheet/renderers/scheduler-icon-cell-renderer.d.ts +2 -0
- package/dist/resourcescheduler/sheet/scheduler-sheet.d.ts +11 -6
- package/dist/resourcescheduler/themes/scheduler-themes.d.ts +13 -0
- package/dist/styles/ec.css +1 -0
- package/dist/styles/gc.css +1 -1
- package/dist/styles/index.css +1 -0
- package/dist/styles/rs.css +1 -0
- package/dist/table/editors/input-editor.d.ts +1 -0
- package/dist/table/table-column.d.ts +7 -1
- package/dist/table/table-data-source.d.ts +2 -0
- package/dist/table/table-rows-selection.d.ts +1 -0
- package/dist/table/table.d.ts +11 -0
- package/dist/table/tree-table.d.ts +2 -0
- package/package.json +24 -13
- package/styles/_common.scss +12 -1
- package/styles/ec.scss +1225 -0
- package/styles/index.scss +3 -0
- package/dist/ganttchart/model/sheet-column.d.ts +0 -27
- package/dist/ganttchart/sheet/editors/cell-editor.d.ts +0 -23
- package/dist/ganttchart/sheet/editors/currency-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/date-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/decimal-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/dialog-editor.d.ts +0 -17
- package/dist/ganttchart/sheet/editors/input-editor.d.ts +0 -19
- package/dist/ganttchart/sheet/editors/integer-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/percent-editor.d.ts +0 -6
- package/dist/ganttchart/sheet/editors/text-editor.d.ts +0 -5
- package/dist/ganttchart/sheet/sheet-keyboard-navigation.d.ts +0 -26
- package/dist/ganttchart/sheet/sheet-rows-selection.d.ts +0 -24
- /package/dist/__tests__/{critical-path-calculator.test.d.ts → calendar/calendar-clipboard.test.d.ts} +0 -0
- /package/dist/__tests__/{model/lag.test.d.ts → calendar/eventcalendar-engine.test.d.ts} +0 -0
- /package/dist/__tests__/{model/length.test.d.ts → calendar/export/calendar-data-export.test.d.ts} +0 -0
- /package/dist/__tests__/{model/resource-list.test.d.ts → calendar/export/calendar-export.test.d.ts} +0 -0
- /package/dist/__tests__/{model/resource.test.d.ts → calendar/export/calendar-icalendar.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-list.test.d.ts → calendar/model/calendar-data.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-part.test.d.ts → calendar/model/calendar-item-recurrence.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-resource.test.d.ts → calendar/model/calendar-item-types.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task-warnings.test.d.ts → calendar/model/calendar-occurrence.test.d.ts} +0 -0
- /package/dist/__tests__/{model/task.test.d.ts → calendar/model/calendar.test.d.ts} +0 -0
- /package/dist/__tests__/{model/work.test.d.ts → calendar/model/recurrence-editor.test.d.ts} +0 -0
- /package/dist/__tests__/{model/working-calendar.test.d.ts → calendar/model/recurrence-expander.test.d.ts} +0 -0
- /package/dist/__tests__/{undo-manager.test.d.ts → calendar/model/recurrence-rule.test.d.ts} +0 -0
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SheetExportDimensions } from "../../common/export-utils";
|
|
2
|
+
import { BaseExportRenderer } from "../../common/base-export-renderer";
|
|
2
3
|
import { ResourceSchedulerContext } from "../resourcescheduler-engine";
|
|
3
|
-
import {
|
|
4
|
-
|
|
4
|
+
import { SchedulerSheet } from "../sheet/scheduler-sheet";
|
|
5
|
+
import { BaseTheme } from "../../common/base-theme";
|
|
6
|
+
/** Computed dimensions used for scheduler export rendering and pagination. */
|
|
7
|
+
export interface SchedulerExportDimensions extends SheetExportDimensions {
|
|
5
8
|
/** Heights of individual resource rows in display order (for pagination) */
|
|
6
9
|
rowHeights: number[];
|
|
7
10
|
}
|
|
8
|
-
|
|
11
|
+
/** Renders the scheduler sheet and chart regions onto a canvas for export. */
|
|
12
|
+
export declare class SchedulerExportRenderer extends BaseExportRenderer<SchedulerExportDimensions> {
|
|
9
13
|
#private;
|
|
10
|
-
constructor(ctx: ResourceSchedulerContext);
|
|
11
|
-
get theme():
|
|
14
|
+
constructor(ctx: ResourceSchedulerContext, sheet: SchedulerSheet);
|
|
15
|
+
get theme(): BaseTheme;
|
|
16
|
+
preload(): Promise<void>;
|
|
12
17
|
calculateDimensions(): SchedulerExportDimensions;
|
|
13
|
-
|
|
18
|
+
protected renderSheetRows(ctx: any, dims: SchedulerExportDimensions): void;
|
|
14
19
|
renderChart(ctx: any, sheetWidth: number, dims: SchedulerExportDimensions, scale?: number): void;
|
|
15
20
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ResourceSchedulerContext } from "../resourcescheduler-engine";
|
|
2
|
+
import { SchedulerSheet } from "../sheet/scheduler-sheet";
|
|
2
3
|
import { SchedulerExportDimensions } from "./scheduler-export-common";
|
|
3
4
|
import { BaseImageExporter } from "../../common/base-image-exporter";
|
|
4
5
|
export declare class SchedulerImageExporter extends BaseImageExporter<SchedulerExportDimensions> {
|
|
5
|
-
constructor(ctx: ResourceSchedulerContext);
|
|
6
|
+
constructor(ctx: ResourceSchedulerContext, sheet: SchedulerSheet);
|
|
6
7
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ResourceSchedulerContext } from "../resourcescheduler-engine";
|
|
2
|
+
import { SchedulerSheet } from "../sheet/scheduler-sheet";
|
|
2
3
|
import { SchedulerExportDimensions } from "./scheduler-export-common";
|
|
3
4
|
import { BasePdfExporter } from "../../common/base-pdf-exporter";
|
|
4
5
|
export type { BasePdfExportOptions as SchedulerPdfExportOptions } from "../../common/export-utils";
|
|
6
|
+
/** Exports the scheduler view to a multi-page PDF document. Requires the `jspdf` package. */
|
|
5
7
|
export declare class SchedulerPdfExporter extends BasePdfExporter<SchedulerExportDimensions> {
|
|
6
8
|
#private;
|
|
7
|
-
constructor(ctx: ResourceSchedulerContext);
|
|
9
|
+
constructor(ctx: ResourceSchedulerContext, sheet: SchedulerSheet);
|
|
8
10
|
protected computeVerticalPageBreaks(dims: SchedulerExportDimensions, contentHeightPx: number, headerHeight: number): {
|
|
9
11
|
srcY: number;
|
|
10
12
|
height: number;
|
|
@@ -8,6 +8,7 @@ export declare class SchedulerDataAdapter implements TableDataSource<SchedulerRe
|
|
|
8
8
|
itemRemoved$: Subject<TableItemEventArgs<SchedulerResource>>;
|
|
9
9
|
complexOperationFinished$: Subject<void>;
|
|
10
10
|
constructor(data: SchedulerData);
|
|
11
|
+
destroy(): void;
|
|
11
12
|
get length(): number;
|
|
12
13
|
getItem(index: number): SchedulerResource;
|
|
13
14
|
getItemById(id: string): SchedulerResource | null;
|
|
@@ -1,52 +1,95 @@
|
|
|
1
1
|
import { Subject } from "rxjs";
|
|
2
2
|
import { SchedulerResource, SchedulerResourceEventArgs } from "./scheduler-resource";
|
|
3
3
|
import { SchedulerEvent, SchedulerEventEventArgs } from "./scheduler-event";
|
|
4
|
+
import { ColorValue } from "../../common/base-theme";
|
|
5
|
+
/** Central data store holding all resources and events for the scheduler. */
|
|
4
6
|
export declare class SchedulerData {
|
|
5
7
|
#private;
|
|
8
|
+
/** Emitted when a resource is added. */
|
|
6
9
|
resourceAdded$: Subject<SchedulerResourceEventArgs>;
|
|
10
|
+
/** Emitted when a resource property changes. */
|
|
7
11
|
resourceChanged$: Subject<SchedulerResourceEventArgs>;
|
|
12
|
+
/** Emitted when a resource is removed. */
|
|
8
13
|
resourceRemoved$: Subject<SchedulerResourceEventArgs>;
|
|
14
|
+
/** Emitted when an event is added. */
|
|
9
15
|
eventAdded$: Subject<SchedulerEventEventArgs>;
|
|
16
|
+
/** Emitted when an event property changes. */
|
|
10
17
|
eventChanged$: Subject<SchedulerEventEventArgs>;
|
|
18
|
+
/** Emitted when an event is removed. */
|
|
11
19
|
eventRemoved$: Subject<SchedulerEventEventArgs>;
|
|
20
|
+
/** Emitted when frozen resource set changes. */
|
|
12
21
|
frozenChanged$: Subject<void>;
|
|
22
|
+
/** Emitted when the resource filter changes. */
|
|
13
23
|
filterChanged$: Subject<void>;
|
|
24
|
+
/** Emitted after a bulk operation completes (e.g. assign, move, remove multiple). */
|
|
14
25
|
complexOperationFinished$: Subject<void>;
|
|
26
|
+
/** Total number of resources. */
|
|
15
27
|
get resourcesLength(): number;
|
|
28
|
+
/** Get a resource by index. */
|
|
16
29
|
getResource(index: number): SchedulerResource;
|
|
30
|
+
/** Find a resource by ID, or null if not found. */
|
|
17
31
|
getResourceById(id: string): SchedulerResource | null;
|
|
32
|
+
/** Get the index of a resource in the internal array. */
|
|
18
33
|
indexOfResource(resource: SchedulerResource): number;
|
|
34
|
+
/** Active resource filter function. Set to null to show all resources. */
|
|
19
35
|
get filter(): SchedulerResourceFilterFn | null;
|
|
20
36
|
set filter(value: SchedulerResourceFilterFn | null);
|
|
37
|
+
/** Add a resource. Throws if a resource with the same ID already exists. */
|
|
21
38
|
addResource(resource: SchedulerResource): void;
|
|
39
|
+
/** Insert a resource at a specific index. */
|
|
22
40
|
insertResource(index: number, resource: SchedulerResource): void;
|
|
41
|
+
/** Remove a resource and all its events. */
|
|
23
42
|
removeResource(resource: SchedulerResource): void;
|
|
43
|
+
/** Move a resource to a new index position. */
|
|
24
44
|
moveResource(resource: SchedulerResource, toIndex: number): void;
|
|
45
|
+
/** Remove multiple resources and their events. */
|
|
25
46
|
removeResources(resources: SchedulerResource[]): void;
|
|
47
|
+
/** Sort resources using a comparison function. */
|
|
48
|
+
sortResources(compareFn: (a: SchedulerResource, b: SchedulerResource) => number): void;
|
|
49
|
+
/** Replace all resources with a new set. Clears frozen state. */
|
|
26
50
|
assignResources(resources: SchedulerResource[]): void;
|
|
51
|
+
/** Pin a resource to the top of the view. */
|
|
27
52
|
freezeResource(resource: SchedulerResource): void;
|
|
53
|
+
/** Unpin a resource from the top of the view. */
|
|
28
54
|
unfreezeResource(resource: SchedulerResource): void;
|
|
55
|
+
/** Check whether a resource is pinned to the top. */
|
|
29
56
|
isResourceFrozen(resource: SchedulerResource): boolean;
|
|
57
|
+
/** Set of IDs of all frozen (pinned) resources. */
|
|
30
58
|
get frozenResourceIds(): ReadonlySet<string>;
|
|
59
|
+
/** Number of currently frozen resources. */
|
|
31
60
|
get frozenResourcesCount(): number;
|
|
32
61
|
/** Returns visible resources in display order: frozen first (preserving original order), then non-frozen. Filtered resources are excluded. */
|
|
33
62
|
get orderedResources(): SchedulerResource[];
|
|
34
63
|
/** Returns the display index of a resource (in ordered view). */
|
|
35
64
|
orderedIndexOf(resource: SchedulerResource): number;
|
|
65
|
+
/** Total number of events. */
|
|
36
66
|
get eventsLength(): number;
|
|
67
|
+
/** Get an event by index. */
|
|
37
68
|
getEvent(index: number): SchedulerEvent;
|
|
69
|
+
/** Find an event by ID, or null if not found. */
|
|
38
70
|
getEventById(id: string): SchedulerEvent | null;
|
|
71
|
+
/** Get all events assigned to a resource. */
|
|
39
72
|
getEventsForResource(resourceId: string): SchedulerEvent[];
|
|
73
|
+
/** Add an event. The event's resource must already exist. */
|
|
40
74
|
addEvent(event: SchedulerEvent): void;
|
|
75
|
+
/** Remove an event. */
|
|
41
76
|
removeEvent(event: SchedulerEvent): void;
|
|
77
|
+
/** Replace all events with a new set. */
|
|
42
78
|
assignEvents(events: SchedulerEvent[]): void;
|
|
43
|
-
/** Resolves the effective color
|
|
44
|
-
|
|
79
|
+
/** Resolves the effective color for an event: event.color → resource.color → resource ordered index. */
|
|
80
|
+
getEventColor(event: SchedulerEvent): ColorValue;
|
|
81
|
+
/** Get the number of parallel lanes needed for a resource's events. */
|
|
45
82
|
getLaneCount(resourceId: string): number;
|
|
83
|
+
/** Get the 0-based lane index an event is placed in. */
|
|
46
84
|
getEventLane(event: SchedulerEvent): number;
|
|
85
|
+
/** Get all events that overlap with a given time range on a resource. */
|
|
47
86
|
getOverlappingEvents(resourceId: string, startTime: Date, endTime: Date, excludeEventId?: string): SchedulerEvent[];
|
|
87
|
+
/** Check whether an event overlaps with any other event on the same resource. */
|
|
48
88
|
hasConflict(event: SchedulerEvent): boolean;
|
|
89
|
+
/** Earliest start time across all events, or null if no events exist. */
|
|
49
90
|
get minStartTime(): Date | null;
|
|
91
|
+
/** Latest end time across all events, or null if no events exist. */
|
|
50
92
|
get maxEndTime(): Date | null;
|
|
51
93
|
}
|
|
94
|
+
/** Filter function that determines which resources are visible. Return true to show, false to hide. */
|
|
52
95
|
export type SchedulerResourceFilterFn = (resource: SchedulerResource) => boolean;
|
|
@@ -1,31 +1,51 @@
|
|
|
1
1
|
import { Subject } from "rxjs";
|
|
2
2
|
import { CustomProperty } from "../../common/custom-property";
|
|
3
|
+
import { ColorValue } from "../../common/base-theme";
|
|
4
|
+
/** A time block assigned to a resource. Each event has a start time, end time, and belongs to exactly one resource. */
|
|
3
5
|
export declare class SchedulerEvent {
|
|
4
6
|
#private;
|
|
7
|
+
/** Unique identifier (read-only). Auto-generated if not provided in constructor. */
|
|
5
8
|
get id(): string;
|
|
9
|
+
/** ID of the resource this event belongs to. Changing this moves the event to a different resource. */
|
|
6
10
|
get resourceId(): string;
|
|
7
11
|
set resourceId(value: string);
|
|
12
|
+
/** Display name of the event. */
|
|
8
13
|
get name(): string;
|
|
9
14
|
set name(value: string);
|
|
15
|
+
/** Start date/time of the event. */
|
|
10
16
|
get startTime(): Date;
|
|
11
17
|
set startTime(value: Date);
|
|
18
|
+
/** End date/time of the event. */
|
|
12
19
|
get endTime(): Date;
|
|
13
20
|
set endTime(value: Date);
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
/** Color override. When set, overrides the resource's color. Can be a theme index or custom color definition. */
|
|
22
|
+
get color(): ColorValue | null;
|
|
23
|
+
set color(value: ColorValue | null);
|
|
24
|
+
/** Arbitrary user data attached to the event. Not serialized. */
|
|
16
25
|
data: any;
|
|
26
|
+
/** Emitted when any property of this event changes. */
|
|
17
27
|
changed$: Subject<SchedulerEventEventArgs>;
|
|
18
28
|
constructor(id: string | null, resourceId: string, name: string, startTime: Date, endTime: Date);
|
|
29
|
+
/** Duration of the event in milliseconds (read-only). */
|
|
19
30
|
get durationMs(): number;
|
|
31
|
+
/** Duration of the event in hours (read-only). */
|
|
20
32
|
get durationHours(): number;
|
|
33
|
+
/** Add a custom property to this event. */
|
|
21
34
|
addProperty(property: CustomProperty): void;
|
|
35
|
+
/** Remove a custom property from this event. */
|
|
22
36
|
removeProperty(property: CustomProperty): void;
|
|
37
|
+
/** Get a custom property by name, or null if not found. */
|
|
23
38
|
getPropertyByName(name: string): CustomProperty | null;
|
|
39
|
+
/** Get the value of a custom property by name. */
|
|
24
40
|
getPropertyValue(name: string): any;
|
|
41
|
+
/** Set the value of a custom property by name. */
|
|
25
42
|
setPropertyValue(name: string, value: any): void;
|
|
43
|
+
/** Serialize this event to a plain object. */
|
|
26
44
|
toAny(): any;
|
|
45
|
+
/** Create a SchedulerEvent from a plain object (e.g. parsed JSON). */
|
|
27
46
|
static fromAny(obj: any): SchedulerEvent;
|
|
28
47
|
}
|
|
48
|
+
/** Event args emitted when an event changes. */
|
|
29
49
|
export interface SchedulerEventEventArgs {
|
|
30
50
|
event: SchedulerEvent;
|
|
31
51
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SchedulerData } from "./scheduler-data";
|
|
2
|
+
import { SchedulerResource } from "./scheduler-resource";
|
|
3
|
+
import { SchedulerEvent } from "./scheduler-event";
|
|
4
|
+
import { BaseTheme } from "../../common/base-theme";
|
|
5
|
+
/** Calculates row heights, row positions, and event Y coordinates for the scheduler layout. */
|
|
6
|
+
export declare class SchedulerLayoutCalculator {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(data: SchedulerData, theme$: {
|
|
9
|
+
getValue(): BaseTheme;
|
|
10
|
+
}, scrollTop$: {
|
|
11
|
+
getValue(): number;
|
|
12
|
+
});
|
|
13
|
+
getRowHeight(resource: SchedulerResource): number;
|
|
14
|
+
getEventY(resource: SchedulerResource, event: SchedulerEvent): number;
|
|
15
|
+
getRowY(resource: SchedulerResource): number;
|
|
16
|
+
getTotalContentHeight(): number;
|
|
17
|
+
get frozenSectionBottom(): number;
|
|
18
|
+
}
|
|
@@ -1,35 +1,54 @@
|
|
|
1
1
|
import { Subject } from "rxjs";
|
|
2
2
|
import { CustomProperty } from "../../common/custom-property";
|
|
3
|
+
import { ColorValue } from "../../common/base-theme";
|
|
4
|
+
/** Built-in resource type constants. */
|
|
3
5
|
export declare const ResourceType: {
|
|
4
6
|
readonly Person: "person";
|
|
5
7
|
readonly Room: "room";
|
|
6
8
|
readonly Equipment: "equipment";
|
|
7
9
|
readonly Vehicle: "vehicle";
|
|
8
10
|
};
|
|
11
|
+
/** Union of built-in resource type string values. */
|
|
9
12
|
export type ResourceTypeValue = typeof ResourceType[keyof typeof ResourceType];
|
|
13
|
+
/** A schedulable resource (person, room, equipment, etc.) displayed as a row in the scheduler. */
|
|
10
14
|
export declare class SchedulerResource {
|
|
11
15
|
#private;
|
|
16
|
+
/** Unique identifier (read-only). Auto-generated if not provided in constructor. */
|
|
12
17
|
get id(): string;
|
|
18
|
+
/** Display name of the resource. */
|
|
13
19
|
get name(): string;
|
|
14
20
|
set name(value: string);
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
/** Color index into the theme's taskColors array, or a custom color definition. When set, all events for this resource inherit this color unless overridden by event.color. */
|
|
22
|
+
get color(): ColorValue | null;
|
|
23
|
+
set color(value: ColorValue | null);
|
|
24
|
+
/** URL to an avatar image displayed in the sheet row. */
|
|
17
25
|
get avatarUrl(): string | null;
|
|
18
26
|
set avatarUrl(value: string | null);
|
|
27
|
+
/** Resource type (e.g. 'person', 'room', 'equipment', 'vehicle', or a custom string). */
|
|
19
28
|
get type(): string | null;
|
|
20
29
|
set type(value: string | null);
|
|
30
|
+
/** Whether this resource is excluded by the active filter. */
|
|
21
31
|
get filtered(): boolean;
|
|
22
32
|
set filtered(value: boolean);
|
|
33
|
+
/** Emitted when any property of this resource changes. */
|
|
23
34
|
changed$: Subject<SchedulerResourceEventArgs>;
|
|
24
35
|
constructor(id: string | null, name: string);
|
|
36
|
+
/** Add a custom property to this resource. */
|
|
25
37
|
addProperty(property: CustomProperty): void;
|
|
38
|
+
/** Remove a custom property from this resource. */
|
|
26
39
|
removeProperty(property: CustomProperty): void;
|
|
40
|
+
/** Get a custom property by name, or null if not found. */
|
|
27
41
|
getPropertyByName(name: string): CustomProperty | null;
|
|
42
|
+
/** Get the value of a custom property by name. */
|
|
28
43
|
getPropertyValue(name: string): any;
|
|
44
|
+
/** Set the value of a custom property by name. */
|
|
29
45
|
setPropertyValue(name: string, value: any): void;
|
|
46
|
+
/** Serialize this resource to a plain object. */
|
|
30
47
|
toAny(): any;
|
|
48
|
+
/** Create a SchedulerResource from a plain object (e.g. parsed JSON). */
|
|
31
49
|
static fromAny(obj: any): SchedulerResource;
|
|
32
50
|
}
|
|
51
|
+
/** Event args emitted when a resource changes. */
|
|
33
52
|
export interface SchedulerResourceEventArgs {
|
|
34
53
|
resource: SchedulerResource;
|
|
35
54
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { BehaviorSubject, Subject } from "rxjs";
|
|
2
|
-
import { ChartTimeline } from "../
|
|
3
|
-
import { TimelineKitLocale } from "../
|
|
4
|
-
import { WorkingCalendar } from "../
|
|
5
|
-
import {
|
|
6
|
-
import { DateRange } from "../
|
|
7
|
-
import {
|
|
8
|
-
import type { Marker } from "../ganttchart/model/marker";
|
|
1
|
+
import { BehaviorSubject, Subject, Subscription } from "rxjs";
|
|
2
|
+
import { ChartTimeline } from "../common/chart-time-axis";
|
|
3
|
+
import { TimelineKitLocale } from "../common/locale";
|
|
4
|
+
import { WorkingCalendar } from "../common/working-calendar";
|
|
5
|
+
import { BaseTheme, ColorValue } from "../common/base-theme";
|
|
6
|
+
import { Cursor, DateRange, Rect } from "../common/common";
|
|
7
|
+
import type { Marker } from "../common/marker";
|
|
9
8
|
import { SchedulerData, SchedulerResourceFilterFn } from "./model/scheduler-data";
|
|
10
9
|
import { SchedulerDataAdapter } from "./model/scheduler-data-adapter";
|
|
11
10
|
import { TableContext } from "../table/table-context";
|
|
@@ -13,37 +12,55 @@ import type { SchedulerCsvExportOptions, SchedulerExcelExportOptions } from "./e
|
|
|
13
12
|
import type { SchedulerPdfExportOptions } from "./export/scheduler-pdf-exporter";
|
|
14
13
|
import { SchedulerResource, SchedulerResourceEventArgs } from "./model/scheduler-resource";
|
|
15
14
|
import { SchedulerEvent, SchedulerEventEventArgs } from "./model/scheduler-event";
|
|
15
|
+
/** Arguments passed to the custom event rendering callback. */
|
|
16
16
|
export interface SchedulerEventRenderArgs {
|
|
17
|
+
/** The event being rendered. */
|
|
17
18
|
event: SchedulerEvent;
|
|
19
|
+
/** The resource the event belongs to. */
|
|
18
20
|
resource: SchedulerResource;
|
|
21
|
+
/** Position and size of the event bar in canvas pixels. */
|
|
19
22
|
rect: Rect;
|
|
23
|
+
/** The canvas 2D rendering context. */
|
|
20
24
|
ctx: CanvasRenderingContext2D;
|
|
25
|
+
/** Whether the event is currently selected. */
|
|
21
26
|
isSelected: boolean;
|
|
22
|
-
|
|
27
|
+
/** Resolved color for the event (theme index or custom definition). */
|
|
28
|
+
color: ColorValue;
|
|
23
29
|
}
|
|
30
|
+
/** Custom event rendering function. Return true if you handled the rendering, false to fall back to default. */
|
|
24
31
|
export type SchedulerEventRenderFn = (args: SchedulerEventRenderArgs) => boolean;
|
|
32
|
+
/** Arguments passed to the custom tooltip callback. */
|
|
25
33
|
export interface SchedulerEventTooltipArgs {
|
|
34
|
+
/** The event being hovered. */
|
|
26
35
|
event: SchedulerEvent;
|
|
36
|
+
/** The resource the event belongs to. */
|
|
27
37
|
resource: SchedulerResource;
|
|
28
38
|
}
|
|
39
|
+
/** Content to display in an event tooltip. */
|
|
29
40
|
export interface SchedulerEventTooltipContent {
|
|
41
|
+
/** Tooltip title (typically the event name). */
|
|
30
42
|
title: string;
|
|
43
|
+
/** Key-value lines displayed below the title. */
|
|
31
44
|
lines: {
|
|
32
45
|
name: string;
|
|
33
46
|
value: string;
|
|
34
47
|
}[];
|
|
35
48
|
}
|
|
49
|
+
/** Custom tooltip function. Return content to display, or null to hide the tooltip. */
|
|
36
50
|
export type SchedulerEventTooltipFn = (args: SchedulerEventTooltipArgs) => SchedulerEventTooltipContent | null;
|
|
51
|
+
import { SchedulerLayoutCalculator } from "./model/scheduler-layout-calculator";
|
|
37
52
|
import { SchedulerSheet } from "./sheet/scheduler-sheet";
|
|
53
|
+
import type { ColumnState } from "../table/table";
|
|
38
54
|
import type { SchedulerEventsPastedEventArgs } from "./clipboard";
|
|
39
|
-
|
|
55
|
+
import { BaseTimelineEngine, BaseEngineContext } from "../common/base-engine";
|
|
56
|
+
export declare class ResourceSchedulerContext implements BaseEngineContext {
|
|
40
57
|
data: SchedulerData;
|
|
41
58
|
dataAdapter: SchedulerDataAdapter;
|
|
42
59
|
table: TableContext<SchedulerResource>;
|
|
43
60
|
timeline: ChartTimeline;
|
|
44
61
|
locale$: BehaviorSubject<TimelineKitLocale>;
|
|
45
62
|
calendar$: BehaviorSubject<WorkingCalendar>;
|
|
46
|
-
theme$: BehaviorSubject<
|
|
63
|
+
theme$: BehaviorSubject<BaseTheme>;
|
|
47
64
|
projectTimeline$: BehaviorSubject<DateRange>;
|
|
48
65
|
settings: ResourceSchedulerSettings;
|
|
49
66
|
get scrollTop$(): BehaviorSubject<number>;
|
|
@@ -70,6 +87,7 @@ export declare class ResourceSchedulerContext {
|
|
|
70
87
|
eventDeleting$: Subject<SchedulerEventDeletingArgs>;
|
|
71
88
|
eventRendering$: BehaviorSubject<SchedulerEventRenderFn | null>;
|
|
72
89
|
eventTooltip$: BehaviorSubject<SchedulerEventTooltipFn | null>;
|
|
90
|
+
layout: SchedulerLayoutCalculator;
|
|
73
91
|
constructor();
|
|
74
92
|
get calendar(): WorkingCalendar;
|
|
75
93
|
getRowHeight(resource: SchedulerResource): number;
|
|
@@ -78,134 +96,208 @@ export declare class ResourceSchedulerContext {
|
|
|
78
96
|
getTotalContentHeight(): number;
|
|
79
97
|
get frozenSectionBottom(): number;
|
|
80
98
|
}
|
|
81
|
-
|
|
99
|
+
/** The Resource Scheduler component engine. Manages resources, events, rendering, and user interaction. */
|
|
100
|
+
export declare class ResourceSchedulerEngine extends BaseTimelineEngine {
|
|
82
101
|
#private;
|
|
102
|
+
protected get ctx(): BaseEngineContext;
|
|
103
|
+
protected get engineEvents(): ResourceSchedulerEvents;
|
|
104
|
+
protected getChartWidth(): number;
|
|
105
|
+
protected getChartElement(): HTMLElement;
|
|
106
|
+
protected getTheme(): BaseTheme;
|
|
107
|
+
protected subscribeThemeChange(cb: () => void): Subscription;
|
|
108
|
+
protected isCellEditing(): boolean;
|
|
109
|
+
protected saveColumnsImpl(): ColumnState[];
|
|
110
|
+
protected loadColumnsImpl(states: ColumnState[]): void;
|
|
111
|
+
protected hasData(): boolean;
|
|
112
|
+
protected destroyComponents(): void;
|
|
113
|
+
protected addWrapperClasses(wrapperElement: HTMLElement): void;
|
|
114
|
+
/** All resources and events (read-only). */
|
|
83
115
|
get data(): SchedulerData;
|
|
116
|
+
/** The sheet (table) component (read-only). */
|
|
84
117
|
get sheet(): SchedulerSheet;
|
|
85
|
-
|
|
86
|
-
set calendar$(value: WorkingCalendar);
|
|
118
|
+
/** Event emitters for subscribing to scheduler events (read-only). */
|
|
87
119
|
get events(): ResourceSchedulerEvents;
|
|
120
|
+
/** Currently selected resources in the sheet (read-only). */
|
|
88
121
|
get selectedResources(): SchedulerResource[];
|
|
122
|
+
/** Currently selected events. */
|
|
89
123
|
get selectedEvents(): SchedulerEvent[];
|
|
90
124
|
set selectedEvents(value: SchedulerEvent[]);
|
|
125
|
+
/** Last selected event, or null if no events are selected. */
|
|
91
126
|
get selectedEvent(): SchedulerEvent | null;
|
|
92
127
|
set selectedEvent(value: SchedulerEvent | null);
|
|
93
|
-
|
|
94
|
-
set canEdit(value: boolean);
|
|
95
|
-
get canUndo$(): BehaviorSubject<boolean>;
|
|
96
|
-
get canRedo$(): BehaviorSubject<boolean>;
|
|
97
|
-
undo(): void;
|
|
98
|
-
redo(): void;
|
|
99
|
-
get showGridLines(): boolean;
|
|
100
|
-
set showGridLines(value: boolean);
|
|
101
|
-
get showTodayLine(): boolean;
|
|
102
|
-
set showTodayLine(value: boolean);
|
|
103
|
-
get markers(): Marker[];
|
|
104
|
-
set markers(value: Marker[]);
|
|
105
|
-
addMarker(marker: Marker): void;
|
|
106
|
-
removeMarker(marker: Marker): void;
|
|
107
|
-
clearMarkers(): void;
|
|
128
|
+
/** Custom event rendering function. Set to override default event bar rendering, or null for default. */
|
|
108
129
|
get eventRendering(): SchedulerEventRenderFn | null;
|
|
109
130
|
set eventRendering(value: SchedulerEventRenderFn | null);
|
|
131
|
+
/** Custom tooltip content function. Set to override default tooltip, or null for default. */
|
|
110
132
|
get eventTooltip(): SchedulerEventTooltipFn | null;
|
|
111
133
|
set eventTooltip(value: SchedulerEventTooltipFn | null);
|
|
134
|
+
/** Active resource filter function. Set to null to show all resources. */
|
|
112
135
|
get filter(): SchedulerResourceFilterFn | null;
|
|
113
136
|
set filter(value: SchedulerResourceFilterFn | null);
|
|
137
|
+
/** Clear the active resource filter (show all resources). */
|
|
114
138
|
clearFilter(): void;
|
|
115
|
-
|
|
116
|
-
set projectTimeline(value: DateRange);
|
|
139
|
+
/** Settings object — access theme and locale (read-only). */
|
|
117
140
|
get settings(): ResourceSchedulerSettings;
|
|
118
|
-
constructor(hostElement:
|
|
119
|
-
|
|
141
|
+
constructor(hostElement: HTMLElement);
|
|
142
|
+
/** Copy selected events to clipboard. */
|
|
120
143
|
copy(): Promise<void>;
|
|
144
|
+
/** Cut selected events to clipboard (copy + remove). */
|
|
121
145
|
cut(): Promise<void>;
|
|
146
|
+
/** Paste events from clipboard. Returns the pasted events, or null if nothing to paste. */
|
|
122
147
|
paste(): Promise<SchedulerEventsPastedEventArgs | null>;
|
|
123
|
-
|
|
124
|
-
zoomOut(): boolean;
|
|
125
|
-
scrollToDate(date: Date): void;
|
|
148
|
+
/** Scroll to make a resource row visible. */
|
|
126
149
|
scrollToResource(resource: SchedulerResource): void;
|
|
127
|
-
|
|
150
|
+
/** Scroll to make an event visible (both horizontally and vertically). */
|
|
151
|
+
scrollToEvent(event: SchedulerEvent): void;
|
|
152
|
+
/** Fit the view to show all events, or a specific subset. */
|
|
128
153
|
zoomToFit(events?: SchedulerEvent[]): void;
|
|
154
|
+
/** Export the scheduler as a PNG image. */
|
|
129
155
|
exportToImage(): Promise<Blob>;
|
|
156
|
+
/** Export as a CSV string. */
|
|
130
157
|
exportToCsv(options?: SchedulerCsvExportOptions): string;
|
|
158
|
+
/** Export as an Excel file (requires exceljs). */
|
|
131
159
|
exportToExcel(options?: SchedulerExcelExportOptions): Promise<Blob>;
|
|
160
|
+
/** Export as a PDF file (requires jspdf). */
|
|
132
161
|
exportToPdf(options?: SchedulerPdfExportOptions): Promise<Blob>;
|
|
162
|
+
/** Sort resources using a comparison function. */
|
|
163
|
+
sortResources(compareFn: (a: SchedulerResource, b: SchedulerResource) => number): void;
|
|
164
|
+
/** Pin a resource row to the top of the view. Frozen resources stay visible while scrolling. */
|
|
133
165
|
freezeResource(resource: SchedulerResource): void;
|
|
166
|
+
/** Unpin a resource row from the top of the view. */
|
|
134
167
|
unfreezeResource(resource: SchedulerResource): void;
|
|
168
|
+
/** Check whether a resource is pinned to the top. */
|
|
135
169
|
isResourceFrozen(resource: SchedulerResource): boolean;
|
|
170
|
+
/** Serialize the complete scheduler state to a JSON string. */
|
|
136
171
|
save(): string;
|
|
137
|
-
|
|
172
|
+
protected restoreState(text: string): void;
|
|
138
173
|
}
|
|
174
|
+
/** Event emitters for subscribing to scheduler lifecycle and interaction events. */
|
|
139
175
|
export declare class ResourceSchedulerEvents {
|
|
176
|
+
#private;
|
|
177
|
+
/** Emitted when a resource is added. */
|
|
140
178
|
resourceAdded$: Subject<SchedulerResourceEventArgs>;
|
|
179
|
+
/** Emitted when a resource property changes. */
|
|
141
180
|
resourceChanged$: Subject<SchedulerResourceEventArgs>;
|
|
181
|
+
/** Emitted when a resource is removed. */
|
|
142
182
|
resourceRemoved$: Subject<SchedulerResourceEventArgs>;
|
|
183
|
+
/** Emitted when an event is added. */
|
|
143
184
|
eventAdded$: Subject<SchedulerEventEventArgs>;
|
|
185
|
+
/** Emitted when an event property changes. */
|
|
144
186
|
eventChanged$: Subject<SchedulerEventEventArgs>;
|
|
187
|
+
/** Emitted when an event is removed. */
|
|
145
188
|
eventRemoved$: Subject<SchedulerEventEventArgs>;
|
|
189
|
+
/** Emitted when event selection changes. Payload is the selected event, or null. */
|
|
146
190
|
eventSelected$: Subject<SchedulerEventEventArgs | null>;
|
|
191
|
+
/** Emitted when an event bar is double-clicked. */
|
|
147
192
|
eventDblClick$: Subject<SchedulerEventEventArgs>;
|
|
193
|
+
/** Emitted when an event is about to be deleted. Set cancel to true to prevent. */
|
|
148
194
|
eventDeleting$: Subject<SchedulerEventDeletingArgs>;
|
|
195
|
+
/** Emitted when events are pasted from clipboard. */
|
|
149
196
|
eventsPasted$: Subject<SchedulerEventsPastedEventArgs>;
|
|
197
|
+
/** Emitted on right-click on the chart area. */
|
|
150
198
|
chartContextMenu$: Subject<SchedulerChartContextMenuArgs>;
|
|
199
|
+
/** Emitted when an event is being moved. Set cancel to true to prevent, or set adjusted times to snap. */
|
|
151
200
|
eventMoving$: Subject<SchedulerEventMovingArgs>;
|
|
201
|
+
/** Emitted when an event is being resized. Set cancel to true to prevent, or set adjusted times to snap. */
|
|
152
202
|
eventResizing$: Subject<SchedulerEventResizingArgs>;
|
|
203
|
+
/** Emitted when a new event is being created by dragging. Set cancel to true to prevent. */
|
|
153
204
|
eventCreating$: Subject<SchedulerEventCreatingArgs>;
|
|
205
|
+
/** Emitted on right-click on a sheet row. */
|
|
154
206
|
sheetRowContextMenu$: Subject<SchedulerRowContextMenuEventArgs>;
|
|
207
|
+
/** Emitted when cell editing starts (true) or ends (false). */
|
|
155
208
|
sheetCellEditing$: Subject<boolean>;
|
|
209
|
+
/** Emitted when the project timeline bounds change. */
|
|
156
210
|
projectTimeline$: Subject<DateRange>;
|
|
211
|
+
/** Emitted when an undo is performed. */
|
|
157
212
|
undone$: Subject<void>;
|
|
213
|
+
/** Emitted when a redo is performed. */
|
|
158
214
|
redone$: Subject<void>;
|
|
159
215
|
constructor(ctx: ResourceSchedulerContext, sheet: SchedulerSheet);
|
|
160
216
|
/** Called by engine to wire chart handler events */
|
|
161
217
|
_bindChartHandlers(chart: import("./chart/scheduler-chart").SchedulerChart): void;
|
|
218
|
+
destroy(): void;
|
|
162
219
|
}
|
|
220
|
+
/** Right-click on a sheet row event args. */
|
|
163
221
|
export interface SchedulerRowContextMenuEventArgs {
|
|
164
222
|
selectedResources: SchedulerResource[];
|
|
165
|
-
mouseEvent:
|
|
223
|
+
mouseEvent: MouseEvent;
|
|
166
224
|
}
|
|
225
|
+
/** Right-click on the chart area event args. */
|
|
167
226
|
export interface SchedulerChartContextMenuArgs {
|
|
227
|
+
/** Date at the click position. */
|
|
168
228
|
date: Date;
|
|
229
|
+
/** Resource at the click position. */
|
|
169
230
|
resource: SchedulerResource;
|
|
231
|
+
/** Event at the click position, or null if clicking empty space. */
|
|
170
232
|
event: SchedulerEvent | null;
|
|
171
|
-
mouseEvent:
|
|
233
|
+
mouseEvent: MouseEvent;
|
|
172
234
|
}
|
|
235
|
+
/** Cancelable event args emitted when an event is being moved. */
|
|
173
236
|
export interface SchedulerEventMovingArgs {
|
|
237
|
+
/** The event being moved. */
|
|
174
238
|
event: SchedulerEvent;
|
|
239
|
+
/** Proposed new start time. */
|
|
175
240
|
newStartTime: Date;
|
|
241
|
+
/** Proposed new end time. */
|
|
176
242
|
newEndTime: Date;
|
|
243
|
+
/** Proposed target resource. */
|
|
177
244
|
newResource: SchedulerResource;
|
|
245
|
+
/** Set to true to cancel the move. */
|
|
178
246
|
cancel: boolean;
|
|
247
|
+
/** Set to override the start time (e.g. for snapping). */
|
|
179
248
|
adjustedStartTime?: Date;
|
|
249
|
+
/** Set to override the end time (e.g. for snapping). */
|
|
180
250
|
adjustedEndTime?: Date;
|
|
181
251
|
}
|
|
252
|
+
/** Cancelable event args emitted when an event is being resized. */
|
|
182
253
|
export interface SchedulerEventResizingArgs {
|
|
254
|
+
/** The event being resized. */
|
|
183
255
|
event: SchedulerEvent;
|
|
256
|
+
/** Which edge is being dragged. */
|
|
184
257
|
edge: 'left' | 'right';
|
|
258
|
+
/** Proposed new start time. */
|
|
185
259
|
newStartTime: Date;
|
|
260
|
+
/** Proposed new end time. */
|
|
186
261
|
newEndTime: Date;
|
|
262
|
+
/** Set to true to cancel the resize. */
|
|
187
263
|
cancel: boolean;
|
|
264
|
+
/** Set to override the start time (e.g. for snapping). */
|
|
188
265
|
adjustedStartTime?: Date;
|
|
266
|
+
/** Set to override the end time (e.g. for snapping). */
|
|
189
267
|
adjustedEndTime?: Date;
|
|
190
268
|
}
|
|
269
|
+
/** Cancelable event args emitted when an event is about to be deleted. */
|
|
191
270
|
export interface SchedulerEventDeletingArgs {
|
|
271
|
+
/** The event being deleted. */
|
|
192
272
|
event: SchedulerEvent;
|
|
273
|
+
/** Set to true to cancel the deletion. */
|
|
193
274
|
cancel: boolean;
|
|
194
275
|
}
|
|
276
|
+
/** Cancelable event args emitted when a new event is being created by dragging. */
|
|
195
277
|
export interface SchedulerEventCreatingArgs {
|
|
278
|
+
/** The target resource. */
|
|
196
279
|
resource: SchedulerResource;
|
|
280
|
+
/** Proposed start time. */
|
|
197
281
|
startTime: Date;
|
|
282
|
+
/** Proposed end time. */
|
|
198
283
|
endTime: Date;
|
|
284
|
+
/** Set to true to cancel creation. */
|
|
199
285
|
cancel: boolean;
|
|
286
|
+
/** Set to override the start time (e.g. for snapping). */
|
|
200
287
|
adjustedStartTime?: Date;
|
|
288
|
+
/** Set to override the end time (e.g. for snapping). */
|
|
201
289
|
adjustedEndTime?: Date;
|
|
202
290
|
}
|
|
291
|
+
/** Scheduler settings — theme and locale configuration. */
|
|
203
292
|
export declare class ResourceSchedulerSettings {
|
|
204
293
|
#private;
|
|
294
|
+
/** Current locale. */
|
|
205
295
|
get locale(): TimelineKitLocale;
|
|
206
296
|
set locale(value: TimelineKitLocale);
|
|
207
|
-
|
|
208
|
-
|
|
297
|
+
/** Current theme. */
|
|
298
|
+
get theme(): BaseTheme;
|
|
299
|
+
set theme(value: BaseTheme);
|
|
300
|
+
/** Emitted when settings change. */
|
|
209
301
|
changed$: Subject<void>;
|
|
210
302
|
constructor(ctx: ResourceSchedulerContext);
|
|
211
303
|
}
|
|
@@ -4,3 +4,5 @@ import { SchedulerResource } from "../../model/scheduler-resource";
|
|
|
4
4
|
export declare class SchedulerIconCellRenderer extends TableCellRenderer<SchedulerResource> {
|
|
5
5
|
redraw(cell: any, valueFormatter: TableCellValueFormatter<SchedulerResource>, item: SchedulerResource): void;
|
|
6
6
|
}
|
|
7
|
+
export declare function preloadAvatars(resources: SchedulerResource[]): Promise<void>;
|
|
8
|
+
export declare function drawSchedulerIconExportCell(ctx: CanvasRenderingContext2D, resource: SchedulerResource, x: number, y: number, width: number, height: number): void;
|