@cccsaurora/howler-ui 2.18.0-dev.771 → 2.18.0-dev.778

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.
@@ -123,12 +123,30 @@ const useMyActionFunctions = () => {
123
123
  hideIconVariant: true,
124
124
  style: { padding: 0, display: 'flex', flexDirection: 'column', alignItems: 'stretch' }
125
125
  });
126
- setReport(await dispatchApi(api.action.execute.post({
126
+ const result = await dispatchApi(api.action.execute.post({
127
127
  request_id: reqId,
128
128
  query,
129
129
  action_id: actionId
130
- }), { throwError: false, showError: true }));
131
- showSuccessMessage(_jsx(Trans, { i18nKey: "actions.succeeded", values: { action: (await action).items[0]?.name || t('unknown') } }));
130
+ }), { throwError: false, showError: false });
131
+ setReport(result);
132
+ const actionName = (await action).items[0]?.name || t('unknown');
133
+ if (!result) {
134
+ showErrorMessage(_jsx(Trans, { i18nKey: "actions.error", values: { action: actionName, message: t('unknown') } }));
135
+ return;
136
+ }
137
+ const allItems = Object.values(result).flat();
138
+ const errors = allItems.filter(item => item.outcome === 'error');
139
+ const skipped = allItems.filter(item => item.outcome === 'skipped');
140
+ const succeeded = allItems.filter(item => item.outcome === 'success');
141
+ if (errors.length > 0) {
142
+ showErrorMessage(_jsx(Trans, { i18nKey: "actions.error", values: { action: actionName, messages: errors.map(error => error.message).join(', ') } }));
143
+ }
144
+ if (skipped.length > 0) {
145
+ showInfoMessage(_jsx(Trans, { i18nKey: "actions.skipped", values: { action: actionName, messages: skipped.map(skippedAction => skippedAction.message).join(', ') } }));
146
+ }
147
+ if (succeeded.length > 0) {
148
+ showSuccessMessage(_jsx(Trans, { i18nKey: "actions.succeeded", values: { action: actionName } }));
149
+ }
132
150
  }
133
151
  finally {
134
152
  if (key) {
@@ -138,7 +156,7 @@ const useMyActionFunctions = () => {
138
156
  setRequestId(null);
139
157
  setProgress([0, 0]);
140
158
  }
141
- }, [closeSnackbar, dispatchApi, showInfoMessage, showSuccessMessage, t]),
159
+ }, [closeSnackbar, dispatchApi, showInfoMessage, showSuccessMessage, showErrorMessage, t]),
142
160
  deleteAction: useCallback(async (actionId) => {
143
161
  setLoading(true);
144
162
  try {
@@ -2,6 +2,8 @@
2
2
  "*": "All values",
3
3
  "actions.running": "Action \"{{action}}\" is executing.",
4
4
  "actions.succeeded": "Action \"{{action}}\" completed successfully.",
5
+ "actions.skipped": "Action \"{{action}}\" was skipped: {{messages}}",
6
+ "actions.error": "Action \"{{action}}\" had error(s): {{messages}}",
5
7
  "add": "Add",
6
8
  "adminmenu": "Admin menu",
7
9
  "adminmenu.config": "Configuration",
@@ -4,6 +4,8 @@
4
4
  "Unclassified//Official Use Only": "Non classé//Réservé à des fins officielles",
5
5
  "actions.running": "Action \"{{action}}\" s'exécute.",
6
6
  "actions.succeeded": "Action \"{{action}}\" achevé avec succès.",
7
+ "actions.skipped": "Action \"{{action}}\" a été ignorée: {{messages}}",
8
+ "actions.error": "Action \"{{action}}\" a rencontré une ou des erreur(s): {{messages}}",
7
9
  "add": "Ajouter",
8
10
  "adminmenu": "Menu d'administration",
9
11
  "adminmenu.config": "Configuration",
package/package.json CHANGED
@@ -101,7 +101,7 @@
101
101
  "internal-slot": "1.0.7"
102
102
  },
103
103
  "type": "module",
104
- "version": "2.18.0-dev.771",
104
+ "version": "2.18.0-dev.778",
105
105
  "exports": {
106
106
  "./i18n": "./i18n.js",
107
107
  "./index.css": "./index.css",