@alaarab/ogrid-angular 2.4.0 → 2.4.1

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/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { handleFormulaBarKeyDown, FormulaEngine, createGridDataAccessor, columnLetterToIndex, flattenColumns, getMultiSelectFilterFields, deriveFilterOptionsFromData, processClientSideData, deriveFormulaBarText, extractFormulaReferences, validateColumns, processClientSideDataAsync, validateRowIds, computeNextSortState, mergeFilter, CHECKBOX_COLUMN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, CELL_PADDING, parseValue, UndoRedoStack, rangesEqual, normalizeSelectionRange, formatSelectionAsTsv, parseTsvClipboard, getCellValue, applyCellDeletion, getScrollTopForRow, computeTabNavigation, applyFillValues, computeAggregations, getDataGridStatusBarConfig, computeVisibleRange, computeTotalHeight, computeVisibleColumnRange, validateVirtualScrollConfig, GRID_BORDER_RADIUS, getStatusBarParts, GRID_CONTEXT_MENU_ITEMS, formatShortcut, injectGlobalStyles, partitionColumnsForVirtualization, buildHeaderRows, getHeaderFilterConfig, getCellRenderDescriptor, resolveCellDisplayContent, resolveCellStyle, buildPopoverEditorProps, measureColumnContentWidth, getPaginationViewModel, getColumnHeaderMenuItems, ROW_NUMBER_COLUMN_WIDTH, reorderColumnArray, findCtrlArrowTarget, measureRange, FORMULA_REF_COLORS } from '@alaarab/ogrid-core';
1
+ import { handleFormulaBarKeyDown, FormulaEngine, createGridDataAccessor, columnLetterToIndex, flattenColumns, getMultiSelectFilterFields, deriveFilterOptionsFromData, processClientSideData, deriveFormulaBarText, extractFormulaReferences, validateColumns, processClientSideDataAsync, validateRowIds, computeNextSortState, mergeFilter, CHECKBOX_COLUMN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, CELL_PADDING, parseValue, UndoRedoStack, rangesEqual, normalizeSelectionRange, formatSelectionAsTsv, parseTsvClipboard, getCellValue, applyCellDeletion, getScrollTopForRow, computeTabNavigation, applyFillValues, computeAggregations, getDataGridStatusBarConfig, computeVisibleRange, computeTotalHeight, computeVisibleColumnRange, validateVirtualScrollConfig, GRID_BORDER_RADIUS, getStatusBarParts, GRID_CONTEXT_MENU_ITEMS, formatShortcut, injectGlobalStyles, partitionColumnsForVirtualization, buildHeaderRows, ROW_NUMBER_COLUMN_ID, ROW_NUMBER_COLUMN_WIDTH, getHeaderFilterConfig, getCellRenderDescriptor, resolveCellDisplayContent, resolveCellStyle, buildPopoverEditorProps, ROW_NUMBER_COLUMN_MIN_WIDTH, measureColumnContentWidth, getPaginationViewModel, getColumnHeaderMenuItems, reorderColumnArray, findCtrlArrowTarget, measureRange, FORMULA_REF_COLORS } from '@alaarab/ogrid-core';
2
2
  export * from '@alaarab/ogrid-core';
