@3mo/data-grid 0.9.19 → 0.9.20-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CsvGenerator.d.ts +4 -1
- package/dist/CsvGenerator.d.ts.map +1 -1
- package/dist/CsvGenerator.js +56 -23
- package/dist/DataGrid.d.ts +2 -1
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +15 -6
- package/dist/DataGridColumn.d.ts +3 -0
- package/dist/DataGridColumn.d.ts.map +1 -1
- package/dist/DataGridColumn.js +7 -0
- package/dist/DataGridFooter.d.ts.map +1 -1
- package/dist/DataGridFooter.js +6 -23
- package/dist/DataGridPrimaryContextMenuItem.js +5 -5
- 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 +3 -0
- package/dist/columns/DataGridColumnComponent.d.ts.map +1 -1
- package/dist/columns/DataGridColumnComponent.js +13 -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 +3 -0
- package/dist/columns/number/DataGridColumnCurrency.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnCurrency.js +18 -0
- package/dist/columns/number/DataGridColumnPercent.d.ts +2 -0
- package/dist/columns/number/DataGridColumnPercent.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnPercent.js +6 -0
- package/dist/custom-elements.json +12 -4655
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- 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/CsvGenerator.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { DataGrid } from './DataGrid.js';
|
|
2
2
|
export declare class CsvGenerator {
|
|
3
|
-
static
|
|
3
|
+
private static readonly itemsPerPage;
|
|
4
|
+
static fetchAll: <TData>(dataGrid: any) => Promise<Array<TData>>;
|
|
5
|
+
static escape: (value: string) => string;
|
|
6
|
+
static generate: <TData>(dataGrid: DataGrid<TData, any>) => Promise<void>;
|
|
4
7
|
}
|
|
5
8
|
//# sourceMappingURL=CsvGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CsvGenerator.d.ts","sourceRoot":"","sources":["../CsvGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,qBAAa,YAAY;IACxB,MAAM,CAAC,QAAQ,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"CsvGenerator.d.ts","sourceRoot":"","sources":["../CsvGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAO;IAE3C,MAAM,CAAC,QAAQ,GAAU,KAAK,YAAY,GAAG,KAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAerE;IAEA,MAAM,CAAC,MAAM,UAAW,MAAM,YAS7B;IAED,MAAM,CAAC,QAAQ,GAAU,KAAK,YAAY,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,mBAsC7D;CACD"}
|
package/dist/CsvGenerator.js
CHANGED
|
@@ -1,26 +1,59 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
import { Downloader } from '@3mo/downloader';
|
|
2
3
|
export class CsvGenerator {
|
|
3
|
-
static generate(dataGrid) {
|
|
4
|
-
const flattenedData = [...dataGrid['getFlattenedData']()];
|
|
5
|
-
const maxLevel = Math.max(...flattenedData.map(d => d.level));
|
|
6
|
-
const [firstHeading, ...restHeadings] = dataGrid.visibleColumns.map(c => c.heading);
|
|
7
|
-
const rows = [
|
|
8
|
-
[firstHeading, ...Array.from({ length: maxLevel }).fill(''), ...restHeadings],
|
|
9
|
-
...flattenedData.map(d => {
|
|
10
|
-
const nestedPadding = Array.from({ length: d.level }).fill('');
|
|
11
|
-
const childrenPadding = Array.from({ length: maxLevel - d.level }).fill('');
|
|
12
|
-
const [first, ...rest] = dataGrid.visibleColumns.flatMap(column => getValueByKeyPath(d.data, column.dataSelector));
|
|
13
|
-
return [
|
|
14
|
-
...nestedPadding,
|
|
15
|
-
first,
|
|
16
|
-
...childrenPadding,
|
|
17
|
-
...rest
|
|
18
|
-
];
|
|
19
|
-
})
|
|
20
|
-
];
|
|
21
|
-
const csv = rows.map(row => row.join(',')).join('\n');
|
|
22
|
-
// @ts-expect-error manifest can be undefined
|
|
23
|
-
const fileName = (globalThis.manifest?.short_name ?? '') + 'Export'.replace(/ /g, '_');
|
|
24
|
-
Downloader.download(`data:text/csv;charset=utf-8,${encodeURIComponent(csv)}`, `${fileName}.csv`);
|
|
25
|
-
}
|
|
26
4
|
}
|
|
5
|
+
_a = CsvGenerator;
|
|
6
|
+
CsvGenerator.itemsPerPage = 1000;
|
|
7
|
+
CsvGenerator.fetchAll = async (dataGrid) => {
|
|
8
|
+
if (!('fetch' in dataGrid)) {
|
|
9
|
+
return dataGrid.data;
|
|
10
|
+
}
|
|
11
|
+
const values = await Promise.all(Array
|
|
12
|
+
.from({ length: Math.ceil(dataGrid.dataLength / _a.itemsPerPage) })
|
|
13
|
+
.map(async (_, i) => {
|
|
14
|
+
const values = await dataGrid.fetch({ ...dataGrid.parameters, page: i + 1, perPage: _a.itemsPerPage, isBulk: true });
|
|
15
|
+
return values instanceof Array ? values : values.data;
|
|
16
|
+
}));
|
|
17
|
+
return values.flat();
|
|
18
|
+
};
|
|
19
|
+
CsvGenerator.escape = (value) => {
|
|
20
|
+
if (value.includes(',')) {
|
|
21
|
+
if (value.includes('"')) {
|
|
22
|
+
value = value.replaceAll('"', '""');
|
|
23
|
+
}
|
|
24
|
+
value = `"${value}"`;
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
};
|
|
28
|
+
CsvGenerator.generate = async (dataGrid) => {
|
|
29
|
+
const flattenedData = [...dataGrid['getFlattenedData'](await _a.fetchAll(dataGrid))];
|
|
30
|
+
const maxLevel = Math.max(...flattenedData.map(d => d.level));
|
|
31
|
+
const [firstHeading, ...restHeadings] = dataGrid.visibleColumns
|
|
32
|
+
.flatMap(c => c.formatHeaderAsCsv().map(cell => _a.escape(cell)));
|
|
33
|
+
const rows = [
|
|
34
|
+
[firstHeading, ...Array.from({ length: maxLevel }).fill(firstHeading), ...restHeadings],
|
|
35
|
+
...flattenedData.map(d => {
|
|
36
|
+
const nestedPadding = Array.from({ length: d.level }).fill('');
|
|
37
|
+
const childrenPadding = Array.from({ length: maxLevel - d.level }).fill('');
|
|
38
|
+
const [first, ...rest] = dataGrid.visibleColumns
|
|
39
|
+
.flatMap(column => {
|
|
40
|
+
const value = getValueByKeyPath(d.data, column.dataSelector);
|
|
41
|
+
return column.formatAsCsv(value, d.data).map(cell => _a.escape(String(cell)));
|
|
42
|
+
});
|
|
43
|
+
return [
|
|
44
|
+
...nestedPadding,
|
|
45
|
+
first,
|
|
46
|
+
...childrenPadding,
|
|
47
|
+
...rest
|
|
48
|
+
];
|
|
49
|
+
})
|
|
50
|
+
];
|
|
51
|
+
const csv = rows.map(row => row.join(',')).join('\n');
|
|
52
|
+
const now = new Date();
|
|
53
|
+
const fileName = [
|
|
54
|
+
'3MO',
|
|
55
|
+
document.title.split(' | ')[0]?.toLowerCase(),
|
|
56
|
+
`${now.getFullYear()}${now.getMonth()}${now.getDate()}${now.getHours()}${now.getMinutes()}${now.getSeconds()}`,
|
|
57
|
+
].filter(Boolean).join('_');
|
|
58
|
+
Downloader.download(`data:text/csv;charset=utf-8,${encodeURIComponent(csv)}`, `${fileName}.csv`);
|
|
59
|
+
};
|
package/dist/DataGrid.d.ts
CHANGED
|
@@ -130,6 +130,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
130
130
|
readonly rows: Array<DataGridRow<TData, TDetailsElement>>;
|
|
131
131
|
private readonly footer?;
|
|
132
132
|
private readonly sidePanel?;
|
|
133
|
+
isGenerating: boolean;
|
|
133
134
|
setPage(page: number): void;
|
|
134
135
|
setPagination(pagination?: DataGridPagination): void;
|
|
135
136
|
setData(data: Array<TData>, selectionBehavior?: DataGridSelectionBehaviorOnDataChange): void;
|
|
@@ -155,7 +156,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
155
156
|
getCell(data: TData, column: DataGridColumn<TData, unknown>): DataGridCell<any, TData, TDetailsElement> | undefined;
|
|
156
157
|
handleEdit(data: TData, column: DataGridColumn<TData, unknown>, value: KeyPathValueOf<TData, KeyPathOf<TData>> | undefined): void;
|
|
157
158
|
navigateToSidePanelTab(tab?: DataGridSidePanelTab): void;
|
|
158
|
-
exportExcelFile(): void
|
|
159
|
+
exportExcelFile(): Promise<void>;
|
|
159
160
|
get hasContextMenu(): boolean;
|
|
160
161
|
get toolbarElements(): Element[];
|
|
161
162
|
get filterElements(): Element[];
|
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,
|
|
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, 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, state } 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';
|
|
@@ -111,6 +111,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
111
111
|
this.exportable = false;
|
|
112
112
|
this.cellFontSize = DataGrid_1.cellRelativeFontSize.value;
|
|
113
113
|
this.rowHeight = DataGrid_1.rowHeight.value;
|
|
114
|
+
this.isGenerating = false;
|
|
114
115
|
this.slotController = new SlotController(this, async () => {
|
|
115
116
|
this.hasSums;
|
|
116
117
|
this.hasFabs;
|
|
@@ -217,10 +218,12 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
217
218
|
this.sidePanelTab = tab;
|
|
218
219
|
!tab ? this.sidePanelClose.dispatch() : this.sidePanelOpen.dispatch(tab);
|
|
219
220
|
}
|
|
220
|
-
exportExcelFile() {
|
|
221
|
+
async exportExcelFile() {
|
|
221
222
|
try {
|
|
222
|
-
|
|
223
|
+
this.isGenerating = true;
|
|
223
224
|
NotificationComponent.notifyInfo(t('Exporting excel file'));
|
|
225
|
+
await CsvGenerator.generate(this);
|
|
226
|
+
this.isGenerating = false;
|
|
224
227
|
}
|
|
225
228
|
catch (error) {
|
|
226
229
|
NotificationComponent.notifyError(error.message);
|
|
@@ -632,9 +635,12 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
632
635
|
handlePointerDown(event) {
|
|
633
636
|
this.rows.forEach(row => row.cells.forEach(cell => cell.handlePointerDown(event)));
|
|
634
637
|
}
|
|
635
|
-
*getFlattenedData() {
|
|
638
|
+
*getFlattenedData(values) {
|
|
639
|
+
if (!values) {
|
|
640
|
+
values = this.data;
|
|
641
|
+
}
|
|
636
642
|
if (!this.subDataGridDataSelector) {
|
|
637
|
-
yield* this.sortingController.toSortedBy(
|
|
643
|
+
yield* this.sortingController.toSortedBy(values.map((data, index) => new DataRecord(this, { level: 0, index, data })), ({ data }) => data);
|
|
638
644
|
return;
|
|
639
645
|
}
|
|
640
646
|
const flatten = (data, level = 0) => {
|
|
@@ -649,7 +655,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
649
655
|
...(subDataRecords ?? [])
|
|
650
656
|
];
|
|
651
657
|
};
|
|
652
|
-
for (const data of this.sortingController.toSorted(
|
|
658
|
+
for (const data of this.sortingController.toSorted(values)) {
|
|
653
659
|
yield* flatten(data);
|
|
654
660
|
}
|
|
655
661
|
return;
|
|
@@ -839,6 +845,9 @@ __decorate([
|
|
|
839
845
|
__decorate([
|
|
840
846
|
query('mo-data-grid-side-panel')
|
|
841
847
|
], DataGrid.prototype, "sidePanel", void 0);
|
|
848
|
+
__decorate([
|
|
849
|
+
state()
|
|
850
|
+
], DataGrid.prototype, "isGenerating", void 0);
|
|
842
851
|
__decorate([
|
|
843
852
|
eventOptions({ passive: true })
|
|
844
853
|
], DataGrid.prototype, "handleScroll", null);
|
package/dist/DataGridColumn.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type * as CSS from 'csstype';
|
|
|
5
5
|
export type DataGridColumnAlignment = 'start' | 'center' | 'end';
|
|
6
6
|
export type DataGridColumnSticky = 'start' | 'both' | 'end';
|
|
7
7
|
export declare class DataGridColumn<TData, TValue = unknown> {
|
|
8
|
+
suffix?: string;
|
|
8
9
|
dataGrid?: DataGrid<TData, any>;
|
|
9
10
|
dataSelector: KeyPathOf<TData>;
|
|
10
11
|
heading: string;
|
|
@@ -34,5 +35,7 @@ export declare class DataGridColumn<TData, TValue = unknown> {
|
|
|
34
35
|
get sortingDefinition(): import("./DataGridSortingController.js").DataGridRankedSortDefinition<TData> | undefined;
|
|
35
36
|
get sumTemplate(): HTMLTemplateResult | undefined;
|
|
36
37
|
get stickyColumnInsetInline(): string;
|
|
38
|
+
formatAsCsv(value: any, data: TData): string[];
|
|
39
|
+
formatHeaderAsCsv(): string[];
|
|
37
40
|
}
|
|
38
41
|
//# 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,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,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,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK;IAKnC,iBAAiB;CAGjB"}
|
package/dist/DataGridColumn.js
CHANGED
|
@@ -75,4 +75,11 @@ export class DataGridColumn {
|
|
|
75
75
|
return '';
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
formatAsCsv(value, data) {
|
|
79
|
+
data;
|
|
80
|
+
return value === undefined || value === null ? [''] : [String(value)];
|
|
81
|
+
}
|
|
82
|
+
formatHeaderAsCsv() {
|
|
83
|
+
return this.heading.length < 3 && this.description ? [this.description] : [this.heading];
|
|
84
|
+
}
|
|
78
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridFooter.d.ts","sourceRoot":"","sources":["../DataGridFooter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAkC,MAAM,WAAW,CAAA;AAI1F,OAAO,EAAE,KAAK,QAAQ,EAA2B,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGridFooter.d.ts","sourceRoot":"","sources":["../DataGridFooter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAkC,MAAM,WAAW,CAAA;AAI1F,OAAO,EAAE,KAAK,QAAQ,EAA2B,MAAM,YAAY,CAAA;AAanE;;;;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,kCAiEzB;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,GAQzB;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
|
@@ -3,10 +3,9 @@ import { __decorate } from "tslib";
|
|
|
3
3
|
import { component, property, Component, css, state, html, query, style } 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 Excel': 'Ansicht nach Excel exportieren',
|
|
10
9
|
'Auto': 'Auto'
|
|
11
10
|
});
|
|
12
11
|
Localizer.dictionaries.add('fa', {
|
|
@@ -194,27 +193,11 @@ let DataGridFooter = DataGridFooter_1 = class DataGridFooter extends Component {
|
|
|
194
193
|
}
|
|
195
194
|
get exportTemplate() {
|
|
196
195
|
return !this.dataGrid.exportable ? html.nothing : html `
|
|
197
|
-
<
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
transition: .25s;
|
|
203
|
-
-webkit-filter: grayscale(100%);
|
|
204
|
-
filter: grayscale(100%);
|
|
205
|
-
cursor: pointer;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
#export:hover {
|
|
209
|
-
-webkit-filter: grayscale(0%);
|
|
210
|
-
filter: grayscale(0%);
|
|
211
|
-
}
|
|
212
|
-
</style>
|
|
213
|
-
<img id='export'
|
|
214
|
-
src=${`data:image/svg+xml,${encodeURIComponent(excelSvg)}`}
|
|
215
|
-
${tooltip(t('Export current view to Excel'), TooltipPlacement.BlockStart)}
|
|
216
|
-
@click=${() => this.dataGrid.exportExcelFile()}
|
|
217
|
-
/>
|
|
196
|
+
<mo-icon-button dense icon='download_for_offline'
|
|
197
|
+
${tooltip(t('Export to Excel'), TooltipPlacement.BlockStart)}
|
|
198
|
+
${style({ color: 'var(--mo-color-green)', fontSize: '24px', opacity: this.dataGrid.isGenerating ? '0.5' : undefined })}
|
|
199
|
+
@click=${() => this.dataGrid.isGenerating ? undefined : this.dataGrid.exportExcelFile()}
|
|
200
|
+
></mo-icon-button>
|
|
218
201
|
`;
|
|
219
202
|
}
|
|
220
203
|
setPage(value) {
|
|
@@ -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
|
};
|
|
@@ -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
|
+
formatAsCsv(value: boolean): string[];
|
|
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;IAUrD,WAAW,CAAC,KAAK,EAAE,OAAO;CAGnC;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC7D;CACD"}
|
|
@@ -25,11 +25,14 @@ export declare abstract class DataGridColumnComponent<TData, TValue> extends Com
|
|
|
25
25
|
sortDataSelector?: KeyPathOf<TData>;
|
|
26
26
|
nonSortable: boolean;
|
|
27
27
|
nonEditable: boolean | Predicate<TData>;
|
|
28
|
+
get suffix(): string | undefined;
|
|
28
29
|
get column(): DataGridColumn<TData, TValue>;
|
|
29
30
|
abstract getContentTemplate(value: TValue | undefined, data: TData): HTMLTemplateResult;
|
|
30
31
|
abstract getEditContentTemplate?(value: TValue | undefined, data: TData): HTMLTemplateResult;
|
|
31
32
|
protected handleEdit(value: TValue | undefined, data: TData): void;
|
|
32
33
|
connectedCallback(): void;
|
|
33
34
|
protected updated(): void;
|
|
35
|
+
formatAsCsv(value: any, data: TData): string[];
|
|
36
|
+
formatHeaderAsCsv(): string[];
|
|
34
37
|
}
|
|
35
38
|
//# 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,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAmB1C;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;IAK1B,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK;IAKnC,iBAAiB;CAGjB"}
|
|
@@ -24,9 +24,13 @@ export class DataGridColumnComponent extends Component {
|
|
|
24
24
|
this.nonSortable = false;
|
|
25
25
|
this.nonEditable = false;
|
|
26
26
|
}
|
|
27
|
+
get suffix() {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
27
30
|
get column() {
|
|
28
31
|
const nonEditable = this.nonEditable;
|
|
29
32
|
return new DataGridColumn({
|
|
33
|
+
suffix: this.suffix,
|
|
30
34
|
dataSelector: this.dataSelector,
|
|
31
35
|
sortDataSelector: this.sortDataSelector,
|
|
32
36
|
heading: this.heading,
|
|
@@ -36,6 +40,8 @@ export class DataGridColumnComponent extends Component {
|
|
|
36
40
|
sticky: this.sticky,
|
|
37
41
|
width: this.width,
|
|
38
42
|
sortable: !this.nonSortable,
|
|
43
|
+
formatAsCsv: (value, data) => this.formatAsCsv(value, data),
|
|
44
|
+
formatHeaderAsCsv: this.formatHeaderAsCsv,
|
|
39
45
|
editable: this.getEditContentTemplate !== undefined && (typeof nonEditable !== 'function' ? !nonEditable : x => !nonEditable(x)),
|
|
40
46
|
getContentTemplate: this.getContentTemplate.bind(this),
|
|
41
47
|
getEditContentTemplate: this.getEditContentTemplate?.bind(this),
|
|
@@ -54,6 +60,13 @@ export class DataGridColumnComponent extends Component {
|
|
|
54
60
|
this.dataGrid?.extractColumns();
|
|
55
61
|
this.dataGrid?.requestUpdate();
|
|
56
62
|
}
|
|
63
|
+
formatAsCsv(value, data) {
|
|
64
|
+
data;
|
|
65
|
+
return value === undefined || value === null ? [''] : [String(value)];
|
|
66
|
+
}
|
|
67
|
+
formatHeaderAsCsv() {
|
|
68
|
+
return this.heading.length < 3 && this.description ? [this.description] : [this.heading];
|
|
69
|
+
}
|
|
57
70
|
}
|
|
58
71
|
__decorate([
|
|
59
72
|
property({ type: Object })
|
|
@@ -8,8 +8,10 @@ export declare class DataGridColumnImage<TData> extends DataGridColumnComponent<
|
|
|
8
8
|
tooltipSelector?: KeyPathOf<TData> | ((data: TData) => string | undefined);
|
|
9
9
|
nonSortable: boolean;
|
|
10
10
|
nonEditable: boolean;
|
|
11
|
+
private getTooltipText;
|
|
11
12
|
getContentTemplate(value: string | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
12
13
|
getEditContentTemplate: undefined;
|
|
14
|
+
formatAsCsv(value: string, data: TData): string[];
|
|
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,OAAO,CAAC,cAAc,CAMrB;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAkBhD,sBAAsB,YAAY;IAElC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;CAI/C;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,2BAA2B,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;KACzD;CACD"}
|
|
@@ -12,17 +12,20 @@ let DataGridColumnImage = class DataGridColumnImage extends DataGridColumnCompon
|
|
|
12
12
|
super(...arguments);
|
|
13
13
|
this.nonSortable = true;
|
|
14
14
|
this.nonEditable = true;
|
|
15
|
+
this.getTooltipText = (data) => {
|
|
16
|
+
return !this.tooltipSelector
|
|
17
|
+
? undefined
|
|
18
|
+
: typeof this.tooltipSelector === 'function'
|
|
19
|
+
? this.tooltipSelector(data)
|
|
20
|
+
: getValueByKeyPath(data, this.tooltipSelector);
|
|
21
|
+
};
|
|
15
22
|
this.getEditContentTemplate = undefined;
|
|
16
23
|
}
|
|
17
24
|
getContentTemplate(value, data) {
|
|
18
25
|
if (!value) {
|
|
19
26
|
return html.nothing;
|
|
20
27
|
}
|
|
21
|
-
const tooltipText =
|
|
22
|
-
? undefined
|
|
23
|
-
: typeof this.tooltipSelector === 'function'
|
|
24
|
-
? this.tooltipSelector(data)
|
|
25
|
-
: getValueByKeyPath(data, this.tooltipSelector);
|
|
28
|
+
const tooltipText = this.getTooltipText(data);
|
|
26
29
|
return !value ? html.nothing : html `
|
|
27
30
|
<img
|
|
28
31
|
${tooltipText ? tooltip(tooltipText) : html.nothing}
|
|
@@ -33,6 +36,10 @@ let DataGridColumnImage = class DataGridColumnImage extends DataGridColumnCompon
|
|
|
33
36
|
/>
|
|
34
37
|
`;
|
|
35
38
|
}
|
|
39
|
+
formatAsCsv(value, data) {
|
|
40
|
+
value;
|
|
41
|
+
return [this.getTooltipText(data) ?? ''];
|
|
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
|
+
formatAsCsv(value: Date | undefined): string[];
|
|
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;IAE1C,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS;CAG5C;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
|
+
formatAsCsv(value) {
|
|
15
|
+
return !value ? [''] : [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
|
+
formatAsCsv(value: Date | undefined): string[];
|
|
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;IAE/C,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS;CAG5C;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
|
+
formatAsCsv(value) {
|
|
15
|
+
return !value ? [''] : [value.toISOString().replace('T', ' ').split('.')[0]];
|
|
16
|
+
}
|
|
14
17
|
};
|
|
15
18
|
DataGridColumnDateTime = __decorate([
|
|
16
19
|
component('mo-data-grid-column-date-time')
|
|
@@ -10,10 +10,13 @@ export declare class DataGridColumnCurrency<TData> extends DataGridColumnNumberB
|
|
|
10
10
|
static defaultCurrency?: Currency;
|
|
11
11
|
currency?: Currency;
|
|
12
12
|
currencyDataSelector?: KeyPathOf<TData>;
|
|
13
|
+
exchangeRateDataSelector?: KeyPathOf<TData>;
|
|
13
14
|
private getCurrency;
|
|
14
15
|
getContentTemplate(value: number | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
15
16
|
getEditContentTemplate(value: number | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
16
17
|
getSumTemplate(sum: number): import("lit-html").HTMLTemplateResult;
|
|
18
|
+
formatHeaderAsCsv(): string[];
|
|
19
|
+
formatAsCsv(value: unknown, data: TData): any[];
|
|
17
20
|
}
|
|
18
21
|
declare global {
|
|
19
22
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnCurrency.d.ts","sourceRoot":"","sources":["../../../columns/number/DataGridColumnCurrency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAqB,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGridColumnCurrency.d.ts","sourceRoot":"","sources":["../../../columns/number/DataGridColumnCurrency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAqB,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAOxE;;;;;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;IAEvC,wBAAwB,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IAEvD,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;IAMjB,iBAAiB;IAKjB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;CAShD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,8BAA8B,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;KAC/D;CACD"}
|
|
@@ -4,6 +4,10 @@ import { component, html, ifDefined, property } from '@a11d/lit';
|
|
|
4
4
|
import { Currency } from '@3mo/localization';
|
|
5
5
|
import { FieldCurrency } from '@3mo/number-fields';
|
|
6
6
|
import { DataGridColumnNumberBase } from './DataGridColumnNumberBase.js';
|
|
7
|
+
import { Localizer } from '@3mo/localization';
|
|
8
|
+
Localizer.dictionaries.add('de', {
|
|
9
|
+
'Currency': 'Währung',
|
|
10
|
+
});
|
|
7
11
|
/**
|
|
8
12
|
* @element mo-data-grid-column-currency
|
|
9
13
|
*
|
|
@@ -33,6 +37,17 @@ let DataGridColumnCurrency = DataGridColumnCurrency_1 = class DataGridColumnCurr
|
|
|
33
37
|
<span style='font-weight: 500'>${sum.formatAsCurrency(this.currency ?? DataGridColumnCurrency_1.defaultCurrency)}</span>
|
|
34
38
|
`;
|
|
35
39
|
}
|
|
40
|
+
formatHeaderAsCsv() {
|
|
41
|
+
const title = this.heading.length < 3 && this.description ? this.description : this.heading;
|
|
42
|
+
return [title, t('Currency')];
|
|
43
|
+
}
|
|
44
|
+
formatAsCsv(value, data) {
|
|
45
|
+
if (value === undefined || value === null) {
|
|
46
|
+
return ['', ''];
|
|
47
|
+
}
|
|
48
|
+
const currencyCode = this.getCurrency(data).code;
|
|
49
|
+
return [value, currencyCode];
|
|
50
|
+
}
|
|
36
51
|
};
|
|
37
52
|
__decorate([
|
|
38
53
|
property({ type: Object, converter: FieldCurrency.currencyConverter })
|
|
@@ -40,6 +55,9 @@ __decorate([
|
|
|
40
55
|
__decorate([
|
|
41
56
|
property()
|
|
42
57
|
], DataGridColumnCurrency.prototype, "currencyDataSelector", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
property()
|
|
60
|
+
], DataGridColumnCurrency.prototype, "exchangeRateDataSelector", void 0);
|
|
43
61
|
DataGridColumnCurrency = DataGridColumnCurrency_1 = __decorate([
|
|
44
62
|
component('mo-data-grid-column-currency')
|
|
45
63
|
], DataGridColumnCurrency);
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { DataGridColumnNumberBase } from './DataGridColumnNumberBase.js';
|
|
2
2
|
/** @element mo-data-grid-column-percent */
|
|
3
3
|
export declare class DataGridColumnPercent<TData> extends DataGridColumnNumberBase<TData> {
|
|
4
|
+
get suffix(): string;
|
|
4
5
|
getContentTemplate(value: number | undefined, _data: TData): import("lit-html").HTMLTemplateResult;
|
|
5
6
|
getEditContentTemplate(value: number | undefined, data: TData): import("lit-html").HTMLTemplateResult;
|
|
6
7
|
getSumTemplate(sum: number): import("lit-html").HTMLTemplateResult;
|
|
8
|
+
formatHeaderAsCsv(): string[];
|
|
7
9
|
}
|
|
8
10
|
declare global {
|
|
9
11
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumnPercent.d.ts","sourceRoot":"","sources":["../../../columns/number/DataGridColumnPercent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExE,2CAA2C;AAC3C,qBACa,qBAAqB,CAAC,KAAK,CAAE,SAAQ,wBAAwB,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"DataGridColumnPercent.d.ts","sourceRoot":"","sources":["../../../columns/number/DataGridColumnPercent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExE,2CAA2C;AAC3C,qBACa,qBAAqB,CAAC,KAAK,CAAE,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAChF,IAAa,MAAM,WAElB;IAGD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK;IAI1D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK;IAS7D,cAAc,CAAC,GAAG,EAAE,MAAM;IAIjB,iBAAiB;CAG1B;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC7D;CACD"}
|
|
@@ -3,6 +3,9 @@ import { component, html, ifDefined } from '@a11d/lit';
|
|
|
3
3
|
import { DataGridColumnNumberBase } from './DataGridColumnNumberBase.js';
|
|
4
4
|
/** @element mo-data-grid-column-percent */
|
|
5
5
|
let DataGridColumnPercent = class DataGridColumnPercent extends DataGridColumnNumberBase {
|
|
6
|
+
get suffix() {
|
|
7
|
+
return '(%)';
|
|
8
|
+
}
|
|
6
9
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
10
|
getContentTemplate(value, _data) {
|
|
8
11
|
return html `${this.getNumber(value)?.formatAsPercent() ?? html.nothing}`;
|
|
@@ -18,6 +21,9 @@ let DataGridColumnPercent = class DataGridColumnPercent extends DataGridColumnNu
|
|
|
18
21
|
getSumTemplate(sum) {
|
|
19
22
|
return html `${sum.formatAsPercent()}`;
|
|
20
23
|
}
|
|
24
|
+
formatHeaderAsCsv() {
|
|
25
|
+
return [`${this.heading.length < 3 && this.description ? this.description : this.heading} (%)`];
|
|
26
|
+
}
|
|
21
27
|
};
|
|
22
28
|
DataGridColumnPercent = __decorate([
|
|
23
29
|
component('mo-data-grid-column-percent')
|