@3mo/data-grid 0.7.3 → 0.8.0
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/DataGrid.d.ts +4 -1
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +9 -2
- package/dist/DataGridCell.d.ts.map +1 -1
- package/dist/DataGridCell.js +12 -0
- package/dist/DataGridColumn.d.ts +9 -0
- package/dist/DataGridColumn.d.ts.map +1 -1
- package/dist/DataGridColumn.js +35 -0
- package/dist/DataGridHeader.d.ts +1 -0
- package/dist/DataGridHeader.d.ts.map +1 -1
- package/dist/DataGridHeader.js +57 -8
- package/dist/DataGridHeaderSeparator.d.ts +0 -1
- package/dist/DataGridHeaderSeparator.d.ts.map +1 -1
- package/dist/DataGridHeaderSeparator.js +6 -20
- package/dist/columns/DataGridColumnComponent.d.ts +3 -3
- package/dist/columns/DataGridColumnComponent.d.ts.map +1 -1
- package/dist/columns/DataGridColumnComponent.js +6 -5
- package/dist/custom-elements.json +274 -101
- package/dist/rows/DataGridRow.d.ts.map +1 -1
- package/dist/rows/DataGridRow.js +6 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/DataGrid.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ export type DataGridSorting<TData> = DataGridSortingDefinition<TData> | Array<Da
|
|
|
76
76
|
* @cssprop --mo-data-grid-min-visible-rows - The minimum number of visible rows. Default to 2.5.
|
|
77
77
|
* @cssprop --mo-data-grid-footer-background - The background of the footer.
|
|
78
78
|
* @cssprop --mo-data-grid-cell-padding - The inline padding of the cells. Default to 10px.
|
|
79
|
-
* @cssprop --mo-data-grid-column-sub-row-indentation - The indentation of the first column in the sub row. Default to
|
|
79
|
+
* @cssprop --mo-data-grid-column-sub-row-indentation - The indentation of the first column in the sub row. Default to 20px.
|
|
80
80
|
*
|
|
81
81
|
* @fires dataChange
|
|
82
82
|
* @fires selectionChange
|
|
@@ -229,6 +229,9 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
229
229
|
protected get selectionToolbarTemplate(): HTMLTemplateResult;
|
|
230
230
|
protected get toolbarActionsTemplate(): HTMLTemplateResult;
|
|
231
231
|
private provideCssColumnsProperties;
|
|
232
|
+
readonly detailsColumnWidthInPixels = 0;
|
|
233
|
+
readonly selectionColumnWidthInPixels = 0;
|
|
234
|
+
readonly moreColumnWidthInPixels = 0;
|
|
232
235
|
get columnsWidths(): string[];
|
|
233
236
|
get detailsColumnWidth(): string | undefined;
|
|
234
237
|
get selectionColumnWidth(): string | undefined;
|
package/dist/DataGrid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../DataGrid.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../DataGrid.ts"],"names":[],"mappings":"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"}
|
package/dist/DataGrid.js
CHANGED
|
@@ -99,7 +99,7 @@ export var DataGridEditability;
|
|
|
99
99
|
* @cssprop --mo-data-grid-min-visible-rows - The minimum number of visible rows. Default to 2.5.
|
|
100
100
|
* @cssprop --mo-data-grid-footer-background - The background of the footer.
|
|
101
101
|
* @cssprop --mo-data-grid-cell-padding - The inline padding of the cells. Default to 10px.
|
|
102
|
-
* @cssprop --mo-data-grid-column-sub-row-indentation - The indentation of the first column in the sub row. Default to
|
|
102
|
+
* @cssprop --mo-data-grid-column-sub-row-indentation - The indentation of the first column in the sub row. Default to 20px.
|
|
103
103
|
*
|
|
104
104
|
* @fires dataChange
|
|
105
105
|
* @fires selectionChange
|
|
@@ -153,6 +153,9 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
153
153
|
this.smallScreenObserverController = new MediaQueryController(this, '(max-width: 768px)');
|
|
154
154
|
this.themeController = new ThemeController(this);
|
|
155
155
|
this.selectionController = new DataGridSelectionController(this);
|
|
156
|
+
this.detailsColumnWidthInPixels = 0;
|
|
157
|
+
this.selectionColumnWidthInPixels = 0;
|
|
158
|
+
this.moreColumnWidthInPixels = 0;
|
|
156
159
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
157
160
|
this.lastScrollElementTop = 0;
|
|
158
161
|
this.handleScroll = (e) => {
|
|
@@ -395,7 +398,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
395
398
|
--mo-data-grid-row-tree-line-width: 8px;
|
|
396
399
|
--mo-details-data-grid-start-margin: 26px;
|
|
397
400
|
|
|
398
|
-
--mo-data-grid-sticky-part-color: var(--mo-color-surface
|
|
401
|
+
--mo-data-grid-sticky-part-color: var(--mo-color-surface);
|
|
399
402
|
|
|
400
403
|
--mo-data-grid-selection-background: color-mix(in srgb, var(--mo-color-accent), transparent 50%);
|
|
401
404
|
display: flex;
|
|
@@ -428,6 +431,10 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
428
431
|
--mo-data-grid-row-tree-line-width: 18px;
|
|
429
432
|
}
|
|
430
433
|
|
|
434
|
+
#content {
|
|
435
|
+
width: fit-content;
|
|
436
|
+
}
|
|
437
|
+
|
|
431
438
|
#toolbar {
|
|
432
439
|
position: relative;
|
|
433
440
|
padding: var(--mo-data-grid-toolbar-padding);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../DataGridCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA6C,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGpH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,cAAc,EAAuB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAOvF;;;;;;GAMG;AACH,qBACa,YAAY,CAAC,MAAM,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,CAAE,SAAQ,SAAS;IAC1H,KAAK,EAAG,MAAM,CAAA;IACd,MAAM,EAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACtC,GAAG,EAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IAQlE,OAAO,CAAC,OAAO,CAAQ;IAE1B,IAAI,QAAQ,6DAA+B;IAC3C,IAAI,IAAI,UAA2B;IACnC,IAAI,YAAY,+/CAAsC;IAEtD,OAAO,KAAK,SAAS,GAAkD;IACvE,OAAO,KAAK,QAAQ,GAA0D;IAE9E,OAAO,KAAK,gBAAgB,GAAuD;IAEnF,OAAO,KAAK,UAAU,GAIrB;IAED,IAAI,SAAS,YAGZ;IAED,SAAS,CAAC,QAAQ,CAAC,eAAe,kBAA4B;IAG9D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY;IAO/C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU;cAQ7B,aAAa,CAAC,KAAK,EAAE,aAAa;IA2ClD,OAAO,CAAC,SAAS;IAWjB,WAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../DataGridCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA6C,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGpH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,cAAc,EAAuB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAOvF;;;;;;GAMG;AACH,qBACa,YAAY,CAAC,MAAM,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,CAAE,SAAQ,SAAS;IAC1H,KAAK,EAAG,MAAM,CAAA;IACd,MAAM,EAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACtC,GAAG,EAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IAQlE,OAAO,CAAC,OAAO,CAAQ;IAE1B,IAAI,QAAQ,6DAA+B;IAC3C,IAAI,IAAI,UAA2B;IACnC,IAAI,YAAY,+/CAAsC;IAEtD,OAAO,KAAK,SAAS,GAAkD;IACvE,OAAO,KAAK,QAAQ,GAA0D;IAE9E,OAAO,KAAK,gBAAgB,GAAuD;IAEnF,OAAO,KAAK,UAAU,GAIrB;IAED,IAAI,SAAS,YAGZ;IAED,SAAS,CAAC,QAAQ,CAAC,eAAe,kBAA4B;IAG9D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY;IAO/C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU;cAQ7B,aAAa,CAAC,KAAK,EAAE,aAAa;IA2ClD,OAAO,CAAC,SAAS;IAWjB,WAAoB,MAAM,kCAoDzB;IAED,OAAO,KAAK,OAAO,GAAmC;IAEtD,cAAuB,QAAQ,uBAa9B;IAED,OAAO,KAAK,eAAe,GAK1B;IAED,OAAO,KAAK,mBAAmB,GAE9B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAC1C;CACD"}
|
package/dist/DataGridCell.js
CHANGED
|
@@ -134,6 +134,15 @@ let DataGridCell = class DataGridCell extends Component {
|
|
|
134
134
|
text-align: center;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
:host([sticky]) {
|
|
138
|
+
position: sticky;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:host([sticky]) /*[sticking]*/ {
|
|
142
|
+
z-index: 2;
|
|
143
|
+
background: var(--mo-data-grid-sticky-part-color);
|
|
144
|
+
}
|
|
145
|
+
|
|
137
146
|
:host > :first-child {
|
|
138
147
|
line-height: var(--mo-data-grid-row-height);
|
|
139
148
|
}
|
|
@@ -155,6 +164,9 @@ let DataGridCell = class DataGridCell extends Component {
|
|
|
155
164
|
else {
|
|
156
165
|
this.setAttribute('tabindex', '-1');
|
|
157
166
|
}
|
|
167
|
+
this.toggleAttribute('sticky', this.column.sticky !== undefined);
|
|
168
|
+
this.toggleAttribute('sticking', this.column.intersecting === false);
|
|
169
|
+
this.style.insetInline = this.column.stickyColumnInsetInline;
|
|
158
170
|
return this.isEditing ? this.editContentTemplate : this.contentTemplate;
|
|
159
171
|
}
|
|
160
172
|
get contentTemplate() {
|
package/dist/DataGridColumn.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type HTMLTemplateResult } from '@a11d/lit';
|
|
|
2
2
|
import type { DataGrid, DataGridSortingDefinition } from './index.js';
|
|
3
3
|
import type * as CSS from 'csstype';
|
|
4
4
|
export type DataGridColumnAlignment = 'start' | 'center' | 'end';
|
|
5
|
+
export type DataGridColumnSticky = 'start' | 'both' | 'end';
|
|
5
6
|
export type DataGridRankedSortDefinition<TData> = DataGridSortingDefinition<TData> & {
|
|
6
7
|
rank: number;
|
|
7
8
|
};
|
|
@@ -14,6 +15,7 @@ export declare class DataGridColumn<TData, TValue = unknown> {
|
|
|
14
15
|
alignment: DataGridColumnAlignment;
|
|
15
16
|
hidden: boolean;
|
|
16
17
|
sortable: boolean;
|
|
18
|
+
sticky?: DataGridColumnSticky;
|
|
17
19
|
private _sortDataSelector?;
|
|
18
20
|
get sortDataSelector(): object extends TData ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends TData[T] ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends TData[T_4] ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never;
|
|
19
21
|
set sortDataSelector(value: object extends TData ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends TData[T] ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends TData[T_4] ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never);
|
|
@@ -23,7 +25,14 @@ export declare class DataGridColumn<TData, TValue = unknown> {
|
|
|
23
25
|
sumHeading?: string;
|
|
24
26
|
getSumTemplate?(sum: number): HTMLTemplateResult;
|
|
25
27
|
constructor(column: Partial<DataGridColumn<TData, TValue>>);
|
|
28
|
+
private _widthInPixels?;
|
|
29
|
+
get widthInPixels(): number;
|
|
30
|
+
set widthInPixels(value: number);
|
|
31
|
+
private _intersecting;
|
|
32
|
+
get intersecting(): boolean;
|
|
33
|
+
set intersecting(value: boolean);
|
|
26
34
|
get sortingDefinition(): DataGridRankedSortDefinition<TData> | undefined;
|
|
27
35
|
get sumTemplate(): HTMLTemplateResult | undefined;
|
|
36
|
+
get stickyColumnInsetInline(): string;
|
|
28
37
|
}
|
|
29
38
|
//# sourceMappingURL=DataGridColumn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,KAAK,KAAK,GAAG,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhE,MAAM,MAAM,4BAA4B,CAAC,KAAK,IAAI,yBAAyB,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAErG,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAE/B,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;
|
|
1
|
+
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,KAAK,KAAK,GAAG,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3D,MAAM,MAAM,4BAA4B,CAAC,KAAK,IAAI,yBAAyB,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAErG,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAE/B,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IAEnE,SAAS,EAAE,uBAAuB,CAAU;IAC5C,MAAM,UAAQ;IAEd,QAAQ,UAAO;IAEf,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAE7B,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,IAAI,gBAAgB,+/CAAyD;IAC7E,IAAI,gBAAgB,CAAC,KAAK,4/CAAA,EAAoC;IAE9D,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEnE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAC5C,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEvE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;gBAEpC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAI1D,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,IAAI,aAAa,WAAsC;IACvD,IAAI,aAAa,CAAC,KAAK,QAAA,EAGtB;IAED,OAAO,CAAC,aAAa,CAAQ;IAC7B,IAAI,YAAY,YAAgC;IAChD,IAAI,YAAY,CAAC,KAAK,SAAA,EAGrB;IAED,IAAI,iBAAiB,oDAUpB;IAED,IAAI,WAAW,mCAgBd;IAED,IAAI,uBAAuB,WA2B1B;CACD"}
|
package/dist/DataGridColumn.js
CHANGED
|
@@ -9,8 +9,19 @@ export class DataGridColumn {
|
|
|
9
9
|
this.hidden = false;
|
|
10
10
|
this.sortable = true;
|
|
11
11
|
this.editable = false;
|
|
12
|
+
this._intersecting = false;
|
|
12
13
|
Object.assign(this, column);
|
|
13
14
|
}
|
|
15
|
+
get widthInPixels() { return this._widthInPixels || 0; }
|
|
16
|
+
set widthInPixels(value) {
|
|
17
|
+
this._widthInPixels = value;
|
|
18
|
+
this.dataGrid?.requestUpdate();
|
|
19
|
+
}
|
|
20
|
+
get intersecting() { return this._intersecting; }
|
|
21
|
+
set intersecting(value) {
|
|
22
|
+
this._intersecting = value;
|
|
23
|
+
this.dataGrid?.requestUpdate();
|
|
24
|
+
}
|
|
14
25
|
get sortingDefinition() {
|
|
15
26
|
if (!this.dataGrid) {
|
|
16
27
|
return undefined;
|
|
@@ -37,4 +48,28 @@ export class DataGridColumn {
|
|
|
37
48
|
</mo-data-grid-footer-sum>
|
|
38
49
|
`;
|
|
39
50
|
}
|
|
51
|
+
get stickyColumnInsetInline() {
|
|
52
|
+
const dataGrid = this.dataGrid;
|
|
53
|
+
if (!dataGrid) {
|
|
54
|
+
return '';
|
|
55
|
+
}
|
|
56
|
+
const columnIndex = dataGrid.visibleColumns.indexOf(this);
|
|
57
|
+
const calculate = (type) => dataGrid.visibleColumns
|
|
58
|
+
.filter((c, i) => c.sticky === type && (type === 'start' ? i < columnIndex : i > columnIndex))
|
|
59
|
+
.map(c => c.widthInPixels)
|
|
60
|
+
.filter(x => x !== undefined)
|
|
61
|
+
.reduce((a, b) => a + b, 0);
|
|
62
|
+
const start = `${dataGrid.selectionColumnWidthInPixels + dataGrid.detailsColumnWidthInPixels + calculate('start')}px`;
|
|
63
|
+
const end = `${calculate('end') + dataGrid.moreColumnWidthInPixels}px`;
|
|
64
|
+
switch (this.sticky) {
|
|
65
|
+
case 'start':
|
|
66
|
+
return `${start} auto`;
|
|
67
|
+
case 'end':
|
|
68
|
+
return `auto ${end}`;
|
|
69
|
+
case 'both':
|
|
70
|
+
return `${start} ${end}`;
|
|
71
|
+
default:
|
|
72
|
+
return '';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
40
75
|
}
|
package/dist/DataGridHeader.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export declare class DataGridHeader<TData> extends Component {
|
|
|
18
18
|
private readonly getHeaderCellTemplate;
|
|
19
19
|
private get fillerTemplate();
|
|
20
20
|
private get moreTemplate();
|
|
21
|
+
private getResizeObserver;
|
|
21
22
|
private sort;
|
|
22
23
|
private toggleAllDetails;
|
|
23
24
|
private readonly handleSelectionChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAgD,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAgD,MAAM,WAAW,CAAA;AAK9F,OAAO,EAAuE,KAAK,QAAQ,EAAwB,MAAM,YAAY,CAAA;AAErI,qBACa,cAAc,CAAC,KAAK,CAAE,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,mBAAmB,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEnC,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/C,SAAS,EAAE,iBAAiB,CAAQ;IACJ,WAAW,UAAQ;cAE5C,SAAS;cAKT,YAAY;IAK/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;IAED,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAQ7C;IAED,WAAoB,MAAM,kCAuFzB;IAED,cAAuB,QAAQ,0CAQ9B;IAED,OAAO,KAAK,uBAAuB,GAYlC;IAED,OAAO,KAAK,iBAAiB,GAQ5B;IAED,OAAO,KAAK,eAAe,GAI1B;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAgCrC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,YAAY,GAQvB;IAED,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,IAAI;IAoCZ,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAOrC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;KAC9C;CACD"}
|
package/dist/DataGridHeader.js
CHANGED
|
@@ -2,6 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { component, Component, css, html, ifDefined, property, event, style } from '@a11d/lit';
|
|
3
3
|
import { KeyboardController } from '@3mo/keyboard-controller';
|
|
4
4
|
import { tooltip } from '@3mo/tooltip';
|
|
5
|
+
import { observeResize } from '@3mo/resize-observer';
|
|
5
6
|
import { DataGridSelectionMode, DataGridSortingStrategy, DataGridSidePanelTab } from './index.js';
|
|
6
7
|
let DataGridHeader = class DataGridHeader extends Component {
|
|
7
8
|
constructor() {
|
|
@@ -22,12 +23,17 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
22
23
|
this.selection = 'indeterminate';
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
|
-
this.getHeaderCellTemplate = (column, index) => {
|
|
26
|
+
this.getHeaderCellTemplate = (column, index, columns) => {
|
|
26
27
|
const sortingDefinition = column.sortingDefinition;
|
|
27
28
|
const sortIcon = !sortingDefinition ? undefined : sortingDefinition.strategy === DataGridSortingStrategy.Ascending ? 'arrow_upward' : 'arrow_downward';
|
|
28
29
|
const sortingRank = !sortingDefinition || this.dataGrid.getSorting().length <= 1 ? undefined : sortingDefinition.rank;
|
|
29
30
|
return html `
|
|
30
|
-
<mo-
|
|
31
|
+
<mo-flex class='cell' alignItems='center' direction=${column.alignment === 'end' ? 'horizontal-reversed' : 'horizontal'}
|
|
32
|
+
data-sticky=${ifDefined(column.sticky)}
|
|
33
|
+
data-sticking=${column.intersecting === false}
|
|
34
|
+
${!column.sticky || column.intersecting ? html.nothing : style({ insetInline: column.stickyColumnInsetInline })}
|
|
35
|
+
${observeResize(([entry]) => column.widthInPixels = entry?.contentRect.width ?? 0)}
|
|
36
|
+
>
|
|
31
37
|
<mo-flex direction=${column.alignment === 'end' ? 'horizontal-reversed' : 'horizontal'} alignItems='center'
|
|
32
38
|
${style({ overflow: 'hidden', cursor: 'pointer', flex: '1' })}
|
|
33
39
|
@click=${() => this.sort(column)}
|
|
@@ -43,10 +49,11 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
43
49
|
`}
|
|
44
50
|
</mo-flex>
|
|
45
51
|
<mo-data-grid-header-separator
|
|
52
|
+
?data-last=${columns.length - 1 === index}
|
|
46
53
|
.dataGrid=${this.dataGrid}
|
|
47
54
|
.column=${this.dataGrid.visibleColumns[index]}
|
|
48
55
|
></mo-data-grid-header-separator>
|
|
49
|
-
</mo-
|
|
56
|
+
</mo-flex>
|
|
50
57
|
`;
|
|
51
58
|
};
|
|
52
59
|
this.handleSelectionChange = (e) => {
|
|
@@ -113,6 +120,46 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
113
120
|
align-items: center;
|
|
114
121
|
justify-content: center;
|
|
115
122
|
}
|
|
123
|
+
|
|
124
|
+
.cell {
|
|
125
|
+
position: relative;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.cell[data-sticky] {
|
|
129
|
+
position: sticky;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.cell[data-sticky] /*[data-sticking]*/ {
|
|
133
|
+
z-index: 6;
|
|
134
|
+
background: var(--mo-data-grid-sticky-part-color);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
mo-data-grid-header-separator {
|
|
138
|
+
z-index: 5;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.cell[data-sticky] /*[data-sticking]*/ mo-data-grid-header-separator {
|
|
142
|
+
z-index: 7;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.details, .selection, .more {
|
|
146
|
+
position: sticky;
|
|
147
|
+
background: var(--mo-data-grid-sticky-part-color);
|
|
148
|
+
z-index: 5;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.details {
|
|
152
|
+
inset-inline-start: 0px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.selection {
|
|
156
|
+
inset-inline-start: 0px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.more {
|
|
160
|
+
cursor: pointer;
|
|
161
|
+
inset-inline-end: 0px;
|
|
162
|
+
}
|
|
116
163
|
`;
|
|
117
164
|
}
|
|
118
165
|
get template() {
|
|
@@ -126,7 +173,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
126
173
|
}
|
|
127
174
|
get detailsExpanderTemplate() {
|
|
128
175
|
return this.dataGrid.hasDetails === false ? html.nothing : html `
|
|
129
|
-
<mo-flex justifyContent='center' alignItems='center'>
|
|
176
|
+
<mo-flex class='details' justifyContent='center' alignItems='center' ${this.getResizeObserver('detailsColumnWidthInPixels')}>
|
|
130
177
|
${!this.dataGrid.hasDetails || !this.dataGrid.multipleDetails ? html.nothing : html `
|
|
131
178
|
<mo-icon-button dense ${style({ padding: '-10px 0px 0 -10px' })}
|
|
132
179
|
${style({ display: 'inherit' })}
|
|
@@ -139,7 +186,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
139
186
|
}
|
|
140
187
|
get selectionTemplate() {
|
|
141
188
|
return this.dataGrid.hasSelection === false || this.dataGrid.selectionCheckboxesHidden ? html.nothing : html `
|
|
142
|
-
<mo-flex justifyContent='center' alignItems='center'>
|
|
189
|
+
<mo-flex class='selection' justifyContent='center' alignItems='center' ${this.getResizeObserver('selectionColumnWidthInPixels')}>
|
|
143
190
|
${this.dataGrid.selectionMode !== DataGridSelectionMode.Multiple ? html.nothing : html `
|
|
144
191
|
<mo-checkbox ${style({ position: 'absolute' })} .selected=${this.selection} @change=${this.handleSelectionChange}></mo-checkbox>
|
|
145
192
|
`}
|
|
@@ -156,15 +203,17 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
156
203
|
}
|
|
157
204
|
get moreTemplate() {
|
|
158
205
|
return this.dataGrid.hasToolbar || this.dataGrid.sidePanelHidden ? html.nothing : html `
|
|
159
|
-
<mo-flex alignItems='end' justifyContent='center'
|
|
160
|
-
${style({ cursor: 'pointer', position: 'sticky', insetInlineEnd: '0px', background: 'var(--mo-data-grid-sticky-part-color)', zIndex: '5', marginInlineStart: '3px' })}
|
|
161
|
-
>
|
|
206
|
+
<mo-flex class='more' alignItems='end' justifyContent='center' ${this.getResizeObserver('moreColumnWidthInPixels')}>
|
|
162
207
|
<mo-icon-button dense icon='settings' ${style({ color: 'var(--mo-color-accent)', fontSize: 'large' })}
|
|
163
208
|
@click=${() => this.dataGrid.navigateToSidePanelTab(this.dataGrid.sidePanelTab ? undefined : DataGridSidePanelTab.Settings)}
|
|
164
209
|
></mo-icon-button>
|
|
165
210
|
</mo-flex>
|
|
166
211
|
`;
|
|
167
212
|
}
|
|
213
|
+
getResizeObserver(property) {
|
|
214
|
+
// @ts-expect-error Readonly property set here
|
|
215
|
+
return observeResize(([entry]) => this.dataGrid[property] = entry?.contentRect.width ?? 0);
|
|
216
|
+
}
|
|
168
217
|
sort(column) {
|
|
169
218
|
if (column.sortable === false) {
|
|
170
219
|
return;
|
|
@@ -15,7 +15,6 @@ export declare class DataGridHeaderSeparator extends Component {
|
|
|
15
15
|
private readonly handlePointerDown;
|
|
16
16
|
private updatePointerPosition;
|
|
17
17
|
private readonly handleDoubleClick;
|
|
18
|
-
private getColumnWidth;
|
|
19
18
|
}
|
|
20
19
|
declare global {
|
|
21
20
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeaderSeparator.d.ts","sourceRoot":"","sources":["../DataGridHeaderSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+D,MAAM,WAAW,CAAA;AAClG,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qBACa,uBAAwB,SAAQ,SAAS;IACzB,QAAQ,EAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAI;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,WAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"DataGridHeaderSeparator.d.ts","sourceRoot":"","sources":["../DataGridHeaderSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+D,MAAM,WAAW,CAAA;AAClG,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qBACa,uBAAwB,SAAQ,SAAS;IACzB,QAAQ,EAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAI;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,WAAoB,MAAM,kCAiDzB;IAED,cAAuB,QAAQ,0CAU9B;IAGD,SAAS,CAAC,eAAe;IAczB,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU;IAmBxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIjC;IAED,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIjC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,+BAA+B,EAAE,uBAAuB,CAAA;KACxD;CACD"}
|
|
@@ -8,7 +8,7 @@ let DataGridHeaderSeparator = class DataGridHeaderSeparator extends Component {
|
|
|
8
8
|
this.minimum = 30;
|
|
9
9
|
this.handlePointerDown = (e) => {
|
|
10
10
|
this.isResizing = true;
|
|
11
|
-
this.initialWidth = this.
|
|
11
|
+
this.initialWidth = this.column.widthInPixels;
|
|
12
12
|
this.updatePointerPosition(e);
|
|
13
13
|
};
|
|
14
14
|
this.handleDoubleClick = () => {
|
|
@@ -21,8 +21,11 @@ let DataGridHeaderSeparator = class DataGridHeaderSeparator extends Component {
|
|
|
21
21
|
return css `
|
|
22
22
|
:host {
|
|
23
23
|
position: absolute;
|
|
24
|
-
inset-inline-end: -
|
|
25
|
-
|
|
24
|
+
inset-inline-end: -2px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host([data-last]) {
|
|
28
|
+
inset-inline-end: 0px !important;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
div.separator {
|
|
@@ -105,23 +108,6 @@ let DataGridHeaderSeparator = class DataGridHeaderSeparator extends Component {
|
|
|
105
108
|
const clientX = 'touches' in e ? e.touches[0].clientX : e.clientX;
|
|
106
109
|
this.pointerInlineStart = !isRtl ? clientX : window.innerWidth - clientX;
|
|
107
110
|
}
|
|
108
|
-
getColumnWidth(column) {
|
|
109
|
-
if (column.hidden === true) {
|
|
110
|
-
return 0;
|
|
111
|
-
}
|
|
112
|
-
column.width ?? (column.width = 'max-content');
|
|
113
|
-
const columnIndex = this.dataGrid.visibleColumns.findIndex(c => c === this.column);
|
|
114
|
-
const targetColumnIndex = this.dataGrid.visibleColumns.findIndex(c => c === column);
|
|
115
|
-
let targetColumn = this.previousElementSibling;
|
|
116
|
-
if (columnIndex !== targetColumnIndex) {
|
|
117
|
-
let steps = (targetColumnIndex - columnIndex) * 2 - 1;
|
|
118
|
-
while (steps >= 0) {
|
|
119
|
-
targetColumn = targetColumn.nextElementSibling;
|
|
120
|
-
steps--;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return targetColumn.clientWidth || 0;
|
|
124
|
-
}
|
|
125
111
|
};
|
|
126
112
|
__decorate([
|
|
127
113
|
property({ type: Object })
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, type HTMLTemplateResult } from '@a11d/lit';
|
|
2
2
|
import { DataGrid } from '../DataGrid.js';
|
|
3
|
-
import { DataGridColumn, type DataGridColumnAlignment } from '../DataGridColumn.js';
|
|
3
|
+
import { DataGridColumn, type DataGridColumnAlignment, type DataGridColumnSticky } from '../DataGridColumn.js';
|
|
4
4
|
/**
|
|
5
5
|
* @attr width - The width of the column
|
|
6
6
|
* @attr hidden - Whether the column is hidden. The column can be made visible by the user in the settings panel if available.
|
|
@@ -11,13 +11,13 @@ import { DataGridColumn, type DataGridColumnAlignment } from '../DataGridColumn.
|
|
|
11
11
|
* @attr sortDataSelector - The data selector of the column
|
|
12
12
|
* @attr nonSortable - Whether the column is sortable
|
|
13
13
|
* @attr nonEditable - Whether the column is editable
|
|
14
|
+
* @attr sticky - The sticky position of the column, either 'start', 'end', or 'both'
|
|
14
15
|
*/
|
|
15
16
|
export declare abstract class DataGridColumnComponent<TData, TValue> extends Component {
|
|
16
|
-
static readonly regex: RegExp;
|
|
17
|
-
private static getProportion;
|
|
18
17
|
dataGrid?: DataGrid<TData, any> | undefined;
|
|
19
18
|
width: string;
|
|
20
19
|
hidden: boolean;
|
|
20
|
+
sticky?: DataGridColumnSticky;
|
|
21
21
|
heading: string;
|
|
22
22
|
description?: string;
|
|
23
23
|
textAlign: DataGridColumnAlignment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnComponent.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGridColumnComponent.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9G;;;;;;;;;;;GAWG;AACH,8BAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAE,SAAQ,SAAS;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IAE3D,KAAK,SAAgB;IACK,MAAM,UAAQ;IACxC,MAAM,CAAC,EAAE,oBAAoB,CAAA;IACZ,OAAO,SAAK;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,uBAAuB,CAAU;IAC5C,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACpB,WAAW,UAAQ;IAO5D,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAElD,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAgB1C;IAED,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IACvF,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAE5F,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAIlD,iBAAiB;cAOP,OAAO;CAI1B"}
|
|
@@ -12,6 +12,7 @@ import { DataGridColumn } from '../DataGridColumn.js';
|
|
|
12
12
|
* @attr sortDataSelector - The data selector of the column
|
|
13
13
|
* @attr nonSortable - Whether the column is sortable
|
|
14
14
|
* @attr nonEditable - Whether the column is editable
|
|
15
|
+
* @attr sticky - The sticky position of the column, either 'start', 'end', or 'both'
|
|
15
16
|
*/
|
|
16
17
|
export class DataGridColumnComponent extends Component {
|
|
17
18
|
constructor() {
|
|
@@ -23,9 +24,6 @@ export class DataGridColumnComponent extends Component {
|
|
|
23
24
|
this.nonSortable = false;
|
|
24
25
|
this.nonEditable = false;
|
|
25
26
|
}
|
|
26
|
-
static getProportion(value) {
|
|
27
|
-
return Number(value.replace(DataGridColumnComponent.regex, '$1') || 1);
|
|
28
|
-
}
|
|
29
27
|
get column() {
|
|
30
28
|
const nonEditable = this.nonEditable;
|
|
31
29
|
return new DataGridColumn({
|
|
@@ -35,7 +33,8 @@ export class DataGridColumnComponent extends Component {
|
|
|
35
33
|
description: this.description,
|
|
36
34
|
alignment: this.textAlign,
|
|
37
35
|
hidden: this.hidden,
|
|
38
|
-
|
|
36
|
+
sticky: this.sticky,
|
|
37
|
+
width: this.width,
|
|
39
38
|
sortable: !this.nonSortable,
|
|
40
39
|
editable: this.getEditContentTemplate !== undefined && (typeof nonEditable !== 'function' ? !nonEditable : x => !nonEditable(x)),
|
|
41
40
|
getContentTemplate: this.getContentTemplate.bind(this),
|
|
@@ -56,7 +55,6 @@ export class DataGridColumnComponent extends Component {
|
|
|
56
55
|
this.dataGrid?.requestUpdate();
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
|
-
DataGridColumnComponent.regex = /^\s*(0|[1-9][0-9]*)?\s*\*\s*$/;
|
|
60
58
|
__decorate([
|
|
61
59
|
property({ type: Object })
|
|
62
60
|
], DataGridColumnComponent.prototype, "dataGrid", void 0);
|
|
@@ -66,6 +64,9 @@ __decorate([
|
|
|
66
64
|
__decorate([
|
|
67
65
|
property({ type: Boolean })
|
|
68
66
|
], DataGridColumnComponent.prototype, "hidden", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
property()
|
|
69
|
+
], DataGridColumnComponent.prototype, "sticky", void 0);
|
|
69
70
|
__decorate([
|
|
70
71
|
property({ reflect: true })
|
|
71
72
|
], DataGridColumnComponent.prototype, "heading", void 0);
|