react-table-edit 1.4.13 → 1.4.14

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/dist/index.mjs CHANGED
@@ -42273,19 +42273,40 @@ const isSelectMenuOpen = (element) => {
42273
42273
  return element && ["select__control--menu-is-open", "select-100__control--menu-is-open", "select-200__control--menu-is-open", "select-300__control--menu-is-open", "select-400__control--menu-is-open", "select-500__control--menu-is-open"].some(className => element.getElementsByClassName(className).length > 0);
42274
42274
  };
42275
42275
  const handleArrowUp = (e, params) => {
42276
- const { idElement, indexCol, indexRow, pagingClient, pagingSetting, setIndexFocus, focusNewElement } = params;
42277
- const element = document.getElementById(idElement);
42278
- if (!isSelectMenuOpen(element)) {
42279
- if (indexRow > 1) {
42280
- if (pagingClient && (pagingSetting?.currentPage ?? 0) !== 1 && (indexRow % (pagingSetting?.pageSize ?? 0)) === 1 && pagingSetting?.setCurrentPage) {
42281
- pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) - 1);
42282
- }
42283
- setIndexFocus(indexRow - 2);
42284
- focusNewElement(indexCol, indexRow - 1, true);
42276
+ const { idElement, indexCol, indexRow, pagingClient, pagingSetting, setIndexFocus, focusNewElement, rowChange, changeDataSource, contentColumns, dataSource, row } = params;
42277
+ if ((e.ctrlKey || e.metaKey) && e.shiftKey) {
42278
+ if (indexRow > 0) {
42279
+ const column = contentColumns[indexCol - 1];
42280
+ for (let index = indexRow - 1; index > 0; index--) {
42281
+ const element = dataSource[index];
42282
+ element[column.field ?? ''] = row[column.field ?? ''];
42283
+ if (column.callback && column.callbackValue) {
42284
+ const value = column.callbackValue(row);
42285
+ column.callback(value, index, element);
42286
+ }
42287
+ if (rowChange) {
42288
+ rowChange(element, indexRow, column.field);
42289
+ }
42290
+ }
42291
+ changeDataSource(dataSource);
42285
42292
  e.preventDefault();
42286
42293
  return e.code;
42287
42294
  }
42288
42295
  }
42296
+ else {
42297
+ const element = document.getElementById(idElement);
42298
+ if (!isSelectMenuOpen(element)) {
42299
+ if (indexRow > 1) {
42300
+ if (pagingClient && (pagingSetting?.currentPage ?? 0) !== 1 && (indexRow % (pagingSetting?.pageSize ?? 0)) === 1 && pagingSetting?.setCurrentPage) {
42301
+ pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) - 1);
42302
+ }
42303
+ setIndexFocus(indexRow - 2);
42304
+ focusNewElement(indexCol, indexRow - 1, true);
42305
+ e.preventDefault();
42306
+ return e.code;
42307
+ }
42308
+ }
42309
+ }
42289
42310
  };
42290
42311
  const handleArrowDown = (e, params) => {
42291
42312
  const { idElement, indexCol, indexRow, totalCount, pagingClient, pagingSetting, setIndexFocus, focusNewElement, rowChange, changeDataSource, dataSource, contentColumns, row } = params;
@@ -42304,9 +42325,9 @@ const handleArrowDown = (e, params) => {
42304
42325
  }
42305
42326
  }
42306
42327
  changeDataSource(dataSource);
42328
+ e.preventDefault();
42329
+ return e.code;
42307
42330
  }
42308
- e.preventDefault();
42309
- return e.code;
42310
42331
  }
42311
42332
  else {
42312
42333
  const element = document.getElementById(idElement);