handsontable 12.3.3 → 12.4.0-next-ddbea0c-20230512
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/cell/coords.js +13 -16
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -16
- package/3rdparty/walkontable/src/cell/range.js +25 -29
- package/3rdparty/walkontable/src/cell/range.mjs +24 -28
- package/3rdparty/walkontable/src/core/_base.js +16 -20
- package/3rdparty/walkontable/src/core/_base.mjs +16 -20
- package/3rdparty/walkontable/src/event.js +4 -0
- package/3rdparty/walkontable/src/event.mjs +4 -0
- package/3rdparty/walkontable/src/overlay/_base.js +6 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/top.js +6 -7
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- package/3rdparty/walkontable/src/table.js +22 -26
- package/3rdparty/walkontable/src/table.mjs +22 -26
- package/CHANGELOG.md +14 -0
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/core.js +23 -6
- package/core.mjs +23 -6
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/metaSchema.js +9 -7
- package/dataMap/metaManager/metaSchema.mjs +9 -7
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7364 -5992
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +256 -234
- package/dist/handsontable.js +4326 -3275
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/editors/autocompleteEditor/autocompleteEditor.js +8 -9
- package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.js +16 -6
- package/pluginHooks.mjs +15 -3
- package/plugins/autoRowSize/autoRowSize.js +2 -2
- package/plugins/autoRowSize/autoRowSize.mjs +2 -2
- package/plugins/base/base.js +9 -10
- package/plugins/base/base.mjs +9 -10
- package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
- package/plugins/copyPaste/copyPaste.js +92 -16
- package/plugins/copyPaste/copyPaste.mjs +92 -16
- package/plugins/copyPaste/copyableRanges.js +39 -39
- package/plugins/copyPaste/copyableRanges.mjs +32 -32
- package/plugins/customBorders/customBorders.d.ts +2 -0
- package/plugins/customBorders/customBorders.js +6 -7
- package/plugins/customBorders/customBorders.mjs +6 -7
- package/plugins/filters/filters.js +5 -0
- package/plugins/filters/filters.mjs +5 -0
- package/plugins/formulas/engine/register.js +9 -0
- package/plugins/formulas/engine/register.mjs +13 -4
- package/plugins/formulas/engine/settings.js +18 -3
- package/plugins/formulas/engine/settings.mjs +16 -3
- package/plugins/formulas/formulas.js +308 -162
- package/plugins/formulas/formulas.mjs +308 -163
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/formulas/utils.js +81 -0
- package/plugins/formulas/utils.mjs +74 -0
- package/plugins/hiddenColumns/hiddenColumns.js +12 -7
- package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
- package/plugins/hiddenRows/hiddenRows.js +12 -7
- package/plugins/hiddenRows/hiddenRows.mjs +12 -7
- package/plugins/manualRowMove/manualRowMove.js +26 -11
- package/plugins/manualRowMove/manualRowMove.mjs +27 -12
- package/plugins/nestedHeaders/nestedHeaders.js +26 -7
- package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
- package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
- package/plugins/nestedHeaders/stateManager/index.js +21 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/registry.js +3 -1
- package/plugins/undoRedo/undoRedo.js +0 -1
- package/plugins/undoRedo/undoRedo.mjs +0 -1
- package/selection/highlight/visualSelection.js +5 -6
- package/selection/highlight/visualSelection.mjs +5 -6
- package/tableView.js +62 -72
- package/tableView.mjs +62 -72
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +8 -1
- package/translations/changesObservable/observer.mjs +7 -0
- package/translations/indexMapper.js +21 -0
- package/translations/indexMapper.mjs +21 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
- package/utils/dataStructures/tree.js +15 -18
- package/utils/dataStructures/tree.mjs +15 -18
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
@@ -120,6 +120,12 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
120
120
|
args[_key] = arguments[_key];
|
121
121
|
}
|
122
122
|
_this = _super.call.apply(_super, [this].concat(args));
|
123
|
+
/**
|
124
|
+
* Saved borders.
|
125
|
+
*
|
126
|
+
* @private
|
127
|
+
* @type {Array}
|
128
|
+
*/
|
123
129
|
_defineProperty(_assertThisInitialized(_this), "savedBorders", []);
|
124
130
|
return _this;
|
125
131
|
}
|
@@ -870,13 +876,6 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
870
876
|
get: function get() {
|
871
877
|
return PLUGIN_PRIORITY;
|
872
878
|
}
|
873
|
-
|
874
|
-
/**
|
875
|
-
* Saved borders.
|
876
|
-
*
|
877
|
-
* @private
|
878
|
-
* @type {Array}
|
879
|
-
*/
|
880
879
|
}]);
|
881
880
|
return CustomBorders;
|
882
881
|
}(BasePlugin);
|
@@ -329,6 +329,11 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
329
329
|
* * `between` - Between
|
330
330
|
* * `by_value` - By value
|
331
331
|
* * `contains` - Contains
|
332
|
+
* * `date_after` - After a date
|
333
|
+
* * `date_before` - Before a date
|
334
|
+
* * `date_today` - Today
|
335
|
+
* * `date_tomorrow` - Tomorrow
|
336
|
+
* * `date_yesterday` - Yesterday
|
332
337
|
* * `empty` - Empty
|
333
338
|
* * `ends_with` - Ends with
|
334
339
|
* * `eq` - Equal
|
@@ -319,6 +319,11 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
319
319
|
* * `between` - Between
|
320
320
|
* * `by_value` - By value
|
321
321
|
* * `contains` - Contains
|
322
|
+
* * `date_after` - After a date
|
323
|
+
* * `date_before` - Before a date
|
324
|
+
* * `date_today` - Today
|
325
|
+
* * `date_tomorrow` - Tomorrow
|
326
|
+
* * `date_yesterday` - Yesterday
|
322
327
|
* * `empty` - Empty
|
323
328
|
* * `ends_with` - Ends with
|
324
329
|
* * `eq` - Equal
|
@@ -3,6 +3,8 @@
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
4
4
|
require("core-js/modules/es.symbol.description.js");
|
5
5
|
require("core-js/modules/es.symbol.iterator.js");
|
6
|
+
require("core-js/modules/es.array.slice.js");
|
7
|
+
require("core-js/modules/es.object.freeze.js");
|
6
8
|
exports.__esModule = true;
|
7
9
|
exports.getRegisteredHotInstances = getRegisteredHotInstances;
|
8
10
|
exports.registerCustomFunctions = registerCustomFunctions;
|
@@ -27,10 +29,14 @@ require("core-js/modules/web.dom-collections.for-each.js");
|
|
27
29
|
require("core-js/modules/es.function.name.js");
|
28
30
|
var _staticRegister = _interopRequireDefault(require("../../../utils/staticRegister"));
|
29
31
|
var _mixed = require("../../../helpers/mixed");
|
32
|
+
var _templateLiteralTag = require("../../../helpers/templateLiteralTag");
|
30
33
|
var _console = require("../../../helpers/console");
|
34
|
+
var _object = require("../../../helpers/object");
|
31
35
|
var _formulas = require("../formulas");
|
32
36
|
var _settings = require("./settings");
|
37
|
+
var _templateObject;
|
33
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
39
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
34
40
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
35
41
|
/**
|
36
42
|
* Prepares and returns the collection for the engine relationship with the HoT instances.
|
@@ -99,6 +105,9 @@ function setupEngine(hotInstance) {
|
|
99
105
|
licenseKey: _settings.DEFAULT_LICENSE_KEY
|
100
106
|
});
|
101
107
|
}
|
108
|
+
if (engineConfigItem.getConfig().leapYear1900 !== _settings.DEFAULT_SETTINGS.leapYear1900 || (0, _object.isObjectEqual)(engineConfigItem.getConfig().nullDate, _settings.DEFAULT_SETTINGS.nullDate) === false) {
|
109
|
+
(0, _console.warn)((0, _templateLiteralTag.toSingleLine)(_templateObject || (_templateObject = _taggedTemplateLiteral(["If you use HyperFormula with Handsontable, keep the default `leapYear1900` and `nullDate` \n settings. Otherwise, HyperFormula's dates may not sync correctly with Handsontable's dates."], ["If you use HyperFormula with Handsontable, keep the default \\`leapYear1900\\` and \\`nullDate\\` \n settings. Otherwise, HyperFormula's dates may not sync correctly with Handsontable's dates."]))));
|
110
|
+
}
|
102
111
|
return engineConfigItem;
|
103
112
|
}
|
104
113
|
return null;
|
@@ -1,3 +1,10 @@
|
|
1
|
+
import "core-js/modules/es.symbol.js";
|
2
|
+
import "core-js/modules/es.symbol.description.js";
|
3
|
+
import "core-js/modules/es.symbol.iterator.js";
|
4
|
+
import "core-js/modules/es.array.slice.js";
|
5
|
+
import "core-js/modules/es.object.freeze.js";
|
6
|
+
var _templateObject;
|
7
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
1
8
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
9
|
import "core-js/modules/es.array.iterator.js";
|
3
10
|
import "core-js/modules/es.map.js";
|
@@ -12,14 +19,13 @@ import "core-js/modules/es.array.splice.js";
|
|
12
19
|
import "core-js/modules/es.array.index-of.js";
|
13
20
|
import "core-js/modules/web.dom-collections.for-each.js";
|
14
21
|
import "core-js/modules/es.function.name.js";
|
15
|
-
import "core-js/modules/es.symbol.js";
|
16
|
-
import "core-js/modules/es.symbol.description.js";
|
17
|
-
import "core-js/modules/es.symbol.iterator.js";
|
18
22
|
import staticRegister from "../../../utils/staticRegister.mjs";
|
19
23
|
import { isUndefined } from "../../../helpers/mixed.mjs";
|
24
|
+
import { toSingleLine } from "../../../helpers/templateLiteralTag.mjs";
|
20
25
|
import { warn } from "../../../helpers/console.mjs";
|
26
|
+
import { isObjectEqual } from "../../../helpers/object.mjs";
|
21
27
|
import { PLUGIN_KEY } from "../formulas.mjs";
|
22
|
-
import { DEFAULT_LICENSE_KEY, getEngineSettingsWithDefaultsAndOverrides } from "./settings.mjs";
|
28
|
+
import { DEFAULT_LICENSE_KEY, DEFAULT_SETTINGS, getEngineSettingsWithDefaultsAndOverrides } from "./settings.mjs";
|
23
29
|
/**
|
24
30
|
* Prepares and returns the collection for the engine relationship with the HoT instances.
|
25
31
|
*
|
@@ -87,6 +93,9 @@ export function setupEngine(hotInstance) {
|
|
87
93
|
licenseKey: DEFAULT_LICENSE_KEY
|
88
94
|
});
|
89
95
|
}
|
96
|
+
if (engineConfigItem.getConfig().leapYear1900 !== DEFAULT_SETTINGS.leapYear1900 || isObjectEqual(engineConfigItem.getConfig().nullDate, DEFAULT_SETTINGS.nullDate) === false) {
|
97
|
+
warn(toSingleLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["If you use HyperFormula with Handsontable, keep the default `leapYear1900` and `nullDate` \n settings. Otherwise, HyperFormula's dates may not sync correctly with Handsontable's dates."], ["If you use HyperFormula with Handsontable, keep the default \\`leapYear1900\\` and \\`nullDate\\` \n settings. Otherwise, HyperFormula's dates may not sync correctly with Handsontable's dates."]))));
|
98
|
+
}
|
90
99
|
return engineConfigItem;
|
91
100
|
}
|
92
101
|
return null;
|
@@ -15,10 +15,11 @@ require("core-js/modules/es.string.iterator.js");
|
|
15
15
|
require("core-js/modules/web.dom-collections.iterator.js");
|
16
16
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
17
17
|
exports.__esModule = true;
|
18
|
-
exports.DEFAULT_LICENSE_KEY = void 0;
|
18
|
+
exports.DEFAULT_SETTINGS = exports.DEFAULT_LICENSE_KEY = void 0;
|
19
19
|
exports.getEngineSettingsOverrides = getEngineSettingsOverrides;
|
20
20
|
exports.getEngineSettingsWithDefaultsAndOverrides = getEngineSettingsWithDefaultsAndOverrides;
|
21
21
|
exports.getEngineSettingsWithOverrides = getEngineSettingsWithOverrides;
|
22
|
+
exports.haveEngineSettingsChanged = haveEngineSettingsChanged;
|
22
23
|
require("core-js/modules/es.array.reduce.js");
|
23
24
|
require("core-js/modules/es.object.to-string.js");
|
24
25
|
require("core-js/modules/es.object.keys.js");
|
@@ -39,11 +40,11 @@ var DEFAULT_SETTINGS = {
|
|
39
40
|
precisionEpsilon: 1e-13,
|
40
41
|
precisionRounding: 14,
|
41
42
|
smartRounding: true,
|
42
|
-
leapYear1900:
|
43
|
+
leapYear1900: false,
|
43
44
|
nullDate: {
|
44
45
|
year: 1899,
|
45
46
|
month: 12,
|
46
|
-
day:
|
47
|
+
day: 30
|
47
48
|
},
|
48
49
|
nullYear: 30,
|
49
50
|
dateFormats: ['DD/MM/YYYY', 'DD/MM/YY'],
|
@@ -63,6 +64,7 @@ var DEFAULT_SETTINGS = {
|
|
63
64
|
* @param {object} hotSettings Handsontable settings object.
|
64
65
|
* @returns {object} Object containing the overriding options.
|
65
66
|
*/
|
67
|
+
exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
|
66
68
|
function getEngineSettingsOverrides(hotSettings) {
|
67
69
|
var _hotSettings$PLUGIN_K, _hotSettings$PLUGIN_K2;
|
68
70
|
return {
|
@@ -123,4 +125,17 @@ function getEngineSettingsWithOverrides(hotSettings) {
|
|
123
125
|
var userSettings = cleanEngineSettings(pluginSettings !== null && pluginSettings !== void 0 && (_pluginSettings$engin2 = pluginSettings.engine) !== null && _pluginSettings$engin2 !== void 0 && _pluginSettings$engin2.hyperformula ? pluginSettings.engine : {});
|
124
126
|
var overrides = getEngineSettingsOverrides(hotSettings);
|
125
127
|
return _objectSpread(_objectSpread({}, userSettings), overrides);
|
128
|
+
}
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Check if the new settings are defined and are different from the ones currently used by the engine.
|
132
|
+
*
|
133
|
+
* @param {object} currentEngineSettings Currently used engine settings.
|
134
|
+
* @param {object} newEngineSettings New engine settings.
|
135
|
+
* @returns {boolean}
|
136
|
+
*/
|
137
|
+
function haveEngineSettingsChanged(currentEngineSettings, newEngineSettings) {
|
138
|
+
return Object.keys(newEngineSettings).some(function (settingOption) {
|
139
|
+
return newEngineSettings[settingOption] !== void 0 && newEngineSettings[settingOption] !== currentEngineSettings[settingOption];
|
140
|
+
});
|
126
141
|
}
|
@@ -22,7 +22,7 @@ import "core-js/modules/es.string.iterator.js";
|
|
22
22
|
import "core-js/modules/web.dom-collections.iterator.js";
|
23
23
|
import { PLUGIN_KEY } from "../formulas.mjs";
|
24
24
|
export var DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
|
25
|
-
var DEFAULT_SETTINGS = {
|
25
|
+
export var DEFAULT_SETTINGS = {
|
26
26
|
licenseKey: DEFAULT_LICENSE_KEY,
|
27
27
|
useArrayArithmetic: true,
|
28
28
|
useColumnIndex: false,
|
@@ -31,11 +31,11 @@ var DEFAULT_SETTINGS = {
|
|
31
31
|
precisionEpsilon: 1e-13,
|
32
32
|
precisionRounding: 14,
|
33
33
|
smartRounding: true,
|
34
|
-
leapYear1900:
|
34
|
+
leapYear1900: false,
|
35
35
|
nullDate: {
|
36
36
|
year: 1899,
|
37
37
|
month: 12,
|
38
|
-
day:
|
38
|
+
day: 30
|
39
39
|
},
|
40
40
|
nullYear: 30,
|
41
41
|
dateFormats: ['DD/MM/YYYY', 'DD/MM/YY'],
|
@@ -115,4 +115,17 @@ export function getEngineSettingsWithOverrides(hotSettings) {
|
|
115
115
|
var userSettings = cleanEngineSettings(pluginSettings !== null && pluginSettings !== void 0 && (_pluginSettings$engin2 = pluginSettings.engine) !== null && _pluginSettings$engin2 !== void 0 && _pluginSettings$engin2.hyperformula ? pluginSettings.engine : {});
|
116
116
|
var overrides = getEngineSettingsOverrides(hotSettings);
|
117
117
|
return _objectSpread(_objectSpread({}, userSettings), overrides);
|
118
|
+
}
|
119
|
+
|
120
|
+
/**
|
121
|
+
* Check if the new settings are defined and are different from the ones currently used by the engine.
|
122
|
+
*
|
123
|
+
* @param {object} currentEngineSettings Currently used engine settings.
|
124
|
+
* @param {object} newEngineSettings New engine settings.
|
125
|
+
* @returns {boolean}
|
126
|
+
*/
|
127
|
+
export function haveEngineSettingsChanged(currentEngineSettings, newEngineSettings) {
|
128
|
+
return Object.keys(newEngineSettings).some(function (settingOption) {
|
129
|
+
return newEngineSettings[settingOption] !== void 0 && newEngineSettings[settingOption] !== currentEngineSettings[settingOption];
|
130
|
+
});
|
118
131
|
}
|