handsontable 14.1.0-next-1211447-20240205 → 14.2.0-next-4873a35-20240228
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/core/_base.js +12 -0
- package/3rdparty/walkontable/src/core/_base.mjs +12 -0
- package/3rdparty/walkontable/src/scroll.js +131 -98
- package/3rdparty/walkontable/src/scroll.mjs +133 -100
- package/3rdparty/walkontable/src/selection/border/border.js +3 -3
- package/3rdparty/walkontable/src/selection/border/border.mjs +3 -3
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +26 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +26 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +26 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +26 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +20 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +20 -0
- package/3rdparty/walkontable/src/table.js +2 -0
- package/3rdparty/walkontable/src/table.mjs +2 -0
- package/3rdparty/walkontable/src/viewport.js +9 -0
- package/3rdparty/walkontable/src/viewport.mjs +10 -1
- package/CHANGELOG.md +38 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/index.js +6 -0
- package/core/index.mjs +2 -1
- package/core/viewportScroll/index.js +65 -0
- package/core/viewportScroll/index.mjs +61 -0
- package/core/viewportScroll/scrollStrategies/columnHeaderScroll.js +20 -0
- package/core/viewportScroll/scrollStrategies/columnHeaderScroll.mjs +16 -0
- package/core/viewportScroll/scrollStrategies/cornerHeaderScroll.js +14 -0
- package/core/viewportScroll/scrollStrategies/cornerHeaderScroll.mjs +10 -0
- package/core/viewportScroll/scrollStrategies/multipleScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/multipleScroll.mjs +11 -0
- package/core/viewportScroll/scrollStrategies/noncontiguousScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/noncontiguousScroll.mjs +11 -0
- package/core/viewportScroll/scrollStrategies/rowHeaderScroll.js +20 -0
- package/core/viewportScroll/scrollStrategies/rowHeaderScroll.mjs +16 -0
- package/core/viewportScroll/scrollStrategies/singleScroll.js +46 -0
- package/core/viewportScroll/scrollStrategies/singleScroll.mjs +42 -0
- package/core.d.ts +1 -1
- package/core.js +11 -52
- package/core.mjs +12 -53
- package/dataMap/metaManager/index.js +1 -1
- package/dataMap/metaManager/index.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +6 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +6 -1
- package/dataMap/metaManager/metaSchema.js +36 -12
- package/dataMap/metaManager/metaSchema.mjs +36 -12
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +2997 -1929
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +42 -42
- package/dist/handsontable.js +2999 -1931
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.js +130 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/hr-HR.js +167 -0
- package/dist/languages/hr-HR.min.js +1 -0
- package/editorManager.js +15 -4
- package/editorManager.mjs +15 -4
- package/editors/autocompleteEditor/autocompleteEditor.js +2 -2
- package/editors/autocompleteEditor/autocompleteEditor.mjs +2 -2
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/checkboxEditor/checkboxEditor.js +5 -4
- package/editors/checkboxEditor/checkboxEditor.mjs +5 -4
- package/editors/dateEditor/dateEditor.js +1 -1
- package/editors/dateEditor/dateEditor.mjs +1 -1
- package/editors/dropdownEditor/dropdownEditor.js +1 -1
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
- package/editors/handsontableEditor/handsontableEditor.js +1 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +1 -1
- package/editors/selectEditor/selectEditor.js +1 -1
- package/editors/selectEditor/selectEditor.mjs +1 -1
- package/editors/textEditor/textEditor.js +1 -2
- package/editors/textEditor/textEditor.mjs +1 -2
- package/editors/timeEditor/timeEditor.js +1 -1
- package/editors/timeEditor/timeEditor.mjs +1 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/moves.js +86 -0
- package/helpers/moves.mjs +82 -0
- package/i18n/languages/hr-HR.js +96 -0
- package/i18n/languages/hr-HR.mjs +90 -0
- package/i18n/languages/index.js +2 -0
- package/i18n/languages/index.mjs +2 -1
- package/languages/all.js +130 -25
- package/languages/hr-HR.js +167 -0
- package/languages/hr-HR.mjs +92 -0
- package/languages/index.js +130 -25
- package/languages/index.mjs +2 -1
- package/package.json +11 -1
- package/pluginHooks.d.ts +4 -2
- package/pluginHooks.js +33 -3
- package/pluginHooks.mjs +33 -3
- package/plugins/autoColumnSize/autoColumnSize.js +6 -1
- package/plugins/autoColumnSize/autoColumnSize.mjs +6 -1
- package/plugins/autoRowSize/autoRowSize.js +5 -0
- package/plugins/autoRowSize/autoRowSize.mjs +5 -0
- package/plugins/autofill/autofill.js +3 -2
- package/plugins/autofill/autofill.mjs +3 -2
- package/plugins/columnSummary/columnSummary.js +1 -1
- package/plugins/columnSummary/columnSummary.mjs +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +58 -4
- package/plugins/dropdownMenu/dropdownMenu.mjs +58 -4
- package/plugins/filters/component/value.js +51 -5
- package/plugins/filters/component/value.mjs +51 -5
- package/plugins/filters/utils.js +1 -1
- package/plugins/filters/utils.mjs +1 -1
- package/plugins/formulas/formulas.js +10 -1
- package/plugins/formulas/formulas.mjs +10 -1
- package/plugins/formulas/indexSyncer/axisSyncer.js +3 -75
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -75
- package/plugins/manualColumnResize/manualColumnResize.js +3 -0
- package/plugins/manualColumnResize/manualColumnResize.mjs +3 -0
- package/plugins/mergeCells/cellsCollection.js +1 -1
- package/plugins/mergeCells/cellsCollection.mjs +1 -1
- package/plugins/mergeCells/mergeCells.js +30 -0
- package/plugins/mergeCells/mergeCells.mjs +30 -0
- package/plugins/undoRedo/undoRedo.js +61 -14
- package/plugins/undoRedo/undoRedo.mjs +61 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -1
- package/renderers/baseRenderer/baseRenderer.js +1 -1
- package/renderers/baseRenderer/baseRenderer.mjs +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +36 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +36 -8
- package/renderers/dateRenderer/dateRenderer.js +1 -1
- package/renderers/dateRenderer/dateRenderer.mjs +1 -1
- package/renderers/dropdownRenderer/dropdownRenderer.js +1 -1
- package/renderers/dropdownRenderer/dropdownRenderer.mjs +1 -1
- package/renderers/handsontableRenderer/handsontableRenderer.js +1 -1
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +1 -1
- package/renderers/htmlRenderer/htmlRenderer.js +1 -1
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/numericRenderer/index.js +2 -1
- package/renderers/numericRenderer/index.mjs +1 -1
- package/renderers/numericRenderer/numericRenderer.js +28 -13
- package/renderers/numericRenderer/numericRenderer.mjs +27 -13
- package/renderers/passwordRenderer/passwordRenderer.js +1 -1
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/selectRenderer/selectRenderer.js +1 -1
- package/renderers/selectRenderer/selectRenderer.mjs +1 -1
- package/renderers/textRenderer/textRenderer.js +1 -1
- package/renderers/textRenderer/textRenderer.mjs +1 -1
- package/renderers/timeRenderer/timeRenderer.js +1 -1
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/mouseEventHandler.js +4 -0
- package/selection/mouseEventHandler.mjs +4 -0
- package/selection/selection.js +64 -5
- package/selection/selection.mjs +64 -5
- package/shortcuts/recorder.js +27 -8
- package/shortcuts/recorder.mjs +27 -8
- package/tableView.js +86 -5
- package/tableView.mjs +87 -6
- package/utils/autoResize.js +0 -1
- package/utils/autoResize.mjs +0 -1
- package/utils/ghostTable.js +6 -6
- package/utils/ghostTable.mjs +6 -6
- package/utils/parseTable.js +9 -1
- package/utils/parseTable.mjs +9 -1
@@ -0,0 +1 @@
|
|
1
|
+
!function(E,T){if("object"==typeof exports&&"object"==typeof module)module.exports=T(require("handsontable"));else if("function"==typeof define&&define.amd)define(["handsontable"],T);else{var _="object"==typeof exports?T(require("handsontable")):T(E.Handsontable);for(var N in _)("object"==typeof exports?exports:E)[N]=_[N]}}("undefined"!=typeof self?self:this,(E=>(()=>{var T={960:T=>{"use strict";T.exports=E},250:E=>{E.exports=function(E){return E&&E.__esModule?E:{default:E}},E.exports.__esModule=!0,E.exports.default=E.exports}},_={};function N(E){var O=_[E];if(void 0!==O)return O.exports;var I=_[E]={exports:{}};return T[E](I,I.exports,N),I.exports}var O={};return(()=>{"use strict";var E=N(250)(N(960));const T=E.default.languages.dictionaryKeys,_={languageCode:"hr-HR",[T.CONTEXTMENU_ITEMS_NO_ITEMS]:"Nema dostupnih mogućnosti",[T.CONTEXTMENU_ITEMS_ROW_ABOVE]:"Umetni redak iznad",[T.CONTEXTMENU_ITEMS_ROW_BELOW]:"Umetni redak ispod",[T.CONTEXTMENU_ITEMS_INSERT_LEFT]:"Umetni stupac lijevo",[T.CONTEXTMENU_ITEMS_INSERT_RIGHT]:"Umetni stupac desno",[T.CONTEXTMENU_ITEMS_REMOVE_ROW]:["Ukloni redak","Ukloni retke"],[T.CONTEXTMENU_ITEMS_REMOVE_COLUMN]:["Ukloni stupac","Ukloni stupce"],[T.CONTEXTMENU_ITEMS_UNDO]:"Poništi",[T.CONTEXTMENU_ITEMS_REDO]:"Ponovi",[T.CONTEXTMENU_ITEMS_READ_ONLY]:"Samo za čitanje",[T.CONTEXTMENU_ITEMS_CLEAR_COLUMN]:"Očisti stupac",[T.CONTEXTMENU_ITEMS_ALIGNMENT]:"Poravnanje",[T.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]:"Lijevo",[T.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]:"Centar",[T.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]:"Desno",[T.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]:"Obostrano",[T.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]:"Gore",[T.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]:"Sredina",[T.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]:"Dolje",[T.CONTEXTMENU_ITEMS_FREEZE_COLUMN]:"Zamrzni stupac",[T.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]:"Odmrzni stupac",[T.CONTEXTMENU_ITEMS_BORDERS]:"Granice",[T.CONTEXTMENU_ITEMS_BORDERS_TOP]:"Gore",[T.CONTEXTMENU_ITEMS_BORDERS_RIGHT]:"Desno",[T.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]:"Dolje",[T.CONTEXTMENU_ITEMS_BORDERS_LEFT]:"Lijevo",[T.CONTEXTMENU_ITEMS_REMOVE_BORDERS]:"Ukloni granicu(e)",[T.CONTEXTMENU_ITEMS_ADD_COMMENT]:"Dodaj komentar",[T.CONTEXTMENU_ITEMS_EDIT_COMMENT]:"Uredi komentar",[T.CONTEXTMENU_ITEMS_REMOVE_COMMENT]:"Izbriši komentar",[T.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]:"Komentar samo za čitanje",[T.CONTEXTMENU_ITEMS_MERGE_CELLS]:"Spoji čelije",[T.CONTEXTMENU_ITEMS_UNMERGE_CELLS]:"Razdijeli čelije",[T.CONTEXTMENU_ITEMS_COPY]:"Kopiraj",[T.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]:["Kopiraj sa zaglavljem","Kopiraj sa zaglavljima"],[T.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]:["Kopiraj sa grupnim zaglavljem","Kopiraj sa grupnim zaglavljima"],[T.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]:["Kopiraj samo zaglavlje","Kopiraj samo zaglavlja"],[T.CONTEXTMENU_ITEMS_CUT]:"Izreži",[T.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]:"Umetni ugniježđeni redak",[T.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]:"Odvoji ugniježđeni redak",[T.CONTEXTMENU_ITEMS_HIDE_COLUMN]:["Sakrij stupac","Sakrij stupce"],[T.CONTEXTMENU_ITEMS_SHOW_COLUMN]:["Prikaži stupac","Prikaži stupce"],[T.CONTEXTMENU_ITEMS_HIDE_ROW]:["Sakrij redak","Sakrij retke"],[T.CONTEXTMENU_ITEMS_SHOW_ROW]:["Prikaži redak","Prikaži retke"],[T.FILTERS_CONDITIONS_NONE]:"Ništa",[T.FILTERS_CONDITIONS_EMPTY]:"Prazno",[T.FILTERS_CONDITIONS_NOT_EMPTY]:"Nije prazno",[T.FILTERS_CONDITIONS_EQUAL]:"Jednako",[T.FILTERS_CONDITIONS_NOT_EQUAL]:"Nije jednako",[T.FILTERS_CONDITIONS_BEGINS_WITH]:"Počinje s",[T.FILTERS_CONDITIONS_ENDS_WITH]:"Završava s",[T.FILTERS_CONDITIONS_CONTAINS]:"Sadrži",[T.FILTERS_CONDITIONS_NOT_CONTAIN]:"Ne sadrži",[T.FILTERS_CONDITIONS_GREATER_THAN]:"Veće od",[T.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]:"Veće ili jednako od",[T.FILTERS_CONDITIONS_LESS_THAN]:"Manje od",[T.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]:"Manje ili jednako od",[T.FILTERS_CONDITIONS_BETWEEN]:"Između",[T.FILTERS_CONDITIONS_NOT_BETWEEN]:"Nije između",[T.FILTERS_CONDITIONS_AFTER]:"Nakon",[T.FILTERS_CONDITIONS_BEFORE]:"Prije",[T.FILTERS_CONDITIONS_TODAY]:"Danas",[T.FILTERS_CONDITIONS_TOMORROW]:"Sutra",[T.FILTERS_CONDITIONS_YESTERDAY]:"Jučer",[T.FILTERS_VALUES_BLANK_CELLS]:"Prazna polja",[T.FILTERS_DIVS_FILTER_BY_CONDITION]:"Filtriraj po uvjetu",[T.FILTERS_DIVS_FILTER_BY_VALUE]:"Filtriraj po vrijednosti",[T.FILTERS_LABELS_CONJUNCTION]:"I",[T.FILTERS_LABELS_DISJUNCTION]:"Ili",[T.FILTERS_BUTTONS_SELECT_ALL]:"Odaberi sve",[T.FILTERS_BUTTONS_CLEAR]:"Očisti",[T.FILTERS_BUTTONS_OK]:"U redu",[T.FILTERS_BUTTONS_CANCEL]:"Odustani",[T.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]:"Pretraži",[T.FILTERS_BUTTONS_PLACEHOLDER_VALUE]:"Vrijednost",[T.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]:"Druga vrijednost",[T.CHECKBOX_CHECKED]:"Označeno",[T.CHECKBOX_UNCHECKED]:"Nije označeno"};E.default.languages.registerLanguageDictionary(_)})(),O=O.___})()));
|
package/editorManager.js
CHANGED
@@ -29,7 +29,6 @@ class EditorManager {
|
|
29
29
|
*
|
30
30
|
* @param {MouseEvent} event The mouse event object.
|
31
31
|
* @param {object} coords The cell coordinates.
|
32
|
-
* @param {HTMLTableCellElement|HTMLTableHeaderCellElement} elem The element which triggers the action.
|
33
32
|
*/
|
34
33
|
_classPrivateMethodInitSpec(this, _onCellDblClick);
|
35
34
|
/**
|
@@ -220,6 +219,19 @@ class EditorManager {
|
|
220
219
|
this.clearActiveEditor();
|
221
220
|
return;
|
222
221
|
}
|
222
|
+
const selection = this.hot.getSelectedRangeLast();
|
223
|
+
let allowOpening = this.hot.runHooks('beforeBeginEditing', selection.highlight.row, selection.highlight.col, newInitialValue, event, enableFullEditMode);
|
224
|
+
|
225
|
+
// If the above hook does not return boolean apply default behavior which disallows opening
|
226
|
+
// an editor after double mouse click for non-contiguous selection (while pressing Ctrl/Cmd) and
|
227
|
+
// for multiple selected cells (while pressing SHIFT).
|
228
|
+
if (event instanceof MouseEvent && typeof allowOpening !== 'boolean') {
|
229
|
+
allowOpening = this.hot.selection.getLayerLevel() === 0 && selection.isSingle();
|
230
|
+
}
|
231
|
+
if (allowOpening === false) {
|
232
|
+
this.clearActiveEditor();
|
233
|
+
return;
|
234
|
+
}
|
223
235
|
if (!this.activeEditor) {
|
224
236
|
this.hot.scrollToFocusedCell();
|
225
237
|
this.prepareEditor();
|
@@ -373,9 +385,8 @@ function _onAfterDocumentKeyDown2(event) {
|
|
373
385
|
}
|
374
386
|
}
|
375
387
|
}
|
376
|
-
function _onCellDblClick2(event, coords
|
377
|
-
|
378
|
-
if (elem.nodeName === 'TD') {
|
388
|
+
function _onCellDblClick2(event, coords) {
|
389
|
+
if (coords.isCell()) {
|
379
390
|
this.openEditor(null, event, true);
|
380
391
|
}
|
381
392
|
}
|
package/editorManager.mjs
CHANGED
@@ -25,7 +25,6 @@ class EditorManager {
|
|
25
25
|
*
|
26
26
|
* @param {MouseEvent} event The mouse event object.
|
27
27
|
* @param {object} coords The cell coordinates.
|
28
|
-
* @param {HTMLTableCellElement|HTMLTableHeaderCellElement} elem The element which triggers the action.
|
29
28
|
*/
|
30
29
|
_classPrivateMethodInitSpec(this, _onCellDblClick);
|
31
30
|
/**
|
@@ -216,6 +215,19 @@ class EditorManager {
|
|
216
215
|
this.clearActiveEditor();
|
217
216
|
return;
|
218
217
|
}
|
218
|
+
const selection = this.hot.getSelectedRangeLast();
|
219
|
+
let allowOpening = this.hot.runHooks('beforeBeginEditing', selection.highlight.row, selection.highlight.col, newInitialValue, event, enableFullEditMode);
|
220
|
+
|
221
|
+
// If the above hook does not return boolean apply default behavior which disallows opening
|
222
|
+
// an editor after double mouse click for non-contiguous selection (while pressing Ctrl/Cmd) and
|
223
|
+
// for multiple selected cells (while pressing SHIFT).
|
224
|
+
if (event instanceof MouseEvent && typeof allowOpening !== 'boolean') {
|
225
|
+
allowOpening = this.hot.selection.getLayerLevel() === 0 && selection.isSingle();
|
226
|
+
}
|
227
|
+
if (allowOpening === false) {
|
228
|
+
this.clearActiveEditor();
|
229
|
+
return;
|
230
|
+
}
|
219
231
|
if (!this.activeEditor) {
|
220
232
|
this.hot.scrollToFocusedCell();
|
221
233
|
this.prepareEditor();
|
@@ -369,9 +381,8 @@ function _onAfterDocumentKeyDown2(event) {
|
|
369
381
|
}
|
370
382
|
}
|
371
383
|
}
|
372
|
-
function _onCellDblClick2(event, coords
|
373
|
-
|
374
|
-
if (elem.nodeName === 'TD') {
|
384
|
+
function _onCellDblClick2(event, coords) {
|
385
|
+
if (coords.isCell()) {
|
375
386
|
this.openEditor(null, event, true);
|
376
387
|
}
|
377
388
|
}
|
@@ -163,7 +163,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
163
163
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
164
164
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
165
165
|
* @param {*} value The rendered value.
|
166
|
-
* @param {object} cellProperties The cell meta object ({@
|
166
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
167
167
|
*/
|
168
168
|
prepare(row, col, prop, td, value, cellProperties) {
|
169
169
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -221,7 +221,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
221
221
|
}
|
222
222
|
TD.innerHTML = cellValue;
|
223
223
|
},
|
224
|
-
|
224
|
+
afterSelectionEnd: (startRow, startCol) => {
|
225
225
|
if (rootInstanceAriaTagsEnabled) {
|
226
226
|
const TD = this.htEditor.getCell(startRow, startCol, true);
|
227
227
|
(0, _element.setAttribute)(TD, [(0, _a11y.A11Y_SELECTED)()]);
|
@@ -160,7 +160,7 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
160
160
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
161
161
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
162
162
|
* @param {*} value The rendered value.
|
163
|
-
* @param {object} cellProperties The cell meta object ({@
|
163
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
164
164
|
*/
|
165
165
|
prepare(row, col, prop, td, value, cellProperties) {
|
166
166
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -218,7 +218,7 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
218
218
|
}
|
219
219
|
TD.innerHTML = cellValue;
|
220
220
|
},
|
221
|
-
|
221
|
+
afterSelectionEnd: (startRow, startCol) => {
|
222
222
|
if (rootInstanceAriaTagsEnabled) {
|
223
223
|
const TD = this.htEditor.getCell(startRow, startCol, true);
|
224
224
|
setAttribute(TD, [A11Y_SELECTED()]);
|
@@ -163,7 +163,7 @@ class BaseEditor {
|
|
163
163
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
164
164
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
165
165
|
* @param {*} value The rendered value.
|
166
|
-
* @param {object} cellProperties The cell meta object ({@
|
166
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
167
167
|
*/
|
168
168
|
prepare(row, col, prop, td, value, cellProperties) {
|
169
169
|
this.TD = td;
|
@@ -159,7 +159,7 @@ export class BaseEditor {
|
|
159
159
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
160
160
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
161
161
|
* @param {*} value The rendered value.
|
162
|
-
* @param {object} cellProperties The cell meta object ({@
|
162
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
163
163
|
*/
|
164
164
|
prepare(row, col, prop, td, value, cellProperties) {
|
165
165
|
this.TD = td;
|
@@ -14,11 +14,12 @@ class CheckboxEditor extends _baseEditor.BaseEditor {
|
|
14
14
|
return EDITOR_TYPE;
|
15
15
|
}
|
16
16
|
beginEditing(initialValue, event) {
|
17
|
-
// Just some events connected with checkbox editor are delegated here. Some `keydown` events like `enter` and
|
18
|
-
// are handled inside `checkboxRenderer`. Some events come here from `editorManager`.
|
19
|
-
// for purpose of handling only `doubleclick` event
|
17
|
+
// Just some events connected with the checkbox editor are delegated here. Some `keydown` events like `enter` and
|
18
|
+
// `space` key presses are handled inside `checkboxRenderer`. Some events come here from `editorManager`. The below
|
19
|
+
// `if` statement was created by the author for the purpose of handling only the `doubleclick` event on the TD
|
20
|
+
// element with a checkbox.
|
20
21
|
|
21
|
-
if (event && event.type === 'mouseup') {
|
22
|
+
if (event && event.type === 'mouseup' && event.target.nodeName === 'TD') {
|
22
23
|
const checkbox = this.TD.querySelector('input[type="checkbox"]');
|
23
24
|
if (!(0, _element.hasClass)(checkbox, 'htBadValue')) {
|
24
25
|
checkbox.click();
|
@@ -11,11 +11,12 @@ export class CheckboxEditor extends BaseEditor {
|
|
11
11
|
return EDITOR_TYPE;
|
12
12
|
}
|
13
13
|
beginEditing(initialValue, event) {
|
14
|
-
// Just some events connected with checkbox editor are delegated here. Some `keydown` events like `enter` and
|
15
|
-
// are handled inside `checkboxRenderer`. Some events come here from `editorManager`.
|
16
|
-
// for purpose of handling only `doubleclick` event
|
14
|
+
// Just some events connected with the checkbox editor are delegated here. Some `keydown` events like `enter` and
|
15
|
+
// `space` key presses are handled inside `checkboxRenderer`. Some events come here from `editorManager`. The below
|
16
|
+
// `if` statement was created by the author for the purpose of handling only the `doubleclick` event on the TD
|
17
|
+
// element with a checkbox.
|
17
18
|
|
18
|
-
if (event && event.type === 'mouseup') {
|
19
|
+
if (event && event.type === 'mouseup' && event.target.nodeName === 'TD') {
|
19
20
|
const checkbox = this.TD.querySelector('input[type="checkbox"]');
|
20
21
|
if (!hasClass(checkbox, 'htBadValue')) {
|
21
22
|
checkbox.click();
|
@@ -100,7 +100,7 @@ class DateEditor extends _textEditor.TextEditor {
|
|
100
100
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
101
101
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
102
102
|
* @param {*} value The rendered value.
|
103
|
-
* @param {object} cellProperties The cell meta object ({@
|
103
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
104
104
|
*/
|
105
105
|
prepare(row, col, prop, td, value, cellProperties) {
|
106
106
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -96,7 +96,7 @@ export class DateEditor extends TextEditor {
|
|
96
96
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
97
97
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
98
98
|
* @param {*} value The rendered value.
|
99
|
-
* @param {object} cellProperties The cell meta object ({@
|
99
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
100
100
|
*/
|
101
101
|
prepare(row, col, prop, td, value, cellProperties) {
|
102
102
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -21,7 +21,7 @@ class DropdownEditor extends _autocompleteEditor.AutocompleteEditor {
|
|
21
21
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
22
22
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
23
23
|
* @param {*} value The rendered value.
|
24
|
-
* @param {object} cellProperties The cell meta object ({@
|
24
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
25
25
|
*/
|
26
26
|
prepare(row, col, prop, td, value, cellProperties) {
|
27
27
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -17,7 +17,7 @@ export class DropdownEditor extends AutocompleteEditor {
|
|
17
17
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
18
18
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
19
19
|
* @param {*} value The rendered value.
|
20
|
-
* @param {object} cellProperties The cell meta object ({@
|
20
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
21
21
|
*/
|
22
22
|
prepare(row, col, prop, td, value, cellProperties) {
|
23
23
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -62,7 +62,7 @@ class HandsontableEditor extends _textEditor.TextEditor {
|
|
62
62
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
63
63
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
64
64
|
* @param {*} value The rendered value.
|
65
|
-
* @param {object} cellProperties The cell meta object ({@
|
65
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
66
66
|
*/
|
67
67
|
prepare(row, col, prop, td, value, cellProperties) {
|
68
68
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -59,7 +59,7 @@ export class HandsontableEditor extends TextEditor {
|
|
59
59
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
60
60
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
61
61
|
* @param {*} value The rendered value.
|
62
|
-
* @param {object} cellProperties The cell meta object ({@
|
62
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
63
63
|
*/
|
64
64
|
prepare(row, col, prop, td, value, cellProperties) {
|
65
65
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -99,7 +99,7 @@ class SelectEditor extends _baseEditor.BaseEditor {
|
|
99
99
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
100
100
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
101
101
|
* @param {*} value The rendered value.
|
102
|
-
* @param {object} cellProperties The cell meta object ({@
|
102
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
103
103
|
*/
|
104
104
|
prepare(row, col, prop, td, value, cellProperties) {
|
105
105
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -96,7 +96,7 @@ export class SelectEditor extends BaseEditor {
|
|
96
96
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
97
97
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
98
98
|
* @param {*} value The rendered value.
|
99
|
-
* @param {object} cellProperties The cell meta object ({@
|
99
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
100
100
|
*/
|
101
101
|
prepare(row, col, prop, td, value, cellProperties) {
|
102
102
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -140,7 +140,7 @@ class TextEditor extends _baseEditor.BaseEditor {
|
|
140
140
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
141
141
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
142
142
|
* @param {*} value The rendered value.
|
143
|
-
* @param {object} cellProperties The cell meta object ({@
|
143
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
144
144
|
*/
|
145
145
|
prepare(row, col, prop, td, value, cellProperties) {
|
146
146
|
const previousState = this.state;
|
@@ -245,7 +245,6 @@ class TextEditor extends _baseEditor.BaseEditor {
|
|
245
245
|
this.textareaParentStyle[this.hot.isRtl() ? 'left' : 'right'] = 'auto';
|
246
246
|
this.textareaParentStyle.opacity = '1';
|
247
247
|
this.textareaStyle.textIndent = '';
|
248
|
-
this.textareaStyle.overflowY = 'hidden';
|
249
248
|
const childNodes = this.TEXTAREA_PARENT.childNodes;
|
250
249
|
let hasClassHandsontableEditor = false;
|
251
250
|
(0, _number.rangeEach)(childNodes.length - 1, index => {
|
@@ -136,7 +136,7 @@ export class TextEditor extends BaseEditor {
|
|
136
136
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
137
137
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
138
138
|
* @param {*} value The rendered value.
|
139
|
-
* @param {object} cellProperties The cell meta object ({@
|
139
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
140
140
|
*/
|
141
141
|
prepare(row, col, prop, td, value, cellProperties) {
|
142
142
|
const previousState = this.state;
|
@@ -241,7 +241,6 @@ export class TextEditor extends BaseEditor {
|
|
241
241
|
this.textareaParentStyle[this.hot.isRtl() ? 'left' : 'right'] = 'auto';
|
242
242
|
this.textareaParentStyle.opacity = '1';
|
243
243
|
this.textareaStyle.textIndent = '';
|
244
|
-
this.textareaStyle.overflowY = 'hidden';
|
245
244
|
const childNodes = this.TEXTAREA_PARENT.childNodes;
|
246
245
|
let hasClassHandsontableEditor = false;
|
247
246
|
rangeEach(childNodes.length - 1, index => {
|
@@ -21,7 +21,7 @@ class TimeEditor extends _textEditor.TextEditor {
|
|
21
21
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
22
22
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
23
23
|
* @param {*} value The rendered value.
|
24
|
-
* @param {object} cellProperties The cell meta object ({@
|
24
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
25
25
|
*/
|
26
26
|
prepare(row, col, prop, td, value, cellProperties) {
|
27
27
|
super.prepare(row, col, prop, td, value, cellProperties);
|
@@ -18,7 +18,7 @@ export class TimeEditor extends TextEditor {
|
|
18
18
|
* @param {number|string} prop The column property (passed when datasource is an array of objects).
|
19
19
|
* @param {HTMLTableCellElement} td The rendered cell element.
|
20
20
|
* @param {*} value The rendered value.
|
21
|
-
* @param {object} cellProperties The cell meta object ({@
|
21
|
+
* @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}).
|
22
22
|
*/
|
23
23
|
prepare(row, col, prop, td, value, cellProperties) {
|
24
24
|
super.prepare(row, col, prop, td, value, cellProperties);
|
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 = "14.
|
137
|
+
const hotVersion = "14.2.0-next-4873a35-20240228";
|
138
138
|
let keyValidityDate;
|
139
139
|
let consoleMessageState = 'invalid';
|
140
140
|
let domMessageState = 'invalid';
|
@@ -142,7 +142,7 @@ function _injectProductInfo(key, element) {
|
|
142
142
|
const schemaValidity = _checkKeySchema(key);
|
143
143
|
if (hasValidType || isNonCommercial || schemaValidity) {
|
144
144
|
if (schemaValidity) {
|
145
|
-
const releaseDate = (0, _moment.default)("
|
145
|
+
const releaseDate = (0, _moment.default)("06/03/2024", 'DD/MM/YYYY');
|
146
146
|
const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
|
147
147
|
const keyValidityDays = _extractTime(key);
|
148
148
|
keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
|
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 = "14.
|
127
|
+
const hotVersion = "14.2.0-next-4873a35-20240228";
|
128
128
|
let keyValidityDate;
|
129
129
|
let consoleMessageState = 'invalid';
|
130
130
|
let domMessageState = 'invalid';
|
@@ -132,7 +132,7 @@ export function _injectProductInfo(key, element) {
|
|
132
132
|
const schemaValidity = _checkKeySchema(key);
|
133
133
|
if (hasValidType || isNonCommercial || schemaValidity) {
|
134
134
|
if (schemaValidity) {
|
135
|
-
const releaseDate = moment("
|
135
|
+
const releaseDate = moment("06/03/2024", 'DD/MM/YYYY');
|
136
136
|
const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
|
137
137
|
const keyValidityDays = _extractTime(key);
|
138
138
|
keyValidityDate = moment((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
|
package/helpers/moves.js
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
exports.getMoves = getMoves;
|
5
|
+
require("core-js/modules/es.array.push.js");
|
6
|
+
/**
|
7
|
+
* Gets first position where to move element (respecting the fact that some element will be sooner or later
|
8
|
+
* taken out of the dataset in order to move them).
|
9
|
+
*
|
10
|
+
* @param {Array<number>} movedIndexes Sequence of moved indexes for certain axis.
|
11
|
+
* @param {number} finalIndex Final place where to move rows.
|
12
|
+
* @param {number} numberOfIndexes Number of indexes in a dataset.
|
13
|
+
* @returns {number} Index informing where to move the first element.
|
14
|
+
*/
|
15
|
+
function getMoveLine(movedIndexes, finalIndex, numberOfIndexes) {
|
16
|
+
const notMovedElements = Array.from(Array(numberOfIndexes).keys()).filter(index => movedIndexes.includes(index) === false);
|
17
|
+
if (finalIndex === 0) {
|
18
|
+
var _notMovedElements$fin;
|
19
|
+
return (_notMovedElements$fin = notMovedElements[finalIndex]) !== null && _notMovedElements$fin !== void 0 ? _notMovedElements$fin : 0; // Moving before the first dataset's element.
|
20
|
+
}
|
21
|
+
return notMovedElements[finalIndex - 1] + 1; // Moving before another element.
|
22
|
+
}
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Gets initially calculated move positions.
|
26
|
+
*
|
27
|
+
* @param {Array<number>} movedIndexes Sequence of moved indexes for certain axis.
|
28
|
+
* @param {number} moveLine Final place where to move rows.
|
29
|
+
* @returns {Array<{from: number, to: number}>} Initially calculated move positions.
|
30
|
+
*/
|
31
|
+
function getInitiallyCalculatedMoves(movedIndexes, moveLine) {
|
32
|
+
const moves = [];
|
33
|
+
movedIndexes.forEach(movedIndex => {
|
34
|
+
const move = {
|
35
|
+
from: movedIndex,
|
36
|
+
to: moveLine
|
37
|
+
};
|
38
|
+
moves.forEach(previouslyMovedIndex => {
|
39
|
+
const isMovingFromEndToStart = previouslyMovedIndex.from > previouslyMovedIndex.to;
|
40
|
+
const isMovingElementBefore = previouslyMovedIndex.to <= move.from;
|
41
|
+
const isMovingAfterElement = previouslyMovedIndex.from > move.from;
|
42
|
+
if (isMovingAfterElement && isMovingElementBefore && isMovingFromEndToStart) {
|
43
|
+
move.from += 1;
|
44
|
+
}
|
45
|
+
});
|
46
|
+
|
47
|
+
// Moved element from right to left (or bottom to top).
|
48
|
+
if (move.from >= moveLine) {
|
49
|
+
moveLine += 1;
|
50
|
+
}
|
51
|
+
moves.push(move);
|
52
|
+
});
|
53
|
+
return moves;
|
54
|
+
}
|
55
|
+
|
56
|
+
/**
|
57
|
+
* Gets finally calculated move positions (after adjusting).
|
58
|
+
*
|
59
|
+
* @param {Array<{from: number, to: number}>} moves Initially calculated move positions.
|
60
|
+
* @returns {Array<{from: number, to: number}>} Finally calculated move positions (after adjusting).
|
61
|
+
*/
|
62
|
+
function adjustedCalculatedMoves(moves) {
|
63
|
+
moves.forEach((move, index) => {
|
64
|
+
const nextMoved = moves.slice(index + 1);
|
65
|
+
nextMoved.forEach(nextMovedIndex => {
|
66
|
+
const isMovingFromStartToEnd = nextMovedIndex.from < nextMovedIndex.to;
|
67
|
+
if (nextMovedIndex.from > move.from && isMovingFromStartToEnd) {
|
68
|
+
nextMovedIndex.from -= 1;
|
69
|
+
}
|
70
|
+
});
|
71
|
+
});
|
72
|
+
return moves;
|
73
|
+
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Get list of move positions.
|
77
|
+
*
|
78
|
+
* @param {Array<number>} movedIndexes Sequence of moved indexes for certain axis.
|
79
|
+
* @param {number} finalIndex Final place where to move rows.
|
80
|
+
* @param {number} numberOfIndexes Number of indexes in a dataset.
|
81
|
+
* @returns {Array<{from: number, to: number}>}
|
82
|
+
*/
|
83
|
+
function getMoves(movedIndexes, finalIndex, numberOfIndexes) {
|
84
|
+
const moves = getInitiallyCalculatedMoves(movedIndexes, getMoveLine(movedIndexes, finalIndex, numberOfIndexes));
|
85
|
+
return adjustedCalculatedMoves(moves);
|
86
|
+
}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import "core-js/modules/es.array.push.js";
|
2
|
+
/**
|
3
|
+
* Gets first position where to move element (respecting the fact that some element will be sooner or later
|
4
|
+
* taken out of the dataset in order to move them).
|
5
|
+
*
|
6
|
+
* @param {Array<number>} movedIndexes Sequence of moved indexes for certain axis.
|
7
|
+
* @param {number} finalIndex Final place where to move rows.
|
8
|
+
* @param {number} numberOfIndexes Number of indexes in a dataset.
|
9
|
+
* @returns {number} Index informing where to move the first element.
|
10
|
+
*/
|
11
|
+
function getMoveLine(movedIndexes, finalIndex, numberOfIndexes) {
|
12
|
+
const notMovedElements = Array.from(Array(numberOfIndexes).keys()).filter(index => movedIndexes.includes(index) === false);
|
13
|
+
if (finalIndex === 0) {
|
14
|
+
var _notMovedElements$fin;
|
15
|
+
return (_notMovedElements$fin = notMovedElements[finalIndex]) !== null && _notMovedElements$fin !== void 0 ? _notMovedElements$fin : 0; // Moving before the first dataset's element.
|
16
|
+
}
|
17
|
+
return notMovedElements[finalIndex - 1] + 1; // Moving before another element.
|
18
|
+
}
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Gets initially calculated move positions.
|
22
|
+
*
|
23
|
+
* @param {Array<number>} movedIndexes Sequence of moved indexes for certain axis.
|
24
|
+
* @param {number} moveLine Final place where to move rows.
|
25
|
+
* @returns {Array<{from: number, to: number}>} Initially calculated move positions.
|
26
|
+
*/
|
27
|
+
function getInitiallyCalculatedMoves(movedIndexes, moveLine) {
|
28
|
+
const moves = [];
|
29
|
+
movedIndexes.forEach(movedIndex => {
|
30
|
+
const move = {
|
31
|
+
from: movedIndex,
|
32
|
+
to: moveLine
|
33
|
+
};
|
34
|
+
moves.forEach(previouslyMovedIndex => {
|
35
|
+
const isMovingFromEndToStart = previouslyMovedIndex.from > previouslyMovedIndex.to;
|
36
|
+
const isMovingElementBefore = previouslyMovedIndex.to <= move.from;
|
37
|
+
const isMovingAfterElement = previouslyMovedIndex.from > move.from;
|
38
|
+
if (isMovingAfterElement && isMovingElementBefore && isMovingFromEndToStart) {
|
39
|
+
move.from += 1;
|
40
|
+
}
|
41
|
+
});
|
42
|
+
|
43
|
+
// Moved element from right to left (or bottom to top).
|
44
|
+
if (move.from >= moveLine) {
|
45
|
+
moveLine += 1;
|
46
|
+
}
|
47
|
+
moves.push(move);
|
48
|
+
});
|
49
|
+
return moves;
|
50
|
+
}
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Gets finally calculated move positions (after adjusting).
|
54
|
+
*
|
55
|
+
* @param {Array<{from: number, to: number}>} moves Initially calculated move positions.
|
56
|
+
* @returns {Array<{from: number, to: number}>} Finally calculated move positions (after adjusting).
|
57
|
+
*/
|
58
|
+
function adjustedCalculatedMoves(moves) {
|
59
|
+
moves.forEach((move, index) => {
|
60
|
+
const nextMoved = moves.slice(index + 1);
|
61
|
+
nextMoved.forEach(nextMovedIndex => {
|
62
|
+
const isMovingFromStartToEnd = nextMovedIndex.from < nextMovedIndex.to;
|
63
|
+
if (nextMovedIndex.from > move.from && isMovingFromStartToEnd) {
|
64
|
+
nextMovedIndex.from -= 1;
|
65
|
+
}
|
66
|
+
});
|
67
|
+
});
|
68
|
+
return moves;
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Get list of move positions.
|
73
|
+
*
|
74
|
+
* @param {Array<number>} movedIndexes Sequence of moved indexes for certain axis.
|
75
|
+
* @param {number} finalIndex Final place where to move rows.
|
76
|
+
* @param {number} numberOfIndexes Number of indexes in a dataset.
|
77
|
+
* @returns {Array<{from: number, to: number}>}
|
78
|
+
*/
|
79
|
+
export function getMoves(movedIndexes, finalIndex, numberOfIndexes) {
|
80
|
+
const moves = getInitiallyCalculatedMoves(movedIndexes, getMoveLine(movedIndexes, finalIndex, numberOfIndexes));
|
81
|
+
return adjustedCalculatedMoves(moves);
|
82
|
+
}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
var C = _interopRequireWildcard(require("../constants"));
|
5
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
6
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
7
|
+
/**
|
8
|
+
* @preserve
|
9
|
+
* Authors: Domagoj Lončarić & Ante Živković
|
10
|
+
* Last updated: Jan 31, 2024
|
11
|
+
*
|
12
|
+
* Description: Definition file for Croatian - Croatia language-country.
|
13
|
+
*/
|
14
|
+
|
15
|
+
const dictionary = {
|
16
|
+
languageCode: 'hr-HR',
|
17
|
+
[C.CONTEXTMENU_ITEMS_NO_ITEMS]: 'Nema dostupnih mogućnosti',
|
18
|
+
[C.CONTEXTMENU_ITEMS_ROW_ABOVE]: 'Umetni redak iznad',
|
19
|
+
[C.CONTEXTMENU_ITEMS_ROW_BELOW]: 'Umetni redak ispod',
|
20
|
+
[C.CONTEXTMENU_ITEMS_INSERT_LEFT]: 'Umetni stupac lijevo',
|
21
|
+
[C.CONTEXTMENU_ITEMS_INSERT_RIGHT]: 'Umetni stupac desno',
|
22
|
+
[C.CONTEXTMENU_ITEMS_REMOVE_ROW]: ['Ukloni redak', 'Ukloni retke'],
|
23
|
+
[C.CONTEXTMENU_ITEMS_REMOVE_COLUMN]: ['Ukloni stupac', 'Ukloni stupce'],
|
24
|
+
[C.CONTEXTMENU_ITEMS_UNDO]: 'Poništi',
|
25
|
+
[C.CONTEXTMENU_ITEMS_REDO]: 'Ponovi',
|
26
|
+
[C.CONTEXTMENU_ITEMS_READ_ONLY]: 'Samo za čitanje',
|
27
|
+
[C.CONTEXTMENU_ITEMS_CLEAR_COLUMN]: 'Očisti stupac',
|
28
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT]: 'Poravnanje',
|
29
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]: 'Lijevo',
|
30
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]: 'Centar',
|
31
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]: 'Desno',
|
32
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]: 'Obostrano',
|
33
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]: 'Gore',
|
34
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]: 'Sredina',
|
35
|
+
[C.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]: 'Dolje',
|
36
|
+
[C.CONTEXTMENU_ITEMS_FREEZE_COLUMN]: 'Zamrzni stupac',
|
37
|
+
[C.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]: 'Odmrzni stupac',
|
38
|
+
[C.CONTEXTMENU_ITEMS_BORDERS]: 'Granice',
|
39
|
+
[C.CONTEXTMENU_ITEMS_BORDERS_TOP]: 'Gore',
|
40
|
+
[C.CONTEXTMENU_ITEMS_BORDERS_RIGHT]: 'Desno',
|
41
|
+
[C.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]: 'Dolje',
|
42
|
+
[C.CONTEXTMENU_ITEMS_BORDERS_LEFT]: 'Lijevo',
|
43
|
+
[C.CONTEXTMENU_ITEMS_REMOVE_BORDERS]: 'Ukloni granicu(e)',
|
44
|
+
[C.CONTEXTMENU_ITEMS_ADD_COMMENT]: 'Dodaj komentar',
|
45
|
+
[C.CONTEXTMENU_ITEMS_EDIT_COMMENT]: 'Uredi komentar',
|
46
|
+
[C.CONTEXTMENU_ITEMS_REMOVE_COMMENT]: 'Izbriši komentar',
|
47
|
+
[C.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]: 'Komentar samo za čitanje',
|
48
|
+
[C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji čelije',
|
49
|
+
[C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Razdijeli čelije',
|
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 grupnim zaglavljem', 'Kopiraj sa grupnim zaglavljima'],
|
53
|
+
[C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
|
54
|
+
[C.CONTEXTMENU_ITEMS_CUT]: 'Izreži',
|
55
|
+
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Umetni ugniježđeni redak',
|
56
|
+
[C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugniježđeni redak',
|
57
|
+
[C.CONTEXTMENU_ITEMS_HIDE_COLUMN]: ['Sakrij stupac', 'Sakrij stupce'],
|
58
|
+
[C.CONTEXTMENU_ITEMS_SHOW_COLUMN]: ['Prikaži stupac', 'Prikaži stupce'],
|
59
|
+
[C.CONTEXTMENU_ITEMS_HIDE_ROW]: ['Sakrij redak', 'Sakrij retke'],
|
60
|
+
[C.CONTEXTMENU_ITEMS_SHOW_ROW]: ['Prikaži redak', 'Prikaži retke'],
|
61
|
+
[C.FILTERS_CONDITIONS_NONE]: 'Ništa',
|
62
|
+
[C.FILTERS_CONDITIONS_EMPTY]: 'Prazno',
|
63
|
+
[C.FILTERS_CONDITIONS_NOT_EMPTY]: 'Nije prazno',
|
64
|
+
[C.FILTERS_CONDITIONS_EQUAL]: 'Jednako',
|
65
|
+
[C.FILTERS_CONDITIONS_NOT_EQUAL]: 'Nije jednako',
|
66
|
+
[C.FILTERS_CONDITIONS_BEGINS_WITH]: 'Počinje s',
|
67
|
+
[C.FILTERS_CONDITIONS_ENDS_WITH]: 'Završava s',
|
68
|
+
[C.FILTERS_CONDITIONS_CONTAINS]: 'Sadrži',
|
69
|
+
[C.FILTERS_CONDITIONS_NOT_CONTAIN]: 'Ne sadrži',
|
70
|
+
[C.FILTERS_CONDITIONS_GREATER_THAN]: 'Veće od',
|
71
|
+
[C.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]: 'Veće ili jednako od',
|
72
|
+
[C.FILTERS_CONDITIONS_LESS_THAN]: 'Manje od',
|
73
|
+
[C.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]: 'Manje ili jednako od',
|
74
|
+
[C.FILTERS_CONDITIONS_BETWEEN]: 'Između',
|
75
|
+
[C.FILTERS_CONDITIONS_NOT_BETWEEN]: 'Nije između',
|
76
|
+
[C.FILTERS_CONDITIONS_AFTER]: 'Nakon',
|
77
|
+
[C.FILTERS_CONDITIONS_BEFORE]: 'Prije',
|
78
|
+
[C.FILTERS_CONDITIONS_TODAY]: 'Danas',
|
79
|
+
[C.FILTERS_CONDITIONS_TOMORROW]: 'Sutra',
|
80
|
+
[C.FILTERS_CONDITIONS_YESTERDAY]: 'Jučer',
|
81
|
+
[C.FILTERS_VALUES_BLANK_CELLS]: 'Prazna polja',
|
82
|
+
[C.FILTERS_DIVS_FILTER_BY_CONDITION]: 'Filtriraj po uvjetu',
|
83
|
+
[C.FILTERS_DIVS_FILTER_BY_VALUE]: 'Filtriraj po vrijednosti',
|
84
|
+
[C.FILTERS_LABELS_CONJUNCTION]: 'I',
|
85
|
+
[C.FILTERS_LABELS_DISJUNCTION]: 'Ili',
|
86
|
+
[C.FILTERS_BUTTONS_SELECT_ALL]: 'Odaberi sve',
|
87
|
+
[C.FILTERS_BUTTONS_CLEAR]: 'Očisti',
|
88
|
+
[C.FILTERS_BUTTONS_OK]: 'U redu',
|
89
|
+
[C.FILTERS_BUTTONS_CANCEL]: 'Odustani',
|
90
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Pretraži',
|
91
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Vrijednost',
|
92
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga vrijednost',
|
93
|
+
[C.CHECKBOX_CHECKED]: 'Označeno',
|
94
|
+
[C.CHECKBOX_UNCHECKED]: 'Nije označeno'
|
95
|
+
};
|
96
|
+
var _default = exports.default = dictionary;
|