3
- export { CELL_PADDING, CHECKBOX_COLUMN_WIDTH, DEFAULT_DEBOUNCE_MS, DEFAULT_MIN_COLUMN_WIDTH, GRID_BORDER_RADIUS, PEOPLE_SEARCH_DEBOUNCE_MS, ROW_NUMBER_COLUMN_WIDTH, SIDEBAR_TRANSITION_MS, Z_INDEX, debounce, getCellRenderDescriptor, getHeaderFilterConfig, isInSelectionRange, normalizeSelectionRange, resolveCellDisplayContent, resolveCellStyle, toUserLike } from '@alaarab/ogrid-core';
3
+ export { CELL_PADDING, CHECKBOX_COLUMN_WIDTH, DEFAULT_DEBOUNCE_MS, DEFAULT_MIN_COLUMN_WIDTH, GRID_BORDER_RADIUS, PEOPLE_SEARCH_DEBOUNCE_MS, ROW_NUMBER_COLUMN_ID, ROW_NUMBER_COLUMN_MIN_WIDTH, ROW_NUMBER_COLUMN_WIDTH, SIDEBAR_TRANSITION_MS, Z_INDEX, debounce, getCellRenderDescriptor, getHeaderFilterConfig, isInSelectionRange, normalizeSelectionRange, resolveCellDisplayContent, resolveCellStyle, toUserLike } from '@alaarab/ogrid-core';
4
4
  import { Injectable, Input, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, ViewChild, input, output, viewChild, effect, inject, DestroyRef, signal, computed, NgZone, EventEmitter, Injector, EnvironmentInjector, createComponent } from '@angular/core';
5
5
  import { NgTemplateOutlet } from '@angular/common';
6
6
 
@@ -1539,6 +1539,7 @@ var DataGridInteractionHelper = class {
1539
1539
  }
1540
1540
  break;
