ids-enterprise-wc 1.15.9-patch.12 → 1.15.9-patch.13

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.
Files changed (39) hide show
  1. package/chunks/{ids-chunk-EGZI5ZV3-full.js → ids-chunk-6YJ4HIUC-full.js} +16 -1
  2. package/chunks/{ids-chunk-EGZI5ZV3-full.js.map → ids-chunk-6YJ4HIUC-full.js.map} +2 -2
  3. package/chunks/{ids-chunk-MZTBZCHG-full.js → ids-chunk-CVY6XSRY-full.js} +17 -4
  4. package/chunks/ids-chunk-CVY6XSRY-full.js.map +7 -0
  5. package/chunks/{ids-chunk-A5IOTIO6-full.js → ids-chunk-DSWFDICX-full.js} +62 -14
  6. package/chunks/{ids-chunk-A5IOTIO6-full.js.map → ids-chunk-DSWFDICX-full.js.map} +2 -2
  7. package/chunks/{ids-chunk-FV5W3K6S-full.js → ids-chunk-O32SEXUF-full.js} +2 -2
  8. package/chunks/{ids-chunk-5GV6Y3WM-full.js → ids-chunk-OP5EXDDT-full.js} +2 -2
  9. package/components/ids-accordion/ids-accordion.css +93 -9
  10. package/components/ids-app-menu/ids-app-menu.css +23 -132
  11. package/components/ids-button/ids-button.css +392 -43
  12. package/components/ids-calendar/ids-calendar.css +190 -265
  13. package/components/ids-checkbox/ids-checkbox.css +7 -580
  14. package/components/ids-data-grid/ids-data-grid-cell.js +1 -1
  15. package/components/ids-data-grid/ids-data-grid-editors.js +1 -1
  16. package/components/ids-data-grid/ids-data-grid-filters.js +2 -2
  17. package/components/ids-data-grid/ids-data-grid-row.js +2 -2
  18. package/components/ids-data-grid/ids-data-grid.js +5 -5
  19. package/components/ids-hierarchy/ids-hierarchy.css +117 -14
  20. package/components/ids-layout-grid/ids-layout-grid.css +10 -21300
  21. package/components/ids-list-box/ids-list-box.css +66 -98
  22. package/components/ids-list-view/ids-list-view.css +15 -112
  23. package/components/ids-menu/ids-menu.css +335 -11
  24. package/components/ids-modal/ids-modal.css +23 -94
  25. package/components/ids-pager/ids-pager.css +3 -37
  26. package/components/ids-swappable/ids-swappable.css +84 -19
  27. package/components/ids-tabs/ids-tabs.css +264 -470
  28. package/components/ids-tag/ids-tag.css +152 -8
  29. package/components/ids-time-picker/ids-time-picker.css +49 -67
  30. package/components/ids-toolbar/ids-toolbar.css +122 -12
  31. package/custom-elements.json +2769 -2749
  32. package/enterprise-wc.all.iife.js +88 -12
  33. package/enterprise-wc.all.iife.js.map +2 -2
  34. package/enterprise-wc.js +5 -5
  35. package/package.json +1 -1
  36. package/vscode.html-custom-data.json +1 -1
  37. package/chunks/ids-chunk-MZTBZCHG-full.js.map +0 -7
  38. /package/chunks/{ids-chunk-FV5W3K6S-full.js.map → ids-chunk-O32SEXUF-full.js.map} +0 -0
  39. /package/chunks/{ids-chunk-5GV6Y3WM-full.js.map → ids-chunk-OP5EXDDT-full.js.map} +0 -0
@@ -24,7 +24,7 @@ import {
24
24
  } from "./ids-chunk-6QUPN2OT-full.js";
25
25
  import {
26
26
  editors
27
- } from "./ids-chunk-MZTBZCHG-full.js";
27
+ } from "./ids-chunk-CVY6XSRY-full.js";
28
28
  import {
29
29
  IdsDataGridToggleEmptyMessage,
30
30
  emptyMessageTemplate,
@@ -34,7 +34,7 @@ import {
34
34
  } from "./ids-chunk-3BYETIBG-full.js";
35
35
  import {
36
36
  IdsDataGridFilters
37
- } from "./ids-chunk-FV5W3K6S-full.js";
37
+ } from "./ids-chunk-O32SEXUF-full.js";
38
38
  import {
39
39
  IdsDataGridFormatters
40
40
  } from "./ids-chunk-LZ3MVUCD-full.js";
