@alaarab/ogrid-vue 2.0.16 → 2.0.18
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.
|
@@ -37,14 +37,12 @@ export function createDataGridTable(ui) {
|
|
|
37
37
|
const pinning = state.pinning.value;
|
|
38
38
|
const { visibleCols, columnSizingOverrides, measuredColumnWidths } = layout;
|
|
39
39
|
const { leftOffsets, rightOffsets } = pinning;
|
|
40
|
-
const freezeCols = propsRef.value.freezeCols;
|
|
41
40
|
const cellStyles = {};
|
|
42
41
|
const cellClasses = {};
|
|
43
42
|
const hdrStyles = {};
|
|
44
43
|
const hdrClasses = {};
|
|
45
44
|
for (let colIdx = 0; colIdx < visibleCols.length; colIdx++) {
|
|
46
45
|
const col = visibleCols[colIdx];
|
|
47
|
-
const isFreezeCol = freezeCols != null && freezeCols >= 1 && colIdx < freezeCols;
|
|
48
46
|
const isPinnedLeft = col.pinned === 'left';
|
|
49
47
|
const isPinnedRight = col.pinned === 'right';
|
|
50
48
|
const columnWidth = getColumnWidth(col);
|
|
@@ -64,7 +62,7 @@ export function createDataGridTable(ui) {
|
|
|
64
62
|
};
|
|
65
63
|
const tdClassParts = ['ogrid-data-cell'];
|
|
66
64
|
const hdrClassParts = ['ogrid-header-cell'];
|
|
67
|
-
if (isPinnedLeft
|
|
65
|
+
if (isPinnedLeft) {
|
|
68
66
|
tdClassParts.push('ogrid-data-cell--pinned-left');
|
|
69
67
|
tdStyle.left = `${leftOffsets[col.columnId] ?? 0}px`;
|
|
70
68
|
hdrClassParts.push('ogrid-header-cell--pinned-left');
|
|
@@ -106,8 +104,6 @@ export function createDataGridTable(ui) {
|
|
|
106
104
|
const getRowId = p.getRowId;
|
|
107
105
|
const layoutMode = p.layoutMode ?? 'fill';
|
|
108
106
|
const rowSelection = p.rowSelection ?? 'none';
|
|
109
|
-
const freezeRows = p.freezeRows;
|
|
110
|
-
const freezeCols = p.freezeCols;
|
|
111
107
|
const suppressHorizontalScroll = p.suppressHorizontalScroll;
|
|
112
108
|
const isLoading = p.isLoading ?? false;
|
|
113
109
|
const loadingMessage = p.loadingMessage ?? 'Loading\u2026';
|
|
@@ -252,8 +248,6 @@ export function createDataGridTable(ui) {
|
|
|
252
248
|
ref: (el) => { tableRef.value = el; },
|
|
253
249
|
class: 'ogrid-table',
|
|
254
250
|
style: { minWidth: `${minTableWidth}px` },
|
|
255
|
-
'data-freeze-rows': freezeRows != null && freezeRows >= 1 ? freezeRows : undefined,
|
|
256
|
-
'data-freeze-cols': freezeCols != null && freezeCols >= 1 ? freezeCols : undefined,
|
|
257
251
|
}, [
|
|
258
252
|
// Header
|
|
259
253
|
h('thead', { class: 'ogrid-thead' }, headerRows.map((row, rowIdx) => h('tr', { key: rowIdx, class: 'ogrid-header-row' }, [
|
|
@@ -314,8 +314,6 @@ export function useOGrid(props) {
|
|
|
314
314
|
onColumnPinned: handleColumnPinned,
|
|
315
315
|
pinnedColumns: pinnedOverrides.value,
|
|
316
316
|
initialColumnWidths: columnWidthOverrides.value,
|
|
317
|
-
freezeRows: p.freezeRows,
|
|
318
|
-
freezeCols: p.freezeCols,
|
|
319
317
|
editable: p.editable,
|
|
320
318
|
cellSelection: p.cellSelection,
|
|
321
319
|
onCellValueChanged: p.onCellValueChanged,
|
|
@@ -29,8 +29,6 @@ interface IOGridBaseProps<T> {
|
|
|
29
29
|
onColumnResized?: (columnId: string, width: number) => void;
|
|
30
30
|
/** Called when a column is pinned or unpinned. */
|
|
31
31
|
onColumnPinned?: (columnId: string, pinned: 'left' | 'right' | null) => void;
|
|
32
|
-
freezeRows?: number;
|
|
33
|
-
freezeCols?: number;
|
|
34
32
|
editable?: boolean;
|
|
35
33
|
/** Enable spreadsheet-like cell selection (active cell, range, fill handle, clipboard, context menu). Default: true. */
|
|
36
34
|
cellSelection?: boolean;
|
|
@@ -119,10 +117,6 @@ export interface IOGridDataGridProps<T> {
|
|
|
119
117
|
pinnedColumns?: Record<string, 'left' | 'right'>;
|
|
120
118
|
/** Initial column width overrides (from restored state). */
|
|
121
119
|
initialColumnWidths?: Record<string, number>;
|
|
122
|
-
/** Number of rows to freeze (sticky), e.g. 1 = header row. */
|
|
123
|
-
freezeRows?: number;
|
|
124
|
-
/** Number of data columns to freeze (sticky left). */
|
|
125
|
-
freezeCols?: number;
|
|
126
120
|
layoutMode?: 'content' | 'fill';
|
|
127
121
|
/** When true, horizontal scrolling is suppressed (overflow-x hidden). */
|
|
128
122
|
suppressHorizontalScroll?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alaarab/ogrid-vue",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.18",
|
|
4
4
|
"description": "OGrid Vue – Vue 3 composables, headless components, and utilities 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.0.
|
|
38
|
+
"@alaarab/ogrid-core": "2.0.18"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"vue": "^3.3.0"
|