Skip to content

Commit 1f4947d

Browse files
authored
Merge pull request #56 from mendix/release/3.8.0
Workflow Commons 3.8.0
2 parents 3e965c7 + 221bb56 commit 1f4947d

9 files changed

Lines changed: 414 additions & 401 deletions

File tree

ReleaseNotes.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## Release 3.8.0
2+
3+
* We upgraded the module to Mendix 10.12.0
4+
* We updated Data Widgets module compatibility to v2.21.2
5+
* We added an option to select if you want to keep the target users or re-run user targeting when retrying a workflow that has a failed user task.
6+
* We added a confirmation pop-up to all actions in the Workflow Admin page.
7+
* We added the microflows ‘ACT_UserTask_AssignToUser’ and ‘ACT_UserTask_AssignToUsers' to the ‘Use me’ folder, that can be used to assign user(s) to a user task. The 'ACT_UserTask_AssignToUsers’ microflow is only applicable for multi-user tasks.
8+
9+
_______
10+
111
## Release 3.7.0
212

313
* We added a scheduled event to clean-up expired audit trail logs. Refer to module documentation for more details and how to set it up.

Releases/WorkflowCommons-3-8-0.mpk

2.09 MB
Binary file not shown.
956 KB
Binary file not shown.

Source/javascriptsource/datawidgets/actions/Export_To_Excel.js

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -26,54 +26,57 @@ export async function Export_To_Excel(datagridName, fileName, sheetName, include
2626
return false;
2727
}
2828

29-
return new Promise((resolve, reject) => {
30-
const stream =
31-
window[window.DATAGRID_DATA_EXPORT][datagridName].create();
29+
const REGISTRY_NAME = "com.mendix.widgets.web.datagrid.export";
30+
const registry = window[REGISTRY_NAME];
31+
const controller = registry.get(datagridName);
3232

33-
let worksheet;
34-
let headers;
35-
const streamOptions = { limit: chunkSize };
36-
stream.process((msg) => {
37-
if (!msg) {
38-
return;
39-
}
33+
if (controller === undefined) {
34+
return false;
35+
}
36+
37+
return new Promise((resolve) => {
38+
function handler(req) {
39+
let worksheet;
40+
let headers;
4041

41-
switch (msg.type) {
42-
case "columns":
43-
headers = msg.payload.map(column => column.name);
44-
if (includeColumnHeaders) {
45-
worksheet = utils.aoa_to_sheet([headers]);
46-
}
47-
break;
48-
case "data":
49-
if (worksheet === undefined) {
50-
worksheet = utils.aoa_to_sheet(msg.payload)
51-
} else {
52-
utils.sheet_add_aoa(worksheet, msg.payload, { origin: -1 });
53-
}
54-
break;
55-
case "end":
56-
if (worksheet) {
57-
// Set character width for each column
58-
// https://docs.sheetjs.com/docs/csf/sheet#worksheet-object
59-
worksheet["!cols"] = headers.map(header => ({
60-
wch: header.length + 10
61-
}));
62-
const workbook = utils.book_new();
63-
utils.book_append_sheet(workbook, worksheet, sheetName === "" ? "Data" : sheetName);
64-
writeFileXLSX(workbook, `${fileName}.xlsx`);
65-
resolve(true);
66-
} else {
67-
resolve(false);
68-
}
69-
break;
70-
case "aborted":
42+
req.on("headers", (hds) => {
43+
headers = hds.map(header => header.name);
44+
if (includeColumnHeaders) {
45+
worksheet = utils.aoa_to_sheet([headers]);
46+
}
47+
});
48+
49+
req.on("data", (data) => {
50+
if (worksheet === undefined) {
51+
worksheet = utils.aoa_to_sheet(data)
52+
} else {
53+
utils.sheet_add_aoa(worksheet, data, { origin: -1 });
54+
}
55+
});
56+
57+
req.on("end", () => {
58+
if (worksheet) {
59+
// Set character width for each column
60+
// https://docs.sheetjs.com/docs/csf/sheet#worksheet-object
61+
worksheet["!cols"] = headers.map(header => ({
62+
wch: header.length + 10
63+
}));
64+
const workbook = utils.book_new();
65+
utils.book_append_sheet(workbook, worksheet, sheetName === "" ? "Data" : sheetName);
66+
writeFileXLSX(workbook, `${fileName}.xlsx`);
67+
resolve(true);
68+
} else {
7169
resolve(false);
72-
break;
73-
}
74-
}, streamOptions);
70+
}
71+
});
72+
73+
req.on("abort", () => resolve(false));
74+
}
7575

76-
stream.start();
76+
controller.exportData(handler, {
77+
withHeaders: true,
78+
limit: chunkSize.toNumber()
79+
})
7780
});
7881
// END USER CODE
7982
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.20.0
1+
2.21.2

0 commit comments

Comments
 (0)