@bryntum/gantt-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 (40) hide show
  1. package/README.md +52 -0
  2. package/lib/BryntumAssignmentField.d.ts +272 -0
  3. package/lib/BryntumAssignmentField.js +204 -0
  4. package/lib/BryntumAssignmentField.js.map +1 -0
  5. package/lib/BryntumAssignmentGrid.d.ts +836 -0
  6. package/lib/BryntumAssignmentGrid.js +283 -0
  7. package/lib/BryntumAssignmentGrid.js.map +1 -0
  8. package/lib/BryntumCalendarPicker.d.ts +267 -0
  9. package/lib/BryntumCalendarPicker.js +202 -0
  10. package/lib/BryntumCalendarPicker.js.map +1 -0
  11. package/lib/BryntumDependencyField.d.ts +274 -0
  12. package/lib/BryntumDependencyField.js +209 -0
  13. package/lib/BryntumDependencyField.js.map +1 -0
  14. package/lib/BryntumGantt.d.ts +1776 -0
  15. package/lib/BryntumGantt.js +601 -0
  16. package/lib/BryntumGantt.js.map +1 -0
  17. package/lib/BryntumGanttBase.d.ts +1775 -0
  18. package/lib/BryntumGanttBase.js +600 -0
  19. package/lib/BryntumGanttBase.js.map +1 -0
  20. package/lib/BryntumGanttProjectModel.d.ts +306 -0
  21. package/lib/BryntumGanttProjectModel.js +188 -0
  22. package/lib/BryntumGanttProjectModel.js.map +1 -0
  23. package/lib/WrapperHelper.d.ts +26 -0
  24. package/lib/WrapperHelper.js +569 -0
  25. package/lib/WrapperHelper.js.map +1 -0
  26. package/lib/index.d.ts +7 -0
  27. package/lib/index.js +8 -0
  28. package/lib/index.js.map +1 -0
  29. package/license.pdf +0 -0
  30. package/licenses.md +310 -0
  31. package/package.json +25 -0
  32. package/src/BryntumAssignmentField.tsx +1250 -0
  33. package/src/BryntumAssignmentGrid.tsx +2349 -0
  34. package/src/BryntumCalendarPicker.tsx +1231 -0
  35. package/src/BryntumDependencyField.tsx +1272 -0
  36. package/src/BryntumGantt.tsx +4698 -0
  37. package/src/BryntumGanttBase.tsx +4696 -0
  38. package/src/BryntumGanttProjectModel.tsx +1147 -0
  39. package/src/WrapperHelper.tsx +1125 -0
  40. package/src/index.ts +11 -0
