@stenajs-webui/grid-export 14.1.1 → 15.0.0-alpha.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/index.es.js +53 -50
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +71 -49
- package/dist/index.js.map +1 -1
- package/package.json +6 -7
package/dist/index.es.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useCallback, useState } from 'react';
|
|
2
3
|
import zipcelx from 'zipcelx';
|
|
3
4
|
import { formatColumnIdToHeaderCellLabel, createGroupConfigAndIdsForRows } from '@stenajs-webui/grid';
|
|
4
5
|
import { flatten } from 'lodash';
|
|
5
6
|
import { format } from 'date-fns';
|
|
6
7
|
import { FlatButton } from '@stenajs-webui/elements';
|
|
7
8
|
import { faFileDownload } from '@fortawesome/free-solid-svg-icons/faFileDownload';
|
|
8
|
-
import
|
|
9
|
+
import * as clipboard from 'clipboard-polyfill';
|
|
9
10
|
|
|
10
11
|
/*! *****************************************************************************
|
|
11
12
|
Copyright (c) Microsoft Corporation.
|
|
@@ -60,15 +61,17 @@ function __generator(thisArg, body) {
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
function
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
function __spreadArray(to, from, pack) {
|
|
65
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
66
|
+
if (ar || !(i in from)) {
|
|
67
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
68
|
+
ar[i] = from[i];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
69
72
|
}
|
|
70
73
|
|
|
71
|
-
var transformTableHeaders = function (config, groupConfigs) {
|
|
74
|
+
var transformTableHeaders$1 = function (config, groupConfigs) {
|
|
72
75
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
73
76
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
74
77
|
var _a;
|
|
@@ -80,7 +83,7 @@ var transformTableHeaders = function (config, groupConfigs) {
|
|
|
80
83
|
});
|
|
81
84
|
}));
|
|
82
85
|
};
|
|
83
|
-
var transformGroupHeaders = function (groupConfigs) {
|
|
86
|
+
var transformGroupHeaders$1 = function (groupConfigs) {
|
|
84
87
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
85
88
|
return groupConfig.columnOrder.map(function (_, index) {
|
|
86
89
|
var _a;
|
|
@@ -92,30 +95,30 @@ var transformGroupHeaders = function (groupConfigs) {
|
|
|
92
95
|
}));
|
|
93
96
|
};
|
|
94
97
|
|
|
95
|
-
var transformItemToCell = function (item, itemValueResolver, itemLabelFormatter, formatter) {
|
|
98
|
+
var transformItemToCell$1 = function (item, itemValueResolver, itemLabelFormatter, formatter) {
|
|
96
99
|
if (formatter) {
|
|
97
|
-
return createCell(formatter(item));
|
|
100
|
+
return createCell$1(formatter(item));
|
|
98
101
|
}
|
|
99
102
|
var value = itemValueResolver(item);
|
|
100
103
|
if (itemLabelFormatter) {
|
|
101
104
|
var label = itemLabelFormatter === null || itemLabelFormatter === void 0 ? void 0 : itemLabelFormatter(value, item);
|
|
102
|
-
return createCell(label);
|
|
105
|
+
return createCell$1(label);
|
|
103
106
|
}
|
|
104
107
|
if (typeof value === "number" || typeof value === "string") {
|
|
105
|
-
return createCell(value);
|
|
108
|
+
return createCell$1(value);
|
|
106
109
|
}
|
|
107
110
|
if (typeof value === "boolean") {
|
|
108
|
-
return createCell(value ? "Y" : "");
|
|
111
|
+
return createCell$1(value ? "Y" : "");
|
|
109
112
|
}
|
|
110
113
|
if (value instanceof Date) {
|
|
111
|
-
return createCell(format(value, "yyyy-MM-dd HH:mm"));
|
|
114
|
+
return createCell$1(format(value, "yyyy-MM-dd HH:mm"));
|
|
112
115
|
}
|
|
113
116
|
if (value == null) {
|
|
114
|
-
return createCell("");
|
|
117
|
+
return createCell$1("");
|
|
115
118
|
}
|
|
116
|
-
return createCell(String(value));
|
|
119
|
+
return createCell$1(String(value));
|
|
117
120
|
};
|
|
118
|
-
var createCell = function (value) {
|
|
121
|
+
var createCell$1 = function (value) {
|
|
119
122
|
var type = typeof value === "number" ? "number" : "string";
|
|
120
123
|
return {
|
|
121
124
|
type: type,
|
|
@@ -123,17 +126,17 @@ var createCell = function (value) {
|
|
|
123
126
|
};
|
|
124
127
|
};
|
|
125
128
|
|
|
126
|
-
var transformTableRow = function (item, config, groupConfigs, formatters) {
|
|
129
|
+
var transformTableRow$1 = function (item, config, groupConfigs, formatters) {
|
|
127
130
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
128
131
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
129
|
-
return transformCell(item, columnId, config, formatters);
|
|
132
|
+
return transformCell$1(item, columnId, config, formatters);
|
|
130
133
|
});
|
|
131
134
|
}));
|
|
132
135
|
};
|
|
133
|
-
var transformCell = function (item, columnId, config, formatters) {
|
|
136
|
+
var transformCell$1 = function (item, columnId, config, formatters) {
|
|
134
137
|
var columnConfig = config.columns[columnId];
|
|
135
138
|
var formatter = formatters === null || formatters === void 0 ? void 0 : formatters[columnId];
|
|
136
|
-
return transformItemToCell(item, columnConfig.itemValueResolver, columnConfig.itemLabelFormatter, formatter);
|
|
139
|
+
return transformItemToCell$1(item, columnConfig.itemValueResolver, columnConfig.itemLabelFormatter, formatter);
|
|
137
140
|
};
|
|
138
141
|
|
|
139
142
|
var createZipcelxConfig = function (filename, config, items, formatters) {
|
|
@@ -141,15 +144,15 @@ var createZipcelxConfig = function (filename, config, items, formatters) {
|
|
|
141
144
|
var headerRows = [];
|
|
142
145
|
var groupConfigs = groupConfigsAndIds.map(function (p) { return p.groupConfig; });
|
|
143
146
|
if ("columnGroups" in config) {
|
|
144
|
-
headerRows.push(transformGroupHeaders(groupConfigs));
|
|
147
|
+
headerRows.push(transformGroupHeaders$1(groupConfigs));
|
|
145
148
|
}
|
|
146
|
-
headerRows.push(transformTableHeaders(config, groupConfigs));
|
|
149
|
+
headerRows.push(transformTableHeaders$1(config, groupConfigs));
|
|
147
150
|
return {
|
|
148
151
|
filename: filename,
|
|
149
152
|
sheet: {
|
|
150
|
-
data:
|
|
151
|
-
return transformTableRow(item, config, groupConfigs, formatters);
|
|
152
|
-
})),
|
|
153
|
+
data: __spreadArray(__spreadArray([], headerRows, true), items.map(function (item) {
|
|
154
|
+
return transformTableRow$1(item, config, groupConfigs, formatters);
|
|
155
|
+
}), true),
|
|
153
156
|
},
|
|
154
157
|
};
|
|
155
158
|
};
|
|
@@ -184,7 +187,7 @@ var StandardTableExcelExportButton = function StandardTableExcelExportButton(_a)
|
|
|
184
187
|
}
|
|
185
188
|
});
|
|
186
189
|
}); }, [config, items, filename, formatters]);
|
|
187
|
-
return (createElement(FlatButton, { size: size, leftIcon: faFileDownload, onClick: onClickExportExcel, disabled: !items || !items.length }));
|
|
190
|
+
return (React.createElement(FlatButton, { size: size, leftIcon: faFileDownload, onClick: onClickExportExcel, disabled: !items || !items.length }));
|
|
188
191
|
};
|
|
189
192
|
|
|
190
193
|
var transformJustifyContentToTextAlign = function (justifyContent) {
|
|
@@ -204,7 +207,7 @@ var transformJustifyContentToTextAlign = function (justifyContent) {
|
|
|
204
207
|
}
|
|
205
208
|
};
|
|
206
209
|
|
|
207
|
-
var transformTableHeaders
|
|
210
|
+
var transformTableHeaders = function (config, groupConfigs) {
|
|
208
211
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
209
212
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
210
213
|
var _a, _b;
|
|
@@ -217,37 +220,37 @@ var transformTableHeaders$1 = function (config, groupConfigs) {
|
|
|
217
220
|
});
|
|
218
221
|
}));
|
|
219
222
|
};
|
|
220
|
-
var transformGroupHeaders
|
|
223
|
+
var transformGroupHeaders = function (groupConfigs) {
|
|
221
224
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
222
225
|
var _a;
|
|
223
226
|
return "<th style=\"text-align: left\" colspan=\"" + groupConfig.columnOrder.length + "\">" + ((_a = groupConfig.label) !== null && _a !== void 0 ? _a : "") + "</th>";
|
|
224
227
|
}));
|
|
225
228
|
};
|
|
226
229
|
|
|
227
|
-
var transformItemToCell
|
|
230
|
+
var transformItemToCell = function (item, itemValueResolver, justifyContentCell, itemLabelFormatter, formatter) {
|
|
228
231
|
if (formatter) {
|
|
229
|
-
return createCell
|
|
232
|
+
return createCell(formatter(item), justifyContentCell);
|
|
230
233
|
}
|
|
231
234
|
var value = itemValueResolver(item);
|
|
232
235
|
if (itemLabelFormatter) {
|
|
233
236
|
var label = itemLabelFormatter === null || itemLabelFormatter === void 0 ? void 0 : itemLabelFormatter(value, item);
|
|
234
|
-
return createCell
|
|
237
|
+
return createCell(label, justifyContentCell);
|
|
235
238
|
}
|
|
236
239
|
if (typeof value === "number" || typeof value === "string") {
|
|
237
|
-
return createCell
|
|
240
|
+
return createCell(value, justifyContentCell);
|
|
238
241
|
}
|
|
239
242
|
if (typeof value === "boolean") {
|
|
240
|
-
return createCell
|
|
243
|
+
return createCell(value ? "Y" : "", justifyContentCell);
|
|
241
244
|
}
|
|
242
245
|
if (value instanceof Date) {
|
|
243
|
-
return createCell
|
|
246
|
+
return createCell(format(value, "yyyy-MM-dd HH:mm"), justifyContentCell);
|
|
244
247
|
}
|
|
245
248
|
if (value == null) {
|
|
246
|
-
return createCell
|
|
249
|
+
return createCell("", justifyContentCell);
|
|
247
250
|
}
|
|
248
|
-
return createCell
|
|
251
|
+
return createCell(String(value), justifyContentCell);
|
|
249
252
|
};
|
|
250
|
-
var createCell
|
|
253
|
+
var createCell = function (value, justifyContentCell) {
|
|
251
254
|
if (justifyContentCell) {
|
|
252
255
|
var styleProperty = transformJustifyContentToTextAlign(justifyContentCell);
|
|
253
256
|
return "<td" + (styleProperty ? ' style="' + styleProperty + '"' : "") + ">" + value + "</td>";
|
|
@@ -255,17 +258,17 @@ var createCell$1 = function (value, justifyContentCell) {
|
|
|
255
258
|
return "<td>" + value + "</td>";
|
|
256
259
|
};
|
|
257
260
|
|
|
258
|
-
var transformTableRow
|
|
261
|
+
var transformTableRow = function (item, config, groupConfigs, formatters) {
|
|
259
262
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
260
263
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
261
|
-
return transformCell
|
|
264
|
+
return transformCell(item, columnId, config, formatters);
|
|
262
265
|
});
|
|
263
266
|
})).join("");
|
|
264
267
|
};
|
|
265
|
-
var transformCell
|
|
268
|
+
var transformCell = function (item, columnId, config, formatters) {
|
|
266
269
|
var columnConfig = config.columns[columnId];
|
|
267
270
|
var formatter = formatters === null || formatters === void 0 ? void 0 : formatters[columnId];
|
|
268
|
-
return transformItemToCell
|
|
271
|
+
return transformItemToCell(item, columnConfig.itemValueResolver, columnConfig.justifyContentCell, columnConfig.itemLabelFormatter, formatter);
|
|
269
272
|
};
|
|
270
273
|
|
|
271
274
|
var createHtmlConfig = function (config, items, formatters) {
|
|
@@ -273,14 +276,14 @@ var createHtmlConfig = function (config, items, formatters) {
|
|
|
273
276
|
var headerRows = [];
|
|
274
277
|
var groupConfigs = groupConfigsAndIds.map(function (p) { return p.groupConfig; });
|
|
275
278
|
if ("columnGroups" in config) {
|
|
276
|
-
headerRows.push(transformGroupHeaders
|
|
279
|
+
headerRows.push(transformGroupHeaders(groupConfigs).join(""));
|
|
277
280
|
}
|
|
278
|
-
headerRows.push(transformTableHeaders
|
|
281
|
+
headerRows.push(transformTableHeaders(config, groupConfigs).join(""));
|
|
279
282
|
var header = "<thead>" + headerRows
|
|
280
283
|
.map(function (headerRow) { return "<tr>" + headerRow + "</tr>"; })
|
|
281
284
|
.join("") + "</thead>";
|
|
282
285
|
var tbodyRows = items
|
|
283
|
-
.map(function (item) { return transformTableRow
|
|
286
|
+
.map(function (item) { return transformTableRow(item, config, groupConfigs, formatters); })
|
|
284
287
|
.map(function (row) { return "<tr>" + row + "</tr>"; });
|
|
285
288
|
var body = "<tbody>" + tbodyRows.join("") + "</tbody>";
|
|
286
289
|
return "<table>" + header + body + "</table>";
|
|
@@ -304,10 +307,10 @@ function copyContentToClipboard(items, config, formatters, renderContent) {
|
|
|
304
307
|
htmlToCopy = renderContent(htmlToCopy);
|
|
305
308
|
}
|
|
306
309
|
if (!htmlToCopy) return [3 /*break*/, 2];
|
|
307
|
-
item = new ClipboardItem({
|
|
310
|
+
item = new clipboard.ClipboardItem({
|
|
308
311
|
"text/html": new Blob([htmlToCopy], { type: "text/html" }),
|
|
309
312
|
});
|
|
310
|
-
return [4 /*yield*/, write([item])];
|
|
313
|
+
return [4 /*yield*/, clipboard.write([item])];
|
|
311
314
|
case 1:
|
|
312
315
|
_a.sent();
|
|
313
316
|
_a.label = 2;
|
|
@@ -333,7 +336,7 @@ function StandardTableHtmlCopyToClipboardButton(_a) {
|
|
|
333
336
|
}
|
|
334
337
|
});
|
|
335
338
|
}); }, [config, items, formatters, numTimeToRevertLabel, renderContent]);
|
|
336
|
-
return (createElement(FlatButton, { size: size, onClick: onClickExportHtml, disabled: !items || !items.length, label: contentCopied ? labelAfterCopy : label }));
|
|
339
|
+
return (React.createElement(FlatButton, { size: size, onClick: onClickExportHtml, disabled: !items || !items.length, label: contentCopied ? labelAfterCopy : label }));
|
|
337
340
|
}
|
|
338
341
|
|
|
339
342
|
export { StandardTableExcelExportButton, StandardTableHtmlCopyToClipboardButton, createHtmlConfig, createZipcelxConfig, downloadExcelForStandardTable };
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton = function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n}: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(filename, config, items, formatters);\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n};\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty = transformJustifyContentToTextAlign(\n justifyContentCell\n );\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["React.createElement","transformTableHeaders","transformGroupHeaders","transformItemToCell","createCell","transformTableRow","transformCell","clipboard.ClipboardItem","clipboard.write"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton = function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n}: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(filename, config, items, formatters);\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n};\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty = transformJustifyContentToTextAlign(\n justifyContentCell\n );\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["transformTableHeaders","transformGroupHeaders","transformItemToCell","createCell","transformTableRow","transformCell"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,27 @@ var clipboard = require('clipboard-polyfill');
|
|
|
13
13
|
|
|
14
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
15
|
|
|
16
|
+
function _interopNamespace(e) {
|
|
17
|
+
if (e && e.__esModule) return e;
|
|
18
|
+
var n = Object.create(null);
|
|
19
|
+
if (e) {
|
|
20
|
+
Object.keys(e).forEach(function (k) {
|
|
21
|
+
if (k !== 'default') {
|
|
22
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
23
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return e[k]; }
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
n["default"] = e;
|
|
31
|
+
return Object.freeze(n);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
16
35
|
var zipcelx__default = /*#__PURE__*/_interopDefaultLegacy(zipcelx);
|
|
36
|
+
var clipboard__namespace = /*#__PURE__*/_interopNamespace(clipboard);
|
|
17
37
|
|
|
18
38
|
/*! *****************************************************************************
|
|
19
39
|
Copyright (c) Microsoft Corporation.
|
|
@@ -68,15 +88,17 @@ function __generator(thisArg, body) {
|
|
|
68
88
|
}
|
|
69
89
|
}
|
|
70
90
|
|
|
71
|
-
function
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
91
|
+
function __spreadArray(to, from, pack) {
|
|
92
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
93
|
+
if (ar || !(i in from)) {
|
|
94
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
95
|
+
ar[i] = from[i];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
77
99
|
}
|
|
78
100
|
|
|
79
|
-
var transformTableHeaders = function (config, groupConfigs) {
|
|
101
|
+
var transformTableHeaders$1 = function (config, groupConfigs) {
|
|
80
102
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
81
103
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
82
104
|
var _a;
|
|
@@ -88,7 +110,7 @@ var transformTableHeaders = function (config, groupConfigs) {
|
|
|
88
110
|
});
|
|
89
111
|
}));
|
|
90
112
|
};
|
|
91
|
-
var transformGroupHeaders = function (groupConfigs) {
|
|
113
|
+
var transformGroupHeaders$1 = function (groupConfigs) {
|
|
92
114
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
93
115
|
return groupConfig.columnOrder.map(function (_, index) {
|
|
94
116
|
var _a;
|
|
@@ -100,30 +122,30 @@ var transformGroupHeaders = function (groupConfigs) {
|
|
|
100
122
|
}));
|
|
101
123
|
};
|
|
102
124
|
|
|
103
|
-
var transformItemToCell = function (item, itemValueResolver, itemLabelFormatter, formatter) {
|
|
125
|
+
var transformItemToCell$1 = function (item, itemValueResolver, itemLabelFormatter, formatter) {
|
|
104
126
|
if (formatter) {
|
|
105
|
-
return createCell(formatter(item));
|
|
127
|
+
return createCell$1(formatter(item));
|
|
106
128
|
}
|
|
107
129
|
var value = itemValueResolver(item);
|
|
108
130
|
if (itemLabelFormatter) {
|
|
109
131
|
var label = itemLabelFormatter === null || itemLabelFormatter === void 0 ? void 0 : itemLabelFormatter(value, item);
|
|
110
|
-
return createCell(label);
|
|
132
|
+
return createCell$1(label);
|
|
111
133
|
}
|
|
112
134
|
if (typeof value === "number" || typeof value === "string") {
|
|
113
|
-
return createCell(value);
|
|
135
|
+
return createCell$1(value);
|
|
114
136
|
}
|
|
115
137
|
if (typeof value === "boolean") {
|
|
116
|
-
return createCell(value ? "Y" : "");
|
|
138
|
+
return createCell$1(value ? "Y" : "");
|
|
117
139
|
}
|
|
118
140
|
if (value instanceof Date) {
|
|
119
|
-
return createCell(dateFns.format(value, "yyyy-MM-dd HH:mm"));
|
|
141
|
+
return createCell$1(dateFns.format(value, "yyyy-MM-dd HH:mm"));
|
|
120
142
|
}
|
|
121
143
|
if (value == null) {
|
|
122
|
-
return createCell("");
|
|
144
|
+
return createCell$1("");
|
|
123
145
|
}
|
|
124
|
-
return createCell(String(value));
|
|
146
|
+
return createCell$1(String(value));
|
|
125
147
|
};
|
|
126
|
-
var createCell = function (value) {
|
|
148
|
+
var createCell$1 = function (value) {
|
|
127
149
|
var type = typeof value === "number" ? "number" : "string";
|
|
128
150
|
return {
|
|
129
151
|
type: type,
|
|
@@ -131,17 +153,17 @@ var createCell = function (value) {
|
|
|
131
153
|
};
|
|
132
154
|
};
|
|
133
155
|
|
|
134
|
-
var transformTableRow = function (item, config, groupConfigs, formatters) {
|
|
156
|
+
var transformTableRow$1 = function (item, config, groupConfigs, formatters) {
|
|
135
157
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
136
158
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
137
|
-
return transformCell(item, columnId, config, formatters);
|
|
159
|
+
return transformCell$1(item, columnId, config, formatters);
|
|
138
160
|
});
|
|
139
161
|
}));
|
|
140
162
|
};
|
|
141
|
-
var transformCell = function (item, columnId, config, formatters) {
|
|
163
|
+
var transformCell$1 = function (item, columnId, config, formatters) {
|
|
142
164
|
var columnConfig = config.columns[columnId];
|
|
143
165
|
var formatter = formatters === null || formatters === void 0 ? void 0 : formatters[columnId];
|
|
144
|
-
return transformItemToCell(item, columnConfig.itemValueResolver, columnConfig.itemLabelFormatter, formatter);
|
|
166
|
+
return transformItemToCell$1(item, columnConfig.itemValueResolver, columnConfig.itemLabelFormatter, formatter);
|
|
145
167
|
};
|
|
146
168
|
|
|
147
169
|
var createZipcelxConfig = function (filename, config, items, formatters) {
|
|
@@ -149,15 +171,15 @@ var createZipcelxConfig = function (filename, config, items, formatters) {
|
|
|
149
171
|
var headerRows = [];
|
|
150
172
|
var groupConfigs = groupConfigsAndIds.map(function (p) { return p.groupConfig; });
|
|
151
173
|
if ("columnGroups" in config) {
|
|
152
|
-
headerRows.push(transformGroupHeaders(groupConfigs));
|
|
174
|
+
headerRows.push(transformGroupHeaders$1(groupConfigs));
|
|
153
175
|
}
|
|
154
|
-
headerRows.push(transformTableHeaders(config, groupConfigs));
|
|
176
|
+
headerRows.push(transformTableHeaders$1(config, groupConfigs));
|
|
155
177
|
return {
|
|
156
178
|
filename: filename,
|
|
157
179
|
sheet: {
|
|
158
|
-
data:
|
|
159
|
-
return transformTableRow(item, config, groupConfigs, formatters);
|
|
160
|
-
})),
|
|
180
|
+
data: __spreadArray(__spreadArray([], headerRows, true), items.map(function (item) {
|
|
181
|
+
return transformTableRow$1(item, config, groupConfigs, formatters);
|
|
182
|
+
}), true),
|
|
161
183
|
},
|
|
162
184
|
};
|
|
163
185
|
};
|
|
@@ -168,7 +190,7 @@ var downloadExcelForStandardTable = function (filename, config, items, formatter
|
|
|
168
190
|
switch (_a.label) {
|
|
169
191
|
case 0:
|
|
170
192
|
excelConfig = createZipcelxConfig(filename, config, items, formatters);
|
|
171
|
-
return [4 /*yield*/, zipcelx__default[
|
|
193
|
+
return [4 /*yield*/, zipcelx__default["default"](excelConfig)];
|
|
172
194
|
case 1:
|
|
173
195
|
_a.sent();
|
|
174
196
|
return [2 /*return*/];
|
|
@@ -192,7 +214,7 @@ var StandardTableExcelExportButton = function StandardTableExcelExportButton(_a)
|
|
|
192
214
|
}
|
|
193
215
|
});
|
|
194
216
|
}); }, [config, items, filename, formatters]);
|
|
195
|
-
return (
|
|
217
|
+
return (React__namespace.createElement(elements.FlatButton, { size: size, leftIcon: faFileDownload.faFileDownload, onClick: onClickExportExcel, disabled: !items || !items.length }));
|
|
196
218
|
};
|
|
197
219
|
|
|
198
220
|
var transformJustifyContentToTextAlign = function (justifyContent) {
|
|
@@ -212,7 +234,7 @@ var transformJustifyContentToTextAlign = function (justifyContent) {
|
|
|
212
234
|
}
|
|
213
235
|
};
|
|
214
236
|
|
|
215
|
-
var transformTableHeaders
|
|
237
|
+
var transformTableHeaders = function (config, groupConfigs) {
|
|
216
238
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
217
239
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
218
240
|
var _a, _b;
|
|
@@ -225,37 +247,37 @@ var transformTableHeaders$1 = function (config, groupConfigs) {
|
|
|
225
247
|
});
|
|
226
248
|
}));
|
|
227
249
|
};
|
|
228
|
-
var transformGroupHeaders
|
|
250
|
+
var transformGroupHeaders = function (groupConfigs) {
|
|
229
251
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
230
252
|
var _a;
|
|
231
253
|
return "<th style=\"text-align: left\" colspan=\"" + groupConfig.columnOrder.length + "\">" + ((_a = groupConfig.label) !== null && _a !== void 0 ? _a : "") + "</th>";
|
|
232
254
|
}));
|
|
233
255
|
};
|
|
234
256
|
|
|
235
|
-
var transformItemToCell
|
|
257
|
+
var transformItemToCell = function (item, itemValueResolver, justifyContentCell, itemLabelFormatter, formatter) {
|
|
236
258
|
if (formatter) {
|
|
237
|
-
return createCell
|
|
259
|
+
return createCell(formatter(item), justifyContentCell);
|
|
238
260
|
}
|
|
239
261
|
var value = itemValueResolver(item);
|
|
240
262
|
if (itemLabelFormatter) {
|
|
241
263
|
var label = itemLabelFormatter === null || itemLabelFormatter === void 0 ? void 0 : itemLabelFormatter(value, item);
|
|
242
|
-
return createCell
|
|
264
|
+
return createCell(label, justifyContentCell);
|
|
243
265
|
}
|
|
244
266
|
if (typeof value === "number" || typeof value === "string") {
|
|
245
|
-
return createCell
|
|
267
|
+
return createCell(value, justifyContentCell);
|
|
246
268
|
}
|
|
247
269
|
if (typeof value === "boolean") {
|
|
248
|
-
return createCell
|
|
270
|
+
return createCell(value ? "Y" : "", justifyContentCell);
|
|
249
271
|
}
|
|
250
272
|
if (value instanceof Date) {
|
|
251
|
-
return createCell
|
|
273
|
+
return createCell(dateFns.format(value, "yyyy-MM-dd HH:mm"), justifyContentCell);
|
|
252
274
|
}
|
|
253
275
|
if (value == null) {
|
|
254
|
-
return createCell
|
|
276
|
+
return createCell("", justifyContentCell);
|
|
255
277
|
}
|
|
256
|
-
return createCell
|
|
278
|
+
return createCell(String(value), justifyContentCell);
|
|
257
279
|
};
|
|
258
|
-
var createCell
|
|
280
|
+
var createCell = function (value, justifyContentCell) {
|
|
259
281
|
if (justifyContentCell) {
|
|
260
282
|
var styleProperty = transformJustifyContentToTextAlign(justifyContentCell);
|
|
261
283
|
return "<td" + (styleProperty ? ' style="' + styleProperty + '"' : "") + ">" + value + "</td>";
|
|
@@ -263,17 +285,17 @@ var createCell$1 = function (value, justifyContentCell) {
|
|
|
263
285
|
return "<td>" + value + "</td>";
|
|
264
286
|
};
|
|
265
287
|
|
|
266
|
-
var transformTableRow
|
|
288
|
+
var transformTableRow = function (item, config, groupConfigs, formatters) {
|
|
267
289
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
268
290
|
return groupConfig.columnOrder.map(function (columnId) {
|
|
269
|
-
return transformCell
|
|
291
|
+
return transformCell(item, columnId, config, formatters);
|
|
270
292
|
});
|
|
271
293
|
})).join("");
|
|
272
294
|
};
|
|
273
|
-
var transformCell
|
|
295
|
+
var transformCell = function (item, columnId, config, formatters) {
|
|
274
296
|
var columnConfig = config.columns[columnId];
|
|
275
297
|
var formatter = formatters === null || formatters === void 0 ? void 0 : formatters[columnId];
|
|
276
|
-
return transformItemToCell
|
|
298
|
+
return transformItemToCell(item, columnConfig.itemValueResolver, columnConfig.justifyContentCell, columnConfig.itemLabelFormatter, formatter);
|
|
277
299
|
};
|
|
278
300
|
|
|
279
301
|
var createHtmlConfig = function (config, items, formatters) {
|
|
@@ -281,14 +303,14 @@ var createHtmlConfig = function (config, items, formatters) {
|
|
|
281
303
|
var headerRows = [];
|
|
282
304
|
var groupConfigs = groupConfigsAndIds.map(function (p) { return p.groupConfig; });
|
|
283
305
|
if ("columnGroups" in config) {
|
|
284
|
-
headerRows.push(transformGroupHeaders
|
|
306
|
+
headerRows.push(transformGroupHeaders(groupConfigs).join(""));
|
|
285
307
|
}
|
|
286
|
-
headerRows.push(transformTableHeaders
|
|
308
|
+
headerRows.push(transformTableHeaders(config, groupConfigs).join(""));
|
|
287
309
|
var header = "<thead>" + headerRows
|
|
288
310
|
.map(function (headerRow) { return "<tr>" + headerRow + "</tr>"; })
|
|
289
311
|
.join("") + "</thead>";
|
|
290
312
|
var tbodyRows = items
|
|
291
|
-
.map(function (item) { return transformTableRow
|
|
313
|
+
.map(function (item) { return transformTableRow(item, config, groupConfigs, formatters); })
|
|
292
314
|
.map(function (row) { return "<tr>" + row + "</tr>"; });
|
|
293
315
|
var body = "<tbody>" + tbodyRows.join("") + "</tbody>";
|
|
294
316
|
return "<table>" + header + body + "</table>";
|
|
@@ -312,10 +334,10 @@ function copyContentToClipboard(items, config, formatters, renderContent) {
|
|
|
312
334
|
htmlToCopy = renderContent(htmlToCopy);
|
|
313
335
|
}
|
|
314
336
|
if (!htmlToCopy) return [3 /*break*/, 2];
|
|
315
|
-
item = new
|
|
337
|
+
item = new clipboard__namespace.ClipboardItem({
|
|
316
338
|
"text/html": new Blob([htmlToCopy], { type: "text/html" }),
|
|
317
339
|
});
|
|
318
|
-
return [4 /*yield*/,
|
|
340
|
+
return [4 /*yield*/, clipboard__namespace.write([item])];
|
|
319
341
|
case 1:
|
|
320
342
|
_a.sent();
|
|
321
343
|
_a.label = 2;
|
|
@@ -341,7 +363,7 @@ function StandardTableHtmlCopyToClipboardButton(_a) {
|
|
|
341
363
|
}
|
|
342
364
|
});
|
|
343
365
|
}); }, [config, items, formatters, numTimeToRevertLabel, renderContent]);
|
|
344
|
-
return (
|
|
366
|
+
return (React__namespace.createElement(elements.FlatButton, { size: size, onClick: onClickExportHtml, disabled: !items || !items.length, label: contentCopied ? labelAfterCopy : label }));
|
|
345
367
|
}
|
|
346
368
|
|
|
347
369
|
exports.StandardTableExcelExportButton = StandardTableExcelExportButton;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton = function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n}: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(filename, config, items, formatters);\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n};\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty = transformJustifyContentToTextAlign(\n justifyContentCell\n );\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["flatten","formatColumnIdToHeaderCellLabel","format","createGroupConfigAndIdsForRows","zipcelx","useCallback","React.createElement","FlatButton","faFileDownload","transformTableHeaders","transformGroupHeaders","transformItemToCell","createCell","transformTableRow","transformCell","clipboard.ClipboardItem","clipboard.write","useState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton = function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n}: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(filename, config, items, formatters);\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n};\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty = transformJustifyContentToTextAlign(\n justifyContentCell\n );\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["transformTableHeaders","flatten","formatColumnIdToHeaderCellLabel","transformGroupHeaders","transformItemToCell","createCell","format","transformTableRow","transformCell","createGroupConfigAndIdsForRows","zipcelx","useCallback","React","FlatButton","faFileDownload","clipboard","useState"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/grid-export",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.0-alpha.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "mattias800",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
21
|
"test": "jest",
|
|
22
|
-
"test:watch": "react-scripts-ts test --env=jsdom",
|
|
23
22
|
"build": "rollup -c",
|
|
24
23
|
"start": "rollup -c -w",
|
|
25
24
|
"clean": "rm -rf dist",
|
|
@@ -29,12 +28,12 @@
|
|
|
29
28
|
},
|
|
30
29
|
"dependencies": {
|
|
31
30
|
"@fortawesome/free-solid-svg-icons": ">=5.15.3",
|
|
32
|
-
"@stenajs-webui/core": "
|
|
33
|
-
"@stenajs-webui/elements": "
|
|
34
|
-
"@stenajs-webui/grid": "
|
|
31
|
+
"@stenajs-webui/core": "15.0.0-alpha.10",
|
|
32
|
+
"@stenajs-webui/elements": "15.0.0-alpha.10",
|
|
33
|
+
"@stenajs-webui/grid": "15.0.0-alpha.10",
|
|
35
34
|
"@types/zipcelx": "^1.5.0",
|
|
36
35
|
"clipboard-polyfill": "^3.0.2",
|
|
37
|
-
"date-fns": "2.
|
|
36
|
+
"date-fns": "2.26.0",
|
|
38
37
|
"zipcelx": "^1.6.2"
|
|
39
38
|
},
|
|
40
39
|
"peerDependencies": {
|
|
@@ -57,5 +56,5 @@
|
|
|
57
56
|
"files": [
|
|
58
57
|
"dist"
|
|
59
58
|
],
|
|
60
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "8f037313b4dcab0e80a779a2122455b3235087d4"
|
|
61
60
|
}
|