@3mo/data-grid 0.8.24 → 0.8.26-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.
Files changed (40) hide show
  1. package/dist/DataGrid.d.ts +19 -39
  2. package/dist/DataGrid.d.ts.map +1 -1
  3. package/dist/DataGrid.js +65 -207
  4. package/dist/DataGridCell.d.ts +1 -1
  5. package/dist/DataGridCell.d.ts.map +1 -1
  6. package/dist/DataGridCell.js +5 -1
  7. package/dist/DataGridColumn.d.ts.map +1 -1
  8. package/dist/DataGridColumn.js +4 -3
  9. package/dist/DataGridColumnsController.d.ts +26 -0
  10. package/dist/DataGridColumnsController.d.ts.map +1 -0
  11. package/dist/DataGridColumnsController.js +118 -0
  12. package/dist/DataGridDetailsController.d.ts +28 -0
  13. package/dist/DataGridDetailsController.d.ts.map +1 -0
  14. package/dist/DataGridDetailsController.js +63 -0
  15. package/dist/DataGridFooter.js +3 -3
  16. package/dist/DataGridHeader.d.ts.map +1 -1
  17. package/dist/DataGridHeader.js +11 -6
  18. package/dist/DataGridSelectionController.d.ts +13 -1
  19. package/dist/DataGridSelectionController.d.ts.map +1 -1
  20. package/dist/DataGridSelectionController.js +24 -2
  21. package/dist/DataGridSortingController.d.ts +1 -0
  22. package/dist/DataGridSortingController.d.ts.map +1 -1
  23. package/dist/DataGridSortingController.js +5 -2
  24. package/dist/DataRecord.d.ts +15 -0
  25. package/dist/DataRecord.d.ts.map +1 -0
  26. package/dist/DataRecord.js +25 -0
  27. package/dist/columns/DataGridColumnText.js +1 -1
  28. package/dist/columns/date-time/DataGridColumnDateTimeBase.js +1 -1
  29. package/dist/columns/number/DataGridColumnCurrency.js +1 -1
  30. package/dist/columns/number/DataGridColumnNumber.js +1 -1
  31. package/dist/columns/number/DataGridColumnPercent.js +1 -1
  32. package/dist/custom-elements.json +100 -307
  33. package/dist/index.d.ts +2 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +2 -0
  36. package/dist/rows/DataGridRow.d.ts +8 -17
  37. package/dist/rows/DataGridRow.d.ts.map +1 -1
  38. package/dist/rows/DataGridRow.js +46 -80
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +1 -1
@@ -4,15 +4,13 @@ import { InstanceofAttributeController } from '@3mo/instanceof-attribute-control
4
4
  import { SlotController } from '@3mo/slot-controller';
5
5
  import { ThemeController } from '@3mo/theme';
6
6
  import { MediaQueryController } from '@3mo/media-query-observer';
7
- import { DataGridSelectionController, DataGridSelectionMode } from './DataGridSelectionController.js';
7
+ import { DataGridColumnsController } from './DataGridColumnsController.js';
8
+ import { DataGridSelectionBehaviorOnDataChange, DataGridSelectionController, DataGridSelectionMode } from './DataGridSelectionController.js';
8
9
  import { DataGridSortingController, type DataGridRankedSortDefinition, type DataGridSorting } from './DataGridSortingController.js';
10
+ import { DataGridDetailsController } from './DataGridDetailsController.js';
9
11
  import { DataGridSidePanelTab, type DataGridColumn, type DataGridCell, type DataGridRow } from './index.js';
12
+ import { DataRecord } from './DataRecord.js';
10
13
  export type DataGridPagination = 'auto' | number;