@@ -43,10 +43,10 @@ import {
43
43
  } from "./ids-chunk-HUXAWVOG-full.js";
44
44
  import {
45
45
  IdsDataGridRow
46
- } from "./ids-chunk-5GV6Y3WM-full.js";
46
+ } from "./ids-chunk-OP5EXDDT-full.js";
47
47
  import {
48
48
  IdsDataGridCell
49
- } from "./ids-chunk-EGZI5ZV3-full.js";
49
+ } from "./ids-chunk-6YJ4HIUC-full.js";
50
50
  import {
51
51
  DEFAULT_COLUMN_MIN_WIDTH
52
52
  } from "./ids-chunk-5XYPHVID-full.js";
@@ -4464,6 +4464,13 @@ var IdsDataGrid = class extends Base {
4464
4464
  * @param {boolean} isClear do not keep current data
4465
4465
  */
4466
4466
  updateDatasetAndRefresh(row, data, isClear) {
4467
+ if (this.activeCell.row === row && this.activeCellEditor?.isEditing) {
4468
+ this.commitCellEdit();
4469
+ const committedRow = this.data[row];
4470
+ if (committedRow && isClear) {
4471
+ data = { ...data, ...committedRow };
4472
+ }
4473
+ }
4467
4474
  const existingRow = this.data[row];
4468
4475
  __privateMethod(this, _IdsDataGrid_instances, saveCellOriginalValue_fn).call(this, existingRow, row, data);
4469
4476
  this.updateDataset(row, data, isClear);
@@ -6050,7 +6057,6 @@ attachCopyPasteCellHandlers_fn = function() {
6050
6057
  attachKeyboardListeners_fn = function() {
6051
6058
  this.listen(["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End"], this, (e) => {
6052
6059
  if (["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"].includes(e.key) && document.activeElement?.nodeName === "IDS-DATA-GRID" && __privateGet(this, _activeCellCache) && __privateGet(this, _activeCellCache)?.hasLeaveViewport) {
6053
- __privateMethod(this, _IdsDataGrid_instances, scrollRowIntoView_fn).call(this, Math.max(__privateGet(this, _activeCellCache).rowIndex - 3, 0));
6054
6060
  e.preventDefault();
6055
6061
  e.stopPropagation();
6056
6062
  const previousActiveRow2 = __privateGet(this, _activeCellCache).rowIndex;
@@ -6070,6 +6076,22 @@ attachKeyboardListeners_fn = function() {
6070
6076
  }
6071
6077
  const maxCol = this.visibleColumns.length - 1;
6072
6078
  __privateGet(this, _activeCellCache).columnIndex = Math.min(Math.max(__privateGet(this, _activeCellCache).columnIndex + newColIndex, 0), maxCol);
6079
+ if (__privateGet(this, _activeCellCache).rowIndex !== previousActiveRow2) {
6080
+ __privateGet(this, _activeCellCache).wasEditing = false;
6081
+ __privateGet(this, _activeCellCache).currentValue = void 0;
6082
+ }
6083
+ if (this.treeGrid) {
6084
+ const visibleRowIdx = __privateMethod(this, _IdsDataGrid_instances, getVisibleRowIndex_fn).call(this, __privateGet(this, _activeCellCache).rowIndex);
6085
+ if (visibleRowIdx !== -1 && this.container) {
6086
+ const { ROW_HEIGHT } = this.virtualScrollSettings;
6087
+ const headerHeight = this.header?.clientHeight ?? 0;
6088
+ const maxScroll = this.container.scrollHeight - this.container.clientHeight;
6089
+ const targetScrollTop = Math.max(visibleRowIdx * ROW_HEIGHT - headerHeight, 0);
6090
+ this.container.scrollTop = Math.min(targetScrollTop, maxScroll);
6091
+ }
6092
+ } else {
6093
+ __privateMethod(this, _IdsDataGrid_instances, scrollRowIntoView_fn).call(this, Math.max(__privateGet(this, _activeCellCache).rowIndex - 3, 0));
6094
+ }
6073
6095
  if ((this.rowSelection === "mixed" || this.rowSelection === "multiple") && newRowIndex !== 0 && e.shiftKey) {
6074
6096
  const activeRowIndex2 = __privateGet(this, _activeCellCache).rowIndex;
6075
6097
  __privateGet(this, _lastShiftedRow) ?? __privateSet(this, _lastShiftedRow, previousActiveRow2);
@@ -6627,7 +6649,7 @@ appendMissingRows_fn = function() {
6627
6649
  }
6628
6650
  }
6629
6651
  if (missingRows.length && this.body) {
6630
- this.body.innerHTML += missingRows.join("");
6652
+ this.body.insertAdjacentHTML("beforeend", missingRows.join(""));
6631
6653
  }
6632
6654
  if (missingRows.length === 0 && data.length - 1 > lastRowIndex) {
6633
6655
  __privateMethod(this, _IdsDataGrid_instances, handleVirtualScroll_fn).call(this, ROW_HEIGHT);
@@ -6678,8 +6700,8 @@ attachVirtualScrollEvent_fn = function() {
6678
6700
  __privateMethod(this, _IdsDataGrid_instances, calculateColumnsOnscreen_fn).call(this);
6679
6701
  }, 3);
6680
6702
  }
6681
- __privateMethod(this, _IdsDataGrid_instances, restoreActiveCellAfterScroll_fn).call(this);
6682
- __privateMethod(this, _IdsDataGrid_instances, restoreEditedCellsAfterScroll_fn).call(this);
6703
+ __privateMethod(this, _IdsDataGrid_instances, restoreActiveCellAfterScroll_fn).call(this, this.activeCellEditor);
6704
+ __privateMethod(this, _IdsDataGrid_instances, restoreEditedCellsAfterScroll_fn).call(this, this.activeCellEditor);
6683
6705
  }, { capture: true, passive: true });
6684
6706
  let debounceScrollend = null;
6685
6707
  this.offEvent("scrollend.data-grid.virtual-scroll", this.container);
@@ -6688,6 +6710,8 @@ attachVirtualScrollEvent_fn = function() {
6688
6710
  if (!this.treeGrid) {
6689
6711
  clearTimeout(debounceScrollend);
6690
6712
  debounceScrollend = setTimeout(() => {
6713
+ const isEditing = this.activeCellEditor || this.activeCell?.node?.classList.contains("is-editing");
6714
+ if (isEditing) return;
6691
6715
  __privateMethod(this, _IdsDataGrid_instances, handleVirtualScroll_fn).call(this, virtualRowHeight);
6692
6716
  }, 500);
6693
6717
  }
@@ -7075,6 +7099,7 @@ scrollTreeRowIntoView_fn = function(cursorIndex) {
7075
7099
  __privateMethod(this, _IdsDataGrid_instances, saveEditedCellsBeforeScroll_fn).call(this);
7076
7100
  __privateMethod(this, _IdsDataGrid_instances, recycleAllTreeRows_fn).call(this, cursorIndex);
7077
7101
  __privateMethod(this, _IdsDataGrid_instances, restoreEditedCellsAfterScroll_fn).call(this);
7102
+ __privateMethod(this, _IdsDataGrid_instances, restoreActiveCellAfterScroll_fn).call(this);
7078
7103
  return;
7079
7104
  }
7080
7105
  const moveRowsDown = upperLimitIndex - firstDomRowVirtualIndex;
@@ -7112,6 +7137,7 @@ scrollTreeRowIntoView_fn = function(cursorIndex) {
7112
7137
  __privateMethod(this, _IdsDataGrid_instances, positionVirtualScrollWindow_fn).call(this, firstVisibleRowIndex, virtualRows.length, scrollSettings);
7113
7138
  if (needsRecycling) {
7114
7139
  __privateMethod(this, _IdsDataGrid_instances, restoreEditedCellsAfterScroll_fn).call(this);
7140
+ __privateMethod(this, _IdsDataGrid_instances, restoreActiveCellAfterScroll_fn).call(this);
7115
7141
  }
7116
7142
  };
7117
7143
  recycleTreeRowsDown_fn = function(obj, staleRows) {
@@ -7448,10 +7474,24 @@ saveEditedCellsBeforeScroll_fn = function() {
7448
7474
  if (this.activeCell?.node?.isEditing) {
7449
7475
  editedCells.push(this.activeCell?.node);
7450
7476
  const activeCell = this.activeCell.node;
7451
- const currentValue = activeCell.editor?.input?.value || "";
7477
+ const columnId = this.columns[this.activeCell.cell].id;
7478
+ const cellValue = this.data[this.activeCell.row][columnId];
7479
+ const currentValue = activeCell.editor?.input?.value || cellValue || "";
7452
7480
  this.updateActiveCellCache(this.activeCell.row, this.activeCell.cell, currentValue, true);
7453
7481
  __privateGet(this, _activeCellCache).shouldReinstateCell = true;
7454
- this.commitCellEdit();
7482
+ const scrollTop = this.container?.scrollTop || 0;
7483
+ const containerHeight = this.container?.clientHeight || 0;
7484
+ const rowHeight = this.virtualScrollSettings.ROW_HEIGHT;
7485
+ const effectiveRowIndex = __privateMethod(this, _IdsDataGrid_instances, getVisibleRowIndex_fn).call(this, this.activeCell.row);
7486
+ if (effectiveRowIndex === -1) return;
7487
+ const rowTop = effectiveRowIndex * rowHeight;
7488
+ const rowBottom = rowTop + rowHeight;
7489
+ const viewportTop = scrollTop;
7490
+ const viewportBottom = scrollTop + containerHeight;
7491
+ const isInViewport = rowTop >= viewportTop && rowBottom <= viewportBottom;
7492
+ if (!isInViewport) {
7493
+ this.commitCellEdit();
7494
+ }
7455
7495
  }
7456
7496
  for (const dirtyCell of this.dirtyCells) {
7457
7497
  const idsCell = this.cellByIndex(dirtyCell.row, dirtyCell.cell);
@@ -7480,8 +7520,9 @@ saveEditedCellsBeforeScroll_fn = function() {
7480
7520
  /**
7481
7521
  * Restore active cell focus and edit state after scroll ends
7482
7522
  * @private
7523
+ * @param {IdsDataGridCell} activeCellEditor optional cell editor to restore
7483
7524
  */
7484
- restoreActiveCellAfterScroll_fn = function() {
7525
+ restoreActiveCellAfterScroll_fn = function(activeCellEditor) {
7485
7526
  if (!__privateGet(this, _activeCellCache) || !__privateGet(this, _activeCellCache)?.shouldReinstateCell) {
7486
7527
  return;
7487
7528
  }
@@ -7516,6 +7557,9 @@ restoreActiveCellAfterScroll_fn = function() {
7516
7557
  if (!cellElement) {
7517
7558
  return;
7518
7559
  }
7560
+ if (activeCellEditor) {
7561
+ return;
7562
+ }
7519
7563
  this.setActiveCell(columnIndex, rowIndex, false, "internal");
7520
7564
  if (wasEditing === true && cellElement.column?.editor) {
7521
7565
  cellElement.startCellEdit();
@@ -7528,10 +7572,11 @@ restoreActiveCellAfterScroll_fn = function() {
7528
7572
  }
7529
7573
  };
7530
7574
  /**
7531
- * Restore edited cell values after DOM recycling
7575
+ * Restore active cell focus and edit state after scroll ends
7532
7576
  * @private
7577
+ * @param {IdsDataGridCell} activeCellEditor optional cell editor to restore
7533
7578
  */
7534
- restoreEditedCellsAfterScroll_fn = function() {
7579
+ restoreEditedCellsAfterScroll_fn = function(activeCellEditor) {
7535
7580
  if (__privateGet(this, _editedCellsCache).size === 0) {
7536
7581
  return;
7537
7582
  }
@@ -7561,6 +7606,9 @@ restoreEditedCellsAfterScroll_fn = function() {
7561
7606
  if (!cellElement) {
7562
7607
  return;
7563
7608
  }
7609
+ if (activeCellEditor) {
7610
+ return;
7611
+ }
7564
7612
  if (originalValue !== void 0) {
7565
7613
  cellElement.originalValue = originalValue;
7566
7614
  }
@@ -7581,4 +7629,4 @@ IdsDataGrid = __decorateClass([
7581
7629
  export {
7582
7630
  IdsDataGrid
7583
7631
  };
7584
- //# sourceMappingURL=ids-chunk-A5IOTIO6-full.js.map
7632
+ //# sourceMappingURL=ids-chunk-DSWFDICX-full.js.map