@3mo/data-grid 0.9.12-preview.0 → 0.9.12-preview.10
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 +3 -1
- package/dist/CsvGenerator.d.ts.map +1 -1
- package/dist/CsvGenerator.js +42 -32
- 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 +2 -1
- package/dist/DataGridColumn.d.ts.map +1 -1
- package/dist/DataGridColumn.js +2 -2
- package/dist/DataGridFooter.d.ts.map +1 -1
- package/dist/DataGridFooter.js +19 -5
- package/dist/DataGridHeader.d.ts +1 -1
- package/dist/DataGridHeader.d.ts.map +1 -1
- package/dist/DataGridHeader.js +11 -11
- package/dist/columns/DataGridColumnBoolean.d.ts +1 -1
- package/dist/columns/DataGridColumnBoolean.d.ts.map +1 -1
- package/dist/columns/DataGridColumnBoolean.js +2 -2
- package/dist/columns/DataGridColumnComponent.d.ts +2 -1
- package/dist/columns/DataGridColumnComponent.d.ts.map +1 -1
- package/dist/columns/DataGridColumnComponent.js +6 -3
- package/dist/columns/DataGridColumnImage.d.ts +2 -0
- package/dist/columns/DataGridColumnImage.d.ts.map +1 -1
- package/dist/columns/DataGridColumnImage.js +11 -5
- package/dist/columns/date-time/DataGridColumnDate.d.ts +1 -1
- package/dist/columns/date-time/DataGridColumnDate.d.ts.map +1 -1
- package/dist/columns/date-time/DataGridColumnDate.js +1 -2
- package/dist/columns/date-time/DataGridColumnDateTime.d.ts +1 -1
- package/dist/columns/date-time/DataGridColumnDateTime.d.ts.map +1 -1
- package/dist/columns/date-time/DataGridColumnDateTime.js +1 -2
- package/dist/columns/number/DataGridColumnCurrency.d.ts +1 -1
- package/dist/columns/number/DataGridColumnCurrency.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnCurrency.js +1 -2
- package/dist/columns/number/DataGridColumnPercent.d.ts +2 -1
- package/dist/columns/number/DataGridColumnPercent.d.ts.map +1 -1
- package/dist/columns/number/DataGridColumnPercent.js +6 -3
- package/dist/custom-elements.json +5 -0
- package/dist/rows/DataGridRow.d.ts +1 -0
- package/dist/rows/DataGridRow.d.ts.map +1 -1
- package/dist/rows/DataGridRow.js +11 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/CsvGenerator.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { DataGrid } from './DataGrid.js';
|
|
2
2
|
export declare class CsvGenerator {
|
|
3
|
-
static
|
|
3
|
+
static fetchAll: <TData>(dataGrid: any) => Promise<Array<TData>>;
|
|
4
|
+
static escape: (value: string) => string;
|
|
5
|
+
static generate: <TData>(dataGrid: DataGrid<TData, any>) => Promise<void>;
|
|
4
6
|
}
|
|
5
7
|
//# 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,MAAM,CAAC,QAAQ,GAAU,KAAK,YAAY,GAAG,KAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAMrE;IAEA,MAAM,CAAC,MAAM,UAAW,MAAM,YAS7B;IAED,MAAM,CAAC,QAAQ,GAAU,KAAK,YAAY,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,mBA6B7D;CACD"}
|
package/dist/CsvGenerator.js
CHANGED
|
@@ -1,35 +1,45 @@
|
|
|
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 => {
|
|
13
|
-
let value = String(column.format(d.data));
|
|
14
|
-
if (value.includes(',')) {
|
|
15
|
-
if (value.includes('"')) {
|
|
16
|
-
value = value.replaceAll('"', '""');
|
|
17
|
-
}
|
|
18
|
-
value = `"${value}"`;
|
|
19
|
-
}
|
|
20
|
-
return value;
|
|
21
|
-
});
|
|
22
|
-
return [
|
|
23
|
-
...nestedPadding,
|
|
24
|
-
first,
|
|
25
|
-
...childrenPadding,
|
|
26
|
-
...rest
|
|
27
|
-
];
|
|
28
|
-
})
|
|
29
|
-
];
|
|
30
|
-
const csv = rows.map(row => row.join(',')).join('\n');
|
|
31
|
-
// @ts-expect-error manifest can be undefined
|
|
32
|
-
const fileName = (globalThis.manifest?.short_name ?? '') + 'Export'.replace(/ /g, '_');
|
|
33
|
-
Downloader.download(`data:text/csv;charset=utf-8,${encodeURIComponent(csv)}`, `${fileName}.csv`);
|
|
34
|
-
}
|
|
35
4
|
}
|
|
5
|
+
_a = CsvGenerator;
|
|
6
|
+
CsvGenerator.fetchAll = async (dataGrid) => {
|
|
7
|
+
if (!('fetch' in dataGrid)) {
|
|
8
|
+
return dataGrid.data;
|
|
9
|
+
}
|
|
10
|
+
const values = await dataGrid.fetch({ ...dataGrid.parameters, page: 1, perPage: dataGrid.dataLength });
|
|
11
|
+
return values instanceof Array ? values : values.data;
|
|
12
|
+
};
|
|
13
|
+
CsvGenerator.escape = (value) => {
|
|
14
|
+
if (value.includes(',')) {
|
|
15
|
+
if (value.includes('"')) {
|
|
16
|
+
value = value.replaceAll('"', '""');
|
|
17
|
+
}
|
|
18
|
+
value = `"${value}"`;
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
};
|
|
22
|
+
CsvGenerator.generate = async (dataGrid) => {
|
|
23
|
+
const flattenedData = [...dataGrid['getFlattenedData'](await _a.fetchAll(dataGrid))];
|
|
24
|
+
const maxLevel = Math.max(...flattenedData.map(d => d.level));
|
|
25
|
+
const [firstHeading, ...restHeadings] = dataGrid.visibleColumns.map(c => `${_a.escape(c.heading.length < 3 && c.description ? c.description : c.heading)}${!c.suffix ? '' : ` ${c.suffix}`}`);
|
|
26
|
+
const rows = [
|
|
27
|
+
[firstHeading, ...Array.from({ length: maxLevel }).fill(firstHeading), ...restHeadings],
|
|
28
|
+
...flattenedData.map(d => {
|
|
29
|
+
const nestedPadding = Array.from({ length: d.level }).fill('');
|
|
30
|
+
const childrenPadding = Array.from({ length: maxLevel - d.level }).fill('');
|
|
31
|
+
const [first, ...rest] = dataGrid.visibleColumns
|
|
32
|
+
.flatMap(column => _a.escape(String(column.format(getValueByKeyPath(d.data, column.dataSelector), d.data))));
|
|
33
|
+
return [
|
|
34
|
+
...nestedPadding,
|
|
35
|
+
first,
|
|
36
|
+
...childrenPadding,
|
|
37
|
+
...rest
|
|
38
|
+
];
|
|
39
|
+
})
|
|
40
|
+
];
|
|
41
|
+
const csv = rows.map(row => row.join(',')).join('\n');
|
|
42
|
+
// @ts-expect-error manifest can be undefined
|
|
43
|
+
const fileName = (globalThis.manifest?.short_name ?? '') + 'Export'.replace(/ /g, '_');
|
|
44
|
+
Downloader.download(`data:text/csv;charset=utf-8,${encodeURIComponent(csv)}`, `${fileName}.csv`);
|
|
45
|
+
};
|
package/dist/DataGrid.d.ts
CHANGED
|
@@ -129,6 +129,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
129
129
|
readonly rows: Array<DataGridRow<TData, TDetailsElement>>;
|
|
130
130
|
private readonly footer?;
|
|
131
131
|
private readonly sidePanel?;
|
|
132
|
+
isGenerating: boolean;
|
|
132
133
|
setPage(page: number): void;
|
|
133
134
|
setPagination(pagination?: DataGridPagination): void;
|
|
134
135
|
setData(data: Array<TData>, selectionBehavior?: DataGridSelectionBehaviorOnDataChange): void;
|
|
@@ -152,7 +153,7 @@ export declare class DataGrid<TData, TDetailsElement extends Element | undefined
|
|
|
152
153
|
getCell(data: TData, column: DataGridColumn<TData, unknown>): DataGridCell<any, TData, TDetailsElement> | undefined;
|
|
153
154
|
handleEdit(data: TData, column: DataGridColumn<TData, unknown>, value: KeyPathValueOf<TData, KeyPathOf<TData>> | undefined): void;
|
|
154
155
|
navigateToSidePanelTab(tab?: DataGridSidePanelTab): void;
|
|
155
|
-
exportExcelFile(): void
|
|
156
|
+
exportExcelFile(): Promise<void>;
|
|
156
157
|
get hasContextMenu(): boolean;
|
|
157
158
|
get toolbarElements(): Element[];
|
|
158
159
|
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';
|
|
@@ -112,6 +112,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
112
112
|
this.exportable = false;
|
|
113
113
|
this.cellFontSize = DataGrid_1.cellRelativeFontSize.value;
|
|
114
114
|
this.rowHeight = DataGrid_1.rowHeight.value;
|
|
115
|
+
this.isGenerating = false;
|
|
115
116
|
this.slotController = new SlotController(this, async () => {
|
|
116
117
|
this.hasSums;
|
|
117
118
|
this.hasFabs;
|
|
@@ -213,10 +214,12 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
213
214
|
this.sidePanelTab = tab;
|
|
214
215
|
!tab ? this.sidePanelClose.dispatch() : this.sidePanelOpen.dispatch(tab);
|
|
215
216
|
}
|
|
216
|
-
exportExcelFile() {
|
|
217
|
+
async exportExcelFile() {
|
|
217
218
|
try {
|
|
218
|
-
|
|
219
|
+
this.isGenerating = true;
|
|
219
220
|
NotificationComponent.notifyInfo(t('Exporting excel file'));
|
|
221
|
+
await CsvGenerator.generate(this);
|
|
222
|
+
this.isGenerating = false;
|
|
220
223
|
}
|
|
221
224
|
catch (error) {
|
|
222
225
|
NotificationComponent.notifyError(error.message);
|
|
@@ -626,9 +629,12 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
626
629
|
handlePointerDown(event) {
|
|
627
630
|
this.rows.forEach(row => row.cells.forEach(cell => cell.handlePointerDown(event)));
|
|
628
631
|
}
|
|
629
|
-
*getFlattenedData() {
|
|
632
|
+
*getFlattenedData(values) {
|
|
633
|
+
if (!values) {
|
|
634
|
+
values = this.data;
|
|
635
|
+
}
|
|
630
636
|
if (!this.subDataGridDataSelector) {
|
|
631
|
-
yield* this.sortingController.toSortedBy(
|
|
637
|
+
yield* this.sortingController.toSortedBy(values.map((data, index) => new DataRecord(this, { level: 0, index, data })), ({ data }) => data);
|
|
632
638
|
return;
|
|
633
639
|
}
|
|
634
640
|
const flatten = (data, level = 0) => {
|
|
@@ -643,7 +649,7 @@ let DataGrid = DataGrid_1 = class DataGrid extends Component {
|
|
|
643
649
|
...(subDataRecords ?? [])
|
|
644
650
|
];
|
|
645
651
|
};
|
|
646
|
-
for (const data of this.sortingController.toSorted(
|
|
652
|
+
for (const data of this.sortingController.toSorted(values)) {
|
|
647
653
|
yield* flatten(data);
|
|
648
654
|
}
|
|
649
655
|
return;
|
|
@@ -832,6 +838,9 @@ __decorate([
|
|
|
832
838
|
__decorate([
|
|
833
839
|
query('mo-data-grid-side-panel')
|
|
834
840
|
], DataGrid.prototype, "sidePanel", void 0);
|
|
841
|
+
__decorate([
|
|
842
|
+
state()
|
|
843
|
+
], DataGrid.prototype, "isGenerating", void 0);
|
|
835
844
|
__decorate([
|
|
836
845
|
eventOptions({ passive: true })
|
|
837
846
|
], DataGrid.prototype, "handleScroll", null);
|
package/dist/DataGridColumn.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type * as CSS from 'csstype';
|
|
|
4
4
|
export type DataGridColumnAlignment = 'start' | 'center' | 'end';
|
|
5
5
|
export type DataGridColumnSticky = 'start' | 'both' | 'end';
|
|
6
6
|
export declare class DataGridColumn<TData, TValue = unknown> {
|
|
7
|
+
suffix?: string;
|
|
7
8
|
dataGrid?: DataGrid<TData, any>;
|
|
8
9
|
dataSelector: KeyPathOf<TData>;
|
|
9
10
|
heading: string;
|
|
@@ -32,6 +33,6 @@ export declare class DataGridColumn<TData, TValue = unknown> {
|
|
|
32
33
|
get sortingDefinition(): import("./DataGridSortingController.js").DataGridRankedSortDefinition<TData> | undefined;
|
|
33
34
|
get sumTemplate(): HTMLTemplateResult | undefined;
|
|
34
35
|
get stickyColumnInsetInline(): string;
|
|
35
|
-
format: (
|
|
36
|
+
format: (value: any, _data: TData) => string;
|
|
36
37
|
}
|
|
37
38
|
//# 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,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,KAAK,GAAG,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3D,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAE/B,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IAEnE,SAAS,EAAE,uBAAuB,CAAU;IAC5C,MAAM,UAAQ;IAEd,QAAQ,UAAO;IAEf,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAE7B,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,IAAI,gBAAgB,+/CAAyD;IAC7E,IAAI,gBAAgB,CAAC,KAAK,4/CAAA,EAAoC;IAE9D,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEnE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAC5C,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEvE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;gBAEpC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAI1D,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMlD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,IAAI,aAAa,WAAsC;IACvD,IAAI,aAAa,CAAC,KAAK,QAAA,EAGtB;IAED,OAAO,CAAC,aAAa,CAAQ;IAC7B,IAAI,YAAY,YAAgC;IAChD,IAAI,YAAY,CAAC,KAAK,SAAA,EAGrB;IAED,IAAI,iBAAiB,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,WA2B1B;IAED,MAAM,
|
|
1
|
+
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,KAAK,GAAG,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3D,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,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;IAGpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IAEnE,SAAS,EAAE,uBAAuB,CAAU;IAC5C,MAAM,UAAQ;IAEd,QAAQ,UAAO;IAEf,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAE7B,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,IAAI,gBAAgB,+/CAAyD;IAC7E,IAAI,gBAAgB,CAAC,KAAK,4/CAAA,EAAoC;IAE9D,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEnE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAC5C,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEvE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;gBAEpC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAI1D,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMlD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,IAAI,aAAa,WAAsC;IACvD,IAAI,aAAa,CAAC,KAAK,QAAA,EAGtB;IAED,OAAO,CAAC,aAAa,CAAQ;IAC7B,IAAI,YAAY,YAAgC;IAChD,IAAI,YAAY,CAAC,KAAK,SAAA,EAGrB;IAED,IAAI,iBAAiB,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,WA2B1B;IAED,MAAM,UAAW,GAAG,SAAS,KAAK,YAEjC;CACD"}
|
package/dist/DataGridColumn.js
CHANGED
|
@@ -10,8 +10,8 @@ export class DataGridColumn {
|
|
|
10
10
|
this.sortable = true;
|
|
11
11
|
this.editable = false;
|
|
12
12
|
this._intersecting = false;
|
|
13
|
-
this.format = (
|
|
14
|
-
return String(
|
|
13
|
+
this.format = (value, _data) => {
|
|
14
|
+
return String(value ?? '');
|
|
15
15
|
};
|
|
16
16
|
Object.assign(this, column);
|
|
17
17
|
}
|
|
@@ -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;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,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,
|
|
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;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,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,GAsCzB;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
|
@@ -209,12 +209,26 @@ let DataGridFooter = DataGridFooter_1 = class DataGridFooter extends Component {
|
|
|
209
209
|
-webkit-filter: grayscale(0%);
|
|
210
210
|
filter: grayscale(0%);
|
|
211
211
|
}
|
|
212
|
+
|
|
213
|
+
mo-circular-progress {
|
|
214
|
+
position: absolute;
|
|
215
|
+
right: -4px;
|
|
216
|
+
bottom: 4px;
|
|
217
|
+
width: 16px;
|
|
218
|
+
height: 16px;
|
|
219
|
+
}
|
|
212
220
|
</style>
|
|
213
|
-
<
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
221
|
+
<div style='position: relative'>
|
|
222
|
+
<img id='export'
|
|
223
|
+
src=${`data:image/svg+xml,${encodeURIComponent(excelSvg)}`}
|
|
224
|
+
${tooltip(t('Export current view to Excel'), TooltipPlacement.BlockStart)}
|
|
225
|
+
${style({ filter: this.dataGrid.isGenerating ? 'opacity(0.5)' : undefined })}
|
|
226
|
+
@click=${() => this.dataGrid.isGenerating ? undefined : this.dataGrid.exportExcelFile()}
|
|
227
|
+
/>
|
|
228
|
+
${!this.dataGrid.isGenerating ? html.nothing : html `
|
|
229
|
+
<mo-circular-progress></mo-circular-progress>
|
|
230
|
+
`}
|
|
231
|
+
</div>
|
|
218
232
|
`;
|
|
219
233
|
}
|
|
220
234
|
setPage(value) {
|
package/dist/DataGridHeader.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare class DataGridHeader<TData> extends Component {
|
|
|
13
13
|
private get detailsExpanderTemplate();
|
|
14
14
|
private get selectionTemplate();
|
|
15
15
|
private get selection();
|
|
16
|
-
private readonly
|
|
16
|
+
private readonly handleSelectionChange;
|
|
17
17
|
private get contentTemplate();
|
|
18
18
|
private readonly getHeaderCellTemplate;
|
|
19
19
|
private get fillerTemplate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAsD,MAAM,WAAW,CAAA;AAIpG,OAAO,EAAuE,KAAK,QAAQ,EAAwB,MAAM,YAAY,CAAA;AAiBrI,qBACa,cAAc,CAAC,KAAK,CAAE,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,mBAAmB,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEnC,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACf,WAAW,UAAQ;cAE5C,SAAS;cAIT,YAAY;IAI/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;IAED,WAAoB,MAAM,kCAmGzB;IAED,cAAuB,QAAQ,0CAQ9B;IAED,OAAO,KAAK,uBAAuB,GAclC;IAED,OAAO,KAAK,iBAAiB,GAW5B;IAED,OAAO,KAAK,SAAS,GASpB;IAED,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAsD,MAAM,WAAW,CAAA;AAIpG,OAAO,EAAuE,KAAK,QAAQ,EAAwB,MAAM,YAAY,CAAA;AAiBrI,qBACa,cAAc,CAAC,KAAK,CAAE,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,mBAAmB,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEnC,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACf,WAAW,UAAQ;cAE5C,SAAS;cAIT,YAAY;IAI/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;IAED,WAAoB,MAAM,kCAmGzB;IAED,cAAuB,QAAQ,0CAQ9B;IAED,OAAO,KAAK,uBAAuB,GAclC;IAED,OAAO,KAAK,iBAAiB,GAW5B;IAED,OAAO,KAAK,SAAS,GASpB;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAQrC;IAED,OAAO,KAAK,eAAe,GAI1B;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAqCrC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,YAAY,GA0BvB;IAED,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,gBAAgB;CAIxB;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;KAC9C;CACD"}
|
package/dist/DataGridHeader.js
CHANGED
|
@@ -5,13 +5,13 @@ import { observeResize } from '@3mo/resize-observer';
|
|
|
5
5
|
import { Localizer } from '@3mo/localization';
|
|
6
6
|
import { DataGridSelectionMode, DataGridSortingStrategy, DataGridSidePanelTab } from './index.js';
|
|
7
7
|
Localizer.register('en', {
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'
|
|
8
|
+
'Actions for ${count:pluralityNumber} selected entries': [
|
|
9
|
+
'Actions for the selected entry',
|
|
10
|
+
'Actions for ${count} selected entries',
|
|
11
11
|
],
|
|
12
12
|
});
|
|
13
13
|
Localizer.register('de', {
|
|
14
|
-
'
|
|
14
|
+
'Actions for ${count:pluralityNumber} selected entries': [
|
|
15
15
|
'Optionen für den ausgewählten Eintrag',
|
|
16
16
|
'Optionen für ${count} ausgewählte Einträge',
|
|
17
17
|
],
|
|
@@ -23,14 +23,14 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
23
23
|
this.handleDataGridDataChange = () => {
|
|
24
24
|
this.requestUpdate();
|
|
25
25
|
};
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
const selection =
|
|
29
|
-
if (selection ===
|
|
30
|
-
this.dataGrid.
|
|
26
|
+
this.handleSelectionChange = (e) => {
|
|
27
|
+
const previousSelection = this.selection;
|
|
28
|
+
const selection = e.detail;
|
|
29
|
+
if (previousSelection === 'indeterminate' || selection === false) {
|
|
30
|
+
this.dataGrid.deselectAll();
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
this.dataGrid.
|
|
33
|
+
this.dataGrid.selectAll();
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
this.getHeaderCellTemplate = (column, index, columns) => {
|
|
@@ -209,7 +209,7 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
209
209
|
${this.getResizeObserver('selectionColumnWidthInPixels')}
|
|
210
210
|
>
|
|
211
211
|
${this.dataGrid.selectionMode !== DataGridSelectionMode.Multiple ? html.nothing : html `
|
|
212
|
-
<mo-checkbox .selected=${live(this.selection)} @
|
|
212
|
+
<mo-checkbox .selected=${live(this.selection)} @change=${this.handleSelectionChange}></mo-checkbox>
|
|
213
213
|
`}
|
|
214
214
|
</mo-flex>
|
|
215
215
|
`;
|
|
@@ -15,7 +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
|
-
format: (
|
|
18
|
+
format: (value: boolean) => "Yes" | "No";
|
|
19
19
|
}
|
|
20
20
|
declare global {
|
|
21
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;IASrD,MAAM,
|
|
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;IASrD,MAAM,UAAW,OAAO,kBAEhC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC7D;CACD"}
|
|
@@ -16,8 +16,8 @@ let DataGridColumnBoolean = class DataGridColumnBoolean extends DataGridColumnCo
|
|
|
16
16
|
this.falseIcon = 'clear';
|
|
17
17
|
this.trueIconColor = 'var(--mo-color-accent)';
|
|
18
18
|
this.falseIconColor = 'var(--mo-color-gray)';
|
|
19
|
-
this.format = (
|
|
20
|
-
return
|
|
19
|
+
this.format = (value) => {
|
|
20
|
+
return value ? 'Yes' : 'No';
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -25,12 +25,13 @@ 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;
|
|
34
|
-
format: (
|
|
35
|
+
format: (value: any, _data: TData) => string;
|
|
35
36
|
}
|
|
36
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,MAAM,GAAG,SAAS,CAE/B;IAED,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;IAK1B,MAAM,UAAW,GAAG,SAAS,KAAK,YAEjC;CACD"}
|
|
@@ -23,14 +23,17 @@ export class DataGridColumnComponent extends Component {
|
|
|
23
23
|
this.textAlign = 'start';
|
|
24
24
|
this.nonSortable = false;
|
|
25
25
|
this.nonEditable = false;
|
|
26
|
-
this.format = (
|
|
27
|
-
|
|
28
|
-
return value === undefined ? '' : String(value);
|
|
26
|
+
this.format = (value, _data) => {
|
|
27
|
+
return value === undefined || value === null ? '' : String(value);
|
|
29
28
|
};
|
|
30
29
|
}
|
|
30
|
+
get suffix() {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
31
33
|
get column() {
|
|
32
34
|
const nonEditable = this.nonEditable;
|
|
33
35
|
return new DataGridColumn({
|
|
36
|
+
suffix: this.suffix,
|
|
34
37
|
dataSelector: this.dataSelector,
|
|
35
38
|
sortDataSelector: this.sortDataSelector,
|
|
36
39
|
heading: this.heading,
|
|
@@ -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
|
+
format: (_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,MAAM,WAAY,MAAM,QAAQ,KAAK,YAE7C;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,2BAA2B,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;KACzD;CACD"}
|
|
@@ -12,17 +12,23 @@ 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;
|
|
23
|
+
this.format = (_value, data) => {
|
|
24
|
+
return this.getTooltipText(data) ?? '';
|
|
25
|
+
};
|
|
16
26
|
}
|
|
17
27
|
getContentTemplate(value, data) {
|
|
18
28
|
if (!value) {
|
|
19
29
|
return html.nothing;
|
|
20
30
|
}
|
|
21
|
-
const tooltipText =
|
|
22
|
-
? undefined
|
|
23
|
-
: typeof this.tooltipSelector === 'function'
|
|
24
|
-
? this.tooltipSelector(data)
|
|
25
|
-
: getValueByKeyPath(data, this.tooltipSelector);
|
|
31
|
+
const tooltipText = this.getTooltipText(data);
|
|
26
32
|
return !value ? html.nothing : html `
|
|
27
33
|
<img
|
|
28
34
|
${tooltipText ? tooltip(tooltipText) : html.nothing}
|
|
@@ -3,7 +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
|
-
format: (
|
|
6
|
+
format: (value: Date | undefined) => string;
|
|
7
7
|
}
|
|
8
8
|
declare global {
|
|
9
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;IAE1C,MAAM,
|
|
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,MAAM,UAAW,IAAI,GAAG,SAAS,YAEzC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,0BAA0B,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;KACvD;CACD"}
|
|
@@ -6,8 +6,7 @@ let DataGridColumnDate = class DataGridColumnDate extends DataGridColumnDateTime
|
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.fieldTag = literal `mo-field-date`;
|
|
9
|
-
this.format = (
|
|
10
|
-
const value = getValueByKeyPath(data, this.dataSelector);
|
|
9
|
+
this.format = (value) => {
|
|
11
10
|
return !value ? '' : value.formatAsDate() ?? '';
|
|
12
11
|
};
|
|
13
12
|
}
|
|
@@ -3,7 +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
|
-
format: (
|
|
6
|
+
format: (value: Date) => string;
|
|
7
7
|
}
|
|
8
8
|
declare global {
|
|
9
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;IAE/C,MAAM,
|
|
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,MAAM,UAAW,IAAI,YAU7B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,+BAA+B,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;KAChE;CACD"}
|
|
@@ -6,8 +6,7 @@ let DataGridColumnDateTime = class DataGridColumnDateTime extends DataGridColumn
|
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.fieldTag = literal `mo-field-date-time`;
|
|
9
|
-
this.format = (
|
|
10
|
-
const value = getValueByKeyPath(data, this.dataSelector);
|
|
9
|
+
this.format = (value) => {
|
|
11
10
|
return !value ? '' : [
|
|
12
11
|
value.formatAsDate(),
|
|
13
12
|
value.formatAsTime({
|
|
@@ -14,7 +14,7 @@ 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
|
-
format: (data: TData) => string;
|
|
17
|
+
format: (value: number | undefined, data: TData) => string;
|
|
18
18
|
}
|
|
19
19
|
declare global {
|
|
20
20
|
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;AAExE;;;;;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;IAMjB,MAAM,
|
|
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;AAExE;;;;;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;IAMjB,MAAM,UAAW,MAAM,GAAG,SAAS,QAAQ,KAAK,YAIxD;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,8BAA8B,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAA;KAC/D;CACD"}
|
|
@@ -13,8 +13,7 @@ import { DataGridColumnNumberBase } from './DataGridColumnNumberBase.js';
|
|
|
13
13
|
let DataGridColumnCurrency = DataGridColumnCurrency_1 = class DataGridColumnCurrency extends DataGridColumnNumberBase {
|
|
14
14
|
constructor() {
|
|
15
15
|
super(...arguments);
|
|
16
|
-
this.format = (data) => {
|
|
17
|
-
const value = this.getNumber(getValueByKeyPath(data, this.dataSelector));
|
|
16
|
+
this.format = (value, data) => {
|
|
18
17
|
return value === undefined ? '' : value.formatAsCurrency(this.getCurrency(data), {
|
|
19
18
|
useGrouping: false,
|
|
20
19
|
});
|
|
@@ -1,10 +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;
|
|
7
|
-
format: (
|
|
8
|
+
format: (value: number | undefined) => string;
|
|
8
9
|
}
|
|
9
10
|
declare global {
|
|
10
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,MAAM,UAAW,MAAM,GAAG,SAAS,YAO3C;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC7D;CACD"}
|
|
@@ -5,14 +5,17 @@ import { DataGridColumnNumberBase } from './DataGridColumnNumberBase.js';
|
|
|
5
5
|
let DataGridColumnPercent = class DataGridColumnPercent extends DataGridColumnNumberBase {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
|
-
this.format = (
|
|
9
|
-
const
|
|
10
|
-
return
|
|
8
|
+
this.format = (value) => {
|
|
9
|
+
const numerical = this.getNumber(value);
|
|
10
|
+
return numerical === undefined ? '' : numerical.format({
|
|
11
11
|
minimumFractionDigits: 0,
|
|
12
12
|
maximumFractionDigits: 2,
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
get suffix() {
|
|
17
|
+
return '(%)';
|
|
18
|
+
}
|
|
16
19
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
20
|
getContentTemplate(value, _data) {
|
|
18
21
|
return html `${this.getNumber(value)?.formatAsPercent() ?? html.nothing}`;
|