@3mo/data-grid 0.10.7 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DataGrid.d.ts +5 -3
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +12 -16
- package/dist/DataGridColumn.d.ts +2 -0
- package/dist/DataGridColumn.d.ts.map +1 -1
- package/dist/DataGridCsvController.d.ts +24 -0
- package/dist/DataGridCsvController.d.ts.map +1 -0
- package/dist/DataGridCsvController.js +77 -0
- package/dist/DataGridFooter.d.ts.map +1 -1
- package/dist/DataGridFooter.js +70 -25
- package/dist/columns/DataGridColumnBoolean.d.ts +1 -0
- package/dist/columns/DataGridColumnBoolean.d.ts.map +1 -1
- package/dist/columns/DataGridColumnBoolean.js +3 -0
- package/dist/columns/DataGridColumnComponent.d.ts +2 -0
- package/dist/columns/DataGridColumnComponent.d.ts.map +1 -1
- package/dist/columns/DataGridColumnComponent.js +9 -0
- package/dist/columns/DataGridColumnImage.d.ts +2 -0
- package/dist/columns/DataGridColumnImage.d.ts.map +1 -1
- package/dist/columns/DataGridColumnImage.js +12 -5
- package/dist/columns/date-time/DataGridColumnDate.d.ts +1 -0
- package/dist/columns/date-time/DataGridColumnDate.d.ts.map +1 -1
- package/dist/columns/date-time/DataGridColumnDate.js +3 -0
- package/dist/columns/date-time/DataGridColumnDateTime.d.ts +1 -0
- package/dist/columns/date-time/DataGridColumnDateTime.d.ts.map +1 -1
- package/dist/columns/date-time/DataGridColumnDateTime.js +3 -0
- package/dist/columns/number/DataGridColumnCurrency.d.ts +2 -0
- package/dist/columns/number/DataGridColumnCurrency.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnCurrency.js +12 -1
- package/dist/columns/number/DataGridColumnPercent.d.ts +1 -0
- package/dist/columns/number/DataGridColumnPercent.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnPercent.js +3 -0
- package/dist/custom-elements.json +9 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/CsvGenerator.d.ts +0 -5
- package/dist/CsvGenerator.d.ts.map +0 -1
- package/dist/CsvGenerator.js +0 -26
- package/dist/excel.svg.d.ts +0 -3
- package/dist/excel.svg.d.ts.map +0 -1
- package/dist/excel.svg.js +0 -48
package/dist/DataGrid.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { DataGridColumnsController } from './DataGridColumnsController.js';
|
|
|
8
8
|
import { DataGridSelectionBehaviorOnDataChange, DataGridSelectionController, DataGridSelectionMode } from './DataGridSelectionController.js';
|
|
9
9
|
import { DataGridSortingController, type DataGridRankedSortDefinition, type DataGridSorting } from './DataGridSortingController.js';
|
|
10
10
|
import { DataGridDetailsController } from './DataGridDetailsController.js';
|
|
11
|
-
import { DataGridSidePanelTab, type DataGridColumn, type DataGridCell, type DataGridRow, DataGridContextMenuController } from './index.js';
|
|
11
|
+
import { DataGridCsvController, DataGridSidePanelTab, type DataGridColumn, type DataGridCell, type DataGridRow, DataGridContextMenuController } from './index.js';
|
|
12
12
|
import { DataRecord } from './DataRecord.js';
|
|
13
13
|
export type DataGridPagination = 'auto' | number;
|
|
14
14
|
export declare enum DataGridEditability {
|
|
@@ -149,6 +149,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
149
149
|
unsort(...parameters: Parameters<typeof this.sortingController.reset>): void;
|
|
150
150
|
setColumns(...parameters: Parameters<typeof this.columnsController.setColumns>): void;
|
|
151
151
|
extractColumns(...parameters: Parameters<typeof this.columnsController.extractColumns>): void;
|
|
152
|
+
generateCsv(...parameters: Parameters<typeof this.csvController.generateCsv>): Promise<void>;
|
|
152
153
|
get extractedColumns(): DataGridColumn<TData, unknown>[];
|
|
153
154
|
extractedColumnsUpdated(extractedColumns: Array<DataGridColumn<TData, TDetailsElement>>): void;
|
|
154
155
|
get visibleColumns(): DataGridColumn<TData, unknown>[];
|
|
@@ -156,7 +157,6 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
156
157
|
getCell(data: TData, column: DataGridColumn<TData, unknown>): DataGridCell<any, TData, TDetailsElement> | undefined;
|
|
157
158
|
handleEdit(data: TData, column: DataGridColumn<TData, unknown>, value: KeyPathValueOf<TData, KeyPathOf<TData>> | undefined): void;
|
|
158
159
|
navigateToSidePanelTab(tab?: DataGridSidePanelTab): void;
|
|
159
|
-
exportExcelFile(): void;
|
|
160
160
|
get hasContextMenu(): boolean;
|
|
161
161
|
get toolbarElements(): Element[];
|
|
162
162
|
get filterElements(): Element[];
|
|
@@ -180,6 +180,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
180
180
|
readonly sortingController: DataGridSortingController<TData>;
|
|
181
181
|
readonly contextMenuController: DataGridContextMenuController<TData>;
|
|
182
182
|
readonly detailsController: DataGridDetailsController<TData>;
|
|
183
|
+
readonly csvController: DataGridCsvController<TData>;
|
|
183
184
|
readonly rowIntersectionObserver?: IntersectionObserver;
|
|
184
185
|
protected updated(...parameters: Parameters<Component['updated']>): void;
|
|
185
186
|
private navigateToLastValidPageIfNeeded;
|
|
@@ -212,11 +213,12 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
212
213
|
private lastScrollElementTop;
|
|
213
214
|
private handleScroll;
|
|
214
215
|
protected handlePointerDown(event: PointerEvent): void;
|
|
215
|
-
|
|
216
|
+
protected getFlattenedData(values?: TData[]): Generator<DataRecord<TData>, void, undefined>;
|
|
216
217
|
get dataRecords(): Array<DataRecord<TData>>;
|
|
217
218
|
get renderDataRecords(): DataRecord<TData>[];
|
|
218
219
|
protected get dataSkip(): number;
|
|
219
220
|
protected get dataTake(): number;
|
|
221
|
+
getCsvData(): AsyncGenerator<number, DataRecord<TData>[], unknown>;
|
|
220
222
|
}
|
|
221
223
|
declare global {
|
|
222
224
|
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,EAA+B,KAAK,cAAc,EAAqC,KAAK,kBAAkB,EAAwD,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../DataGrid.ts"],"names":[],"mappings":"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"}
|
package/dist/DataGrid.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
var DataGrid_1;
|
|
2
2
|
import { __decorate } from "tslib";
|
|
3
3
|
import { property, component, Component, html, css, query, ifDefined, event, style, literal, staticHtml, cache, eventOptions, queryAll, repeat, eventListener } from '@a11d/lit';
|
|
4
|
-
import { NotificationComponent } from '@a11d/lit-application';
|
|
5
4
|
import { LocalStorage } from '@a11d/local-storage';
|
|
6
5
|
import { InstanceofAttributeController } from '@3mo/instanceof-attribute-controller';
|
|
7
6
|
import { SlotController } from '@3mo/slot-controller';
|
|
@@ -14,10 +13,9 @@ import { DataGridColumnsController } from './DataGridColumnsController.js';
|
|
|
14
13
|
import { DataGridSelectionBehaviorOnDataChange, DataGridSelectionController, DataGridSelectionMode } from './DataGridSelectionController.js';
|
|
15
14
|
import { DataGridSortingController } from './DataGridSortingController.js';
|
|
16
15
|
import { DataGridDetailsController } from './DataGridDetailsController.js';
|
|
17
|
-
import {
|
|
16
|
+
import { DataGridCsvController, DataGridSidePanelTab, DataGridContextMenuController } from './index.js';
|
|
18
17
|
import { DataRecord } from './DataRecord.js';
|
|
19
18
|
Localizer.dictionaries.add('de', {
|
|
20
|
-
'Exporting excel file': 'Die Excel-Datei wird exportiert',
|
|
21
19
|
'No results': 'Kein Ergebnis',
|
|
22
20
|
'More Filters': 'Weitere Filter',
|
|
23
21
|
});
|
|
@@ -126,6 +124,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
126
124
|
this.sortingController = new DataGridSortingController(this);
|
|
127
125
|
this.contextMenuController = new DataGridContextMenuController(this);
|
|
128
126
|
this.detailsController = new DataGridDetailsController(this);
|
|
127
|
+
this.csvController = new DataGridCsvController(this);
|
|
129
128
|
this.splitterResizerTemplate = html `
|
|
130
129
|
<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>
|
|
131
130
|
`;
|
|
@@ -189,6 +188,9 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
189
188
|
extractColumns(...parameters) {
|
|
190
189
|
return this.columnsController.extractColumns(...parameters);
|
|
191
190
|
}
|
|
191
|
+
generateCsv(...parameters) {
|
|
192
|
+
return this.csvController.generateCsv(...parameters);
|
|
193
|
+
}
|
|
192
194
|
get extractedColumns() {
|
|
193
195
|
return this.columnsController.extractedColumns;
|
|
194
196
|
}
|
|
@@ -218,16 +220,6 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
218
220
|
this.sidePanelTab = tab;
|
|
219
221
|
!tab ? this.sidePanelClose.dispatch() : this.sidePanelOpen.dispatch(tab);
|
|
220
222
|
}
|
|
221
|
-
exportExcelFile() {
|
|
222
|
-
try {
|
|
223
|
-
CsvGenerator.generate(this);
|
|
224
|
-
NotificationComponent.notifyInfo(t('Exporting excel file'));
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
NotificationComponent.notifyError(error.message);
|
|
228
|
-
throw error;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
223
|
get hasContextMenu() {
|
|
232
224
|
return this.contextMenuController.hasContextMenu;
|
|
233
225
|
}
|
|
@@ -633,9 +625,9 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
633
625
|
handlePointerDown(event) {
|
|
634
626
|
this.rows.forEach(row => row.cells.forEach(cell => cell.handlePointerDown(event)));
|
|
635
627
|
}
|
|
636
|
-
*getFlattenedData() {
|
|
628
|
+
*getFlattenedData(values = this.data) {
|
|
637
629
|
if (!this.subDataGridDataSelector) {
|
|
638
|
-
yield* this.sortingController.toSortedBy(
|
|
630
|
+
yield* this.sortingController.toSortedBy(values.map((data, index) => new DataRecord(this, { level: 0, index, data })), ({ data }) => data);
|
|
639
631
|
return;
|
|
640
632
|
}
|
|
641
633
|
const flatten = (data, level = 0) => {
|
|
@@ -650,7 +642,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
650
642
|
...(subDataRecords ?? [])
|
|
651
643
|
];
|
|
652
644
|
};
|
|
653
|
-
for (const data of this.sortingController.toSorted(
|
|
645
|
+
for (const data of this.sortingController.toSorted(values)) {
|
|
654
646
|
yield* flatten(data);
|
|
655
647
|
}
|
|
656
648
|
return;
|
|
@@ -678,6 +670,10 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
678
670
|
get dataTake() {
|
|
679
671
|
return this.pageSize;
|
|
680
672
|
}
|
|
673
|
+
async *getCsvData() {
|
|
674
|
+
yield 1;
|
|
675
|
+
return this.dataRecords;
|
|
676
|
+
}
|
|
681
677
|
};
|
|
682
678
|
DataGrid.rowHeight = new LocalStorage('DataGrid.RowHeight', 35);
|
|
683
679
|
DataGrid.cellRelativeFontSize = new LocalStorage('DataGrid.CellRelativeFontSize', 0.8);
|
package/dist/DataGridColumn.d.ts
CHANGED
|
@@ -34,5 +34,7 @@ export declare class DataGridColumn<TData, TValue = unknown> {
|
|
|
34
34
|
get sortingDefinition(): import("./DataGridSortingController.js").DataGridRankedSortDefinition<TData> | undefined;
|
|
35
35
|
get sumTemplate(): HTMLTemplateResult | undefined;
|
|
36
36
|
get stickyColumnInsetInline(): string;
|
|
37
|
+
generateCsvHeading?(): Generator<string>;
|
|
38
|
+
generateCsvValue?(value: TValue, data: TData): Generator<string>;
|
|
37
39
|
}
|
|
38
40
|
//# sourceMappingURL=DataGridColumn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,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;IAEpB,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,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMpD,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IAIzD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,IAAI,aAAa,WAAsC;IACvD,IAAI,aAAa,CAAC,KAAK,QAAA,EAGtB;IAED,OAAO,CAAC,aAAa,CAAQ;IAC7B,IAAI,YAAY,YAAgC;IAChD,IAAI,YAAY,CAAC,KAAK,SAAA,EAGrB;IAED,IAAI,iBAAiB,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,WA2B1B;
|
|
1
|
+
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,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;IAEpB,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,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMpD,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IAIzD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,IAAI,aAAa,WAAsC;IACvD,IAAI,aAAa,CAAC,KAAK,QAAA,EAGtB;IAED,OAAO,CAAC,aAAa,CAAQ;IAC7B,IAAI,YAAY,YAAgC;IAChD,IAAI,YAAY,CAAC,KAAK,SAAA,EAGrB;IAED,IAAI,iBAAiB,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,WA2B1B;IAED,kBAAkB,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;IACxC,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;CAChE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type DataRecord } from './DataRecord.js';
|
|
2
|
+
import { type DataGridColumn } from './DataGridColumn.js';
|
|
3
|
+
interface Host<TData> {
|
|
4
|
+
/**
|
|
5
|
+
* Gets the entire data set to be exported as CSV.
|
|
6
|
+
* This can yield numbers in between to indicate progress for large data sets.
|
|
7
|
+
*/
|
|
8
|
+
getCsvData(): AsyncGenerator<number, Array<DataRecord<TData>>>;
|
|
9
|
+
get visibleColumns(): Array<DataGridColumn<TData>>;
|
|
10
|
+
requestUpdate(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class DataGridCsvController<TData> {
|
|
13
|
+
protected readonly host: Host<TData>;
|
|
14
|
+
static sanitize(value: string): string;
|
|
15
|
+
static download(data: string): Promise<void>;
|
|
16
|
+
constructor(host: Host<TData>);
|
|
17
|
+
private _progress?;
|
|
18
|
+
get generationProgress(): number | undefined;
|
|
19
|
+
private set generationProgress(value);
|
|
20
|
+
get isGenerating(): boolean;
|
|
21
|
+
generateCsv(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=DataGridCsvController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridCsvController.d.ts","sourceRoot":"","sources":["../DataGridCsvController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,UAAU,IAAI,CAAC,KAAK;IACnB;;;OAGG;IACH,UAAU,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,aAAa,IAAI,IAAI,CAAA;CACrB;AAED,qBAAa,qBAAqB,CAAC,KAAK;IAwB3B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IAvBhD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;WAYhB,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAWH,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IAEhD,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,IAAI,kBAAkB,IACgB,MAAM,GAAG,SAAS,CADN;IAClD,OAAO,KAAK,kBAAkB,QAG7B;IAED,IAAI,YAAY,YAA0C;IAEpD,WAAW;CAoDjB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Downloader } from '@3mo/downloader';
|
|
2
|
+
import { NotificationComponent } from '@a11d/lit-application';
|
|
3
|
+
export class DataGridCsvController {
|
|
4
|
+
static sanitize(value) {
|
|
5
|
+
if (typeof value !== 'string') {
|
|
6
|
+
value = String(value);
|
|
7
|
+
}
|
|
8
|
+
if (value.includes(',')) {
|
|
9
|
+
value = `"${value.replaceAll('"', '""')}"`;
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
static async download(data) {
|
|
14
|
+
const fileName = [
|
|
15
|
+
document.title.split(' | ')[0],
|
|
16
|
+
new Date().toISOString().replace(/[-:.T]/g, '').slice(0, 14),
|
|
17
|
+
].filter(Boolean).join('_');
|
|
18
|
+
Downloader.download(`data:text/csv;charset=utf-8,${encodeURIComponent(data)}`, `${fileName}.csv`);
|
|
19
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
20
|
+
}
|
|
21
|
+
constructor(host) {
|
|
22
|
+
this.host = host;
|
|
23
|
+
}
|
|
24
|
+
get generationProgress() { return this._progress; }
|
|
25
|
+
set generationProgress(value) {
|
|
26
|
+
this._progress = value;
|
|
27
|
+
this.host.requestUpdate();
|
|
28
|
+
}
|
|
29
|
+
get isGenerating() { return this._progress !== undefined; }
|
|
30
|
+
async generateCsv() {
|
|
31
|
+
if (this.isGenerating) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.generationProgress = 0;
|
|
35
|
+
try {
|
|
36
|
+
const dataRecords = new Array();
|
|
37
|
+
const asyncIterator = this.host.getCsvData();
|
|
38
|
+
// eslint-disable-next-line no-constant-condition
|
|
39
|
+
while (true) {
|
|
40
|
+
const { done, value } = await asyncIterator.next();
|
|
41
|
+
if (done) {
|
|
42
|
+
dataRecords.push(...value);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
this.generationProgress = value;
|
|
46
|
+
}
|
|
47
|
+
const maxLevel = Math.max(...dataRecords.map(d => d.level));
|
|
48
|
+
const [firstHeading, ...otherHeadings] = this.host.visibleColumns.flatMap(c => [...c.generateCsvHeading?.() ?? []].map(DataGridCsvController.sanitize));
|
|
49
|
+
const rows = [
|
|
50
|
+
[firstHeading, ...Array.from({ length: maxLevel }).fill(firstHeading), ...otherHeadings],
|
|
51
|
+
...dataRecords.map(d => {
|
|
52
|
+
const nestedPadding = Array.from({ length: d.level }).fill('');
|
|
53
|
+
const childrenPadding = Array.from({ length: maxLevel - d.level }).fill('');
|
|
54
|
+
const [first, ...rest] = this.host.visibleColumns
|
|
55
|
+
.flatMap(column => {
|
|
56
|
+
const value = getValueByKeyPath(d.data, column.dataSelector);
|
|
57
|
+
return [...column.generateCsvValue?.(value, d.data) ?? []].map(DataGridCsvController.sanitize);
|
|
58
|
+
});
|
|
59
|
+
return [
|
|
60
|
+
...nestedPadding,
|
|
61
|
+
first,
|
|
62
|
+
...childrenPadding,
|
|
63
|
+
...rest
|
|
64
|
+
];
|
|
65
|
+
})
|
|
66
|
+
];
|
|
67
|
+
const csvContent = rows.map(row => row.join(',')).join('\n');
|
|
68
|
+
await DataGridCsvController.download(csvContent);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
NotificationComponent.notifyAndThrowError(error.message);
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
this.generationProgress = undefined;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridFooter.d.ts","sourceRoot":"","sources":["../DataGridFooter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,
|
|
1
|
+
{"version":3,"file":"DataGridFooter.d.ts","sourceRoot":"","sources":["../DataGridFooter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAA6C,MAAM,WAAW,CAAA;AAIrG,OAAO,EAAE,KAAK,QAAQ,EAA2B,MAAM,YAAY,CAAA;AAcnE;;;;GAIG;AACH,qBACa,cAAc,CAAC,KAAK,CAAE,SAAQ,SAAS;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAoE;IAEzE,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAE/B,IAAI,SAAI;IAWjC,OAAO,CAAC,gBAAgB,CAAQ;IAET,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAExE,WAAoB,MAAM,kCA8GzB;IAED,cAAuB,QAAQ,0CAe9B;IAED,OAAO,KAAK,kBAAkB,GA0C7B;IAED,OAAO,KAAK,sBAAsB,GA6BjC;IAED,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,KAAK,cAAc,GAwBzB;IAED,OAAO,CAAC,OAAO;CAaf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;KAC9C;CACD"}
|
package/dist/DataGridFooter.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var DataGridFooter_1;
|
|
2
2
|
import { __decorate } from "tslib";
|
|
3
|
-
import { component, property, Component, css, state, html, query, style } from '@a11d/lit';
|
|
3
|
+
import { component, property, Component, css, state, html, query, style, ifDefined } from '@a11d/lit';
|
|
4
4
|
import { DirectionsByLanguage, Localizer } from '@3mo/localization';
|
|
5
5
|
import { TooltipPlacement, tooltip } from '@3mo/tooltip';
|
|
6
|
-
import excelSvg from './excel.svg.js';
|
|
7
6
|
Localizer.dictionaries.add('de', {
|
|
8
7
|
'${page:number} of ${maxPage:number}': '${page} von ${maxPage}',
|
|
9
|
-
'Export
|
|
8
|
+
'Export to CSV': 'Ansicht nach CSV exportieren',
|
|
9
|
+
'Exporting file...': 'Datei wird exportiert...',
|
|
10
10
|
'Auto': 'Auto'
|
|
11
11
|
});
|
|
12
12
|
Localizer.dictionaries.add('fa', {
|
|
@@ -88,6 +88,51 @@ let DataGridFooter = DataGridFooter_1 = class DataGridFooter extends Component {
|
|
|
88
88
|
margin: 0 6px;
|
|
89
89
|
font-size: smaller;
|
|
90
90
|
}
|
|
91
|
+
|
|
92
|
+
#csv {
|
|
93
|
+
position: relative;
|
|
94
|
+
color: var(--mo-color-gray);
|
|
95
|
+
height: 32px;
|
|
96
|
+
font-size: small;
|
|
97
|
+
|
|
98
|
+
mo-icon-button {
|
|
99
|
+
grid-row: 1;
|
|
100
|
+
grid-column: 1;
|
|
101
|
+
font-size: 24px;
|
|
102
|
+
transition: 100ms;
|
|
103
|
+
&[data-generating] {
|
|
104
|
+
color: var(--mo-color-green);
|
|
105
|
+
&:not([data-progress='1']) {
|
|
106
|
+
transform: scale(0.66);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
&:hover {
|
|
110
|
+
color: var(--mo-color-accent);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
mo-circular-progress {
|
|
115
|
+
grid-row: 1;
|
|
116
|
+
grid-column: 1;
|
|
117
|
+
height: 32px;
|
|
118
|
+
width: 32px;
|
|
119
|
+
place-self: center;
|
|
120
|
+
--mo-circular-progress-accent-color: var(--mo-color-green);
|
|
121
|
+
--mo-circular-progress-track-color: var(--mo-color-transparent-gray-3);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
span#exporting-percent {
|
|
125
|
+
grid-column: 2;
|
|
126
|
+
color: var(--mo-color-green);
|
|
127
|
+
font-size: medium;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
span#exporting-text {
|
|
131
|
+
grid-column: 3;
|
|
132
|
+
margin-inline-start: 4px;
|
|
133
|
+
color: var(--mo-color-foreground);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
91
136
|
`;
|
|
92
137
|
}
|
|
93
138
|
get template() {
|
|
@@ -193,28 +238,28 @@ let DataGridFooter = DataGridFooter_1 = class DataGridFooter extends Component {
|
|
|
193
238
|
this.manualPagination = false;
|
|
194
239
|
}
|
|
195
240
|
get exportTemplate() {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
241
|
+
if (!this.dataGrid.exportable) {
|
|
242
|
+
return html.nothing;
|
|
243
|
+
}
|
|
244
|
+
const { generationProgress, isGenerating } = this.dataGrid.csvController;
|
|
245
|
+
return html `
|
|
246
|
+
<div id='csv'>
|
|
247
|
+
<mo-grid columns='auto auto auto' gap='6px' rows='auto' alignItems='center'>
|
|
248
|
+
<mo-icon-button dense
|
|
249
|
+
?data-generating=${isGenerating}
|
|
250
|
+
data-progress=${ifDefined(generationProgress)}
|
|
251
|
+
${tooltip(t('Export to CSV'), TooltipPlacement.BlockStart)}
|
|
252
|
+
@click=${() => this.dataGrid.generateCsv()}
|
|
253
|
+
>
|
|
254
|
+
<mo-icon slot='icon' variant='outlined' icon=${generationProgress === 1 ? 'cloud_done' : 'cloud_download'}></mo-icon>
|
|
255
|
+
</mo-icon-button>
|
|
256
|
+
${!isGenerating ? html.nothing : html `
|
|
257
|
+
${generationProgress === 1 ? html.nothing : html `<mo-circular-progress></mo-circular-progress>`}
|
|
258
|
+
<span id='exporting-percent'>${(generationProgress * 100).formatAsPercent()}</span>
|
|
259
|
+
<span id='exporting-text'>${t('Exporting file...')}</span>
|
|
260
|
+
`}
|
|
261
|
+
</mo-grid>
|
|
262
|
+
</div>
|
|
218
263
|
`;
|
|
219
264
|
}
|
|
220
265
|
setPage(value) {
|
|
@@ -15,6 +15,7 @@ export declare class DataGridColumnBoolean<TData> extends DataGridColumnComponen
|
|
|
15
15
|
falseIconColor: string;
|
|
16
16
|
getContentTemplate(value: boolean | undefined, _data: TData): import("lit-html").HTMLTemplateResult;
|
|
17
17
|
getEditContentTemplate(value: boolean | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
18
|
+
generateCsvValue(value: boolean): Generator<"TRUE" | "FALSE", void, unknown>;
|
|
18
19
|
}
|
|
19
20
|
declare global {
|
|
20
21
|
interface HTMLElementTagNameMap {
|
|
@@ -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,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;
|
|
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;IAUpD,gBAAgB,CAAC,KAAK,EAAE,OAAO;CAGzC;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC7D;CACD"}
|
|
@@ -31,5 +31,7 @@ export declare abstract class DataGridColumnComponent<TData, TValue> extends Com
|
|
|
31
31
|
protected handleEdit(value: TValue | undefined, data: TData): void;
|
|
32
32
|
connectedCallback(): void;
|
|
33
33
|
protected updated(): void;
|
|
34
|
+
generateCsvHeading(): Generator<string>;
|
|
35
|
+
generateCsvValue(value: any, data: TData): Generator<string>;
|
|
34
36
|
}
|
|
35
37
|
//# sourceMappingURL=DataGridColumnComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnComponent.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9G;;;;;;;;;;;GAWG;AACH,8BAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAE,SAAQ,SAAS;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IAE3D,KAAK,SAAgB;IACK,MAAM,UAAQ;IACxC,MAAM,CAAC,EAAE,oBAAoB,CAAA;IACZ,OAAO,SAAK;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,uBAAuB,CAAU;IAC5C,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACpB,WAAW,UAAQ;IAO5D,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAElD,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"DataGridColumnComponent.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9G;;;;;;;;;;;GAWG;AACH,8BAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAE,SAAQ,SAAS;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IAE3D,KAAK,SAAgB;IACK,MAAM,UAAQ;IACxC,MAAM,CAAC,EAAE,oBAAoB,CAAA;IACZ,OAAO,SAAK;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,uBAAuB,CAAU;IAC5C,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACpB,WAAW,UAAQ;IAO5D,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAElD,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAkB1C;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;IAKzB,kBAAkB,IAAI,SAAS,CAAC,MAAM,CAAC;IAIvC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;CAI7D"}
|
|
@@ -39,6 +39,8 @@ export class DataGridColumnComponent extends Component {
|
|
|
39
39
|
editable: this.getEditContentTemplate !== undefined && (typeof nonEditable !== 'function' ? !nonEditable : x => !nonEditable(x)),
|
|
40
40
|
getContentTemplate: this.getContentTemplate.bind(this),
|
|
41
41
|
getEditContentTemplate: this.getEditContentTemplate?.bind(this),
|
|
42
|
+
generateCsvHeading: this.generateCsvHeading.bind(this),
|
|
43
|
+
generateCsvValue: this.generateCsvValue.bind(this),
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
46
|
handleEdit(value, data) {
|
|
@@ -54,6 +56,13 @@ export class DataGridColumnComponent extends Component {
|
|
|
54
56
|
this.dataGrid?.extractColumns();
|
|
55
57
|
this.dataGrid?.requestUpdate();
|
|
56
58
|
}
|
|
59
|
+
*generateCsvHeading() {
|
|
60
|
+
yield [this.heading, this.description].filter(Boolean).join(' - ');
|
|
61
|
+
}
|
|
62
|
+
*generateCsvValue(value, data) {
|
|
63
|
+
data;
|
|
64
|
+
yield value?.toString() ?? '';
|
|
65
|
+
}
|
|
57
66
|
}
|
|
58
67
|
__decorate([
|
|
59
68
|
property({ type: Object })
|
|
@@ -10,6 +10,8 @@ export declare class DataGridColumnImage<TData> extends DataGridColumnComponent<
|
|
|
10
10
|
nonEditable: boolean;
|
|
11
11
|
getContentTemplate(value: string | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
12
12
|
getEditContentTemplate: undefined;
|
|
13
|
+
generateCsvValue(value: string, data: TData): Generator<string, void, unknown>;
|
|
14
|
+
private getTooltipText;
|
|
13
15
|
}
|
|
14
16
|
declare global {
|
|
15
17
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnImage.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnImage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAGtE;;;;GAIG;AACH,qBACa,mBAAmB,CAAC,KAAK,CAAE,SAAQ,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC;IACzE,eAAe,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC,CAAA;IAE7E,WAAW,UAAO;IAClB,WAAW,UAAO;IAE3B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"DataGridColumnImage.d.ts","sourceRoot":"","sources":["../../columns/DataGridColumnImage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAGtE;;;;GAIG;AACH,qBACa,mBAAmB,CAAC,KAAK,CAAE,SAAQ,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC;IACzE,eAAe,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC,CAAA;IAE7E,WAAW,UAAO;IAClB,WAAW,UAAO;IAE3B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAkBhD,sBAAsB,YAAY;IAEjC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;IAKrD,OAAO,CAAC,cAAc;CAOtB;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,2BAA2B,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;KACzD;CACD"}
|
|
@@ -18,11 +18,7 @@ let DataGridColumnImage = class DataGridColumnImage extends DataGridColumnCompon
|
|
|
18
18
|
if (!value) {
|
|
19
19
|
return html.nothing;
|
|
20
20
|
}
|
|
21
|
-
const tooltipText =
|
|
22
|
-
? undefined
|
|
23
|
-
: typeof this.tooltipSelector === 'function'
|
|
24
|
-
? this.tooltipSelector(data)
|
|
25
|
-
: getValueByKeyPath(data, this.tooltipSelector);
|
|
21
|
+
const tooltipText = this.getTooltipText(data);
|
|
26
22
|
return !value ? html.nothing : html `
|
|
27
23
|
<img
|
|
28
24
|
${tooltipText ? tooltip(tooltipText) : html.nothing}
|
|
@@ -33,6 +29,17 @@ let DataGridColumnImage = class DataGridColumnImage extends DataGridColumnCompon
|
|
|
33
29
|
/>
|
|
34
30
|
`;
|
|
35
31
|
}
|
|
32
|
+
*generateCsvValue(value, data) {
|
|
33
|
+
value;
|
|
34
|
+
yield this.getTooltipText(data) ?? '';
|
|
35
|
+
}
|
|
36
|
+
getTooltipText(data) {
|
|
37
|
+
return !this.tooltipSelector
|
|
38
|
+
? undefined
|
|
39
|
+
: typeof this.tooltipSelector === 'function'
|
|
40
|
+
? this.tooltipSelector(data)
|
|
41
|
+
: getValueByKeyPath(data, this.tooltipSelector);
|
|
42
|
+
}
|
|
36
43
|
};
|
|
37
44
|
__decorate([
|
|
38
45
|
property()
|
|
@@ -3,6 +3,7 @@ import { DataGridColumnDateTimeBase } from './DataGridColumnDateTimeBase.js';
|
|
|
3
3
|
export declare class DataGridColumnDate<TData> extends DataGridColumnDateTimeBase<TData, Date> {
|
|
4
4
|
getContentTemplate(value: Date | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
5
5
|
readonly fieldTag: import("lit-html/static.js").StaticValue;
|
|
6
|
+
generateCsvValue(value: Date | undefined): Generator<string, void, unknown>;
|
|
6
7
|
}
|
|
7
8
|
declare global {
|
|
8
9
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnDate.d.ts","sourceRoot":"","sources":["../../../columns/date-time/DataGridColumnDate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,wCAAwC;AACxC,qBACa,kBAAkB,CAAC,KAAK,CAAE,SAAQ,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC;IACrF,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAKvD,SAAkB,QAAQ,2CAAyB;
|
|
1
|
+
{"version":3,"file":"DataGridColumnDate.d.ts","sourceRoot":"","sources":["../../../columns/date-time/DataGridColumnDate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,wCAAwC;AACxC,qBACa,kBAAkB,CAAC,KAAK,CAAE,SAAQ,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC;IACrF,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAKvD,SAAkB,QAAQ,2CAAyB;IAEzC,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS;CAGlD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,0BAA0B,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;KACvD;CACD"}
|
|
@@ -11,6 +11,9 @@ let DataGridColumnDate = class DataGridColumnDate extends DataGridColumnDateTime
|
|
|
11
11
|
data;
|
|
12
12
|
return html `${value ? value.formatAsDate(this.formatOptionsValue) ?? '' : ''}`;
|
|
13
13
|
}
|
|
14
|
+
*generateCsvValue(value) {
|
|
15
|
+
yield value?.toISOString().split('T')[0] ?? '';
|
|
16
|
+
}
|
|
14
17
|
};
|
|
15
18
|
DataGridColumnDate = __decorate([
|
|
16
19
|
component('mo-data-grid-column-date')
|
|
@@ -3,6 +3,7 @@ import { DataGridColumnDateTimeBase } from './DataGridColumnDateTimeBase.js';
|
|
|
3
3
|
export declare class DataGridColumnDateTime<TData> extends DataGridColumnDateTimeBase<TData, Date> {
|
|
4
4
|
getContentTemplate(value: Date | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
5
5
|
readonly fieldTag: import("lit-html/static.js").StaticValue;
|
|
6
|
+
generateCsvValue(value: Date | undefined): Generator<string, void, unknown>;
|
|
6
7
|
}
|
|
7
8
|
declare global {
|
|
8
9
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnDateTime.d.ts","sourceRoot":"","sources":["../../../columns/date-time/DataGridColumnDateTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,6CAA6C;AAC7C,qBACa,sBAAsB,CAAC,KAAK,CAAE,SAAQ,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC;IACzF,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAKvD,SAAkB,QAAQ,2CAA8B;
|
|
1
|
+
{"version":3,"file":"DataGridColumnDateTime.d.ts","sourceRoot":"","sources":["../../../columns/date-time/DataGridColumnDateTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,6CAA6C;AAC7C,qBACa,sBAAsB,CAAC,KAAK,CAAE,SAAQ,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC;IACzF,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAKvD,SAAkB,QAAQ,2CAA8B;IAE9C,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS;CAGlD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,+BAA+B,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;KAChE;CACD"}
|
|
@@ -11,6 +11,9 @@ let DataGridColumnDateTime = class DataGridColumnDateTime extends DataGridColumn
|
|
|
11
11
|
data;
|
|
12
12
|
return html `${value ? value.format(this.formatOptionsValue) ?? '' : ''}`;
|
|
13
13
|
}
|
|
14
|
+
*generateCsvValue(value) {
|
|
15
|
+
yield value?.toISOString() ?? '';
|
|
16
|
+
}
|
|
14
17
|
};
|
|
15
18
|
DataGridColumnDateTime = __decorate([
|
|
16
19
|
component('mo-data-grid-column-date-time')
|
|
@@ -14,6 +14,8 @@ export declare class DataGridColumnCurrency<TData> extends DataGridColumnNumberB
|
|
|
14
14
|
getContentTemplate(value: number | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
15
15
|
getEditContentTemplate(value: number | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
16
16
|
getSumTemplate(sum: number): import("lit-html").HTMLTemplateResult;
|
|
17
|
+
generateCsvHeading(): Generator<string, void, unknown>;
|
|
18
|
+
generateCsvValue(value: number | undefined, data: TData): Generator<string, void, unknown>;
|
|
17
19
|
}
|
|
18
20
|
declare global {
|
|
19
21
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnCurrency.d.ts","sourceRoot":"","sources":["../../../columns/number/DataGridColumnCurrency.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"DataGridColumnCurrency.d.ts","sourceRoot":"","sources":["../../../columns/number/DataGridColumnCurrency.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAqB,MAAM,mBAAmB,CAAA;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAMxE;;;;;EAKE;AACF,qBACa,sBAAsB,CAAC,KAAK,CAAE,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACjF,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAA;IAEuC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAC/E,oBAAoB,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IAEnD,OAAO,CAAC,WAAW;IAMnB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAIzD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAU7D,cAAc,CAAC,GAAG,EAAE,MAAM;IAMhB,kBAAkB;IAKlB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;CAIjE;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,8BAA8B,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;KAC/D;CACD"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
var DataGridColumnCurrency_1;
|
|
2
2
|
import { __decorate } from "tslib";
|
|
3
3
|
import { component, html, ifDefined, property } from '@a11d/lit';
|
|
4
|
-
import { Currency } from '@3mo/localization';
|
|
4
|
+
import { Localizer, Currency } from '@3mo/localization';
|
|
5
5
|
import { FieldCurrency } from '@3mo/number-fields';
|
|
6
6
|
import { DataGridColumnNumberBase } from './DataGridColumnNumberBase.js';
|
|
7
|
+
Localizer.dictionaries.add('de', {
|
|
8
|
+
'Currency': 'Währung',
|
|
9
|
+
});
|
|
7
10
|
/**
|
|
8
11
|
* @element mo-data-grid-column-currency
|
|
9
12
|
*
|
|
@@ -33,6 +36,14 @@ let DataGridColumnCurrency = DataGridColumnCurrency_1 = class DataGridColumnCurr
|
|
|
33
36
|
<span style='font-weight: 500'>${sum.formatAsCurrency(this.currency ?? DataGridColumnCurrency_1.defaultCurrency)}</span>
|
|
34
37
|
`;
|
|
35
38
|
}
|
|
39
|
+
*generateCsvHeading() {
|
|
40
|
+
yield* super.generateCsvHeading();
|
|
41
|
+
yield t('Currency');
|
|
42
|
+
}
|
|
43
|
+
*generateCsvValue(value, data) {
|
|
44
|
+
yield* super.generateCsvValue(value, data);
|
|
45
|
+
yield this.getCurrency(data).code;
|
|
46
|
+
}
|
|
36
47
|
};
|
|
37
48
|
__decorate([
|
|
38
49
|
property({ type: Object, converter: FieldCurrency.currencyConverter })
|