1541
1541
  case "ArrowDown": {
1542
+ if (editingCell != null) break;
1542
1543
  e.preventDefault();
1543
1544
  const newRow = ctrl ? findCtrlTarget(rowIndex, maxRowIndex, 1, (r) => isEmptyAt(r, Math.max(0, dataColIndex))) : Math.min(rowIndex + 1, maxRowIndex);
1544
1545
  if (shift) {
@@ -1555,6 +1556,7 @@ var DataGridInteractionHelper = class {
1555
1556
  break;
1556
1557
  }
1557
1558
  case "ArrowUp": {
1559
+ if (editingCell != null) break;
1558
1560
  e.preventDefault();
1559
1561
  const newRowUp = ctrl ? findCtrlTarget(rowIndex, 0, -1, (r) => isEmptyAt(r, Math.max(0, dataColIndex))) : Math.max(rowIndex - 1, 0);
1560
1562
  if (shift) {
@@ -1571,6 +1573,7 @@ var DataGridInteractionHelper = class {
1571
1573
  break;
1572
1574
  }
1573
1575
  case "ArrowRight": {
1576
+ if (editingCell != null) break;
1574
1577
  e.preventDefault();
1575
1578
  let newCol;
1576
1579
  if (ctrl && dataColIndex >= 0) {
@@ -1593,6 +1596,7 @@ var DataGridInteractionHelper = class {
1593
1596
  break;
1594
1597
  }
1595
1598
  case "ArrowLeft": {
1599
+ if (editingCell != null) break;
1596
1600
  e.preventDefault();
1597
1601
  let newColLeft;
1598
1602
  if (ctrl && dataColIndex >= 0) {
@@ -4307,7 +4311,7 @@ var BaseDataGridTableComponent = class {
4307
4311
  const rightOffsets = {};
4308
4312
  let leftAcc = 0;
4309
4313
  if (this.hasCheckboxCol()) leftAcc += CHECKBOX_COLUMN_WIDTH;
4310
- if (this.hasRowNumbersCol()) leftAcc += ROW_NUMBER_COLUMN_WIDTH;
4314
+ if (this.hasRowNumbersCol()) leftAcc += this.getRowNumberWidth();
4311
4315
  let rightAcc = 0;
4312
4316
  const len = layouts.length;
4313
4317
  for (let i = 0; i < len; i++) {
@@ -4380,6 +4384,12 @@ var BaseDataGridTableComponent = class {
4380
4384
  getGlobalColIndex(col) {
4381
4385
  return this.globalColIndexMap().get(col.columnId) ?? 0;
4382
4386
  }
4387
+ /** Returns the effective row number column width (from overrides or default). */
4388
+ getRowNumberWidth() {
4389
+ const overrides = this.columnSizingOverrides();
4390
+ const override = overrides[ROW_NUMBER_COLUMN_ID];
4391
+ return override ? override.widthPx : ROW_NUMBER_COLUMN_WIDTH;
4392
+ }
4383
4393
  /**
4384
4394
  * Initialize base wiring effects. Must be called from subclass constructor.
4385
4395
  *
@@ -4633,8 +4643,9 @@ var BaseDataGridTableComponent = class {
4633
4643
  this.state().interaction.setSelectionRange?.(null);
4634
4644
  this.getWrapperRef()?.nativeElement.focus({ preventScroll: true });
4635
4645
  const startX = event.clientX;
4636
- const startWidth = this.getColumnWidth(col);
4637
- const minWidth = col.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH;
4646
+ const columnId = col.columnId;
4647
+ const startWidth = columnId === ROW_NUMBER_COLUMN_ID ? this.getRowNumberWidth() : this.getColumnWidth(col);
4648
+ const minWidth = columnId === ROW_NUMBER_COLUMN_ID ? ROW_NUMBER_COLUMN_MIN_WIDTH : col.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH;
4638
4649
  const onMove = (e) => {
4639
4650
  const delta = e.clientX - startX;
4640
4651
  const newWidth = Math.max(minWidth, startWidth + delta);
@@ -177,6 +177,8 @@ export declare abstract class BaseDataGridTableComponent<T = unknown> {
177
177
  minWidth: number;
178
178
  width: number;
179
179
  }[]>;
180
+ /** Returns the effective row number column width (from overrides or default). */
181
+ getRowNumberWidth(): number;
180
182
  readonly pinningOffsets: import("@angular/core").Signal<{
181
183
  leftOffsets: Record<string, number>;
182
184
  rightOffsets: Record<string, number>;
@@ -1,5 +1,5 @@
1
1
  export * from '@alaarab/ogrid-core';
2
- export { CHECKBOX_COLUMN_WIDTH, ROW_NUMBER_COLUMN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, CELL_PADDING, GRID_BORDER_RADIUS, PEOPLE_SEARCH_DEBOUNCE_MS, DEFAULT_DEBOUNCE_MS, SIDEBAR_TRANSITION_MS, Z_INDEX, } from '@alaarab/ogrid-core';
2
+ export { CHECKBOX_COLUMN_WIDTH, ROW_NUMBER_COLUMN_WIDTH, ROW_NUMBER_COLUMN_ID, ROW_NUMBER_COLUMN_MIN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, CELL_PADDING, GRID_BORDER_RADIUS, PEOPLE_SEARCH_DEBOUNCE_MS, DEFAULT_DEBOUNCE_MS, SIDEBAR_TRANSITION_MS, Z_INDEX, } from '@alaarab/ogrid-core';
3
3
  export type { IColumnDef, IColumnGroupDef, IColumnDefinition, ICellEditorProps, } from './types';
4
4
  export type { IOGridProps, IOGridClientProps, IOGridServerProps, IOGridDataGridProps, } from './types';
5
5
  export type { ColumnFilterType, IColumnFilterDef, IColumnMeta, ICellValueChangedEvent, CellEditorParams, IValueParserParams, IDateFilterValue, HeaderCell, HeaderRow, RowId, UserLike, UserLikeInput, FilterValue, IFilters, IFetchParams, IPageResult, IDataSource, IGridColumnState, IOGridApi, RowSelectionMode, IRowSelectionChangeEvent, StatusBarPanel, IStatusBarProps, IActiveCell, ISelectionRange, SideBarPanelId, ISideBarDef, } from './types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alaarab/ogrid-angular",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "OGrid Angular – Angular services, signals, and headless components for OGrid data grids.",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -35,7 +35,7 @@
35
35
  "node": ">=18"
36
36
  },
37
37
  "dependencies": {
38
- "@alaarab/ogrid-core": "2.4.0"
38
+ "@alaarab/ogrid-core": "2.4.1"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@angular/core": "^21.0.0",