handsontable 0.0.0-next-3d099da-20231208 → 0.0.0-next-51d3397-20231211
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/calculator/index.js +11 -6
- package/3rdparty/walkontable/src/calculator/index.mjs +5 -3
- package/3rdparty/walkontable/src/calculator/renderAllColumns.js +50 -0
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +46 -0
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +50 -0
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +46 -0
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -122
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +2 -124
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +2 -3
- package/3rdparty/walkontable/src/core/_base.js +0 -12
- package/3rdparty/walkontable/src/core/_base.mjs +0 -12
- package/3rdparty/walkontable/src/core/core.js +0 -2
- package/3rdparty/walkontable/src/core/core.mjs +0 -2
- package/3rdparty/walkontable/src/facade/core.js +0 -9
- package/3rdparty/walkontable/src/facade/core.mjs +0 -9
- package/3rdparty/walkontable/src/index.js +3 -4
- package/3rdparty/walkontable/src/index.mjs +1 -2
- package/3rdparty/walkontable/src/overlays.js +0 -3
- package/3rdparty/walkontable/src/overlays.mjs +0 -4
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -0
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +10 -0
- package/3rdparty/walkontable/src/renderer/rows.js +4 -3
- package/3rdparty/walkontable/src/renderer/rows.mjs +4 -3
- package/3rdparty/walkontable/src/selection/manager.js +0 -1
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -1
- package/3rdparty/walkontable/src/settings.js +3 -0
- package/3rdparty/walkontable/src/settings.mjs +2 -0
- package/3rdparty/walkontable/src/table.js +0 -1
- package/3rdparty/walkontable/src/table.mjs +0 -1
- package/3rdparty/walkontable/src/utils/column.js +27 -12
- package/3rdparty/walkontable/src/utils/column.mjs +27 -12
- package/3rdparty/walkontable/src/utils/columnStretching.js +219 -0
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +215 -0
- package/3rdparty/walkontable/src/viewport.js +22 -17
- package/3rdparty/walkontable/src/viewport.mjs +23 -18
- package/base.js +4 -2
- package/base.mjs +2 -2
- package/core/focusCatcher/index.js +44 -6
- package/core/focusCatcher/index.mjs +44 -6
- package/core.js +0 -11
- package/core.mjs +0 -11
- package/dataMap/dataMap.js +1 -0
- package/dataMap/metaManager/metaSchema.js +28 -2
- package/dataMap/metaManager/metaSchema.mjs +28 -2
- package/dataMap/metaManager/mods/extendMetaProperties.js +12 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +12 -0
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +3 -3
- package/dist/handsontable.full.js +3979 -5577
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +66 -71
- package/dist/handsontable.js +3058 -4305
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +35 -39
- package/editorManager.js +3 -4
- package/editorManager.mjs +3 -4
- package/editors/autocompleteEditor/autocompleteEditor.js +0 -2
- package/editors/autocompleteEditor/autocompleteEditor.mjs +0 -2
- package/editors/dateEditor/dateEditor.d.ts +1 -1
- package/editors/dateEditor/dateEditor.js +4 -1
- package/editors/dateEditor/dateEditor.mjs +4 -1
- package/editors/handsontableEditor/handsontableEditor.js +0 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
- package/editors/textEditor/textEditor.js +0 -4
- package/editors/textEditor/textEditor.mjs +0 -4
- package/helpers/browser.js +5 -2
- package/helpers/browser.mjs +5 -2
- package/helpers/feature.js +10 -0
- package/helpers/feature.mjs +9 -0
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +3 -4
- package/pluginHooks.d.ts +6 -29
- package/pluginHooks.js +65 -123
- package/pluginHooks.mjs +62 -122
- package/plugins/copyPaste/clipboardData.js +18 -0
- package/plugins/copyPaste/clipboardData.mjs +14 -0
- package/plugins/copyPaste/copyPaste.js +129 -51
- package/plugins/copyPaste/copyPaste.mjs +132 -54
- package/plugins/copyPaste/copyableRanges.js +43 -7
- package/plugins/copyPaste/copyableRanges.mjs +42 -7
- package/plugins/copyPaste/pasteEvent.mjs +1 -1
- package/plugins/customBorders/customBorders.js +0 -5
- package/plugins/customBorders/customBorders.mjs +0 -5
- package/plugins/customBorders/utils.js +0 -1
- package/plugins/customBorders/utils.mjs +0 -1
- package/plugins/filters/ui/radioInput.js +1 -1
- package/plugins/filters/ui/radioInput.mjs +1 -1
- package/plugins/formulas/formulas.js +0 -2
- package/plugins/formulas/formulas.mjs +0 -2
- package/plugins/formulas/indexSyncer/axisSyncer.js +0 -1
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -1
- package/plugins/manualColumnResize/manualColumnResize.js +0 -1
- package/plugins/manualColumnResize/manualColumnResize.mjs +0 -1
- package/plugins/mergeCells/mergeCells.js +1 -127
- package/plugins/mergeCells/mergeCells.mjs +1 -127
- package/plugins/nestedHeaders/nestedHeaders.js +41 -87
- package/plugins/nestedHeaders/nestedHeaders.mjs +42 -88
- package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
- package/plugins/undoRedo/undoRedo.js +0 -2
- package/plugins/undoRedo/undoRedo.mjs +0 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -1
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +0 -2
- package/selection/highlight/highlight.js +0 -1
- package/selection/highlight/highlight.mjs +0 -1
- package/selection/index.js +1 -3
- package/selection/index.mjs +2 -2
- package/selection/utils.js +0 -34
- package/selection/utils.mjs +0 -33
- package/settings.d.ts +2 -1
- package/tableView.js +1 -2
- package/tableView.mjs +1 -2
- package/translations/indexMapper.js +2 -1
- package/utils/parseTable.js +84 -538
- package/utils/parseTable.mjs +83 -534
- package/validators/timeValidator/timeValidator.js +0 -1
- package/validators/timeValidator/timeValidator.mjs +0 -1
- package/plugins/copyPaste/clipboardData/clipboardData.js +0 -588
- package/plugins/copyPaste/clipboardData/clipboardData.mjs +0 -584
- package/plugins/copyPaste/clipboardData/copyClipboardData.js +0 -69
- package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +0 -65
- package/plugins/copyPaste/clipboardData/index.js +0 -9
- package/plugins/copyPaste/clipboardData/index.mjs +0 -4
- package/plugins/copyPaste/clipboardData/pasteClipboardData.js +0 -81
- package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +0 -77
package/editorManager.js
CHANGED
@@ -149,6 +149,7 @@ class EditorManager {
|
|
149
149
|
* Prepare text input to be displayed at given grid cell.
|
150
150
|
*/
|
151
151
|
prepareEditor() {
|
152
|
+
var _this$hot$getSelected;
|
152
153
|
if (this.lock) {
|
153
154
|
return;
|
154
155
|
}
|
@@ -160,10 +161,8 @@ class EditorManager {
|
|
160
161
|
});
|
161
162
|
return;
|
162
163
|
}
|
163
|
-
const
|
164
|
-
|
165
|
-
} = this.hot.getSelectedRangeLast();
|
166
|
-
if (highlight.isHeader()) {
|
164
|
+
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
165
|
+
if (!highlight || highlight.isHeader()) {
|
167
166
|
return;
|
168
167
|
}
|
169
168
|
const {
|
package/editorManager.mjs
CHANGED
@@ -145,6 +145,7 @@ class EditorManager {
|
|
145
145
|
* Prepare text input to be displayed at given grid cell.
|
146
146
|
*/
|
147
147
|
prepareEditor() {
|
148
|
+
var _this$hot$getSelected;
|
148
149
|
if (this.lock) {
|
149
150
|
return;
|
150
151
|
}
|
@@ -156,10 +157,8 @@ class EditorManager {
|
|
156
157
|
});
|
157
158
|
return;
|
158
159
|
}
|
159
|
-
const
|
160
|
-
|
161
|
-
} = this.hot.getSelectedRangeLast();
|
162
|
-
if (highlight.isHeader()) {
|
160
|
+
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
161
|
+
if (!highlight || highlight.isHeader()) {
|
163
162
|
return;
|
164
163
|
}
|
165
164
|
const {
|
@@ -191,7 +191,6 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
191
191
|
if (scrollbarWidth === 0 && (0, _browser.isMacOS)()) {
|
192
192
|
scrollbarWidth += 15; // default scroll bar width if scroll bars are visible only when scrolling
|
193
193
|
}
|
194
|
-
|
195
194
|
this.addHook('beforeKeyDown', event => this.onBeforeKeyDown(event));
|
196
195
|
this.htEditor.updateSettings({
|
197
196
|
colWidths: trimDropdown ? [(0, _element.outerWidth)(this.TEXTAREA) - 2] : undefined,
|
@@ -391,7 +390,6 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
391
390
|
if (this.htEditor.flipped) {
|
392
391
|
this.htEditor.rootElement.style.top = `${parseInt(this.htEditor.rootElement.style.top, 10) + dropdownHeight - height}px`; // eslint-disable-line max-len
|
393
392
|
}
|
394
|
-
|
395
393
|
this.setDropdownHeight(tempHeight - lastRowHeight);
|
396
394
|
}
|
397
395
|
}
|
@@ -188,7 +188,6 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
188
188
|
if (scrollbarWidth === 0 && isMacOS()) {
|
189
189
|
scrollbarWidth += 15; // default scroll bar width if scroll bars are visible only when scrolling
|
190
190
|
}
|
191
|
-
|
192
191
|
this.addHook('beforeKeyDown', event => this.onBeforeKeyDown(event));
|
193
192
|
this.htEditor.updateSettings({
|
194
193
|
colWidths: trimDropdown ? [outerWidth(this.TEXTAREA) - 2] : undefined,
|
@@ -388,7 +387,6 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
388
387
|
if (this.htEditor.flipped) {
|
389
388
|
this.htEditor.rootElement.style.top = `${parseInt(this.htEditor.rootElement.style.top, 10) + dropdownHeight - height}px`; // eslint-disable-line max-len
|
390
389
|
}
|
391
|
-
|
392
390
|
this.setDropdownHeight(tempHeight - lastRowHeight);
|
393
391
|
}
|
394
392
|
}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
var _moment = _interopRequireDefault(require("moment"));
|
6
|
-
var _pikaday = _interopRequireDefault(require("pikaday"));
|
6
|
+
var _pikaday = _interopRequireDefault(require("@handsontable/pikaday"));
|
7
7
|
var _textEditor = require("../textEditor");
|
8
8
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
9
9
|
var _element = require("../../helpers/dom/element");
|
@@ -195,6 +195,9 @@ class DateEditor extends _textEditor.TextEditor {
|
|
195
195
|
let dateStr;
|
196
196
|
this.datePicker.style.display = 'block';
|
197
197
|
this.$datePicker = new _pikaday.default(this.getDatePickerConfig());
|
198
|
+
if (typeof this.$datePicker.useMoment === 'function') {
|
199
|
+
this.$datePicker.useMoment(_moment.default);
|
200
|
+
}
|
198
201
|
this.$datePicker._onInputFocus = function () {};
|
199
202
|
this.datePickerStyle.top = `${this.hot.rootWindow.pageYOffset + offset.top + (0, _element.outerHeight)(this.TD)}px`;
|
200
203
|
let pickerLeftPosition = this.hot.rootWindow.pageXOffset;
|
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
3
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
4
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
5
5
|
import moment from 'moment';
|
6
|
-
import Pikaday from 'pikaday';
|
6
|
+
import Pikaday from '@handsontable/pikaday';
|
7
7
|
import { TextEditor } from "../textEditor/index.mjs";
|
8
8
|
import EventManager from "../../eventManager.mjs";
|
9
9
|
import { addClass, hasClass, outerHeight, outerWidth } from "../../helpers/dom/element.mjs";
|
@@ -191,6 +191,9 @@ export class DateEditor extends TextEditor {
|
|
191
191
|
let dateStr;
|
192
192
|
this.datePicker.style.display = 'block';
|
193
193
|
this.$datePicker = new Pikaday(this.getDatePickerConfig());
|
194
|
+
if (typeof this.$datePicker.useMoment === 'function') {
|
195
|
+
this.$datePicker.useMoment(moment);
|
196
|
+
}
|
194
197
|
this.$datePicker._onInputFocus = function () {};
|
195
198
|
this.datePickerStyle.top = `${this.hot.rootWindow.pageYOffset + offset.top + outerHeight(this.TD)}px`;
|
196
199
|
let pickerLeftPosition = this.hot.rootWindow.pageXOffset;
|
@@ -137,7 +137,6 @@ class HandsontableEditor extends _textEditor.TextEditor {
|
|
137
137
|
// if focus is still in the HOT editor
|
138
138
|
this.hot.listen(); // return the focus to the parent HOT instance
|
139
139
|
}
|
140
|
-
|
141
140
|
if (this.htEditor && this.htEditor.getSelectedLast()) {
|
142
141
|
const value = this.htEditor.getValue();
|
143
142
|
if (value !== undefined) {
|
@@ -134,7 +134,6 @@ export class HandsontableEditor extends TextEditor {
|
|
134
134
|
// if focus is still in the HOT editor
|
135
135
|
this.hot.listen(); // return the focus to the parent HOT instance
|
136
136
|
}
|
137
|
-
|
138
137
|
if (this.htEditor && this.htEditor.getSelectedLast()) {
|
139
138
|
const value = this.htEditor.getValue();
|
140
139
|
if (value !== undefined) {
|
@@ -128,7 +128,6 @@ class TextEditor extends _baseEditor.BaseEditor {
|
|
128
128
|
if ((0, _element.isThisHotChild)(this.hot.rootDocument.activeElement, this.hot.rootElement)) {
|
129
129
|
this.hot.listen(); // don't refocus the table if user focused some cell outside of HT on purpose
|
130
130
|
}
|
131
|
-
|
132
131
|
this.hideEditableElement();
|
133
132
|
this.unregisterShortcuts();
|
134
133
|
}
|
@@ -299,7 +298,6 @@ class TextEditor extends _baseEditor.BaseEditor {
|
|
299
298
|
if (!force) {
|
300
299
|
this.close(); // TODO shouldn't it be this.finishEditing() ?
|
301
300
|
}
|
302
|
-
|
303
301
|
return;
|
304
302
|
}
|
305
303
|
const {
|
@@ -402,7 +400,6 @@ class TextEditor extends _baseEditor.BaseEditor {
|
|
402
400
|
insertNewLine();
|
403
401
|
return false; // Will block closing editor.
|
404
402
|
},
|
405
|
-
|
406
403
|
runOnlyIf: event => !this.hot.selection.isMultiple() &&
|
407
404
|
// We trigger a data population for multiple selection.
|
408
405
|
// catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
|
@@ -413,7 +410,6 @@ class TextEditor extends _baseEditor.BaseEditor {
|
|
413
410
|
insertNewLine();
|
414
411
|
return false; // Will block closing editor.
|
415
412
|
},
|
416
|
-
|
417
413
|
runOnlyIf: () => !this.hot.selection.isMultiple() // We trigger a data population for multiple selection.
|
418
414
|
}, {
|
419
415
|
keys: [['Alt', 'Enter']],
|
@@ -124,7 +124,6 @@ export class TextEditor extends BaseEditor {
|
|
124
124
|
if (isThisHotChild(this.hot.rootDocument.activeElement, this.hot.rootElement)) {
|
125
125
|
this.hot.listen(); // don't refocus the table if user focused some cell outside of HT on purpose
|
126
126
|
}
|
127
|
-
|
128
127
|
this.hideEditableElement();
|
129
128
|
this.unregisterShortcuts();
|
130
129
|
}
|
@@ -295,7 +294,6 @@ export class TextEditor extends BaseEditor {
|
|
295
294
|
if (!force) {
|
296
295
|
this.close(); // TODO shouldn't it be this.finishEditing() ?
|
297
296
|
}
|
298
|
-
|
299
297
|
return;
|
300
298
|
}
|
301
299
|
const {
|
@@ -398,7 +396,6 @@ export class TextEditor extends BaseEditor {
|
|
398
396
|
insertNewLine();
|
399
397
|
return false; // Will block closing editor.
|
400
398
|
},
|
401
|
-
|
402
399
|
runOnlyIf: event => !this.hot.selection.isMultiple() &&
|
403
400
|
// We trigger a data population for multiple selection.
|
404
401
|
// catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
|
@@ -409,7 +406,6 @@ export class TextEditor extends BaseEditor {
|
|
409
406
|
insertNewLine();
|
410
407
|
return false; // Will block closing editor.
|
411
408
|
},
|
412
|
-
|
413
409
|
runOnlyIf: () => !this.hot.selection.isMultiple() // We trigger a data population for multiple selection.
|
414
410
|
}, {
|
415
411
|
keys: [['Alt', 'Enter']],
|
package/helpers/browser.js
CHANGED
@@ -17,6 +17,7 @@ exports.isWindowsOS = isWindowsOS;
|
|
17
17
|
exports.setBrowserMeta = setBrowserMeta;
|
18
18
|
exports.setPlatformMeta = setPlatformMeta;
|
19
19
|
var _object = require("./object");
|
20
|
+
var _feature = require("./feature");
|
20
21
|
const tester = testerFunc => {
|
21
22
|
const result = {
|
22
23
|
value: false
|
@@ -76,8 +77,10 @@ function setPlatformMeta() {
|
|
76
77
|
return void test(platform);
|
77
78
|
});
|
78
79
|
}
|
79
|
-
|
80
|
-
|
80
|
+
if ((0, _feature.isCSR)()) {
|
81
|
+
setBrowserMeta();
|
82
|
+
setPlatformMeta();
|
83
|
+
}
|
81
84
|
|
82
85
|
/**
|
83
86
|
* @returns {boolean}
|
package/helpers/browser.mjs
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { objectEach } from "./object.mjs";
|
2
|
+
import { isCSR } from "./feature.mjs";
|
2
3
|
const tester = testerFunc => {
|
3
4
|
const result = {
|
4
5
|
value: false
|
@@ -58,8 +59,10 @@ export function setPlatformMeta() {
|
|
58
59
|
return void test(platform);
|
59
60
|
});
|
60
61
|
}
|
61
|
-
|
62
|
-
|
62
|
+
if (isCSR()) {
|
63
|
+
setBrowserMeta();
|
64
|
+
setPlatformMeta();
|
65
|
+
}
|
63
66
|
|
64
67
|
/**
|
65
68
|
* @returns {boolean}
|
package/helpers/feature.js
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.cancelAnimationFrame = cancelAnimationFrame;
|
5
5
|
exports.getComparisonFunction = getComparisonFunction;
|
6
|
+
exports.isCSR = isCSR;
|
6
7
|
exports.isTouchSupported = isTouchSupported;
|
7
8
|
exports.requestAnimationFrame = requestAnimationFrame;
|
8
9
|
/* eslint-disable no-restricted-globals */
|
@@ -31,6 +32,15 @@ function cancelAnimationFrame(id) {
|
|
31
32
|
function isTouchSupported() {
|
32
33
|
return 'ontouchstart' in window;
|
33
34
|
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Checks if the environment that the code runs in is a browser.
|
38
|
+
*
|
39
|
+
* @returns {boolean}
|
40
|
+
*/
|
41
|
+
function isCSR() {
|
42
|
+
return typeof window !== 'undefined';
|
43
|
+
}
|
34
44
|
let comparisonFunction;
|
35
45
|
|
36
46
|
/**
|
package/helpers/feature.mjs
CHANGED
@@ -24,6 +24,15 @@ export function cancelAnimationFrame(id) {
|
|
24
24
|
export function isTouchSupported() {
|
25
25
|
return 'ontouchstart' in window;
|
26
26
|
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Checks if the environment that the code runs in is a browser.
|
30
|
+
*
|
31
|
+
* @returns {boolean}
|
32
|
+
*/
|
33
|
+
export function isCSR() {
|
34
|
+
return typeof window !== 'undefined';
|
35
|
+
}
|
27
36
|
let comparisonFunction;
|
28
37
|
|
29
38
|
/**
|
package/helpers/mixed.js
CHANGED
@@ -134,7 +134,7 @@ const domMessages = {
|
|
134
134
|
function _injectProductInfo(key, element) {
|
135
135
|
const hasValidType = !isEmpty(key);
|
136
136
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
137
|
-
const hotVersion = "0.0.0-next-
|
137
|
+
const hotVersion = "0.0.0-next-51d3397-20231211";
|
138
138
|
let keyValidityDate;
|
139
139
|
let consoleMessageState = 'invalid';
|
140
140
|
let domMessageState = 'invalid';
|
package/helpers/mixed.mjs
CHANGED
@@ -124,7 +124,7 @@ const domMessages = {
|
|
124
124
|
export function _injectProductInfo(key, element) {
|
125
125
|
const hasValidType = !isEmpty(key);
|
126
126
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
127
|
-
const hotVersion = "0.0.0-next-
|
127
|
+
const hotVersion = "0.0.0-next-51d3397-20231211";
|
128
128
|
let keyValidityDate;
|
129
129
|
let consoleMessageState = 'invalid';
|
130
130
|
let domMessageState = 'invalid';
|
package/package.json
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"url": "https://github.com/handsontable/handsontable/issues"
|
11
11
|
},
|
12
12
|
"author": "Handsoncode <hello@handsontable.com>",
|
13
|
-
"version": "0.0.0-next-
|
13
|
+
"version": "0.0.0-next-51d3397-20231211",
|
14
14
|
"main": "index",
|
15
15
|
"module": "index.mjs",
|
16
16
|
"jsnext:main": "index.mjs",
|
@@ -32,12 +32,11 @@
|
|
32
32
|
"data-spreadsheet"
|
33
33
|
],
|
34
34
|
"dependencies": {
|
35
|
-
"@
|
35
|
+
"@handsontable/pikaday": "1.0.0-beta.1",
|
36
36
|
"core-js": "^3.31.1",
|
37
37
|
"dompurify": "^2.1.1",
|
38
38
|
"moment": "2.29.4",
|
39
|
-
"numbro": "2.1.2"
|
40
|
-
"pikaday": "1.8.2"
|
39
|
+
"numbro": "2.1.2"
|
41
40
|
},
|
42
41
|
"devDependencies": {
|
43
42
|
"@babel/cli": "^7.8.3",
|
package/pluginHooks.d.ts
CHANGED
@@ -48,35 +48,12 @@ interface HookHighlightRowHeaderMeta {
|
|
48
48
|
rowCursor: number;
|
49
49
|
selectionHeight: number;
|
50
50
|
}
|
51
|
-
|
52
51
|
interface HookHighlightColumnHeaderMeta {
|
53
52
|
selectionType: string;
|
54
53
|
columnCursor: number;
|
55
54
|
selectionWidth: number;
|
56
55
|
}
|
57
56
|
|
58
|
-
interface ClipboardData {
|
59
|
-
removeRows: (rows: number[]) => void;
|
60
|
-
removeColumns: (columns: number[]) => void;
|
61
|
-
insertAtRow: (rowIndex: number, values: any[]) => void;
|
62
|
-
insertAtColumn: (columnIndex: number, values: any[]) => void;
|
63
|
-
getCellAt: (row: number, col: number) => string;
|
64
|
-
setCellAt: (row: number, column: number, value: any) => void;
|
65
|
-
getData: () => any[][];
|
66
|
-
getMetaInfo: () => GridSettings;
|
67
|
-
setMetaInfo: (property: 'colHeaders' | 'nestedHeaders' | 'mergeCells' | 'data', value: any) => void;
|
68
|
-
getType: () => 'handsontable' | 'table' | 'unrecognizable';
|
69
|
-
}
|
70
|
-
|
71
|
-
interface PasteClipboardData extends ClipboardData {
|
72
|
-
getType: () => 'handsontable' | 'table' | 'unrecognizable';
|
73
|
-
}
|
74
|
-
|
75
|
-
interface CopyClipboardData extends ClipboardData {
|
76
|
-
getRanges: () => RangeType[];
|
77
|
-
getType: () => 'handsontable';
|
78
|
-
}
|
79
|
-
|
80
57
|
export interface Events {
|
81
58
|
afterAddChild?: (parent: RowObject, element: RowObject | undefined, index: number | undefined) => void;
|
82
59
|
afterAutofill?: (fillData: CellValue[][], sourceRange: CellRange, targetRange: CellRange, direction: 'up' | 'down' | 'left' | 'right') => void;
|
@@ -95,11 +72,11 @@ export interface Events {
|
|
95
72
|
afterContextMenuDefaultOptions?: (predefinedItems: Array<ContextMenuPredefinedMenuItemKey | ContextMenuMenuItemConfig>) => void;
|
96
73
|
afterContextMenuHide?: (context: ContextMenu) => void;
|
97
74
|
afterContextMenuShow?: (context: ContextMenu) => void;
|
98
|
-
afterCopy?: (
|
75
|
+
afterCopy?: (data: CellValue[][], coords: RangeType[], copiedHeadersCount: { columnHeadersCount: number }) => void;
|
99
76
|
afterCopyLimit?: (selectedRows: number, selectedColumns: number, copyRowsLimit: number, copyColumnsLimit: number) => void;
|
100
77
|
afterCreateCol?: (index: number, amount: number, source?: ChangeSource) => void;
|
101
78
|
afterCreateRow?: (index: number, amount: number, source?: ChangeSource) => void;
|
102
|
-
afterCut?: (
|
79
|
+
afterCut?: (data: CellValue[][], coords: RangeType[]) => void;
|
103
80
|
afterDeselect?: () => void;
|
104
81
|
afterDestroy?: () => void;
|
105
82
|
afterDetachChild?: (parent: RowObject, element: RowObject) => void;
|
@@ -134,7 +111,7 @@ export interface Events {
|
|
134
111
|
afterOnCellMouseOut?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
|
135
112
|
afterOnCellMouseOver?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
|
136
113
|
afterOnCellMouseUp?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
|
137
|
-
afterPaste?: (
|
114
|
+
afterPaste?: (data: CellValue[][], coords: RangeType[]) => void;
|
138
115
|
afterPluginsInitialized?: () => void;
|
139
116
|
afterRedo?: (action: UndoRedoAction) => void;
|
140
117
|
afterRedoStackChange?: (undoneActionsBefore: UndoRedoAction[], undoneActionsAfter: UndoRedoAction[]) => void;
|
@@ -193,10 +170,10 @@ export interface Events {
|
|
193
170
|
beforeColumnUnfreeze?: (columnIndex: number, isUnfreezingPerformed: boolean) => void | boolean;
|
194
171
|
beforeContextMenuSetItems?: (menuItems: ContextMenuMenuItemConfig[]) => void;
|
195
172
|
beforeContextMenuShow?: (context: ContextMenu) => void;
|
196
|
-
beforeCopy?: (
|
173
|
+
beforeCopy?: (data: CellValue[][], coords: RangeType[], copiedHeadersCount: { columnHeadersCount: number }) => void | boolean;
|
197
174
|
beforeCreateCol?: (index: number, amount: number, source?: ChangeSource) => void | boolean;
|
198
175
|
beforeCreateRow?: (index: number, amount: number, source?: ChangeSource) => void | boolean;
|
199
|
-
beforeCut?: (
|
176
|
+
beforeCut?: (data: CellValue[][], coords: RangeType[]) => void | boolean;
|
200
177
|
beforeDetachChild?: (parent: RowObject, element: RowObject) => void;
|
201
178
|
beforeDrawBorders?: (corners: number[], borderClassName: 'current' | 'area' | 'highlight' | undefined) => void;
|
202
179
|
beforeDropdownMenuSetItems?: (menuItems: ContextMenuMenuItemConfig[]) => void;
|
@@ -218,7 +195,7 @@ export interface Events {
|
|
218
195
|
beforeOnCellMouseOut?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
|
219
196
|
beforeOnCellMouseOver?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement, controller: SelectionController) => void;
|
220
197
|
beforeOnCellMouseUp?: (event: MouseEvent, coords: CellCoords, TD: HTMLTableCellElement) => void;
|
221
|
-
beforePaste?: (
|
198
|
+
beforePaste?: (data: CellValue[][], coords: RangeType[]) => void | boolean;
|
222
199
|
beforeRedo?: (action: UndoRedoAction) => void;
|
223
200
|
beforeRedoStackChange?: (undoneActions: UndoRedoAction[]) => void;
|
224
201
|
beforeRefreshDimensions?: (previousDimensions: object, currentDimensions: object, actionPossible: boolean) => boolean | void;
|