@gooddata/sdk-ui-dashboard 9.9.2-beta.9 → 9.9.3-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/errors/errorPredicates.d.ts +12 -0
- package/esm/_staging/errors/errorPredicates.d.ts.map +1 -1
- package/esm/_staging/errors/errorPredicates.js +13 -1
- package/esm/_staging/errors/errorPredicates.js.map +1 -1
- package/esm/model/commandHandlers/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/index.js +2 -0
- package/esm/model/commandHandlers/index.js.map +1 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.d.ts +6 -0
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.d.ts.map +1 -0
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +31 -0
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js.map +1 -0
- package/esm/model/commands/base.d.ts +1 -1
- package/esm/model/commands/base.d.ts.map +1 -1
- package/esm/model/commands/index.d.ts +3 -3
- package/esm/model/commands/index.d.ts.map +1 -1
- package/esm/model/commands/index.js +1 -1
- package/esm/model/commands/index.js.map +1 -1
- package/esm/model/commands/insight.d.ts +28 -1
- package/esm/model/commands/insight.d.ts.map +1 -1
- package/esm/model/commands/insight.js +19 -1
- package/esm/model/commands/insight.js.map +1 -1
- package/esm/model/store/executionResults/executionResultsSelectors.d.ts +8 -0
- package/esm/model/store/executionResults/executionResultsSelectors.d.ts.map +1 -1
- package/esm/model/store/executionResults/executionResultsSelectors.js +26 -4
- package/esm/model/store/executionResults/executionResultsSelectors.js.map +1 -1
- package/esm/model/store/executionResults/types.d.ts +1 -0
- package/esm/model/store/executionResults/types.d.ts.map +1 -1
- package/esm/model/store/executionResults/types.js +1 -1
- package/esm/model/store/index.d.ts +1 -1
- package/esm/model/store/index.d.ts.map +1 -1
- package/esm/model/store/index.js +1 -1
- package/esm/model/store/index.js.map +1 -1
- package/esm/model/store/ui/uiSelectors.js +1 -1
- package/esm/presentation/localization/bundles/en-AU.json +5 -5
- package/esm/presentation/localization/bundles/en-GB.json +8 -8
- package/esm/presentation/localization/bundles/es-419.json +62 -62
- package/esm/presentation/localization/bundles/fr-CA.json +14 -14
- package/esm/presentation/localization/bundles/fr-FR.json +1 -1
- package/esm/presentation/localization/bundles/it-IT.json +5 -5
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/ScheduledMailDialogRenderer/RepeatSelect/RepeatTypeSelect.js +2 -2
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/ScheduledMailDialogRenderer/RepeatSelect/RepeatTypeSelect.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.d.ts +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.js +9 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.js.map +1 -1
- package/esm/presentation/widget/common/useInsightExport.d.ts +2 -0
- package/esm/presentation/widget/common/useInsightExport.d.ts.map +1 -1
- package/esm/presentation/widget/common/useInsightExport.js +14 -2
- package/esm/presentation/widget/common/useInsightExport.js.map +1 -1
- package/esm/presentation/widget/common/useRawExportHandler.d.ts +5 -0
- package/esm/presentation/widget/common/useRawExportHandler.d.ts.map +1 -0
- package/esm/presentation/widget/common/useRawExportHandler.js +39 -0
- package/esm/presentation/widget/common/useRawExportHandler.js.map +1 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.d.ts +2 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.js +3 -3
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +17 -4
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.d.ts +2 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.js +12 -5
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.d.ts +13 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.d.ts.map +1 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.js +45 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.js.map +1 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +3 -3
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/ExportOptions.d.ts +4 -0
- package/esm/presentation/widget/insight/configuration/ExportOptions.d.ts.map +1 -0
- package/esm/presentation/widget/insight/configuration/ExportOptions.js +49 -0
- package/esm/presentation/widget/insight/configuration/ExportOptions.js.map +1 -0
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/index.js +2 -2
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/index.js.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.d.ts +1 -0
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js +15 -5
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js.map +1 -1
- package/esm/presentation/widget/insightMenu/index.d.ts +1 -1
- package/esm/presentation/widget/insightMenu/index.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/index.js +1 -1
- package/esm/presentation/widget/insightMenu/types.d.ts +14 -3
- package/esm/presentation/widget/insightMenu/types.d.ts.map +1 -1
- package/esm/presentation/widget/warningPartialResult/InsightWidgetWarningPartialResult.d.ts +14 -0
- package/esm/presentation/widget/warningPartialResult/InsightWidgetWarningPartialResult.d.ts.map +1 -0
- package/esm/presentation/widget/warningPartialResult/InsightWidgetWarningPartialResult.js +32 -0
- package/esm/presentation/widget/warningPartialResult/InsightWidgetWarningPartialResult.js.map +1 -0
- package/esm/presentation/widget/warningPartialResult/MobileWarningPartialResultOverlay.d.ts +10 -0
- package/esm/presentation/widget/warningPartialResult/MobileWarningPartialResultOverlay.d.ts.map +1 -0
- package/esm/presentation/widget/warningPartialResult/MobileWarningPartialResultOverlay.js +22 -0
- package/esm/presentation/widget/warningPartialResult/MobileWarningPartialResultOverlay.js.map +1 -0
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +12 -2
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts +3 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +4 -2
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightWarning.d.ts +6 -0
- package/esm/presentation/widget/widget/InsightWidget/useInsightWarning.d.ts.map +1 -0
- package/esm/presentation/widget/widget/InsightWidget/useInsightWarning.js +11 -0
- package/esm/presentation/widget/widget/InsightWidget/useInsightWarning.js.map +1 -0
- package/esm/sdk-ui-dashboard.d.ts +54 -5
- package/package.json +15 -15
- package/styles/css/configurationPanel.css +12 -0
- package/styles/css/configurationPanel.css.map +1 -1
- package/styles/css/dashboard.css +101 -0
- package/styles/css/dashboard.css.map +1 -1
- package/styles/css/drillDialog.css +10 -0
- package/styles/css/drillDialog.css.map +1 -1
- package/styles/css/main.css +123 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/configurationPanel.scss +14 -0
- package/styles/scss/dashboard.scss +120 -1
- package/styles/scss/drillDialog.scss +13 -1
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"filterBar.showAll": "Afficher tout",
|
|
22
22
|
"filterBar.showLess": "Montrer moins",
|
|
23
23
|
"options.menu.export.PDF": "Exporter vers PDF",
|
|
24
|
-
"options.menu.schedule.email": "Programmer l'envoi
|
|
24
|
+
"options.menu.schedule.email": "Programmer l'envoi de courriels",
|
|
25
25
|
"options.menu.delete": "Supprimer",
|
|
26
26
|
"dialogs.export.cells": "CELLULES",
|
|
27
27
|
"dialogs.export.filters": "CONTEXTE DE LA PERCEPTION",
|
|
@@ -29,25 +29,25 @@
|
|
|
29
29
|
"dialogs.export.headline": "Exporter vers XLSX",
|
|
30
30
|
"dialogs.export.mergeHeaders": "Garder les cellules d'attributs fusionnées",
|
|
31
31
|
"dialogs.export.submit": "Exporter",
|
|
32
|
-
"dialogs.schedule.email.delete.success": "Votre
|
|
33
|
-
"dialogs.schedule.email.submit.success": "Le tableau de bord est programmé pour envoyer des
|
|
32
|
+
"dialogs.schedule.email.delete.success": "Votre courriel programmé a bien été supprimé.",
|
|
33
|
+
"dialogs.schedule.email.submit.success": "Le tableau de bord est programmé pour envoyer des courriels.",
|
|
34
34
|
"dialogs.schedule.email.submit.error": "Échec de la programmation du tableau de bord. Réessayez plus tard.",
|
|
35
35
|
"dialogs.schedule.email.save.success": "Bravo ! Votre programme a été enregistré.",
|
|
36
36
|
"dialogs.schedule.email.save.error": "L'enregistrement du programme a échoué. Veuillez réessayer.",
|
|
37
37
|
"dialogs.save.as.new.title": "Enregistrer en tant que nouveau tableau de bord",
|
|
38
38
|
"dialogs.save.as.new.desc": "Donnez au nouveau tableau de bord un nom descriptif pour le retrouver facilement.",
|
|
39
39
|
"dialogs.save.as.new.default.title": "Copie de {title}",
|
|
40
|
-
"dialogs.save.as.new.alertsAndEmailsMessage": "Les alertes et
|
|
40
|
+
"dialogs.save.as.new.alertsAndEmailsMessage": "Les alertes et courriels planifiés ne seront pas dupliqués.",
|
|
41
41
|
"dialogs.save.as.new.alertsMessage": "Les alertes ne seront pas dupliquées.",
|
|
42
|
-
"dialogs.save.as.new.emailsMessage": "Les
|
|
42
|
+
"dialogs.save.as.new.emailsMessage": "Les courriels planifiés ne seront pas dupliqués.",
|
|
43
43
|
"cancelConfirmationDialog.headline": "Ignorez les modifications?",
|
|
44
44
|
"cancelConfirmationDialog.message": "Toutes les modifications seront perdues",
|
|
45
45
|
"cancelConfirmationDialog.submitButtonText": "Ignorer les modifications",
|
|
46
46
|
"deleteDashboardDialog.headline": "Supprimez le tableau de bord?",
|
|
47
47
|
"deleteDashboardDialog.submitButtonText": "Supprimer",
|
|
48
|
-
"deleteDashboardDialog.alertsAndEmailsMessage": "Tous les
|
|
48
|
+
"deleteDashboardDialog.alertsAndEmailsMessage": "Tous les courriels programmés et alertes configurés pour ce tableau de bord seront aussi supprimés.",
|
|
49
49
|
"deleteDashboardDialog.alertsMessage": "Toutes les alertes configurées pour ce tableau de bord vont être également supprimées.",
|
|
50
|
-
"deleteDashboardDialog.emailsMessage": "Tous les
|
|
50
|
+
"deleteDashboardDialog.emailsMessage": "Tous les courriels planifiés configurés pour ce tableau de bord seront également supprimés.",
|
|
51
51
|
"deleteDashboardDialog.drillMessage": "Toutes les explorations de ce tableau de bord à partir d'autres tableaux de bord seront aussi supprimées.",
|
|
52
52
|
"create.dashboard": "Créer un tableau de bord",
|
|
53
53
|
"drill_modal_picker.drill-down": "Exploration descendante",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"dialogs.schedule.email.attachment.select.disabled.message": "Ce tableau de bord ne contient aucune perception.",
|
|
88
88
|
"dialogs.schedule.email.attachment.select.dashboard.header": "Tableau de bord (PDF)",
|
|
89
89
|
"dialogs.schedule.email.attachment.select.widgets.header": "Perception (CSV, XLSX)",
|
|
90
|
-
"dialogs.schedule.email.headline": "Programmer un envoi par
|
|
90
|
+
"dialogs.schedule.email.headline": "Programmer un envoi par courriel",
|
|
91
91
|
"dialogs.schedule.email.heading": "Programmer l'exportation",
|
|
92
92
|
"dialogs.schedule.email.message.label": "Message:",
|
|
93
93
|
"dialogs.schedule.email.unsubscribed.recipients": "{n, plural, one {1 destinataire désinscrit} other {# destinataires désinscrits}} de ce programme.",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"dialogs.schedule.email.subject.label": "Objet:",
|
|
106
106
|
"dialogs.schedule.email.time.label": "Première occurrence :",
|
|
107
107
|
"dialogs.schedule.email.to.label": "À :",
|
|
108
|
-
"dialogs.schedule.email.message.placeholder": "Bonjour,\n\nvotre
|
|
108
|
+
"dialogs.schedule.email.message.placeholder": "Bonjour,\n\nvotre courriel programmé est prêt. Vous pouvez télécharger le tableau de bord dans les pièces jointes.",
|
|
109
109
|
"dialogs.schedule.email.submit": "Planifier",
|
|
110
110
|
"dialogs.schedule.email.save": "Enregistrer",
|
|
111
111
|
"dialogs.schedule.email.format.options": "Options de format",
|
|
@@ -130,8 +130,8 @@
|
|
|
130
130
|
"dialogs.schedule.management.tab.user": "créées par moi",
|
|
131
131
|
"options.menu.schedule.email.recipient.invalid": "Ceci n'est pas une adresse électronique valide.",
|
|
132
132
|
"options.menu.schedule.email.recipient.warning.existed": "Vous avez déjà ajouté ce destinataire.",
|
|
133
|
-
"options.menu.schedule.email.recipient.warning.belong.workspace": "Cette adresse
|
|
134
|
-
"options.menu.schedule.email.recipient.external.not.allowed": "Cette adresse e-mail ne fait pas partie de cet espace de travail. Seul l'auteur du programme peut ajouter cette adresse
|
|
133
|
+
"options.menu.schedule.email.recipient.warning.belong.workspace": "Cette adresse électronique ne fait pas partie de cet espace de travail. Le destinataire recevra peut-être des données sensibles.",
|
|
134
|
+
"options.menu.schedule.email.recipient.external.not.allowed": "Cette adresse e-mail ne fait pas partie de cet espace de travail. Seul l'auteur du programme peut ajouter cette adresse électronique.",
|
|
135
135
|
"delete": "Supprimer",
|
|
136
136
|
"close": "Fermer",
|
|
137
137
|
"cancel": "Annuler",
|
|
@@ -141,14 +141,14 @@
|
|
|
141
141
|
"gs.date.yesterday": "Hier",
|
|
142
142
|
"kpi.alertBox.title": "Définir une alerte lors de la modification du KPI",
|
|
143
143
|
"kpi.alertBox.example": "Par ex.",
|
|
144
|
-
"kpi.alertBox.unverifiedEmail": "Désolé, vous ne pouvez pas définir une alerte. Assurez-vous que votre
|
|
144
|
+
"kpi.alertBox.unverifiedEmail": "Désolé, vous ne pouvez pas définir une alerte. Assurez-vous que votre courriel est vérifié. Si cela n'aide pas, demandez à votre administrateur de mettre à jour vos autorisations.",
|
|
145
145
|
"kpi.alertBox.disabledInReadOnly": "Les alertes sont désactivées en mode lecture seule",
|
|
146
146
|
"kpi.error.view": "Impossible d'afficher le KPI. Contactez votre administrateur pour corriger la définition du KPI.",
|
|
147
147
|
"kpiAlertDialog.delete": "Supprimer",
|
|
148
148
|
"kpiAlertDialog.deleting": "Suppression en cours…",
|
|
149
|
-
"kpiAlertDialog.emailMe": "Envoyez-moi un
|
|
149
|
+
"kpiAlertDialog.emailMe": "Envoyez-moi un courriel",
|
|
150
150
|
"kpiAlertDialog.emailMeWhen": "{emailMe} lorsque ce KPI est",
|
|
151
|
-
"kpiAlertDialog.emailInfo": "
|
|
151
|
+
"kpiAlertDialog.emailInfo": "Le courriel sera envoyé à {userEmail}",
|
|
152
152
|
"kpiAlertDialog.invalidNumber": "<strong>Ce nombre n'est pas valide.</strong>{br}Vérifiez-le et réessayez.",
|
|
153
153
|
"kpiAlertDialog.filtersDiffer": "KPI est à présent filtré différemment que lors de la configuration de l'alerte.",
|
|
154
154
|
"kpiAlertDialog.filtersApply": "Appliquer les filtres d'alerte au tableau de bord",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"dialogs.schedule.email.repeats.types.weekly": "Hebdomadairement le {day}",
|
|
105
105
|
"dialogs.schedule.email.subject.label": "Objet:",
|
|
106
106
|
"dialogs.schedule.email.time.label": "Première occurrence :",
|
|
107
|
-
"dialogs.schedule.email.to.label": "
|
|
107
|
+
"dialogs.schedule.email.to.label": "À :",
|
|
108
108
|
"dialogs.schedule.email.message.placeholder": "Bonjour,\n\nvotre e-mail programmé est prêt. Vous pouvez télécharger le tableau de bord dans les pièces jointes.",
|
|
109
109
|
"dialogs.schedule.email.submit": "Planifier",
|
|
110
110
|
"dialogs.schedule.email.save": "Enregistrer",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dialogs.export.filters": "CONTESTO ANALISI",
|
|
28
28
|
"dialogs.export.includeFilters": "Includi filtri applicati",
|
|
29
29
|
"dialogs.export.headline": "Esporta in XLSX",
|
|
30
|
-
"dialogs.export.mergeHeaders": "Mantieni celle degli attributi
|
|
30
|
+
"dialogs.export.mergeHeaders": "Mantieni unite le celle degli attributi",
|
|
31
31
|
"dialogs.export.submit": "Esporta",
|
|
32
32
|
"dialogs.schedule.email.delete.success": "Ottimo! L'e-mail programmata è stata eliminata.",
|
|
33
33
|
"dialogs.schedule.email.submit.success": "Ottimo! Il dashboard è stato programmato per l'invio delle e-mail.",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"dialogs.schedule.email.repeats.frequencies.month": "{n, plural, one {mese} other {mesi}}",
|
|
100
100
|
"dialogs.schedule.email.repeats.frequencies.week": "{n, plural, one {settimana} other {settimane}}",
|
|
101
101
|
"dialogs.schedule.email.repeats.types.custom": "Personalizza",
|
|
102
|
-
"dialogs.schedule.email.repeats.types.daily": "
|
|
102
|
+
"dialogs.schedule.email.repeats.types.daily": "Giornaliero",
|
|
103
103
|
"dialogs.schedule.email.repeats.types.monthly": "Ogni mese il {week, select, 1 {primo} 2 {secondo} 3 {terzo} 4 {quarto} other {ultimo}} {day}",
|
|
104
104
|
"dialogs.schedule.email.repeats.types.weekly": "Ogni settimana il {day}",
|
|
105
105
|
"dialogs.schedule.email.subject.label": "Oggetto:",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"dialogs.schedule.email.save": "Salva",
|
|
111
111
|
"dialogs.schedule.email.format.options": "Opzioni di formattazione",
|
|
112
112
|
"dialogs.schedule.email.insight.format": "Formato analisi:",
|
|
113
|
-
"dialogs.schedule.email.attribute.merged": "Mantieni celle degli attributi
|
|
113
|
+
"dialogs.schedule.email.attribute.merged": "Mantieni unite le celle degli attributi",
|
|
114
114
|
"dialogs.schedule.email.show.filters": "Mostra quali filtri sono applicati",
|
|
115
115
|
"dialogs.schedule.management.title": "Esportazioni programmate",
|
|
116
116
|
"dialogs.schedule.management.delete": "Eliminare la programmazione.",
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"dialogs.schedule.management.delete.error": "Non è stato possibile eliminare la programmazione. Riprovare più tardi.",
|
|
129
129
|
"dialogs.schedule.management.tab.all": "tutto",
|
|
130
130
|
"dialogs.schedule.management.tab.user": "creato da me",
|
|
131
|
-
"options.menu.schedule.email.recipient.invalid": "
|
|
131
|
+
"options.menu.schedule.email.recipient.invalid": "Indirizzo e-mail non valido.",
|
|
132
132
|
"options.menu.schedule.email.recipient.warning.existed": "Questo destinatario è già stato aggiunto.",
|
|
133
133
|
"options.menu.schedule.email.recipient.warning.belong.workspace": "Questo indirizzo e-mail non appartiene a quest'area di lavoro. Il destinatario potrebbe ricevere dati sensibili.",
|
|
134
134
|
"options.menu.schedule.email.recipient.external.not.allowed": "Questo indirizzo e-mail non appartiene a quest'area di lavoro. Solo l'autore della pianificazione può aggiungere questo indirizzo e-mail.",
|
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
"attributesDropdown.filterBy": "Filtra per",
|
|
215
215
|
"attributesDropdown.displayValuesAs": "Visualizza valori come",
|
|
216
216
|
"attributesDropdown.title": "Titolo",
|
|
217
|
-
"attributesDropdown.title.reset": "
|
|
217
|
+
"attributesDropdown.title.reset": "Azzera",
|
|
218
218
|
"attributesDropdown.selectionMode": "Selezione",
|
|
219
219
|
"attributesDropdown.selectionMode.multi": "Più valori",
|
|
220
220
|
"attributesDropdown.selectionMode.single": "Valore singolo",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2019-
|
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
|
2
2
|
import React, { useMemo } from "react";
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { Dropdown, DropdownList, DropdownButton, SingleSelectListItem } from "@gooddata/sdk-ui-kit";
|
|
@@ -31,7 +31,7 @@ export const RepeatTypeSelect = (props) => {
|
|
|
31
31
|
id,
|
|
32
32
|
title: intl.formatMessage(localizationKey, {
|
|
33
33
|
day: getIntlDayName(intl, startDate),
|
|
34
|
-
week: getWeek(startDate),
|
|
34
|
+
week: getWeek(startDate) === -1 ? "other" : getWeek(startDate),
|
|
35
35
|
}),
|
|
36
36
|
};
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeatTypeSelect.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/ScheduledMailDialogRenderer/RepeatSelect/RepeatTypeSelect.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAqB,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAqB,EAAE;IACzD,QAAQ,EAAE,EAAE,CAAC;QACT,KAAK,YAAY,CAAC,KAAK;YACnB,OAAO,QAAQ,CAAC,gCAAgC,CAAC;QACrD,KAAK,YAAY,CAAC,MAAM;YACpB,OAAO,QAAQ,CAAC,iCAAiC,CAAC;QACtD,KAAK,YAAY,CAAC,OAAO;YACrB,OAAO,QAAQ,CAAC,kCAAkC,CAAC;QACvD,KAAK,YAAY,CAAC,MAAM;YACpB,OAAO,QAAQ,CAAC,iCAAiC,CAAC;QACtD;YACI,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACnE,CAAC;AACL,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAAC,KAAK,EAAE,EAAE;IACxE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAC3F,CAAC,EAAE,EAAiB,EAAE;YAClB,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAE/C,OAAO;gBACH,EAAE;gBACF,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE;oBACvC,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC;oBACpC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"RepeatTypeSelect.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/ScheduledMailDialogRenderer/RepeatSelect/RepeatTypeSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,5 @@ export declare function getDay(date: Date): number;
|
|
|
9
9
|
export declare function getWeek(date: Date): number;
|
|
10
10
|
export declare function getMonth(date: Date): number;
|
|
11
11
|
export declare function getYear(date: Date): number;
|
|
12
|
+
export declare function isLastOccurrenceOfWeekdayInMonth(date: Date): boolean;
|
|
12
13
|
//# sourceMappingURL=datetime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;AAKpE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;AAgBvF,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE1C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEzC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;AAKpE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;AAgBvF,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE1C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEzC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAK1C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE3C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE1C;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAIpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2019-
|
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
|
2
2
|
import isDate from "lodash/isDate.js";
|
|
3
3
|
import format from "date-fns/format/index.js";
|
|
4
4
|
import { PLATFORM_DATE_FORMAT } from "../constants.js";
|
|
@@ -33,6 +33,9 @@ export function getDay(date) {
|
|
|
33
33
|
return convertSun2MonWeekday(date.getDay());
|
|
34
34
|
}
|
|
35
35
|
export function getWeek(date) {
|
|
36
|
+
if (isLastOccurrenceOfWeekdayInMonth(date)) {
|
|
37
|
+
return -1;
|
|
38
|
+
}
|
|
36
39
|
return Math.ceil(date.getDate() / 7);
|
|
37
40
|
}
|
|
38
41
|
export function getMonth(date) {
|
|
@@ -41,4 +44,9 @@ export function getMonth(date) {
|
|
|
41
44
|
export function getYear(date) {
|
|
42
45
|
return date.getFullYear();
|
|
43
46
|
}
|
|
47
|
+
export function isLastOccurrenceOfWeekdayInMonth(date) {
|
|
48
|
+
const nextWeek = new Date(date);
|
|
49
|
+
nextWeek.setDate(nextWeek.getDate() + 7);
|
|
50
|
+
return nextWeek.getMonth() !== date.getMonth();
|
|
51
|
+
}
|
|
44
52
|
//# sourceMappingURL=datetime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAG9C,MAAM,UAAU,+BAA+B,CAAC,IAA6B;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAGD,MAAM,UAAU,8BAA8B,CAC1C,IAA6B,EAC7B,UAAkB;IAElB,6EAA6E;IAC7E,sCAAsC;IACtC,MAAM,0BAA0B,GAA2B;QACvD,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,QAAQ;KACrB,CAAC;IACF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe,EAAE,SAAe;IAC3D,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IAClD,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAU;IAC7B,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAC9B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/datetime.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAG9C,MAAM,UAAU,+BAA+B,CAAC,IAA6B;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAGD,MAAM,UAAU,8BAA8B,CAC1C,IAA6B,EAC7B,UAAkB;IAElB,6EAA6E;IAC7E,sCAAsC;IACtC,MAAM,0BAA0B,GAA2B;QACvD,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,QAAQ;KACrB,CAAC;IACF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe,EAAE,SAAe;IAC3D,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IAClD,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAU;IAC7B,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAC9B,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;IAC9B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAU;IACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -6,7 +6,9 @@ export declare const useInsightExport: (config: {
|
|
|
6
6
|
}) => {
|
|
7
7
|
exportCSVEnabled: boolean;
|
|
8
8
|
exportXLSXEnabled: boolean;
|
|
9
|
+
isExportRawInNewUiVisible: boolean;
|
|
9
10
|
onExportCSV: () => void;
|
|
11
|
+
onExportRawCSV: () => void;
|
|
10
12
|
onExportXLSX: () => void;
|
|
11
13
|
};
|
|
12
14
|
//# sourceMappingURL=useInsightExport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInsightExport.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useInsightExport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useInsightExport.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useInsightExport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAqBjE,eAAO,MAAM,gBAAgB,WAAY;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;CAC/B;;;;;;;CA4FA,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
// (C) 2021-
|
|
1
|
+
// (C) 2021-2024 GoodData Corporation
|
|
2
2
|
import { useCallback, useState } from "react";
|
|
3
3
|
import { invariant } from "ts-invariant";
|
|
4
4
|
import { getInsightVisualizationMeta } from "@gooddata/sdk-ui-ext";
|
|
5
5
|
import { v4 as uuid } from "uuid";
|
|
6
|
-
import { selectSettings, useDashboardSelector, selectIsExecutionResultExportableToCsvByRef, selectIsExecutionResultExportableToXlsxByRef, useDashboardDispatch, dispatchAndWaitFor, exportInsightWidget, } from "../../../model/index.js";
|
|
6
|
+
import { selectSettings, useDashboardSelector, selectIsExecutionResultExportableToCsvByRef, selectIsExecutionResultExportableToXlsxByRef, useDashboardDispatch, dispatchAndWaitFor, exportInsightWidget, exportRawInsightWidget, } from "../../../model/index.js";
|
|
7
7
|
import { useExportHandler } from "./useExportHandler.js";
|
|
8
8
|
import { useExportDialogContext } from "../../dashboardContexts/index.js";
|
|
9
|
+
import { useRawExportHandler } from "./useRawExportHandler.js";
|
|
9
10
|
export const useInsightExport = (config) => {
|
|
10
11
|
const { title, widgetRef, insight } = config;
|
|
11
12
|
const [isExporting, setIsExporting] = useState(false);
|
|
@@ -14,11 +15,13 @@ export const useInsightExport = (config) => {
|
|
|
14
15
|
...configToUse,
|
|
15
16
|
format: configToUse.format === "xlsx" ? "xlsx" : "csv",
|
|
16
17
|
}, uuid())).then((result) => result.payload.result), [widgetRef]);
|
|
18
|
+
const exportRawFunction = useCallback(() => dispatchAndWaitFor(dispatch, exportRawInsightWidget(insight, uuid())).then((result) => result.payload.result), []);
|
|
17
19
|
const isInsightExportable = getInsightVisualizationMeta(insight).supportsExport;
|
|
18
20
|
const isExportableToCsv = useDashboardSelector(selectIsExecutionResultExportableToCsvByRef(widgetRef));
|
|
19
21
|
const isExportableToXlsx = useDashboardSelector(selectIsExecutionResultExportableToXlsxByRef(widgetRef));
|
|
20
22
|
const settings = useDashboardSelector(selectSettings);
|
|
21
23
|
const exportHandler = useExportHandler();
|
|
24
|
+
const exportRawHandler = useRawExportHandler();
|
|
22
25
|
const { openDialog, closeDialog } = useExportDialogContext();
|
|
23
26
|
const onExportCSV = useCallback(() => {
|
|
24
27
|
setIsExporting(true);
|
|
@@ -30,6 +33,12 @@ export const useInsightExport = (config) => {
|
|
|
30
33
|
invariant(exportFunction);
|
|
31
34
|
exportHandler(exportFunction, exportConfig).then(() => setIsExporting(false));
|
|
32
35
|
}, [exportFunction, title]);
|
|
36
|
+
const onExportRawCSV = useCallback(() => {
|
|
37
|
+
setIsExporting(true);
|
|
38
|
+
// if this bombs there is an issue with the logic enabling the buttons
|
|
39
|
+
invariant(exportRawFunction);
|
|
40
|
+
exportRawHandler(exportRawFunction, title).then(() => setIsExporting(false));
|
|
41
|
+
}, [exportRawFunction, title]);
|
|
33
42
|
const onExportXLSX = useCallback(() => {
|
|
34
43
|
openDialog({
|
|
35
44
|
onSubmit: ({ includeFilterContext, mergeHeaders }) => {
|
|
@@ -52,10 +61,13 @@ export const useInsightExport = (config) => {
|
|
|
52
61
|
}, [settings, title, exportFunction, closeDialog]);
|
|
53
62
|
const exportCSVEnabled = !isExporting && isInsightExportable && isExportableToCsv;
|
|
54
63
|
const exportXLSXEnabled = !isExporting && isInsightExportable && isExportableToXlsx;
|
|
64
|
+
const isExportRawInNewUiVisible = settings.enableRawExportsInNewUI === true;
|
|
55
65
|
return {
|
|
56
66
|
exportCSVEnabled,
|
|
57
67
|
exportXLSXEnabled,
|
|
68
|
+
isExportRawInNewUiVisible,
|
|
58
69
|
onExportCSV,
|
|
70
|
+
onExportRawCSV,
|
|
59
71
|
onExportXLSX,
|
|
60
72
|
};
|
|
61
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInsightExport.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useInsightExport.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,2CAA2C,EAC3C,4CAA4C,EAC5C,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useInsightExport.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useInsightExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IExportResult } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
type ExportHandler = (exportFunction: () => Promise<IExportResult>, title: string) => Promise<void>;
|
|
3
|
+
export declare const useRawExportHandler: () => ExportHandler;
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=useRawExportHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRawExportHandler.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useRawExportHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAKhF,KAAK,aAAa,GAAG,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpG,eAAO,MAAM,mBAAmB,QAAO,aAoCtC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import { useCallback, useRef } from "react";
|
|
3
|
+
import { isProtectedDataError } from "@gooddata/sdk-backend-spi";
|
|
4
|
+
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { downloadFile } from "../../../_staging/fileUtils/downloadFile.js";
|
|
6
|
+
import { messages } from "../../../locales.js";
|
|
7
|
+
export const useRawExportHandler = () => {
|
|
8
|
+
const { addProgress, addSuccess, addError, removeMessage } = useToastMessage();
|
|
9
|
+
const lastExportMessageId = useRef("");
|
|
10
|
+
return useCallback(async (exportFunction, title) => {
|
|
11
|
+
try {
|
|
12
|
+
lastExportMessageId.current = addProgress(messages.messagesExportResultStart,
|
|
13
|
+
// make sure the message stays there until removed by either success or error
|
|
14
|
+
{ duration: 0 });
|
|
15
|
+
const exportResult = await exportFunction();
|
|
16
|
+
if (lastExportMessageId.current) {
|
|
17
|
+
removeMessage(lastExportMessageId.current);
|
|
18
|
+
}
|
|
19
|
+
addSuccess(messages.messagesExportResultSuccess);
|
|
20
|
+
const updatedExportResult = {
|
|
21
|
+
...exportResult,
|
|
22
|
+
fileName: `${title}.csv`,
|
|
23
|
+
};
|
|
24
|
+
downloadFile(updatedExportResult);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
if (lastExportMessageId.current) {
|
|
28
|
+
removeMessage(lastExportMessageId.current);
|
|
29
|
+
}
|
|
30
|
+
if (isProtectedDataError(err)) {
|
|
31
|
+
addError(messages.messagesExportResultRestrictedError);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
addError(messages.messagesExportResultError);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, []);
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=useRawExportHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRawExportHandler.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useRawExportHandler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAkB,EAAE;IACnD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IAC/E,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,WAAW,CAAgB,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;QAC9D,IAAI,CAAC;YACD,mBAAmB,CAAC,OAAO,GAAG,WAAW,CACrC,QAAQ,CAAC,yBAAyB;YAClC,6EAA6E;YAC7E,EAAE,QAAQ,EAAE,CAAC,EAAE,CAClB,CAAC;YAEF,MAAM,YAAY,GAAkB,MAAM,cAAc,EAAE,CAAC;YAE3D,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBAC9B,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YACD,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;YAEjD,MAAM,mBAAmB,GAAkB;gBACvC,GAAG,YAAY;gBACf,QAAQ,EAAE,GAAG,KAAK,MAAM;aAC3B,CAAC;YAEF,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBAC9B,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC"}
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.d.ts
CHANGED
|
@@ -9,8 +9,10 @@ export interface DrillDialogProps {
|
|
|
9
9
|
exportAvailable: boolean;
|
|
10
10
|
onExportXLSX: () => void;
|
|
11
11
|
onExportCSV: () => void;
|
|
12
|
+
onExportCSVRaw: () => void;
|
|
12
13
|
exportXLSXEnabled: boolean;
|
|
13
14
|
exportCSVEnabled: boolean;
|
|
15
|
+
isExportRawInNewUiVisible: boolean;
|
|
14
16
|
isLoading: boolean;
|
|
15
17
|
}
|
|
16
18
|
export declare const DrillDialog: React.FC<DrillDialogProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACtB;AAKD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"DrillDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;CACtB;AAKD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuElD,CAAC"}
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2019-
|
|
1
|
+
// (C) 2019-2024 GoodData Corporation
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FormattedMessage } from "react-intl";
|
|
4
4
|
import { Button, Bubble, BubbleHoverTrigger, ShortenedText } from "@gooddata/sdk-ui-kit";
|
|
@@ -8,7 +8,7 @@ import { DrillModalFooter } from "./DrillModalFooter.js";
|
|
|
8
8
|
import { getTitleWithBreadcrumbs } from "./getTitleWithBreadcrumbs.js";
|
|
9
9
|
const tooltipAlignPoints = [{ align: "cc tc", offset: { x: -20, y: 10 } }];
|
|
10
10
|
const bubbleAlignPoints = [{ align: "bc tc", offset: { x: -5, y: -5 } }];
|
|
11
|
-
export const DrillDialog = ({ insightTitle, breadcrumbs, onCloseDialog, onBackButtonClick, isBackButtonVisible, children, exportAvailable, exportXLSXEnabled, exportCSVEnabled, onExportCSV, onExportXLSX, isLoading, }) => {
|
|
11
|
+
export const DrillDialog = ({ insightTitle, breadcrumbs, onCloseDialog, onBackButtonClick, isBackButtonVisible, children, exportAvailable, exportXLSXEnabled, exportCSVEnabled, isExportRawInNewUiVisible, onExportCSV, onExportXLSX, onExportCSVRaw, isLoading, }) => {
|
|
12
12
|
const settings = useDashboardSelector(selectSettings);
|
|
13
13
|
const canExport = useDashboardSelector(selectCanExportTabular);
|
|
14
14
|
const shouldShowDrilledInsightExport = settings?.enableDrilledInsightExport && canExport;
|
|
@@ -25,7 +25,7 @@ export const DrillDialog = ({ insightTitle, breadcrumbs, onCloseDialog, onBackBu
|
|
|
25
25
|
React.createElement("div", { className: "gd-drill-modal-dialog-content visualization" },
|
|
26
26
|
React.createElement("div", { className: "gd-drill-modal-dialog-content-base" }, children)),
|
|
27
27
|
shouldShowDrilledInsightExport ? (React.createElement("div", { className: "gd-drill-modal-dialog-footer gd-drill-modal-dialog-footer-with-border s-drill-modal-dialog-footer" },
|
|
28
|
-
React.createElement(DrillModalFooter, { exportAvailable: exportAvailable, exportXLSXEnabled: exportXLSXEnabled, exportCSVEnabled: exportCSVEnabled, onExportXLSX: onExportXLSX, onExportCSV: onExportCSV, isLoading: isLoading }))) : null,
|
|
28
|
+
React.createElement(DrillModalFooter, { exportAvailable: exportAvailable, exportXLSXEnabled: exportXLSXEnabled, exportCSVEnabled: exportCSVEnabled, onExportXLSX: onExportXLSX, onExportCSV: onExportCSV, onExportCSVRaw: onExportCSVRaw, isLoading: isLoading, isExportRawInNewUiVisible: isExportRawInNewUiVisible }))) : null,
|
|
29
29
|
React.createElement(PoweredByGDLogo, { isSmall: true })));
|
|
30
30
|
};
|
|
31
31
|
//# sourceMappingURL=DrillDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillDialog.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAe,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"DrillDialog.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillDialogInsight.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"DrillDialogInsight.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAkCxD;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAW,sBAAsB,KAAG,WAqJlE,CAAC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
// (C) 2020-
|
|
1
|
+
// (C) 2020-2024 GoodData Corporation
|
|
2
2
|
import React, { useCallback, useMemo, useState } from "react";
|
|
3
3
|
import { createSelector } from "@reduxjs/toolkit";
|
|
4
|
-
import { insightSetFilters, insightVisualizationUrl } from "@gooddata/sdk-model";
|
|
4
|
+
import { idRef, insightSetFilters, insightVisualizationUrl, widgetTitle } from "@gooddata/sdk-model";
|
|
5
5
|
import { useBackendStrict, useWorkspaceStrict, } from "@gooddata/sdk-ui";
|
|
6
6
|
import { useDashboardSelector, selectColorPalette, selectLocale, selectMapboxToken, selectSeparators, selectSettings, selectIsExport, selectDrillableItems, } from "../../../../../model/index.js";
|
|
7
|
-
import { useWidgetFilters } from "../../../common/index.js";
|
|
7
|
+
import { useInsightExport, useWidgetFilters } from "../../../common/index.js";
|
|
8
8
|
import { useResolveDashboardInsightProperties } from "../useResolveDashboardInsightProperties.js";
|
|
9
9
|
import { useDrillDialogInsightDrills } from "./useDrillDialogInsightDrills.js";
|
|
10
10
|
import { CustomError } from "../CustomError/CustomError.js";
|
|
11
11
|
import { IntlWrapper } from "../../../../localization/index.js";
|
|
12
12
|
import { InsightBody } from "../../InsightBody.js";
|
|
13
|
+
import { InsightWidgetWarningPartialResult } from "../../../../../presentation/widget/warningPartialResult/InsightWidgetWarningPartialResult.js";
|
|
14
|
+
import { useInsightWarning } from "../../../../../presentation/widget/widget/InsightWidget/useInsightWarning.js";
|
|
15
|
+
import { useIntl } from "react-intl";
|
|
13
16
|
const insightStyle = { width: "100%", height: "100%", position: "relative", flex: "1 1 auto" };
|
|
17
|
+
const DRILL_MODAL_EXECUTION_PSEUDO_REF = idRef("@@GDC_DRILL_MODAL");
|
|
14
18
|
const selectCommonDashboardInsightProps = createSelector([selectLocale, selectSettings, selectColorPalette], (locale, settings, colorPalette) => ({
|
|
15
19
|
locale,
|
|
16
20
|
settings,
|
|
@@ -27,6 +31,8 @@ const selectChartConfig = createSelector([selectMapboxToken, selectSeparators, s
|
|
|
27
31
|
*/
|
|
28
32
|
export const DrillDialogInsight = (props) => {
|
|
29
33
|
const { insight, widget, backend, workspace, onError, onDrill: onDrillFn, onExportReady, onLoadingChanged, pushData, ErrorComponent, LoadingComponent, } = props;
|
|
34
|
+
// Intl
|
|
35
|
+
const intl = useIntl();
|
|
30
36
|
// Context
|
|
31
37
|
const effectiveBackend = useBackendStrict(backend);
|
|
32
38
|
const effectiveWorkspace = useWorkspaceStrict(workspace);
|
|
@@ -52,6 +58,12 @@ export const DrillDialogInsight = (props) => {
|
|
|
52
58
|
insight: insightWithAddedFilters ?? insight,
|
|
53
59
|
onDrill: onDrillFn,
|
|
54
60
|
});
|
|
61
|
+
const { isExportRawInNewUiVisible, onExportRawCSV } = useInsightExport({
|
|
62
|
+
widgetRef: widget.ref,
|
|
63
|
+
title: widgetTitle(widget) || intl.formatMessage({ id: "export.defaultTitle" }),
|
|
64
|
+
insight,
|
|
65
|
+
});
|
|
66
|
+
const { partialResultWarning, executionResult } = useInsightWarning(DRILL_MODAL_EXECUTION_PSEUDO_REF);
|
|
55
67
|
const handlePushData = useCallback((data) => {
|
|
56
68
|
onPushData(data);
|
|
57
69
|
pushData?.(data);
|
|
@@ -85,6 +97,7 @@ export const DrillDialogInsight = (props) => {
|
|
|
85
97
|
// drill dialog does not measure its size but is always large enough to fit the full content
|
|
86
98
|
forceFullContent: true })) : null,
|
|
87
99
|
filtersStatus === "success" ? (React.createElement("div", { className: "insight-view-visualization", style: insightWrapperStyle },
|
|
88
|
-
React.createElement(InsightBody, { widget: widget, insight: insightWithAddedWidgetProperties, backend: effectiveBackend, workspace: effectiveWorkspace, drillableItems: drillableItems, onDrill: onDrill, config: chartConfig, onLoadingChanged: handleLoadingChanged, locale: locale, settings: settings, colorPalette: colorPalette, onError: handleError, onExportReady: onExportReady, pushData: handlePushData, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent })
|
|
100
|
+
React.createElement(InsightBody, { widget: widget, insight: insightWithAddedWidgetProperties, backend: effectiveBackend, workspace: effectiveWorkspace, drillableItems: drillableItems, onDrill: onDrill, config: chartConfig, onLoadingChanged: handleLoadingChanged, locale: locale, settings: settings, colorPalette: colorPalette, onError: handleError, onExportReady: onExportReady, pushData: handlePushData, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent }),
|
|
101
|
+
settings["pixtab.enablePartialReports"] && partialResultWarning.length > 0 ? (React.createElement(InsightWidgetWarningPartialResult, { className: "gd-drill-warning-partial-result", partialResultWarning: partialResultWarning, onExportRawCSV: onExportRawCSV, executionResult: executionResult, isLoading: executionResult?.isLoading, isExportRawInNewUiVisible: isExportRawInNewUiVisible })) : null)) : null))));
|
|
89
102
|
};
|
|
90
103
|
//# sourceMappingURL=DrillDialogInsight.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillDialogInsight.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,OAAO,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DrillDialogInsight.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,9 @@ export interface IDrillModalFooterProps {
|
|
|
5
5
|
onExportXLSX: () => void;
|
|
6
6
|
exportCSVEnabled: boolean;
|
|
7
7
|
onExportCSV: () => void;
|
|
8
|
+
onExportCSVRaw: () => void;
|
|
8
9
|
isLoading: boolean;
|
|
10
|
+
isExportRawInNewUiVisible: boolean;
|
|
9
11
|
}
|
|
10
12
|
export declare const DrillModalFooter: React.FC<IDrillModalFooterProps>;
|
|
11
13
|
//# sourceMappingURL=DrillModalFooter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillModalFooter.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DrillModalFooter.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAQ9D,MAAM,WAAW,sBAAsB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAID,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAyF7D,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
// (C) 2021 GoodData Corporation
|
|
1
|
+
// (C) 2021-2024 GoodData Corporation
|
|
2
2
|
import React, { useState, useCallback, useMemo } from "react";
|
|
3
3
|
import { FormattedMessage } from "react-intl";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { BubbleHoverTrigger, Bubble } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import DrillModalExportOptions from "./DrillModalExportOptions.js";
|
|
7
|
+
import DrillModalRawExportOptions from "./DrillModalRawExportOptions.js";
|
|
7
8
|
const bubbleAlignPoints = [{ align: "tc bc" }];
|
|
8
|
-
export const DrillModalFooter = ({ exportAvailable, exportXLSXEnabled, onExportXLSX, exportCSVEnabled, onExportCSV, isLoading, }) => {
|
|
9
|
+
export const DrillModalFooter = ({ exportAvailable, exportXLSXEnabled, onExportXLSX, exportCSVEnabled, onExportCSV, onExportCSVRaw, isLoading, isExportRawInNewUiVisible, }) => {
|
|
9
10
|
const [showDropdown, setShowDropdown] = useState(false);
|
|
10
11
|
const toggleShowDropdown = useCallback(() => setShowDropdown((oldValue) => !oldValue), []);
|
|
11
12
|
const handleOnExportXLSX = useCallback(() => {
|
|
@@ -16,15 +17,21 @@ export const DrillModalFooter = ({ exportAvailable, exportXLSXEnabled, onExportX
|
|
|
16
17
|
onExportCSV();
|
|
17
18
|
setShowDropdown(false);
|
|
18
19
|
}, [onExportCSV]);
|
|
20
|
+
const handleOnExportCSVRaw = useCallback(() => {
|
|
21
|
+
onExportCSVRaw();
|
|
22
|
+
setShowDropdown(false);
|
|
23
|
+
}, [onExportCSVRaw]);
|
|
19
24
|
const exportDisabled = !exportAvailable || (!exportXLSXEnabled && !exportCSVEnabled);
|
|
20
25
|
const toggleButton = useMemo(() => (React.createElement("button", { onClick: toggleShowDropdown, className: cx("gd-button-link-dimmed gd-button gd-icon-download export-menu-toggle-button", {
|
|
21
|
-
disabled: exportDisabled,
|
|
26
|
+
disabled: isExportRawInNewUiVisible ? false : exportDisabled,
|
|
22
27
|
}), type: "button" },
|
|
23
28
|
React.createElement("span", { className: "gd-button-text" },
|
|
24
29
|
React.createElement(FormattedMessage, { id: "dialogs.export.submit" })))), [exportDisabled, toggleShowDropdown]);
|
|
25
30
|
return (React.createElement("div", { className: cx("s-export-drilled-insight export-drilled-insight", {
|
|
26
|
-
"is-disabled": exportDisabled,
|
|
27
|
-
}) },
|
|
31
|
+
"is-disabled": isExportRawInNewUiVisible ? false : exportDisabled,
|
|
32
|
+
}) }, isExportRawInNewUiVisible ? (React.createElement(React.Fragment, null,
|
|
33
|
+
toggleButton,
|
|
34
|
+
React.createElement(DrillModalRawExportOptions, { showDropdown: showDropdown, toggleShowDropdown: toggleShowDropdown, exportXLSXEnabled: exportXLSXEnabled, exportCSVEnabled: exportCSVEnabled, onExportXLSX: handleOnExportXLSX, onExportCSV: handleOnExportCSV, onExportCSVRaw: handleOnExportCSVRaw }))) : exportDisabled && !isLoading ? (React.createElement(BubbleHoverTrigger, null,
|
|
28
35
|
toggleButton,
|
|
29
36
|
React.createElement(Bubble, { className: "bubble-primary", alignPoints: bubbleAlignPoints },
|
|
30
37
|
React.createElement(FormattedMessage, { id: "export_unsupported.disabled" })))) : (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillModalFooter.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DrillModalFooter.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.tsx"],"names":[],"mappings":"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"}
|