@3mo/data-grid 0.8.25 → 0.9.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.
Files changed (43) hide show
  1. package/dist/DataGrid.d.ts +19 -34
  2. package/dist/DataGrid.d.ts.map +1 -1
  3. package/dist/DataGrid.js +64 -193
  4. package/dist/DataGridCell.d.ts +1 -1
  5. package/dist/DataGridCell.d.ts.map +1 -1
  6. package/dist/DataGridCell.js +11 -4
  7. package/dist/DataGridColumn.d.ts.map +1 -1
  8. package/dist/DataGridColumn.js +4 -3
  9. package/dist/DataGridColumnsController.d.ts +25 -0
  10. package/dist/DataGridColumnsController.d.ts.map +1 -0
  11. package/dist/DataGridColumnsController.js +110 -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 +3 -1
  19. package/dist/DataGridSelectionController.d.ts.map +1 -1
  20. package/dist/DataGridSelectionController.js +4 -1
  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/DataGridColumnDeletion.d.ts +0 -1
  28. package/dist/columns/DataGridColumnDeletion.d.ts.map +1 -1
  29. package/dist/columns/DataGridColumnDeletion.js +0 -1
  30. package/dist/columns/DataGridColumnText.js +1 -1
  31. package/dist/columns/date-time/DataGridColumnDateTimeBase.js +1 -1
  32. package/dist/columns/number/DataGridColumnCurrency.js +1 -1
  33. package/dist/columns/number/DataGridColumnNumber.js +1 -1
  34. package/dist/columns/number/DataGridColumnPercent.js +1 -1
  35. package/dist/custom-elements.json +102 -309
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -0
  39. package/dist/rows/DataGridRow.d.ts +9 -18
  40. package/dist/rows/DataGridRow.d.ts.map +1 -1
  41. package/dist/rows/DataGridRow.js +50 -83
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
@@ -4,9 +4,12 @@ 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, DataGridSelectionBehaviorOnDataChange } 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
14
  export declare enum DataGridEditability {
12
15
  Never = "never",
@@ -111,7 +114,6 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
111
114
  subDataGridDataSelector?: KeyPathOf<TData>;
112
115
  hasDataDetail?: (data: TData) => boolean;
113
116
  detailsOnClick: boolean;
114
- protected openDetailedData: TData[];
115
117
  getRowContextMenuTemplate?: (data: Array<TData>) => HTMLTemplateResult;
116
118
  primaryContextMenuItemOnDoubleClick: boolean;
117
119
  editability: DataGridEditability;
@@ -129,30 +131,25 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
129
131
  readonly rows: Array<DataGridRow<TData, TDetailsElement>>;
130
132
  private readonly footer?;
131
133
  private readonly sidePanel?;
132
- private readonly columnsSlot?;
133
134
  setPage(page: number): void;
134
- handlePageChange(page: number): void;
135
135
  setPagination(pagination?: DataGridPagination): void;
136
- handlePaginationChange(pagination?: DataGridPagination): void;
137
136
  setData(data: Array<TData>, selectionBehavior?: DataGridSelectionBehaviorOnDataChange): void;
138
137
  get hasSelection(): boolean;
139
138
  selectAll(...parameters: Parameters<typeof this.selectionController.selectAll>): void;
140
139
  deselectAll(...parameters: Parameters<typeof this.selectionController.deselectAll>): void;
141
140
  select(...parameters: Parameters<typeof this.selectionController.select>): void;
142
141
  isSelectable(...parameters: Parameters<typeof this.selectionController.isSelectable>): boolean;
143
- get detailedData(): TData[];
144
142
  get hasDetails(): boolean;
145
- getSubData(data: TData): Array<TData> | undefined;
146
- hasDetail(data: TData): boolean;
147
143
  get allRowDetailsOpen(): boolean;
148
- openRowDetails(): void;
149
- closeRowDetails(): void;
150
- 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>[];
151
148
  sort(...parameters: Parameters<typeof this.sortingController.set>): void;
152
149
  unsort(...parameters: Parameters<typeof this.sortingController.reset>): void;
153
- setColumns(columns: Array<DataGridColumn<TData>>): void;
154
- extractColumnsIfNotSetExplicitly(): void;
155
- 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>[];
156
153
  getRow(data: TData): DataGridRow<TData, TDetailsElement> | undefined;
157
154
  getCell(data: TData, column: DataGridColumn<TData, unknown>): DataGridCell<any, TData, TDetailsElement> | undefined;
158
155
  handleEdit(data: TData, column: DataGridColumn<TData, unknown>, value: KeyPathValueOf<TData, KeyPathOf<TData>> | undefined): void;
@@ -175,9 +172,11 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
175
172
  protected readonly slotController: SlotController;
176
173
  protected readonly instanceofAttributeController: InstanceofAttributeController;
177
174
  protected readonly smallScreenObserverController: MediaQueryController;
178
- readonly themeController: ThemeController;
175
+ protected readonly themeController: ThemeController;
176
+ readonly columnsController: DataGridColumnsController<TData>;
179
177
  readonly selectionController: DataGridSelectionController<TData>;
180
178
  readonly sortingController: DataGridSortingController<TData>;
179
+ readonly detailsController: DataGridDetailsController<TData>;
181
180
  readonly rowIntersectionObserver?: IntersectionObserver;
182
181
  protected updated(...parameters: Parameters<Component['updated']>): void;
183
182
  protected firstUpdated(props: PropertyValues): void;
@@ -197,10 +196,8 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
197
196
  protected get dataGridTemplate(): HTMLTemplateResult;
198
197
  protected get headerTemplate(): HTMLTemplateResult;
199
198
  private get rowsTemplate();
200
- getRowTemplate(data: TData, index?: number, level?: number): import("lit-html").TemplateResult;
201
- private handleRowDetailsOpenChange;
199
+ getRowTemplate(dataRecord: DataRecord<TData>, index?: number): import("lit-html").TemplateResult;
202
200
  protected get footerTemplate(): HTMLTemplateResult;
203
- get sumsData(): TData[];
204
201
  get sumsTemplate(): HTMLTemplateResult;
205
202
  protected get toolbarTemplate(): HTMLTemplateResult;
206
203
  protected get toolbarDefaultTemplate(): HTMLTemplateResult;
@@ -208,26 +205,14 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
208
205
  protected get sumDefaultTemplate(): HTMLTemplateResult;
209
206
  protected get selectionToolbarTemplate(): HTMLTemplateResult;
210
207
  protected get toolbarActionsTemplate(): HTMLTemplateResult;
211
- private provideCssColumnsProperties;
212
- readonly detailsColumnWidthInPixels = 0;
213
- readonly selectionColumnWidthInPixels = 0;
214
- readonly moreColumnWidthInPixels = 0;
215
- get columnsWidths(): string[];
216
- get detailsColumnWidth(): string | undefined;
217
- get selectionColumnWidth(): string | undefined;
218
- get dataColumnsWidths(): string[];
219
- get moreColumnWidth(): string | undefined;
220
208
  private lastScrollElementTop;
221
209
  private handleScroll;
222
210
  protected handlePointerDown(event: PointerEvent): void;
223
- getSorting(): DataGridRankedSortDefinition<TData>[];
224
211
  private getFlattenedData;
225
- get flattenedData(): TData[];
226
- protected get sortedData(): TData[];
227
- get renderData(): TData[];
228
- private get elementExtractedColumns();
229
- private get autoGeneratedColumns();
230
- 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;
231
216
  }
