devextreme-react 24.1.2-beta → 24.1.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.
- package/LICENSE +21 -21
- package/README.md +23 -23
- package/cjs/accordion.d.ts +3 -3
- package/cjs/accordion.js +34 -37
- package/cjs/action-sheet.d.ts +3 -3
- package/cjs/action-sheet.js +34 -37
- package/cjs/autocomplete.d.ts +2 -2
- package/cjs/autocomplete.js +79 -82
- package/cjs/bar-gauge.d.ts +2 -2
- package/cjs/bar-gauge.js +97 -100
- package/cjs/box.d.ts +3 -3
- package/cjs/box.js +34 -37
- package/cjs/bullet.d.ts +2 -2
- package/cjs/bullet.js +44 -50
- package/cjs/button-group.d.ts +2 -2
- package/cjs/button-group.js +34 -37
- package/cjs/button.d.ts +2 -2
- package/cjs/button.js +22 -28
- package/cjs/calendar.d.ts +2 -2
- package/cjs/calendar.js +27 -31
- package/cjs/chart.d.ts +2 -2
- package/cjs/chart.js +305 -308
- package/cjs/check-box.d.ts +2 -2
- package/cjs/check-box.js +24 -29
- package/cjs/circular-gauge.d.ts +2 -2
- package/cjs/circular-gauge.js +103 -106
- package/cjs/color-box.d.ts +2 -2
- package/cjs/color-box.js +76 -79
- package/cjs/common/charts.d.ts +2 -2
- package/cjs/common/charts.js +2 -2
- package/cjs/common/data/custom-store.d.ts +2 -2
- package/cjs/common/data/custom-store.js +2 -2
- package/cjs/common/grids.d.ts +2 -2
- package/cjs/common/grids.js +2 -2
- package/cjs/common/index.d.ts +2 -2
- package/cjs/common/index.js +2 -2
- package/cjs/context-menu.d.ts +3 -3
- package/cjs/context-menu.js +76 -79
- package/cjs/core/component-base.d.ts +2 -2
- package/cjs/core/component-base.js +107 -141
- package/cjs/core/component.d.ts +2 -2
- package/cjs/core/component.js +29 -43
- package/cjs/core/config.d.ts +2 -2
- package/cjs/core/config.js +4 -15
- package/cjs/core/configuration/comparer.d.ts +2 -2
- package/cjs/core/configuration/comparer.js +27 -27
- package/cjs/core/configuration/config-node.d.ts +2 -2
- package/cjs/core/configuration/config-node.js +2 -2
- package/cjs/core/configuration/react/element.d.ts +2 -3
- package/cjs/core/configuration/react/element.js +10 -10
- package/cjs/core/configuration/react/templates.d.ts +2 -2
- package/cjs/core/configuration/react/templates.js +2 -2
- package/cjs/core/configuration/react/tree.d.ts +2 -2
- package/cjs/core/configuration/react/tree.js +33 -40
- package/cjs/core/configuration/tree.d.ts +2 -2
- package/cjs/core/configuration/tree.js +24 -24
- package/cjs/core/configuration/utils.d.ts +2 -2
- package/cjs/core/configuration/utils.js +12 -17
- package/cjs/core/extension-component.d.ts +2 -2
- package/cjs/core/extension-component.js +20 -35
- package/cjs/core/helpers.d.ts +2 -3
- package/cjs/core/helpers.js +30 -161
- package/cjs/core/nested-option.d.ts +2 -2
- package/cjs/core/nested-option.js +8 -8
- package/cjs/core/options-manager.d.ts +2 -2
- package/cjs/core/options-manager.js +85 -128
- package/cjs/core/template-manager.d.ts +2 -2
- package/cjs/core/template-manager.js +51 -82
- package/cjs/core/template-wrapper.d.ts +2 -2
- package/cjs/core/template-wrapper.js +32 -49
- package/cjs/core/template.d.ts +2 -2
- package/cjs/core/template.js +4 -4
- package/cjs/core/types.d.ts +2 -2
- package/cjs/core/types.js +2 -2
- package/cjs/core/widget-config.d.ts +2 -2
- package/cjs/core/widget-config.js +21 -22
- package/cjs/data-grid.d.ts +3 -3
- package/cjs/data-grid.js +290 -292
- package/cjs/date-box.d.ts +2 -2
- package/cjs/date-box.js +83 -85
- package/cjs/date-range-box.d.ts +2 -2
- package/cjs/date-range-box.js +82 -85
- package/cjs/defer-rendering.d.ts +2 -2
- package/cjs/defer-rendering.js +50 -56
- package/cjs/diagram.d.ts +16 -16
- package/cjs/diagram.js +109 -112
- package/cjs/draggable.d.ts +2 -2
- package/cjs/draggable.js +29 -34
- package/cjs/drawer.d.ts +2 -2
- package/cjs/drawer.js +27 -31
- package/cjs/drop-down-box.d.ts +2 -2
- package/cjs/drop-down-box.js +76 -79
- package/cjs/drop-down-button.d.ts +2 -2
- package/cjs/drop-down-button.js +68 -73
- package/cjs/file-manager.d.ts +2 -2
- package/cjs/file-manager.js +59 -65
- package/cjs/file-uploader.d.ts +2 -2
- package/cjs/file-uploader.js +24 -29
- package/cjs/filter-builder.d.ts +2 -2
- package/cjs/filter-builder.js +47 -50
- package/cjs/form.d.ts +2 -2
- package/cjs/form.js +94 -98
- package/cjs/funnel.d.ts +2 -2
- package/cjs/funnel.js +109 -113
- package/cjs/gallery.d.ts +3 -3
- package/cjs/gallery.js +34 -37
- package/cjs/gantt.d.ts +2 -2
- package/cjs/gantt.js +101 -106
- package/cjs/html-editor.d.ts +2 -2
- package/cjs/html-editor.js +64 -68
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +2 -2
- package/cjs/linear-gauge.d.ts +2 -2
- package/cjs/linear-gauge.js +103 -107
- package/cjs/list.d.ts +3 -3
- package/cjs/list.js +52 -55
- package/cjs/load-indicator.d.ts +2 -2
- package/cjs/load-indicator.js +19 -26
- package/cjs/load-panel.d.ts +2 -2
- package/cjs/load-panel.js +62 -65
- package/cjs/lookup.d.ts +2 -2
- package/cjs/lookup.js +79 -82
- package/cjs/map.d.ts +2 -2
- package/cjs/map.js +46 -50
- package/cjs/menu.d.ts +3 -3
- package/cjs/menu.js +76 -79
- package/cjs/multi-view.d.ts +3 -3
- package/cjs/multi-view.js +34 -37
- package/cjs/number-box.d.ts +2 -2
- package/cjs/number-box.js +37 -41
- package/cjs/pie-chart.d.ts +2 -2
- package/cjs/pie-chart.js +136 -139
- package/cjs/pivot-grid-field-chooser.d.ts +2 -2
- package/cjs/pivot-grid-field-chooser.js +38 -44
- package/cjs/pivot-grid.d.ts +2 -2
- package/cjs/pivot-grid.js +62 -68
- package/cjs/polar-chart.d.ts +2 -2
- package/cjs/polar-chart.js +238 -242
- package/cjs/popover.d.ts +2 -2
- package/cjs/popover.js +74 -76
- package/cjs/popup.d.ts +2 -2
- package/cjs/popup.js +68 -70
- package/cjs/progress-bar.d.ts +2 -2
- package/cjs/progress-bar.js +24 -29
- package/cjs/radio-group.d.ts +2 -2
- package/cjs/radio-group.js +34 -37
- package/cjs/range-selector.d.ts +2 -2
- package/cjs/range-selector.js +208 -212
- package/cjs/range-slider.d.ts +2 -2
- package/cjs/range-slider.js +37 -41
- package/cjs/recurrence-editor.d.ts +2 -2
- package/cjs/recurrence-editor.js +24 -29
- package/cjs/resizable.d.ts +2 -2
- package/cjs/resizable.js +24 -29
- package/cjs/responsive-box.d.ts +3 -3
- package/cjs/responsive-box.js +43 -46
- package/cjs/sankey.d.ts +2 -2
- package/cjs/sankey.js +85 -89
- package/cjs/scheduler.d.ts +2 -2
- package/cjs/scheduler.js +46 -49
- package/cjs/scroll-view.d.ts +2 -2
- package/cjs/scroll-view.js +19 -26
- package/cjs/select-box.d.ts +2 -2
- package/cjs/select-box.js +79 -82
- package/cjs/slider.d.ts +2 -2
- package/cjs/slider.js +37 -41
- package/cjs/sortable.d.ts +2 -2
- package/cjs/sortable.js +29 -34
- package/cjs/sparkline.d.ts +2 -2
- package/cjs/sparkline.js +44 -50
- package/cjs/speed-dial-action.d.ts +2 -2
- package/cjs/speed-dial-action.js +19 -26
- package/cjs/splitter.d.ts +6 -6
- package/cjs/splitter.js +34 -37
- package/cjs/switch.d.ts +2 -2
- package/cjs/switch.js +24 -29
- package/cjs/tab-panel.d.ts +3 -3
- package/cjs/tab-panel.js +34 -37
- package/cjs/tabs.d.ts +3 -3
- package/cjs/tabs.js +34 -37
- package/cjs/tag-box.d.ts +2 -2
- package/cjs/tag-box.js +79 -82
- package/cjs/text-area.d.ts +2 -2
- package/cjs/text-area.js +24 -29
- package/cjs/text-box.d.ts +2 -2
- package/cjs/text-box.js +34 -38
- package/cjs/tile-view.d.ts +3 -3
- package/cjs/tile-view.js +34 -37
- package/cjs/toast.d.ts +2 -2
- package/cjs/toast.js +65 -67
- package/cjs/toolbar.d.ts +3 -3
- package/cjs/toolbar.js +34 -37
- package/cjs/tooltip.d.ts +2 -2
- package/cjs/tooltip.js +71 -73
- package/cjs/tree-list.d.ts +3 -3
- package/cjs/tree-list.js +250 -254
- package/cjs/tree-map.d.ts +2 -2
- package/cjs/tree-map.js +91 -95
- package/cjs/tree-view.d.ts +3 -3
- package/cjs/tree-view.js +43 -46
- package/cjs/validation-group.d.ts +2 -2
- package/cjs/validation-group.js +19 -26
- package/cjs/validation-summary.d.ts +3 -3
- package/cjs/validation-summary.js +34 -37
- package/cjs/validator.d.ts +2 -2
- package/cjs/validator.js +57 -63
- package/cjs/vector-map.d.ts +2 -2
- package/cjs/vector-map.js +106 -110
- package/esm/accordion.js +29 -32
- package/esm/action-sheet.js +29 -32
- package/esm/autocomplete.js +74 -77
- package/esm/bar-gauge.js +92 -95
- package/esm/box.js +29 -32
- package/esm/bullet.js +39 -45
- package/esm/button-group.js +29 -32
- package/esm/button.js +18 -24
- package/esm/calendar.js +23 -27
- package/esm/chart.js +300 -303
- package/esm/check-box.js +20 -25
- package/esm/circular-gauge.js +98 -101
- package/esm/color-box.js +71 -74
- package/esm/common/charts.js +2 -2
- package/esm/common/data/custom-store.js +2 -2
- package/esm/common/grids.js +2 -2
- package/esm/common/index.js +2 -2
- package/esm/context-menu.js +71 -74
- package/esm/core/component-base.js +94 -131
- package/esm/core/component.js +25 -39
- package/esm/core/config.js +4 -15
- package/esm/core/configuration/comparer.js +25 -25
- package/esm/core/configuration/config-node.js +2 -2
- package/esm/core/configuration/react/element.js +9 -9
- package/esm/core/configuration/react/templates.js +2 -2
- package/esm/core/configuration/react/tree.js +28 -35
- package/esm/core/configuration/tree.js +23 -23
- package/esm/core/configuration/utils.js +12 -17
- package/esm/core/extension-component.js +17 -32
- package/esm/core/helpers.js +30 -163
- package/esm/core/nested-option.js +6 -6
- package/esm/core/options-manager.js +81 -124
- package/esm/core/template-manager.js +44 -75
- package/esm/core/template-wrapper.js +27 -44
- package/esm/core/template.js +3 -3
- package/esm/core/types.js +2 -2
- package/esm/core/widget-config.js +21 -22
- package/esm/data-grid.js +285 -287
- package/esm/date-box.js +78 -80
- package/esm/date-range-box.js +77 -80
- package/esm/defer-rendering.js +45 -51
- package/esm/diagram.js +104 -107
- package/esm/draggable.js +24 -29
- package/esm/drawer.js +23 -27
- package/esm/drop-down-box.js +71 -74
- package/esm/drop-down-button.js +63 -68
- package/esm/file-manager.js +54 -60
- package/esm/file-uploader.js +20 -25
- package/esm/filter-builder.js +42 -45
- package/esm/form.js +89 -93
- package/esm/funnel.js +104 -108
- package/esm/gallery.js +29 -32
- package/esm/gantt.js +96 -101
- package/esm/html-editor.js +59 -63
- package/esm/index.js +2 -2
- package/esm/linear-gauge.js +98 -102
- package/esm/list.js +47 -50
- package/esm/load-indicator.js +15 -22
- package/esm/load-panel.js +57 -60
- package/esm/lookup.js +74 -77
- package/esm/map.js +41 -45
- package/esm/menu.js +71 -74
- package/esm/multi-view.js +29 -32
- package/esm/number-box.js +32 -36
- package/esm/pie-chart.js +131 -134
- package/esm/pivot-grid-field-chooser.js +33 -39
- package/esm/pivot-grid.js +57 -63
- package/esm/polar-chart.js +233 -237
- package/esm/popover.js +69 -71
- package/esm/popup.js +63 -65
- package/esm/progress-bar.js +20 -25
- package/esm/radio-group.js +29 -32
- package/esm/range-selector.js +203 -207
- package/esm/range-slider.js +32 -36
- package/esm/recurrence-editor.js +20 -25
- package/esm/resizable.js +20 -25
- package/esm/responsive-box.js +38 -41
- package/esm/sankey.js +80 -84
- package/esm/scheduler.js +41 -44
- package/esm/scroll-view.js +15 -22
- package/esm/select-box.js +74 -77
- package/esm/slider.js +32 -36
- package/esm/sortable.js +24 -29
- package/esm/sparkline.js +39 -45
- package/esm/speed-dial-action.js +15 -22
- package/esm/splitter.js +29 -32
- package/esm/switch.js +20 -25
- package/esm/tab-panel.js +29 -32
- package/esm/tabs.js +29 -32
- package/esm/tag-box.js +74 -77
- package/esm/text-area.js +20 -25
- package/esm/text-box.js +29 -33
- package/esm/tile-view.js +29 -32
- package/esm/toast.js +60 -62
- package/esm/toolbar.js +29 -32
- package/esm/tooltip.js +66 -68
- package/esm/tree-list.js +245 -249
- package/esm/tree-map.js +86 -90
- package/esm/tree-view.js +38 -41
- package/esm/validation-group.js +15 -22
- package/esm/validation-summary.js +29 -32
- package/esm/validator.js +52 -58
- package/esm/vector-map.js +101 -105
- package/package.json +50 -51
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 24.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 24.1.3
|
|
4
|
+
* Build date: Tue Jun 11 2024
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -12,41 +12,16 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
"use strict";
|
|
15
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
16
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
17
|
-
if (!m) return o;
|
|
18
|
-
var i = m.call(o), r, ar = [], e;
|
|
19
|
-
try {
|
|
20
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
21
|
-
}
|
|
22
|
-
catch (error) { e = { error: error }; }
|
|
23
|
-
finally {
|
|
24
|
-
try {
|
|
25
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
26
|
-
}
|
|
27
|
-
finally { if (e) throw e.error; }
|
|
28
|
-
}
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
32
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
33
|
-
if (ar || !(i in from)) {
|
|
34
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
35
|
-
ar[i] = from[i];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
39
|
-
};
|
|
40
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
16
|
exports.OptionsManager = exports.scheduleGuards = exports.unscheduleGuards = void 0;
|
|
42
17
|
/* eslint-disable no-restricted-globals */
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
18
|
+
const comparer_1 = require("./configuration/comparer");
|
|
19
|
+
const tree_1 = require("./configuration/tree");
|
|
20
|
+
const utils_1 = require("./configuration/utils");
|
|
21
|
+
const helpers_1 = require("./helpers");
|
|
22
|
+
const optionsManagers = new Set();
|
|
23
|
+
let guardTimeoutHandler = -1;
|
|
24
|
+
let innerGuardTimeoutHandler = -1;
|
|
50
25
|
function unscheduleGuards() {
|
|
51
26
|
clearTimeout(guardTimeoutHandler);
|
|
52
27
|
clearTimeout(innerGuardTimeoutHandler);
|
|
@@ -54,85 +29,79 @@ function unscheduleGuards() {
|
|
|
54
29
|
exports.unscheduleGuards = unscheduleGuards;
|
|
55
30
|
function scheduleGuards() {
|
|
56
31
|
unscheduleGuards();
|
|
57
|
-
guardTimeoutHandler = window.setTimeout(
|
|
58
|
-
innerGuardTimeoutHandler = window.setTimeout(
|
|
59
|
-
optionsManagers.forEach(
|
|
32
|
+
guardTimeoutHandler = window.setTimeout(() => {
|
|
33
|
+
innerGuardTimeoutHandler = window.setTimeout(() => {
|
|
34
|
+
optionsManagers.forEach((optionManager) => optionManager.execGuards());
|
|
60
35
|
});
|
|
61
36
|
});
|
|
62
37
|
}
|
|
63
38
|
exports.scheduleGuards = scheduleGuards;
|
|
64
|
-
|
|
65
|
-
|
|
39
|
+
class OptionsManager {
|
|
40
|
+
constructor() {
|
|
66
41
|
this.guards = {};
|
|
67
42
|
this.isUpdating = false;
|
|
68
43
|
this.onOptionChanged = this.onOptionChanged.bind(this);
|
|
69
44
|
this.wrapOptionValue = this.wrapOptionValue.bind(this);
|
|
70
45
|
}
|
|
71
|
-
|
|
46
|
+
setInstance(instance, config, subscribableOptions, independentEvents) {
|
|
72
47
|
this.instance = instance;
|
|
73
48
|
this.currentConfig = config;
|
|
74
49
|
this.subscribableOptions = new Set(subscribableOptions);
|
|
75
50
|
this.independentEvents = new Set(independentEvents);
|
|
76
51
|
optionsManagers.add(this);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
options[key] = _this.wrapOptionValue(key, config.options[key]);
|
|
52
|
+
}
|
|
53
|
+
getInitialOptions(rootNode) {
|
|
54
|
+
const config = (0, tree_1.buildConfig)(rootNode, false);
|
|
55
|
+
const options = {};
|
|
56
|
+
Object.keys(config.options).forEach((key) => {
|
|
57
|
+
options[key] = this.wrapOptionValue(key, config.options[key]);
|
|
84
58
|
});
|
|
85
59
|
return options;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
60
|
+
}
|
|
61
|
+
getTemplateOptions(rootNode) {
|
|
62
|
+
const config = (0, tree_1.buildConfig)(rootNode, false);
|
|
89
63
|
return config.templates;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var optionChangedHandler = function (_a) {
|
|
95
|
-
var value = _a.value, fullName = _a.fullName;
|
|
64
|
+
}
|
|
65
|
+
update(config, dxtemplates) {
|
|
66
|
+
const changedOptions = [];
|
|
67
|
+
const optionChangedHandler = ({ value, fullName }) => {
|
|
96
68
|
changedOptions.push([fullName, value]);
|
|
97
69
|
};
|
|
98
70
|
this.instance.on('optionChanged', optionChangedHandler);
|
|
99
|
-
|
|
71
|
+
const changes = (0, comparer_1.getChanges)(config, this.currentConfig);
|
|
100
72
|
if (!changes.options && !changes.templates && !changes.removedOptions.length) {
|
|
101
73
|
return;
|
|
102
74
|
}
|
|
103
75
|
this.instance.beginUpdate();
|
|
104
76
|
this.isUpdating = true;
|
|
105
|
-
changes.removedOptions.forEach(
|
|
106
|
-
|
|
77
|
+
changes.removedOptions.forEach((optionName) => {
|
|
78
|
+
this.resetOption(optionName);
|
|
107
79
|
});
|
|
108
80
|
if (Object.keys(dxtemplates).length > 0) {
|
|
109
81
|
this.setValue('integrationOptions', {
|
|
110
82
|
templates: dxtemplates,
|
|
111
83
|
});
|
|
112
84
|
}
|
|
113
|
-
Object.keys(changes.options).forEach(
|
|
114
|
-
|
|
85
|
+
Object.keys(changes.options).forEach((key) => {
|
|
86
|
+
this.setValue(key, changes.options[key]);
|
|
115
87
|
});
|
|
116
88
|
this.isUpdating = false;
|
|
117
89
|
this.instance.off('optionChanged', optionChangedHandler);
|
|
118
90
|
this.currentConfig = config;
|
|
119
|
-
changedOptions.forEach(
|
|
120
|
-
|
|
121
|
-
var currentPropValue = config.options[name];
|
|
91
|
+
changedOptions.forEach(([name, value]) => {
|
|
92
|
+
const currentPropValue = config.options[name];
|
|
122
93
|
if (Object.prototype.hasOwnProperty.call(config.options, name)
|
|
123
94
|
&& currentPropValue !== value) {
|
|
124
|
-
|
|
95
|
+
this.setValue(name, currentPropValue);
|
|
125
96
|
}
|
|
126
97
|
});
|
|
127
98
|
this.instance.endUpdate();
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
var _this = this;
|
|
131
|
-
var _a;
|
|
99
|
+
}
|
|
100
|
+
onOptionChanged(e) {
|
|
132
101
|
if (this.isUpdating) {
|
|
133
102
|
return;
|
|
134
103
|
}
|
|
135
|
-
|
|
104
|
+
let valueDescriptor = (0, tree_1.findValue)(this.currentConfig, e.fullName.split('.'));
|
|
136
105
|
if (!valueDescriptor || valueDescriptor.value !== e.value) {
|
|
137
106
|
this.callOptionChangeHandler(e.fullName, e.value);
|
|
138
107
|
}
|
|
@@ -140,27 +109,26 @@ var OptionsManager = /** @class */ (function () {
|
|
|
140
109
|
if (!valueDescriptor) {
|
|
141
110
|
return;
|
|
142
111
|
}
|
|
143
|
-
|
|
112
|
+
const { value, type } = valueDescriptor;
|
|
144
113
|
if (value instanceof Array && type === tree_1.ValueType.Array) {
|
|
145
|
-
for (
|
|
146
|
-
if (value[i] !==
|
|
114
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
115
|
+
if (value[i] !== e.value?.[i]) {
|
|
147
116
|
this.addGuard(e.fullName, value);
|
|
148
117
|
return;
|
|
149
118
|
}
|
|
150
119
|
}
|
|
151
120
|
}
|
|
152
121
|
else if (type === tree_1.ValueType.Complex && value instanceof Object) {
|
|
153
|
-
Object.keys(value).forEach(
|
|
154
|
-
|
|
155
|
-
if (value[key] === ((_a = e.value) === null || _a === void 0 ? void 0 : _a[key])) {
|
|
122
|
+
Object.keys(value).forEach((key) => {
|
|
123
|
+
if (value[key] === e.value?.[key]) {
|
|
156
124
|
return;
|
|
157
125
|
}
|
|
158
|
-
|
|
126
|
+
this.addGuard((0, utils_1.mergeNameParts)(e.fullName, key), value[key]);
|
|
159
127
|
});
|
|
160
128
|
}
|
|
161
129
|
else {
|
|
162
|
-
|
|
163
|
-
|
|
130
|
+
const valuesAreEqual = value === e.value;
|
|
131
|
+
const valuesAreEqualObjects = !valuesAreEqual
|
|
164
132
|
&& value instanceof Object
|
|
165
133
|
&& e.value instanceof Object
|
|
166
134
|
&& (0, utils_1.shallowEquals)(value, e.value);
|
|
@@ -169,88 +137,77 @@ var OptionsManager = /** @class */ (function () {
|
|
|
169
137
|
}
|
|
170
138
|
this.addGuard(e.fullName, value);
|
|
171
139
|
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
enumerable: false,
|
|
178
|
-
configurable: true
|
|
179
|
-
});
|
|
180
|
-
OptionsManager.prototype.dispose = function () {
|
|
181
|
-
var _this = this;
|
|
140
|
+
}
|
|
141
|
+
get isInstanceSet() {
|
|
142
|
+
return !!this.instance;
|
|
143
|
+
}
|
|
144
|
+
dispose() {
|
|
182
145
|
optionsManagers.delete(this);
|
|
183
|
-
Object.keys(this.guards).forEach(
|
|
184
|
-
delete
|
|
146
|
+
Object.keys(this.guards).forEach((optionName) => {
|
|
147
|
+
delete this.guards[optionName];
|
|
185
148
|
});
|
|
186
149
|
this.instance = null;
|
|
187
|
-
}
|
|
188
|
-
|
|
150
|
+
}
|
|
151
|
+
isOptionSubscribable(optionName) {
|
|
189
152
|
return this.subscribableOptions.has(optionName);
|
|
190
|
-
}
|
|
191
|
-
|
|
153
|
+
}
|
|
154
|
+
isIndependentEvent(optionName) {
|
|
192
155
|
return this.independentEvents.has(optionName);
|
|
193
|
-
}
|
|
194
|
-
|
|
156
|
+
}
|
|
157
|
+
callOptionChangeHandler(optionName, optionValue) {
|
|
195
158
|
if (!this.isOptionSubscribable(optionName)) {
|
|
196
159
|
return;
|
|
197
160
|
}
|
|
198
|
-
|
|
199
|
-
|
|
161
|
+
const parts = optionName.split('.');
|
|
162
|
+
const propName = parts[parts.length - 1];
|
|
200
163
|
if (propName.startsWith('on')) {
|
|
201
164
|
return;
|
|
202
165
|
}
|
|
203
|
-
|
|
166
|
+
const eventName = `on${(0, helpers_1.capitalizeFirstLetter)(propName)}Change`;
|
|
204
167
|
parts[parts.length - 1] = eventName;
|
|
205
|
-
|
|
168
|
+
const changeEvent = (0, tree_1.findValue)(this.currentConfig, parts);
|
|
206
169
|
if (!changeEvent) {
|
|
207
170
|
return;
|
|
208
171
|
}
|
|
209
172
|
if (typeof changeEvent.value !== 'function') {
|
|
210
|
-
throw new Error(
|
|
173
|
+
throw new Error(`Invalid value for the ${eventName} property.
|
|
174
|
+
${eventName} must be a function.`);
|
|
211
175
|
}
|
|
212
176
|
changeEvent.value(optionValue);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
var _this = this;
|
|
177
|
+
}
|
|
178
|
+
wrapOptionValue(name, value) {
|
|
216
179
|
if (name.substr(0, 2) === 'on' && typeof value === 'function') {
|
|
217
|
-
return
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
args[_i] = arguments[_i];
|
|
221
|
-
}
|
|
222
|
-
if (!_this.isUpdating || _this.isIndependentEvent(name)) {
|
|
223
|
-
value.apply(void 0, __spreadArray([], __read(args), false));
|
|
180
|
+
return (...args) => {
|
|
181
|
+
if (!this.isUpdating || this.isIndependentEvent(name)) {
|
|
182
|
+
value(...args);
|
|
224
183
|
}
|
|
225
184
|
};
|
|
226
185
|
}
|
|
227
186
|
return value;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
var _this = this;
|
|
187
|
+
}
|
|
188
|
+
addGuard(optionName, optionValue) {
|
|
231
189
|
if (this.guards[optionName] !== undefined) {
|
|
232
190
|
return;
|
|
233
191
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
delete
|
|
192
|
+
const handler = () => {
|
|
193
|
+
this.setValue(optionName, optionValue);
|
|
194
|
+
delete this.guards[optionName];
|
|
237
195
|
};
|
|
238
196
|
this.guards[optionName] = handler;
|
|
239
197
|
scheduleGuards();
|
|
240
|
-
}
|
|
241
|
-
|
|
198
|
+
}
|
|
199
|
+
execGuards() {
|
|
242
200
|
Object.values(this.guards)
|
|
243
|
-
.forEach(
|
|
244
|
-
}
|
|
245
|
-
|
|
201
|
+
.forEach((handler) => handler());
|
|
202
|
+
}
|
|
203
|
+
resetOption(name) {
|
|
246
204
|
this.instance.resetOption(name);
|
|
247
|
-
}
|
|
248
|
-
|
|
205
|
+
}
|
|
206
|
+
setValue(name, value) {
|
|
249
207
|
if (this.guards[name]) {
|
|
250
208
|
delete this.guards[name];
|
|
251
209
|
}
|
|
252
210
|
this.instance.option(name, this.wrapOptionValue(name, value));
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
}());
|
|
211
|
+
}
|
|
212
|
+
}
|
|
256
213
|
exports.OptionsManager = OptionsManager;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 24.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 24.1.3
|
|
4
|
+
* Build date: Tue Jun 11 2024
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -12,17 +12,6 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
"use strict";
|
|
15
|
-
var __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
15
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
16
|
if (k2 === undefined) k2 = k;
|
|
28
17
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -46,34 +35,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
46
35
|
__setModuleDefault(result, mod);
|
|
47
36
|
return result;
|
|
48
37
|
};
|
|
49
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
50
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
51
|
-
if (!m) return o;
|
|
52
|
-
var i = m.call(o), r, ar = [], e;
|
|
53
|
-
try {
|
|
54
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
55
|
-
}
|
|
56
|
-
catch (error) { e = { error: error }; }
|
|
57
|
-
finally {
|
|
58
|
-
try {
|
|
59
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
60
|
-
}
|
|
61
|
-
finally { if (e) throw e.error; }
|
|
62
|
-
}
|
|
63
|
-
return ar;
|
|
64
|
-
};
|
|
65
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
39
|
exports.TemplateManager = void 0;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
40
|
+
const React = __importStar(require("react"));
|
|
41
|
+
const events = __importStar(require("devextreme/events"));
|
|
42
|
+
const react_1 = require("react");
|
|
43
|
+
const template_wrapper_1 = require("./template-wrapper");
|
|
44
|
+
const helpers_1 = require("./helpers");
|
|
45
|
+
const component_base_1 = require("./component-base");
|
|
46
|
+
const config_1 = require("./config");
|
|
74
47
|
function normalizeProps(props) {
|
|
75
48
|
if ((0, config_1.getOption)('useLegacyTemplateEngine')) {
|
|
76
|
-
|
|
49
|
+
const model = props.data;
|
|
77
50
|
if (model && Object.prototype.hasOwnProperty.call(model, 'key')) {
|
|
78
51
|
model.dxkey = model.key;
|
|
79
52
|
}
|
|
@@ -81,32 +54,30 @@ function normalizeProps(props) {
|
|
|
81
54
|
}
|
|
82
55
|
return props;
|
|
83
56
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
var subscribeOnRemoval = (0, react_1.useCallback)(function (container, onRemoved) {
|
|
57
|
+
const TemplateManager = ({ init }) => {
|
|
58
|
+
const [instantiationModels, setInstantiationModels] = (0, react_1.useState)(new helpers_1.TemplateInstantiationModels());
|
|
59
|
+
const [updateContext, setUpdateContext] = (0, react_1.useState)();
|
|
60
|
+
const widgetId = (0, react_1.useRef)('');
|
|
61
|
+
const templateFactories = (0, react_1.useRef)({});
|
|
62
|
+
const subscribeOnRemoval = (0, react_1.useCallback)((container, onRemoved) => {
|
|
91
63
|
if (container.nodeType === Node.ELEMENT_NODE) {
|
|
92
64
|
events.on(container, component_base_1.DX_REMOVE_EVENT, onRemoved);
|
|
93
65
|
}
|
|
94
66
|
}, []);
|
|
95
|
-
|
|
67
|
+
const unsubscribeOnRemoval = (0, react_1.useCallback)((container, onRemoved) => {
|
|
96
68
|
if (container.nodeType === Node.ELEMENT_NODE) {
|
|
97
69
|
events.off(container, component_base_1.DX_REMOVE_EVENT, onRemoved);
|
|
98
70
|
}
|
|
99
71
|
}, []);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
var template = currentInstantiationModels.get(key);
|
|
72
|
+
const unwrapElement = (0, react_1.useCallback)((element) => (element.get ? element.get(0) : element), []);
|
|
73
|
+
const createMapKey = (0, react_1.useCallback)((key1, key2) => ({ key1, key2 }), []);
|
|
74
|
+
const getRandomId = (0, react_1.useCallback)(() => `${(0, helpers_1.generateID)()}${(0, helpers_1.generateID)()}${(0, helpers_1.generateID)()}`, []);
|
|
75
|
+
const getRenderFunc = (0, react_1.useCallback)((templateKey) => ({ model: data, index, container, onRendered, }) => {
|
|
76
|
+
const containerElement = unwrapElement(container);
|
|
77
|
+
const key = createMapKey(data, containerElement);
|
|
78
|
+
const onRemoved = () => {
|
|
79
|
+
setInstantiationModels((currentInstantiationModels) => {
|
|
80
|
+
const template = currentInstantiationModels.get(key);
|
|
110
81
|
if (template) {
|
|
111
82
|
currentInstantiationModels.delete(key);
|
|
112
83
|
return currentInstantiationModels.shallowCopy();
|
|
@@ -114,49 +85,48 @@ var TemplateManager = function (_a) {
|
|
|
114
85
|
return currentInstantiationModels;
|
|
115
86
|
});
|
|
116
87
|
};
|
|
117
|
-
|
|
118
|
-
setInstantiationModels(
|
|
88
|
+
const hostWidgetId = widgetId.current;
|
|
89
|
+
setInstantiationModels((currentInstantiationModels) => {
|
|
119
90
|
currentInstantiationModels.set(key, {
|
|
120
|
-
templateKey
|
|
121
|
-
index
|
|
91
|
+
templateKey,
|
|
92
|
+
index,
|
|
122
93
|
componentKey: getRandomId(),
|
|
123
|
-
onRendered:
|
|
94
|
+
onRendered: () => {
|
|
124
95
|
unsubscribeOnRemoval(containerElement, onRemoved);
|
|
125
96
|
if (hostWidgetId === widgetId.current) {
|
|
126
|
-
onRendered
|
|
97
|
+
onRendered?.();
|
|
127
98
|
}
|
|
128
99
|
},
|
|
129
|
-
onRemoved
|
|
100
|
+
onRemoved,
|
|
130
101
|
});
|
|
131
102
|
return currentInstantiationModels.shallowCopy();
|
|
132
103
|
});
|
|
133
104
|
return containerElement;
|
|
134
|
-
}
|
|
135
|
-
(0, react_1.useMemo)(
|
|
105
|
+
}, [unsubscribeOnRemoval, createMapKey]);
|
|
106
|
+
(0, react_1.useMemo)(() => {
|
|
136
107
|
function getTemplateFunction(template) {
|
|
137
108
|
switch (template.type) {
|
|
138
|
-
case 'children': return
|
|
139
|
-
case 'render': return
|
|
109
|
+
case 'children': return () => template.content;
|
|
110
|
+
case 'render': return (props) => {
|
|
140
111
|
normalizeProps(props);
|
|
141
112
|
return template.content(props.data, props.index);
|
|
142
113
|
};
|
|
143
|
-
case 'component': return
|
|
114
|
+
case 'component': return (props) => {
|
|
144
115
|
props = normalizeProps(props);
|
|
145
116
|
return React.createElement.bind(null, template.content)(props);
|
|
146
117
|
};
|
|
147
|
-
default: return
|
|
118
|
+
default: return () => React.createElement(React.Fragment);
|
|
148
119
|
}
|
|
149
120
|
}
|
|
150
121
|
function createDXTemplates(templateOptions) {
|
|
151
|
-
|
|
152
|
-
.reduce(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}, {});
|
|
122
|
+
const factories = Object.entries(templateOptions)
|
|
123
|
+
.reduce((res, [key, template]) => ({
|
|
124
|
+
...res,
|
|
125
|
+
[key]: getTemplateFunction(template),
|
|
126
|
+
}), {});
|
|
157
127
|
templateFactories.current = factories;
|
|
158
|
-
|
|
159
|
-
.reduce(
|
|
128
|
+
const dxTemplates = Object.keys(factories)
|
|
129
|
+
.reduce((templates, templateKey) => {
|
|
160
130
|
templates[templateKey] = { render: getRenderFunc(templateKey) };
|
|
161
131
|
return templates;
|
|
162
132
|
}, {});
|
|
@@ -167,11 +137,11 @@ var TemplateManager = function (_a) {
|
|
|
167
137
|
setInstantiationModels(new helpers_1.TemplateInstantiationModels());
|
|
168
138
|
}
|
|
169
139
|
function updateTemplates(onUpdated) {
|
|
170
|
-
setUpdateContext({ onUpdated
|
|
140
|
+
setUpdateContext({ onUpdated });
|
|
171
141
|
}
|
|
172
|
-
init({ createDXTemplates
|
|
142
|
+
init({ createDXTemplates, clearInstantiationModels, updateTemplates });
|
|
173
143
|
}, [init, getRenderFunc]);
|
|
174
|
-
(0, react_1.useEffect)(
|
|
144
|
+
(0, react_1.useEffect)(() => {
|
|
175
145
|
if (updateContext) {
|
|
176
146
|
updateContext.onUpdated();
|
|
177
147
|
}
|
|
@@ -179,10 +149,9 @@ var TemplateManager = function (_a) {
|
|
|
179
149
|
if (instantiationModels.empty) {
|
|
180
150
|
return null;
|
|
181
151
|
}
|
|
182
|
-
return (React.createElement(React.Fragment, null, Array.from(instantiationModels).map(
|
|
183
|
-
var _b = __read(_a, 2), _c = _b[0], data = _c.key1, container = _c.key2, _d = _b[1], index = _d.index, templateKey = _d.templateKey, componentKey = _d.componentKey, onRendered = _d.onRendered, onRemoved = _d.onRemoved;
|
|
152
|
+
return (React.createElement(React.Fragment, null, Array.from(instantiationModels).map(([{ key1: data, key2: container }, { index, templateKey, componentKey, onRendered, onRemoved, }]) => {
|
|
184
153
|
subscribeOnRemoval(container, onRemoved);
|
|
185
|
-
|
|
154
|
+
const factory = templateFactories.current[templateKey];
|
|
186
155
|
if (factory) {
|
|
187
156
|
return React.createElement(template_wrapper_1.TemplateWrapper, { key: componentKey, templateFactory: factory, data: data, index: index, container: container, onRemoved: onRemoved, onRendered: onRendered });
|
|
188
157
|
}
|