11
- export declare enum DataGridSelectionBehaviorOnDataChange {
12
- Reset = "reset",
13
- Prevent = "prevent",
14
- Maintain = "maintain"
15
- }
16
14
  export declare enum DataGridEditability {
17
15
  Never = "never",
18
16
  Cell = "cell",
@@ -116,7 +114,6 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
116
114
  subDataGridDataSelector?: KeyPathOf<TData>;
117
115
  hasDataDetail?: (data: TData) => boolean;
118
116
  detailsOnClick: boolean;
119
- protected openDetailedData: TData[];
120
117
  getRowContextMenuTemplate?: (data: Array<TData>) => HTMLTemplateResult;
121
118
  primaryContextMenuItemOnDoubleClick: boolean;
122
119
  editability: DataGridEditability;
@@ -134,30 +131,25 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
134
131
  readonly rows: Array<DataGridRow<TData, TDetailsElement>>;
135
132
  private readonly footer?;
136
133
  private readonly sidePanel?;
137
- private readonly columnsSlot?;
138
134
  setPage(page: number): void;
139
- handlePageChange(page: number): void;
140
135
  setPagination(pagination?: DataGridPagination): void;
141
- handlePaginationChange(pagination?: DataGridPagination): void;
142
136
  setData(data: Array<TData>, selectionBehavior?: DataGridSelectionBehaviorOnDataChange): void;
143
137
  get hasSelection(): boolean;
144
138
  selectAll(...parameters: Parameters<typeof this.selectionController.selectAll>): void;
145
139
  deselectAll(...parameters: Parameters<typeof this.selectionController.deselectAll>): void;
146
140
  select(...parameters: Parameters<typeof this.selectionController.select>): void;
147
141
  isSelectable(...parameters: Parameters<typeof this.selectionController.isSelectable>): boolean;
148
- get detailedData(): TData[];
149
142
  get hasDetails(): boolean;
150
- getSubData(data: TData): Array<TData> | undefined;
151
- hasDetail(data: TData): boolean;
152
143
  get allRowDetailsOpen(): boolean;
153
- openRowDetails(): void;
154
- closeRowDetails(): void;
155
- toggleRowDetails(): void;
144
+ openRowDetails(...parameters: Parameters<typeof this.detailsController.openAll>): void;
145
+ closeRowDetails(...parameters: Parameters<typeof this.detailsController.closeAll>): void;
146
+ toggleRowDetails(...parameters: Parameters<typeof this.detailsController.toggleAll>): void;
147
+ getSorting(...parameters: Parameters<typeof DataGridSortingController.prototype.get>): DataGridRankedSortDefinition<TData>[];
156
148
  sort(...parameters: Parameters<typeof this.sortingController.set>): void;
157
149
  unsort(...parameters: Parameters<typeof this.sortingController.reset>): void;
158
- setColumns(columns: Array<DataGridColumn<TData>>): void;
159
- extractColumnsIfNotSetExplicitly(): void;
160
- extractColumns(): void;
150
+ setColumns(...parameters: Parameters<typeof this.columnsController.setColumns>): void;
151
+ extractColumns(...parameters: Parameters<typeof this.columnsController.extractColumns>): void;
152
+ get visibleColumns(): DataGridColumn<TData, unknown>[];
161
153
  getRow(data: TData): DataGridRow<TData, TDetailsElement> | undefined;
162
154
  getCell(data: TData, column: DataGridColumn<TData, unknown>): DataGridCell<any, TData, TDetailsElement> | undefined;
163
155
  handleEdit(data: TData, column: DataGridColumn<TData, unknown>, value: KeyPathValueOf<TData, KeyPathOf<TData>> | undefined): void;
@@ -180,9 +172,11 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
180
172
  protected readonly slotController: SlotController;
181
173
  protected readonly instanceofAttributeController: InstanceofAttributeController;
182
174
  protected readonly smallScreenObserverController: MediaQueryController;
183
- readonly themeController: ThemeController;
175
+ protected readonly themeController: ThemeController;
176
+ readonly columnsController: DataGridColumnsController<TData>;
184
177
  readonly selectionController: DataGridSelectionController<TData>;
185
178
  readonly sortingController: DataGridSortingController<TData>;
179
+ readonly detailsController: DataGridDetailsController<TData>;
186
180
  readonly rowIntersectionObserver?: IntersectionObserver;
187
181
  protected updated(...parameters: Parameters<Component['updated']>): void;
188
182
  protected firstUpdated(props: PropertyValues): void;
@@ -202,10 +196,8 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
202
196
  protected get dataGridTemplate(): HTMLTemplateResult;
203
197
  protected get headerTemplate(): HTMLTemplateResult;
204
198
  private get rowsTemplate();
205
- getRowTemplate(data: TData, index?: number, level?: number): import("lit-html").TemplateResult;
206
- private handleRowDetailsOpenChange;
199
+ getRowTemplate(dataRecord: DataRecord<TData>, index?: number): import("lit-html").TemplateResult;
207
200
  protected get footerTemplate(): HTMLTemplateResult;
208
- get sumsData(): TData[];
209
201
  get sumsTemplate(): HTMLTemplateResult;
210
202
  protected get toolbarTemplate(): HTMLTemplateResult;
211
203
  protected get toolbarDefaultTemplate(): HTMLTemplateResult;
@@ -213,26 +205,14 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
213
205
  protected get sumDefaultTemplate(): HTMLTemplateResult;
214
206
  protected get selectionToolbarTemplate(): HTMLTemplateResult;
215
207
  protected get toolbarActionsTemplate(): HTMLTemplateResult;
216
- private provideCssColumnsProperties;
217
- readonly detailsColumnWidthInPixels = 0;
218
- readonly selectionColumnWidthInPixels = 0;
219
- readonly moreColumnWidthInPixels = 0;
220
- get columnsWidths(): string[];
221
- get detailsColumnWidth(): string | undefined;
222
- get selectionColumnWidth(): string | undefined;
223
- get dataColumnsWidths(): string[];
224
- get moreColumnWidth(): string | undefined;
225
208
  private lastScrollElementTop;
226
209
  private handleScroll;
227
210
  protected handlePointerDown(event: PointerEvent): void;
228
- getSorting(): DataGridRankedSortDefinition<TData>[];
229
211
  private getFlattenedData;
230
- get flattenedData(): TData[];
231
- protected get sortedData(): TData[];
232
- get renderData(): TData[];
233
- private get elementExtractedColumns();
234
- private get autoGeneratedColumns();
235
- get visibleColumns(): DataGridColumn<TData, unknown>[];
212
+ get dataRecords(): Array<DataRecord<TData>>;
213
+ get renderDataRecords(): DataRecord<TData>[];
214
+ protected get dataSkip(): number;
215
+ protected get dataTake(): number;
236
216
  }
