handsontable 0.0.0-next-8a82cea-20250211 → 0.0.0-next-2a3a59d-20250212
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.
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/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +42 -47
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +6 -6
- package/dist/handsontable.js +42 -47
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +6 -6
- package/dist/languages/all.js +6 -0
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/it-IT.js +3 -0
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/sr-SP.js +3 -0
- package/dist/languages/sr-SP.min.js +1 -1
- package/editors/dateEditor/dateEditor.d.ts +0 -2
- package/editors/dateEditor/dateEditor.js +18 -7
- package/editors/dateEditor/dateEditor.mjs +17 -6
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/i18n/languages/it-IT.js +3 -0
- package/i18n/languages/it-IT.mjs +3 -0
- package/i18n/languages/sr-SP.js +3 -0
- package/i18n/languages/sr-SP.mjs +3 -0
- package/languages/all.js +6 -0
- package/languages/index.js +6 -0
- package/languages/it-IT.js +3 -0
- package/languages/it-IT.mjs +3 -0
- package/languages/sr-SP.js +3 -0
- package/languages/sr-SP.mjs +3 -0
- package/package.json +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -8
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -8
- package/plugins/contextMenu/predefinedItems/columnRight.js +2 -9
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +2 -9
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -8
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -8
- package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -9
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +2 -9
- package/renderers/numericRenderer/numericRenderer.js +10 -2
- package/renderers/numericRenderer/numericRenderer.mjs +10 -2
- package/styles/handsontable.css +2 -2
- package/styles/handsontable.min.css +2 -2
- package/styles/ht-theme-horizon.css +2 -2
- package/styles/ht-theme-horizon.min.css +2 -2
- package/styles/ht-theme-main.css +2 -2
- package/styles/ht-theme-main.min.css +2 -2
|
@@ -11,24 +11,30 @@ var _object = require("../../helpers/object");
|
|
|
11
11
|
var _unicode = require("../../helpers/unicode");
|
|
12
12
|
var _browser = require("../../helpers/browser");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
|
15
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
14
16
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
15
17
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
16
18
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
17
20
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'date';
|
|
18
21
|
const SHORTCUTS_GROUP_EDITOR = 'dateEditor';
|
|
22
|
+
const DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';
|
|
19
23
|
|
|
20
24
|
/**
|
|
21
25
|
* @private
|
|
22
26
|
* @class DateEditor
|
|
23
27
|
*/
|
|
28
|
+
var _DateEditor_brand = /*#__PURE__*/new WeakSet();
|
|
24
29
|
class DateEditor extends _textEditor.TextEditor {
|
|
25
30
|
constructor() {
|
|
26
31
|
super(...arguments);
|
|
27
|
-
// TODO: Move this option to general settings
|
|
28
32
|
/**
|
|
29
|
-
*
|
|
33
|
+
* Gets the current date format for this cell.
|
|
34
|
+
*
|
|
35
|
+
* @returns {string}
|
|
30
36
|
*/
|
|
31
|
-
|
|
37
|
+
_classPrivateMethodInitSpec(this, _DateEditor_brand);
|
|
32
38
|
/**
|
|
33
39
|
* @type {boolean}
|
|
34
40
|
*/
|
|
@@ -194,7 +200,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
|
194
200
|
* @param {Event} event The event object.
|
|
195
201
|
*/
|
|
196
202
|
showDatepicker(event) {
|
|
197
|
-
const dateFormat = this.
|
|
203
|
+
const dateFormat = _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
|
|
198
204
|
const isMouseDown = this.hot.view.isMouseDown();
|
|
199
205
|
const isMeta = event ? (0, _unicode.isFunctionKey)(event.keyCode) : false;
|
|
200
206
|
let dateStr;
|
|
@@ -246,6 +252,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
|
246
252
|
* @returns {object}
|
|
247
253
|
*/
|
|
248
254
|
getDatePickerConfig() {
|
|
255
|
+
var _options$format;
|
|
249
256
|
const htInput = this.TEXTAREA;
|
|
250
257
|
const options = {};
|
|
251
258
|
if (this.cellProperties && this.cellProperties.datePickerConfig) {
|
|
@@ -258,7 +265,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
|
258
265
|
options.container = this.datePicker;
|
|
259
266
|
options.bound = false;
|
|
260
267
|
options.keyboardInput = false;
|
|
261
|
-
options.format = options.format
|
|
268
|
+
options.format = (_options$format = options.format) !== null && _options$format !== void 0 ? _options$format : _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
|
|
262
269
|
options.reposition = options.reposition || false;
|
|
263
270
|
// Set the RTL to `false`. Due to the https://github.com/Pikaday/Pikaday/issues/647 bug, the layout direction
|
|
264
271
|
// of the date picker is controlled by juggling the "dir" attribute of the root date picker element.
|
|
@@ -267,7 +274,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
|
267
274
|
options.onSelect = value => {
|
|
268
275
|
let dateStr = value;
|
|
269
276
|
if (!isNaN(dateStr.getTime())) {
|
|
270
|
-
dateStr = (0, _moment.default)(dateStr).format(this.
|
|
277
|
+
dateStr = (0, _moment.default)(dateStr).format(_assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this));
|
|
271
278
|
}
|
|
272
279
|
this.setValue(dateStr);
|
|
273
280
|
if (origOnSelect) {
|
|
@@ -334,4 +341,8 @@ class DateEditor extends _textEditor.TextEditor {
|
|
|
334
341
|
}
|
|
335
342
|
}
|
|
336
343
|
}
|
|
337
|
-
exports.DateEditor = DateEditor;
|
|
344
|
+
exports.DateEditor = DateEditor;
|
|
345
|
+
function _getDateFormat() {
|
|
346
|
+
var _this$cellProperties$;
|
|
347
|
+
return (_this$cellProperties$ = this.cellProperties.dateFormat) !== null && _this$cellProperties$ !== void 0 ? _this$cellProperties$ : DEFAULT_DATE_FORMAT;
|
|
348
|
+
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
|
2
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
|
3
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
2
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
3
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
4
6
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
5
8
|
import moment from 'moment';
|
|
6
9
|
import Pikaday from '@handsontable/pikaday';
|
|
7
10
|
import { EDITOR_STATE } from "../baseEditor/index.mjs";
|
|
@@ -12,19 +15,22 @@ import { isFunctionKey } from "../../helpers/unicode.mjs";
|
|
|
12
15
|
import { isMobileBrowser } from "../../helpers/browser.mjs";
|
|
13
16
|
export const EDITOR_TYPE = 'date';
|
|
14
17
|
const SHORTCUTS_GROUP_EDITOR = 'dateEditor';
|
|
18
|
+
const DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* @private
|
|
18
22
|
* @class DateEditor
|
|
19
23
|
*/
|
|
24
|
+
var _DateEditor_brand = /*#__PURE__*/new WeakSet();
|
|
20
25
|
export class DateEditor extends TextEditor {
|
|
21
26
|
constructor() {
|
|
22
27
|
super(...arguments);
|
|
23
|
-
// TODO: Move this option to general settings
|
|
24
28
|
/**
|
|
25
|
-
*
|
|
29
|
+
* Gets the current date format for this cell.
|
|
30
|
+
*
|
|
31
|
+
* @returns {string}
|
|
26
32
|
*/
|
|
27
|
-
|
|
33
|
+
_classPrivateMethodInitSpec(this, _DateEditor_brand);
|
|
28
34
|
/**
|
|
29
35
|
* @type {boolean}
|
|
30
36
|
*/
|
|
@@ -190,7 +196,7 @@ export class DateEditor extends TextEditor {
|
|
|
190
196
|
* @param {Event} event The event object.
|
|
191
197
|
*/
|
|
192
198
|
showDatepicker(event) {
|
|
193
|
-
const dateFormat = this.
|
|
199
|
+
const dateFormat = _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
|
|
194
200
|
const isMouseDown = this.hot.view.isMouseDown();
|
|
195
201
|
const isMeta = event ? isFunctionKey(event.keyCode) : false;
|
|
196
202
|
let dateStr;
|
|
@@ -242,6 +248,7 @@ export class DateEditor extends TextEditor {
|
|
|
242
248
|
* @returns {object}
|
|
243
249
|
*/
|
|
244
250
|
getDatePickerConfig() {
|
|
251
|
+
var _options$format;
|
|
245
252
|
const htInput = this.TEXTAREA;
|
|
246
253
|
const options = {};
|
|
247
254
|
if (this.cellProperties && this.cellProperties.datePickerConfig) {
|
|
@@ -254,7 +261,7 @@ export class DateEditor extends TextEditor {
|
|
|
254
261
|
options.container = this.datePicker;
|
|
255
262
|
options.bound = false;
|
|
256
263
|
options.keyboardInput = false;
|
|
257
|
-
options.format = options.format
|
|
264
|
+
options.format = (_options$format = options.format) !== null && _options$format !== void 0 ? _options$format : _assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this);
|
|
258
265
|
options.reposition = options.reposition || false;
|
|
259
266
|
// Set the RTL to `false`. Due to the https://github.com/Pikaday/Pikaday/issues/647 bug, the layout direction
|
|
260
267
|
// of the date picker is controlled by juggling the "dir" attribute of the root date picker element.
|
|
@@ -263,7 +270,7 @@ export class DateEditor extends TextEditor {
|
|
|
263
270
|
options.onSelect = value => {
|
|
264
271
|
let dateStr = value;
|
|
265
272
|
if (!isNaN(dateStr.getTime())) {
|
|
266
|
-
dateStr = moment(dateStr).format(this.
|
|
273
|
+
dateStr = moment(dateStr).format(_assertClassBrand(_DateEditor_brand, this, _getDateFormat).call(this));
|
|
267
274
|
}
|
|
268
275
|
this.setValue(dateStr);
|
|
269
276
|
if (origOnSelect) {
|
|
@@ -329,4 +336,8 @@ export class DateEditor extends TextEditor {
|
|
|
329
336
|
this.hideDatepicker();
|
|
330
337
|
}
|
|
331
338
|
}
|
|
339
|
+
}
|
|
340
|
+
function _getDateFormat() {
|
|
341
|
+
var _this$cellProperties$;
|
|
342
|
+
return (_this$cellProperties$ = this.cellProperties.dateFormat) !== null && _this$cellProperties$ !== void 0 ? _this$cellProperties$ : DEFAULT_DATE_FORMAT;
|
|
332
343
|
}
|
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-2a3a59d-20250212";
|
|
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-2a3a59d-20250212";
|
|
128
128
|
let keyValidityDate;
|
|
129
129
|
let consoleMessageState = 'invalid';
|
|
130
130
|
let domMessageState = 'invalid';
|
package/i18n/languages/it-IT.js
CHANGED
|
@@ -47,6 +47,9 @@ const dictionary = {
|
|
|
47
47
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
|
|
48
48
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
|
|
49
49
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
|
|
50
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
|
|
51
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
|
|
52
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
|
|
50
53
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
|
|
51
54
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
|
|
52
55
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
|
package/i18n/languages/it-IT.mjs
CHANGED
|
@@ -41,6 +41,9 @@ const dictionary = {
|
|
|
41
41
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
|
|
42
42
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
|
|
43
43
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
|
|
44
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
|
|
45
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
|
|
46
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
|
|
44
47
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
|
|
45
48
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
|
|
46
49
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
|
package/i18n/languages/sr-SP.js
CHANGED
|
@@ -48,6 +48,9 @@ const dictionary = {
|
|
|
48
48
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
|
|
49
49
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
|
|
50
50
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
|
|
51
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
|
|
52
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
|
|
53
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
|
51
54
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
|
|
52
55
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
|
|
53
56
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
|
package/i18n/languages/sr-SP.mjs
CHANGED
|
@@ -42,6 +42,9 @@ const dictionary = {
|
|
|
42
42
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
|
|
43
43
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
|
|
44
44
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
|
|
45
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
|
|
46
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
|
|
47
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
|
45
48
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
|
|
46
49
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
|
|
47
50
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
|
package/languages/all.js
CHANGED
|
@@ -876,6 +876,9 @@ const dictionary = {
|
|
|
876
876
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
|
|
877
877
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
|
|
878
878
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
|
|
879
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
|
|
880
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
|
|
881
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
|
|
879
882
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
|
|
880
883
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
|
|
881
884
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
|
|
@@ -1766,6 +1769,9 @@ const dictionary = {
|
|
|
1766
1769
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
|
|
1767
1770
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
|
|
1768
1771
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
|
|
1772
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
|
|
1773
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
|
|
1774
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
|
1769
1775
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
|
|
1770
1776
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
|
|
1771
1777
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
|
package/languages/index.js
CHANGED
|
@@ -876,6 +876,9 @@ const dictionary = {
|
|
|
876
876
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
|
|
877
877
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
|
|
878
878
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
|
|
879
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
|
|
880
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
|
|
881
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
|
|
879
882
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
|
|
880
883
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
|
|
881
884
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
|
|
@@ -1766,6 +1769,9 @@ const dictionary = {
|
|
|
1766
1769
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
|
|
1767
1770
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
|
|
1768
1771
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
|
|
1772
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
|
|
1773
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
|
|
1774
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
|
1769
1775
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
|
|
1770
1776
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
|
|
1771
1777
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
|
package/languages/it-IT.js
CHANGED
|
@@ -110,6 +110,9 @@ const dictionary = {
|
|
|
110
110
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
|
|
111
111
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
|
|
112
112
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
|
|
113
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
|
|
114
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
|
|
115
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
|
|
113
116
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
|
|
114
117
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
|
|
115
118
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
|
package/languages/it-IT.mjs
CHANGED
|
@@ -42,6 +42,9 @@ const dictionary = {
|
|
|
42
42
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Unisci celle',
|
|
43
43
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Separa celle',
|
|
44
44
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Copia',
|
|
45
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Copia con intestazione', 'Copia con intestazioni'],
|
|
46
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: 'Copia con intestazione completa',
|
|
47
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Copia solo intestazione', 'Copia solo intestazioni'],
|
|
45
48
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Taglia',
|
|
46
49
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Inserisci riga figlia',
|
|
47
50
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Scollega da riga madre',
|
package/languages/sr-SP.js
CHANGED
|
@@ -111,6 +111,9 @@ const dictionary = {
|
|
|
111
111
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
|
|
112
112
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
|
|
113
113
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
|
|
114
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
|
|
115
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
|
|
116
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
|
114
117
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
|
|
115
118
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
|
|
116
119
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
|
package/languages/sr-SP.mjs
CHANGED
|
@@ -43,6 +43,9 @@ const dictionary = {
|
|
|
43
43
|
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji ćelije',
|
|
44
44
|
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Odvoji ćelije',
|
|
45
45
|
[C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
|
|
46
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
|
|
47
|
+
[C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa zaglavljem grupe', 'Kopiraj sa zaglavljima grupe'],
|
|
48
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
|
46
49
|
[C.CONTEXTMENU_ITEMS_CUT]: 'Iseci',
|
|
47
50
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Unesi ugnježdeni red',
|
|
48
51
|
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugnježdeni red',
|
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-2a3a59d-20250212",
|
|
14
14
|
"main": "index",
|
|
15
15
|
"module": "index.mjs",
|
|
16
16
|
"jsnext:main": "index.mjs",
|
|
@@ -26,19 +26,14 @@ function columnLeftItem() {
|
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
const range = this.getSelectedRangeLast();
|
|
29
|
-
if (!range) {
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
if (range.isSingleHeader() && range.highlight.col < 0) {
|
|
29
|
+
if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
|
|
33
30
|
return true;
|
|
34
31
|
}
|
|
35
32
|
if (this.selection.isSelectedByCorner()) {
|
|
36
|
-
const totalColumns = this.countCols();
|
|
37
|
-
|
|
38
33
|
// Enable "Insert column left" only when there is at least one column.
|
|
39
|
-
return
|
|
34
|
+
return this.countCols() === 0;
|
|
40
35
|
}
|
|
41
|
-
return
|
|
36
|
+
return false;
|
|
42
37
|
},
|
|
43
38
|
hidden() {
|
|
44
39
|
return !this.getSettings().allowInsertColumn;
|
|
@@ -20,19 +20,14 @@ export default function columnLeftItem() {
|
|
|
20
20
|
return true;
|
|
21
21
|
}
|
|
22
22
|
const range = this.getSelectedRangeLast();
|
|
23
|
-
if (!range) {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
if (range.isSingleHeader() && range.highlight.col < 0) {
|
|
23
|
+
if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
|
|
27
24
|
return true;
|
|
28
25
|
}
|
|
29
26
|
if (this.selection.isSelectedByCorner()) {
|
|
30
|
-
const totalColumns = this.countCols();
|
|
31
|
-
|
|
32
27
|
// Enable "Insert column left" only when there is at least one column.
|
|
33
|
-
return
|
|
28
|
+
return this.countCols() === 0;
|
|
34
29
|
}
|
|
35
|
-
return
|
|
30
|
+
return false;
|
|
36
31
|
},
|
|
37
32
|
hidden() {
|
|
38
33
|
return !this.getSettings().allowInsertColumn;
|
|
@@ -26,17 +26,10 @@ function columnRightItem() {
|
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
const range = this.getSelectedRangeLast();
|
|
29
|
-
if (!range) {
|
|
29
|
+
if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
if (this.selection.isSelectedByCorner()) {
|
|
36
|
-
// Enable "Insert column right" always when the menu is triggered by corner click.
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
return this.selection.isSelectedByRowHeader() || this.countCols() >= this.getSettings().maxCols;
|
|
32
|
+
return false;
|
|
40
33
|
},
|
|
41
34
|
hidden() {
|
|
42
35
|
return !this.getSettings().allowInsertColumn;
|
|
@@ -20,17 +20,10 @@ export default function columnRightItem() {
|
|
|
20
20
|
return true;
|
|
21
21
|
}
|
|
22
22
|
const range = this.getSelectedRangeLast();
|
|
23
|
-
if (!range) {
|
|
23
|
+
if (!range || this.selection.isSelectedByRowHeader() || range.isSingleHeader() && range.highlight.col < 0 || this.countSourceCols() >= this.getSettings().maxCols) {
|
|
24
24
|
return true;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
if (this.selection.isSelectedByCorner()) {
|
|
30
|
-
// Enable "Insert column right" always when the menu is triggered by corner click.
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
return this.selection.isSelectedByRowHeader() || this.countCols() >= this.getSettings().maxCols;
|
|
26
|
+
return false;
|
|
34
27
|
},
|
|
35
28
|
hidden() {
|
|
36
29
|
return !this.getSettings().allowInsertColumn;
|
|
@@ -22,19 +22,14 @@ function rowAboveItem() {
|
|
|
22
22
|
},
|
|
23
23
|
disabled() {
|
|
24
24
|
const range = this.getSelectedRangeLast();
|
|
25
|
-
if (!range) {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
if (range.isSingleHeader() && range.highlight.row < 0) {
|
|
25
|
+
if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
|
|
29
26
|
return true;
|
|
30
27
|
}
|
|
31
28
|
if (this.selection.isSelectedByCorner()) {
|
|
32
|
-
const totalRows = this.countRows();
|
|
33
|
-
|
|
34
29
|
// Enable "Insert row above" only when there is at least one row.
|
|
35
|
-
return
|
|
30
|
+
return this.countRows() === 0;
|
|
36
31
|
}
|
|
37
|
-
return
|
|
32
|
+
return false;
|
|
38
33
|
},
|
|
39
34
|
hidden() {
|
|
40
35
|
return !this.getSettings().allowInsertRow;
|
|
@@ -16,19 +16,14 @@ export default function rowAboveItem() {
|
|
|
16
16
|
},
|
|
17
17
|
disabled() {
|
|
18
18
|
const range = this.getSelectedRangeLast();
|
|
19
|
-
if (!range) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
if (range.isSingleHeader() && range.highlight.row < 0) {
|
|
19
|
+
if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
|
|
23
20
|
return true;
|
|
24
21
|
}
|
|
25
22
|
if (this.selection.isSelectedByCorner()) {
|
|
26
|
-
const totalRows = this.countRows();
|
|
27
|
-
|
|
28
23
|
// Enable "Insert row above" only when there is at least one row.
|
|
29
|
-
return
|
|
24
|
+
return this.countRows() === 0;
|
|
30
25
|
}
|
|
31
|
-
return
|
|
26
|
+
return false;
|
|
32
27
|
},
|
|
33
28
|
hidden() {
|
|
34
29
|
return !this.getSettings().allowInsertRow;
|
|
@@ -22,17 +22,10 @@ function rowBelowItem() {
|
|
|
22
22
|
},
|
|
23
23
|
disabled() {
|
|
24
24
|
const range = this.getSelectedRangeLast();
|
|
25
|
-
if (!range) {
|
|
25
|
+
if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
if (this.selection.isSelectedByCorner()) {
|
|
32
|
-
// Enable "Insert row below" always when the menu is triggered by corner click.
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
return this.selection.isSelectedByColumnHeader() || this.countRows() >= this.getSettings().maxRows;
|
|
28
|
+
return false;
|
|
36
29
|
},
|
|
37
30
|
hidden() {
|
|
38
31
|
return !this.getSettings().allowInsertRow;
|
|
@@ -16,17 +16,10 @@ export default function rowBelowItem() {
|
|
|
16
16
|
},
|
|
17
17
|
disabled() {
|
|
18
18
|
const range = this.getSelectedRangeLast();
|
|
19
|
-
if (!range) {
|
|
19
|
+
if (!range || this.selection.isSelectedByColumnHeader() || range.isSingleHeader() && range.highlight.row < 0 || this.countSourceRows() >= this.getSettings().maxRows) {
|
|
20
20
|
return true;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
if (this.selection.isSelectedByCorner()) {
|
|
26
|
-
// Enable "Insert row below" always when the menu is triggered by corner click.
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
return this.selection.isSelectedByColumnHeader() || this.countRows() >= this.getSettings().maxRows;
|
|
22
|
+
return false;
|
|
30
23
|
},
|
|
31
24
|
hidden() {
|
|
32
25
|
return !this.getSettings().allowInsertRow;
|
|
@@ -50,8 +50,16 @@ function getRenderedValue(value, cellProperties) {
|
|
|
50
50
|
function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
|
51
51
|
let newValue = value;
|
|
52
52
|
if ((0, _number.isNumeric)(newValue)) {
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
let classArr = [];
|
|
54
|
+
if (Array.isArray(cellProperties.className)) {
|
|
55
|
+
classArr = cellProperties.className;
|
|
56
|
+
} else {
|
|
57
|
+
var _cellProperties$class;
|
|
58
|
+
const className = (_cellProperties$class = cellProperties.className) !== null && _cellProperties$class !== void 0 ? _cellProperties$class : '';
|
|
59
|
+
if (className.length) {
|
|
60
|
+
classArr = className.split(' ');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
55
63
|
newValue = getRenderedValue(newValue, cellProperties);
|
|
56
64
|
if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
|
|
57
65
|
classArr.push('htRight');
|
|
@@ -44,8 +44,16 @@ export function getRenderedValue(value, cellProperties) {
|
|
|
44
44
|
export function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
|
45
45
|
let newValue = value;
|
|
46
46
|
if (isNumeric(newValue)) {
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
let classArr = [];
|
|
48
|
+
if (Array.isArray(cellProperties.className)) {
|
|
49
|
+
classArr = cellProperties.className;
|
|
50
|
+
} else {
|
|
51
|
+
var _cellProperties$class;
|
|
52
|
+
const className = (_cellProperties$class = cellProperties.className) !== null && _cellProperties$class !== void 0 ? _cellProperties$class : '';
|
|
53
|
+
if (className.length) {
|
|
54
|
+
classArr = className.split(' ');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
49
57
|
newValue = getRenderedValue(newValue, cellProperties);
|
|
50
58
|
if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
|
|
51
59
|
classArr.push('htRight');
|
package/styles/handsontable.css
CHANGED
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
|
27
27
|
*
|
|
28
|
-
* Version: 0.0.0-next-
|
|
29
|
-
* Release date: 16/12/2024 (built at
|
|
28
|
+
* Version: 0.0.0-next-2a3a59d-20250212
|
|
29
|
+
* Release date: 16/12/2024 (built at 12/02/2025 11:26:32)
|
|
30
30
|
*/
|
|
31
31
|
.ht-wrapper:not([class*=ht-theme]) {
|
|
32
32
|
--ht-cell-horizontal-padding: 8px;
|