@gooddata/sdk-ui-dashboard 10.22.0-alpha.9 → 10.22.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/NOTICE +4516 -4046
- package/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/__version.js.map +1 -1
- package/esm/_staging/dashboard/dashboardFilterConverter.d.ts +5 -2
- package/esm/_staging/dashboard/dashboardFilterConverter.d.ts.map +1 -1
- package/esm/_staging/dashboard/dashboardFilterConverter.js +12 -7
- package/esm/_staging/dashboard/dashboardFilterConverter.js.map +1 -1
- package/esm/_staging/sharedHooks/useFiltersNamings.d.ts +2 -0
- package/esm/_staging/sharedHooks/useFiltersNamings.d.ts.map +1 -1
- package/esm/_staging/sharedHooks/useFiltersNamings.js +8 -2
- package/esm/_staging/sharedHooks/useFiltersNamings.js.map +1 -1
- package/esm/assets/type-csv-formatted.svg +1 -0
- package/esm/assets/type-csv-raw.svg +1 -0
- package/esm/assets/type-image.svg +1 -0
- package/esm/assets/type-pdf.svg +1 -0
- package/esm/assets/type-sheet.svg +1 -0
- package/esm/assets/type-slides.svg +1 -0
- package/esm/model/commandHandlers/dashboard/common/migratedAttributeFilters.d.ts +18 -0
- package/esm/model/commandHandlers/dashboard/common/migratedAttributeFilters.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/common/migratedAttributeFilters.js +36 -0
- package/esm/model/commandHandlers/dashboard/common/migratedAttributeFilters.js.map +1 -0
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts +8 -2
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +20 -7
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToExcelHandler.d.ts +6 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToExcelHandler.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToExcelHandler.js +26 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToExcelHandler.js.map +1 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.d.ts +6 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js +33 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js.map +1 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.d.ts +6 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js +33 -0
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js.map +1 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +37 -4
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +19 -5
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.js +14 -7
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js +12 -4
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/common.d.ts +4 -0
- package/esm/model/commandHandlers/filterContext/common.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/common.js +8 -1
- package/esm/model/commandHandlers/filterContext/common.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js +15 -9
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/filterViewHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js +9 -2
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js.map +1 -1
- package/esm/model/commandHandlers/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/index.js +10 -0
- package/esm/model/commandHandlers/index.js.map +1 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +21 -16
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.d.ts +6 -0
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.d.ts.map +1 -0
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.js +33 -0
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.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/dashboard.d.ts +51 -0
- package/esm/model/commands/dashboard.d.ts.map +1 -1
- package/esm/model/commands/dashboard.js +49 -1
- package/esm/model/commands/dashboard.js.map +1 -1
- package/esm/model/commands/filters.d.ts +74 -4
- package/esm/model/commands/filters.d.ts.map +1 -1
- package/esm/model/commands/filters.js +71 -4
- package/esm/model/commands/filters.js.map +1 -1
- package/esm/model/commands/index.d.ts +10 -10
- package/esm/model/commands/index.d.ts.map +1 -1
- package/esm/model/commands/index.js +3 -3
- package/esm/model/commands/index.js.map +1 -1
- package/esm/model/commands/insight.d.ts +51 -5
- package/esm/model/commands/insight.d.ts.map +1 -1
- package/esm/model/commands/insight.js +27 -2
- package/esm/model/commands/insight.js.map +1 -1
- package/esm/model/events/base.d.ts +1 -1
- package/esm/model/events/base.d.ts.map +1 -1
- package/esm/model/events/base.js.map +1 -1
- package/esm/model/events/dashboard.d.ts +144 -0
- package/esm/model/events/dashboard.d.ts.map +1 -1
- package/esm/model/events/dashboard.js +97 -1
- package/esm/model/events/dashboard.js.map +1 -1
- package/esm/model/events/index.d.ts +4 -4
- package/esm/model/events/index.d.ts.map +1 -1
- package/esm/model/events/index.js +1 -1
- package/esm/model/events/index.js.map +1 -1
- package/esm/model/react/useDashboardCommand.d.ts +6 -0
- package/esm/model/react/useDashboardCommand.d.ts.map +1 -1
- package/esm/model/react/useDashboardCommandProcessing.d.ts +24 -0
- package/esm/model/react/useDashboardCommandProcessing.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.d.ts +18 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +24 -0
- package/esm/model/store/config/configSelectors.js.map +1 -1
- package/esm/model/store/filterContext/filterContextReducers.d.ts +11 -0
- package/esm/model/store/filterContext/filterContextReducers.d.ts.map +1 -1
- package/esm/model/store/filterContext/filterContextReducers.js +87 -28
- package/esm/model/store/filterContext/filterContextReducers.js.map +1 -1
- package/esm/model/store/filterContext/filterContextSelectors.d.ts +70 -5
- package/esm/model/store/filterContext/filterContextSelectors.d.ts.map +1 -1
- package/esm/model/store/filterContext/filterContextSelectors.js +124 -7
- package/esm/model/store/filterContext/filterContextSelectors.js.map +1 -1
- package/esm/model/store/filterContext/filterContextState.d.ts +44 -2
- package/esm/model/store/filterContext/filterContextState.d.ts.map +1 -1
- package/esm/model/store/filterContext/filterContextState.js +1 -0
- package/esm/model/store/filterContext/filterContextState.js.map +1 -1
- package/esm/model/store/filterContext/filterContextUtils.d.ts +10 -0
- package/esm/model/store/filterContext/filterContextUtils.d.ts.map +1 -0
- package/esm/model/store/filterContext/filterContextUtils.js +70 -0
- package/esm/model/store/filterContext/filterContextUtils.js.map +1 -0
- package/esm/model/store/filterContext/index.d.ts +4 -0
- package/esm/model/store/filterContext/index.d.ts.map +1 -1
- package/esm/model/store/index.d.ts +5 -4
- package/esm/model/store/index.d.ts.map +1 -1
- package/esm/model/store/index.js +4 -3
- package/esm/model/store/index.js.map +1 -1
- package/esm/model/store/topBar/topBarSelectors.d.ts +86 -0
- package/esm/model/store/topBar/topBarSelectors.d.ts.map +1 -0
- package/esm/model/store/topBar/topBarSelectors.js +160 -0
- package/esm/model/store/topBar/topBarSelectors.js.map +1 -0
- package/esm/presentation/dashboard/Dashboard.d.ts +1 -1
- package/esm/presentation/dashboard/Dashboard.d.ts.map +1 -1
- package/esm/presentation/dashboard/Dashboard.js +26 -6
- package/esm/presentation/dashboard/Dashboard.js.map +1 -1
- package/esm/presentation/dashboardContexts/useSlideData.d.ts.map +1 -1
- package/esm/presentation/dashboardContexts/useSlideData.js +1 -0
- package/esm/presentation/dashboardContexts/useSlideData.js.map +1 -1
- package/esm/presentation/dragAndDrop/draggableDateFilter/DraggableDateFilter.d.ts +1 -1
- package/esm/presentation/dragAndDrop/draggableDateFilter/DraggableDateFilter.d.ts.map +1 -1
- package/esm/presentation/dragAndDrop/draggableDateFilter/DraggableDateFilter.js +1 -1
- package/esm/presentation/dragAndDrop/draggableDateFilter/DraggableDateFilter.js.map +1 -1
- package/esm/presentation/export/DefaultDashboardExportVariables.d.ts +13 -0
- package/esm/presentation/export/DefaultDashboardExportVariables.d.ts.map +1 -0
- package/esm/presentation/export/DefaultDashboardExportVariables.js +34 -0
- package/esm/presentation/export/DefaultDashboardExportVariables.js.map +1 -0
- package/esm/presentation/export/hooks/useDashboardRelatedFilters.d.ts +17 -0
- package/esm/presentation/export/hooks/useDashboardRelatedFilters.d.ts.map +1 -0
- package/esm/presentation/export/hooks/useDashboardRelatedFilters.js +13 -0
- package/esm/presentation/export/hooks/useDashboardRelatedFilters.js.map +1 -0
- package/esm/presentation/export/index.d.ts +1 -0
- package/esm/presentation/export/index.d.ts.map +1 -1
- package/esm/presentation/export/index.js +1 -0
- package/esm/presentation/export/index.js.map +1 -1
- package/esm/presentation/export/types.d.ts +42 -1
- package/esm/presentation/export/types.d.ts.map +1 -1
- package/esm/presentation/export/useExportData.d.ts +6 -2
- package/esm/presentation/export/useExportData.d.ts.map +1 -1
- package/esm/presentation/export/useExportData.js +57 -3
- package/esm/presentation/export/useExportData.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js +9 -2
- package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/types.d.ts +2 -1
- package/esm/presentation/filterBar/attributeFilter/types.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.js +14 -4
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useParentFilters.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useParentFilters.js +9 -3
- package/esm/presentation/filterBar/attributeFilter/useParentFilters.js.map +1 -1
- package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.d.ts.map +1 -1
- package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.js +8 -2
- package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.js.map +1 -1
- package/esm/presentation/filterBar/dateFilter/types.d.ts +2 -1
- package/esm/presentation/filterBar/dateFilter/types.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBar.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBar.js +19 -10
- package/esm/presentation/filterBar/filterBar/DefaultFilterBar.js.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js +15 -4
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js +2 -3
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutViewSectionHeaderRenderer.js +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutViewSectionHeaderRenderer.js.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js +2 -0
- package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js.map +1 -1
- package/esm/presentation/layout/DefaultDashboardLayout.d.ts.map +1 -1
- package/esm/presentation/layout/DefaultDashboardLayout.js +2 -0
- package/esm/presentation/layout/DefaultDashboardLayout.js.map +1 -1
- package/esm/presentation/layout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js +1 -1
- package/esm/presentation/layout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js.map +1 -1
- package/esm/presentation/layout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.js +1 -1
- package/esm/presentation/layout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.js.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.json +14 -1
- package/esm/presentation/localization/bundles/en-AU.json +14 -1
- package/esm/presentation/localization/bundles/en-GB.json +14 -1
- package/esm/presentation/localization/bundles/en-US.json +46 -1
- package/esm/presentation/localization/bundles/es-419.json +14 -1
- package/esm/presentation/localization/bundles/es-ES.json +14 -1
- package/esm/presentation/localization/bundles/fi-FI.json +14 -1
- package/esm/presentation/localization/bundles/fr-CA.json +14 -1
- package/esm/presentation/localization/bundles/fr-FR.json +14 -1
- package/esm/presentation/localization/bundles/it-IT.json +14 -1
- package/esm/presentation/localization/bundles/ja-JP.json +14 -1
- package/esm/presentation/localization/bundles/nl-NL.json +14 -1
- package/esm/presentation/localization/bundles/pt-BR.json +14 -1
- package/esm/presentation/localization/bundles/pt-PT.json +14 -1
- package/esm/presentation/localization/bundles/ru-RU.json +1 -0
- package/esm/presentation/localization/bundles/zh-HK.json +14 -1
- package/esm/presentation/localization/bundles/zh-Hans.json +14 -1
- package/esm/presentation/localization/bundles/zh-Hant.json +14 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +2 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +2 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/editButton/DefaultEditButton.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/editButton/DefaultEditButton.js +5 -4
- package/esm/presentation/topBar/buttonBar/button/editButton/DefaultEditButton.js.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/DefaultSaveAsNewButton.d.ts +0 -5
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/DefaultSaveAsNewButton.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/DefaultSaveAsNewButton.js +2 -27
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/DefaultSaveAsNewButton.js.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/index.d.ts +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/index.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/index.js +2 -2
- package/esm/presentation/topBar/buttonBar/button/saveAsButton/index.js.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js +2 -3
- package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/shareButton/DefaultShareButton.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/shareButton/DefaultShareButton.js +3 -4
- package/esm/presentation/topBar/buttonBar/button/shareButton/DefaultShareButton.js.map +1 -1
- package/esm/presentation/topBar/menuButton/DefaultMenuButton.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/DefaultMenuButton.js +53 -28
- package/esm/presentation/topBar/menuButton/DefaultMenuButton.js.map +1 -1
- package/esm/presentation/topBar/menuButton/DefaultSubmenuHeader.d.ts +9 -0
- package/esm/presentation/topBar/menuButton/DefaultSubmenuHeader.d.ts.map +1 -0
- package/esm/presentation/topBar/menuButton/DefaultSubmenuHeader.js +15 -0
- package/esm/presentation/topBar/menuButton/DefaultSubmenuHeader.js.map +1 -0
- package/esm/presentation/topBar/menuButton/types.d.ts +18 -1
- package/esm/presentation/topBar/menuButton/types.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +105 -69
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js.map +1 -1
- package/esm/presentation/topBar/menuButton/useExportDashboardToExcel.d.ts +5 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToExcel.d.ts.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToExcel.js +44 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToExcel.js.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdf.d.ts +5 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdf.d.ts.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdf.js +44 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdf.js.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdfPresentation.d.ts +5 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdfPresentation.d.ts.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdfPresentation.js +44 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPdfPresentation.js.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPowerPointPresentation.d.ts +5 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPowerPointPresentation.d.ts.map +1 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPowerPointPresentation.js +44 -0
- package/esm/presentation/topBar/menuButton/useExportDashboardToPowerPointPresentation.js.map +1 -0
- package/esm/presentation/topBar/shareIndicators/shareStatus/ShareStatusIndicator.js +2 -2
- package/esm/presentation/topBar/shareIndicators/shareStatus/ShareStatusIndicator.js.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.d.ts +8 -1
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.d.ts.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.js +6 -3
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.js.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.d.ts +8 -1
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.d.ts.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js +6 -3
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js.map +1 -1
- package/esm/presentation/widget/common/useInsightExport.d.ts +8 -2
- package/esm/presentation/widget/common/useInsightExport.d.ts.map +1 -1
- package/esm/presentation/widget/common/useInsightExport.js +26 -4
- package/esm/presentation/widget/common/useInsightExport.js.map +1 -1
- package/esm/presentation/widget/common/useRawExportHandler.d.ts.map +1 -1
- package/esm/presentation/widget/common/useRawExportHandler.js.map +1 -1
- package/esm/presentation/widget/common/useSlidesExportHandler.d.ts +5 -0
- package/esm/presentation/widget/common/useSlidesExportHandler.d.ts.map +1 -0
- package/esm/presentation/widget/common/useSlidesExportHandler.js +35 -0
- package/esm/presentation/widget/common/useSlidesExportHandler.js.map +1 -0
- package/esm/presentation/widget/description/DescriptionClickTrigger.d.ts.map +1 -1
- package/esm/presentation/widget/description/DescriptionClickTrigger.js +3 -3
- package/esm/presentation/widget/description/DescriptionClickTrigger.js.map +1 -1
- package/esm/presentation/widget/insight/DefaultDashboardInsight.d.ts +3 -2
- package/esm/presentation/widget/insight/DefaultDashboardInsight.d.ts.map +1 -1
- package/esm/presentation/widget/insight/DefaultDashboardInsight.js +13 -4
- package/esm/presentation/widget/insight/DefaultDashboardInsight.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js +35 -9
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js.map +1 -1
- 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 +2 -2
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.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 +3 -3
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalFooter.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.d.ts +2 -0
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.js +6 -5
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillModalRawExportOptions.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +7 -3
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/ExportOptions.d.ts +14 -1
- package/esm/presentation/widget/insight/configuration/ExportOptions.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/ExportOptions.js +30 -31
- package/esm/presentation/widget/insight/configuration/ExportOptions.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertComparisonOperatorSelect.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertComparisonOperatorSelect.js +6 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertComparisonOperatorSelect.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertDestinationSelect.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertDestinationSelect.js +4 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertDestinationSelect.js.map +1 -1
- package/esm/presentation/widget/insight/types.d.ts +4 -0
- package/esm/presentation/widget/insight/types.d.ts.map +1 -1
- package/esm/presentation/widget/insight/types.js.map +1 -1
- package/esm/presentation/widget/insight/useBackendWithInsightWidgetCorrelation.d.ts +6 -0
- package/esm/presentation/widget/insight/useBackendWithInsightWidgetCorrelation.d.ts.map +1 -0
- package/esm/presentation/widget/insight/useBackendWithInsightWidgetCorrelation.js +26 -0
- package/esm/presentation/widget/insight/useBackendWithInsightWidgetCorrelation.js.map +1 -0
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.js +4 -3
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.js.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.d.ts +6 -0
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js +12 -4
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +7 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +7 -1
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts +5 -0
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +23 -2
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +740 -27
- package/esm/types.d.ts +8 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/package.json +15 -15
- package/styles/css/attributeFilterConfig.css +39 -9
- package/styles/css/attributeFilterConfig.css.map +1 -1
- package/styles/css/configurationPanel.css +4 -1
- package/styles/css/configurationPanel.css.map +1 -1
- package/styles/css/dashboard.css +8 -0
- package/styles/css/dashboard.css.map +1 -1
- package/styles/css/dateFilterConfig.css +39 -9
- package/styles/css/dateFilterConfig.css.map +1 -1
- package/styles/css/export.css +5 -0
- package/styles/css/export.css.map +1 -1
- package/styles/css/icons.css +42 -0
- package/styles/css/icons.css.map +1 -1
- package/styles/css/main.css +150 -18
- package/styles/css/main.css.map +1 -1
- package/styles/css/sharedFilterConfig.css +39 -9
- package/styles/css/sharedFilterConfig.css.map +1 -1
- package/styles/scss/configurationPanel.scss +5 -2
- package/styles/scss/dashboard.scss +8 -0
- package/styles/scss/export.scss +5 -0
- package/styles/scss/filterBar.scss +1 -1
- package/styles/scss/icons.scss +55 -1
- package/styles/scss/sharedFilterConfig.scss +24 -1
- package/esm/presentation/topBar/buttonBar/button/selectors.d.ts +0 -40
- package/esm/presentation/topBar/buttonBar/button/selectors.d.ts.map +0 -1
- package/esm/presentation/topBar/buttonBar/button/selectors.js +0 -61
- package/esm/presentation/topBar/buttonBar/button/selectors.js.map +0 -1
@@ -17,6 +17,13 @@ export interface IUseCustomWidgetExecutionDataViewConfig {
|
|
17
17
|
* Note: When the execution is not provided, hook is locked in a "pending" state.
|
18
18
|
*/
|
19
19
|
execution?: Exclude<IExecutionConfiguration, "filters">;
|
20
|
+
/**
|
21
|
+
* Enable or disable real execution cancellation.
|
22
|
+
*
|
23
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
24
|
+
* the request will be cancelled and the new execution will be started.
|
25
|
+
*/
|
26
|
+
enableExecutionCancelling?: boolean;
|
20
27
|
}
|
21
28
|
/**
|
22
29
|
* Callbacks for {@link useCustomWidgetExecutionDataView} hook.
|
@@ -30,5 +37,5 @@ export type UseCustomWidgetExecutionDataViewCallbacks = UseCancelablePromiseCall
|
|
30
37
|
*
|
31
38
|
* @public
|
32
39
|
*/
|
33
|
-
export declare function useCustomWidgetExecutionDataView({ widget, execution, onCancel, onError, onLoading, onPending, onSuccess, }: IUseCustomWidgetExecutionDataViewConfig & UseCustomWidgetExecutionDataViewCallbacks): UseCancelablePromiseState<DataViewFacade, GoodDataSdkError>;
|
40
|
+
export declare function useCustomWidgetExecutionDataView({ enableExecutionCancelling, widget, execution, onCancel, onError, onLoading, onPending, onSuccess, }: IUseCustomWidgetExecutionDataViewConfig & UseCustomWidgetExecutionDataViewCallbacks): UseCancelablePromiseState<DataViewFacade, GoodDataSdkError>;
|
34
41
|
//# sourceMappingURL=useCustomWidgetExecutionDataView.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomWidgetExecutionDataView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetExecutionDataView.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EAEvB,6BAA6B,EAC7B,yBAAyB,EAE5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,
|
1
|
+
{"version":3,"file":"useCustomWidgetExecutionDataView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetExecutionDataView.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EAEvB,6BAA6B,EAC7B,yBAAyB,EAE5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,aAAa,EAIhB,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,uCAAuC;IACpD;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAExD;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,MAAM,yCAAyC,GAAG,6BAA6B,CACjF,cAAc,EACd,gBAAgB,CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,EAC7C,yBAAyB,EACzB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,GACZ,EAAE,uCAAuC,GACtC,yCAAyC,GAAG,yBAAyB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CA2E1G"}
|
@@ -1,16 +1,19 @@
|
|
1
|
-
// (C) 2022-
|
1
|
+
// (C) 2022-2025 GoodData Corporation
|
2
2
|
import { useEffect, useMemo } from "react";
|
3
3
|
import { UnexpectedSdkError, useExecutionDataView, } from "@gooddata/sdk-ui";
|
4
|
-
import { useWidgetFilters } from "../../../model/index.js";
|
4
|
+
import { useWidgetFilters, selectEnableExecutionCancelling, useDashboardSelector, } from "../../../model/index.js";
|
5
5
|
/**
|
6
6
|
* This hook provides an easy way to read a data view from a custom widget. It resolves the appropriate filters
|
7
7
|
* for the widget based on the filters currently set on the whole dashboard.
|
8
8
|
*
|
9
9
|
* @public
|
10
10
|
*/
|
11
|
-
export function useCustomWidgetExecutionDataView({ widget, execution, onCancel, onError, onLoading, onPending, onSuccess, }) {
|
11
|
+
export function useCustomWidgetExecutionDataView({ enableExecutionCancelling, widget, execution, onCancel, onError, onLoading, onPending, onSuccess, }) {
|
12
12
|
const filterQueryTask = useWidgetFilters(widget);
|
13
|
+
const enableExecutionCancellingFF = useDashboardSelector(selectEnableExecutionCancelling);
|
14
|
+
const effectiveExecutionCancelling = enableExecutionCancelling ?? enableExecutionCancellingFF;
|
13
15
|
const dataViewTask = useExecutionDataView({
|
16
|
+
enableExecutionCancelling: effectiveExecutionCancelling,
|
14
17
|
execution: execution
|
15
18
|
? {
|
16
19
|
...execution,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomWidgetExecutionDataView.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetExecutionDataView.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAIH,kBAAkB,EAGlB,oBAAoB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,
|
1
|
+
{"version":3,"file":"useCustomWidgetExecutionDataView.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetExecutionDataView.ts"],"names":[],"mappings":"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"}
|
@@ -19,6 +19,13 @@ export interface IUseCustomWidgetInsightDataViewConfig {
|
|
19
19
|
* Note: When the insight is not provided, hook is locked in a "pending" state.
|
20
20
|
*/
|
21
21
|
insight?: IInsightDefinition | ObjRef;
|
22
|
+
/**
|
23
|
+
* Enable or disable real execution cancellation.
|
24
|
+
*
|
25
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
26
|
+
* the request will be cancelled and the new execution will be started.
|
27
|
+
*/
|
28
|
+
enableExecutionCancelling?: boolean;
|
22
29
|
}
|
23
30
|
/**
|
24
31
|
* Callbacks for {@link useCustomWidgetInsightDataView} hook.
|
@@ -32,5 +39,5 @@ export type UseCustomWidgetInsightDataViewCallbacks = UseCancelablePromiseCallba
|
|
32
39
|
*
|
33
40
|
* @public
|
34
41
|
*/
|
35
|
-
export declare function useCustomWidgetInsightDataView({ widget, insight, onCancel, onError, onLoading, onPending, onSuccess, }: IUseCustomWidgetInsightDataViewConfig & UseCustomWidgetInsightDataViewCallbacks): UseCancelablePromiseState<DataViewFacade, GoodDataSdkError>;
|
42
|
+
export declare function useCustomWidgetInsightDataView({ widget, insight, enableExecutionCancelling, onCancel, onError, onLoading, onPending, onSuccess, }: IUseCustomWidgetInsightDataViewConfig & UseCustomWidgetInsightDataViewCallbacks): UseCancelablePromiseState<DataViewFacade, GoodDataSdkError>;
|
36
43
|
//# sourceMappingURL=useCustomWidgetInsightDataView.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomWidgetInsightDataView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetInsightDataView.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAgC,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACH,cAAc,EACd,gBAAgB,EAGhB,6BAA6B,EAC7B,yBAAyB,EAG5B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,
|
1
|
+
{"version":3,"file":"useCustomWidgetInsightDataView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetInsightDataView.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAgC,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACH,cAAc,EACd,gBAAgB,EAGhB,6BAA6B,EAC7B,yBAAyB,EAG5B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACH,aAAa,EAIhB,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,qCAAqC;IAClD;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAEtC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,MAAM,uCAAuC,GAAG,6BAA6B,CAC/E,cAAc,EACd,gBAAgB,CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,yBAAyB,EACzB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,GACZ,EAAE,qCAAqC,GACpC,uCAAuC,GAAG,yBAAyB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CA8GxG"}
|
@@ -1,18 +1,20 @@
|
|
1
|
-
// (C) 2022-
|
1
|
+
// (C) 2022-2025 GoodData Corporation
|
2
2
|
import { useEffect, useMemo } from "react";
|
3
3
|
import { insightSetFilters, isInsight } from "@gooddata/sdk-model";
|
4
4
|
import { useBackendStrict, useCancelablePromise, useExecutionDataView, useWorkspaceStrict, } from "@gooddata/sdk-ui";
|
5
5
|
import stringify from "json-stable-stringify";
|
6
|
-
import { useWidgetFilters } from "../../../model/index.js";
|
6
|
+
import { selectEnableExecutionCancelling, useDashboardSelector, useWidgetFilters, } from "../../../model/index.js";
|
7
7
|
/**
|
8
8
|
* This hook provides an easy way to read a data view for an insight from a custom widget.
|
9
9
|
* It resolves the appropriate filters for the widget based on the filters currently set on the whole dashboard.
|
10
10
|
*
|
11
11
|
* @public
|
12
12
|
*/
|
13
|
-
export function useCustomWidgetInsightDataView({ widget, insight, onCancel, onError, onLoading, onPending, onSuccess, }) {
|
13
|
+
export function useCustomWidgetInsightDataView({ widget, insight, enableExecutionCancelling, onCancel, onError, onLoading, onPending, onSuccess, }) {
|
14
14
|
const backend = useBackendStrict();
|
15
15
|
const workspace = useWorkspaceStrict();
|
16
|
+
const enableExecutionCancellingFF = useDashboardSelector(selectEnableExecutionCancelling);
|
17
|
+
const effectiveExecutionCancelling = enableExecutionCancelling ?? enableExecutionCancellingFF;
|
16
18
|
const effectiveInsightTask = useCancelablePromise({
|
17
19
|
promise: insight
|
18
20
|
? async () => {
|
@@ -50,6 +52,7 @@ export function useCustomWidgetInsightDataView({ widget, insight, onCancel, onEr
|
|
50
52
|
}, [backend, workspace, insightWithAddedFilters, widget]);
|
51
53
|
const dataViewTask = useExecutionDataView({
|
52
54
|
execution: insightExecution,
|
55
|
+
enableExecutionCancelling: effectiveExecutionCancelling,
|
53
56
|
onCancel,
|
54
57
|
onError,
|
55
58
|
onSuccess,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomWidgetInsightDataView.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetInsightDataView.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAsB,iBAAiB,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAGH,gBAAgB,EAChB,oBAAoB,EAGpB,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,
|
1
|
+
{"version":3,"file":"useCustomWidgetInsightDataView.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useCustomWidgetInsightDataView.ts"],"names":[],"mappings":"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"}
|
@@ -1,14 +1,20 @@
|
|
1
|
-
import {
|
1
|
+
import { IInsight, IInsightWidget, ObjRef } from "@gooddata/sdk-model";
|
2
2
|
export declare const useInsightExport: (config: {
|
3
3
|
title: string;
|
4
4
|
widgetRef: ObjRef;
|
5
|
-
insight?:
|
5
|
+
insight?: IInsight;
|
6
|
+
widget?: IInsightWidget;
|
6
7
|
}) => {
|
7
8
|
exportCSVEnabled: boolean;
|
8
9
|
exportXLSXEnabled: boolean;
|
10
|
+
exportCSVRawEnabled: boolean;
|
11
|
+
isExporting: boolean;
|
9
12
|
isExportRawVisible: boolean;
|
13
|
+
isExportVisible: boolean;
|
10
14
|
onExportCSV: () => void;
|
11
15
|
onExportXLSX: () => void;
|
12
16
|
onExportRawCSV: () => void;
|
17
|
+
onExportPdfPresentation: () => void;
|
18
|
+
onExportPowerPointPresentation: () => void;
|
13
19
|
};
|
14
20
|
//# 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,
|
1
|
+
{"version":3,"file":"useInsightExport.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useInsightExport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyBvE,eAAO,MAAM,gBAAgB,WAAY;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,CAAC;CAC3B;;;;;;;;;;;;CA4HA,CAAC"}
|
@@ -3,19 +3,21 @@ 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, exportRawInsightWidget, } from "../../../model/index.js";
|
6
|
+
import { selectSettings, useDashboardSelector, selectIsExecutionResultExportableToCsvByRef, selectIsExecutionResultExportableToXlsxByRef, useDashboardDispatch, dispatchAndWaitFor, exportInsightWidget, exportRawInsightWidget, exportSlidesInsightWidget, selectSlideShowExportVisible, } from "../../../model/index.js";
|
7
7
|
import { useExportHandler } from "./useExportHandler.js";
|
8
8
|
import { useExportDialogContext } from "../../dashboardContexts/index.js";
|
9
9
|
import { useRawExportHandler } from "./useRawExportHandler.js";
|
10
|
+
import { useSlidesExportHandler } from "./useSlidesExportHandler.js";
|
10
11
|
export const useInsightExport = (config) => {
|
11
|
-
const { title, widgetRef, insight } = config;
|
12
|
+
const { title, widgetRef, insight, widget } = config;
|
12
13
|
const [isExporting, setIsExporting] = useState(false);
|
13
14
|
const dispatch = useDashboardDispatch();
|
14
15
|
const exportFunction = useCallback((configToUse) => dispatchAndWaitFor(dispatch, exportInsightWidget(widgetRef, {
|
15
16
|
...configToUse,
|
16
17
|
format: configToUse.format === "xlsx" ? "xlsx" : "csv",
|
17
18
|
}, uuid())).then((result) => result.payload.result), [widgetRef]);
|
18
|
-
const exportRawFunction = useCallback((title) => dispatchAndWaitFor(dispatch, exportRawInsightWidget(insight, title, uuid())).then((result) => result.payload.result), [insight]);
|
19
|
+
const exportRawFunction = useCallback((title) => dispatchAndWaitFor(dispatch, exportRawInsightWidget(widgetRef, widget, insight, title, uuid())).then((result) => result.payload.result), [widgetRef, widget, insight]);
|
20
|
+
const exportSlidesFunction = useCallback((title, exportType) => dispatchAndWaitFor(dispatch, exportSlidesInsightWidget(widgetRef, title, exportType, uuid())).then((result) => result.payload.result), [widgetRef]);
|
19
21
|
const settings = useDashboardSelector(selectSettings);
|
20
22
|
const isInsightExportable = insight
|
21
23
|
? getInsightVisualizationMeta(insight, settings).supportsExport
|
@@ -24,6 +26,7 @@ export const useInsightExport = (config) => {
|
|
24
26
|
const isExportableToXlsx = useDashboardSelector(selectIsExecutionResultExportableToXlsxByRef(widgetRef));
|
25
27
|
const exportHandler = useExportHandler();
|
26
28
|
const exportRawHandler = useRawExportHandler();
|
29
|
+
const exportSlidesHandler = useSlidesExportHandler();
|
27
30
|
const { openDialog, closeDialog } = useExportDialogContext();
|
28
31
|
const onExportCSV = useCallback(() => {
|
29
32
|
setIsExporting(true);
|
@@ -34,13 +37,25 @@ export const useInsightExport = (config) => {
|
|
34
37
|
// if this bombs there is an issue with the logic enabling the buttons
|
35
38
|
invariant(exportFunction);
|
36
39
|
exportHandler(exportFunction, exportConfig).then(() => setIsExporting(false));
|
37
|
-
}, [exportFunction, title]);
|
40
|
+
}, [exportFunction, setIsExporting, title]);
|
38
41
|
const onExportRawCSV = useCallback(() => {
|
39
42
|
setIsExporting(true);
|
40
43
|
// if this bombs there is an issue with the logic enabling the buttons
|
41
44
|
invariant(exportRawFunction);
|
42
45
|
exportRawHandler(exportRawFunction, title).then(() => setIsExporting(false));
|
43
46
|
}, [exportRawFunction, title]);
|
47
|
+
const onExportPowerPointPresentation = useCallback(() => {
|
48
|
+
setIsExporting(true);
|
49
|
+
// if this bombs there is an issue with the logic enabling the buttons
|
50
|
+
invariant(exportSlidesFunction);
|
51
|
+
exportSlidesHandler(exportSlidesFunction, title, "pptx").then(() => setIsExporting(false));
|
52
|
+
}, [exportSlidesFunction, title]);
|
53
|
+
const onExportPdfPresentation = useCallback(() => {
|
54
|
+
setIsExporting(true);
|
55
|
+
// if this bombs there is an issue with the logic enabling the buttons
|
56
|
+
invariant(exportSlidesFunction);
|
57
|
+
exportSlidesHandler(exportSlidesFunction, title, "pdf").then(() => setIsExporting(false));
|
58
|
+
}, [exportSlidesFunction, title]);
|
44
59
|
const onExportXLSX = useCallback(() => {
|
45
60
|
openDialog({
|
46
61
|
onSubmit: ({ includeFilterContext, mergeHeaders }) => {
|
@@ -63,14 +78,21 @@ export const useInsightExport = (config) => {
|
|
63
78
|
}, [settings, title, exportFunction, closeDialog]);
|
64
79
|
const exportCSVEnabled = !isExporting && isInsightExportable && isExportableToCsv;
|
65
80
|
const exportXLSXEnabled = !isExporting && isInsightExportable && isExportableToXlsx;
|
81
|
+
const exportCSVRawEnabled = !isExporting;
|
66
82
|
const isExportRawVisible = settings.enableRawExports === true;
|
83
|
+
const isExportVisible = useDashboardSelector(selectSlideShowExportVisible);
|
67
84
|
return {
|
68
85
|
exportCSVEnabled,
|
69
86
|
exportXLSXEnabled,
|
87
|
+
exportCSVRawEnabled,
|
88
|
+
isExporting,
|
70
89
|
isExportRawVisible,
|
90
|
+
isExportVisible,
|
71
91
|
onExportCSV,
|
72
92
|
onExportXLSX,
|
73
93
|
onExportRawCSV,
|
94
|
+
onExportPdfPresentation,
|
95
|
+
onExportPowerPointPresentation,
|
74
96
|
};
|
75
97
|
};
|
76
98
|
//# sourceMappingURL=useInsightExport.js.map
|
@@ -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,EAInB,sBAAsB,
|
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,EAInB,sBAAsB,EAEtB,yBAAyB,EACzB,4BAA4B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAKhC,EAAE,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,WAAkC,EAAE,EAAE,CACnC,kBAAkB,CACd,QAAQ,EACR,mBAAmB,CACf,SAAS,EACT;QACI,GAAG,WAAW;QACd,MAAM,EAAE,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;KACzD,EACD,IAAI,EAAE,CACT,CACJ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC7C,CAAC,SAAS,CAAC,CACd,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACjC,CAAC,KAAa,EAAE,EAAE,CACd,kBAAkB,CACd,QAAQ,EACR,sBAAsB,CAAC,SAAS,EAAE,MAAO,EAAE,OAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CACtE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC7C,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CACpC,CAAC,KAAa,EAAE,UAA0B,EAAE,EAAE,CAC1C,kBAAkB,CACd,QAAQ,EACR,yBAAyB,CAAC,SAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACnE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC7C,CAAC,SAAS,CAAC,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,mBAAmB,GAAG,OAAO;QAC/B,CAAC,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,cAAc;QAC/D,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,2CAA2C,CAAC,SAAS,CAAC,CAAC,CAAC;IACvG,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,4CAA4C,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzG,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IACrD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAE7D,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,YAAY,GAA0B;YACxC,MAAM,EAAE,KAAK;YACb,KAAK;SACR,CAAC;QACF,sEAAsE;QACtE,SAAS,CAAC,cAAc,CAAC,CAAC;QAC1B,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5C,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,sEAAsE;QACtE,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7B,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;IAE/B,MAAM,8BAA8B,GAAG,WAAW,CAAC,GAAG,EAAE;QACpD,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,sEAAsE;QACtE,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChC,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,sEAAsE;QACtE,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChC,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9F,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,UAAU,CAAC;YACP,QAAQ,EAAE,CAAC,EAAE,oBAAoB,EAAE,YAAY,EAAE,EAAE,EAAE;gBACjD,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,sEAAsE;gBACtE,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC1B,WAAW,EAAE,CAAC;gBACd,aAAa,CAAC,cAAc,EAAE;oBAC1B,MAAM,EAAE,MAAM;oBACd,YAAY;oBACZ,oBAAoB;oBACpB,WAAW,EAAE,oBAAoB;oBACjC,KAAK;iBACR,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,oBAAoB,EAAE,OAAO,CAAC,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC;YACvE,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,mBAAmB,IAAI,IAAI,CAAC;YAC5D,oBAAoB,EAAE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,IAAI,IAAI,CAAC;SAC7E,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnD,MAAM,gBAAgB,GAAG,CAAC,WAAW,IAAI,mBAAmB,IAAI,iBAAiB,CAAC;IAClF,MAAM,iBAAiB,GAAG,CAAC,WAAW,IAAI,mBAAmB,IAAI,kBAAkB,CAAC;IACpF,MAAM,mBAAmB,GAAG,CAAC,WAAW,CAAC;IAEzC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,gBAAgB,KAAK,IAAI,CAAC;IAC9D,MAAM,eAAe,GAAG,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IAE3E,OAAO;QACH,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,eAAe;QACf,WAAW;QACX,YAAY;QACZ,cAAc;QACd,uBAAuB;QACvB,8BAA8B;KACjC,CAAC;AACN,CAAC,CAAC"}
|
@@ -1 +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;AAIhF,KAAK,aAAa,GAAG,CACjB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,EAC5D,KAAK,EAAE,MAAM,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;
|
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;AAIhF,KAAK,aAAa,GAAG,CACjB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,EAC5D,KAAK,EAAE,MAAM,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,eAAO,MAAM,mBAAmB,QAAO,aA2BtC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useRawExportHandler.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useRawExportHandler.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,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;
|
1
|
+
{"version":3,"file":"useRawExportHandler.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useRawExportHandler.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,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;AAM/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;YACF,MAAM,YAAY,GAAkB,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;YAChE,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;YACjD,YAAY,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBAC9B,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YACD,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"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { IExportResult } from "@gooddata/sdk-backend-spi";
|
2
|
+
type ExportSlidesHandler = (exportFunction: (title: string, exportType: "pdf" | "pptx") => Promise<IExportResult>, title: string, exportType: "pdf" | "pptx") => Promise<void>;
|
3
|
+
export declare const useSlidesExportHandler: () => ExportSlidesHandler;
|
4
|
+
export {};
|
5
|
+
//# sourceMappingURL=useSlidesExportHandler.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useSlidesExportHandler.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useSlidesExportHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAKhF,KAAK,mBAAmB,GAAG,CACvB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,EACrF,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,KAAK,GAAG,MAAM,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,eAAO,MAAM,sBAAsB,QAAO,mBA8BzC,CAAC"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
// (C) 2020-2025 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 useSlidesExportHandler = () => {
|
8
|
+
const { addProgress, addSuccess, addError, removeMessage } = useToastMessage();
|
9
|
+
const lastExportMessageId = useRef("");
|
10
|
+
return useCallback(async (exportFunction, title, exportType) => {
|
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(title, exportType);
|
16
|
+
if (lastExportMessageId.current) {
|
17
|
+
removeMessage(lastExportMessageId.current);
|
18
|
+
}
|
19
|
+
addSuccess(messages.messagesExportResultSuccess);
|
20
|
+
downloadFile(exportResult);
|
21
|
+
}
|
22
|
+
catch (err) {
|
23
|
+
if (lastExportMessageId.current) {
|
24
|
+
removeMessage(lastExportMessageId.current);
|
25
|
+
}
|
26
|
+
if (isProtectedDataError(err)) {
|
27
|
+
addError(messages.messagesExportResultRestrictedError);
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
addError(messages.messagesExportResultError);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}, []);
|
34
|
+
};
|
35
|
+
//# sourceMappingURL=useSlidesExportHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useSlidesExportHandler.js","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useSlidesExportHandler.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,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;AAQ/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAwB,EAAE;IAC5D,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,CAAsB,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QAChF,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,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAE7D,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;YACjD,YAAY,CAAC,YAAY,CAAC,CAAC;QAC/B,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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DescriptionClickTrigger.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/description/DescriptionClickTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"DescriptionClickTrigger.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/description/DescriptionClickTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAWrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAoB3D,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CA6D3E,CAAC"}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
// (C) 2022-
|
1
|
+
// (C) 2022-2025 GoodData Corporation
|
2
2
|
import React, { useState, useCallback } from "react";
|
3
3
|
import cx from "classnames";
|
4
4
|
import { useIntl } from "react-intl";
|
5
|
-
import { DescriptionIcon, DescriptionPanelContent, Bubble, DESCRIPTION_PANEL_ARROW_OFFSETS, } from "@gooddata/sdk-ui-kit";
|
5
|
+
import { DescriptionIcon, DescriptionPanelContent, Bubble, DESCRIPTION_PANEL_ARROW_OFFSETS, isActionKey, } from "@gooddata/sdk-ui-kit";
|
6
6
|
const DESCRIPTION_PANEL_ALIGN_POINTS = [
|
7
7
|
{ align: "tr tl" },
|
8
8
|
{ align: "cr cl" },
|
@@ -31,7 +31,7 @@ export const DescriptionClickTrigger = (props) => {
|
|
31
31
|
}, [setIsOpen, onOpen]);
|
32
32
|
const onKeyDown = useCallback((event) => {
|
33
33
|
// This enables keyboard interaction events after focus
|
34
|
-
if (event
|
34
|
+
if (isActionKey(event)) {
|
35
35
|
event.preventDefault();
|
36
36
|
switchIsOpen();
|
37
37
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DescriptionClickTrigger.js","sourceRoot":"","sources":["../../../../src/presentation/widget/description/DescriptionClickTrigger.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACH,eAAe,EACf,uBAAuB,EACvB,MAAM,EACN,+BAA+B,
|
1
|
+
{"version":3,"file":"DescriptionClickTrigger.js","sourceRoot":"","sources":["../../../../src/presentation/widget/description/DescriptionClickTrigger.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EACH,eAAe,EACf,uBAAuB,EACvB,MAAM,EACN,+BAA+B,EAC/B,WAAW,GACd,MAAM,sBAAsB,CAAC;AAG9B,MAAM,8BAA8B,GAAG;IACnC,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAElB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAElB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAElB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;IAClB,EAAE,KAAK,EAAE,OAAO,EAAE;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA4C,CAAC,KAAK,EAAE,EAAE;IACtF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBACpB,MAAM,EAAE,CAAC;YACb,CAAC;YACD,OAAO,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAExB,MAAM,SAAS,GAAG,WAAW,CACzB,CAAC,KAA0C,EAAE,EAAE;QAC3C,uDAAuD;QACvD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;QACnB,CAAC;IACL,CAAC,EACD,CAAC,YAAY,CAAC,CACjB,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CACpB,8BAA8B,EAC9B;QACI,qCAAqC,EAAE,MAAM;KAChD,EACD,KAAK,CAAC,SAAS,CAClB,CAAC;IAEF,OAAO,CACH;QACI,6BACI,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,4BAA4B,EAAE,CAAC;YAE/D,oBAAC,eAAe,IAAC,SAAS,EAAC,sCAAsC,GAAG,CAClE;QACL,MAAM,CAAC,CAAC,CAAC,CACN,oBAAC,MAAM,IACH,SAAS,EAAC,0CAA0C,EACpD,WAAW,EAAE,8BAA8B,EAC3C,YAAY,EAAE,+BAA+B,EAC7C,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC/B,OAAO,EAAE,YAAY,EACrB,mBAAmB,EAAE,IAAI,EACzB,mBAAmB,EAAE,KAAK,EAC1B,OAAO,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE;YAE9B,oBAAC,uBAAuB,OAAK,KAAK,GAAI,CACjC,CACZ,CAAC,CAAC,CAAC,IAAI,CACT,CACN,CAAC;AACN,CAAC,CAAC"}
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
import React from "react";
|
2
|
+
import { IDashboardInsightProps } from "./types.js";
|
2
3
|
/**
|
3
4
|
* Default implementation of the Dashboard Insight widget.
|
4
5
|
*
|
5
6
|
* @public
|
6
7
|
*/
|
7
|
-
export declare const DefaultDashboardInsight:
|
8
|
+
export declare const DefaultDashboardInsight: (props: IDashboardInsightProps) => React.JSX.Element;
|
8
9
|
//# sourceMappingURL=DefaultDashboardInsight.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DefaultDashboardInsight.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/insight/DefaultDashboardInsight.
|
1
|
+
{"version":3,"file":"DefaultDashboardInsight.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/insight/DefaultDashboardInsight.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAWpD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAAW,sBAAsB,sBAIpE,CAAC"}
|
@@ -1,16 +1,25 @@
|
|
1
1
|
// (C) 2022-2025 GoodData Corporation
|
2
|
+
import React from "react";
|
2
3
|
import { renderModeAware } from "../../componentDefinition/index.js";
|
4
|
+
import { useBackendWithInsightWidgetCorrelation } from "./useBackendWithInsightWidgetCorrelation.js";
|
3
5
|
import { ViewModeDashboardInsight } from "./ViewModeDashboardInsight/index.js";
|
4
6
|
import { EditModeDashboardInsight } from "./EditModeDashboardInsight/index.js";
|
5
7
|
import { ExportModeDashboardInsight } from "./ExportModeDashboardInsight/index.js";
|
6
8
|
/**
|
7
|
-
*
|
8
|
-
*
|
9
|
-
* @public
|
9
|
+
* @internal
|
10
10
|
*/
|
11
|
-
|
11
|
+
const DefaultDashboardInsightInner = renderModeAware({
|
12
12
|
view: ViewModeDashboardInsight,
|
13
13
|
edit: EditModeDashboardInsight,
|
14
14
|
export: ExportModeDashboardInsight,
|
15
15
|
});
|
16
|
+
/**
|
17
|
+
* Default implementation of the Dashboard Insight widget.
|
18
|
+
*
|
19
|
+
* @public
|
20
|
+
*/
|
21
|
+
export const DefaultDashboardInsight = (props) => {
|
22
|
+
const backend = useBackendWithInsightWidgetCorrelation(props);
|
23
|
+
return React.createElement(DefaultDashboardInsightInner, { ...props, backend: backend });
|
24
|
+
};
|
16
25
|
//# sourceMappingURL=DefaultDashboardInsight.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DefaultDashboardInsight.js","sourceRoot":"","sources":["../../../../src/presentation/widget/insight/DefaultDashboardInsight.
|
1
|
+
{"version":3,"file":"DefaultDashboardInsight.js","sourceRoot":"","sources":["../../../../src/presentation/widget/insight/DefaultDashboardInsight.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAGnF;;GAEG;AACH,MAAM,4BAA4B,GAAG,eAAe,CAAC;IACjD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,0BAA0B;CACrC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACrE,MAAM,OAAO,GAAG,sCAAsC,CAAC,KAAK,CAAC,CAAC;IAE9D,OAAO,oBAAC,4BAA4B,OAAK,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;AACzE,CAAC,CAAC"}
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DashboardInsight.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.tsx"],"names":[],"mappings":";AAyCA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAqCxD;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,sBAAsB,KAAG,
|
1
|
+
{"version":3,"file":"DashboardInsight.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.tsx"],"names":[],"mappings":";AAyCA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAqCxD;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,sBAAsB,KAAG,WA6QhE,CAAC"}
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// (C) 2020-2025 GoodData Corporation
|
2
|
-
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
2
|
+
import React, { useRef, useCallback, useEffect, useMemo, useState } from "react";
|
3
3
|
import { createSelector } from "@reduxjs/toolkit";
|
4
4
|
import { insightProperties, insightSetFilters, insightVisualizationUrl, objRefToString, widgetRef, } from "@gooddata/sdk-model";
|
5
5
|
import { useBackendStrict, useWorkspaceStrict, } from "@gooddata/sdk-ui";
|
@@ -39,10 +39,11 @@ const selectChartConfig = createSelector([
|
|
39
39
|
* @internal
|
40
40
|
*/
|
41
41
|
export const DashboardInsight = (props) => {
|
42
|
-
const { insight, widget, clientHeight, clientWidth, backend, workspace, onError, onDrill: onDrillFn, onLoadingChanged, onExportReady, ErrorComponent: CustomErrorComponent, LoadingComponent: CustomLoadingComponent, exportData, } = props;
|
42
|
+
const { insight, widget, clientHeight, clientWidth, backend, workspace, onError, onDrill: onDrillFn, onLoadingChanged, afterRender, onExportReady, ErrorComponent: CustomErrorComponent, LoadingComponent: CustomLoadingComponent, exportData, } = props;
|
43
43
|
const ref = widgetRef(widget);
|
44
44
|
// register as early as possible
|
45
45
|
const [initialRegistered, setInitialRegistered] = useState(true);
|
46
|
+
const afterRenderCalled = useRef(false);
|
46
47
|
useEffect(() => {
|
47
48
|
onRequestAsyncRender();
|
48
49
|
}, []);
|
@@ -57,16 +58,21 @@ export const DashboardInsight = (props) => {
|
|
57
58
|
const executionsHandler = useWidgetExecutionsHandler(ref);
|
58
59
|
// State props
|
59
60
|
const { locale, settings, colorPalette } = useDashboardSelector(selectCommonDashboardInsightProps);
|
60
|
-
const { enableKDWidgetCustomHeight } = useDashboardSelector(selectSettings);
|
61
|
+
const { enableKDWidgetCustomHeight, enableDashboardAfterRenderDetection } = useDashboardSelector(selectSettings);
|
61
62
|
const isInEditMode = useDashboardSelector(selectIsInEditMode);
|
62
63
|
const crossFilteringSelectedPoints = useDashboardSelector(selectCrossFilteringSelectedPointsByWidgetRef(ref));
|
63
64
|
const chartConfig = useDashboardSelector(selectChartConfig);
|
64
65
|
// Loading and rendering
|
65
66
|
const [isVisualizationLoading, setIsVisualizationLoading] = useState(false);
|
67
|
+
const [isVisualizationInitializing, setIsVisualizationInitializing] = useState(true);
|
66
68
|
const [visualizationError, setVisualizationError] = useState();
|
67
69
|
const { onRequestAsyncRender, onResolveAsyncRender } = useDashboardAsyncRender(objRefToString(ref));
|
68
70
|
const handleLoadingChanged = useCallback(({ isLoading }) => {
|
69
71
|
if (isLoading) {
|
72
|
+
// when loading starts, reset the afterRenderCalled
|
73
|
+
if (enableDashboardAfterRenderDetection) {
|
74
|
+
afterRenderCalled.current = false;
|
75
|
+
}
|
70
76
|
if (!initialRegistered) {
|
71
77
|
// request when loading changed in later phases
|
72
78
|
// such as re-execution on filters change
|
@@ -80,12 +86,27 @@ export const DashboardInsight = (props) => {
|
|
80
86
|
if (initialRegistered) {
|
81
87
|
setInitialRegistered(false);
|
82
88
|
}
|
83
|
-
|
89
|
+
// fallback to onLoadingChange-based resolve if afterRender detection not enabled
|
90
|
+
if (!enableDashboardAfterRenderDetection) {
|
91
|
+
onResolveAsyncRender();
|
92
|
+
}
|
84
93
|
}
|
85
94
|
executionsHandler.onLoadingChanged({ isLoading });
|
86
95
|
setIsVisualizationLoading(isLoading);
|
87
96
|
onLoadingChanged?.({ isLoading });
|
88
|
-
}, [
|
97
|
+
}, [
|
98
|
+
onLoadingChanged,
|
99
|
+
executionsHandler.onLoadingChanged,
|
100
|
+
initialRegistered,
|
101
|
+
enableDashboardAfterRenderDetection,
|
102
|
+
]);
|
103
|
+
const handleAfterRender = useCallback(() => {
|
104
|
+
if (enableDashboardAfterRenderDetection && !afterRenderCalled.current) {
|
105
|
+
afterRenderCalled.current = true;
|
106
|
+
onResolveAsyncRender();
|
107
|
+
setIsVisualizationInitializing(false);
|
108
|
+
}
|
109
|
+
}, [afterRender, onResolveAsyncRender, enableDashboardAfterRenderDetection]);
|
89
110
|
// Filtering
|
90
111
|
const { result: filtersForInsight, status: filtersStatus, error: filtersError, } = useWidgetFilters(widget, insight);
|
91
112
|
/**
|
@@ -121,7 +142,11 @@ export const DashboardInsight = (props) => {
|
|
121
142
|
setVisualizationError(error);
|
122
143
|
onError?.(error);
|
123
144
|
executionsHandler.onError(error);
|
124
|
-
|
145
|
+
// rendered with error, notify if we're using afterRender to detect
|
146
|
+
if (enableDashboardAfterRenderDetection) {
|
147
|
+
onResolveAsyncRender();
|
148
|
+
}
|
149
|
+
}, [onError, executionsHandler.onError, enableDashboardAfterRenderDetection, onResolveAsyncRender]);
|
125
150
|
const effectiveError = filtersError ?? visualizationError;
|
126
151
|
useEffect(() => {
|
127
152
|
// need reset custom error when filters changed
|
@@ -149,19 +174,20 @@ export const DashboardInsight = (props) => {
|
|
149
174
|
// loading of insight is initiated after filters are successful, until then show loading component
|
150
175
|
// if filter status is success and visualization is loading, render both loading and insight
|
151
176
|
const loading = filtersStatus === "running" || isVisualizationLoading;
|
152
|
-
const exportDataVis = useVisualizationExportData(exportData,
|
177
|
+
const exportDataVis = useVisualizationExportData(exportData, isVisualizationInitializing, !!effectiveError);
|
153
178
|
const renderComponent = () => {
|
154
179
|
if (effectiveError) {
|
155
180
|
return (React.createElement(CustomError, { error: effectiveError, isCustomWidgetHeightEnabled: !!settings?.enableKDWidgetCustomHeight, height: clientHeight, width: clientWidth }));
|
156
181
|
}
|
157
182
|
else {
|
158
183
|
return (React.createElement(React.Fragment, null,
|
159
|
-
loading ? React.createElement(
|
184
|
+
loading ? (React.createElement("div", { className: "insight-view-loader" },
|
185
|
+
React.createElement(LoadingComponent, null))) : null,
|
160
186
|
filtersStatus === "success" ? (React.createElement("div", { className: "insight-view-visualization", style: insightWrapperStyle },
|
161
187
|
React.createElement(InsightBody, { widget: widget, insight: insightWithAddedWidgetProperties, backend: effectiveBackend, workspace: effectiveWorkspace, drillableItems: drillableItems, onDrill: onDrill, config: {
|
162
188
|
...chartConfig,
|
163
189
|
selectedPoints: crossFilteringSelectedPoints,
|
164
|
-
}, onLoadingChanged: handleLoadingChanged, locale: locale, settings: settings, colorPalette: colorPalette, onError: handleError, pushData: handlePushData, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent, onExportReady: onExportReady }))) : null));
|
190
|
+
}, onLoadingChanged: handleLoadingChanged, locale: locale, settings: settings, colorPalette: colorPalette, onError: handleError, pushData: handlePushData, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent, onExportReady: onExportReady, afterRender: handleAfterRender }))) : null));
|
165
191
|
}
|
166
192
|
};
|
167
193
|
return (React.createElement("div", { className: cx("visualization-content", {
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DashboardInsight.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAiB,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"DashboardInsight.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.tsx"],"names":[],"mappings":"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"}
|