@3mo/data-grid 0.10.1 → 0.10.3-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 +57 -23
- package/dist/DataGrid.d.ts +2 -1
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +49 -7
- 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 +8 -25
- 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 +16 -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 -4659
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -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>, onProgress: (progress: number) => void) => 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,cAAc,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,mBAuCrG;CACD"}
|
package/dist/CsvGenerator.js
CHANGED
|
@@ -1,26 +1,60 @@
|
|
|
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, onProgress) => {
|
|
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, i, array) => {
|
|
40
|
+
onProgress((i + 1) / array.length);
|
|
41
|
+
const value = getValueByKeyPath(d.data, column.dataSelector);
|
|
42
|
+
return column.formatAsCsv(value, d.data).map(cell => _a.escape(String(cell)));
|
|
43
|
+
});
|
|
44
|
+
return [
|
|
45
|
+
...nestedPadding,
|
|
46
|
+
first,
|
|
47
|
+
...childrenPadding,
|
|
48
|
+
...rest
|
|
49
|
+
];
|
|
50
|
+
})
|
|
51
|
+
];
|
|
52
|
+
const csv = rows.map(row => row.join(',')).join('\n');
|
|
53
|
+
const now = new Date();
|
|
54
|
+
const fileName = [
|
|
55
|
+
'3MO',
|
|
56
|
+
document.title.split(' | ')[0]?.toLowerCase(),
|
|
57
|
+
`${now.getFullYear()}${now.getMonth()}${now.getDate()}${now.getHours()}${now.getMinutes()}${now.getSeconds()}`,
|
|
58
|
+
].filter(Boolean).join('_');
|
|
59
|
+
Downloader.download(`data:text/csv;charset=utf-8,${encodeURIComponent(csv)}`, `${fileName}.csv`);
|
|
60
|
+
};
|
package/dist/DataGrid.d.ts
CHANGED
|
@@ -131,6 +131,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
131
131
|
readonly rows: Array<DataGridRow<TData, TDetailsElement>>;
|
|
132
132
|
private readonly footer?;
|
|
133
133
|
private readonly sidePanel?;
|
|
134
|
+
isGenerating: boolean;
|
|
134
135
|
setPage(page: number): void;
|
|
135
136
|
setPagination(pagination?: DataGridPagination): void;
|
|
136
137
|
setData(data: Array<TData>, selectionBehavior?: DataGridSelectionBehaviorOnDataChange): void;
|
|
@@ -156,7 +157,7 @@ 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
|
+
exportExcelFile(): Promise<void>;
|
|
160
161
|
get hasContextMenu(): boolean;
|
|
161
162
|
get toolbarElements(): Element[];
|
|
162
163
|
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';
|
|
@@ -16,6 +16,7 @@ import { DataGridSortingController } from './DataGridSortingController.js';
|
|
|
16
16
|
import { DataGridDetailsController } from './DataGridDetailsController.js';
|
|
17
17
|
import { CsvGenerator, DataGridSidePanelTab, DataGridContextMenuController } from './index.js';
|
|
18
18
|
import { DataRecord } from './DataRecord.js';
|
|
19
|
+
import { GenericDialog } from '@3mo/standard-dialogs';
|
|
19
20
|
Localizer.dictionaries.add('de', {
|
|
20
21
|
'Exporting excel file': 'Die Excel-Datei wird exportiert',
|
|
21
22
|
'No results': 'Kein Ergebnis',
|
|
@@ -112,6 +113,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
112
113
|
this.exportable = false;
|
|
113
114
|
this.cellFontSize = DataGrid_1.cellRelativeFontSize.value;
|
|
114
115
|
this.rowHeight = DataGrid_1.rowHeight.value;
|
|
116
|
+
this.isGenerating = false;
|
|
115
117
|
this.slotController = new SlotController(this, async () => {
|
|
116
118
|
this.hasSums;
|
|
117
119
|
this.hasFabs;
|
|
@@ -218,15 +220,49 @@ 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() {
|
|
223
|
+
async exportExcelFile() {
|
|
224
|
+
let progress = 0.03;
|
|
225
|
+
const dataGrid = this;
|
|
222
226
|
try {
|
|
223
|
-
|
|
224
|
-
|
|
227
|
+
this.isGenerating = true;
|
|
228
|
+
let didGenerate = false;
|
|
229
|
+
await new GenericDialog({
|
|
230
|
+
heading: t('Exporting excel file'),
|
|
231
|
+
primaryButtonText: '',
|
|
232
|
+
secondaryButtonText: '',
|
|
233
|
+
content() {
|
|
234
|
+
const dialog = this.renderRoot.querySelector('mo-dialog');
|
|
235
|
+
if (dialog) {
|
|
236
|
+
dialog.primaryOnEnter = false;
|
|
237
|
+
}
|
|
238
|
+
const progressChanged = (currentProgress) => {
|
|
239
|
+
progress = Math.max(currentProgress, 0.05);
|
|
240
|
+
if (progress === 1) {
|
|
241
|
+
setTimeout(() => this['close'](), 1000);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
this.requestUpdate();
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
if (!didGenerate) {
|
|
248
|
+
didGenerate = true;
|
|
249
|
+
CsvGenerator.generate(dataGrid, progressChanged);
|
|
250
|
+
}
|
|
251
|
+
return html `
|
|
252
|
+
<mo-flex alignItems='center' justifyContent='center'>
|
|
253
|
+
<mo-circular-progress .progress=${progress}></mo-circular-progress>
|
|
254
|
+
</mo-flex>
|
|
255
|
+
`;
|
|
256
|
+
}
|
|
257
|
+
}).confirm();
|
|
225
258
|
}
|
|
226
259
|
catch (error) {
|
|
227
260
|
NotificationComponent.notifyError(error.message);
|
|
228
261
|
throw error;
|
|
229
262
|
}
|
|
263
|
+
finally {
|
|
264
|
+
this.isGenerating = false;
|
|
265
|
+
}
|
|
230
266
|
}
|
|
231
267
|
get hasContextMenu() {
|
|
232
268
|
return this.contextMenuController.hasContextMenu;
|
|
@@ -627,9 +663,12 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
627
663
|
handlePointerDown(event) {
|
|
628
664
|
this.rows.forEach(row => row.cells.forEach(cell => cell.handlePointerDown(event)));
|
|
629
665
|
}
|
|
630
|
-
*getFlattenedData() {
|
|
666
|
+
*getFlattenedData(values) {
|
|
667
|
+
if (!values) {
|
|
668
|
+
values = this.data;
|
|
669
|
+
}
|
|
631
670
|
if (!this.subDataGridDataSelector) {
|
|
632
|
-
yield* this.sortingController.toSortedBy(
|
|
671
|
+
yield* this.sortingController.toSortedBy(values.map((data, index) => new DataRecord(this, { level: 0, index, data })), ({ data }) => data);
|
|
633
672
|
return;
|
|
634
673
|
}
|
|
635
674
|
const flatten = (data, level = 0) => {
|
|
@@ -644,7 +683,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
644
683
|
...(subDataRecords ?? [])
|
|
645
684
|
];
|
|
646
685
|
};
|
|
647
|
-
for (const data of this.sortingController.toSorted(
|
|
686
|
+
for (const data of this.sortingController.toSorted(values)) {
|
|
648
687
|
yield* flatten(data);
|
|
649
688
|
}
|
|
650
689
|
return;
|
|
@@ -834,6 +873,9 @@ __decorate([
|
|
|
834
873
|
__decorate([
|
|
835
874
|
query('mo-data-grid-side-panel')
|
|
836
875
|
], DataGrid.prototype, "sidePanel", void 0);
|
|
876
|
+
__decorate([
|
|
877
|
+
state()
|
|
878
|
+
], DataGrid.prototype, "isGenerating", void 0);
|
|
837
879
|
__decorate([
|
|
838
880
|
eventOptions({ passive: true })
|
|
839
881
|
], 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', {
|
|
@@ -170,10 +169,10 @@ let DataGridFooter = DataGridFooter_1 = class DataGridFooter extends Component {
|
|
|
170
169
|
</mo-flex>
|
|
171
170
|
<mo-menu slot='popover'>
|
|
172
171
|
${!this.dataGrid?.supportsDynamicPageSize ? html.nothing : html `
|
|
173
|
-
<mo-menu-item icon='done' ?selected=${this.dataGrid.pagination === 'auto'} @click=${() => this.handlePaginationChange('auto')}>${t('Auto')}</mo-menu-item>
|
|
172
|
+
<mo-menu-item icon='done' ?selected=${this.dataGrid.pagination === 'auto'} value='auto' @click=${() => this.handlePaginationChange('auto')}>${t('Auto')}</mo-menu-item>
|
|
174
173
|
`}
|
|
175
174
|
${DataGridFooter_1.pageSizes.map(size => html `
|
|
176
|
-
<mo-menu-item icon='done' ?selected=${this.dataGrid.
|
|
175
|
+
<mo-menu-item icon='done' ?selected=${this.dataGrid.pagination === size} value=${size} @click=${() => this.handlePaginationChange(size)}>${size.format()}</mo-menu-item>
|
|
177
176
|
`)}
|
|
178
177
|
</mo-menu>
|
|
179
178
|
</mo-popover-container>
|
|
@@ -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;IAIjB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;CAOhD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,8BAA8B,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;KAC/D;CACD"}
|