@3mo/data-grid 0.6.6 → 0.7.1
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 +5 -10
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +15 -32
- package/dist/DataGridCell.d.ts +2 -2
- package/dist/DataGridCell.d.ts.map +1 -1
- package/dist/DataGridColumn.d.ts +29 -0
- package/dist/DataGridColumn.d.ts.map +1 -0
- package/dist/DataGridColumn.js +40 -0
- package/dist/DataGridHeader.d.ts +1 -0
- package/dist/DataGridHeader.d.ts.map +1 -1
- package/dist/DataGridHeader.js +12 -4
- package/dist/DataGridHeaderSeparator.d.ts +2 -2
- package/dist/DataGridHeaderSeparator.d.ts.map +1 -1
- package/dist/DataGridHeaderSeparator.js +1 -1
- package/dist/DataGridPrimaryContextMenuItem.js +5 -5
- package/dist/columns/DataGridColumnBoolean.d.ts +2 -2
- package/dist/columns/DataGridColumnBoolean.d.ts.map +1 -1
- package/dist/columns/DataGridColumnBoolean.js +2 -2
- package/dist/columns/{DataGridColumn.d.ts → DataGridColumnComponent.d.ts} +6 -6
- package/dist/columns/DataGridColumnComponent.d.ts.map +1 -0
- package/dist/columns/{DataGridColumn.js → DataGridColumnComponent.js} +22 -21
- package/dist/columns/DataGridColumnComponent.test.d.ts +2 -0
- package/dist/columns/DataGridColumnComponent.test.d.ts.map +1 -0
- package/dist/columns/{DataGridColumn.test.js → DataGridColumnComponent.test.js} +3 -3
- package/dist/columns/DataGridColumnDeletion.d.ts +2 -2
- package/dist/columns/DataGridColumnDeletion.d.ts.map +1 -1
- package/dist/columns/DataGridColumnDeletion.js +2 -2
- package/dist/columns/DataGridColumnImage.d.ts +2 -2
- package/dist/columns/DataGridColumnImage.d.ts.map +1 -1
- package/dist/columns/DataGridColumnImage.js +2 -2
- package/dist/columns/DataGridColumnText.d.ts +3 -3
- package/dist/columns/DataGridColumnText.d.ts.map +1 -1
- package/dist/columns/DataGridColumnText.js +4 -4
- package/dist/columns/date-time/DataGridColumnDateTimeBase.d.ts +2 -2
- package/dist/columns/date-time/DataGridColumnDateTimeBase.d.ts.map +1 -1
- package/dist/columns/date-time/DataGridColumnDateTimeBase.js +2 -2
- package/dist/columns/index.d.ts +1 -1
- package/dist/columns/index.d.ts.map +1 -1
- package/dist/columns/index.js +1 -1
- package/dist/columns/number/DataGridColumnNumberBase.d.ts +4 -18
- package/dist/columns/number/DataGridColumnNumberBase.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnNumberBase.js +7 -6
- package/dist/columns/number/DataGridFooterSum.js +20 -20
- package/dist/custom-elements.json +237 -237
- package/dist/excel.svg.js +47 -47
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/rows/DataGridDefaultRow.d.ts.map +1 -1
- package/dist/rows/DataGridDefaultRow.js +1 -0
- package/dist/rows/DataGridRow.d.ts +4 -3
- package/dist/rows/DataGridRow.d.ts.map +1 -1
- package/dist/rows/DataGridRow.js +3 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/ColumnDefinition.d.ts +0 -18
- package/dist/ColumnDefinition.d.ts.map +0 -1
- package/dist/ColumnDefinition.js +0 -1
- package/dist/columns/DataGridColumn.d.ts.map +0 -1
- package/dist/columns/DataGridColumn.test.d.ts +0 -2
- package/dist/columns/DataGridColumn.test.d.ts.map +0 -1
package/dist/DataGrid.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ 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 {
|
|
7
|
+
import { DataGridSidePanelTab, type DataGridColumn, type DataGridCell, type DataGridRow } from './index.js';
|
|
8
8
|
import { DataGridSelectionController } from './DataGridSelectionController.js';
|
|
9
9
|
export type DataGridPagination = 'auto' | number;
|
|
10
10
|
export declare enum DataGridSelectionMode {
|
|
@@ -30,9 +30,6 @@ export type DataGridSortingDefinition<TData> = {
|
|
|
30
30
|
selector: KeyPathOf<TData>;
|
|
31
31
|
strategy: DataGridSortingStrategy;
|
|
32
32
|
};
|
|
33
|
-
export type DataGridRankedSortDefinition<TData> = DataGridSortingDefinition<TData> & {
|
|
34
|
-
rank: number;
|
|
35
|
-
};
|
|
36
33
|
export type DataGridSorting<TData> = DataGridSortingDefinition<TData> | Array<DataGridSortingDefinition<TData>>;
|
|
37
34
|
/**
|
|
38
35
|
* @element mo-data-grid
|
|
@@ -106,7 +103,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
106
103
|
readonly selectionChange: EventDispatcher<Array<TData>>;
|
|
107
104
|
readonly pageChange: EventDispatcher<number>;
|
|
108
105
|
readonly paginationChange: EventDispatcher<DataGridPagination | undefined>;
|
|
109
|
-
readonly columnsChange: EventDispatcher<Array<
|
|
106
|
+
readonly columnsChange: EventDispatcher<Array<DataGridColumn<TData>>>;
|
|
110
107
|
readonly sidePanelOpen: EventDispatcher<DataGridSidePanelTab>;
|
|
111
108
|
readonly sidePanelClose: EventDispatcher;
|
|
112
109
|
readonly sortingChange: EventDispatcher<DataGridSorting<TData> | undefined>;
|
|
@@ -117,7 +114,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
117
114
|
readonly rowMiddleClick: EventDispatcher<DataGridRow<TData, TDetailsElement>>;
|
|
118
115
|
readonly cellEdit: EventDispatcher<DataGridCell<any, TData, TDetailsElement>>;
|
|
119
116
|
data: TData[];
|
|
120
|
-
columns:
|
|
117
|
+
columns: DataGridColumn<TData, unknown>[];
|
|
121
118
|
headerHidden: boolean;
|
|
122
119
|
preventVerticalContentScroll: boolean;
|
|
123
120
|
virtualizationThreshold: number;
|
|
@@ -175,7 +172,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
175
172
|
sort(sorting?: DataGridSorting<TData>): void;
|
|
176
173
|
unsort(): void;
|
|
177
174
|
handleSortChange(sorting?: DataGridSorting<TData>): void;
|
|
178
|
-
setColumns(columns: Array<
|
|
175
|
+
setColumns(columns: Array<DataGridColumn<TData>>): void;
|
|
179
176
|
extractColumnsIfNotSetExplicitly(): void;
|
|
180
177
|
extractColumns(): void;
|
|
181
178
|
getRow(data: TData): DataGridRow<TData, TDetailsElement> | undefined;
|
|
@@ -225,7 +222,6 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
225
222
|
protected get footerTemplate(): HTMLTemplateResult;
|
|
226
223
|
get sumsData(): TData[];
|
|
227
224
|
get sumsTemplate(): HTMLTemplateResult;
|
|
228
|
-
getSumTemplate(column: ColumnDefinition<TData>): HTMLTemplateResult | undefined;
|
|
229
225
|
protected get toolbarTemplate(): HTMLTemplateResult;
|
|
230
226
|
protected get toolbarDefaultTemplate(): HTMLTemplateResult;
|
|
231
227
|
protected get toolbarActionDefaultTemplate(): HTMLTemplateResult;
|
|
@@ -241,14 +237,13 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
241
237
|
private lastScrollElementTop;
|
|
242
238
|
private readonly handleScroll;
|
|
243
239
|
getSorting(): DataGridSortingDefinition<TData>[];
|
|
244
|
-
getSortingDefinition(column: ColumnDefinition<TData>): DataGridRankedSortDefinition<TData> | undefined;
|
|
245
240
|
private getFlattenedData;
|
|
246
241
|
get flattenedData(): TData[];
|
|
247
242
|
protected get sortedData(): TData[];
|
|
248
243
|
get renderData(): TData[];
|
|
249
244
|
private get elementExtractedColumns();
|
|
250
245
|
private get autoGeneratedColumns();
|
|
251
|
-
get visibleColumns():
|
|
246
|
+
get visibleColumns(): DataGridColumn<TData, unknown>[];
|
|
252
247
|
}
|
|
253
248
|
declare global {
|
|
254
249
|
interface HTMLElementTagNameMap {
|
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,EAAqC,KAAK,cAAc,EAAqC,KAAK,kBAAkB,EAAS,MAAM,WAAW,CAAA;AAErL,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;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAIhE,OAAO,
|
|
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 { MediaQueryController } from '@3mo/media-query-observer';
|
|
|
12
12
|
import { observeResize } from '@3mo/resize-observer';
|
|
13
13
|
import { Localizer } from '@3mo/localization';
|
|
14
14
|
import { ContextMenu } from '@3mo/context-menu';
|
|
15
|
-
import { CsvGenerator,
|
|
15
|
+
import { CsvGenerator, DataGridColumnComponent, DataGridSidePanelTab } from './index.js';
|
|
16
16
|
import { DataGridSelectionController } from './DataGridSelectionController.js';
|
|
17
17
|
Localizer.register('en', {
|
|
18
18
|
'${count:pluralityNumber} entries selected': [
|
|
@@ -385,7 +385,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
385
385
|
:host {
|
|
386
386
|
--mo-data-grid-column-details-width: 20px;
|
|
387
387
|
--mo-data-grid-column-selection-width: 40px;
|
|
388
|
-
--mo-data-grid-column-more-width:
|
|
388
|
+
--mo-data-grid-column-more-width: 28px;
|
|
389
389
|
--mo-data-grid-cell-padding: 10px;
|
|
390
390
|
--mo-data-grid-header-height: 32px;
|
|
391
391
|
--mo-data-grid-footer-min-height: 40px;
|
|
@@ -675,25 +675,10 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
675
675
|
get sumsTemplate() {
|
|
676
676
|
return html `
|
|
677
677
|
<mo-flex direction='horizontal' gap='10px' wrap='wrap-reverse' alignItems='center' ${style({ padding: '2px 4px' })}>
|
|
678
|
-
${this.columns.map(
|
|
678
|
+
${this.columns.map(c => c.sumTemplate)}
|
|
679
679
|
</mo-flex>
|
|
680
680
|
`;
|
|
681
681
|
}
|
|
682
|
-
getSumTemplate(column) {
|
|
683
|
-
if (column.sumHeading === undefined || column.getSumTemplate === undefined) {
|
|
684
|
-
return;
|
|
685
|
-
}
|
|
686
|
-
const sum = this.sumsData
|
|
687
|
-
.map(data => parseFloat(getValueByKeyPath(data, column.dataSelector)))
|
|
688
|
-
.filter(n => isNaN(n) === false)
|
|
689
|
-
.reduce(((a, b) => a + b), 0)
|
|
690
|
-
|| 0;
|
|
691
|
-
return html `
|
|
692
|
-
<mo-data-grid-footer-sum heading=${column.sumHeading + ''} ${style({ color: this.selectedData.length > 0 ? 'var(--mo-color-accent)' : 'currentColor' })}>
|
|
693
|
-
${column.getSumTemplate(sum)}
|
|
694
|
-
</mo-data-grid-footer-sum>
|
|
695
|
-
`;
|
|
696
|
-
}
|
|
697
682
|
get toolbarTemplate() {
|
|
698
683
|
return this.hasToolbar === false ? html.nothing : html `
|
|
699
684
|
<mo-flex id='toolbar' direction='horizontal' gap='8px' wrap='wrap' justifyContent='end' alignItems='center'>
|
|
@@ -767,6 +752,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
767
752
|
this.detailsColumnWidth,
|
|
768
753
|
this.selectionColumnWidth,
|
|
769
754
|
...this.dataColumnsWidths,
|
|
755
|
+
'1fr',
|
|
770
756
|
this.moreColumnWidth
|
|
771
757
|
].filter((c) => c !== undefined);
|
|
772
758
|
}
|
|
@@ -791,14 +777,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
791
777
|
? this.sorting
|
|
792
778
|
: [this.sorting];
|
|
793
779
|
}
|
|
794
|
-
getSortingDefinition(column) {
|
|
795
|
-
const sorting = this.getSorting();
|
|
796
|
-
const definition = sorting.find(s => s.selector === (column.sortDataSelector || column.dataSelector));
|
|
797
|
-
return !definition ? undefined : {
|
|
798
|
-
...definition,
|
|
799
|
-
rank: sorting.indexOf(definition) + 1
|
|
800
|
-
};
|
|
801
|
-
}
|
|
802
780
|
*getFlattenedData() {
|
|
803
781
|
if (!this.subDataGridDataSelector) {
|
|
804
782
|
yield* this.data.map(d => ({ level: 0, data: d }));
|
|
@@ -859,13 +837,13 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
859
837
|
const assigned = this.columnsSlot.assignedElements().length > 0 ? Array.from(this.columnsSlot.assignedElements()) : undefined;
|
|
860
838
|
return Array.from(assigned ?? children ?? [])
|
|
861
839
|
.filter((c) => {
|
|
862
|
-
const isColumn = c instanceof
|
|
840
|
+
const isColumn = c instanceof DataGridColumnComponent;
|
|
863
841
|
if (isColumn) {
|
|
864
842
|
c.dataGrid = this;
|
|
865
843
|
}
|
|
866
844
|
return isColumn;
|
|
867
845
|
})
|
|
868
|
-
.map(c => c.
|
|
846
|
+
.map(c => c.column);
|
|
869
847
|
}
|
|
870
848
|
get autoGeneratedColumns() {
|
|
871
849
|
if (!this.dataLength) {
|
|
@@ -888,10 +866,10 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
888
866
|
.map(key => {
|
|
889
867
|
const columnElement = document.createElement(getDefaultColumnElement(getValueByKeyPath(sampleData, key)));
|
|
890
868
|
columnElement.heading = key.replace(/([A-Z])/g, ' $1').charAt(0).toUpperCase() + key.replace(/([A-Z])/g, ' $1').slice(1);
|
|
891
|
-
columnElement.dataGrid =
|
|
892
|
-
const
|
|
869
|
+
columnElement.dataGrid = this;
|
|
870
|
+
const column = columnElement.column;
|
|
893
871
|
columnElement.remove();
|
|
894
|
-
return
|
|
872
|
+
return column;
|
|
895
873
|
});
|
|
896
874
|
}
|
|
897
875
|
get visibleColumns() {
|
|
@@ -949,7 +927,12 @@ __decorate([
|
|
|
949
927
|
property({ type: Array })
|
|
950
928
|
], DataGrid.prototype, "data", void 0);
|
|
951
929
|
__decorate([
|
|
952
|
-
property({
|
|
930
|
+
property({
|
|
931
|
+
type: Array,
|
|
932
|
+
updated() {
|
|
933
|
+
this.columns.forEach(column => column.dataGrid = this);
|
|
934
|
+
}
|
|
935
|
+
})
|
|
953
936
|
], DataGrid.prototype, "columns", void 0);
|
|
954
937
|
__decorate([
|
|
955
938
|
property({ type: Boolean, reflect: true })
|
package/dist/DataGridCell.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, type HTMLTemplateResult } from '@a11d/lit';
|
|
2
2
|
import { FocusController } from '@3mo/focus-controller';
|
|
3
|
-
import { type
|
|
3
|
+
import { type DataGridColumn, type DataGridRow } from './index.js';
|
|
4
4
|
/**
|
|
5
5
|
* @element mo-data-grid-cell
|
|
6
6
|
*
|
|
@@ -10,7 +10,7 @@ import { type ColumnDefinition, type DataGridRow } from './index.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class DataGridCell<TValue extends KeyPathValueOf<TData>, TData = any, TDetailsElement extends Element | undefined = undefined> extends Component {
|
|
12
12
|
value: TValue;
|
|
13
|
-
column:
|
|
13
|
+
column: DataGridColumn<TData, TValue>;
|
|
14
14
|
row: DataGridRow<TData, TDetailsElement>;
|
|
15
15
|
private editing;
|
|
16
16
|
get dataGrid(): import("./DataGrid.js").DataGrid<TData, TDetailsElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../DataGridCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA6C,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGpH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../DataGridCell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA6C,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGpH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,cAAc,EAAuB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAOvF;;;;;;GAMG;AACH,qBACa,YAAY,CAAC,MAAM,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,CAAE,SAAQ,SAAS;IAC1H,KAAK,EAAG,MAAM,CAAA;IACd,MAAM,EAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACtC,GAAG,EAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IAQlE,OAAO,CAAC,OAAO,CAAQ;IAE1B,IAAI,QAAQ,6DAA+B;IAC3C,IAAI,IAAI,UAA2B;IACnC,IAAI,YAAY,+/CAAsC;IAEtD,OAAO,KAAK,SAAS,GAAkD;IACvE,OAAO,KAAK,QAAQ,GAA0D;IAE9E,OAAO,KAAK,gBAAgB,GAAuD;IAEnF,OAAO,KAAK,UAAU,GAIrB;IAED,IAAI,SAAS,YAGZ;IAED,SAAS,CAAC,QAAQ,CAAC,eAAe,kBAA4B;IAG9D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY;IAO/C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU;cAQ7B,aAAa,CAAC,KAAK,EAAE,aAAa;IA2ClD,OAAO,CAAC,SAAS;IAWjB,WAAoB,MAAM,kCA2CzB;IAED,OAAO,KAAK,OAAO,GAAmC;IAEtD,cAAuB,QAAQ,uBAU9B;IAED,OAAO,KAAK,eAAe,GAK1B;IAED,OAAO,KAAK,mBAAmB,GAE9B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAC1C;CACD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type HTMLTemplateResult } from '@a11d/lit';
|
|
2
|
+
import type { DataGrid, DataGridSortingDefinition } from './index.js';
|
|
3
|
+
import type * as CSS from 'csstype';
|
|
4
|
+
export type DataGridColumnAlignment = 'start' | 'center' | 'end';
|
|
5
|
+
export type DataGridRankedSortDefinition<TData> = DataGridSortingDefinition<TData> & {
|
|
6
|
+
rank: number;
|
|
7
|
+
};
|
|
8
|
+
export declare class DataGridColumn<TData, TValue = unknown> {
|
|
9
|
+
dataGrid?: DataGrid<TData, any>;
|
|
10
|
+
dataSelector: KeyPathOf<TData>;
|
|
11
|
+
heading: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
width: CSS.DataType.TrackBreadth<(string & {}) | 0>;
|
|
14
|
+
alignment: DataGridColumnAlignment;
|
|
15
|
+
hidden: boolean;
|
|
16
|
+
sortable: boolean;
|
|
17
|
+
private _sortDataSelector?;
|
|
18
|
+
get sortDataSelector(): object extends TData ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends TData[T] ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends TData[T_4] ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never;
|
|
19
|
+
set sortDataSelector(value: object extends TData ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends TData[T] ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends TData[T_4] ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never);
|
|
20
|
+
getContentTemplate?(value: TValue, data: TData): HTMLTemplateResult;
|
|
21
|
+
editable: boolean | Predicate<TData>;
|
|
22
|
+
getEditContentTemplate?(value: TValue, data: TData): HTMLTemplateResult;
|
|
23
|
+
sumHeading?: string;
|
|
24
|
+
getSumTemplate?(sum: number): HTMLTemplateResult;
|
|
25
|
+
constructor(column: Partial<DataGridColumn<TData, TValue>>);
|
|
26
|
+
get sortingDefinition(): DataGridRankedSortDefinition<TData> | undefined;
|
|
27
|
+
get sumTemplate(): HTMLTemplateResult | undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=DataGridColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,KAAK,KAAK,GAAG,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhE,MAAM,MAAM,4BAA4B,CAAC,KAAK,IAAI,yBAAyB,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAErG,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAE/B,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IACnE,SAAS,EAAE,uBAAuB,CAAU;IAC5C,MAAM,UAAQ;IAEd,QAAQ,UAAO;IAEf,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,IAAI,iBAAiB,oDAUpB;IAED,IAAI,WAAW,mCAgBd;CACD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { html, style } from '@a11d/lit';
|
|
2
|
+
export class DataGridColumn {
|
|
3
|
+
get sortDataSelector() { return this._sortDataSelector || this.dataSelector; }
|
|
4
|
+
set sortDataSelector(value) { this._sortDataSelector = value; }
|
|
5
|
+
constructor(column) {
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
7
|
+
this.width = 'max-content';
|
|
8
|
+
this.alignment = 'start';
|
|
9
|
+
this.hidden = false;
|
|
10
|
+
this.sortable = true;
|
|
11
|
+
this.editable = false;
|
|
12
|
+
Object.assign(this, column);
|
|
13
|
+
}
|
|
14
|
+
get sortingDefinition() {
|
|
15
|
+
if (!this.dataGrid) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const sorting = this.dataGrid.getSorting();
|
|
19
|
+
const definition = sorting.find(s => s.selector === this.sortDataSelector);
|
|
20
|
+
return !definition ? undefined : {
|
|
21
|
+
...definition,
|
|
22
|
+
rank: sorting.indexOf(definition) + 1
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
get sumTemplate() {
|
|
26
|
+
if (!this.dataGrid || this.sumHeading === undefined || this.getSumTemplate === undefined) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const sum = this.dataGrid.sumsData
|
|
30
|
+
.map(data => parseFloat(getValueByKeyPath(data, this.dataSelector)))
|
|
31
|
+
.filter(n => isNaN(n) === false)
|
|
32
|
+
.reduce(((a, b) => a + b), 0)
|
|
33
|
+
|| 0;
|
|
34
|
+
return html `
|
|
35
|
+
<mo-data-grid-footer-sum heading=${this.sumHeading || ''} ${style({ color: this.dataGrid.selectedData.length > 0 ? 'var(--mo-color-accent)' : 'currentColor' })}>
|
|
36
|
+
${this.getSumTemplate(sum)}
|
|
37
|
+
</mo-data-grid-footer-sum>
|
|
38
|
+
`;
|
|
39
|
+
}
|
|
40
|
+
}
|
package/dist/DataGridHeader.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class DataGridHeader<TData> extends Component {
|
|
|
16
16
|
private get selectionTemplate();
|
|
17
17
|
private get contentTemplate();
|
|
18
18
|
private readonly getHeaderCellTemplate;
|
|
19
|
+
private get fillerTemplate();
|
|
19
20
|
private get moreTemplate();
|
|
20
21
|
private sort;
|
|
21
22
|
private toggleAllDetails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAgD,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAgD,MAAM,WAAW,CAAA;AAI9F,OAAO,EAAuE,KAAK,QAAQ,EAAwB,MAAM,YAAY,CAAA;AAErI,qBACa,cAAc,CAAC,KAAK,CAAE,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,mBAAmB,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEnC,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/C,SAAS,EAAE,iBAAiB,CAAQ;IACJ,WAAW,UAAQ;cAE5C,SAAS;cAKT,YAAY;IAK/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;IAED,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAQ7C;IAED,WAAoB,MAAM,kCA+CzB;IAED,cAAuB,QAAQ,0CAQ9B;IAED,OAAO,KAAK,uBAAuB,GAYlC;IAED,OAAO,KAAK,iBAAiB,GAQ5B;IAED,OAAO,KAAK,eAAe,GAI1B;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CA2BrC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,YAAY,GAUvB;IAED,OAAO,CAAC,IAAI;IAoCZ,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAOrC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;KAC9C;CACD"}
|
package/dist/DataGridHeader.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { component, Component, css, html, ifDefined, property, event, style } from '@a11d/lit';
|
|
3
3
|
import { KeyboardController } from '@3mo/keyboard-controller';
|
|
4
|
+
import { tooltip } from '@3mo/tooltip';
|
|
4
5
|
import { DataGridSelectionMode, DataGridSortingStrategy, DataGridSidePanelTab } from './index.js';
|
|
5
6
|
let DataGridHeader = class DataGridHeader extends Component {
|
|
6
7
|
constructor() {
|
|
@@ -22,7 +23,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
22
23
|
}
|
|
23
24
|
};
|
|
24
25
|
this.getHeaderCellTemplate = (column, index) => {
|
|
25
|
-
const sortingDefinition =
|
|
26
|
+
const sortingDefinition = column.sortingDefinition;
|
|
26
27
|
const sortIcon = !sortingDefinition ? undefined : sortingDefinition.strategy === DataGridSortingStrategy.Ascending ? 'arrow_upward' : 'arrow_downward';
|
|
27
28
|
const sortingRank = !sortingDefinition || this.dataGrid.getSorting().length <= 1 ? undefined : sortingDefinition.rank;
|
|
28
29
|
return html `
|
|
@@ -31,7 +32,10 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
31
32
|
${style({ overflow: 'hidden', cursor: 'pointer', flex: '1' })}
|
|
32
33
|
@click=${() => this.sort(column)}
|
|
33
34
|
>
|
|
34
|
-
<div class='headerContent'
|
|
35
|
+
<div class='headerContent'
|
|
36
|
+
${style({ width: '100%', textAlign: column.alignment })}
|
|
37
|
+
${!column.description ? html.nothing : tooltip(column.description)}
|
|
38
|
+
>${column.heading}</div>
|
|
35
39
|
|
|
36
40
|
${sortIcon === undefined ? html.nothing : html `
|
|
37
41
|
${!sortingRank ? html.nothing : html `<span class='sort-rank'>${sortingRank}</span>`}
|
|
@@ -116,6 +120,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
116
120
|
${this.detailsExpanderTemplate}
|
|
117
121
|
${this.selectionTemplate}
|
|
118
122
|
${this.contentTemplate}
|
|
123
|
+
${this.fillerTemplate}
|
|
119
124
|
${this.moreTemplate}
|
|
120
125
|
`;
|
|
121
126
|
}
|
|
@@ -146,6 +151,9 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
146
151
|
${this.dataGrid.visibleColumns.map(this.getHeaderCellTemplate)}
|
|
147
152
|
`;
|
|
148
153
|
}
|
|
154
|
+
get fillerTemplate() {
|
|
155
|
+
return html `<span></span>`;
|
|
156
|
+
}
|
|
149
157
|
get moreTemplate() {
|
|
150
158
|
return this.dataGrid.hasToolbar || this.dataGrid.sidePanelHidden ? html.nothing : html `
|
|
151
159
|
<mo-flex alignItems='end' justifyContent='center'
|
|
@@ -162,8 +170,8 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
162
170
|
return;
|
|
163
171
|
}
|
|
164
172
|
const defaultSortingStrategy = DataGridSortingStrategy.Descending;
|
|
165
|
-
const sortDataSelector = column.sortDataSelector
|
|
166
|
-
const sortingDefinition =
|
|
173
|
+
const sortDataSelector = column.sortDataSelector;
|
|
174
|
+
const sortingDefinition = column.sortingDefinition;
|
|
167
175
|
if (KeyboardController.shift || KeyboardController.meta || KeyboardController.ctrl) {
|
|
168
176
|
const sortings = this.dataGrid.getSorting();
|
|
169
177
|
if (sortingDefinition?.selector !== sortDataSelector) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component } from '@a11d/lit';
|
|
2
|
-
import { type
|
|
2
|
+
import { type DataGridColumn, type DataGrid } from './index.js';
|
|
3
3
|
export declare class DataGridHeaderSeparator extends Component {
|
|
4
4
|
dataGrid: DataGrid<unknown>;
|
|
5
|
-
column:
|
|
5
|
+
column: DataGridColumn<unknown>;
|
|
6
6
|
private isResizing;
|
|
7
7
|
private pointerInlineStart;
|
|
8
8
|
private readonly minimum;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeaderSeparator.d.ts","sourceRoot":"","sources":["../DataGridHeaderSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+D,MAAM,WAAW,CAAA;AAClG,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"DataGridHeaderSeparator.d.ts","sourceRoot":"","sources":["../DataGridHeaderSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+D,MAAM,WAAW,CAAA;AAClG,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qBACa,uBAAwB,SAAQ,SAAS;IACzB,QAAQ,EAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAI;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,WAAoB,MAAM,kCA8CzB;IAED,cAAuB,QAAQ,0CAU9B;IAGD,SAAS,CAAC,eAAe;IAczB,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU;IAmBxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIjC;IAED,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIjC;IAED,OAAO,CAAC,cAAc;CAmBtB;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,+BAA+B,EAAE,uBAAuB,CAAA;KACxD;CACD"}
|
|
@@ -109,7 +109,7 @@ let DataGridHeaderSeparator = class DataGridHeaderSeparator extends Component {
|
|
|
109
109
|
if (column.hidden === true) {
|
|
110
110
|
return 0;
|
|
111
111
|
}
|
|
112
|
-
column.width
|
|
112
|
+
column.width ?? (column.width = 'max-content');
|
|
113
113
|
const columnIndex = this.dataGrid.visibleColumns.findIndex(c => c === this.column);
|
|
114
114
|
const targetColumnIndex = this.dataGrid.visibleColumns.findIndex(c => c === column);
|
|
115
115
|
let targetColumn = this.previousElementSibling;
|
|
@@ -3,11 +3,11 @@ import { component, css } from '@a11d/lit';
|
|
|
3
3
|
import { ContextMenuItem } from '@3mo/context-menu';
|
|
4
4
|
let DataGridPrimaryContextMenuItem = class DataGridPrimaryContextMenuItem extends ContextMenuItem {
|
|
5
5
|
static get styles() {
|
|
6
|
-
return css `
|
|
7
|
-
${super.styles}
|
|
8
|
-
:host {
|
|
9
|
-
font-weight: bold;
|
|
10
|
-
}
|
|
6
|
+
return css `
|
|
7
|
+
${super.styles}
|
|
8
|
+
:host {
|
|
9
|
+
font-weight: bold;
|
|
10
|
+
}
|
|
11
11
|
`;
|
|
12
12
|
}
|
|
13
13
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type MaterialIcon } from '@3mo/icon';
|
|
2
|
-
import {
|
|
2
|
+
import { DataGridColumnComponent } from './DataGridColumnComponent.js';
|
|
3
3
|
/**
|
|
4
4
|
* @element mo-data-grid-column-boolean
|
|
5
5
|
*
|
|
@@ -8,7 +8,7 @@ import { DataGridColumn } from './DataGridColumn.js';
|
|
|
8
8
|
* @attr trueIconColor - Color of the true icon
|
|
9
9
|
* @attr falseIconColor - Color of the false icon
|
|
10
10
|
*/
|
|
11
|
-
export declare class DataGridColumnBoolean<TData> extends
|
|
11
|
+
export declare class DataGridColumnBoolean<TData> extends DataGridColumnComponent<TData, boolean> {
|
|
12
12
|
trueIcon: MaterialIcon;
|
|
13
13
|
falseIcon: MaterialIcon;
|
|
14
14
|
trueIconColor: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnBoolean.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnBoolean.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DataGridColumnBoolean.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnBoolean.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE;;;;;;;GAOG;AACH,qBACa,qBAAqB,CAAC,KAAK,CAAE,SAAQ,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC;IAC5E,QAAQ,EAAE,YAAY,CAAS;IAC/B,SAAS,EAAE,YAAY,CAAU;IAEjC,aAAa,SAA2B;IACxC,cAAc,SAAyB;IAGnD,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK;IAQ3D,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;CAQ9D;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC7D;CACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { component, html, property, style } from '@a11d/lit';
|
|
3
|
-
import {
|
|
3
|
+
import { DataGridColumnComponent } from './DataGridColumnComponent.js';
|
|
4
4
|
/**
|
|
5
5
|
* @element mo-data-grid-column-boolean
|
|
6
6
|
*
|
|
@@ -9,7 +9,7 @@ import { DataGridColumn } from './DataGridColumn.js';
|
|
|
9
9
|
* @attr trueIconColor - Color of the true icon
|
|
10
10
|
* @attr falseIconColor - Color of the false icon
|
|
11
11
|
*/
|
|
12
|
-
let DataGridColumnBoolean = class DataGridColumnBoolean extends
|
|
12
|
+
let DataGridColumnBoolean = class DataGridColumnBoolean extends DataGridColumnComponent {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
15
|
this.trueIcon = 'done';
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { Component, type HTMLTemplateResult } from '@a11d/lit';
|
|
2
2
|
import { DataGrid } from '../DataGrid.js';
|
|
3
|
-
import
|
|
3
|
+
import { DataGridColumn, type DataGridColumnAlignment } from '../DataGridColumn.js';
|
|
4
4
|
/**
|
|
5
5
|
* @attr width - The width of the column
|
|
6
6
|
* @attr hidden - Whether the column is hidden. The column can be made visible by the user in the settings panel if available.
|
|
7
7
|
* @attr heading - The heading of the column
|
|
8
8
|
* @attr textAlign - The text alignment of the column
|
|
9
|
-
* @attr
|
|
9
|
+
* @attr description - The description of the column. It will be displayed as a tooltip on the heading.
|
|
10
10
|
* @attr dataSelector - The data selector of the column
|
|
11
11
|
* @attr sortDataSelector - The data selector of the column
|
|
12
12
|
* @attr nonSortable - Whether the column is sortable
|
|
13
13
|
* @attr nonEditable - Whether the column is editable
|
|
14
14
|
*/
|
|
15
|
-
export declare abstract class
|
|
15
|
+
export declare abstract class DataGridColumnComponent<TData, TValue> extends Component {
|
|
16
16
|
static readonly regex: RegExp;
|
|
17
17
|
private static getProportion;
|
|
18
18
|
dataGrid?: DataGrid<TData, any> | undefined;
|
|
19
19
|
width: string;
|
|
20
20
|
hidden: boolean;
|
|
21
21
|
heading: string;
|
|
22
|
+
description?: string;
|
|
22
23
|
textAlign: DataGridColumnAlignment;
|
|
23
|
-
title: string;
|
|
24
24
|
dataSelector: KeyPathOf<TData>;
|
|
25
25
|
sortDataSelector?: KeyPathOf<TData>;
|
|
26
26
|
nonSortable: boolean;
|
|
27
27
|
nonEditable: boolean | Predicate<TData>;
|
|
28
|
-
get
|
|
28
|
+
get column(): DataGridColumn<TData, TValue>;
|
|
29
29
|
abstract getContentTemplate(value: TValue | undefined, data: TData): HTMLTemplateResult;
|
|
30
30
|
abstract getEditContentTemplate?(value: TValue | undefined, data: TData): HTMLTemplateResult;
|
|
31
31
|
protected handleEdit(value: TValue | undefined, data: TData): void;
|
|
32
32
|
connectedCallback(): void;
|
|
33
33
|
protected updated(): void;
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=DataGridColumnComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridColumnComponent.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAEnF;;;;;;;;;;GAUG;AACH,8BAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAE,SAAQ,SAAS;IAC7E,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAkC;IAEvD,OAAO,CAAC,MAAM,CAAC,aAAa;IAIA,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IAE3D,KAAK,SAAgB;IACK,MAAM,UAAQ;IACvB,OAAO,SAAK;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,uBAAuB,CAAU;IAC5C,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACpB,WAAW,UAAQ;IAO5D,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAElD,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAe1C;IAED,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IACvF,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAE5F,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAIlD,iBAAiB;cAOP,OAAO;CAI1B"}
|