@dxos/lit-grid 0.6.14-staging.8758a12 → 0.6.14-staging.934c9de
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/src/dx-grid-axis-resize-handle.d.ts.map +1 -1
- package/dist/src/dx-grid-axis-resize-handle.js +1 -6
- package/dist/src/dx-grid-axis-resize-handle.js.map +1 -1
- package/dist/src/dx-grid.d.ts +10 -12
- package/dist/src/dx-grid.d.ts.map +1 -1
- package/dist/src/dx-grid.js +210 -130
- package/dist/src/dx-grid.js.map +1 -1
- package/dist/src/types.d.ts +0 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/util.d.ts +1 -32
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +0 -131
- package/dist/src/util.js.map +1 -1
- package/dist/types/src/dx-grid-axis-resize-handle.d.ts.map +1 -1
- package/dist/types/src/dx-grid-axis-resize-handle.js +1 -6
- package/dist/types/src/dx-grid-axis-resize-handle.js.map +1 -1
- package/dist/types/src/dx-grid.d.ts +10 -12
- package/dist/types/src/dx-grid.d.ts.map +1 -1
- package/dist/types/src/dx-grid.js +210 -130
- package/dist/types/src/dx-grid.js.map +1 -1
- package/dist/types/src/types.d.ts +0 -1
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/types.js.map +1 -1
- package/dist/types/src/util.d.ts +1 -32
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/src/util.js +0 -131
- package/dist/types/src/util.js.map +1 -1
- package/package.json +1 -1
- package/src/dx-grid-axis-resize-handle.ts +1 -6
- package/src/dx-grid.pcss +14 -24
- package/src/dx-grid.ts +229 -163
- package/src/types.ts +0 -1
- package/src/util.ts +1 -162
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dx-grid-axis-resize-handle.d.ts","sourceRoot":"","sources":["../../src/dx-grid-axis-resize-handle.ts"],"names":[],"mappings":"AAQA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAIvC,OAAO,EAAwB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAExF,qBACa,sBAAuB,SAAQ,UAAU;IAEpD,IAAI,EAAE,UAAU,CAAS;IAGzB,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAU;IAG3C,KAAK,EAAE,MAAM,CAAQ;IAGrB,IAAI,EAAE,MAAM,CAAO;IAEnB,OAAO,CAAC,aAAa,CAAe;IAE3B,MAAM;
|
|
1
|
+
{"version":3,"file":"dx-grid-axis-resize-handle.d.ts","sourceRoot":"","sources":["../../src/dx-grid-axis-resize-handle.ts"],"names":[],"mappings":"AAQA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAIvC,OAAO,EAAwB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAExF,qBACa,sBAAuB,SAAQ,UAAU;IAEpD,IAAI,EAAE,UAAU,CAAS;IAGzB,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAU;IAG3C,KAAK,EAAE,MAAM,CAAQ;IAGrB,IAAI,EAAE,MAAM,CAAO;IAEnB,OAAO,CAAC,aAAa,CAAe;IAE3B,MAAM;IAMf,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,KAAK;IA2BJ,oBAAoB;IAKpB,gBAAgB;CAG1B"}
|
|
@@ -25,12 +25,7 @@ let DxGridAxisResizeHandle = class DxGridAxisResizeHandle extends LitElement {
|
|
|
25
25
|
this.cleanup = null;
|
|
26
26
|
}
|
|
27
27
|
render() {
|
|
28
|
-
return html `<button
|
|
29
|
-
class="dx-grid__resize-handle"
|
|
30
|
-
data-dx-grid-axis=${this.axis}
|
|
31
|
-
data-dx-grid-action="resize"
|
|
32
|
-
${ref(this.mount)}
|
|
33
|
-
>
|
|
28
|
+
return html `<button class="dx-grid__resize-handle" data-dx-grid-axis=${this.axis} ${ref(this.mount)}>
|
|
34
29
|
<span class="sr-only">Resize</span>
|
|
35
30
|
</button>`;
|
|
36
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dx-grid-axis-resize-handle.js","sourceRoot":"","sources":["../../src/dx-grid-axis-resize-handle.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;AAEF,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAA2C,MAAM,SAAS,CAAC;AAGjF,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAA/C;;QAEL,SAAI,GAAe,KAAK,CAAC;QAGzB,UAAK,GAA+B,MAAM,CAAC;QAG3C,UAAK,GAAW,IAAI,CAAC;QAGrB,SAAI,GAAW,GAAG,CAAC;QAEX,kBAAa,GAAW,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"dx-grid-axis-resize-handle.js","sourceRoot":"","sources":["../../src/dx-grid-axis-resize-handle.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dx-grid.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import './dx-grid-axis-resize-handle';
|
|
3
|
-
import { type DxGridAxisMetaProps, type DxGridAxisMeta, type DxGridCells, type DxGridFrozenAxes, type DxGridFrozenColsPlane, type DxGridFrozenRowsPlane, type DxGridMode, type DxGridPlane, type DxGridPlaneCells, type DxGridPlaneRange, type DxGridPlaneRecord, type DxGridPosition, type
|
|
3
|
+
import { type DxGridAxisMetaProps, type DxGridAxisMeta, type DxGridCells, type DxGridFrozenAxes, type DxGridFrozenColsPlane, type DxGridFrozenRowsPlane, type DxGridMode, type DxGridPlane, type DxGridPlaneCells, type DxGridPlaneRange, type DxGridPlaneRecord, type DxGridPosition, type DxGridPositionNullable } from './types';
|
|
4
|
+
export declare const closestCell: (target: EventTarget | null, actionEl?: HTMLElement | null) => DxGridPositionNullable;
|
|
4
5
|
export declare class DxGrid extends LitElement {
|
|
5
6
|
constructor();
|
|
6
7
|
gridId: string;
|
|
@@ -13,11 +14,11 @@ export declare class DxGrid extends LitElement {
|
|
|
13
14
|
limitColumns: number;
|
|
14
15
|
limitRows: number;
|
|
15
16
|
frozen: DxGridFrozenAxes;
|
|
16
|
-
overscroll: 'inline' | 'block' |
|
|
17
|
+
overscroll: 'inline' | 'block' | undefined;
|
|
17
18
|
activeRefs: string;
|
|
18
19
|
/**
|
|
19
|
-
* When this function is defined, it is used first to try to get a value for a cell,
|
|
20
|
-
*
|
|
20
|
+
* When this function is defined, it is used first to try to get a value for a cell, and otherwise will fall back
|
|
21
|
+
* to `cells`.
|
|
21
22
|
*/
|
|
22
23
|
getCells: ((nextRange: DxGridPlaneRange, plane: DxGridPlane) => DxGridPlaneCells) | null;
|
|
23
24
|
private cells;
|
|
@@ -25,8 +26,8 @@ export declare class DxGrid extends LitElement {
|
|
|
25
26
|
private posBlock;
|
|
26
27
|
private sizeInline;
|
|
27
28
|
private sizeBlock;
|
|
28
|
-
private
|
|
29
|
-
private
|
|
29
|
+
private overscanInlineStart;
|
|
30
|
+
private overscanBlockStart;
|
|
30
31
|
private binInlineMin;
|
|
31
32
|
private binInlineMax;
|
|
32
33
|
private binBlockMin;
|
|
@@ -74,7 +75,6 @@ export declare class DxGrid extends LitElement {
|
|
|
74
75
|
private cellActive;
|
|
75
76
|
private setFocusedCell;
|
|
76
77
|
private setSelectionEnd;
|
|
77
|
-
setSelection(range: DxGridRange): void;
|
|
78
78
|
private focusedCellBox;
|
|
79
79
|
private observer;
|
|
80
80
|
private gridRef;
|
|
@@ -102,12 +102,11 @@ export declare class DxGrid extends LitElement {
|
|
|
102
102
|
private focusedCellRowOutOfVis;
|
|
103
103
|
private focusedCellColOutOfVis;
|
|
104
104
|
private focusedCellOutOfVis;
|
|
105
|
-
private
|
|
106
|
-
private clampRow;
|
|
105
|
+
private focusPlaneElement;
|
|
107
106
|
/**
|
|
108
107
|
* Moves focus to the cell with actual focus, otherwise moves focus to the viewport.
|
|
109
108
|
*/
|
|
110
|
-
refocus(increment?: 'col' | 'row'
|
|
109
|
+
refocus(increment?: 'col' | 'row', delta?: 1 | -1 | 0): void;
|
|
111
110
|
private clampPosInline;
|
|
112
111
|
private clampPosBlock;
|
|
113
112
|
/**
|
|
@@ -120,7 +119,6 @@ export declare class DxGrid extends LitElement {
|
|
|
120
119
|
set scrollTop(nextValue: number);
|
|
121
120
|
private axisResizeable;
|
|
122
121
|
private handleAxisResizeInternal;
|
|
123
|
-
private renderPresentationLayer;
|
|
124
122
|
private renderFixed;
|
|
125
123
|
private renderFrozenRows;
|
|
126
124
|
private renderFrozenColumns;
|
|
@@ -142,6 +140,6 @@ export declare class DxGrid extends LitElement {
|
|
|
142
140
|
disconnectedCallback(): void;
|
|
143
141
|
createRenderRoot(): this;
|
|
144
142
|
}
|
|
145
|
-
export { rowToA1Notation, colToA1Notation
|
|
143
|
+
export { rowToA1Notation, colToA1Notation } from './util';
|
|
146
144
|
export declare const commentedClassName = "dx-grid__cell--commented";
|
|
147
145
|
//# sourceMappingURL=dx-grid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dx-grid.d.ts","sourceRoot":"","sources":["../../src/dx-grid.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,OAAO,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,mBAAmB,EAOxB,KAAK,cAAc,EACnB,KAAK,WAAW,EAGhB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAE1B,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"dx-grid.d.ts","sourceRoot":"","sources":["../../src/dx-grid.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dx-grid.js
CHANGED
|
@@ -15,7 +15,138 @@ import { unsafeStatic, html as staticHtml } from 'lit/static-html.js';
|
|
|
15
15
|
// eslint-disable-next-line unused-imports/no-unused-imports
|
|
16
16
|
import './dx-grid-axis-resize-handle';
|
|
17
17
|
import { DxAxisResize, DxEditRequest, DxGridCellsSelect, } from './types';
|
|
18
|
-
import { separator, toCellIndex
|
|
18
|
+
import { separator, toCellIndex } from './util';
|
|
19
|
+
/**
|
|
20
|
+
* The size in pixels of the gap between cells
|
|
21
|
+
*/
|
|
22
|
+
const gap = 1;
|
|
23
|
+
/**
|
|
24
|
+
* ResizeObserver notices even subpixel changes, only respond to changes of at least 1px.
|
|
25
|
+
*/
|
|
26
|
+
const resizeTolerance = 1;
|
|
27
|
+
/**
|
|
28
|
+
* The amount of pixels the primary pointer has to move after PointerDown to engage in selection.
|
|
29
|
+
*/
|
|
30
|
+
const selectTolerance = 4;
|
|
31
|
+
//
|
|
32
|
+
// `defaultSize`, the final fallbacks
|
|
33
|
+
//
|
|
34
|
+
const defaultSizeRow = 32;
|
|
35
|
+
const defaultSizeCol = 180;
|
|
36
|
+
//
|
|
37
|
+
// `size`, when suffixed with ‘row’ or ‘col’, are limits on size applied when resizing
|
|
38
|
+
//
|
|
39
|
+
const sizeColMin = 32;
|
|
40
|
+
const sizeColMax = 1024;
|
|
41
|
+
const sizeRowMin = 32;
|
|
42
|
+
const sizeRowMax = 1024;
|
|
43
|
+
const shouldSelect = (pointer, { pageX, pageY }) => {
|
|
44
|
+
if ((pointer === null || pointer === void 0 ? void 0 : pointer.state) === 'maybeSelecting') {
|
|
45
|
+
return Math.hypot(Math.abs(pointer.pageX - pageX), Math.abs(pointer.pageY - pageY)) >= selectTolerance;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const selectionProps = (selectionStart, selectionEnd) => {
|
|
52
|
+
const colMin = Math.min(selectionStart.col, selectionEnd.col);
|
|
53
|
+
const colMax = Math.max(selectionStart.col, selectionEnd.col);
|
|
54
|
+
const rowMin = Math.min(selectionStart.row, selectionEnd.row);
|
|
55
|
+
const rowMax = Math.max(selectionStart.row, selectionEnd.row);
|
|
56
|
+
const plane = selectionStart.plane;
|
|
57
|
+
const visible = colMin !== colMax || rowMin !== rowMax;
|
|
58
|
+
return { colMin, colMax, rowMin, rowMax, plane, visible };
|
|
59
|
+
};
|
|
60
|
+
const cellSelected = (col, row, plane, selection) => {
|
|
61
|
+
return (plane === selection.plane &&
|
|
62
|
+
col >= selection.colMin &&
|
|
63
|
+
col <= selection.colMax &&
|
|
64
|
+
row >= selection.rowMin &&
|
|
65
|
+
row <= selection.rowMax);
|
|
66
|
+
};
|
|
67
|
+
const closestAction = (target) => {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
const actionEl = (_a = target === null || target === void 0 ? void 0 : target.closest('[data-dx-grid-action]')) !== null && _a !== void 0 ? _a : null;
|
|
70
|
+
return { actionEl, action: (_b = actionEl === null || actionEl === void 0 ? void 0 : actionEl.getAttribute('data-dx-grid-action')) !== null && _b !== void 0 ? _b : null };
|
|
71
|
+
};
|
|
72
|
+
export const closestCell = (target, actionEl) => {
|
|
73
|
+
var _a, _b, _c, _d;
|
|
74
|
+
let cellElement = actionEl;
|
|
75
|
+
if (!cellElement) {
|
|
76
|
+
const { action, actionEl } = closestAction(target);
|
|
77
|
+
if (action === 'cell') {
|
|
78
|
+
cellElement = actionEl;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (cellElement) {
|
|
82
|
+
const col = parseInt((_a = cellElement.getAttribute('aria-colindex')) !== null && _a !== void 0 ? _a : 'never');
|
|
83
|
+
const row = parseInt((_b = cellElement.getAttribute('aria-rowindex')) !== null && _b !== void 0 ? _b : 'never');
|
|
84
|
+
const plane = ((_d = (_c = cellElement.closest('[data-dx-grid-plane]')) === null || _c === void 0 ? void 0 : _c.getAttribute('data-dx-grid-plane')) !== null && _d !== void 0 ? _d : 'grid');
|
|
85
|
+
return { plane, col, row };
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const targetIsPlane = (target) => {
|
|
92
|
+
var _a;
|
|
93
|
+
return (_a = target === null || target === void 0 ? void 0 : target.getAttribute('data-dx-grid-plane')) !== null && _a !== void 0 ? _a : null;
|
|
94
|
+
};
|
|
95
|
+
const resolveRowPlane = (plane) => {
|
|
96
|
+
switch (plane) {
|
|
97
|
+
case 'fixedStartStart':
|
|
98
|
+
case 'fixedStartEnd':
|
|
99
|
+
case 'frozenRowsStart':
|
|
100
|
+
return 'frozenRowsStart';
|
|
101
|
+
case 'fixedEndStart':
|
|
102
|
+
case 'fixedEndEnd':
|
|
103
|
+
case 'frozenRowsEnd':
|
|
104
|
+
return 'frozenRowsEnd';
|
|
105
|
+
default:
|
|
106
|
+
return 'grid';
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
const resolveColPlane = (plane) => {
|
|
110
|
+
switch (plane) {
|
|
111
|
+
case 'fixedStartStart':
|
|
112
|
+
case 'fixedEndStart':
|
|
113
|
+
case 'frozenColsStart':
|
|
114
|
+
return 'frozenColsStart';
|
|
115
|
+
case 'fixedStartEnd':
|
|
116
|
+
case 'fixedEndEnd':
|
|
117
|
+
case 'frozenColsEnd':
|
|
118
|
+
return 'frozenColsEnd';
|
|
119
|
+
default:
|
|
120
|
+
return 'grid';
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
const resolveFrozenPlane = (axis, cellPlane) => {
|
|
124
|
+
switch (cellPlane) {
|
|
125
|
+
case 'fixedStartStart':
|
|
126
|
+
return axis === 'col' ? 'frozenColsStart' : 'frozenRowsStart';
|
|
127
|
+
case 'fixedStartEnd':
|
|
128
|
+
return axis === 'col' ? 'frozenColsEnd' : 'frozenRowsStart';
|
|
129
|
+
case 'fixedEndStart':
|
|
130
|
+
return axis === 'col' ? 'frozenColsStart' : 'frozenRowsEnd';
|
|
131
|
+
case 'fixedEndEnd':
|
|
132
|
+
return axis === 'col' ? 'frozenColsEnd' : 'frozenRowsEnd';
|
|
133
|
+
case 'frozenColsStart':
|
|
134
|
+
case 'frozenColsEnd':
|
|
135
|
+
return axis === 'col' ? cellPlane : 'grid';
|
|
136
|
+
case 'frozenRowsStart':
|
|
137
|
+
case 'frozenRowsEnd':
|
|
138
|
+
return axis === 'row' ? cellPlane : 'grid';
|
|
139
|
+
default:
|
|
140
|
+
return cellPlane;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
const isSameCell = (a, b) => a &&
|
|
144
|
+
b &&
|
|
145
|
+
a.plane === b.plane &&
|
|
146
|
+
Number.isFinite(a.col) &&
|
|
147
|
+
Number.isFinite(a.row) &&
|
|
148
|
+
a.col === b.col &&
|
|
149
|
+
a.row === b.row;
|
|
19
150
|
let DxGrid = class DxGrid extends LitElement {
|
|
20
151
|
constructor() {
|
|
21
152
|
var _a;
|
|
@@ -37,8 +168,8 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
37
168
|
this.overscroll = undefined;
|
|
38
169
|
this.activeRefs = '';
|
|
39
170
|
/**
|
|
40
|
-
* When this function is defined, it is used first to try to get a value for a cell,
|
|
41
|
-
*
|
|
171
|
+
* When this function is defined, it is used first to try to get a value for a cell, and otherwise will fall back
|
|
172
|
+
* to `cells`.
|
|
42
173
|
*/
|
|
43
174
|
this.getCells = null;
|
|
44
175
|
this.cells = { grid: {} };
|
|
@@ -55,8 +186,8 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
55
186
|
//
|
|
56
187
|
// `overscan` is the amount in pixels to offset the grid content due to the number of overscanned columns or rows.
|
|
57
188
|
//
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
189
|
+
this.overscanInlineStart = 0;
|
|
190
|
+
this.overscanBlockStart = 0;
|
|
60
191
|
//
|
|
61
192
|
// `bin`, not short for anything, is the range in pixels within which virtualization does not need to reassess.
|
|
62
193
|
//
|
|
@@ -100,10 +231,9 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
100
231
|
if (event.isPrimary) {
|
|
101
232
|
const { action, actionEl } = closestAction(event.target);
|
|
102
233
|
if (action && action === 'cell') {
|
|
103
|
-
if (event.shiftKey
|
|
234
|
+
if (event.shiftKey) {
|
|
104
235
|
// Prevent focus moving so the pointerup handler can move selectionEnd.
|
|
105
236
|
event.preventDefault();
|
|
106
|
-
this.pointer = { state: 'selecting' };
|
|
107
237
|
}
|
|
108
238
|
else {
|
|
109
239
|
const cellCoords = closestCell(event.target, actionEl);
|
|
@@ -119,8 +249,10 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
119
249
|
// Prevent focus moving when editing while selection is possible
|
|
120
250
|
event.preventDefault();
|
|
121
251
|
}
|
|
122
|
-
else
|
|
123
|
-
this.
|
|
252
|
+
else {
|
|
253
|
+
if (this.focusActive && isSameCell(this.focusedCell, cellCoords)) {
|
|
254
|
+
this.dispatchEditRequest();
|
|
255
|
+
}
|
|
124
256
|
}
|
|
125
257
|
}
|
|
126
258
|
}
|
|
@@ -179,14 +311,10 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
179
311
|
}
|
|
180
312
|
};
|
|
181
313
|
this.handleTopLevelWheel = (event) => {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
(this.overscroll === 'block' && event.overscrollBlock === 0)) {
|
|
187
|
-
event.preventDefault();
|
|
188
|
-
event.stopPropagation();
|
|
189
|
-
}
|
|
314
|
+
if ((Number.isFinite(event.overscrollInline) && this.overscroll === 'inline' && event.overscrollInline === 0) ||
|
|
315
|
+
(Number.isFinite(event.overscrollBlock) && this.overscroll === 'block' && event.overscrollBlock === 0)) {
|
|
316
|
+
event.preventDefault();
|
|
317
|
+
event.stopPropagation();
|
|
190
318
|
}
|
|
191
319
|
};
|
|
192
320
|
this.handleWheel = (event) => {
|
|
@@ -200,7 +328,6 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
200
328
|
nextPosInline <= 0 ? nextPosInline : nextPosInline > maxPosInline ? nextPosInline - maxPosInline : 0;
|
|
201
329
|
event.overscrollBlock =
|
|
202
330
|
nextPosBlock <= 0 ? nextPosBlock : nextPosBlock > maxPosBlock ? nextPosBlock - maxPosBlock : 0;
|
|
203
|
-
event.gridId = this.gridId;
|
|
204
331
|
}
|
|
205
332
|
};
|
|
206
333
|
// Wheel, top-level and element-level
|
|
@@ -274,8 +401,12 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
274
401
|
const current = event.shiftKey ? this.selectionEnd : this.focusedCell;
|
|
275
402
|
const deltaCol = event.key === 'ArrowLeft' ? -1 : event.key === 'ArrowRight' ? 1 : 0;
|
|
276
403
|
const deltaRow = event.key === 'ArrowUp' ? -1 : event.key === 'ArrowDown' ? 1 : 0;
|
|
277
|
-
const
|
|
278
|
-
const
|
|
404
|
+
const colPlane = resolveColPlane(current.plane);
|
|
405
|
+
const colMax = (colPlane === 'grid' ? this.limitColumns : this.frozen[colPlane]) - 1;
|
|
406
|
+
const nextCol = Math.max(0, Math.min(colMax, current.col + deltaCol));
|
|
407
|
+
const rowPlane = resolveRowPlane(current.plane);
|
|
408
|
+
const rowMax = (rowPlane === 'grid' ? this.limitRows : this.frozen[rowPlane]) - 1;
|
|
409
|
+
const nextRow = Math.max(0, Math.min(rowMax, current.row + deltaRow));
|
|
279
410
|
if (event.shiftKey) {
|
|
280
411
|
this.setSelectionEnd({ ...this.selectionEnd, col: nextCol, row: nextRow });
|
|
281
412
|
}
|
|
@@ -388,7 +519,7 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
388
519
|
return (_c = (_b = (_a = this.cells) === null || _a === void 0 ? void 0 : _a[plane]) === null || _b === void 0 ? void 0 : _b[index]) !== null && _c !== void 0 ? _c : (_e = (_d = this.initialCells) === null || _d === void 0 ? void 0 : _d[plane]) === null || _e === void 0 ? void 0 : _e[index];
|
|
389
520
|
}
|
|
390
521
|
cellActive(c, r, plane) {
|
|
391
|
-
return this.focusedCell.plane === plane && this.focusedCell.col === c && this.focusedCell.row === r;
|
|
522
|
+
return (this.focusActive && this.focusedCell.plane === plane && this.focusedCell.col === c && this.focusedCell.row === r);
|
|
392
523
|
}
|
|
393
524
|
setFocusedCell(nextCoords) {
|
|
394
525
|
if (this.focusedCell.plane !== nextCoords.plane ||
|
|
@@ -401,7 +532,6 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
401
532
|
this.dispatchSelectionChange();
|
|
402
533
|
}
|
|
403
534
|
}
|
|
404
|
-
// Internal utility for setting selection end.
|
|
405
535
|
setSelectionEnd(nextCoords) {
|
|
406
536
|
if (this.selectionEnd.plane !== nextCoords.plane ||
|
|
407
537
|
this.selectionEnd.col !== nextCoords.col ||
|
|
@@ -410,14 +540,6 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
410
540
|
this.dispatchSelectionChange();
|
|
411
541
|
}
|
|
412
542
|
}
|
|
413
|
-
// Selection setter for consumers
|
|
414
|
-
setSelection(range) {
|
|
415
|
-
if (this.mode !== 'edit') {
|
|
416
|
-
this.selectionStart = range.start;
|
|
417
|
-
this.selectionEnd = range.end;
|
|
418
|
-
this.dispatchSelectionChange();
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
543
|
focusedCellBox() {
|
|
422
544
|
const cellElement = this.focusedCellElement();
|
|
423
545
|
const cellSize = {
|
|
@@ -467,24 +589,24 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
467
589
|
pxCursor += this.colSize(axisCursor, 'grid') + gap;
|
|
468
590
|
}
|
|
469
591
|
this.visColMin = axisCursor;
|
|
470
|
-
this.
|
|
471
|
-
const
|
|
592
|
+
this.overscanInlineStart = pxCursor - this.colSize(axisCursor, 'grid') - gap;
|
|
593
|
+
const bifurcateStart = pxCursor;
|
|
472
594
|
while (pxCursor < this.posInline + this.sizeInline) {
|
|
473
595
|
axisCursor += 1;
|
|
474
596
|
pxCursor += this.colSize(axisCursor, 'grid') + gap;
|
|
475
597
|
}
|
|
476
|
-
|
|
477
|
-
const
|
|
478
|
-
const
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
598
|
+
const bifurcateEnd = pxCursor - this.sizeInline;
|
|
599
|
+
const bifurcateMin = Math.min(bifurcateStart, bifurcateEnd);
|
|
600
|
+
const bifurcateMax = Math.max(bifurcateStart, bifurcateEnd);
|
|
601
|
+
if (this.posInline < bifurcateMin) {
|
|
602
|
+
this.binInlineMin = this.overscanInlineStart;
|
|
603
|
+
this.binInlineMax = bifurcateMin + gap;
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
this.binInlineMin = bifurcateMin;
|
|
607
|
+
this.binInlineMax = bifurcateMax;
|
|
485
608
|
}
|
|
486
|
-
this.
|
|
487
|
-
this.binInlineMax = bounds[boundsCursor];
|
|
609
|
+
this.visColMax = Math.min(this.limitColumns, axisCursor + 1);
|
|
488
610
|
this.templateGridColumns = [...Array(this.visColMax - this.visColMin)]
|
|
489
611
|
.map((_, c0) => `${this.colSize(this.visColMin + c0, 'grid')}px`)
|
|
490
612
|
.join(' ');
|
|
@@ -505,24 +627,24 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
505
627
|
pxCursor += this.rowSize(axisCursor, 'grid') + gap;
|
|
506
628
|
}
|
|
507
629
|
this.visRowMin = axisCursor;
|
|
508
|
-
this.
|
|
509
|
-
const
|
|
630
|
+
this.overscanBlockStart = pxCursor - this.rowSize(axisCursor, 'grid') - gap;
|
|
631
|
+
const bifurcateStart = pxCursor;
|
|
510
632
|
while (pxCursor < this.posBlock + this.sizeBlock) {
|
|
511
633
|
axisCursor += 1;
|
|
512
634
|
pxCursor += this.rowSize(axisCursor, 'grid') + gap;
|
|
513
635
|
}
|
|
514
|
-
|
|
515
|
-
const
|
|
516
|
-
const
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
let boundsCursor = 1;
|
|
521
|
-
while (bounds[boundsCursor] < this.posBlock && boundsCursor < 3) {
|
|
522
|
-
boundsCursor += 1;
|
|
636
|
+
const bifurcateEnd = pxCursor - this.sizeBlock;
|
|
637
|
+
const bifurcateMin = Math.min(bifurcateStart, bifurcateEnd);
|
|
638
|
+
const bifurcateMax = Math.max(bifurcateStart, bifurcateEnd);
|
|
639
|
+
if (this.posBlock < bifurcateMin) {
|
|
640
|
+
this.binBlockMin = this.overscanBlockStart;
|
|
641
|
+
this.binBlockMax = bifurcateMin + gap;
|
|
523
642
|
}
|
|
524
|
-
|
|
525
|
-
|
|
643
|
+
else {
|
|
644
|
+
this.binInlineMin = bifurcateMin;
|
|
645
|
+
this.binInlineMax = bifurcateMax;
|
|
646
|
+
}
|
|
647
|
+
this.visRowMax = Math.min(this.limitRows, axisCursor + 1);
|
|
526
648
|
this.templateGridRows = [...Array(this.visRowMax - this.visRowMin)]
|
|
527
649
|
.map((_, r0) => `${this.rowSize(this.visRowMin + r0, 'grid')}px`)
|
|
528
650
|
.join(' ');
|
|
@@ -593,7 +715,7 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
593
715
|
}
|
|
594
716
|
handleFocus(event) {
|
|
595
717
|
const cellCoords = closestCell(event.target);
|
|
596
|
-
if (cellCoords) {
|
|
718
|
+
if (cellCoords && !this.cellReadonly(cellCoords.col, cellCoords.row, cellCoords.plane)) {
|
|
597
719
|
this.focusActive = true;
|
|
598
720
|
this.setFocusedCell(cellCoords);
|
|
599
721
|
}
|
|
@@ -650,28 +772,19 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
650
772
|
return { col: 0, row: 0 };
|
|
651
773
|
}
|
|
652
774
|
}
|
|
653
|
-
|
|
654
|
-
const colPlane = resolveColPlane(coords.plane);
|
|
655
|
-
const colMax = (colPlane === 'grid' ? this.limitColumns : this.frozen[colPlane]) - 1;
|
|
656
|
-
return Math.max(0, Math.min(colMax, coords.col + deltaCol));
|
|
657
|
-
}
|
|
658
|
-
clampRow(coords, deltaRow = 0) {
|
|
659
|
-
const rowPlane = resolveRowPlane(coords.plane);
|
|
660
|
-
const rowMax = (rowPlane === 'grid' ? this.limitRows : this.frozen[rowPlane]) - 1;
|
|
661
|
-
return Math.max(0, Math.min(rowMax, coords.row + deltaRow));
|
|
662
|
-
}
|
|
775
|
+
focusPlaneElement() { }
|
|
663
776
|
/**
|
|
664
777
|
* Moves focus to the cell with actual focus, otherwise moves focus to the viewport.
|
|
665
778
|
*/
|
|
666
|
-
refocus(increment
|
|
779
|
+
refocus(increment, delta = 1) {
|
|
667
780
|
if (increment) {
|
|
668
781
|
switch (increment) {
|
|
669
782
|
case 'col': {
|
|
670
|
-
this.focusedCell.col
|
|
783
|
+
this.focusedCell.col += delta;
|
|
671
784
|
break;
|
|
672
785
|
}
|
|
673
786
|
case 'row': {
|
|
674
|
-
this.focusedCell.row
|
|
787
|
+
this.focusedCell.row += delta;
|
|
675
788
|
break;
|
|
676
789
|
}
|
|
677
790
|
}
|
|
@@ -782,44 +895,6 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
782
895
|
//
|
|
783
896
|
// Render and other lifecycle methods
|
|
784
897
|
//
|
|
785
|
-
// TODO(thure): This is for rendering presentational objects superimposed onto the canonical grid (e.g. DnD drop line for #8108).
|
|
786
|
-
renderPresentationLayer(offsetInline, offsetBlock) {
|
|
787
|
-
var _a, _b, _c, _d, _e, _f;
|
|
788
|
-
const visibleCols = this.visColMax - this.visColMin;
|
|
789
|
-
const visibleRows = this.visRowMax - this.visRowMin;
|
|
790
|
-
return html `<div
|
|
791
|
-
role="none"
|
|
792
|
-
class="dx-grid-layer--presentation"
|
|
793
|
-
style=${styleMap({
|
|
794
|
-
gridTemplateColumns: [
|
|
795
|
-
...[...Array((_a = this.frozen.frozenColsStart) !== null && _a !== void 0 ? _a : 0)].map((_, c0) => `${this.colSize(c0, 'frozenColsStart')}px`),
|
|
796
|
-
...[...Array(visibleCols)].map((_, c0) => c0 === visibleCols - 1
|
|
797
|
-
? '1fr'
|
|
798
|
-
: `${this.colSize(this.visColMin + c0, 'grid') + (c0 === 0 ? offsetInline : 0)}px`),
|
|
799
|
-
...[...Array((_b = this.frozen.frozenColsEnd) !== null && _b !== void 0 ? _b : 0)].map((_, c0) => `${this.colSize(c0, 'frozenColsEnd')}px`),
|
|
800
|
-
].join(' '),
|
|
801
|
-
gridTemplateRows: [
|
|
802
|
-
...[...Array((_c = this.frozen.frozenRowsStart) !== null && _c !== void 0 ? _c : 0)].map((_, r0) => `${this.rowSize(r0, 'frozenRowsStart')}px`),
|
|
803
|
-
...[...Array(visibleRows)].map((_, r0) => r0 === visibleRows - 1
|
|
804
|
-
? '1fr'
|
|
805
|
-
: `${this.rowSize(this.visRowMin + r0, 'grid') + (r0 === 0 ? offsetBlock : 0)}px`),
|
|
806
|
-
...[...Array((_d = this.frozen.frozenRowsEnd) !== null && _d !== void 0 ? _d : 0)].map((_, r0) => `${this.rowSize(r0, 'frozenRowsEnd')}px`),
|
|
807
|
-
].join(' '),
|
|
808
|
-
})}
|
|
809
|
-
>
|
|
810
|
-
${
|
|
811
|
-
/* TODO(thure): These are debug cells, remove when rendering actual overlay content. */ [
|
|
812
|
-
...Array(((_e = this.frozen.frozenRowsStart) !== null && _e !== void 0 ? _e : 0) + visibleRows + ((_f = this.frozen.frozenRowsEnd) !== null && _f !== void 0 ? _f : 0)),
|
|
813
|
-
].map((_, r0) => {
|
|
814
|
-
var _a, _b;
|
|
815
|
-
return [...Array(((_a = this.frozen.frozenColsStart) !== null && _a !== void 0 ? _a : 0) + visibleCols + ((_b = this.frozen.frozenColsEnd) !== null && _b !== void 0 ? _b : 0))].map((_, c0) => html `<div
|
|
816
|
-
role="none"
|
|
817
|
-
class="dx-grid-layer--presentation__cell"
|
|
818
|
-
style="grid-column:${c0 + 1};grid-row:${r0 + 1}"
|
|
819
|
-
></div>`);
|
|
820
|
-
})}
|
|
821
|
-
</div>`;
|
|
822
|
-
}
|
|
823
898
|
renderFixed(plane, selection) {
|
|
824
899
|
const colPlane = resolveColPlane(plane);
|
|
825
900
|
const rowPlane = resolveRowPlane(plane);
|
|
@@ -924,6 +999,7 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
924
999
|
return html `<div
|
|
925
1000
|
role="gridcell"
|
|
926
1001
|
tabindex="0"
|
|
1002
|
+
?inert=${col < 0 || row < 0}
|
|
927
1003
|
aria-selected=${selected ? 'true' : nothing}
|
|
928
1004
|
aria-readonly=${readonly ? 'true' : nothing}
|
|
929
1005
|
class=${(_a = cell === null || cell === void 0 ? void 0 : cell.className) !== null && _a !== void 0 ? _a : nothing}
|
|
@@ -951,16 +1027,14 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
951
1027
|
render() {
|
|
952
1028
|
const visibleCols = this.visColMax - this.visColMin;
|
|
953
1029
|
const visibleRows = this.visRowMax - this.visRowMin;
|
|
954
|
-
const offsetInline = this.
|
|
955
|
-
const offsetBlock = this.
|
|
1030
|
+
const offsetInline = this.overscanInlineStart - this.posInline + gap;
|
|
1031
|
+
const offsetBlock = this.overscanBlockStart - this.posBlock + gap;
|
|
956
1032
|
const selection = selectionProps(this.selectionStart, this.selectionEnd);
|
|
957
1033
|
return html `<style>
|
|
958
1034
|
${this.activeRefs
|
|
959
1035
|
.split(' ')
|
|
960
1036
|
.filter((value) => value)
|
|
961
|
-
.map(
|
|
962
|
-
// TODO(burdon): Consistent camelCase?
|
|
963
|
-
(activeRef) => `[data-refs~="${activeRef}"] { background: var(--dx-grid-commented-active, var(--dx-gridCommentedActive)) !important; }`)
|
|
1037
|
+
.map((activeRef) => `[data-refs~="${activeRef}"] { background: var(--dx-grid-commented-active, var(--dx-gridCommentedActive)) !important; }`)
|
|
964
1038
|
.join('\n')}
|
|
965
1039
|
</style>
|
|
966
1040
|
<div
|
|
@@ -1053,20 +1127,6 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
1053
1127
|
this.updateIntrinsicSizes();
|
|
1054
1128
|
}
|
|
1055
1129
|
willUpdate(changedProperties) {
|
|
1056
|
-
if (changedProperties.has('rowDefault') || changedProperties.has('rows') || changedProperties.has('limitRows')) {
|
|
1057
|
-
this.computeRowSizes();
|
|
1058
|
-
this.updateIntrinsicBlockSize();
|
|
1059
|
-
this.updatePosBlock();
|
|
1060
|
-
this.updateVisBlock();
|
|
1061
|
-
}
|
|
1062
|
-
if (changedProperties.has('columnDefault') ||
|
|
1063
|
-
changedProperties.has('columns') ||
|
|
1064
|
-
changedProperties.has('limitColumns')) {
|
|
1065
|
-
this.computeColSizes();
|
|
1066
|
-
this.updateIntrinsicInlineSize();
|
|
1067
|
-
this.updatePosInline();
|
|
1068
|
-
this.updateVisInline();
|
|
1069
|
-
}
|
|
1070
1130
|
if (this.getCells &&
|
|
1071
1131
|
(changedProperties.has('initialCells') ||
|
|
1072
1132
|
changedProperties.has('visColMin') ||
|
|
@@ -1079,6 +1139,26 @@ let DxGrid = class DxGrid extends LitElement {
|
|
|
1079
1139
|
changedProperties.has('limitRows'))) {
|
|
1080
1140
|
this.updateCells(true);
|
|
1081
1141
|
}
|
|
1142
|
+
if (changedProperties.has('rowDefault') || changedProperties.has('rows') || changedProperties.has('limitRows')) {
|
|
1143
|
+
this.updateIntrinsicBlockSize();
|
|
1144
|
+
this.updatePosBlock();
|
|
1145
|
+
this.updateVisBlock();
|
|
1146
|
+
}
|
|
1147
|
+
if (changedProperties.has('colDefault') ||
|
|
1148
|
+
changedProperties.has('columns') ||
|
|
1149
|
+
changedProperties.has('limitColumns')) {
|
|
1150
|
+
this.updateIntrinsicInlineSize();
|
|
1151
|
+
this.updatePosInline();
|
|
1152
|
+
this.updateVisInline();
|
|
1153
|
+
}
|
|
1154
|
+
if (changedProperties.has('columns')) {
|
|
1155
|
+
this.computeColSizes();
|
|
1156
|
+
this.updateIntrinsicInlineSize();
|
|
1157
|
+
}
|
|
1158
|
+
if (changedProperties.has('rows')) {
|
|
1159
|
+
this.computeRowSizes();
|
|
1160
|
+
this.updateIntrinsicBlockSize();
|
|
1161
|
+
}
|
|
1082
1162
|
}
|
|
1083
1163
|
updated(changedProperties) {
|
|
1084
1164
|
// Update the focused element if there is a change in bounds (otherwise Lit keeps focus on the relative element).
|
|
@@ -1163,10 +1243,10 @@ __decorate([
|
|
|
1163
1243
|
], DxGrid.prototype, "sizeBlock", void 0);
|
|
1164
1244
|
__decorate([
|
|
1165
1245
|
state()
|
|
1166
|
-
], DxGrid.prototype, "
|
|
1246
|
+
], DxGrid.prototype, "overscanInlineStart", void 0);
|
|
1167
1247
|
__decorate([
|
|
1168
1248
|
state()
|
|
1169
|
-
], DxGrid.prototype, "
|
|
1249
|
+
], DxGrid.prototype, "overscanBlockStart", void 0);
|
|
1170
1250
|
__decorate([
|
|
1171
1251
|
state()
|
|
1172
1252
|
], DxGrid.prototype, "binInlineMin", void 0);
|
|
@@ -1243,6 +1323,6 @@ DxGrid = __decorate([
|
|
|
1243
1323
|
customElement('dx-grid')
|
|
1244
1324
|
], DxGrid);
|
|
1245
1325
|
export { DxGrid };
|
|
1246
|
-
export { rowToA1Notation, colToA1Notation
|
|
1326
|
+
export { rowToA1Notation, colToA1Notation } from './util';
|
|
1247
1327
|
export const commentedClassName = 'dx-grid__cell--commented';
|
|
1248
1328
|
//# sourceMappingURL=dx-grid.js.map
|