237
217
  declare global {
238
218
  interface HTMLElementTagNameMap {
@@ -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
@@ -1,6 +1,6 @@
1
1
  var DataGrid_1;
2
2
  import { __decorate } from "tslib";
3
- import { property, component, Component, html, css, live, query, ifDefined, event, style, literal, staticHtml, cache, eventOptions, queryAll, repeat, eventListener } from '@a11d/lit';
3
+ import { property, component, Component, html, css, query, ifDefined, event, style, literal, staticHtml, cache, eventOptions, queryAll, repeat, eventListener } from '@a11d/lit';
4
4
  import { NotificationComponent } from '@a11d/lit-application';
5
5
  import { LocalStorage } from '@a11d/local-storage';
6
6
  import { InstanceofAttributeController } from '@3mo/instanceof-attribute-controller';
@@ -10,9 +10,12 @@ import { ThemeController } from '@3mo/theme';
10
10
  import { observeMutation } from '@3mo/mutation-observer';
11
11
  import { MediaQueryController } from '@3mo/media-query-observer';
12
12
  import { Localizer } from '@3mo/localization';
13
- import { DataGridSelectionController, DataGridSelectionMode } from './DataGridSelectionController.js';
13
+ import { DataGridColumnsController } from './DataGridColumnsController.js';
14
+ import { DataGridSelectionBehaviorOnDataChange, DataGridSelectionController, DataGridSelectionMode } from './DataGridSelectionController.js';
14
15
  import { DataGridSortingController } from './DataGridSortingController.js';
15
- import { CsvGenerator, DataGridColumnComponent, DataGridSidePanelTab } from './index.js';
16
+ import { DataGridDetailsController } from './DataGridDetailsController.js';
17
+ import { CsvGenerator, DataGridSidePanelTab } from './index.js';
18
+ import { DataRecord } from './DataRecord.js';
16
19
  Localizer.register('en', {
17
20
  '${count:pluralityNumber} entries selected': [
18
21
  '1 entry selected',
@@ -30,12 +33,6 @@ Localizer.register('de', {
30
33
  'More Filters': 'Weitere Filter',
31
34
  'Deselect All': 'Alle deselektieren',
32
35
  });
33
- export var DataGridSelectionBehaviorOnDataChange;
34
- (function (DataGridSelectionBehaviorOnDataChange) {
35
- DataGridSelectionBehaviorOnDataChange["Reset"] = "reset";
36
- DataGridSelectionBehaviorOnDataChange["Prevent"] = "prevent";
37
- DataGridSelectionBehaviorOnDataChange["Maintain"] = "maintain";
38
- })(DataGridSelectionBehaviorOnDataChange || (DataGridSelectionBehaviorOnDataChange = {}));
39
36
  export var DataGridEditability;
40
37
  (function (DataGridEditability) {
41
38
  DataGridEditability["Never"] = "never";
@@ -118,7 +115,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
118
115
  this.selectionBehaviorOnDataChange = DataGridSelectionBehaviorOnDataChange.Reset;
119
116
  this.multipleDetails = false;
120
117
  this.detailsOnClick = false;
121
- this.openDetailedData = new Array();
122
118
  this.primaryContextMenuItemOnDoubleClick = false;
123
119
  this.editability = DataGridEditability.Never;
124
120
  this.sidePanelHidden = false;
@@ -133,19 +129,18 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
133
129
  this.hasSums;
134
130
  this.hasFabs;
135
131
  await new Promise(r => requestIdleCallback(r));
136
- this.style.setProperty('--mo-data-grid-fab-slot-width', `${this.renderRoot.querySelector('slot[name=fab]')?.getBoundingClientRect().width || 75}px`);
132
+ this.style.setProperty('--mo-data-grid-fab-slot-width', `${this.renderRoot?.querySelector('slot[name=fab]')?.getBoundingClientRect().width || 75}px`);
137
133
  });
138
134
  this.instanceofAttributeController = new InstanceofAttributeController(this);
139
135
  this.smallScreenObserverController = new MediaQueryController(this, '(max-width: 768px)');
140
136
  this.themeController = new ThemeController(this);
137
+ this.columnsController = new DataGridColumnsController(this);
141
138
  this.selectionController = new DataGridSelectionController(this);
142
139
  this.sortingController = new DataGridSortingController(this);
140
+ this.detailsController = new DataGridDetailsController(this);
143
141
  this.splitterResizerTemplate = html `
144
142
  <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>
145
143
  `;
146
- this.detailsColumnWidthInPixels = 0;
147
- this.selectionColumnWidthInPixels = 0;
148
- this.moreColumnWidthInPixels = 0;
149
144
  // eslint-disable-next-line @typescript-eslint/member-ordering
150
145
  this.lastScrollElementTop = 0;
151
146
  }
@@ -153,26 +148,13 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
153
148
  this.page = page;
154
149
  this.pageChange.dispatch(page);
155
150
  }
156
- handlePageChange(page) {
157
- this.setPage(page);
158
- }
159
151
  setPagination(pagination) {
160
152
  this.pagination = pagination;
161
153
  this.paginationChange.dispatch(pagination);
162
154
  }
163
- handlePaginationChange(pagination) {
164
- this.setPagination(pagination);
165
- }
166
155
  setData(data, selectionBehavior = this.selectionBehaviorOnDataChange) {
167
156
  this.data = data;
168
- switch (selectionBehavior) {
169
- case DataGridSelectionBehaviorOnDataChange.Reset:
170
- this.deselectAll();
171
- break;
172
- case DataGridSelectionBehaviorOnDataChange.Maintain:
173
- this.selectionController.selectPreviouslySelectedData();
174
- break;
175
- }
157
+ this.selectionController.handleDataChange(selectionBehavior);
176
158
  this.dataChange.dispatch(data);
177
159
  }
178
160
  get hasSelection() {
@@ -190,64 +172,38 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
190
172
  isSelectable(...parameters) {
191
173
  return this.selectionController.isSelectable(...parameters);
192
174
  }
193
- get detailedData() {
194
- return this.data.filter(data => this.hasDetail(data));
195
- }
196
175
  get hasDetails() {
197
- return !!this.getRowDetailsTemplate && this.detailedData.length > 0
198
- || this.data.some(d => !!this.getSubData(d));
199
- }
200
- getSubData(data) {
201
- if (!this.subDataGridDataSelector) {
202
- return undefined;
203
- }
204
- const subValue = getValueByKeyPath(data, this.subDataGridDataSelector);
205
- return !Array.isArray(subValue) || !subValue.length
206
- ? undefined
207
- : this.sortingController.toSorted(subValue);
208
- }
209
- hasDetail(data) {
210
- return !!this.getSubData(data) || (this.hasDataDetail?.(data) ??
211
- [undefined, html.nothing].includes(this.getRowDetailsTemplate?.(data)) === false);
176
+ return this.detailsController.hasDetails;
212
177
  }
213
178
  get allRowDetailsOpen() {
214
- return this.openDetailedData.length === this.detailedData.length;
179
+ return this.detailsController.areAllOpen;
215
180
  }
216
- openRowDetails() {
217
- this.openDetailedData = this.detailedData;
181
+ openRowDetails(...parameters) {
182
+ return this.detailsController.openAll(...parameters);
218
183
  }
219
- closeRowDetails() {
220
- this.openDetailedData = [];
184
+ closeRowDetails(...parameters) {
185
+ return this.detailsController.closeAll(...parameters);
221
186
  }
222
- toggleRowDetails() {
223
- if (this.allRowDetailsOpen) {
224
- this.closeRowDetails();
225
- }
226
- else {
227
- this.openRowDetails();
228
- }
187
+ toggleRowDetails(...parameters) {
188
+ return this.detailsController.toggleAll(...parameters);
189
+ }
190
+ getSorting(...parameters) {
191
+ return this.sortingController.get(...parameters);
229
192
  }
230
193
  sort(...parameters) {
231
- this.sortingController.set(...parameters);
194
+ return this.sortingController.set(...parameters);
232
195
  }
233
196
  unsort(...parameters) {
234
- this.sortingController.reset(...parameters);
197
+ return this.sortingController.reset(...parameters);
235
198
  }
236
- setColumns(columns) {
237
- this.columns = columns;
238
- this.columnsChange.dispatch(columns);
239
- this.requestUpdate();
199
+ setColumns(...parameters) {
200
+ return this.columnsController.setColumns(...parameters);
240
201
  }
241
- extractColumnsIfNotSetExplicitly() {
242
- if (this.columns.length === 0) {
243
- this.extractColumns();
244
- }
202
+ extractColumns(...parameters) {
203
+ return this.columnsController.extractColumns(...parameters);
245
204
  }
246
- extractColumns() {
247
- const extractedColumns = this.elementExtractedColumns.length > 0
248
- ? this.elementExtractedColumns
249
- : this.autoGeneratedColumns;
250
- this.setColumns(extractedColumns);
205
+ get visibleColumns() {
206
+ return this.columnsController.visibleColumns;
251
207
  }
252
208
  getRow(data) {
253
209
  return this.rows.find(r => r.data === data);
@@ -329,7 +285,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
329
285
  return value;
330
286
  }
331
287
  get dataLength() {
332
- return this.flattenedData.length;
288
+ return this.renderDataRecords.length;
333
289
  }
334
290
  get maxPage() {
335
291
  return Math.ceil(this.dataLength / this.pageSize);
@@ -358,7 +314,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
358
314
  }
359
315
  firstUpdated(props) {
360
316
  super.firstUpdated(props);
361
- this.extractColumnsIfNotSetExplicitly();
362
317
  this.cellEdit.subscribe(() => this.requestUpdate());
363
318
  this.setPage(1);
364
319
  }
@@ -379,6 +334,8 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
379
334
 
380
335
  --mo-data-grid-sticky-part-color: var(--mo-color-surface);
381
336
 
337
+ --mo-data-grid-alternating-background: color-mix(in srgb, black var(--mo-data-grid-alternating-background-transparency), transparent 0%);
338
+
382
339
  --mo-data-grid-selection-background: color-mix(in srgb, var(--mo-color-accent), transparent 50%);
383
340
  display: flex;
384
341
  flex-direction: column;
@@ -387,11 +344,11 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
387
344
  }
388
345
 
389
346
  :host([data-theme=light]) {
390
- --mo-data-grid-alternating-background: color-mix(in srgb, black, transparent 95%);
347
+ --mo-data-grid-alternating-background-transparency : 5%;
391
348
  }
392
349
 
393
350
  :host([data-theme=dark]) {
394
- --mo-data-grid-alternating-background: color-mix(in srgb, black, transparent 80%);
351
+ --mo-data-grid-alternating-background-transparency: 20%;
395
352
  }
396
353
 
397
354
  :host([preventVerticalContentScroll]) mo-scroller {
@@ -599,7 +556,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
599
556
  `;
600
557
  }
601
558
  get dataGridTemplate() {
602
- this.provideCssColumnsProperties();
603
559
  this.toggleAttribute('hasDetails', this.hasDetails);
604
560
  return html `
605
561
  <mo-grid rows='* auto' ${style({ position: 'relative', height: '100%' })}>
@@ -623,34 +579,17 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
623
579
  }
624
580
  get rowsTemplate() {
625
581
  return html `
626
- ${repeat(this.renderData, data => data, (data, index) => this.getRowTemplate(data, index))}
582
+ ${repeat(this.renderDataRecords, record => record.data, (record, index) => this.getRowTemplate(record, index))}
627
583
  `;
628
584
  }
629
- getRowTemplate(data, index, level = 0) {
585
+ getRowTemplate(dataRecord, index = 0) {
630
586
  return staticHtml `
631
587
  <${this.rowElementTag} part='row'
632
- .level=${level}
633
- .dataGrid=${this}
634
- .data=${data}
635
- index=${ifDefined(index)}
636
- ?data-grid-has-details=${this.hasDetails}
637
- ?selected=${live(this.selectedData.includes(data))}
638
- ?detailsOpen=${live(this.openDetailedData.includes(data))}
639
- @detailsOpenChange=${(event) => this.handleRowDetailsOpenChange(data, event.detail)}
588
+ .dataRecord=${dataRecord}
589
+ ?data-has-alternating-background=${this.hasAlternatingBackground && index % 2 === 1}
640
590
  ></${this.rowElementTag}>
641
591
  `;
642
592
  }
643
- handleRowDetailsOpenChange(data, open) {
644
- if (this.hasDetail(data) === false) {
645
- return;
646
- }
647
- if (open && this.multipleDetails === false) {
648
- this.closeRowDetails();
649
- }
650
- this.openDetailedData = open
651
- ? [...this.openDetailedData, data]
652
- : this.openDetailedData.filter(d => d !== data);
653
- }
654
593
  get footerTemplate() {
655
594
  return html `
656
595
  <mo-flex ${style({ position: 'relative' })}>
@@ -665,9 +604,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
665
604
  </mo-flex>
666
605
  `;
667
606
  }
668
- get sumsData() {
669
- return this.selectedData.length > 0 ? this.selectedData : this.renderData;
670
- }
671
607
  get sumsTemplate() {
672
608
  return html `
673
609
  ${this.columns.map(c => c.sumTemplate)}
@@ -741,35 +677,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
741
677
  ></mo-icon-button>
742
678
  `;
743
679
  }
744
- // The reason for not doing this in the CSS is that we need to trim all the 0px values out of the columns
745
- // because the 'grid column gap' renders a gap no matter if the column is 0px or not
746
- provideCssColumnsProperties() {
747
- this.style.setProperty('--mo-data-grid-content-width', this.dataColumnsWidths.join(' '));
748
- this.style.setProperty('--mo-data-grid-columns', this.columnsWidths.join(' '));
749
- }
750
- get columnsWidths() {
751
- return [
752
- this.detailsColumnWidth,
753
- this.selectionColumnWidth,
754
- ...this.dataColumnsWidths,
755
- '1fr',
756
- this.moreColumnWidth
757
- ].filter((c) => c !== undefined);
758
- }
759
- get detailsColumnWidth() {
760
- return !this.hasDetails ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-details-width');
761
- }
762
- get selectionColumnWidth() {
763
- return !this.hasSelection || this.selectionCheckboxesHidden ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-selection-width');
764
- }
765
- get dataColumnsWidths() {
766
- return this.visibleColumns
767
- .map(c => c.width)
768
- .filter((c) => c !== undefined);
769
- }
770
- get moreColumnWidth() {
771
- return this.sidePanelHidden && !this.hasContextMenu ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-more-width');
772
- }
773
680
  handleScroll(e) {
774
681
  if (this.preventFabCollapse === false) {
775
682
  if (!e.composed) {
@@ -788,88 +695,50 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
788
695
  handlePointerDown(event) {
789
696
  this.rows.forEach(row => row.cells.forEach(cell => cell.handlePointerDown(event)));
790
697
  }
791
- getSorting() {
792
- return this.sortingController.get();
793
- }
794
698
  *getFlattenedData() {
795
699
  if (!this.subDataGridDataSelector) {
796
- yield* this.data.map(d => ({ level: 0, data: d }));
700
+ yield* this.sortingController.toSortedBy(this.data.map((data, index) => new DataRecord(this, { level: 0, index, data })), ({ data }) => data);
797
701
  return;
798
702
  }
799
703
  const flatten = (data, level = 0) => {
800
704
  const subData = getValueByKeyPath(data, this.subDataGridDataSelector);
705
+ const subDataRecords = !Array.isArray(subData)
706
+ ? undefined
707
+ : this.sortingController
708
+ .toSortedBy(subData.map(data => new DataRecord(this, { level, data })), ({ data }) => data)
709
+ .flatMap(({ data }) => flatten(data, level + 1));
801
710
  return [
802
- { data, level },
803
- ...!Array.isArray(subData)
804
- ? []
805
- : subData.flatMap(d => flatten(d, level + 1))
711
+ new DataRecord(this, { data, level, subData: subDataRecords }),
712
+ ...(subDataRecords ?? [])
806
713
  ];
807
714
  };
808
- for (const data of this.data) {
715
+ for (const data of this.sortingController.toSorted(this.data)) {
809
716
  yield* flatten(data);
810
717
  }
811
718
  return;
812
719
  }
813
- get flattenedData() {
814
- return [...this.getFlattenedData()].map(({ data }) => data);
815
- }
816
- get sortedData() {
817
- return this.sortingController.toSorted([...this.data]);
720
+ get dataRecords() {
721
+ return [...this.getFlattenedData()]
722
+ .map((record, index) => {
723
+ // @ts-expect-error index is initialized here
724
+ record.index = index;
725
+ return record;
726
+ });
818
727
  }
819
- get renderData() {
728
+ get renderDataRecords() {
729
+ const rootRecords = this.dataRecords.filter(r => r.level === 0);
820
730
  if (this.hasPagination === false) {
821
- return this.sortedData;
731
+ return rootRecords;
822
732
  }
823
- const from = (this.page - 1) * this.pageSize;
824
- const to = this.page * this.pageSize;
825
- return this.sortedData.slice(from, to);
733
+ const from = this.dataSkip;
734
+ const to = this.dataSkip + this.dataTake;
735
+ return rootRecords.slice(from, to);
826
736
  }
827
- get elementExtractedColumns() {
828
- if (!this.columnsSlot) {
829
- return [];
830
- }
831
- const children = this.columnsSlot.children.length > 0 ? Array.from(this.columnsSlot.children) : undefined;
832
- const assigned = this.columnsSlot.assignedElements().length > 0 ? Array.from(this.columnsSlot.assignedElements()) : undefined;
833
- return Array.from(assigned ?? children ?? [])
834
- .filter((c) => {
835
- const isColumn = c instanceof DataGridColumnComponent;
836
- if (isColumn) {
837
- c.dataGrid = this;
838
- }
839
- return isColumn;
840
- })
841
- .map(c => c.column);
842
- }
843
- get autoGeneratedColumns() {
844
- if (!this.dataLength) {
845
- return [];
846
- }
847
- const getDefaultColumnElement = (value) => {
848
- switch (typeof value) {
849
- case 'number':
850
- case 'bigint':
851
- return 'mo-data-grid-column-number';
852
- case 'boolean':
853
- return 'mo-data-grid-column-boolean';
854
- default:
855
- return 'mo-data-grid-column-text';
856
- }
857
- };
858
- const sampleData = this.data[0];
859
- return Object.keys(sampleData || {})
860
- .filter(key => !key.startsWith('_'))
861
- .map(key => {
862
- const columnElement = document.createElement(getDefaultColumnElement(getValueByKeyPath(sampleData, key)));
863
- columnElement.heading = key.replace(/([A-Z])/g, ' $1').charAt(0).toUpperCase() + key.replace(/([A-Z])/g, ' $1').slice(1);
864
- columnElement.dataSelector = key;
865
- columnElement.dataGrid = this;
866
- const column = columnElement.column;
867
- columnElement.remove();
868
- return column;
869
- });
737
+ get dataSkip() {
738
+ return (this.page - 1) * this.pageSize;
870
739
  }
871
- get visibleColumns() {
872
- return this.columns.filter(c => c.hidden === false);
740
+ get dataTake() {
741
+ return this.pageSize;
873
742
  }
874
743
  };
875
744
  DataGrid.rowHeight = new LocalStorage('DataGrid.RowHeight', 35);
@@ -922,12 +791,7 @@ __decorate([
922
791
  property({ type: Array })
923
792
  ], DataGrid.prototype, "data", void 0);
924
793
  __decorate([
925
- property({
926
- type: Array,
927
- updated() {
928
- this.columns.forEach(column => column.dataGrid = this);
929
- }
930
- })
794
+ property({ type: Array })
931
795
  ], DataGrid.prototype, "columns", void 0);
932
796
  __decorate([
933
797
  property({ type: Boolean, reflect: true })
@@ -977,9 +841,6 @@ __decorate([
977
841
  __decorate([
978
842
  property({ type: Boolean })
979
843
  ], DataGrid.prototype, "detailsOnClick", void 0);
980
- __decorate([
981
- property({ type: Array })
982
- ], DataGrid.prototype, "openDetailedData", void 0);
983
844
  __decorate([
984
845
  property({ type: Object })
985
846
  ], DataGrid.prototype, "getRowContextMenuTemplate", void 0);
@@ -1043,9 +904,6 @@ __decorate([
1043
904
  __decorate([
1044
905
  query('mo-data-grid-side-panel')
1045
906
  ], DataGrid.prototype, "sidePanel", void 0);
1046
- __decorate([
1047
- query('slot[name=column]')
1048
- ], DataGrid.prototype, "columnsSlot", void 0);
1049
907
  __decorate([
1050
908
  eventOptions({ passive: true })
1051
909
  ], DataGrid.prototype, "handleScroll", null);
@@ -12,7 +12,7 @@ export declare class DataGridCell<TValue extends KeyPathValueOf<TData>, TData =
12
12
  column: DataGridColumn<TData, TValue>;
13
13
  row: DataGridRow<TData, TDetailsElement>;
14
14
  private editing;
15
- get dataGrid(): import("./DataGrid.js").DataGrid<TData, TDetailsElement>;
15
+ get dataGrid(): import("./DataGrid.js").DataGrid<TData, any>;
16
16
  get data(): TData;
17
17
  get dataSelector(): 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;
18
18
  private get cellIndex();
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../DataGridCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA8B,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGrG,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,iBAAiB,CAAC,KAAK,EAAE,YAAY;IAMrC,iBAAiB,CAAC,KAAK,EAAE,UAAU;IAO7B,aAAa,CAAC,KAAK,EAAE,aAAa;IA2CxC,OAAO,CAAC,SAAS;IAWjB,WAAoB,MAAM,kCAgDzB;IAED,OAAO,KAAK,OAAO,GAAmC;IAEtD,cAAuB,QAAQ,uBAa9B;IAED,OAAO,KAAK,eAAe,GAI1B;IAQD,OAAO,KAAK,mBAAmB,GAE9B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAC1C;CACD"}
1
+ {"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../DataGridCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA8B,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGrG,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,iDAA+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,iBAAiB,CAAC,KAAK,EAAE,YAAY;IAMrC,iBAAiB,CAAC,KAAK,EAAE,UAAU;IAO7B,aAAa,CAAC,KAAK,EAAE,aAAa;IA2CxC,OAAO,CAAC,SAAS;IAWjB,WAAoB,MAAM,kCAoDzB;IAED,OAAO,KAAK,OAAO,GAAmC;IAEtD,cAAuB,QAAQ,uBAa9B;IAED,OAAO,KAAK,eAAe,GAI1B;IAQD,OAAO,KAAK,mBAAmB,GAE9B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAC1C;CACD"}
@@ -109,7 +109,11 @@ let DataGridCell = class DataGridCell extends Component {
109
109
  text-overflow: ellipsis;
110
110
  font-size: var(--mo-data-grid-cell-font-size);
111
111
  outline: none;
112
- margin-block: auto;
112
+ min-height: var(--mo-data-grid-row-height);
113
+ }
114
+
115
+ :host(:not([isEditing])) {
116
+ line-height: var(--mo-data-grid-row-height);
113
117
  }
114
118
 
115
119
  :host(:not([isEditing]):focus) {
@@ -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,MAAM,YAAY,CAAA;AAC1C,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,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,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMlD,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,mCAgBd;IAED,IAAI,uBAAuB,WA2B1B;CACD"}
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,MAAM,YAAY,CAAA;AAC1C,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,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,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMlD,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,WA2B1B;CACD"}