232
217
  declare global {
233
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, DataGridSelectionBehaviorOnDataChange } 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',
@@ -112,7 +115,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
112
115
  this.selectionBehaviorOnDataChange = DataGridSelectionBehaviorOnDataChange.Reset;
113
116
  this.multipleDetails = false;
114
117
  this.detailsOnClick = false;
115
- this.openDetailedData = new Array();
116
118
  this.primaryContextMenuItemOnDoubleClick = false;
117
119
  this.editability = DataGridEditability.Never;
118
120
  this.sidePanelHidden = false;
@@ -127,19 +129,18 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
127
129
  this.hasSums;
128
130
  this.hasFabs;
129
131
  await new Promise(r => requestIdleCallback(r));
130
- 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`);
131
133
  });
132
134
  this.instanceofAttributeController = new InstanceofAttributeController(this);
133
135
  this.smallScreenObserverController = new MediaQueryController(this, '(max-width: 768px)');
134
136
  this.themeController = new ThemeController(this);
137
+ this.columnsController = new DataGridColumnsController(this);
135
138
  this.selectionController = new DataGridSelectionController(this);
136
139
  this.sortingController = new DataGridSortingController(this);
140
+ this.detailsController = new DataGridDetailsController(this);
137
141
  this.splitterResizerTemplate = html `
