@timelinekit/core 1.0.0 → 1.0.3

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.
Files changed (232) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +200 -0
  3. package/dist/__tests__/calendar/sidebar/calendar-list.test.d.ts +1 -0
  4. package/dist/__tests__/calendar/sidebar/mini-calendar.test.d.ts +1 -0
  5. package/dist/__tests__/calendar/test-helpers.d.ts +169 -0
  6. package/dist/__tests__/calendar/tooltip/calendar-tooltip-renderer.test.d.ts +1 -0
  7. package/dist/__tests__/calendar/validation.test.d.ts +1 -0
  8. package/dist/__tests__/calendar/views/agenda-view.test.d.ts +1 -0
  9. package/dist/__tests__/calendar/views/day-view.test.d.ts +1 -0
  10. package/dist/__tests__/calendar/views/drag-handlers.test.d.ts +1 -0
  11. package/dist/__tests__/calendar/views/keyboard-navigation.test.d.ts +1 -0
  12. package/dist/__tests__/calendar/views/month-view.test.d.ts +1 -0
  13. package/dist/__tests__/calendar/views/swipe-navigation-handler.test.d.ts +1 -0
  14. package/dist/__tests__/calendar/views/time-grid-helper.test.d.ts +1 -0
  15. package/dist/__tests__/calendar/views/view-utils.test.d.ts +1 -0
  16. package/dist/__tests__/calendar/views/week-view.test.d.ts +1 -0
  17. package/dist/__tests__/ganttchart/model/dependency-evaluator.test.d.ts +1 -0
  18. package/dist/__tests__/ganttchart/model/task-filters.test.d.ts +1 -0
  19. package/dist/__tests__/ganttchart/model/task-link.test.d.ts +1 -0
  20. package/dist/calendar/clipboard/calendar-clipboard.d.ts +19 -0
  21. package/dist/calendar/eventcalendar-context.d.ts +157 -0
  22. package/dist/calendar/eventcalendar-engine.d.ts +80 -0
  23. package/dist/calendar/eventcalendar-events.d.ts +40 -0
  24. package/dist/calendar/eventcalendar-settings.d.ts +30 -0
  25. package/dist/calendar/export/calendar-data-exporter.d.ts +32 -0
  26. package/dist/calendar/export/calendar-icalendar-exporter.d.ts +24 -0
  27. package/dist/calendar/export/calendar-image-exporter.d.ts +17 -0
  28. package/dist/calendar/export/calendar-pdf-exporter.d.ts +30 -0
  29. package/dist/calendar/import/calendar-icalendar-importer.d.ts +30 -0
  30. package/dist/calendar/model/calendar-data.d.ts +34 -0
  31. package/dist/calendar/model/calendar-entry.d.ts +44 -0
  32. package/dist/calendar/model/calendar-item.d.ts +151 -0
  33. package/dist/calendar/model/calendar.d.ts +29 -0
  34. package/dist/calendar/model/recurrence-editor.d.ts +25 -0
  35. package/dist/calendar/model/recurrence-exception.d.ts +34 -0
  36. package/dist/calendar/model/recurrence-expander.d.ts +17 -0
  37. package/dist/calendar/model/recurrence-rule.d.ts +42 -0
  38. package/dist/calendar/sidebar/calendar-list.d.ts +13 -0
  39. package/dist/calendar/sidebar/mini-calendar.d.ts +20 -0
  40. package/dist/calendar/themes/dark-theme.d.ts +4 -0
  41. package/dist/calendar/themes/eventcalendar-theme.d.ts +156 -0
  42. package/dist/calendar/themes/light-theme.d.ts +4 -0
  43. package/dist/calendar/tooltip/calendar-tooltip-renderer.d.ts +8 -0
  44. package/dist/calendar/views/agenda-view.d.ts +12 -0
  45. package/dist/calendar/views/base-view.d.ts +23 -0
  46. package/dist/calendar/views/day-view.d.ts +11 -0
  47. package/dist/calendar/views/handlers/allday-drag-handler.d.ts +14 -0
  48. package/dist/calendar/views/handlers/allday-entry-drag-handler.d.ts +18 -0
  49. package/dist/calendar/views/handlers/month-drag-handler.d.ts +14 -0
  50. package/dist/calendar/views/handlers/month-entry-drag-handler.d.ts +18 -0
  51. package/dist/calendar/views/handlers/swipe-navigation-handler.d.ts +14 -0
  52. package/dist/calendar/views/handlers/time-grid-drag-handler.d.ts +14 -0
  53. package/dist/calendar/views/handlers/time-grid-entry-drag-handler.d.ts +18 -0
  54. package/dist/calendar/views/month-view.d.ts +13 -0
  55. package/dist/calendar/views/time-grid-helper.d.ts +36 -0
  56. package/dist/calendar/views/view-utils.d.ts +38 -0
  57. package/dist/calendar/views/week-view.d.ts +16 -0
  58. package/dist/common/base-background-renderer.d.ts +9 -6
  59. package/dist/common/base-chart-handler.d.ts +19 -13
  60. package/dist/common/base-chart-handlers.d.ts +34 -0
  61. package/dist/common/base-chart-scroll-handler.d.ts +5 -3
  62. package/dist/common/base-chart.d.ts +98 -0
  63. package/dist/common/base-divider.d.ts +2 -0
  64. package/dist/common/base-engine.d.ts +112 -0
  65. package/dist/common/base-export-renderer.d.ts +26 -0
  66. package/dist/common/base-header-renderer.d.ts +8 -6
  67. package/dist/common/base-markers-renderer.d.ts +9 -6
  68. package/dist/common/base-theme.d.ts +107 -0
  69. package/dist/common/base-tooltip-renderer.d.ts +7 -0
  70. package/dist/common/chart-time-axis.d.ts +32 -0
  71. package/dist/common/common.d.ts +12 -2
  72. package/dist/common/custom-properties-container.d.ts +14 -0
  73. package/dist/common/drawing.d.ts +8 -2
  74. package/dist/common/export-utils.d.ts +34 -7
  75. package/dist/common/functions.d.ts +1 -1
  76. package/dist/common/locale.d.ts +101 -0
  77. package/dist/common/marker.d.ts +13 -0
  78. package/dist/common/subscription-manager.d.ts +17 -0
  79. package/dist/common/text.d.ts +9 -9
  80. package/dist/common/theme-utils.d.ts +5 -0
  81. package/dist/common/timeline-theme.d.ts +107 -0
  82. package/dist/common/undo-manager.d.ts +22 -0
  83. package/dist/common/working-calendar.d.ts +57 -0
  84. package/dist/ganttchart/chart/chart-scroll-handler.d.ts +1 -1
  85. package/dist/ganttchart/chart/chart-time-axis.d.ts +2 -32
  86. package/dist/ganttchart/chart/chart.d.ts +10 -4
  87. package/dist/ganttchart/chart/handlers/add-task-part.d.ts +14 -7
  88. package/dist/ganttchart/chart/handlers/connector-dots-handler.d.ts +10 -8
  89. package/dist/ganttchart/chart/handlers/gantt-drag-handler.d.ts +32 -0
  90. package/dist/ganttchart/chart/handlers/handler.d.ts +7 -4
  91. package/dist/ganttchart/chart/handlers/handlers.d.ts +5 -10
  92. package/dist/ganttchart/chart/handlers/move-milestone.d.ts +9 -7
  93. package/dist/ganttchart/chart/handlers/move-task-part.d.ts +9 -7
  94. package/dist/ganttchart/chart/handlers/resize-task-part.d.ts +18 -7
  95. package/dist/ganttchart/chart/handlers/select-link.d.ts +8 -6
  96. package/dist/ganttchart/chart/handlers/select-task.d.ts +13 -11
  97. package/dist/ganttchart/chart/handlers/set-task-progress.d.ts +14 -7
  98. package/dist/ganttchart/chart/renderers/chart-background-renderer.d.ts +3 -2
  99. package/dist/ganttchart/chart/renderers/chart-header-renderer.d.ts +2 -2
  100. package/dist/ganttchart/chart/renderers/chart-links-renderer.d.ts +4 -3
  101. package/dist/ganttchart/chart/renderers/chart-markers-renderer.d.ts +2 -2
  102. package/dist/ganttchart/chart/renderers/chart-tasks-renderer.d.ts +9 -9
  103. package/dist/ganttchart/chart/renderers/renderer-base.d.ts +2 -1
  104. package/dist/ganttchart/chart/tooltip/chart-tooltip-renderer.d.ts +4 -6
  105. package/dist/ganttchart/clipboard.d.ts +10 -3
  106. package/dist/ganttchart/divider/divider.d.ts +1 -1
  107. package/dist/ganttchart/export/data-exporter.d.ts +12 -7
  108. package/dist/ganttchart/export/export-common.d.ts +16 -16
  109. package/dist/ganttchart/export/image-exporter.d.ts +5 -4
  110. package/dist/ganttchart/export/pdf-exporter.d.ts +7 -6
  111. package/dist/ganttchart/ganttchart-engine.d.ts +134 -40
  112. package/dist/ganttchart/locale.d.ts +2 -66
  113. package/dist/ganttchart/model/dependency-evaluator.d.ts +16 -0
  114. package/dist/ganttchart/model/lag.d.ts +11 -0
  115. package/dist/ganttchart/model/length.d.ts +13 -2
  116. package/dist/ganttchart/model/marker.d.ts +1 -7
  117. package/dist/ganttchart/model/rate.d.ts +7 -1
  118. package/dist/ganttchart/model/resource-list.d.ts +11 -0
  119. package/dist/ganttchart/model/resource.d.ts +15 -1
  120. package/dist/ganttchart/model/task-filters.d.ts +10 -0
  121. package/dist/ganttchart/model/task-link.d.ts +15 -2
  122. package/dist/ganttchart/model/task-list-adapter.d.ts +22 -0
  123. package/dist/ganttchart/model/task-list.d.ts +55 -2
  124. package/dist/ganttchart/model/task-part.d.ts +20 -0
  125. package/dist/ganttchart/model/task-parts-manager.d.ts +44 -0
  126. package/dist/ganttchart/model/task-resource.d.ts +11 -0
  127. package/dist/ganttchart/model/task-serializer.d.ts +5 -0
  128. package/dist/ganttchart/model/task-warnings.d.ts +4 -0
  129. package/dist/ganttchart/model/task.d.ts +92 -19
  130. package/dist/ganttchart/model/work.d.ts +14 -1
  131. package/dist/ganttchart/model/working-calendar.d.ts +2 -32
  132. package/dist/ganttchart/sheet/renderers/sheet-icons-cell-renderer.d.ts +2 -0
  133. package/dist/ganttchart/sheet/sheet.d.ts +12 -7
  134. package/dist/ganttchart/themes/theme.d.ts +63 -108
  135. package/dist/ganttchart/undo-manager.d.ts +1 -13
  136. package/dist/index.d.ts +77 -8
  137. package/dist/index.js +6 -1
  138. package/dist/licensing/features.d.ts +3 -1
  139. package/dist/licensing/license-key.d.ts +1 -0
  140. package/dist/licensing/license-manager.d.ts +4 -1
  141. package/dist/licensing/watermark.d.ts +1 -0
  142. package/dist/locales/cs.d.ts +1 -1
  143. package/dist/locales/cs.js +1 -0
  144. package/dist/locales/de.d.ts +1 -1
  145. package/dist/locales/de.js +1 -0
  146. package/dist/locales/es.d.ts +1 -1
  147. package/dist/locales/es.js +1 -0
  148. package/dist/locales/fr.d.ts +1 -1
  149. package/dist/locales/fr.js +1 -0
  150. package/dist/locales/it.d.ts +1 -1
  151. package/dist/locales/it.js +1 -0
  152. package/dist/locales/ja.d.ts +1 -1
  153. package/dist/locales/ja.js +1 -0
  154. package/dist/locales/ko.d.ts +1 -1
  155. package/dist/locales/ko.js +1 -0
  156. package/dist/locales/nl.d.ts +1 -1
  157. package/dist/locales/nl.js +1 -0
  158. package/dist/locales/pl.d.ts +1 -1
  159. package/dist/locales/pl.js +1 -0
  160. package/dist/locales/pt.d.ts +1 -1
  161. package/dist/locales/pt.js +1 -0
  162. package/dist/locales/ru.d.ts +1 -1
  163. package/dist/locales/ru.js +1 -0
  164. package/dist/locales/sv.d.ts +1 -1
  165. package/dist/locales/sv.js +1 -0
  166. package/dist/locales/zh.d.ts +1 -1
  167. package/dist/locales/zh.js +1 -0
  168. package/dist/resourcescheduler/chart/handlers/add-event.d.ts +15 -8
  169. package/dist/resourcescheduler/chart/handlers/move-event.d.ts +10 -8
  170. package/dist/resourcescheduler/chart/handlers/resize-event.d.ts +21 -8
  171. package/dist/resourcescheduler/chart/handlers/scheduler-drag-handler.d.ts +32 -0
  172. package/dist/resourcescheduler/chart/handlers/scheduler-handler.d.ts +5 -3
  173. package/dist/resourcescheduler/chart/handlers/scheduler-handlers.d.ts +9 -10
  174. package/dist/resourcescheduler/chart/handlers/select-event.d.ts +10 -8
  175. package/dist/resourcescheduler/chart/renderers/scheduler-background-renderer.d.ts +2 -1
  176. package/dist/resourcescheduler/chart/renderers/scheduler-events-renderer.d.ts +2 -1
  177. package/dist/resourcescheduler/chart/renderers/scheduler-renderer-base.d.ts +1 -0
  178. package/dist/resourcescheduler/chart/scheduler-chart.d.ts +9 -4
  179. package/dist/resourcescheduler/chart/tooltip/scheduler-tooltip-renderer.d.ts +2 -4
  180. package/dist/resourcescheduler/clipboard.d.ts +8 -0
  181. package/dist/resourcescheduler/export/scheduler-data-exporter.d.ts +5 -0
  182. package/dist/resourcescheduler/export/scheduler-export-common.d.ts +12 -7
  183. package/dist/resourcescheduler/export/scheduler-image-exporter.d.ts +2 -1
  184. package/dist/resourcescheduler/export/scheduler-pdf-exporter.d.ts +3 -1
  185. package/dist/resourcescheduler/model/scheduler-data-adapter.d.ts +1 -0
  186. package/dist/resourcescheduler/model/scheduler-data.d.ts +45 -2
  187. package/dist/resourcescheduler/model/scheduler-event.d.ts +22 -2
  188. package/dist/resourcescheduler/model/scheduler-layout-calculator.d.ts +18 -0
  189. package/dist/resourcescheduler/model/scheduler-resource.d.ts +21 -2
  190. package/dist/resourcescheduler/resourcescheduler-engine.d.ts +134 -42
  191. package/dist/resourcescheduler/sheet/renderers/scheduler-icon-cell-renderer.d.ts +2 -0
  192. package/dist/resourcescheduler/sheet/scheduler-sheet.d.ts +11 -6
  193. package/dist/resourcescheduler/themes/scheduler-themes.d.ts +13 -0
  194. package/dist/styles/ec.css +1 -0
  195. package/dist/styles/gc.css +1 -1
  196. package/dist/styles/index.css +1 -0
  197. package/dist/styles/rs.css +1 -0
  198. package/dist/table/editors/input-editor.d.ts +1 -0
  199. package/dist/table/table-column.d.ts +7 -1
  200. package/dist/table/table-data-source.d.ts +2 -0
  201. package/dist/table/table-rows-selection.d.ts +1 -0
  202. package/dist/table/table.d.ts +11 -0
  203. package/dist/table/tree-table.d.ts +2 -0
  204. package/package.json +17 -6
  205. package/styles/_common.scss +12 -1
  206. package/styles/ec.scss +1225 -0
  207. package/styles/index.scss +3 -0
  208. package/dist/ganttchart/model/sheet-column.d.ts +0 -27
  209. package/dist/ganttchart/sheet/editors/cell-editor.d.ts +0 -23
  210. package/dist/ganttchart/sheet/editors/currency-editor.d.ts +0 -6
  211. package/dist/ganttchart/sheet/editors/date-editor.d.ts +0 -6
  212. package/dist/ganttchart/sheet/editors/decimal-editor.d.ts +0 -6
  213. package/dist/ganttchart/sheet/editors/dialog-editor.d.ts +0 -17
  214. package/dist/ganttchart/sheet/editors/input-editor.d.ts +0 -19
  215. package/dist/ganttchart/sheet/editors/integer-editor.d.ts +0 -6
  216. package/dist/ganttchart/sheet/editors/percent-editor.d.ts +0 -6
  217. package/dist/ganttchart/sheet/editors/text-editor.d.ts +0 -5
  218. package/dist/ganttchart/sheet/sheet-keyboard-navigation.d.ts +0 -26
  219. package/dist/ganttchart/sheet/sheet-rows-selection.d.ts +0 -24
  220. /package/dist/__tests__/{critical-path-calculator.test.d.ts → calendar/calendar-clipboard.test.d.ts} +0 -0
  221. /package/dist/__tests__/{model/lag.test.d.ts → calendar/eventcalendar-engine.test.d.ts} +0 -0
  222. /package/dist/__tests__/{model/length.test.d.ts → calendar/export/calendar-data-export.test.d.ts} +0 -0
  223. /package/dist/__tests__/{model/resource-list.test.d.ts → calendar/export/calendar-export.test.d.ts} +0 -0
  224. /package/dist/__tests__/{model/resource.test.d.ts → calendar/export/calendar-icalendar.test.d.ts} +0 -0
  225. /package/dist/__tests__/{model/task-list.test.d.ts → calendar/model/calendar-data.test.d.ts} +0 -0
  226. /package/dist/__tests__/{model/task-part.test.d.ts → calendar/model/calendar-item-recurrence.test.d.ts} +0 -0
  227. /package/dist/__tests__/{model/task-resource.test.d.ts → calendar/model/calendar-item-types.test.d.ts} +0 -0
  228. /package/dist/__tests__/{model/task-warnings.test.d.ts → calendar/model/calendar-occurrence.test.d.ts} +0 -0
  229. /package/dist/__tests__/{model/task.test.d.ts → calendar/model/calendar.test.d.ts} +0 -0
  230. /package/dist/__tests__/{model/work.test.d.ts → calendar/model/recurrence-editor.test.d.ts} +0 -0
  231. /package/dist/__tests__/{model/working-calendar.test.d.ts → calendar/model/recurrence-expander.test.d.ts} +0 -0
  232. /package/dist/__tests__/{undo-manager.test.d.ts → calendar/model/recurrence-rule.test.d.ts} +0 -0
