@bryntum/scheduler-react 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -0
- package/lib/BryntumAIFilterField.d.ts +231 -0
- package/lib/BryntumAIFilterField.js +168 -0
- package/lib/BryntumAIFilterField.js.map +1 -0
- package/lib/BryntumButton.d.ts +206 -0
- package/lib/BryntumButton.js +148 -0
- package/lib/BryntumButton.js.map +1 -0
- package/lib/BryntumButtonGroup.d.ts +201 -0
- package/lib/BryntumButtonGroup.js +154 -0
- package/lib/BryntumButtonGroup.js.map +1 -0
- package/lib/BryntumChatPanel.d.ts +246 -0
- package/lib/BryntumChatPanel.js +178 -0
- package/lib/BryntumChatPanel.js.map +1 -0
- package/lib/BryntumCheckbox.d.ts +239 -0
- package/lib/BryntumCheckbox.js +168 -0
- package/lib/BryntumCheckbox.js.map +1 -0
- package/lib/BryntumCheckboxGroup.d.ts +249 -0
- package/lib/BryntumCheckboxGroup.js +182 -0
- package/lib/BryntumCheckboxGroup.js.map +1 -0
- package/lib/BryntumChecklistFilterCombo.d.ts +268 -0
- package/lib/BryntumChecklistFilterCombo.js +205 -0
- package/lib/BryntumChecklistFilterCombo.js.map +1 -0
- package/lib/BryntumChipView.d.ts +208 -0
- package/lib/BryntumChipView.js +152 -0
- package/lib/BryntumChipView.js.map +1 -0
- package/lib/BryntumCodeEditor.d.ts +237 -0
- package/lib/BryntumCodeEditor.js +176 -0
- package/lib/BryntumCodeEditor.js.map +1 -0
- package/lib/BryntumColorField.d.ts +231 -0
- package/lib/BryntumColorField.js +169 -0
- package/lib/BryntumColorField.js.map +1 -0
- package/lib/BryntumCombo.d.ts +266 -0
- package/lib/BryntumCombo.js +202 -0
- package/lib/BryntumCombo.js.map +1 -0
- package/lib/BryntumContainer.d.ts +185 -0
- package/lib/BryntumContainer.js +148 -0
- package/lib/BryntumContainer.js.map +1 -0
- package/lib/BryntumDateField.d.ts +241 -0
- package/lib/BryntumDateField.js +178 -0
- package/lib/BryntumDateField.js.map +1 -0
- package/lib/BryntumDatePicker.d.ts +310 -0
- package/lib/BryntumDatePicker.js +213 -0
- package/lib/BryntumDatePicker.js.map +1 -0
- package/lib/BryntumDateRangeField.d.ts +242 -0
- package/lib/BryntumDateRangeField.js +179 -0
- package/lib/BryntumDateRangeField.js.map +1 -0
- package/lib/BryntumDateTimeField.d.ts +222 -0
- package/lib/BryntumDateTimeField.js +158 -0
- package/lib/BryntumDateTimeField.js.map +1 -0
- package/lib/BryntumDemoCodeEditor.d.ts +240 -0
- package/lib/BryntumDemoCodeEditor.js +179 -0
- package/lib/BryntumDemoCodeEditor.js.map +1 -0
- package/lib/BryntumDemoHeader.d.ts +30 -0
- package/lib/BryntumDemoHeader.js +84 -0
- package/lib/BryntumDemoHeader.js.map +1 -0
- package/lib/BryntumDisplayField.d.ts +227 -0
- package/lib/BryntumDisplayField.js +163 -0
- package/lib/BryntumDisplayField.js.map +1 -0
- package/lib/BryntumDurationField.d.ts +234 -0
- package/lib/BryntumDurationField.js +175 -0
- package/lib/BryntumDurationField.js.map +1 -0
- package/lib/BryntumEditor.d.ts +249 -0
- package/lib/BryntumEditor.js +167 -0
- package/lib/BryntumEditor.js.map +1 -0
- package/lib/BryntumEventColorField.d.ts +231 -0
- package/lib/BryntumEventColorField.js +169 -0
- package/lib/BryntumEventColorField.js.map +1 -0
- package/lib/BryntumFieldFilterPicker.d.ts +202 -0
- package/lib/BryntumFieldFilterPicker.js +161 -0
- package/lib/BryntumFieldFilterPicker.js.map +1 -0
- package/lib/BryntumFieldFilterPickerGroup.d.ts +207 -0
- package/lib/BryntumFieldFilterPickerGroup.js +164 -0
- package/lib/BryntumFieldFilterPickerGroup.js.map +1 -0
- package/lib/BryntumFieldSet.d.ts +235 -0
- package/lib/BryntumFieldSet.js +174 -0
- package/lib/BryntumFieldSet.js.map +1 -0
- package/lib/BryntumFileField.d.ts +228 -0
- package/lib/BryntumFileField.js +164 -0
- package/lib/BryntumFileField.js.map +1 -0
- package/lib/BryntumFilePicker.d.ts +192 -0
- package/lib/BryntumFilePicker.js +153 -0
- package/lib/BryntumFilePicker.js.map +1 -0
- package/lib/BryntumFilterField.d.ts +234 -0
- package/lib/BryntumFilterField.js +171 -0
- package/lib/BryntumFilterField.js.map +1 -0
- package/lib/BryntumFullscreenButton.d.ts +8 -0
- package/lib/BryntumFullscreenButton.js +37 -0
- package/lib/BryntumFullscreenButton.js.map +1 -0
- package/lib/BryntumGrid.d.ts +844 -0
- package/lib/BryntumGrid.js +335 -0
- package/lib/BryntumGrid.js.map +1 -0
- package/lib/BryntumGridBase.d.ts +842 -0
- package/lib/BryntumGridBase.js +333 -0
- package/lib/BryntumGridBase.js.map +1 -0
- package/lib/BryntumGridChartDesigner.d.ts +162 -0
- package/lib/BryntumGridChartDesigner.js +127 -0
- package/lib/BryntumGridChartDesigner.js.map +1 -0
- package/lib/BryntumGridFieldFilterPicker.d.ts +203 -0
- package/lib/BryntumGridFieldFilterPicker.js +162 -0
- package/lib/BryntumGridFieldFilterPicker.js.map +1 -0
- package/lib/BryntumGridFieldFilterPickerGroup.d.ts +206 -0
- package/lib/BryntumGridFieldFilterPickerGroup.js +163 -0
- package/lib/BryntumGridFieldFilterPickerGroup.js.map +1 -0
- package/lib/BryntumGroupBar.d.ts +208 -0
- package/lib/BryntumGroupBar.js +152 -0
- package/lib/BryntumGroupBar.js.map +1 -0
- package/lib/BryntumHint.d.ts +260 -0
- package/lib/BryntumHint.js +184 -0
- package/lib/BryntumHint.js.map +1 -0
- package/lib/BryntumLabel.d.ts +161 -0
- package/lib/BryntumLabel.js +126 -0
- package/lib/BryntumLabel.js.map +1 -0
- package/lib/BryntumList.d.ts +205 -0
- package/lib/BryntumList.js +149 -0
- package/lib/BryntumList.js.map +1 -0
- package/lib/BryntumMenu.d.ts +264 -0
- package/lib/BryntumMenu.js +187 -0
- package/lib/BryntumMenu.js.map +1 -0
- package/lib/BryntumMonthPicker.d.ts +240 -0
- package/lib/BryntumMonthPicker.js +173 -0
- package/lib/BryntumMonthPicker.js.map +1 -0
- package/lib/BryntumNumberField.d.ts +234 -0
- package/lib/BryntumNumberField.js +170 -0
- package/lib/BryntumNumberField.js.map +1 -0
- package/lib/BryntumPagingToolbar.d.ts +210 -0
- package/lib/BryntumPagingToolbar.js +156 -0
- package/lib/BryntumPagingToolbar.js.map +1 -0
- package/lib/BryntumPanel.d.ts +231 -0
- package/lib/BryntumPanel.js +170 -0
- package/lib/BryntumPanel.js.map +1 -0
- package/lib/BryntumPasswordField.d.ts +226 -0
- package/lib/BryntumPasswordField.js +162 -0
- package/lib/BryntumPasswordField.js.map +1 -0
- package/lib/BryntumProjectCombo.d.ts +267 -0
- package/lib/BryntumProjectCombo.js +203 -0
- package/lib/BryntumProjectCombo.js.map +1 -0
- package/lib/BryntumRadio.d.ts +239 -0
- package/lib/BryntumRadio.js +168 -0
- package/lib/BryntumRadio.js.map +1 -0
- package/lib/BryntumRadioGroup.d.ts +239 -0
- package/lib/BryntumRadioGroup.js +178 -0
- package/lib/BryntumRadioGroup.js.map +1 -0
- package/lib/BryntumResourceCombo.d.ts +267 -0
- package/lib/BryntumResourceCombo.js +203 -0
- package/lib/BryntumResourceCombo.js.map +1 -0
- package/lib/BryntumResourceFilter.d.ts +214 -0
- package/lib/BryntumResourceFilter.js +154 -0
- package/lib/BryntumResourceFilter.js.map +1 -0
- package/lib/BryntumScheduler.d.ts +2037 -0
- package/lib/BryntumScheduler.js +642 -0
- package/lib/BryntumScheduler.js.map +1 -0
- package/lib/BryntumSchedulerBase.d.ts +2036 -0
- package/lib/BryntumSchedulerBase.js +641 -0
- package/lib/BryntumSchedulerBase.js.map +1 -0
- package/lib/BryntumSchedulerDatePicker.d.ts +313 -0
- package/lib/BryntumSchedulerDatePicker.js +216 -0
- package/lib/BryntumSchedulerDatePicker.js.map +1 -0
- package/lib/BryntumSchedulerProjectModel.d.ts +90 -0
- package/lib/BryntumSchedulerProjectModel.js +98 -0
- package/lib/BryntumSchedulerProjectModel.js.map +1 -0
- package/lib/BryntumSlideToggle.d.ts +239 -0
- package/lib/BryntumSlideToggle.js +168 -0
- package/lib/BryntumSlideToggle.js.map +1 -0
- package/lib/BryntumSlider.d.ts +184 -0
- package/lib/BryntumSlider.js +142 -0
- package/lib/BryntumSlider.js.map +1 -0
- package/lib/BryntumSplitter.d.ts +174 -0
- package/lib/BryntumSplitter.js +130 -0
- package/lib/BryntumSplitter.js.map +1 -0
- package/lib/BryntumTabPanel.d.ts +249 -0
- package/lib/BryntumTabPanel.js +178 -0
- package/lib/BryntumTabPanel.js.map +1 -0
- package/lib/BryntumTextAreaField.d.ts +228 -0
- package/lib/BryntumTextAreaField.js +164 -0
- package/lib/BryntumTextAreaField.js.map +1 -0
- package/lib/BryntumTextAreaPickerField.d.ts +232 -0
- package/lib/BryntumTextAreaPickerField.js +170 -0
- package/lib/BryntumTextAreaPickerField.js.map +1 -0
- package/lib/BryntumTextField.d.ts +229 -0
- package/lib/BryntumTextField.js +166 -0
- package/lib/BryntumTextField.js.map +1 -0
- package/lib/BryntumThemeCombo.d.ts +17 -0
- package/lib/BryntumThemeCombo.js +75 -0
- package/lib/BryntumThemeCombo.js.map +1 -0
- package/lib/BryntumTimeField.d.ts +238 -0
- package/lib/BryntumTimeField.js +175 -0
- package/lib/BryntumTimeField.js.map +1 -0
- package/lib/BryntumTimePicker.d.ts +192 -0
- package/lib/BryntumTimePicker.js +154 -0
- package/lib/BryntumTimePicker.js.map +1 -0
- package/lib/BryntumTimelineHistogram.d.ts +1183 -0
- package/lib/BryntumTimelineHistogram.js +448 -0
- package/lib/BryntumTimelineHistogram.js.map +1 -0
- package/lib/BryntumToolbar.d.ts +209 -0
- package/lib/BryntumToolbar.js +155 -0
- package/lib/BryntumToolbar.js.map +1 -0
- package/lib/BryntumTreeCombo.d.ts +266 -0
- package/lib/BryntumTreeCombo.js +202 -0
- package/lib/BryntumTreeCombo.js.map +1 -0
- package/lib/BryntumTreeGrid.d.ts +843 -0
- package/lib/BryntumTreeGrid.js +334 -0
- package/lib/BryntumTreeGrid.js.map +1 -0
- package/lib/BryntumUndoRedo.d.ts +189 -0
- package/lib/BryntumUndoRedo.js +152 -0
- package/lib/BryntumUndoRedo.js.map +1 -0
- package/lib/BryntumViewPresetCombo.d.ts +215 -0
- package/lib/BryntumViewPresetCombo.js +158 -0
- package/lib/BryntumViewPresetCombo.js.map +1 -0
- package/lib/BryntumWidget.d.ts +160 -0
- package/lib/BryntumWidget.js +125 -0
- package/lib/BryntumWidget.js.map +1 -0
- package/lib/BryntumYearPicker.d.ts +240 -0
- package/lib/BryntumYearPicker.js +177 -0
- package/lib/BryntumYearPicker.js.map +1 -0
- package/lib/WrapperHelper.d.ts +26 -0
- package/lib/WrapperHelper.js +569 -0
- package/lib/WrapperHelper.js.map +1 -0
- package/lib/index.d.ts +71 -0
- package/lib/index.js +72 -0
- package/lib/index.js.map +1 -0
- package/license.pdf +0 -0
- package/licenses.md +310 -0
- package/package.json +25 -0
- package/src/BryntumAIFilterField.tsx +998 -0
- package/src/BryntumButton.tsx +887 -0
- package/src/BryntumButtonGroup.tsx +902 -0
- package/src/BryntumChatPanel.tsx +1082 -0
- package/src/BryntumCheckbox.tsx +1000 -0
- package/src/BryntumCheckboxGroup.tsx +1116 -0
- package/src/BryntumChecklistFilterCombo.tsx +1241 -0
- package/src/BryntumChipView.tsx +914 -0
- package/src/BryntumCodeEditor.tsx +1065 -0
- package/src/BryntumColorField.tsx +995 -0
- package/src/BryntumCombo.tsx +1230 -0
- package/src/BryntumContainer.tsx +861 -0
- package/src/BryntumDateField.tsx +1055 -0
- package/src/BryntumDatePicker.tsx +1340 -0
- package/src/BryntumDateRangeField.tsx +1057 -0
- package/src/BryntumDateTimeField.tsx +942 -0
- package/src/BryntumDemoCodeEditor.tsx +1081 -0
- package/src/BryntumDemoHeader.tsx +160 -0
- package/src/BryntumDisplayField.tsx +979 -0
- package/src/BryntumDurationField.tsx +1038 -0
- package/src/BryntumEditor.tsx +1013 -0
- package/src/BryntumEventColorField.tsx +995 -0
- package/src/BryntumFieldFilterPicker.tsx +943 -0
- package/src/BryntumFieldFilterPickerGroup.tsx +976 -0
- package/src/BryntumFieldSet.tsx +1058 -0
- package/src/BryntumFileField.tsx +982 -0
- package/src/BryntumFilePicker.tsx +888 -0
- package/src/BryntumFilterField.tsx +1023 -0
- package/src/BryntumFullscreenButton.tsx +45 -0
- package/src/BryntumGrid.tsx +2402 -0
- package/src/BryntumGridBase.tsx +2399 -0
- package/src/BryntumGridChartDesigner.tsx +728 -0
- package/src/BryntumGridFieldFilterPicker.tsx +956 -0
- package/src/BryntumGridFieldFilterPickerGroup.tsx +970 -0
- package/src/BryntumGroupBar.tsx +914 -0
- package/src/BryntumHint.tsx +1125 -0
- package/src/BryntumLabel.tsx +720 -0
- package/src/BryntumList.tsx +891 -0
- package/src/BryntumMenu.tsx +1143 -0
- package/src/BryntumMonthPicker.tsx +1056 -0
- package/src/BryntumNumberField.tsx +1025 -0
- package/src/BryntumPagingToolbar.tsx +924 -0
- package/src/BryntumPanel.tsx +1035 -0
- package/src/BryntumPasswordField.tsx +969 -0
- package/src/BryntumProjectCombo.tsx +1232 -0
- package/src/BryntumRadio.tsx +1000 -0
- package/src/BryntumRadioGroup.tsx +1088 -0
- package/src/BryntumResourceCombo.tsx +1235 -0
- package/src/BryntumResourceFilter.tsx +930 -0
- package/src/BryntumScheduler.tsx +5182 -0
- package/src/BryntumSchedulerBase.tsx +5180 -0
- package/src/BryntumSchedulerDatePicker.tsx +1364 -0
- package/src/BryntumSchedulerProjectModel.tsx +423 -0
- package/src/BryntumSlideToggle.tsx +1000 -0
- package/src/BryntumSlider.tsx +815 -0
- package/src/BryntumSplitter.tsx +754 -0
- package/src/BryntumTabPanel.tsx +1087 -0
- package/src/BryntumTextAreaField.tsx +981 -0
- package/src/BryntumTextAreaPickerField.tsx +1002 -0
- package/src/BryntumTextField.tsx +987 -0
- package/src/BryntumThemeCombo.tsx +101 -0
- package/src/BryntumTimeField.tsx +1036 -0
- package/src/BryntumTimePicker.tsx +893 -0
- package/src/BryntumTimelineHistogram.tsx +3425 -0
- package/src/BryntumToolbar.tsx +917 -0
- package/src/BryntumTreeCombo.tsx +1230 -0
- package/src/BryntumTreeGrid.tsx +2401 -0
- package/src/BryntumUndoRedo.tsx +885 -0
- package/src/BryntumViewPresetCombo.tsx +914 -0
- package/src/BryntumWidget.tsx +715 -0
- package/src/BryntumYearPicker.tsx +1070 -0
- package/src/WrapperHelper.tsx +1125 -0
- package/src/index.ts +76 -0
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React wrapper for Bryntum ProjectModel
|
|
3
|
+
*/
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5
|
+
import React, { RefObject } from 'react';
|
|
6
|
+
import { AssignmentModel, AssignmentModelConfig, AssignmentStore, AssignmentStoreConfig, DependencyModel, DependencyModelConfig, DependencyStore, DependencyStoreConfig, EventModel, EventModelConfig, EventStore, EventStoreConfig, Model, ModelConfig, ProjectModel, ResourceModel, ResourceModelConfig, ResourceStore, ResourceStoreConfig, ResourceTimeRangeModel, ResourceTimeRangeModelConfig, ResourceTimeRangeStore, ResourceTimeRangeStoreConfig, StateTrackingManager, StateTrackingManagerConfig, Store, StoreConfig, TimeRangeModel, TimeRangeModelConfig, TimeRangeStore, TimeSpan } from '@bryntum/scheduler';
|
|
7
|
+
|
|
8
|
+
import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
|
|
9
|
+
|
|
10
|
+
export type BryntumSchedulerProjectModelProps = {
|
|
11
|
+
// Configs
|
|
12
|
+
/**
|
|
13
|
+
* A flag, indicating whether the dates and duration calculations should adjust the result to DST time shift.
|
|
14
|
+
*/
|
|
15
|
+
adjustDurationToDST? : boolean
|
|
16
|
+
/**
|
|
17
|
+
* The constructor of the assignment model class, to be used in the project. Will be set as the
|
|
18
|
+
* [modelClass](https://bryntum.com/products/scheduler/docs/api/Core/data/Store#config-modelClass) property of the [assignmentStore](#Scheduler/model/ProjectModel#property-assignmentStore)
|
|
19
|
+
*/
|
|
20
|
+
assignmentModelClass? : typeof AssignmentModel
|
|
21
|
+
/**
|
|
22
|
+
* Data use to fill the [assignmentStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-assignmentStore). Should be an array of
|
|
23
|
+
* [AssignmentModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/AssignmentModel) or its configuration objects.
|
|
24
|
+
*/
|
|
25
|
+
assignments? : AssignmentModel[]|AssignmentModelConfig[]
|
|
26
|
+
/**
|
|
27
|
+
* The initial data, to fill the [assignmentStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-assignmentStore) with.
|
|
28
|
+
* Should be an array of [AssignmentModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/AssignmentModel) or its configuration
|
|
29
|
+
* objects.
|
|
30
|
+
* @deprecated 6.3.0 Use [assignments](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-assignments) instead
|
|
31
|
+
*/
|
|
32
|
+
assignmentsData? : AssignmentModel[]|AssignmentModelConfig[]
|
|
33
|
+
/**
|
|
34
|
+
* An [AssignmentStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/AssignmentStore) instance or a config object.
|
|
35
|
+
*/
|
|
36
|
+
assignmentStore? : AssignmentStore|AssignmentStoreConfig
|
|
37
|
+
/**
|
|
38
|
+
* The constructor to create an assignment store instance with. Should be a class, subclassing the
|
|
39
|
+
* [AssignmentStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/AssignmentStore)
|
|
40
|
+
*/
|
|
41
|
+
assignmentStoreClass? : typeof AssignmentStore|object
|
|
42
|
+
/**
|
|
43
|
+
* Child nodes. To allow loading children on demand, specify `children : true` in your data. Omit the field for leaf
|
|
44
|
+
* tasks.
|
|
45
|
+
* ...
|
|
46
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-children)
|
|
47
|
+
*/
|
|
48
|
+
children? : boolean|object[]|Model[]|ModelConfig[]
|
|
49
|
+
/**
|
|
50
|
+
* Data use to fill the [dependencyStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-dependencyStore). Should be an array of
|
|
51
|
+
* [DependencyModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/DependencyModel) or its configuration objects.
|
|
52
|
+
*/
|
|
53
|
+
dependencies? : DependencyModel[]|DependencyModelConfig[]
|
|
54
|
+
/**
|
|
55
|
+
* The initial data, to fill the [dependencyStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-dependencyStore) with.
|
|
56
|
+
* Should be an array of [DependencyModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/DependencyModel) or its configuration
|
|
57
|
+
* objects.
|
|
58
|
+
* @deprecated 6.3.0 Use [dependencies](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-dependencies) instead
|
|
59
|
+
*/
|
|
60
|
+
dependenciesData? : DependencyModel[]|DependencyModelConfig[]
|
|
61
|
+
/**
|
|
62
|
+
* The constructor of the dependency model class, to be used in the project. Will be set as the
|
|
63
|
+
* [modelClass](https://bryntum.com/products/scheduler/docs/api/Core/data/Store#config-modelClass) property of the [dependencyStore](#Scheduler/model/ProjectModel#property-dependencyStore)
|
|
64
|
+
*/
|
|
65
|
+
dependencyModelClass? : typeof DependencyModel
|
|
66
|
+
/**
|
|
67
|
+
* A [DependencyStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/DependencyStore) instance or a config object.
|
|
68
|
+
*/
|
|
69
|
+
dependencyStore? : DependencyStore|DependencyStoreConfig
|
|
70
|
+
/**
|
|
71
|
+
* The constructor to create a dependency store instance with. Should be a class, subclassing the
|
|
72
|
+
* [DependencyStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/DependencyStore)
|
|
73
|
+
*/
|
|
74
|
+
dependencyStoreClass? : typeof DependencyStore|object
|
|
75
|
+
/**
|
|
76
|
+
* The constructor of the event model class, to be used in the project. Will be set as the
|
|
77
|
+
* [modelClass](https://bryntum.com/products/scheduler/docs/api/Core/data/Store#config-modelClass) property of the [eventStore](#Scheduler/model/ProjectModel#property-eventStore)
|
|
78
|
+
*/
|
|
79
|
+
eventModelClass? : typeof EventModel
|
|
80
|
+
/**
|
|
81
|
+
* Data use to fill the [eventStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-eventStore). Should be an array of
|
|
82
|
+
* [EventModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/EventModel) or its configuration objects.
|
|
83
|
+
*/
|
|
84
|
+
events? : EventModel[]|EventModelConfig[]
|
|
85
|
+
/**
|
|
86
|
+
* The initial data, to fill the [eventStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-eventStore) with.
|
|
87
|
+
* Should be an array of [EventModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/EventModel) or its configuration objects.
|
|
88
|
+
* @deprecated 6.3.0 Use [events](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-events) instead
|
|
89
|
+
*/
|
|
90
|
+
eventsData? : EventModel[]|EventModelConfig[]
|
|
91
|
+
/**
|
|
92
|
+
* An [EventStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/EventStore) instance or a config object.
|
|
93
|
+
*/
|
|
94
|
+
eventStore? : EventStore|EventStoreConfig
|
|
95
|
+
/**
|
|
96
|
+
* The constructor to create an event store instance with. Should be a class, subclassing the
|
|
97
|
+
* [EventStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/EventStore)
|
|
98
|
+
*/
|
|
99
|
+
eventStoreClass? : typeof EventStore|object
|
|
100
|
+
/**
|
|
101
|
+
* Start expanded or not (only valid for tree data)
|
|
102
|
+
*/
|
|
103
|
+
expanded? : boolean
|
|
104
|
+
/**
|
|
105
|
+
* Unique identifier for the record. Might be mapped to another dataSource using idField, but always exposed as
|
|
106
|
+
* record.id. Will get a generated value if none is specified in records data.
|
|
107
|
+
* ...
|
|
108
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-id)
|
|
109
|
+
*/
|
|
110
|
+
id? : string|number
|
|
111
|
+
/**
|
|
112
|
+
* Whether to include legacy data properties in the JSON / inlineData output. The legacy data properties are
|
|
113
|
+
* the `xxData` (`eventsData`, `resourcesData` etc.) properties that are deprecated and will be removed in
|
|
114
|
+
* the future.
|
|
115
|
+
* @deprecated 6.3.0 This config will be removed when the eventsData, resourcesData etc. properties are removed in a future release.
|
|
116
|
+
*/
|
|
117
|
+
includeLegacyDataProperties? : boolean
|
|
118
|
+
/**
|
|
119
|
+
* This field is added to the class at runtime when the Store is configured with
|
|
120
|
+
* [lazyLoad](https://bryntum.com/products/scheduler/docs/api/Core/data/Store#config-lazyLoad). If set on a parent record at load time, that parent will not cause any
|
|
121
|
+
* more child load requests. If omitted, it will be automatically set to `true` when a load request receives fewer
|
|
122
|
+
* child records than requested.
|
|
123
|
+
* ...
|
|
124
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-isFullyLoaded)
|
|
125
|
+
*/
|
|
126
|
+
isFullyLoaded? : boolean
|
|
127
|
+
/**
|
|
128
|
+
* Project data as a JSON string, used to populate its stores.
|
|
129
|
+
* ...
|
|
130
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-json)
|
|
131
|
+
*/
|
|
132
|
+
json? : string
|
|
133
|
+
/**
|
|
134
|
+
* This is a read-only field provided in server synchronization packets to specify
|
|
135
|
+
* which position the node takes in the parent's ordered children array.
|
|
136
|
+
* This index is set on load and gets updated on reordering nodes in tree. Sorting and filtering
|
|
137
|
+
* have no effect on it.
|
|
138
|
+
*/
|
|
139
|
+
orderedParentIndex? : number
|
|
140
|
+
/**
|
|
141
|
+
* This is a read-only field provided in server synchronization packets to specify
|
|
142
|
+
* which record id is the parent of the record.
|
|
143
|
+
*/
|
|
144
|
+
parentId? : string|number|null
|
|
145
|
+
/**
|
|
146
|
+
* This is a read-only field provided in server synchronization packets to specify
|
|
147
|
+
* which position the node takes in the parent's children array.
|
|
148
|
+
* This index is set on load and gets updated automatically after row reordering, sorting, etc.
|
|
149
|
+
* To save the order, need to persist the field on the server and when data is fetched to be loaded,
|
|
150
|
+
* need to sort by this field.
|
|
151
|
+
*/
|
|
152
|
+
parentIndex? : number
|
|
153
|
+
/**
|
|
154
|
+
* Flag the record as read-only on the UI level, preventing the end user from manipulating it using editing
|
|
155
|
+
* features such as cell editing and event dragging.
|
|
156
|
+
* ...
|
|
157
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-readOnly)
|
|
158
|
+
*/
|
|
159
|
+
readOnly? : boolean
|
|
160
|
+
/**
|
|
161
|
+
* This field is added to the class at runtime when the Store is configured with
|
|
162
|
+
* [lazyLoad](https://bryntum.com/products/scheduler/docs/api/Core/data/Store#config-lazyLoad). The
|
|
163
|
+
* number specified should reflect the <strong>total</strong> amount of children of a parent node, including nested descendants.
|
|
164
|
+
* @deprecated This field has been deprecated. Please read the [guide](https://bryntum.com/products/scheduler/docs/api/Grid/guides/data/lazyloading.md) to find out if your app needs to use the new [isFullyLoaded](https://bryntum.com/products/scheduler/docs/api/Core/data/mixin/TreeNode#field-isFullyLoaded) field.
|
|
165
|
+
*/
|
|
166
|
+
remoteChildCount? : number
|
|
167
|
+
/**
|
|
168
|
+
* The constructor of the resource model class, to be used in the project. Will be set as the
|
|
169
|
+
* [modelClass](https://bryntum.com/products/scheduler/docs/api/Core/data/Store#config-modelClass) property of the [resourceStore](#Scheduler/model/ProjectModel#property-resourceStore)
|
|
170
|
+
*/
|
|
171
|
+
resourceModelClass? : typeof ResourceModel
|
|
172
|
+
/**
|
|
173
|
+
* Data use to fill the [resourceStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-resourceStore). Should be an array of
|
|
174
|
+
* [ResourceModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ResourceModel) or its configuration objects.
|
|
175
|
+
*/
|
|
176
|
+
resources? : ResourceModel[]|ResourceModelConfig[]
|
|
177
|
+
/**
|
|
178
|
+
* The initial data, to fill the [resourceStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-resourceStore) with.
|
|
179
|
+
* Should be an array of [ResourceModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ResourceModel) or its configuration objects.
|
|
180
|
+
* @deprecated 6.3.0 Use [resources](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-resources) instead
|
|
181
|
+
*/
|
|
182
|
+
resourcesData? : ResourceModel[]|ResourceModelConfig[]
|
|
183
|
+
/**
|
|
184
|
+
* A [ResourceStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/ResourceStore) instance or a config object.
|
|
185
|
+
*/
|
|
186
|
+
resourceStore? : ResourceStore|ResourceStoreConfig
|
|
187
|
+
/**
|
|
188
|
+
* The constructor to create a resource store instance with. Should be a class, subclassing the
|
|
189
|
+
* [ResourceStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/ResourceStore)
|
|
190
|
+
*/
|
|
191
|
+
resourceStoreClass? : typeof ResourceStore|object
|
|
192
|
+
/**
|
|
193
|
+
* Data use to fill the [resourceTimeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-resourceTimeRangeStore). Should be an array
|
|
194
|
+
* of [ResourceTimeRangeModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ResourceTimeRangeModel) or its configuration objects.
|
|
195
|
+
*/
|
|
196
|
+
resourceTimeRanges? : ResourceTimeRangeModel[]|ResourceTimeRangeModelConfig[]
|
|
197
|
+
/**
|
|
198
|
+
* The initial data, to fill the [resourceTimeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/ProjectModelMixin#property-resourceTimeRangeStore) with.
|
|
199
|
+
* Should be an array of [ResourceTimeRangeModel](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ResourceTimeRangeModel) or it's
|
|
200
|
+
* configuration objects.
|
|
201
|
+
* @deprecated 6.3.0 Use resourceTimeRanges instead
|
|
202
|
+
*/
|
|
203
|
+
resourceTimeRangesData? : ResourceTimeRangeModel[]
|
|
204
|
+
/**
|
|
205
|
+
* A [ResourceTimeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/ResourceTimeRangeStore) instance or a config object.
|
|
206
|
+
*/
|
|
207
|
+
resourceTimeRangeStore? : ResourceTimeRangeStore|ResourceTimeRangeStoreConfig
|
|
208
|
+
/**
|
|
209
|
+
* The constructor to create a resource time range store instance with. Should be a class subclassing the
|
|
210
|
+
* [ResourceTimeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/ResourceTimeRangeStore)
|
|
211
|
+
*/
|
|
212
|
+
resourceTimeRangeStoreClass? : typeof ResourceTimeRangeStore|object
|
|
213
|
+
/**
|
|
214
|
+
* Experimental hook that lets the app determine if a bound dataset needs syncing with the store or not, and
|
|
215
|
+
* if it does - which records that should be processed. Only called for stores that are configured with
|
|
216
|
+
* `syncDataOnLoad: true` (which is the default in the React, Angular and Vue wrappers).
|
|
217
|
+
* ...
|
|
218
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-shouldSyncDataOnLoad)
|
|
219
|
+
* @param {object} options Options passed by the store to this hook
|
|
220
|
+
* @param {Core.data.Store} options.store Store about to be synced
|
|
221
|
+
* @param {Core.data.Model} options.records Records currently in the store
|
|
222
|
+
* @param {object[]} options.data Incoming data
|
|
223
|
+
* @returns {Set<any>,boolean} Return `false` to prevent the store from syncing, or a set of record ids that need further processing (for records that has some kind of change, eg. an update, removal or addition)
|
|
224
|
+
*/
|
|
225
|
+
shouldSyncDataOnLoad? : (options: { store: Store, records: Model, data: object[] }) => Set<any>|boolean
|
|
226
|
+
/**
|
|
227
|
+
* Silences propagations caused by the project loading.
|
|
228
|
+
* ...
|
|
229
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-silenceInitialCommit)
|
|
230
|
+
*/
|
|
231
|
+
silenceInitialCommit? : boolean
|
|
232
|
+
/**
|
|
233
|
+
* Configuration options to provide to the STM manager
|
|
234
|
+
*/
|
|
235
|
+
stm? : StateTrackingManagerConfig|StateTrackingManager
|
|
236
|
+
/**
|
|
237
|
+
* Data use to fill the [timeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#property-timeRangeStore). Should be an array of
|
|
238
|
+
* [TimeRangeModels](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/TimeRangeModel) or its configuration objects.
|
|
239
|
+
*/
|
|
240
|
+
timeRanges? : TimeRangeModel[]|TimeRangeModelConfig[]
|
|
241
|
+
/**
|
|
242
|
+
* The initial data, to fill the [timeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/ProjectModelMixin#property-timeRangeStore) with.
|
|
243
|
+
* Should be an array of [TimeSpan](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/TimeSpan) or its configuration objects.
|
|
244
|
+
* @deprecated 6.3.0 Use timeRanges instead
|
|
245
|
+
*/
|
|
246
|
+
timeRangesData? : TimeSpan[]
|
|
247
|
+
/**
|
|
248
|
+
* A [Store](https://bryntum.com/products/scheduler/docs/api/Core/data/Store) instance or a config object.
|
|
249
|
+
*/
|
|
250
|
+
timeRangeStore? : Store|StoreConfig
|
|
251
|
+
/**
|
|
252
|
+
* The constructor to create a time range store instance with. Should be a class subclassing the
|
|
253
|
+
* [TimeRangeStore](https://bryntum.com/products/scheduler/docs/api/Scheduler/data/TimeRangeStore)
|
|
254
|
+
*/
|
|
255
|
+
timeRangeStoreClass? : typeof TimeRangeStore|object
|
|
256
|
+
/**
|
|
257
|
+
* Set to a IANA time zone (i.e. `Europe/Stockholm`) or a UTC offset in minutes (i.e. `-120`). This will
|
|
258
|
+
* convert all events, tasks and time ranges to the specified time zone or offset. It will also affect the
|
|
259
|
+
* displayed timeline's headers as well at the start and end date of it.
|
|
260
|
+
* ...
|
|
261
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-timeZone)
|
|
262
|
+
*/
|
|
263
|
+
timeZone? : string|number
|
|
264
|
+
/**
|
|
265
|
+
* Specifies the output format of [toJSON](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/mixin/ProjectModelCommon#function-toJSON).
|
|
266
|
+
* ...
|
|
267
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-toJSONResultFormat)
|
|
268
|
+
*/
|
|
269
|
+
toJSONResultFormat? : 'inlineData'|'model'
|
|
270
|
+
/**
|
|
271
|
+
* By default, the stores of a project use the raw data objects passed to them as the data source for their
|
|
272
|
+
* records if data is loaded remotely (using an `AjaxStore` or a `CrudManager`). For data supplied inline,
|
|
273
|
+
* the data objects are instead by default cloned to avoid the original data object being modified by the
|
|
274
|
+
* store.
|
|
275
|
+
* ...
|
|
276
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#config-useRawData)
|
|
277
|
+
*/
|
|
278
|
+
useRawData? : boolean
|
|
279
|
+
|
|
280
|
+
// Events
|
|
281
|
+
/**
|
|
282
|
+
* Fired when data in any of the projects stores changes.
|
|
283
|
+
* ...
|
|
284
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#event-change)
|
|
285
|
+
* @param {object} event Event object
|
|
286
|
+
* @param {Scheduler.model.ProjectModel,any} event.source This project
|
|
287
|
+
* @param {Core.data.Store} event.store Affected store
|
|
288
|
+
* @param {'remove','removeAll','add','clearchanges','filter','update','dataset','replace'} event.action Name of action which triggered the change. May be one of: * `'remove'` * `'removeAll'` * `'add'` * `'clearchanges'` * `'filter'` * `'update'` * `'dataset'` * `'replace'`
|
|
289
|
+
* @param {Core.data.Model} event.record Changed record, for actions that affects exactly one record (`'update'`)
|
|
290
|
+
* @param {Core.data.Model[]} event.records Changed records, passed for all actions except `'removeAll'`
|
|
291
|
+
* @param {object} event.changes Passed for the `'update'` action, info on which record fields changed
|
|
292
|
+
*/
|
|
293
|
+
onChange? : ((event: { source: ProjectModel|any, store: Store, action: 'remove'|'removeAll'|'add'|'clearchanges'|'filter'|'update'|'dataset'|'replace', record: Model, records: Model[], changes: object }) => void)|string
|
|
294
|
+
/**
|
|
295
|
+
* Fired when the engine has finished its calculations and the results has been written back to the records.
|
|
296
|
+
* ...
|
|
297
|
+
* [View online docs...](https://bryntum.com/products/scheduler/docs/api/Scheduler/model/ProjectModel#event-dataReady)
|
|
298
|
+
* @param {object} event Event object
|
|
299
|
+
* @param {Scheduler.model.ProjectModel,any} event.source The project
|
|
300
|
+
* @param {boolean} event.isInitialCommit Flag that shows if this commit is initial
|
|
301
|
+
* @param {Set<any>} event.records Set of all [Model](https://bryntum.com/products/scheduler/docs/api/Core/data/Model)s that were modified in the completed transaction. Use the [modifications](https://bryntum.com/products/scheduler/docs/api/Core/data/Model#property-modifications) property of each Model to identify modified fields.
|
|
302
|
+
*/
|
|
303
|
+
onDataReady? : ((event: { source: ProjectModel|any, isInitialCommit: boolean, records: Set<any> }) => void)|string
|
|
304
|
+
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export class BryntumSchedulerProjectModel extends React.Component<BryntumSchedulerProjectModelProps> {
|
|
308
|
+
|
|
309
|
+
static instanceClass = ProjectModel;
|
|
310
|
+
|
|
311
|
+
static instanceName = 'ProjectModel';
|
|
312
|
+
|
|
313
|
+
processWidgetContent = processWidgetContent;
|
|
314
|
+
|
|
315
|
+
dataStores = {
|
|
316
|
+
'assignmentStore': 'assignments',
|
|
317
|
+
'dependencyStore': 'dependencies',
|
|
318
|
+
'eventStore': 'events',
|
|
319
|
+
'resourceStore': 'resources',
|
|
320
|
+
'resourceTimeRangeStore': 'resourceTimeRanges',
|
|
321
|
+
'timeRangeStore': 'timeRanges'
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
static configNames = [
|
|
325
|
+
'adjustDurationToDST',
|
|
326
|
+
'assignmentModelClass',
|
|
327
|
+
'assignmentsData',
|
|
328
|
+
'assignmentStoreClass',
|
|
329
|
+
'children',
|
|
330
|
+
'dependenciesData',
|
|
331
|
+
'dependencyModelClass',
|
|
332
|
+
'dependencyStoreClass',
|
|
333
|
+
'eventModelClass',
|
|
334
|
+
'eventsData',
|
|
335
|
+
'eventStoreClass',
|
|
336
|
+
'expanded',
|
|
337
|
+
'orderedParentIndex',
|
|
338
|
+
'parentIndex',
|
|
339
|
+
'resourceModelClass',
|
|
340
|
+
'resourcesData',
|
|
341
|
+
'resourceStoreClass',
|
|
342
|
+
'resourceTimeRangesData',
|
|
343
|
+
'resourceTimeRangeStoreClass',
|
|
344
|
+
'silenceInitialCommit',
|
|
345
|
+
'timeRangesData',
|
|
346
|
+
'timeRangeStoreClass',
|
|
347
|
+
'toJSONResultFormat',
|
|
348
|
+
'useRawData'
|
|
349
|
+
];
|
|
350
|
+
|
|
351
|
+
static propertyConfigNames = [
|
|
352
|
+
'assignments',
|
|
353
|
+
'assignmentStore',
|
|
354
|
+
'dependencies',
|
|
355
|
+
'dependencyStore',
|
|
356
|
+
'events',
|
|
357
|
+
'eventStore',
|
|
358
|
+
'id',
|
|
359
|
+
'includeLegacyDataProperties',
|
|
360
|
+
'isFullyLoaded',
|
|
361
|
+
'json',
|
|
362
|
+
'onChange',
|
|
363
|
+
'onDataReady',
|
|
364
|
+
'parentId',
|
|
365
|
+
'readOnly',
|
|
366
|
+
'remoteChildCount',
|
|
367
|
+
'resources',
|
|
368
|
+
'resourceStore',
|
|
369
|
+
'resourceTimeRanges',
|
|
370
|
+
'resourceTimeRangeStore',
|
|
371
|
+
'shouldSyncDataOnLoad',
|
|
372
|
+
'stm',
|
|
373
|
+
'timeRanges',
|
|
374
|
+
'timeRangeStore',
|
|
375
|
+
'timeZone'
|
|
376
|
+
];
|
|
377
|
+
|
|
378
|
+
static propertyNames = [
|
|
379
|
+
'allChildren',
|
|
380
|
+
'allUnfilteredChildren',
|
|
381
|
+
'descendantCount',
|
|
382
|
+
'hasGeneratedId',
|
|
383
|
+
'inlineData',
|
|
384
|
+
'internalId',
|
|
385
|
+
'isCommitting',
|
|
386
|
+
'isCreating',
|
|
387
|
+
'isValid',
|
|
388
|
+
'previousSiblingsTotalCount',
|
|
389
|
+
'visibleDescendantCount'
|
|
390
|
+
];
|
|
391
|
+
|
|
392
|
+
// Component instance
|
|
393
|
+
instance!: ProjectModel;
|
|
394
|
+
|
|
395
|
+
// Component element
|
|
396
|
+
element! : HTMLElement;
|
|
397
|
+
|
|
398
|
+
componentDidMount(): void {
|
|
399
|
+
this.instance = createWidget(this);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
componentWillUnmount(): void {
|
|
403
|
+
// @ts-ignore
|
|
404
|
+
this.instance?.destroy?.();
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/**
|
|
408
|
+
* Component about to be updated, from changing a prop using state.
|
|
409
|
+
* React to it depending on what changed and prevent react from re-rendering our component.
|
|
410
|
+
* @param nextProps
|
|
411
|
+
* @param nextState
|
|
412
|
+
* @returns {boolean}
|
|
413
|
+
*/
|
|
414
|
+
shouldComponentUpdate(nextProps: Readonly<BryntumSchedulerProjectModelProps>, nextState: Readonly<{}>): boolean {
|
|
415
|
+
return shouldComponentUpdate(this, nextProps, nextState);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
render(): React.ReactNode {
|
|
419
|
+
|
|
420
|
+
return null
|
|
421
|
+
|
|
422
|
+
}
|
|
423
|
+
}
|