138
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>
139
143
  `;
140
- this.detailsColumnWidthInPixels = 0;
141
- this.selectionColumnWidthInPixels = 0;
142
- this.moreColumnWidthInPixels = 0;
143
144
  // eslint-disable-next-line @typescript-eslint/member-ordering
144
145
  this.lastScrollElementTop = 0;
145
146
  }
@@ -147,16 +148,10 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
147
148
  this.page = page;
148
149
  this.pageChange.dispatch(page);
149
150
  }
150
- handlePageChange(page) {
151
- this.setPage(page);
152
- }
153
151
  setPagination(pagination) {
154
152
  this.pagination = pagination;
155
153
  this.paginationChange.dispatch(pagination);
156
154
  }
157
- handlePaginationChange(pagination) {
158
- this.setPagination(pagination);
159
- }
160
155
  setData(data, selectionBehavior = this.selectionBehaviorOnDataChange) {
161
156
  this.data = data;
162
157
  this.selectionController.handleDataChange(selectionBehavior);
@@ -177,64 +172,38 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
177
172
  isSelectable(...parameters) {
178
173
  return this.selectionController.isSelectable(...parameters);
179
174
  }
180
- get detailedData() {
181
- return this.data.filter(data => this.hasDetail(data));
182
- }
183
175
  get hasDetails() {
184
- return !!this.getRowDetailsTemplate && this.detailedData.length > 0
185
- || this.data.some(d => !!this.getSubData(d));
186
- }
187
- getSubData(data) {
188
- if (!this.subDataGridDataSelector) {
189
- return undefined;
190
- }
191
- const subValue = getValueByKeyPath(data, this.subDataGridDataSelector);
192
- return !Array.isArray(subValue) || !subValue.length
193
- ? undefined
194
- : this.sortingController.toSorted(subValue);
195
- }
196
- hasDetail(data) {
197
- return !!this.getSubData(data) || (this.hasDataDetail?.(data) ??
198
- [undefined, html.nothing].includes(this.getRowDetailsTemplate?.(data)) === false);
176
+ return this.detailsController.hasDetails;
199
177
  }
200
178
  get allRowDetailsOpen() {
201
- return this.openDetailedData.length === this.detailedData.length;
179
+ return this.detailsController.areAllOpen;
202
180
  }
203
- openRowDetails() {
204
- this.openDetailedData = this.detailedData;
181
+ openRowDetails(...parameters) {
182
+ return this.detailsController.openAll(...parameters);
205
183
  }
206
- closeRowDetails() {
207
- this.openDetailedData = [];
184
+ closeRowDetails(...parameters) {
185
+ return this.detailsController.closeAll(...parameters);
208
186
  }
209
- toggleRowDetails() {
210
- if (this.allRowDetailsOpen) {
211
- this.closeRowDetails();
212
- }
213
- else {
214
- this.openRowDetails();
215
- }
187
+ toggleRowDetails(...parameters) {
188
+ return this.detailsController.toggleAll(...parameters);
189
+ }
190
+ getSorting(...parameters) {
191
+ return this.sortingController.get(...parameters);
216
192
  }
217
193
  sort(...parameters) {
218
- this.sortingController.set(...parameters);
194
+ return this.sortingController.set(...parameters);
219
195
  }
220
196
  unsort(...parameters) {
221
- this.sortingController.reset(...parameters);
197
+ return this.sortingController.reset(...parameters);
222
198
  }
223
- setColumns(columns) {
224
- this.columns = columns;
225
- this.columnsChange.dispatch(columns);
226
- this.requestUpdate();
199
+ setColumns(...parameters) {
200
+ return this.columnsController.setColumns(...parameters);
227
201
  }
228
- extractColumnsIfNotSetExplicitly() {
229
- if (this.columns.length === 0) {
230
- this.extractColumns();
231
- }
202
+ extractColumns(...parameters) {
203
+ return this.columnsController.extractColumns(...parameters);
232
204
  }
233
- extractColumns() {
234
- const extractedColumns = this.elementExtractedColumns.length > 0
235
- ? this.elementExtractedColumns
236
- : this.autoGeneratedColumns;
237
- this.setColumns(extractedColumns);
205
+ get visibleColumns() {
206
+ return this.columnsController.visibleColumns;
238
207
  }
239
208
  getRow(data) {
240
209
  return this.rows.find(r => r.data === data);
@@ -316,7 +285,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
316
285
  return value;
317
286
  }
318
287
  get dataLength() {
319
- return this.flattenedData.length;
288
+ return this.renderDataRecords.length;
320
289
  }
321
290
  get maxPage() {
322
291
  return Math.ceil(this.dataLength / this.pageSize);
@@ -345,7 +314,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
345
314
  }
346
315
  firstUpdated(props) {
347
316
  super.firstUpdated(props);
348
- this.extractColumnsIfNotSetExplicitly();
349
317
  this.cellEdit.subscribe(() => this.requestUpdate());
350
318
  this.setPage(1);
351
319
  }
@@ -366,6 +334,8 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
366
334
 
367
335
  --mo-data-grid-sticky-part-color: var(--mo-color-surface);
368
336
 
337
+ --mo-data-grid-alternating-background: color-mix(in srgb, black var(--mo-data-grid-alternating-background-transparency), transparent 0%);
338
+
369
339
  --mo-data-grid-selection-background: color-mix(in srgb, var(--mo-color-accent), transparent 50%);
370
340
  display: flex;
371
341
  flex-direction: column;
@@ -374,11 +344,11 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
374
344
  }
375
345
 
376
346
  :host([data-theme=light]) {
377
- --mo-data-grid-alternating-background: color-mix(in srgb, black, transparent 95%);
347
+ --mo-data-grid-alternating-background-transparency : 5%;
378
348
  }
379
349
 
380
350
  :host([data-theme=dark]) {
381
- --mo-data-grid-alternating-background: color-mix(in srgb, black, transparent 80%);
351
+ --mo-data-grid-alternating-background-transparency: 20%;
382
352
  }
383
353
 
384
354
  :host([preventVerticalContentScroll]) mo-scroller {
@@ -586,7 +556,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
586
556
  `;