package/README.md ADDED
@@ -0,0 +1,52 @@
1
+ # React wrapper for Bryntum Gantt
2
+
3
+ This package contains a wrapper that encapsulates Bryntum Gantt and turns it into a React component, exposing
4
+ configuration options, properties, features, and events.
5
+
6
+ # Bryntum repository access setup
7
+
8
+ This npm package requires access to Bryntum private NPM repository. You must be logged-in to this repository as a
9
+ licensed or trial user to access it.
10
+
11
+ Please check [Online npm repository guide](https://bryntum.com/docs/pkgOnlineName/guide/Gantt/npm-repository) for
12
+ detailed information on the sign-up/login process.
13
+
14
+ # Installation
15
+
16
+ The installation is performed by issuing the installation command in the root of the application folder. The specific
17
+ command depends on the package manager used by the application.
18
+
19
+ The following are most frequently used:
20
+
21
+ Install using `npm`:
22
+ ```
23
+
24
+ npm install @bryntum/gantt-react@7.1.1
25
+ ```
26
+
27
+ Install using `yarn`:
28
+ ```
29
+
30
+ yarn add @bryntum/gantt-react@7.1.1
31
+ ```
32
+
33
+ # Integration guide
34
+
35
+ To get more information on the package installation and use, use
36
+ [React Integration Guide](https://bryntum.com/docs/pkgOnlineName/guide/Gantt/integration/react/guide)
37
+
38
+ # Online References
39
+
40
+ * [Bryntum npm repository guide](https://bryntum.com/products/gantt/docs/guide/Gantt/npm-repository)
41
+ * [Bryntum Gantt documentation](https://bryntum.com/products/gantt/docs/)
42
+ * [Bryntum Gantt examples](https://bryntum.com/products/gantt/examples/)
43
+ * [Bryntum support Forum](https://forum.bryntum.com/)
44
+ * [Contacts us](https://bryntum.com/contact/)
45
+
46
+ # License and Copyright
47
+
48
+ This wrapper depends on Bryntum Gantt, which is commercial software and requires a paid license.
49
+ Please visit the [Bryntum Gantt End User License](https://bryntum.com/products/gantt/license/) for the full text of the license.
50
+
51
+ Copyright © 2009-2026, Bryntum
52
+ All rights reserved.
@@ -0,0 +1,272 @@
1
+ import React from 'react';
2
+ import { AlignSpec, Base, ChipViewConfig, CollectionCompareOperator, CollectionFilterConfig, Combo, ComboModel, DomConfig, Duration, DurationConfig, Field, FieldContainer, FieldContainerConfig, FieldTriggerConfig, KeyMapConfig, MaskConfig, Model, Rectangle, Store, StoreConfig, TabConfig, TooltipConfig, Widget } from '@bryntum/core-thin';
3
+ import { AssignmentField, AssignmentFieldListeners, AssignmentGrid, AssignmentGridConfig, AssignmentModel, GanttContainerItemConfig, TaskModel } from '@bryntum/gantt-thin';
4
+ import { processWidgetContent } from './WrapperHelper.js';
5
+ export declare type BryntumAssignmentFieldProps = {
6
+ adopt?: HTMLElement | string;
7
+ align?: AlignSpec | string;
8
+ alignSelf?: string;
9
+ anchor?: boolean;
10
+ appendTo?: HTMLElement | string;
11
+ ariaDescription?: string;
12
+ ariaLabel?: string;
13
+ autoComplete?: string;
14
+ autoExpand?: boolean;
15
+ autoSelect?: boolean;
16
+ badge?: string;
17
+ bubbleEvents?: object;
18
+ cacheLastResult?: number | string | Duration | DurationConfig;
19
+ callOnFunctions?: boolean;
20
+ caseSensitive?: boolean;
21
+ catchEventHandlerExceptions?: boolean;
22
+ centered?: boolean;
23
+ chipView?: ChipViewConfig;
24
+ clearable?: boolean | FieldTriggerConfig;
25
+ clearTextOnPickerHide?: boolean;
26
+ clearTextOnSelection?: boolean;
27
+ clearWhenInputEmpty?: boolean;
28
+ cls?: string | object;
29
+ color?: string;
30
+ column?: number;
31
+ config?: object;
32
+ constrainTo?: HTMLElement | Widget | Rectangle;
33
+ container?: Record<string, GanttContainerItemConfig> | GanttContainerItemConfig[] | FieldContainerConfig | FieldContainer;
34
+ containValues?: boolean | string | ((field: Field) => boolean);
35
+ contentElementCls?: string | object;
36
+ createOnUnmatched?: ((name: string, combo: Combo) => Model) | string | boolean;
37
+ dataField?: string;
38
+ dataset?: Record<string, string>;
39
+ defaultBindProperty?: string;
40
+ detectCSSCompatibilityIssues?: boolean;
41
+ disabled?: boolean | 'inert';
42
+ displayField?: string;
43
+ displayValueRenderer?: (record: Model | ComboModel, combo: Combo) => string | void;
44
+ dock?: 'top' | 'bottom' | 'left' | 'right' | 'start' | 'end' | 'header' | 'pre-header' | object;
45
+ draggable?: boolean | {
46
+ handleSelector?: string;
47
+ };
48
+ editable?: boolean;
49
+ elementAttributes?: Record<string, string | null>;
50
+ emptyText?: string;
51
+ encodeFilterParams?: (filters: object[]) => object[];
52
+ extraData?: any;
53
+ filterOnEnter?: boolean;
54
+ filterOperator?: CollectionCompareOperator;
55
+ filterParamName?: string;
56
+ filterSelected?: boolean;
57
+ flex?: number | string;
58
+ floating?: boolean;
59
+ height?: string | number;
60
+ hidden?: boolean;
61
+ hideAnimation?: boolean | object;
62
+ hidePickerOnSelect?: boolean;
63
+ hideTrigger?: boolean;
64
+ highlightExternalChange?: boolean;
65
+ hint?: string | ((data: {
66
+ source: Field;
67
+ value: any;
68
+ }) => string);
69
+ hintHtml?: string | ((data: {
70
+ source: Field;
71
+ value: any;
72
+ }) => string);
73
+ id?: string;
74
+ ignoreParentReadOnly?: boolean;
75
+ inline?: boolean;
76
+ inlinePicker?: boolean;
77
+ inputAlign?: string;
78
+ inputAttributes?: Record<string, string>;
79
+ inputTag?: string;
80
+ inputType?: string;
81
+ inputWidth?: string | number;
82
+ insertBefore?: HTMLElement | string;
83
+ insertFirst?: HTMLElement | string;
84
+ items?: object[] | string[] | object;
85
+ keyMap?: Record<string, KeyMapConfig>;
86
+ keyStrokeChangeDelay?: number;
87
+ keyStrokeFilterDelay?: number;
88
+ label?: string;
89
+ labelCls?: string | object;
90
+ labelPosition?: 'before' | 'above' | null;
91
+ labels?: object[];
92
+ labelWidth?: string | number;
93
+ listCls?: string;
94
+ listeners?: AssignmentFieldListeners;
95
+ listItemTpl?: (record: Model | ComboModel) => string | void;
96
+ localeClass?: typeof Base;
97
+ localizable?: boolean;
98
+ localizableProperties?: string[];
99
+ margin?: number | string;
100
+ maskDefaults?: MaskConfig;
101
+ masked?: boolean | string | MaskConfig;
102
+ maxHeight?: string | number;
103
+ maximizeOnMobile?: number | string;
104
+ maxLength?: number;
105
+ maxWidth?: string | number;
106
+ minChars?: number;
107
+ minHeight?: string | number;
108
+ minLength?: number;
109
+ minWidth?: string | number;
110
+ monitorResize?: boolean | {
111
+ immediate?: boolean;
112
+ };
113
+ multiSelect?: boolean;
114
+ multiValueSeparator?: string;
115
+ name?: string;
116
+ overlayAnchor?: boolean;
117
+ owner?: Widget | any;
118
+ picker?: AssignmentGridConfig | AssignmentGrid;
119
+ pickerAlignElement?: string;
120
+ pickerWidth?: number | string;
121
+ placeholder?: string;
122
+ positioned?: boolean;
123
+ preventTooltipOnTouch?: boolean;
124
+ primaryFilter?: CollectionFilterConfig;
125
+ projectEvent?: TaskModel;
126
+ readOnly?: boolean;
127
+ relayStoreEvents?: boolean;
128
+ rendition?: 'outlined' | 'filled' | string;
129
+ required?: boolean;
130
+ revertOnEscape?: boolean;
131
+ ripple?: boolean | {
132
+ delegate?: string;
133
+ color?: string;
134
+ radius?: number;
135
+ clip?: string;
136
+ };
137
+ rootElement?: ShadowRoot | HTMLElement;
138
+ rtl?: boolean;
139
+ scrollAction?: 'hide' | 'realign' | null;
140
+ showAnimation?: boolean | object;
141
+ showRequiredIndicator?: string;
142
+ showTooltipWhenDisabled?: boolean;
143
+ skipValidation?: boolean;
144
+ span?: number;
145
+ spellCheck?: boolean;
146
+ store?: Store | StoreConfig;
147
+ tab?: boolean | TabConfig;
148
+ tabIndex?: number;
149
+ textAlign?: 'left' | 'center' | 'right' | 'start' | 'end';
150
+ title?: string;
151
+ tooltip?: string | TooltipConfig | null;
152
+ tooltipTemplate?: (data: {
153
+ taskRecord: TaskModel;
154
+ assignmentRecords: AssignmentModel;
155
+ }) => string | DomConfig | DomConfig[];
156
+ triggerAction?: 'all' | 'last' | null;
157
+ triggers?: Record<string, FieldTriggerConfig> | Record<string, Widget>;
158
+ type?: 'assignmentfield';
159
+ ui?: string | object;
160
+ validateFilter?: boolean;
161
+ validateOnInput?: boolean;
162
+ value?: string | number | string[] | number[];
163
+ valueField?: string | null;
164
+ weight?: number;
165
+ width?: string | number;
166
+ x?: number;
167
+ y?: number;
168
+ onAction?: ((event: {
169
+ source: Combo;
170
+ value: any;
171
+ record: Model;
172
+ records: Model[];
173
+ userAction: boolean;
174
+ }) => void) | string;
175
+ onBeforeDestroy?: ((event: {
176
+ source: Base;
177
+ }) => void) | string;
178
+ onBeforeHide?: ((event: {
179
+ source: Widget;
180
+ }) => Promise<boolean> | boolean | void) | string;
181
+ onBeforeShow?: ((event: {
182
+ source: Widget | any;
183
+ }) => Promise<boolean> | boolean | void) | string;
184
+ onCatchAll?: ((event: {
185
+ [key: string]: any;
186
+ type: string;
187
+ }) => void) | string;
188
+ onChange?: ((event: {
189
+ source: Field | any;
190
+ value: string | number | boolean | any;
191
+ oldValue: string | number | boolean | any;
192
+ valid: boolean;
193
+ event: Event;
194
+ userAction: boolean;
195
+ checked: boolean;
196
+ }) => void) | string;
197
+ onClear?: ((event: {
198
+ source: Field | any;
199
+ }) => void) | string;
200
+ onDestroy?: ((event: {
201
+ source: Base;
202
+ }) => void) | string;
203
+ onElementCreated?: ((event: {
204
+ element: HTMLElement;
205
+ }) => void) | string;
206
+ onFocusIn?: ((event: {
207
+ source: Widget;
208
+ fromElement: HTMLElement;
209
+ toElement: HTMLElement;
210
+ fromWidget: Widget;
211
+ toWidget: Widget;
212
+ backwards: boolean;
213
+ }) => void) | string;
214
+ onFocusOut?: ((event: {
215
+ source: Widget;
216
+ fromElement: HTMLElement;
217
+ toElement: HTMLElement;
218
+ fromWidget: Widget;
219
+ toWidget: Widget;
220
+ backwards: boolean;
221
+ }) => void) | string;
222
+ onHide?: ((event: {
223
+ source: Widget;
224
+ }) => void) | string;
225
+ onInput?: ((event: {
226
+ source: Combo;
227
+ value: string;
228
+ event: Event;
229
+ }) => void) | string;
230
+ onPaint?: ((event: {
231
+ source: Widget;
232
+ firstPaint: boolean;
233
+ }) => void) | string;
234
+ onReadOnly?: ((event: {
235
+ readOnly: boolean;
236
+ }) => void) | string;
237
+ onRecompose?: (() => void) | string;
238
+ onResize?: ((event: {
239
+ source: Widget;
240
+ width: number;
241
+ height: number;
242
+ oldWidth: number;
243
+ oldHeight: number;
244
+ }) => void) | string;
245
+ onSelect?: ((event: {
246
+ source: Combo;
247
+ record: Model;
248
+ records: Model[];
249
+ userAction: boolean;
250
+ }) => void) | string;
251
+ onShow?: ((event: {
252
+ source: Widget;
253
+ }) => void) | string;
254
+ onTrigger?: ((event: {
255
+ source: Field | any;
256
+ trigger: Widget;
257
+ }) => void) | string;
258
+ };
259
+ export declare class BryntumAssignmentField extends React.Component<BryntumAssignmentFieldProps> {
260
+ static instanceClass: typeof AssignmentField;
261
+ static instanceName: string;
262
+ processWidgetContent: typeof processWidgetContent;
263
+ static configNames: string[];
264
+ static propertyConfigNames: string[];
265
+ static propertyNames: string[];
266
+ instance: AssignmentField;
267
+ element: HTMLElement;
268
+ componentDidMount(): void;
269
+ componentWillUnmount(): void;
270
+ shouldComponentUpdate(nextProps: Readonly<BryntumAssignmentFieldProps>, nextState: Readonly<{}>): boolean;
271
+ render(): React.ReactNode;
272
+ }
@@ -0,0 +1,204 @@
1
+ import React from 'react';
2
+ import { AssignmentField } from '@bryntum/gantt-thin';
3
+ import { createWidget, shouldComponentUpdate, processWidgetContent } from './WrapperHelper.js';
4
+ export class BryntumAssignmentField extends React.Component {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.processWidgetContent = processWidgetContent;
8
+ }
9
+ componentDidMount() {
10
+ this.instance = createWidget(this);
11
+ }
12
+ componentWillUnmount() {
13
+ var _a, _b;
14
+ (_b = (_a = this.instance) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a);
15
+ }
16
+ shouldComponentUpdate(nextProps, nextState) {
17
+ return shouldComponentUpdate(this, nextProps, nextState);
18
+ }
19
+ render() {
20
+ const className = `b-react-assignment-field-container`;
21
+ return (React.createElement("div", { className: className, ref: (element) => (this.element = element) }));
22
+ }
23
+ }
24
+ BryntumAssignmentField.instanceClass = AssignmentField;
25
+ BryntumAssignmentField.instanceName = 'AssignmentField';
26
+ BryntumAssignmentField.configNames = [
27
+ 'adopt',
28
+ 'align',
29
+ 'anchor',
30
+ 'ariaDescription',
31
+ 'ariaLabel',
32
+ 'autoComplete',
33
+ 'autoExpand',
34
+ 'autoSelect',
35
+ 'bubbleEvents',
36
+ 'cacheLastResult',
37
+ 'caseSensitive',
38
+ 'centered',
39
+ 'chipView',
40
+ 'clearable',
41
+ 'clearTextOnPickerHide',
42
+ 'clearTextOnSelection',
43
+ 'clearWhenInputEmpty',
44
+ 'color',
45
+ 'config',
46
+ 'constrainTo',
47
+ 'container',
48
+ 'containValues',
49
+ 'contentElementCls',
50
+ 'createOnUnmatched',
51
+ 'dataField',
52
+ 'defaultBindProperty',
53
+ 'detectCSSCompatibilityIssues',
54
+ 'displayField',
55
+ 'displayValueRenderer',
56
+ 'dock',
57
+ 'draggable',
58
+ 'elementAttributes',
59
+ 'emptyText',
60
+ 'encodeFilterParams',
61
+ 'filterOnEnter',
62
+ 'filterParamName',
63
+ 'filterSelected',
64
+ 'floating',
65
+ 'hideAnimation',
66
+ 'hidePickerOnSelect',
67
+ 'hideTrigger',
68
+ 'highlightExternalChange',
69
+ 'hint',
70
+ 'hintHtml',
71
+ 'ignoreParentReadOnly',
72
+ 'inline',
73
+ 'inlinePicker',
74
+ 'inputAlign',
75
+ 'inputAttributes',
76
+ 'inputTag',
77
+ 'inputType',
78
+ 'inputWidth',
79
+ 'items',
80
+ 'keyStrokeChangeDelay',
81
+ 'keyStrokeFilterDelay',
82
+ 'labelCls',
83
+ 'labelPosition',
84
+ 'labels',
85
+ 'labelWidth',
86
+ 'listCls',
87
+ 'listeners',
88
+ 'listItemTpl',
89
+ 'localeClass',
90
+ 'localizable',
91
+ 'localizableProperties',
92
+ 'maskDefaults',
93
+ 'masked',
94
+ 'maxLength',
95
+ 'minChars',
96
+ 'minLength',
97
+ 'monitorResize',
98
+ 'multiValueSeparator',
99
+ 'name',
100
+ 'overlayAnchor',
101
+ 'owner',
102
+ 'pickerAlignElement',
103
+ 'pickerWidth',
104
+ 'positioned',
105
+ 'preventTooltipOnTouch',
106
+ 'primaryFilter',
107
+ 'projectEvent',
108
+ 'relayStoreEvents',
109
+ 'revertOnEscape',
110
+ 'ripple',
111
+ 'rootElement',
112
+ 'scrollAction',
113
+ 'showAnimation',
114
+ 'showTooltipWhenDisabled',
115
+ 'skipValidation',
116
+ 'spellCheck',
117
+ 'tab',
118
+ 'tabIndex',
119
+ 'textAlign',
120
+ 'title',
121
+ 'tooltipTemplate',
122
+ 'triggerAction',
123
+ 'type',
124
+ 'ui',
125
+ 'validateFilter',
126
+ 'validateOnInput',
127
+ 'valueField',
128
+ 'weight'
129
+ ];
130
+ BryntumAssignmentField.propertyConfigNames = [
131
+ 'alignSelf',
132
+ 'appendTo',
133
+ 'badge',
134
+ 'callOnFunctions',
135
+ 'catchEventHandlerExceptions',
136
+ 'cls',
137
+ 'column',
138
+ 'dataset',
139
+ 'disabled',
140
+ 'editable',
141
+ 'extraData',
142
+ 'filterOperator',
143
+ 'flex',
144
+ 'height',
145
+ 'hidden',
146
+ 'id',
147
+ 'insertBefore',
148
+ 'insertFirst',
149
+ 'keyMap',
150
+ 'label',
151
+ 'margin',
152
+ 'maxHeight',
153
+ 'maximizeOnMobile',
154
+ 'maxWidth',
155
+ 'minHeight',
156
+ 'minWidth',
157
+ 'multiSelect',
158
+ 'onAction',
159
+ 'onBeforeDestroy',
160
+ 'onBeforeHide',
161
+ 'onBeforeShow',
162
+ 'onCatchAll',
163
+ 'onChange',
164
+ 'onClear',
165
+ 'onDestroy',
166
+ 'onElementCreated',
167
+ 'onFocusIn',
168
+ 'onFocusOut',
169
+ 'onHide',
170
+ 'onInput',
171
+ 'onPaint',
172
+ 'onReadOnly',
173
+ 'onRecompose',
174
+ 'onResize',
175
+ 'onSelect',
176
+ 'onShow',
177
+ 'onTrigger',
178
+ 'picker',
179
+ 'placeholder',
180
+ 'readOnly',
181
+ 'rendition',
182
+ 'required',
183
+ 'rtl',
184
+ 'showRequiredIndicator',
185
+ 'span',
186
+ 'store',
187
+ 'tooltip',
188
+ 'triggers',
189
+ 'value',
190
+ 'width',
191
+ 'x',
192
+ 'y'
193
+ ];
194
+ BryntumAssignmentField.propertyNames = [
195
+ 'anchorSize',
196
+ 'content',
197
+ 'focusVisible',
198
+ 'formula',
199
+ 'html',
200
+ 'input',
201
+ 'parent',
202
+ 'scrollable'
203
+ ];
204
+ //# sourceMappingURL=BryntumAssignmentField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BryntumAssignmentField.js","sourceRoot":"","sources":["../src/BryntumAssignmentField.tsx"],"names":[],"mappings":"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"}