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