handsontable 0.0.0-next-ff8465d-20231006 → 0.0.0-next-b0a4ea2-20231024
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/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +2 -2
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +2 -2
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/core.d.ts +1 -1
- package/core.js +10 -5
- package/core.mjs +10 -5
- package/dataMap/metaManager/metaSchema.js +1 -1
- package/dataMap/metaManager/metaSchema.mjs +1 -1
- package/dist/handsontable.css +13 -12
- package/dist/handsontable.full.css +13 -12
- package/dist/handsontable.full.js +2260 -1403
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +10 -10
- package/dist/handsontable.js +2260 -1403
- package/dist/handsontable.min.css +5 -5
- package/dist/handsontable.min.js +24 -24
- package/dist/languages/all.js +6 -2
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +3 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +3 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +26 -7
- package/editors/dateEditor/dateEditor.mjs +27 -8
- package/editors/handsontableEditor/handsontableEditor.js +7 -0
- package/editors/handsontableEditor/handsontableEditor.mjs +8 -1
- package/helpers/a11y.js +3 -1
- package/helpers/a11y.mjs +2 -1
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/i18n/constants.js +7 -1
- package/i18n/constants.mjs +4 -1
- package/i18n/languages/en-US.js +3 -1
- package/i18n/languages/en-US.mjs +3 -1
- package/i18n/languages/pl-PL.js +3 -1
- package/i18n/languages/pl-PL.mjs +3 -1
- package/languages/all.js +6 -2
- package/languages/en-US.js +3 -1
- package/languages/en-US.mjs +3 -1
- package/languages/index.js +6 -2
- package/languages/pl-PL.js +3 -1
- package/languages/pl-PL.mjs +3 -1
- package/package.json +11 -1
- package/pluginHooks.js +1 -1
- package/pluginHooks.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
- package/plugins/contextMenu/menu/menu.js +87 -151
- package/plugins/contextMenu/menu/menu.mjs +90 -154
- package/plugins/contextMenu/menu/menuItemRenderer.js +58 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +54 -0
- package/plugins/contextMenu/menu/navigator.js +19 -144
- package/plugins/contextMenu/menu/navigator.mjs +18 -143
- package/plugins/contextMenu/menu/shortcuts.js +114 -0
- package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
- package/plugins/dropdownMenu/dropdownMenu.js +32 -4
- package/plugins/dropdownMenu/dropdownMenu.mjs +33 -5
- package/plugins/filters/component/_base.js +23 -8
- package/plugins/filters/component/_base.mjs +23 -8
- package/plugins/filters/component/actionBar.js +29 -27
- package/plugins/filters/component/actionBar.mjs +26 -23
- package/plugins/filters/component/condition.js +46 -59
- package/plugins/filters/component/condition.mjs +40 -52
- package/plugins/filters/component/operators.js +21 -22
- package/plugins/filters/component/operators.mjs +18 -18
- package/plugins/filters/component/value.js +35 -26
- package/plugins/filters/component/value.mjs +32 -22
- package/plugins/filters/filters.js +75 -48
- package/plugins/filters/filters.mjs +68 -41
- package/plugins/filters/menu/focusController.js +123 -0
- package/plugins/filters/menu/focusController.mjs +119 -0
- package/plugins/filters/menu/focusNavigator.js +30 -0
- package/plugins/filters/menu/focusNavigator.mjs +26 -0
- package/plugins/filters/ui/_base.js +35 -13
- package/plugins/filters/ui/_base.mjs +35 -13
- package/plugins/filters/ui/input.js +43 -32
- package/plugins/filters/ui/input.mjs +42 -30
- package/plugins/filters/ui/link.js +44 -12
- package/plugins/filters/ui/link.mjs +44 -11
- package/plugins/filters/ui/multipleSelect.js +234 -129
- package/plugins/filters/ui/multipleSelect.mjs +232 -127
- package/plugins/filters/ui/radioInput.js +42 -18
- package/plugins/filters/ui/radioInput.mjs +42 -17
- package/plugins/filters/ui/select.js +144 -75
- package/plugins/filters/ui/select.mjs +140 -70
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +3 -3
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -4
- package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
- package/renderers/dateRenderer/dateRenderer.js +29 -0
- package/renderers/dateRenderer/dateRenderer.mjs +24 -0
- package/renderers/dateRenderer/index.d.ts +1 -0
- package/renderers/dateRenderer/index.js +6 -0
- package/renderers/dateRenderer/index.mjs +1 -0
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
- package/renderers/handsontableRenderer/handsontableRenderer.js +29 -0
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
- package/renderers/handsontableRenderer/index.d.ts +1 -0
- package/renderers/handsontableRenderer/index.js +6 -0
- package/renderers/handsontableRenderer/index.mjs +1 -0
- package/renderers/index.d.ts +6 -0
- package/renderers/selectRenderer/selectRenderer.js +2 -1
- package/renderers/selectRenderer/selectRenderer.mjs +2 -1
- package/selection/selection.js +2 -2
- package/selection/selection.mjs +2 -2
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/utils/paginator.js +151 -0
- package/utils/paginator.mjs +147 -0
@@ -7,6 +7,7 @@ var _pikaday = _interopRequireDefault(require("pikaday"));
|
|
7
7
|
var _textEditor = require("../textEditor");
|
8
8
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
9
9
|
var _element = require("../../helpers/dom/element");
|
10
|
+
var _a11y = require("../../helpers/a11y");
|
10
11
|
var _object = require("../../helpers/object");
|
11
12
|
var _unicode = require("../../helpers/unicode");
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -44,7 +45,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
44
45
|
throw new Error('You need to include Pikaday to your project.');
|
45
46
|
}
|
46
47
|
super.init();
|
47
|
-
this.
|
48
|
+
this.hot.addHook('afterDestroy', () => {
|
48
49
|
this.parentDestroyed = true;
|
49
50
|
this.destroyElements();
|
50
51
|
});
|
@@ -69,7 +70,21 @@ class DateEditor extends _textEditor.TextEditor {
|
|
69
70
|
/**
|
70
71
|
* Prevent recognizing clicking on datepicker as clicking outside of table.
|
71
72
|
*/
|
72
|
-
eventManager.addEventListener(this.datePicker, 'mousedown', event =>
|
73
|
+
eventManager.addEventListener(this.datePicker, 'mousedown', event => {
|
74
|
+
if ((0, _element.hasClass)(event.target, 'pika-day')) {
|
75
|
+
this.hideDatepicker();
|
76
|
+
}
|
77
|
+
event.stopPropagation();
|
78
|
+
});
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Prevent caret movement in the TEXTAREA when navigating over the date picker.
|
82
|
+
*/
|
83
|
+
eventManager.addEventListener(this.TEXTAREA, 'keydown', event => {
|
84
|
+
if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.code)) {
|
85
|
+
event.preventDefault();
|
86
|
+
}
|
87
|
+
});
|
73
88
|
}
|
74
89
|
|
75
90
|
/**
|
@@ -110,6 +125,9 @@ class DateEditor extends _textEditor.TextEditor {
|
|
110
125
|
const editorContext = shortcutManager.getContext('editor');
|
111
126
|
super.open();
|
112
127
|
this.showDatepicker(event);
|
128
|
+
if (this.hot.getSettings().ariaTags) {
|
129
|
+
(0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
|
130
|
+
}
|
113
131
|
editorContext.addShortcut({
|
114
132
|
keys: [['Enter']],
|
115
133
|
callback: keyboardEvent => {
|
@@ -132,9 +150,12 @@ class DateEditor extends _textEditor.TextEditor {
|
|
132
150
|
if ((_this$$datePicker = this.$datePicker) !== null && _this$$datePicker !== void 0 && _this$$datePicker.destroy) {
|
133
151
|
this.$datePicker.destroy();
|
134
152
|
}
|
135
|
-
this.
|
136
|
-
this.
|
153
|
+
this.hot._registerTimeout(() => {
|
154
|
+
this.hot._refreshBorders();
|
137
155
|
});
|
156
|
+
if (this.TD && this.hot.getSettings().ariaTags) {
|
157
|
+
(0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
|
158
|
+
}
|
138
159
|
const shortcutManager = this.hot.getShortcutManager();
|
139
160
|
const editorContext = shortcutManager.getContext('editor');
|
140
161
|
editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP_EDITOR);
|
@@ -152,7 +173,6 @@ class DateEditor extends _textEditor.TextEditor {
|
|
152
173
|
let ctrlDown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
153
174
|
if (restoreOriginalValue) {
|
154
175
|
// pressed ESC, restore original value
|
155
|
-
// var value = this.instance.getDataAtCell(this.row, this.col);
|
156
176
|
const value = this.originalValue;
|
157
177
|
if (value !== void 0) {
|
158
178
|
this.setValue(value);
|
@@ -169,7 +189,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
169
189
|
showDatepicker(event) {
|
170
190
|
const offset = this.TD.getBoundingClientRect();
|
171
191
|
const dateFormat = this.cellProperties.dateFormat || this.defaultDateFormat;
|
172
|
-
const isMouseDown = this.
|
192
|
+
const isMouseDown = this.hot.view.isMouseDown();
|
173
193
|
const isMeta = event ? (0, _unicode.isFunctionKey)(event.keyCode) : false;
|
174
194
|
let dateStr;
|
175
195
|
this.datePicker.style.display = 'block';
|
@@ -248,7 +268,6 @@ class DateEditor extends _textEditor.TextEditor {
|
|
248
268
|
dateStr = (0, _moment.default)(dateStr).format(this.cellProperties.dateFormat || this.defaultDateFormat);
|
249
269
|
}
|
250
270
|
this.setValue(dateStr);
|
251
|
-
this.hideDatepicker();
|
252
271
|
if (origOnSelect) {
|
253
272
|
origOnSelect();
|
254
273
|
}
|
@@ -3,7 +3,8 @@ import moment from 'moment';
|
|
3
3
|
import Pikaday from 'pikaday';
|
4
4
|
import { TextEditor } from "../textEditor/index.mjs";
|
5
5
|
import EventManager from "../../eventManager.mjs";
|
6
|
-
import { addClass, outerHeight, outerWidth } from "../../helpers/dom/element.mjs";
|
6
|
+
import { addClass, hasClass, outerHeight, outerWidth, setAttribute } from "../../helpers/dom/element.mjs";
|
7
|
+
import { A11Y_EXPANDED } from "../../helpers/a11y.mjs";
|
7
8
|
import { deepExtend } from "../../helpers/object.mjs";
|
8
9
|
import { isFunctionKey } from "../../helpers/unicode.mjs";
|
9
10
|
export const EDITOR_TYPE = 'date';
|
@@ -39,7 +40,7 @@ export class DateEditor extends TextEditor {
|
|
39
40
|
throw new Error('You need to include Pikaday to your project.');
|
40
41
|
}
|
41
42
|
super.init();
|
42
|
-
this.
|
43
|
+
this.hot.addHook('afterDestroy', () => {
|
43
44
|
this.parentDestroyed = true;
|
44
45
|
this.destroyElements();
|
45
46
|
});
|
@@ -64,7 +65,21 @@ export class DateEditor extends TextEditor {
|
|
64
65
|
/**
|
65
66
|
* Prevent recognizing clicking on datepicker as clicking outside of table.
|
66
67
|
*/
|
67
|
-
eventManager.addEventListener(this.datePicker, 'mousedown', event =>
|
68
|
+
eventManager.addEventListener(this.datePicker, 'mousedown', event => {
|
69
|
+
if (hasClass(event.target, 'pika-day')) {
|
70
|
+
this.hideDatepicker();
|
71
|
+
}
|
72
|
+
event.stopPropagation();
|
73
|
+
});
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Prevent caret movement in the TEXTAREA when navigating over the date picker.
|
77
|
+
*/
|
78
|
+
eventManager.addEventListener(this.TEXTAREA, 'keydown', event => {
|
79
|
+
if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.code)) {
|
80
|
+
event.preventDefault();
|
81
|
+
}
|
82
|
+
});
|
68
83
|
}
|
69
84
|
|
70
85
|
/**
|
@@ -105,6 +120,9 @@ export class DateEditor extends TextEditor {
|
|
105
120
|
const editorContext = shortcutManager.getContext('editor');
|
106
121
|
super.open();
|
107
122
|
this.showDatepicker(event);
|
123
|
+
if (this.hot.getSettings().ariaTags) {
|
124
|
+
setAttribute(this.TD, [A11Y_EXPANDED('true')]);
|
125
|
+
}
|
108
126
|
editorContext.addShortcut({
|
109
127
|
keys: [['Enter']],
|
110
128
|
callback: keyboardEvent => {
|
@@ -127,9 +145,12 @@ export class DateEditor extends TextEditor {
|
|
127
145
|
if ((_this$$datePicker = this.$datePicker) !== null && _this$$datePicker !== void 0 && _this$$datePicker.destroy) {
|
128
146
|
this.$datePicker.destroy();
|
129
147
|
}
|
130
|
-
this.
|
131
|
-
this.
|
148
|
+
this.hot._registerTimeout(() => {
|
149
|
+
this.hot._refreshBorders();
|
132
150
|
});
|
151
|
+
if (this.TD && this.hot.getSettings().ariaTags) {
|
152
|
+
setAttribute(this.TD, [A11Y_EXPANDED('false')]);
|
153
|
+
}
|
133
154
|
const shortcutManager = this.hot.getShortcutManager();
|
134
155
|
const editorContext = shortcutManager.getContext('editor');
|
135
156
|
editorContext.removeShortcutsByGroup(SHORTCUTS_GROUP_EDITOR);
|
@@ -147,7 +168,6 @@ export class DateEditor extends TextEditor {
|
|
147
168
|
let ctrlDown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
148
169
|
if (restoreOriginalValue) {
|
149
170
|
// pressed ESC, restore original value
|
150
|
-
// var value = this.instance.getDataAtCell(this.row, this.col);
|
151
171
|
const value = this.originalValue;
|
152
172
|
if (value !== void 0) {
|
153
173
|
this.setValue(value);
|
@@ -164,7 +184,7 @@ export class DateEditor extends TextEditor {
|
|
164
184
|
showDatepicker(event) {
|
165
185
|
const offset = this.TD.getBoundingClientRect();
|
166
186
|
const dateFormat = this.cellProperties.dateFormat || this.defaultDateFormat;
|
167
|
-
const isMouseDown = this.
|
187
|
+
const isMouseDown = this.hot.view.isMouseDown();
|
168
188
|
const isMeta = event ? isFunctionKey(event.keyCode) : false;
|
169
189
|
let dateStr;
|
170
190
|
this.datePicker.style.display = 'block';
|
@@ -243,7 +263,6 @@ export class DateEditor extends TextEditor {
|
|
243
263
|
dateStr = moment(dateStr).format(this.cellProperties.dateFormat || this.defaultDateFormat);
|
244
264
|
}
|
245
265
|
this.setValue(dateStr);
|
246
|
-
this.hideDatepicker();
|
247
266
|
if (origOnSelect) {
|
248
267
|
origOnSelect();
|
249
268
|
}
|
@@ -6,6 +6,7 @@ var _element = require("../../helpers/dom/element");
|
|
6
6
|
var _event = require("../../helpers/dom/event");
|
7
7
|
var _object = require("../../helpers/object");
|
8
8
|
var _editorManager = require("../../editorManager");
|
9
|
+
var _a11y = require("../../helpers/a11y");
|
9
10
|
const SHORTCUTS_GROUP = 'handsontableEditor';
|
10
11
|
const EDITOR_TYPE = 'handsontable';
|
11
12
|
|
@@ -42,6 +43,9 @@ class HandsontableEditor extends _textEditor.TextEditor {
|
|
42
43
|
}
|
43
44
|
(0, _element.setCaretPosition)(this.TEXTAREA, 0, this.TEXTAREA.value.length);
|
44
45
|
this.refreshDimensions();
|
46
|
+
if (this.hot.getSettings().ariaTags) {
|
47
|
+
(0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('true')]);
|
48
|
+
}
|
45
49
|
}
|
46
50
|
|
47
51
|
/**
|
@@ -53,6 +57,9 @@ class HandsontableEditor extends _textEditor.TextEditor {
|
|
53
57
|
}
|
54
58
|
this.removeHooksByKey('beforeKeyDown');
|
55
59
|
super.close();
|
60
|
+
if (this.hot.getSettings().ariaTags) {
|
61
|
+
(0, _element.setAttribute)(this.TD, [(0, _a11y.A11Y_EXPANDED)('false')]);
|
62
|
+
}
|
56
63
|
}
|
57
64
|
|
58
65
|
/**
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { TextEditor } from "../textEditor/index.mjs";
|
2
|
-
import { setCaretPosition } from "../../helpers/dom/element.mjs";
|
2
|
+
import { setAttribute, setCaretPosition } from "../../helpers/dom/element.mjs";
|
3
3
|
import { stopImmediatePropagation } from "../../helpers/dom/event.mjs";
|
4
4
|
import { extend } from "../../helpers/object.mjs";
|
5
5
|
import { SHORTCUTS_GROUP_NAVIGATION } from "../../editorManager.mjs";
|
6
|
+
import { A11Y_EXPANDED } from "../../helpers/a11y.mjs";
|
6
7
|
const SHORTCUTS_GROUP = 'handsontableEditor';
|
7
8
|
export const EDITOR_TYPE = 'handsontable';
|
8
9
|
|
@@ -38,6 +39,9 @@ export class HandsontableEditor extends TextEditor {
|
|
38
39
|
}
|
39
40
|
setCaretPosition(this.TEXTAREA, 0, this.TEXTAREA.value.length);
|
40
41
|
this.refreshDimensions();
|
42
|
+
if (this.hot.getSettings().ariaTags) {
|
43
|
+
setAttribute(this.TD, [A11Y_EXPANDED('true')]);
|
44
|
+
}
|
41
45
|
}
|
42
46
|
|
43
47
|
/**
|
@@ -49,6 +53,9 @@ export class HandsontableEditor extends TextEditor {
|
|
49
53
|
}
|
50
54
|
this.removeHooksByKey('beforeKeyDown');
|
51
55
|
super.close();
|
56
|
+
if (this.hot.getSettings().ariaTags) {
|
57
|
+
setAttribute(this.TD, [A11Y_EXPANDED('false')]);
|
58
|
+
}
|
52
59
|
}
|
53
60
|
|
54
61
|
/**
|
package/helpers/a11y.js
CHANGED
@@ -25,6 +25,8 @@ const A11Y_LISTBOX = () => ['role', 'listbox'];
|
|
25
25
|
exports.A11Y_LISTBOX = A11Y_LISTBOX;
|
26
26
|
const A11Y_OPTION = () => ['role', 'option'];
|
27
27
|
exports.A11Y_OPTION = A11Y_OPTION;
|
28
|
+
const A11Y_CHECKBOX = () => ['role', 'checkbox'];
|
29
|
+
exports.A11Y_CHECKBOX = A11Y_CHECKBOX;
|
28
30
|
const A11Y_SCOPE_COL = () => ['scope', 'col'];
|
29
31
|
exports.A11Y_SCOPE_COL = A11Y_SCOPE_COL;
|
30
32
|
const A11Y_SCOPE_ROW = () => ['scope', 'row'];
|
@@ -39,7 +41,7 @@ const A11Y_DISABLED = () => ['aria-disabled', 'true'];
|
|
39
41
|
exports.A11Y_DISABLED = A11Y_DISABLED;
|
40
42
|
const A11Y_MULTISELECTABLE = () => ['aria-multiselectable', 'true'];
|
41
43
|
exports.A11Y_MULTISELECTABLE = A11Y_MULTISELECTABLE;
|
42
|
-
const A11Y_HASPOPUP =
|
44
|
+
const A11Y_HASPOPUP = val => ['aria-haspopup', val];
|
43
45
|
exports.A11Y_HASPOPUP = A11Y_HASPOPUP;
|
44
46
|
const A11Y_ROWCOUNT = val => ['aria-rowcount', val];
|
45
47
|
exports.A11Y_ROWCOUNT = A11Y_ROWCOUNT;
|
package/helpers/a11y.mjs
CHANGED
@@ -10,6 +10,7 @@ export const A11Y_MENU_ITEM = () => ['role', 'menuitem'];
|
|
10
10
|
export const A11Y_COMBOBOX = () => ['role', 'combobox'];
|
11
11
|
export const A11Y_LISTBOX = () => ['role', 'listbox'];
|
12
12
|
export const A11Y_OPTION = () => ['role', 'option'];
|
13
|
+
export const A11Y_CHECKBOX = () => ['role', 'checkbox'];
|
13
14
|
export const A11Y_SCOPE_COL = () => ['scope', 'col'];
|
14
15
|
export const A11Y_SCOPE_ROW = () => ['scope', 'row'];
|
15
16
|
export const A11Y_TEXT = () => ['type', 'text'];
|
@@ -17,7 +18,7 @@ export const A11Y_LABEL = val => ['aria-label', val];
|
|
17
18
|
export const A11Y_HIDDEN = () => ['aria-hidden', 'true'];
|
18
19
|
export const A11Y_DISABLED = () => ['aria-disabled', 'true'];
|
19
20
|
export const A11Y_MULTISELECTABLE = () => ['aria-multiselectable', 'true'];
|
20
|
-
export const A11Y_HASPOPUP =
|
21
|
+
export const A11Y_HASPOPUP = val => ['aria-haspopup', val];
|
21
22
|
export const A11Y_ROWCOUNT = val => ['aria-rowcount', val];
|
22
23
|
export const A11Y_COLCOUNT = val => ['aria-colcount', val];
|
23
24
|
export const A11Y_ROWINDEX = val => ['aria-rowindex', val];
|
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-b0a4ea2-20231024";
|
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-b0a4ea2-20231024";
|
128
128
|
let keyValidityDate;
|
129
129
|
let consoleMessageState = 'invalid';
|
130
130
|
let domMessageState = 'invalid';
|
package/i18n/constants.js
CHANGED
@@ -165,4 +165,10 @@ exports.FILTERS_BUTTONS_PLACEHOLDER_SEARCH = FILTERS_BUTTONS_PLACEHOLDER_SEARCH;
|
|
165
165
|
const FILTERS_BUTTONS_PLACEHOLDER_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.value`;
|
166
166
|
exports.FILTERS_BUTTONS_PLACEHOLDER_VALUE = FILTERS_BUTTONS_PLACEHOLDER_VALUE;
|
167
167
|
const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.secondValue`;
|
168
|
-
exports.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE;
|
168
|
+
exports.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE;
|
169
|
+
const CHECKBOX_RENDERER_NAMESPACE = 'CheckboxRenderer:';
|
170
|
+
exports.CHECKBOX_RENDERER_NAMESPACE = CHECKBOX_RENDERER_NAMESPACE;
|
171
|
+
const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
172
|
+
exports.CHECKBOX_CHECKED = CHECKBOX_CHECKED;
|
173
|
+
const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
174
|
+
exports.CHECKBOX_UNCHECKED = CHECKBOX_UNCHECKED;
|
package/i18n/constants.mjs
CHANGED
@@ -83,4 +83,7 @@ export const FILTERS_BUTTONS_OK = `${FILTERS_NAMESPACE}buttons.ok`;
|
|
83
83
|
export const FILTERS_BUTTONS_CANCEL = `${FILTERS_NAMESPACE}buttons.cancel`;
|
84
84
|
export const FILTERS_BUTTONS_PLACEHOLDER_SEARCH = `${FILTERS_NAMESPACE}buttons.placeholder.search`;
|
85
85
|
export const FILTERS_BUTTONS_PLACEHOLDER_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.value`;
|
86
|
-
export const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.secondValue`;
|
86
|
+
export const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.secondValue`;
|
87
|
+
export const CHECKBOX_RENDERER_NAMESPACE = 'CheckboxRenderer:';
|
88
|
+
export const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
89
|
+
export const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
package/i18n/languages/en-US.js
CHANGED
@@ -89,7 +89,9 @@ const dictionary = {
|
|
89
89
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
90
90
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
91
91
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
92
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
92
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
93
|
+
[C.CHECKBOX_CHECKED]: 'Checked',
|
94
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
93
95
|
};
|
94
96
|
var _default = dictionary;
|
95
97
|
exports.default = _default;
|
package/i18n/languages/en-US.mjs
CHANGED
@@ -83,6 +83,8 @@ const dictionary = {
|
|
83
83
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
84
84
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
85
85
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
86
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
86
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
87
|
+
[C.CHECKBOX_CHECKED]: 'Checked',
|
88
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
87
89
|
};
|
88
90
|
export default dictionary;
|
package/i18n/languages/pl-PL.js
CHANGED
@@ -89,7 +89,9 @@ const dictionary = {
|
|
89
89
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
90
90
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
91
91
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
92
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
92
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość',
|
93
|
+
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
94
|
+
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
93
95
|
};
|
94
96
|
var _default = dictionary;
|
95
97
|
exports.default = _default;
|
package/i18n/languages/pl-PL.mjs
CHANGED
@@ -83,6 +83,8 @@ const dictionary = {
|
|
83
83
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
84
84
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
85
85
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
86
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
86
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość',
|
87
|
+
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
88
|
+
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
87
89
|
};
|
88
90
|
export default dictionary;
|
package/languages/all.js
CHANGED
@@ -518,7 +518,9 @@ const dictionary = {
|
|
518
518
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
519
519
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
520
520
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
521
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
521
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
522
|
+
[C.CHECKBOX_CHECKED]: 'Checked',
|
523
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
522
524
|
};
|
523
525
|
_handsontable.default.languages.registerLanguageDictionary(dictionary);
|
524
526
|
var _default = dictionary;
|
@@ -1418,7 +1420,9 @@ const dictionary = {
|
|
1418
1420
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
1419
1421
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
1420
1422
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
1421
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
1423
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość',
|
1424
|
+
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
1425
|
+
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
1422
1426
|
};
|
1423
1427
|
_handsontable.default.languages.registerLanguageDictionary(dictionary);
|
1424
1428
|
var _default = dictionary;
|
package/languages/en-US.js
CHANGED
@@ -152,7 +152,9 @@ const dictionary = {
|
|
152
152
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
153
153
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
154
154
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
155
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
155
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
156
|
+
[C.CHECKBOX_CHECKED]: 'Checked',
|
157
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
156
158
|
};
|
157
159
|
_handsontable.default.languages.registerLanguageDictionary(dictionary);
|
158
160
|
var _default = dictionary;
|
package/languages/en-US.mjs
CHANGED
@@ -84,7 +84,9 @@ const dictionary = {
|
|
84
84
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
85
85
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
86
86
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
87
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
87
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
88
|
+
[C.CHECKBOX_CHECKED]: 'Checked',
|
89
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
88
90
|
};
|
89
91
|
Handsontable.languages.registerLanguageDictionary(dictionary);
|
90
92
|
export default dictionary;
|
package/languages/index.js
CHANGED
@@ -518,7 +518,9 @@ const dictionary = {
|
|
518
518
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
519
519
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
520
520
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
521
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
521
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value',
|
522
|
+
[C.CHECKBOX_CHECKED]: 'Checked',
|
523
|
+
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
522
524
|
};
|
523
525
|
_handsontable.default.languages.registerLanguageDictionary(dictionary);
|
524
526
|
var _default = dictionary;
|
@@ -1418,7 +1420,9 @@ const dictionary = {
|
|
1418
1420
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
1419
1421
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
1420
1422
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
1421
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
1423
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość',
|
1424
|
+
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
1425
|
+
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
1422
1426
|
};
|
1423
1427
|
_handsontable.default.languages.registerLanguageDictionary(dictionary);
|
1424
1428
|
var _default = dictionary;
|
package/languages/pl-PL.js
CHANGED
@@ -152,7 +152,9 @@ const dictionary = {
|
|
152
152
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
153
153
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
154
154
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
155
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
155
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość',
|
156
|
+
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
157
|
+
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
156
158
|
};
|
157
159
|
_handsontable.default.languages.registerLanguageDictionary(dictionary);
|
158
160
|
var _default = dictionary;
|
package/languages/pl-PL.mjs
CHANGED
@@ -84,7 +84,9 @@ const dictionary = {
|
|
84
84
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
85
85
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
86
86
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
87
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
87
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość',
|
88
|
+
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
89
|
+
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
88
90
|
};
|
89
91
|
Handsontable.languages.registerLanguageDictionary(dictionary);
|
90
92
|
export default dictionary;
|
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-b0a4ea2-20231024",
|
14
14
|
"main": "index",
|
15
15
|
"module": "index.mjs",
|
16
16
|
"jsnext:main": "index.mjs",
|
@@ -511,6 +511,16 @@
|
|
511
511
|
"require": "./renderers/checkboxRenderer/index.js",
|
512
512
|
"import": "./renderers/checkboxRenderer/index.mjs"
|
513
513
|
},
|
514
|
+
"./renderers/dateRenderer/index.d.ts": "./renderers/dateRenderer/index.d.ts",
|
515
|
+
"./renderers/dateRenderer": {
|
516
|
+
"require": "./renderers/dateRenderer/index.js",
|
517
|
+
"import": "./renderers/dateRenderer/index.mjs"
|
518
|
+
},
|
519
|
+
"./renderers/handsontableRenderer/index.d.ts": "./renderers/handsontableRenderer/index.d.ts",
|
520
|
+
"./renderers/handsontableRenderer": {
|
521
|
+
"require": "./renderers/handsontableRenderer/index.js",
|
522
|
+
"import": "./renderers/handsontableRenderer/index.mjs"
|
523
|
+
},
|
514
524
|
"./renderers/htmlRenderer/index.d.ts": "./renderers/htmlRenderer/index.d.ts",
|
515
525
|
"./renderers/htmlRenderer": {
|
516
526
|
"require": "./renderers/htmlRenderer/index.js",
|
package/pluginHooks.js
CHANGED
@@ -567,7 +567,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
567
567
|
* method or table internals.
|
568
568
|
*
|
569
569
|
* @since 14.0.0
|
570
|
-
* @event Hooks#
|
570
|
+
* @event Hooks#beforeViewportScroll
|
571
571
|
*/
|
572
572
|
'beforeViewportScroll',
|
573
573
|
/**
|
package/pluginHooks.mjs
CHANGED
@@ -565,7 +565,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
|
|
565
565
|
* method or table internals.
|
566
566
|
*
|
567
567
|
* @since 14.0.0
|
568
|
-
* @event Hooks#
|
568
|
+
* @event Hooks#beforeViewportScroll
|
569
569
|
*/
|
570
570
|
'beforeViewportScroll',
|
571
571
|
/**
|
@@ -0,0 +1,88 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
exports.createDefaultShortcutsList = createDefaultShortcutsList;
|
5
|
+
/**
|
6
|
+
* Creates a keyboard shortcuts list with default keyboards binds.
|
7
|
+
*
|
8
|
+
* @param {Menu} menu The main menu instance.
|
9
|
+
* @returns {KeyboardShortcut[]}
|
10
|
+
*/
|
11
|
+
function createDefaultShortcutsList(menu) {
|
12
|
+
return [{
|
13
|
+
keys: [['Tab'], ['Shift', 'Tab'], ['Control/Meta', 'A']],
|
14
|
+
forwardToContext: menu.hot.getShortcutManager().getContext('grid'),
|
15
|
+
callback: () => menu.close(true)
|
16
|
+
}, {
|
17
|
+
keys: [['Escape']],
|
18
|
+
callback: () => menu.close()
|
19
|
+
}, {
|
20
|
+
keys: [['ArrowDown']],
|
21
|
+
callback: () => menu.getNavigator().toNextItem()
|
22
|
+
}, {
|
23
|
+
keys: [['ArrowUp']],
|
24
|
+
callback: () => menu.getNavigator().toPreviousItem()
|
25
|
+
}, {
|
26
|
+
keys: [['ArrowRight']],
|
27
|
+
callback: () => {
|
28
|
+
const selection = menu.hotMenu.getSelectedLast();
|
29
|
+
if (selection) {
|
30
|
+
const subMenu = menu.openSubMenu(selection[0]);
|
31
|
+
if (subMenu) {
|
32
|
+
subMenu.getNavigator().toFirstItem();
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}, {
|
37
|
+
keys: [['ArrowLeft']],
|
38
|
+
callback: () => {
|
39
|
+
const selection = menu.hotMenu.getSelectedLast();
|
40
|
+
if (selection && menu.isSubMenu()) {
|
41
|
+
menu.close();
|
42
|
+
if (menu.isSubMenu()) {
|
43
|
+
menu.parentMenu.hotMenu.listen();
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}, {
|
48
|
+
keys: [['Control/Meta', 'ArrowUp'], ['Home']],
|
49
|
+
callback: () => menu.getNavigator().toFirstItem()
|
50
|
+
}, {
|
51
|
+
keys: [['Control/Meta', 'ArrowDown'], ['End']],
|
52
|
+
callback: () => menu.getNavigator().toLastItem()
|
53
|
+
}, {
|
54
|
+
keys: [['Enter'], ['Space']],
|
55
|
+
callback: event => {
|
56
|
+
const selection = menu.hotMenu.getSelectedLast();
|
57
|
+
if (!selection) {
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
if (menu.hotMenu.getSourceDataAtRow(selection[0]).submenu) {
|
61
|
+
menu.openSubMenu(selection[0]).getNavigator().toFirstItem();
|
62
|
+
} else {
|
63
|
+
menu.executeCommand(event);
|
64
|
+
menu.close(true);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}, {
|
68
|
+
keys: [['PageUp']],
|
69
|
+
callback: () => {
|
70
|
+
const selection = menu.hotMenu.getSelectedLast();
|
71
|
+
if (selection) {
|
72
|
+
menu.hotMenu.selection.transformStart(-menu.hotMenu.countVisibleRows(), 0);
|
73
|
+
} else {
|
74
|
+
menu.getNavigator().toFirstItem();
|
75
|
+
}
|
76
|
+
}
|
77
|
+
}, {
|
78
|
+
keys: [['PageDown']],
|
79
|
+
callback: () => {
|
80
|
+
const selection = menu.hotMenu.getSelectedLast();
|
81
|
+
if (selection) {
|
82
|
+
menu.hotMenu.selection.transformStart(menu.hotMenu.countVisibleRows(), 0);
|
83
|
+
} else {
|
84
|
+
menu.getNavigator().toLastItem();
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}];
|
88
|
+
}
|