@3mo/data-grid 0.20.2 → 0.21.0-preview.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 +6 -1
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +12 -1
- package/dist/DataGridColumn.d.ts.map +1 -1
- package/dist/DataGridColumn.js +5 -26
- package/dist/DataGridColumnHeader.d.ts.map +1 -1
- package/dist/DataGridColumnHeader.js +14 -1
- package/dist/DataGridColumnsController.d.ts +4 -3
- package/dist/DataGridColumnsController.d.ts.map +1 -1
- package/dist/DataGridColumnsController.js +44 -3
- package/dist/DataGridHeader.d.ts +3 -1
- package/dist/DataGridHeader.d.ts.map +1 -1
- package/dist/DataGridHeader.js +33 -22
- package/dist/DataGridReorderabilityController.d.ts +63 -0
- package/dist/DataGridReorderabilityController.d.ts.map +1 -0
- package/dist/DataGridReorderabilityController.js +176 -0
- package/dist/DataGridSelectionController.d.ts +1 -1
- package/dist/DataGridSelectionController.d.ts.map +1 -1
- package/dist/DataGridSortingController.d.ts +1 -0
- package/dist/DataGridSortingController.d.ts.map +1 -1
- package/dist/DataGridSortingController.js +3 -0
- package/dist/custom-elements.json +56 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/rows/DataGridDefaultRow.d.ts.map +1 -1
- package/dist/rows/DataGridDefaultRow.js +1 -0
- package/dist/rows/DataGridRow.d.ts +1 -0
- package/dist/rows/DataGridRow.d.ts.map +1 -1
- package/dist/rows/DataGridRow.js +36 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/DataGrid.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { DataGridColumnsController } from './DataGridColumnsController.js';
|
|
|
8
8
|
import { DataGridSelectionBehaviorOnDataChange, DataGridSelectionController, type DataGridSelectability } from './DataGridSelectionController.js';
|
|
9
9
|
import { DataGridSortingController, type DataGridRankedSortDefinition, type DataGridSorting } from './DataGridSortingController.js';
|
|
10
10
|
import { DataGridDetailsController } from './DataGridDetailsController.js';
|
|
11
|
-
import { DataGridCsvController, DataGridSidePanelTab, type DataGridColumn, type DataGridCell, type DataGridRow, DataGridContextMenuController } from './index.js';
|
|
11
|
+
import { DataGridCsvController, DataGridSidePanelTab, type DataGridColumn, type DataGridCell, type DataGridRow, DataGridContextMenuController, DataGridReorderabilityController, type DataGridReorderChange } from './index.js';
|
|
12
12
|
import { DataRecord } from './DataRecord.js';
|
|
13
13
|
export type DataGridPagination = 'auto' | number;
|
|
14
14
|
export declare enum DataGridEditability {
|
|
@@ -31,6 +31,7 @@ export declare enum DataGridEditability {
|
|
|
31
31
|
* @attr selectedData - The selected data.
|
|
32
32
|
* @attr selectOnClick - Whether the row should be selected on click.
|
|
33
33
|
* @attr selectionBehaviorOnDataChange - The behavior of the selection when the data changes.
|
|
34
|
+
* @attr reorderability - Whether the rows can be reordered. Can only be enabled if sorting is not active, selectability is not 'multiple', and no details are present.
|
|
34
35
|
* @attr multipleDetails - Whether multiple details can be opened at the same time.
|
|
35
36
|
* @attr subDataGridDataSelector - The key path of the sub data grid data.
|
|
36
37
|
* @attr hasDataDetail - Whether the data has a detail.
|
|
@@ -69,6 +70,7 @@ export declare enum DataGridEditability {
|
|
|
69
70
|
* @fires sidePanelOpen
|
|
70
71
|
* @fires sidePanelClose
|
|
71
72
|
* @fires sortingChange
|
|
73
|
+
* @fires reorder
|
|
72
74
|
* @fires rowDetailsOpen
|
|
73
75
|
* @fires rowDetailsClose
|
|
74
76
|
* @fires rowClick
|
|
@@ -90,6 +92,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
90
92
|
readonly sidePanelOpen: EventDispatcher<DataGridSidePanelTab>;
|
|
91
93
|
readonly sidePanelClose: EventDispatcher;
|
|
92
94
|
readonly sortingChange: EventDispatcher<Array<DataGridRankedSortDefinition<TData>>>;
|
|
95
|
+
readonly reorder: EventDispatcher<Array<DataGridReorderChange<TData>>>;
|
|
93
96
|
readonly rowDetailsOpen: EventDispatcher<DataGridRow<TData, TDetailsElement>>;
|
|
94
97
|
readonly rowDetailsClose: EventDispatcher<DataGridRow<TData, TDetailsElement>>;
|
|
95
98
|
readonly rowClick: EventDispatcher<DataGridRow<TData, TDetailsElement>>;
|
|
@@ -108,6 +111,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
108
111
|
selectedData: TData[];
|
|
109
112
|
selectOnClick: boolean;
|
|
110
113
|
selectionBehaviorOnDataChange: DataGridSelectionBehaviorOnDataChange;
|
|
114
|
+
reorderability?: boolean;
|
|
111
115
|
getRowDetailsTemplate?: (data: TData) => HTMLTemplateResult;
|
|
112
116
|
multipleDetails: boolean;
|
|
113
117
|
subDataGridDataSelector?: KeyPath.Of<TData>;
|
|
@@ -180,6 +184,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
180
184
|
readonly contextMenuController: DataGridContextMenuController<TData>;
|
|
181
185
|
readonly detailsController: DataGridDetailsController<TData>;
|
|
182
186
|
readonly csvController: DataGridCsvController<TData>;
|
|
187
|
+
readonly reorderabilityController: DataGridReorderabilityController<TData>;
|
|
183
188
|
readonly rowIntersectionObserver?: IntersectionObserver;
|
|
184
189
|
protected updated(...parameters: Parameters<Component['updated']>): void;
|
|
185
190
|
private navigateToLastValidPageIfNeeded;
|
package/dist/DataGrid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../DataGrid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAA+B,KAAK,cAAc,EAAqC,KAAK,kBAAkB,EAAwD,MAAM,WAAW,CAAA;AAC9N,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,qCAAqC,EAAE,2BAA2B,EAAE,KAAK,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACjJ,OAAO,EAAE,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACnI,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAA4C,KAAK,WAAW,EAA0B,6BAA6B,EAA2B,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../DataGrid.ts"],"names":[],"mappings":"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"}
|
package/dist/DataGrid.js
CHANGED
|
@@ -12,7 +12,7 @@ import { DataGridColumnsController } from './DataGridColumnsController.js';
|
|
|
12
12
|
import { DataGridSelectionBehaviorOnDataChange, DataGridSelectionController } from './DataGridSelectionController.js';
|
|
13
13
|
import { DataGridSortingController } from './DataGridSortingController.js';
|
|
14
14
|
import { DataGridDetailsController } from './DataGridDetailsController.js';
|
|
15
|
-
import { DataGridCsvController, DataGridSidePanelTab, DataGridContextMenuController, DataGridColumnComponent } from './index.js';
|
|
15
|
+
import { DataGridCsvController, DataGridSidePanelTab, DataGridContextMenuController, DataGridColumnComponent, DataGridReorderabilityController } from './index.js';
|
|
16
16
|
import { DataRecord } from './DataRecord.js';
|
|
17
17
|
Localizer.dictionaries.add('de', {
|
|
18
18
|
'No results': 'Kein Ergebnis',
|
|
@@ -39,6 +39,7 @@ export var DataGridEditability;
|
|
|
39
39
|
* @attr selectedData - The selected data.
|
|
40
40
|
* @attr selectOnClick - Whether the row should be selected on click.
|
|
41
41
|
* @attr selectionBehaviorOnDataChange - The behavior of the selection when the data changes.
|
|
42
|
+
* @attr reorderability - Whether the rows can be reordered. Can only be enabled if sorting is not active, selectability is not 'multiple', and no details are present.
|
|
42
43
|
* @attr multipleDetails - Whether multiple details can be opened at the same time.
|
|
43
44
|
* @attr subDataGridDataSelector - The key path of the sub data grid data.
|
|
44
45
|
* @attr hasDataDetail - Whether the data has a detail.
|
|
@@ -77,6 +78,7 @@ export var DataGridEditability;
|
|
|
77
78
|
* @fires sidePanelOpen
|
|
78
79
|
* @fires sidePanelClose
|
|
79
80
|
* @fires sortingChange
|
|
81
|
+
* @fires reorder
|
|
80
82
|
* @fires rowDetailsOpen
|
|
81
83
|
* @fires rowDetailsClose
|
|
82
84
|
* @fires rowClick
|
|
@@ -121,6 +123,7 @@ let DataGrid = class DataGrid extends Component {
|
|
|
121
123
|
this.contextMenuController = new DataGridContextMenuController(this);
|
|
122
124
|
this.detailsController = new DataGridDetailsController(this);
|
|
123
125
|
this.csvController = new DataGridCsvController(this);
|
|
126
|
+
this.reorderabilityController = new DataGridReorderabilityController(this);
|
|
124
127
|
this.splitterResizerTemplate = html `
|
|
125
128
|
<mo-splitter-resizer-line style='--mo-splitter-resizer-line-thickness: 1px; --mo-splitter-resizer-line-idle-background: var(--mo-color-transparent-gray-3); --mo-splitter-resizer-line-horizontal-transform: scaleX(5);'></mo-splitter-resizer-line>
|
|
126
129
|
`;
|
|
@@ -313,6 +316,7 @@ let DataGrid = class DataGrid extends Component {
|
|
|
313
316
|
static get styles() {
|
|
314
317
|
return css `
|
|
315
318
|
:host {
|
|
319
|
+
--mo-data-grid-column-reorder-width: 20px;
|
|
316
320
|
--mo-data-grid-column-details-width: 20px;
|
|
317
321
|
--mo-data-grid-column-selection-width: 40px;
|
|
318
322
|
--mo-data-grid-column-actions-width: 28px;
|
|
@@ -591,6 +595,7 @@ let DataGrid = class DataGrid extends Component {
|
|
|
591
595
|
getRowTemplate(dataRecord, index = 0) {
|
|
592
596
|
return staticHtml `
|
|
593
597
|
<${this.rowElementTag} part='row'
|
|
598
|
+
${this.reorderabilityController.item({ index: dataRecord.index, disabled: !this.reorderabilityController.enabled })}
|
|
594
599
|
.dataRecord=${dataRecord}
|
|
595
600
|
?data-has-alternating-background=${this.hasAlternatingBackground && index % 2 === 1}
|
|
596
601
|
></${this.rowElementTag}>
|
|
@@ -744,6 +749,9 @@ __decorate([
|
|
|
744
749
|
__decorate([
|
|
745
750
|
event()
|
|
746
751
|
], DataGrid.prototype, "sortingChange", void 0);
|
|
752
|
+
__decorate([
|
|
753
|
+
event()
|
|
754
|
+
], DataGrid.prototype, "reorder", void 0);
|
|
747
755
|
__decorate([
|
|
748
756
|
event()
|
|
749
757
|
], DataGrid.prototype, "rowDetailsOpen", void 0);
|
|
@@ -798,6 +806,9 @@ __decorate([
|
|
|
798
806
|
__decorate([
|
|
799
807
|
property()
|
|
800
808
|
], DataGrid.prototype, "selectionBehaviorOnDataChange", void 0);
|
|
809
|
+
__decorate([
|
|
810
|
+
property({ type: Boolean })
|
|
811
|
+
], DataGrid.prototype, "reorderability", void 0);
|
|
801
812
|
__decorate([
|
|
802
813
|
property({ type: Object })
|
|
803
814
|
], DataGrid.prototype, "getRowDetailsTemplate", void 0);
|
|
@@ -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,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnE,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,uBAAuB,GAAG,kBAAkB,GAAG,GAAG,CAAC,SAAS,GAAG,YAAY,GAAG,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAErH,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IAEnE,SAAS,EAAE,uBAAuB,CAAU;IAE5C,MAAM,UAAQ;IACd,IAAI;IAKJ,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,YAAY,CAAC,MAAM,EAAE,oBAAoB;IAKzC,QAAQ,UAAO;IAEf,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,IAAI,gBAAgB,snDAAyD;IAC7E,IAAI,gBAAgB,CAAC,KAAK,mnDAAA,EAAoC;IAE9D,UAAU,CAAC,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAkBpD,oBAAoB,CAAC,IAAI,uBAAuB;IAEhD,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,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMpD,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IAIzD,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,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,
|
|
1
|
+
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnE,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,uBAAuB,GAAG,kBAAkB,GAAG,GAAG,CAAC,SAAS,GAAG,YAAY,GAAG,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAErH,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IAEnE,SAAS,EAAE,uBAAuB,CAAU;IAE5C,MAAM,UAAQ;IACd,IAAI;IAKJ,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,YAAY,CAAC,MAAM,EAAE,oBAAoB;IAKzC,QAAQ,UAAO;IAEf,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,IAAI,gBAAgB,snDAAyD;IAC7E,IAAI,gBAAgB,CAAC,KAAK,mnDAAA,EAAoC;IAE9D,UAAU,CAAC,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAkBpD,oBAAoB,CAAC,IAAI,uBAAuB;IAEhD,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,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMpD,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IAIzD,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,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,WAE1B;IAED,kBAAkB,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;IACxC,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;CAChE"}
|
package/dist/DataGridColumn.js
CHANGED
|
@@ -68,34 +68,13 @@ export class DataGridColumn {
|
|
|
68
68
|
.filter(n => isNaN(n) === false)
|
|
69
69
|
.reduce(((a, b) => a + b), 0)
|
|
70
70
|
|| 0;
|
|
71
|
-
return html `
|
|
72
|
-
<mo-data-grid-footer-sum heading=${this.sumHeading || ''} ${style({ color: this.dataGrid.selectedData.length > 0 ? 'var(--mo-color-accent)' : 'currentColor' })}>
|
|
73
|
-
${this.getSumTemplate(sum)}
|
|
74
|
-
</mo-data-grid-footer-sum>
|
|
71
|
+
return html `
|
|
72
|
+
<mo-data-grid-footer-sum heading=${this.sumHeading || ''} ${style({ color: this.dataGrid.selectedData.length > 0 ? 'var(--mo-color-accent)' : 'currentColor' })}>
|
|
73
|
+
${this.getSumTemplate(sum)}
|
|
74
|
+
</mo-data-grid-footer-sum>
|
|
75
75
|
`;
|
|
76
76
|
}
|
|
77
77
|
get stickyColumnInsetInline() {
|
|
78
|
-
|
|
79
|
-
if (!dataGrid || !this.sticky) {
|
|
80
|
-
return '';
|
|
81
|
-
}
|
|
82
|
-
const columnIndex = dataGrid.visibleColumns.indexOf(this);
|
|
83
|
-
const calculate = (type) => dataGrid.visibleColumns
|
|
84
|
-
.filter((c, i) => c.sticky === type && (type === 'start' ? i < columnIndex : i > columnIndex))
|
|
85
|
-
.map(c => c.widthInPixels)
|
|
86
|
-
.filter(x => x !== undefined)
|
|
87
|
-
.reduce((a, b) => a + b, 0);
|
|
88
|
-
const start = `${dataGrid.columnsController.selectionColumnWidthInPixels + dataGrid.columnsController.detailsColumnWidthInPixels + calculate('start')}px`;
|
|
89
|
-
const end = `${calculate('end') + dataGrid.columnsController.actionsColumnWidthInPixels}px`;
|
|
90
|
-
switch (this.sticky) {
|
|
91
|
-
case 'start':
|
|
92
|
-
return `${start} auto`;
|
|
93
|
-
case 'end':
|
|
94
|
-
return `auto ${end}`;
|
|
95
|
-
case 'both':
|
|
96
|
-
return `${start} ${end}`;
|
|
97
|
-
default:
|
|
98
|
-
return '';
|
|
99
|
-
}
|
|
78
|
+
return this.dataGrid?.columnsController.getStickyColumnInsetInline(this) ?? '';
|
|
100
79
|
}
|
|
101
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnHeader.d.ts","sourceRoot":"","sources":["../DataGridColumnHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,
|
|
1
|
+
{"version":3,"file":"DataGridColumnHeader.d.ts","sourceRoot":"","sources":["../DataGridColumnHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAA0D,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG5H,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAezD,qBACa,oBAAqB,SAAQ,SAAS;IACtB,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAChB,QAAQ,UAAQ;IAE5D,WAAoB,MAAM,kCAgIzB;IAED,QAAQ,CAAC,gBAAgB,2BAEvB;IAEF,IAAa,QAAQ,uBA4BpB;IAED,OAAO,KAAK,eAAe,GAO1B;IAED,OAAO,KAAK,eAAe,GAU1B;IAED,OAAO,KAAK,YAAY,GAiBvB;IAED,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,KAAK,iBAAiB,GAa5B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,4BAA4B,EAAE,oBAAoB,CAAA;KAClD;CACD"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { bind, Component, component, css, html, join, property, style } from '@a11d/lit';
|
|
2
|
+
import { bind, Component, component, css, html, join, property, style, unsafeCSS } from '@a11d/lit';
|
|
3
3
|
import { tooltip } from '@3mo/tooltip';
|
|
4
4
|
import { Localizer } from '@3mo/localization';
|
|
5
5
|
import { ResizeController } from '@3mo/resize-observer';
|
|
6
6
|
import { DataGridSortingStrategy } from './DataGridSortingController.js';
|
|
7
|
+
import { ReorderabilityState } from './DataGridReorderabilityController.js';
|
|
7
8
|
Localizer.dictionaries.add('de', {
|
|
8
9
|
'Sorting': 'Sortierung',
|
|
9
10
|
'Sort descending': 'Absteigend sortieren',
|
|
@@ -32,6 +33,18 @@ let DataGridColumnHeader = class DataGridColumnHeader extends Component {
|
|
|
32
33
|
anchor-name: --mo-data-grid-column-header;
|
|
33
34
|
}
|
|
34
35
|
|
|
36
|
+
:host([data-reorderability=${unsafeCSS(ReorderabilityState.Dragging)}]) {
|
|
37
|
+
opacity: 0.5;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:host([data-reorderability=${unsafeCSS(ReorderabilityState.DropBefore)}]) {
|
|
41
|
+
border-inline-start: 3px solid var(--mo-color-accent);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:host([data-reorderability=${unsafeCSS(ReorderabilityState.DropAfter)}]) {
|
|
45
|
+
border-inline-end: 3px solid var(--mo-color-accent);
|
|
46
|
+
}
|
|
47
|
+
|
|
35
48
|
:host(:hover) {
|
|
36
49
|
background: color-mix(in srgb, var(--mo-color-surface), var(--mo-color-gray) 8%);
|
|
37
50
|
}
|
|
@@ -2,9 +2,7 @@ import { Controller } from '@a11d/lit';
|
|
|
2
2
|
import { type DataGrid, type DataGridColumn } from './index.js';
|
|
3
3
|
export declare class DataGridColumnsController<TData> extends Controller {
|
|
4
4
|
readonly host: DataGrid<TData, any>;
|
|
5
|
-
readonly
|
|
6
|
-
readonly selectionColumnWidthInPixels = 0;
|
|
7
|
-
readonly actionsColumnWidthInPixels = 0;
|
|
5
|
+
private readonly columnWidths;
|
|
8
6
|
private _extractedColumns;
|
|
9
7
|
private initialized;
|
|
10
8
|
constructor(host: DataGrid<TData, any>);
|
|
@@ -16,6 +14,7 @@ export declare class DataGridColumnsController<TData> extends Controller {
|
|
|
16
14
|
get extractedColumns(): DataGridColumn<TData, unknown>[];
|
|
17
15
|
private provideCssColumnsProperties;
|
|
18
16
|
private get columns();
|
|
17
|
+
private get orderColumnWidth();
|
|
19
18
|
private get detailsColumnWidth();
|
|
20
19
|
private get selectionColumnWidth();
|
|
21
20
|
private get dataColumnsWidths();
|
|
@@ -23,5 +22,7 @@ export declare class DataGridColumnsController<TData> extends Controller {
|
|
|
23
22
|
private get columnsElements();
|
|
24
23
|
private get elementExtractedColumns();
|
|
25
24
|
private get autoGeneratedColumns();
|
|
25
|
+
setColumnWidth(column: keyof typeof this.columnWidths, widthInPixels: number): void;
|
|
26
|
+
getStickyColumnInsetInline(column: DataGridColumn<TData> | keyof typeof this.columnWidths): string;
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=DataGridColumnsController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnsController.d.ts","sourceRoot":"","sources":["../DataGridColumnsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAA2B,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AAExF,qBAAa,yBAAyB,CAAC,KAAK,CAAE,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"DataGridColumnsController.d.ts","sourceRoot":"","sources":["../DataGridColumnsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAA2B,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AAExF,qBAAa,yBAAyB,CAAC,KAAK,CAAE,SAAQ,UAAU;aAKjC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IAJxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0D;IACvF,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,WAAW,CAAQ;gBAEG,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IAI/C,UAAU;IAIV,WAAW;IAQpB,IAAI,cAAc,qCAEjB;IAED,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAMhD,cAAc;IAOd,IAAI,gBAAgB,qCAEnB;IAID,OAAO,CAAC,2BAA2B;IAOnC,OAAO,KAAK,OAAO,GASlB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,KAAK,iBAAiB,GAI5B;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,eAAe,GAa1B;IAED,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,oBAAoB,GA4B/B;IAED,cAAc,CAAC,MAAM,EAAE,MAAM,OAAO,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM;IAI5E,0BAA0B,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,IAAI,CAAC,YAAY;CAwCzF"}
|
|
@@ -4,9 +4,7 @@ export class DataGridColumnsController extends Controller {
|
|
|
4
4
|
constructor(host) {
|
|
5
5
|
super(host);
|
|
6
6
|
this.host = host;
|
|
7
|
-
this.
|
|
8
|
-
this.selectionColumnWidthInPixels = 0;
|
|
9
|
-
this.actionsColumnWidthInPixels = 0;
|
|
7
|
+
this.columnWidths = { reordering: 0, details: 0, selection: 0, actions: 0 };
|
|
10
8
|
this._extractedColumns = new Array();
|
|
11
9
|
this.initialized = false;
|
|
12
10
|
}
|
|
@@ -47,6 +45,7 @@ export class DataGridColumnsController extends Controller {
|
|
|
47
45
|
}
|
|
48
46
|
get columns() {
|
|
49
47
|
return [
|
|
48
|
+
{ name: 'order', width: this.orderColumnWidth },
|
|
50
49
|
{ name: 'details', width: this.detailsColumnWidth },
|
|
51
50
|
{ name: 'selection', width: this.selectionColumnWidth },
|
|
52
51
|
...this.dataColumnsWidths.map(width => ({ name: 'data', width })),
|
|
@@ -54,6 +53,9 @@ export class DataGridColumnsController extends Controller {
|
|
|
54
53
|
{ name: 'actions', width: this.actionsColumnWidth }
|
|
55
54
|
].filter(c => c.width !== undefined);
|
|
56
55
|
}
|
|
56
|
+
get orderColumnWidth() {
|
|
57
|
+
return !this.host.reorderabilityController.enabled ? undefined : window.getComputedStyle(this.host).getPropertyValue('--mo-data-grid-column-reorder-width');
|
|
58
|
+
}
|
|
57
59
|
get detailsColumnWidth() {
|
|
58
60
|
return !this.host.hasDetails ? undefined : window.getComputedStyle(this.host).getPropertyValue('--mo-data-grid-column-details-width');
|
|
59
61
|
}
|
|
@@ -113,4 +115,43 @@ export class DataGridColumnsController extends Controller {
|
|
|
113
115
|
return column;
|
|
114
116
|
});
|
|
115
117
|
}
|
|
118
|
+
setColumnWidth(column, widthInPixels) {
|
|
119
|
+
this.columnWidths[column] = widthInPixels;
|
|
120
|
+
}
|
|
121
|
+
getStickyColumnInsetInline(column) {
|
|
122
|
+
if (typeof column !== 'object') {
|
|
123
|
+
switch (column) {
|
|
124
|
+
case 'reordering':
|
|
125
|
+
return '0px';
|
|
126
|
+
case 'details':
|
|
127
|
+
return `${this.columnWidths.reordering}px`;
|
|
128
|
+
case 'selection':
|
|
129
|
+
return `${this.columnWidths.reordering + this.columnWidths.details}px`;
|
|
130
|
+
case 'actions':
|
|
131
|
+
return 'auto';
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (!column.sticky) {
|
|
135
|
+
return '';
|
|
136
|
+
}
|
|
137
|
+
const columnIndex = this.visibleColumns.indexOf(column);
|
|
138
|
+
const calculate = (type) => this.visibleColumns
|
|
139
|
+
.filter((c, i) => c.sticky === type && (type === 'start' ? i < columnIndex : i > columnIndex))
|
|
140
|
+
.map(c => c.widthInPixels)
|
|
141
|
+
.filter(x => x !== undefined)
|
|
142
|
+
.reduce((a, b) => a + b, 0);
|
|
143
|
+
const { reordering, selection, details, actions } = this.columnWidths;
|
|
144
|
+
const start = `${reordering + selection + details + calculate('start')}px`;
|
|
145
|
+
const end = `${calculate('end') + actions}px`;
|
|
146
|
+
switch (column.sticky) {
|
|
147
|
+
case 'start':
|
|
148
|
+
return `${start} auto`;
|
|
149
|
+
case 'end':
|
|
150
|
+
return `auto ${end}`;
|
|
151
|
+
case 'both':
|
|
152
|
+
return `${start} ${end}`;
|
|
153
|
+
default:
|
|
154
|
+
return '';
|
|
155
|
+
}
|
|
156
|
+
}
|
|
116
157
|
}
|
package/dist/DataGridHeader.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { Component } from '@a11d/lit';
|
|
2
|
-
import { type DataGrid } from './index.js';
|
|
2
|
+
import { type DataGrid, ReorderabilityController } from './index.js';
|
|
3
3
|
export declare class DataGridHeader<TData> extends Component {
|
|
4
4
|
readonly pageChange: EventDispatcher<number>;
|
|
5
5
|
readonly modeSelectionChange: EventDispatcher<string>;
|
|
6
6
|
dataGrid: DataGrid<TData, any>;
|
|
7
7
|
overlayOpen: boolean;
|
|
8
8
|
private readonly columnHeaders;
|
|
9
|
+
readonly reorderabilityController: ReorderabilityController;
|
|
9
10
|
protected connected(): void;
|
|
10
11
|
protected disconnected(): void;
|
|
11
12
|
private readonly handleDataGridDataChange;
|
|
12
13
|
protected updated(...parameters: Parameters<Component['updated']>): void;
|
|
13
14
|
static get styles(): import("@a11d/lit").CSSResult;
|
|
14
15
|
protected get template(): import("lit-html").HTMLTemplateResult;
|
|
16
|
+
private get reorderabilityTemplate();
|
|
15
17
|
private get detailsExpanderTemplate();
|
|
16
18
|
private get selectionTemplate();
|
|
17
19
|
private get selection();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA6D,MAAM,WAAW,CAAA;AAG3G,OAAO,EAAyB,KAAK,QAAQ,EAAmD,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAiB5I,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;IACf,WAAW,UAAQ;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAEpG,QAAQ,CAAC,wBAAwB,2BAU/B;cAEiB,SAAS;cAIT,YAAY;IAI/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;cAEkB,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAK1E,WAAoB,MAAM,kCAiDzB;IAED,cAAuB,QAAQ,0CAS9B;IAED,OAAO,KAAK,sBAAsB,GAOjC;IAED,OAAO,KAAK,uBAAuB,GAclC;IAED,OAAO,KAAK,iBAAiB,GAW5B;IAED,OAAO,KAAK,SAAS,GASpB;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAQrC;IAED,OAAO,KAAK,eAAe,GAM1B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,eAAe,GA2B1B;IAED,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;CAIxB;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;KAC9C;CACD"}
|
package/dist/DataGridHeader.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { component, Component, css, html, property, event, style, live, queryAll } from '@a11d/lit';
|
|
2
|
+
import { component, Component, css, html, property, event, style, live, queryAll, repeat } from '@a11d/lit';
|
|
3
3
|
import { observeResize } from '@3mo/resize-observer';
|
|
4
4
|
import { Localizer } from '@3mo/localization';
|
|
5
|
-
import { DataGridSelectability, DataGridSidePanelTab } from './index.js';
|
|
5
|
+
import { DataGridSelectability, DataGridSidePanelTab, ReorderabilityController } from './index.js';
|
|
6
6
|
Localizer.dictionaries.add('en', {
|
|
7
7
|
'Actions for ${count:pluralityNumber} selected entries': [
|
|
8
8
|
'Actions for the selected entry',
|
|
@@ -19,6 +19,17 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
19
19
|
constructor() {
|
|
20
20
|
super(...arguments);
|
|
21
21
|
this.overlayOpen = false;
|
|
22
|
+
this.reorderabilityController = new ReorderabilityController(this, {
|
|
23
|
+
handleReorder: (source, destination) => {
|
|
24
|
+
const sourceColumn = this.dataGrid.visibleColumns[source];
|
|
25
|
+
const destinationColumn = this.dataGrid.visibleColumns[destination];
|
|
26
|
+
const sourceIndex = this.dataGrid.columns.indexOf(sourceColumn);
|
|
27
|
+
const destinationIndex = this.dataGrid.columns.indexOf(destinationColumn);
|
|
28
|
+
this.dataGrid.columns.splice(sourceIndex, 1);
|
|
29
|
+
this.dataGrid.columns.splice(destinationIndex, 0, sourceColumn);
|
|
30
|
+
this.dataGrid.setColumns(this.dataGrid.columns);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
22
33
|
this.handleDataGridDataChange = () => {
|
|
23
34
|
this.requestUpdate();
|
|
24
35
|
};
|
|
@@ -60,20 +71,12 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
60
71
|
height: var(--mo-data-grid-header-height);
|
|
61
72
|
}
|
|
62
73
|
|
|
63
|
-
.details, .selection, .actions, .context-menu {
|
|
74
|
+
.reorder, .details, .selection, .actions, .context-menu {
|
|
64
75
|
position: sticky;
|
|
65
76
|
background: var(--mo-data-grid-sticky-part-color);
|
|
66
77
|
z-index: 5;
|
|
67
78
|
}
|
|
68
79
|
|
|
69
|
-
.details {
|
|
70
|
-
inset-inline-start: 0px;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.selection {
|
|
74
|
-
inset-inline-start: 0px;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
80
|
.actions, .context-menu {
|
|
78
81
|
inset-inline-end: 0px;
|
|
79
82
|
}
|
|
@@ -103,6 +106,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
103
106
|
}
|
|
104
107
|
get template() {
|
|
105
108
|
return html `
|
|
109
|
+
${this.reorderabilityTemplate}
|
|
106
110
|
${this.detailsExpanderTemplate}
|
|
107
111
|
${this.selectionTemplate}
|
|
108
112
|
${this.contentTemplate}
|
|
@@ -110,11 +114,19 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
110
114
|
${this.actionsTemplate}
|
|
111
115
|
`;
|
|
112
116
|
}
|
|
117
|
+
get reorderabilityTemplate() {
|
|
118
|
+
return !this.dataGrid.reorderabilityController.enabled ? html.nothing : html `
|
|
119
|
+
<mo-flex class='reorder'
|
|
120
|
+
${style({ insetInlineStart: this.dataGrid.columnsController.getStickyColumnInsetInline('reordering') })}
|
|
121
|
+
${this.getResizeObserver('reordering')}
|
|
122
|
+
></mo-flex>
|
|
123
|
+
`;
|
|
124
|
+
}
|
|
113
125
|
get detailsExpanderTemplate() {
|
|
114
126
|
return this.dataGrid.hasDetails === false ? html.nothing : html `
|
|
115
127
|
<mo-flex class='details' justifyContent='center' alignItems='center'
|
|
116
|
-
${style({ insetInlineStart: '
|
|
117
|
-
${this.getResizeObserver('
|
|
128
|
+
${style({ insetInlineStart: this.dataGrid.columnsController.getStickyColumnInsetInline('details') })}
|
|
129
|
+
${this.getResizeObserver('details')}
|
|
118
130
|
>
|
|
119
131
|
${!this.dataGrid.hasDetails || !this.dataGrid.multipleDetails ? html.nothing : html `
|
|
120
132
|
<mo-icon-button dense
|
|
@@ -128,8 +140,8 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
128
140
|
get selectionTemplate() {
|
|
129
141
|
return !this.dataGrid.hasSelection ? html.nothing : html `
|
|
130
142
|
<mo-flex class='selection' justifyContent='center' alignItems='center'
|
|
131
|
-
${style({ insetInlineStart: this.dataGrid.
|
|
132
|
-
${this.getResizeObserver('
|
|
143
|
+
${style({ insetInlineStart: this.dataGrid.columnsController.getStickyColumnInsetInline('selection') })}
|
|
144
|
+
${this.getResizeObserver('selection')}
|
|
133
145
|
>
|
|
134
146
|
${this.dataGrid.selectability !== DataGridSelectability.Multiple ? html.nothing : html `
|
|
135
147
|
<mo-checkbox .selected=${live(this.selection)} @change=${this.handleSelectionChange}></mo-checkbox>
|
|
@@ -149,8 +161,8 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
149
161
|
}
|
|
150
162
|
get contentTemplate() {
|
|
151
163
|
return html `
|
|
152
|
-
${this.dataGrid.visibleColumns.
|
|
153
|
-
<mo-data-grid-column-header .column=${column}></mo-data-grid-column-header>
|
|
164
|
+
${repeat(this.dataGrid.visibleColumns, c => c.dataSelector, (column, index) => html `
|
|
165
|
+
<mo-data-grid-column-header ${this.reorderabilityController.item({ index, disabled: !!column.sticky })} .column=${column}></mo-data-grid-column-header>
|
|
154
166
|
`)}
|
|
155
167
|
`;
|
|
156
168
|
}
|
|
@@ -161,7 +173,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
161
173
|
if (this.dataGrid.hasContextMenu) {
|
|
162
174
|
const multipleSelected = this.dataGrid.selectedData.length > 1;
|
|
163
175
|
return html `
|
|
164
|
-
<mo-flex ?data-multiple-selected=${multipleSelected} class='context-menu' alignItems='end' justifyContent='center' ${this.getResizeObserver('
|
|
176
|
+
<mo-flex ?data-multiple-selected=${multipleSelected} class='context-menu' alignItems='end' justifyContent='center' ${this.getResizeObserver('actions')}>
|
|
165
177
|
<mo-popover-container>
|
|
166
178
|
<mo-icon-button ?data-multiple-selected=${multipleSelected} dense icon='more_vert' title=${t('Actions for ${count:pluralityNumber} selected entries', { count: this.dataGrid.selectedData.length })}></mo-icon-button>
|
|
167
179
|
|
|
@@ -174,7 +186,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
174
186
|
}
|
|
175
187
|
if (!this.dataGrid.hasToolbar && !this.dataGrid.sidePanelHidden) {
|
|
176
188
|
return html `
|
|
177
|
-
<mo-flex class='actions' alignItems='end' justifyContent='center' ${this.getResizeObserver('
|
|
189
|
+
<mo-flex class='actions' alignItems='end' justifyContent='center' ${this.getResizeObserver('actions')}>
|
|
178
190
|
<mo-icon-button dense icon='settings'
|
|
179
191
|
@click=${() => this.dataGrid.navigateToSidePanelTab(this.dataGrid.sidePanelTab ? undefined : DataGridSidePanelTab.Settings)}
|
|
180
192
|
></mo-icon-button>
|
|
@@ -183,9 +195,8 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
183
195
|
}
|
|
184
196
|
return html.nothing;
|
|
185
197
|
}
|
|
186
|
-
getResizeObserver(
|
|
187
|
-
|
|
188
|
-
return observeResize(([entry]) => this.dataGrid.columnsController[property] = entry?.contentRect.width ?? 0);
|
|
198
|
+
getResizeObserver(column) {
|
|
199
|
+
return observeResize(([entry]) => this.dataGrid.columnsController.setColumnWidth(column, entry?.contentRect.width ?? 0));
|
|
189
200
|
}
|
|
190
201
|
toggleAllDetails() {
|
|
191
202
|
this.dataGrid.toggleRowDetails();
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Controller, type ElementPart, type PartInfo, type ReactiveElement } from '@a11d/lit';
|
|
2
|
+
import type { DataGrid } from './DataGrid.js';
|
|
3
|
+
import type { DataRecord } from './DataRecord.js';
|
|
4
|
+
export declare enum ReorderabilityState {
|
|
5
|
+
Idle = "idle",
|
|
6
|
+
Dragging = "dragging",
|
|
7
|
+
DropBefore = "drop-before",
|
|
8
|
+
DropAfter = "drop-after"
|
|
9
|
+
}
|
|
10
|
+
type ReorderabilityControllerItemDirectiveOptions = {
|
|
11
|
+
readonly index: number;
|
|
12
|
+
readonly disabled?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare class ReorderabilityController extends Controller {
|
|
15
|
+
readonly host: ReactiveElement;
|
|
16
|
+
readonly options: {
|
|
17
|
+
handleReorder?: (source: number, destination: number) => void;
|
|
18
|
+
};
|
|
19
|
+
constructor(host: ReactiveElement, options: {
|
|
20
|
+
handleReorder?: (source: number, destination: number) => void;
|
|
21
|
+
});
|
|
22
|
+
private readonly items;
|
|
23
|
+
private draggingItem?;
|
|
24
|
+
get item(): (options: ReorderabilityControllerItemDirectiveOptions) => import("lit-html/directive.js").DirectiveResult<{
|
|
25
|
+
new (partInfo: PartInfo): {
|
|
26
|
+
host?: HTMLElement;
|
|
27
|
+
container?: HTMLElement;
|
|
28
|
+
part?: ElementPart;
|
|
29
|
+
options?: ReorderabilityControllerItemDirectiveOptions;
|
|
30
|
+
render(options: ReorderabilityControllerItemDirectiveOptions): symbol;
|
|
31
|
+
update(part: ElementPart, [options]: [ReorderabilityControllerItemDirectiveOptions]): symbol;
|
|
32
|
+
get state(): ReorderabilityState;
|
|
33
|
+
disconnected(): void;
|
|
34
|
+
reconnected(): void;
|
|
35
|
+
addEventListeners(): void;
|
|
36
|
+
removeEventListeners(): void;
|
|
37
|
+
isConnected: boolean;
|
|
38
|
+
_$initialize(part: import("lit-html").Part, parent: import("lit-html").Disconnectable, attributeIndex: number | undefined): void;
|
|
39
|
+
setValue(value: unknown): void;
|
|
40
|
+
get _$isConnected(): boolean;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
handleEvent(e: DragEvent): void;
|
|
44
|
+
private handleDragStart;
|
|
45
|
+
private handleDropOver;
|
|
46
|
+
private handleDrop;
|
|
47
|
+
private handleDragEnd;
|
|
48
|
+
protected handleReorder(source: number, destination: number): void;
|
|
49
|
+
}
|
|
50
|
+
export type DataGridReorderChange<T> = {
|
|
51
|
+
readonly type: 'move' | 'shift';
|
|
52
|
+
readonly record: DataRecord<T>;
|
|
53
|
+
readonly oldIndex: number;
|
|
54
|
+
};
|
|
55
|
+
export declare class DataGridReorderabilityController<T> extends ReorderabilityController {
|
|
56
|
+
readonly host: DataGrid<T>;
|
|
57
|
+
constructor(host: DataGrid<T>);
|
|
58
|
+
get enabled(): boolean | undefined;
|
|
59
|
+
reorder(source: number, destination: number): void;
|
|
60
|
+
protected handleReorder(source: number, destination: number): void;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=DataGridReorderabilityController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridReorderabilityController.d.ts","sourceRoot":"","sources":["../DataGridReorderabilityController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAiC,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAC5I,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAQjD,oBAAY,mBAAmB;IAC9B,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,UAAU,gBAAgB;IAC1B,SAAS,eAAe;CACxB;AAED,KAAK,4CAA4C,GAAG;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,qBAAa,wBAAyB,SAAQ,UAAU;aACzB,IAAI,EAAE,eAAe;IAAE,QAAQ,CAAC,OAAO,EAAE;QACtE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAC7D;gBAF6B,IAAI,EAAE,eAAe,EAAW,OAAO,EAAE;QACtE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAC7D;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuE;IAC7F,OAAO,CAAC,YAAY,CAAC,CAAyC;IAE9D,IAAI,IAAI;uBAQgB,QAAQ;mBALvB,WAAW;wBACN,WAAW;mBAChB,WAAW;sBACR,4CAA4C;4BAU7B,4CAA4C;yBAK/C,WAAW,aAAa,CAAC,4CAA4C,CAAC;;;;;;;;;;;OAsD7F;IAED,WAAW,CAAC,CAAC,EAAE,SAAS;IAgBxB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAMrB,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAG3D;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,qBAAa,gCAAgC,CAAC,CAAC,CAAE,SAAQ,wBAAwB;aAClD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAAjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAI/C,IAAI,OAAO,wBAKV;IAED,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;cAIxB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CA4BpE"}
|