@@ -1,15 +1,20 @@
1
- import { BaseExportDimensions } from "../../common/export-utils";
1
+ import { SheetExportDimensions } from "../../common/export-utils";
2
+ import { BaseExportRenderer } from "../../common/base-export-renderer";
2
3
  import { ResourceSchedulerContext } from "../resourcescheduler-engine";
3
- import { GanttChartTheme } from "../../ganttchart/themes/theme";
4
- export interface SchedulerExportDimensions extends BaseExportDimensions {
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
- export declare class SchedulerExportRenderer {
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(): GanttChartTheme;
14
+ constructor(ctx: ResourceSchedulerContext, sheet: SchedulerSheet);
15
+ get theme(): BaseTheme;
16
+ preload(): Promise<void>;
12
17
  calculateDimensions(): SchedulerExportDimensions;
13
- renderSheet(ctx: any, dims: SchedulerExportDimensions): void;
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 index for an event: event.color → resource.color → resource ordered index. */
44
- getEventColorIndex(event: SchedulerEvent): number;
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
- get color(): number | null;
15
- set color(value: number | null);
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
- get color(): number | null;
16
- set color(value: number | null);
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 "../ganttchart/chart/chart-time-axis";
3
- import { TimelineKitLocale } from "../ganttchart/locale";
4
- import { WorkingCalendar } from "../ganttchart/model/working-calendar";
5
- import { GanttChartTheme } from "../ganttchart/themes/theme";
6
- import { DateRange } from "../ganttchart/ganttchart-engine";
7
- import { Cursor, Rect } from "../common/common";
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
- colorIndex: number;
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
- export declare class ResourceSchedulerContext {
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<GanttChartTheme>;
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
- export declare class ResourceSchedulerEngine {
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
- get calendar$(): BehaviorSubject<WorkingCalendar>;
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
- get canEdit(): boolean;
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
- get projectTimeline(): DateRange;
116
- set projectTimeline(value: DateRange);
139
+ /** Settings object — access theme and locale (read-only). */
117
140
  get settings(): ResourceSchedulerSettings;
118
- constructor(hostElement: any);
119
- destroy(): void;
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
- zoomIn(): boolean;
124
- zoomOut(): boolean;
125
- scrollToDate(date: Date): void;
148
+ /** Scroll to make a resource row visible. */
126
149
  scrollToResource(resource: SchedulerResource): void;
127
- goToProjectStart(): void;
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
- load(text: string): void;
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: any;
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: any;
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
- get theme(): GanttChartTheme;
208
- set theme(value: GanttChartTheme);
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;