587
557
  }
588
558
  get dataGridTemplate() {
589
- this.provideCssColumnsProperties();
590
559
  this.toggleAttribute('hasDetails', this.hasDetails);
591
560
  return html `
592
561
  <mo-grid rows='* auto' ${style({ position: 'relative', height: '100%' })}>
@@ -610,34 +579,17 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
610
579
  }
611
580
  get rowsTemplate() {
612
581
  return html `
613
- ${repeat(this.renderData, data => data, (data, index) => this.getRowTemplate(data, index))}
582
+ ${repeat(this.renderDataRecords, r => r, (record, index) => this.getRowTemplate(record, index))}
614
583
  `;
615
584
  }
616
- getRowTemplate(data, index, level = 0) {
585
+ getRowTemplate(dataRecord, index = 0) {
617
586
  return staticHtml `
618
587
  <${this.rowElementTag} part='row'
619
- .level=${level}
620
- .dataGrid=${this}
621
- .data=${data}
622
- index=${ifDefined(index)}
623
- ?data-grid-has-details=${this.hasDetails}
624
- ?selected=${live(this.selectedData.includes(data))}
625
- ?detailsOpen=${live(this.openDetailedData.includes(data))}
626
- @detailsOpenChange=${(event) => this.handleRowDetailsOpenChange(data, event.detail)}
588
+ .dataRecord=${dataRecord}
589
+ ?data-has-alternating-background=${this.hasAlternatingBackground && index % 2 === 1}
627
590
  ></${this.rowElementTag}>
628
591
  `;
629
592
  }
630
- handleRowDetailsOpenChange(data, open) {
631
- if (this.hasDetail(data) === false) {
632
- return;
633
- }
634
- if (open && this.multipleDetails === false) {
635
- this.closeRowDetails();
636
- }
637
- this.openDetailedData = open
638
- ? [...this.openDetailedData, data]
639
- : this.openDetailedData.filter(d => d !== data);
640
- }
641
593
  get footerTemplate() {
642
594
  return html `
643
595
  <mo-flex ${style({ position: 'relative' })}>
@@ -652,9 +604,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
652
604
  </mo-flex>
653
605
  `;
654
606
  }
655
- get sumsData() {
656
- return this.selectedData.length > 0 ? this.selectedData : this.renderData;
657
- }
658
607
  get sumsTemplate() {
659
608
  return html `
660
609
  ${this.columns.map(c => c.sumTemplate)}
@@ -728,35 +677,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
728
677
  ></mo-icon-button>
729
678
  `;
730
679
  }
731
- // The reason for not doing this in the CSS is that we need to trim all the 0px values out of the columns
732
- // because the 'grid column gap' renders a gap no matter if the column is 0px or not
733
- provideCssColumnsProperties() {
734
- this.style.setProperty('--mo-data-grid-content-width', this.dataColumnsWidths.join(' '));
735
- this.style.setProperty('--mo-data-grid-columns', this.columnsWidths.join(' '));
736
- }
737
- get columnsWidths() {
738
- return [
739
- this.detailsColumnWidth,
740
- this.selectionColumnWidth,
741
- ...this.dataColumnsWidths,
742
- '1fr',
743
- this.moreColumnWidth
744
- ].filter((c) => c !== undefined);
745
- }
746
- get detailsColumnWidth() {
747
- return !this.hasDetails ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-details-width');
748
- }
749
- get selectionColumnWidth() {
750
- return !this.hasSelection || this.selectionCheckboxesHidden ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-selection-width');
751
- }
752
- get dataColumnsWidths() {
753
- return this.visibleColumns
754
- .map(c => c.width)
755
- .filter((c) => c !== undefined);
756
- }
757
- get moreColumnWidth() {
758
- return this.sidePanelHidden && !this.hasContextMenu ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-more-width');
759
- }
760
680
  handleScroll(e) {
761
681
  if (this.preventFabCollapse === false) {
762
682
  if (!e.composed) {
@@ -775,88 +695,50 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
775
695
  handlePointerDown(event) {
776
696
  this.rows.forEach(row => row.cells.forEach(cell => cell.handlePointerDown(event)));
777
697
  }
778
- getSorting() {
779
- return this.sortingController.get();
780
- }
781
698
  *getFlattenedData() {
782
699
  if (!this.subDataGridDataSelector) {
783
- 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);
784
701
  return;
785
702
  }
786
703
  const flatten = (data, level = 0) => {
787
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));
788
710
  return [
789
- { data, level },
790
- ...!Array.isArray(subData)
791
- ? []
792
- : subData.flatMap(d => flatten(d, level + 1))
711
+ new DataRecord(this, { data, level, subData: subDataRecords }),
712
+ ...(subDataRecords ?? [])
793
713
  ];
794
714
  };
795
- for (const data of this.data) {
715
+ for (const data of this.sortingController.toSorted(this.data)) {
796
716
  yield* flatten(data);
797
717
  }
798
718
  return;
799
719
  }
800
- get flattenedData() {
801
- return [...this.getFlattenedData()].map(({ data }) => data);
802
- }
803
- get sortedData() {
804
- 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
+ });
805
727
  }
806
- get renderData() {
728
+ get renderDataRecords() {
729
+ const rootRecords = this.dataRecords.filter(r => r.level === 0);
807
730
  if (this.hasPagination === false) {
808
- return this.sortedData;
731
+ return rootRecords;
809
732
  }
810
- const from = (this.page - 1) * this.pageSize;
811
- const to = this.page * this.pageSize;
812
- return this.sortedData.slice(from, to);
733
+ const from = this.dataSkip;
734
+ const to = this.dataSkip + this.dataTake;
735
+ return rootRecords.slice(from, to);
813
736
  }
814
- get elementExtractedColumns() {
815
- if (!this.columnsSlot) {
816
- return [];
817
- }
818
- const children = this.columnsSlot.children.length > 0 ? Array.from(this.columnsSlot.children) : undefined;
819
- const assigned = this.columnsSlot.assignedElements().length > 0 ? Array.from(this.columnsSlot.assignedElements()) : undefined;
820
- return Array.from(assigned ?? children ?? [])
821
- .filter((c) => {
822
- const isColumn = c instanceof DataGridColumnComponent;
823
- if (isColumn) {
824
- c.dataGrid = this;
825
- }
826
- return isColumn;
827
- })
828
- .map(c => c.column);
829
- }
830
- get autoGeneratedColumns() {
831
- if (!this.dataLength) {
832
- return [];
833
- }
834
- const getDefaultColumnElement = (value) => {
835
- switch (typeof value) {
836
- case 'number':
837
- case 'bigint':
838
- return 'mo-data-grid-column-number';
839
- case 'boolean':
840
- return 'mo-data-grid-column-boolean';
841
- default:
842
- return 'mo-data-grid-column-text';
843
- }
844
- };
845
- const sampleData = this.data[0];
846
- return Object.keys(sampleData || {})
847
- .filter(key => !key.startsWith('_'))
848
- .map(key => {
849
- const columnElement = document.createElement(getDefaultColumnElement(getValueByKeyPath(sampleData, key)));
850
- columnElement.heading = key.replace(/([A-Z])/g, ' $1').charAt(0).toUpperCase() + key.replace(/([A-Z])/g, ' $1').slice(1);
851
- columnElement.dataSelector = key;
852
- columnElement.dataGrid = this;
853
- const column = columnElement.column;
854
- columnElement.remove();
855
- return column;
856
- });
737
+ get dataSkip() {
738
+ return (this.page - 1) * this.pageSize;
857
739
  }
858
- get visibleColumns() {
859
- return this.columns.filter(c => c.hidden === false);
740
+ get dataTake() {
741
+ return this.pageSize;
860
742
  }
861
743
  };
862
744
  DataGrid.rowHeight = new LocalStorage('DataGrid.RowHeight', 35);
@@ -909,12 +791,7 @@ __decorate([
909
791
  property({ type: Array })
910
792
  ], DataGrid.prototype, "data", void 0);
911
793
  __decorate([
912
- property({
913
- type: Array,
914
- updated() {
915
- this.columns.forEach(column => column.dataGrid = this);
916
- }
917
- })
794
+ property({ type: Array })
918
795
  ], DataGrid.prototype, "columns", void 0);
919
796
  __decorate([
920
797
  property({ type: Boolean, reflect: true })
@@ -964,9 +841,6 @@ __decorate([
964
841
  __decorate([
965
842
  property({ type: Boolean })
966
843
  ], DataGrid.prototype, "detailsOnClick", void 0);
967
- __decorate([
968
- property({ type: Array })
969
- ], DataGrid.prototype, "openDetailedData", void 0);
970
844
  __decorate([
971
845
  property({ type: Object })
972
846
  ], DataGrid.prototype, "getRowContextMenuTemplate", void 0);
@@ -1030,9 +904,6 @@ __decorate([
1030
904
  __decorate([
1031
905
  query('mo-data-grid-side-panel')
1032
906
  ], DataGrid.prototype, "sidePanel", void 0);
1033
- __decorate([
1034
- query('slot[name=column]')
1035
- ], DataGrid.prototype, "columnsSlot", void 0);
1036
907
  __decorate([
1037
908
  eventOptions({ passive: true })
1038
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,kCAqDzB;IAED,OAAO,KAAK,OAAO,GAAmC;IAEtD,cAAuB,QAAQ,uBAa9B;IAED,OAAO,KAAK,eAAe,GAM1B;IAQD,OAAO,KAAK,mBAAmB,GAE9B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAC1C;CACD"}
@@ -101,15 +101,20 @@ let DataGridCell = class DataGridCell extends Component {
101
101
  static get styles() {
102
102
  return css `
103
103
  :host {
104
+ display: inline-grid;
105
+ align-items: center;
104
106
  position: relative;
105
107
  padding-inline: var(--mo-data-grid-cell-padding);
108
+ font-size: var(--mo-data-grid-cell-font-size);
109
+ outline: none;
110
+ min-height: var(--mo-data-grid-row-height);
111
+ }
112
+
113
+ :host(:not([isEditing])) div {
106
114
  user-select: none;
107
115
  white-space: nowrap;
108
116
  overflow: hidden !important;
109
117
  text-overflow: ellipsis;
110
- font-size: var(--mo-data-grid-cell-font-size);
111
- outline: none;
112
- margin-block: auto;
113
118
  }
114
119
 
115
120
  :host(:not([isEditing]):focus) {
@@ -165,7 +170,9 @@ let DataGridCell = class DataGridCell extends Component {
165
170
  }
166
171
  get contentTemplate() {
167
172
  return html `
168
- ${this.column.getContentTemplate?.(this.value, this.data) ?? html `${this.value}`}
173
+ <div>
174
+ ${this.column.getContentTemplate?.(this.value, this.data) ?? html `${this.value}`}
175
+ </div>
169
176
  `;
170
177
  }
171
178
  // Having focus-controller on every cell can lead to performance issues
@@ -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"}