@gooddata/sdk-ui-dashboard 11.65.0-alpha.9 → 11.65.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 +536 -2137
- package/README.md +1 -1
- package/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/index.d.ts +6 -4
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -2
- package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts +36 -3
- package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/filterViews.js +138 -26
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts +15 -4
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +55 -11
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/preloadAttributeFiltersData.d.ts +6 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/preloadAttributeFiltersData.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/preloadAttributeFiltersData.js +14 -6
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js +1 -0
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +21 -8
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +9 -3
- package/esm/model/commandHandlers/filterContext/filterViewHandler.d.ts +10 -0
- package/esm/model/commandHandlers/filterContext/filterViewHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js +79 -24
- package/esm/model/commandHandlers/filterContext/tabSync/writtenTargets.d.ts +17 -0
- package/esm/model/commandHandlers/filterContext/tabSync/writtenTargets.d.ts.map +1 -0
- package/esm/model/commandHandlers/filterContext/tabSync/writtenTargets.js +79 -0
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.js +7 -3
- package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.js +3 -1
- package/esm/model/commands/filters.d.ts +16 -1
- package/esm/model/commands/filters.d.ts.map +1 -1
- package/esm/model/commands/filters.js +2 -1
- package/esm/model/commands/parameters.d.ts +10 -1
- package/esm/model/commands/parameters.d.ts.map +1 -1
- package/esm/model/commands/parameters.js +2 -1
- package/esm/model/events/base.d.ts +1 -1
- package/esm/model/events/base.d.ts.map +1 -1
- package/esm/model/events/index.d.ts +2 -1
- package/esm/model/events/index.d.ts.map +1 -1
- package/esm/model/events/insightEditor.d.ts +128 -0
- package/esm/model/events/insightEditor.d.ts.map +1 -0
- package/esm/model/events/insightEditor.js +74 -0
- package/esm/model/store/config/configSelectors.d.ts +12 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +12 -0
- package/esm/model/store/filterViews/filterViewsReducers.d.ts +8 -0
- package/esm/model/store/filterViews/filterViewsReducers.d.ts.map +1 -1
- package/esm/model/store/filterViews/filterViewsReducers.js +11 -0
- package/esm/model/store/filterViews/filterViewsReducersSelectors.d.ts +6 -0
- package/esm/model/store/filterViews/filterViewsReducersSelectors.d.ts.map +1 -1
- package/esm/model/store/filterViews/filterViewsReducersSelectors.js +6 -0
- package/esm/model/store/filterViews/filterViewsState.d.ts +6 -0
- package/esm/model/store/filterViews/filterViewsState.d.ts.map +1 -1
- package/esm/model/store/filterViews/index.d.ts +2 -0
- package/esm/model/store/filterViews/index.d.ts.map +1 -1
- package/esm/model/store/meta/metaSelectors.d.ts +7 -0
- package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
- package/esm/model/store/meta/metaSelectors.js +10 -0
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts +24 -0
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/filterContext/filterContextReducers.js +75 -0
- package/esm/model/store/tabs/index.d.ts +8 -0
- package/esm/model/store/tabs/index.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersReducers.d.ts +16 -0
- package/esm/model/store/tabs/parameters/parametersReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersReducers.js +25 -0
- package/esm/model/store/ui/index.d.ts +2 -0
- package/esm/model/store/ui/index.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.d.ts +6 -0
- package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.js +8 -0
- package/esm/model/store/ui/uiSelectors.d.ts +7 -0
- package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
- package/esm/model/store/ui/uiSelectors.js +6 -0
- package/esm/model/store/ui/uiState.d.ts +5 -0
- package/esm/model/store/ui/uiState.d.ts.map +1 -1
- package/esm/model/store/ui/uiState.js +1 -0
- package/esm/model/types/commonTypes.d.ts +18 -0
- package/esm/model/types/commonTypes.d.ts.map +1 -1
- package/esm/model/types/insightEditorTypes.d.ts +43 -0
- package/esm/model/types/insightEditorTypes.d.ts.map +1 -0
- package/esm/model/types/insightEditorTypes.js +2 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContent.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContent.js +1 -4
- package/esm/presentation/automations/connectors/hooks/useAutomationManagementEditRouting.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useAutomationManagementEditRouting.js +2 -6
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.js +6 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.js +2 -5
- package/esm/presentation/automations/shared/automationFilters/utils.d.ts +4 -0
- package/esm/presentation/automations/shared/automationFilters/utils.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/utils.js +12 -5
- package/esm/presentation/automations/shared/utils/automationUtils.d.ts +1 -2
- package/esm/presentation/automations/shared/utils/automationUtils.d.ts.map +1 -1
- package/esm/presentation/automations/shared/utils/automationUtils.js +0 -1
- package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.d.ts +1 -1
- package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.js +0 -10
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js +10 -1
- package/esm/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.d.ts +5 -0
- package/esm/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.d.ts.map +1 -0
- package/esm/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.js +27 -0
- package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.d.ts.map +1 -1
- package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.js +7 -2
- package/esm/presentation/dashboard/components/DashboardInner.d.ts.map +1 -1
- package/esm/presentation/dashboard/components/DashboardInner.js +13 -9
- package/esm/presentation/dashboard/hooks/useDashboard.d.ts.map +1 -1
- package/esm/presentation/dashboard/hooks/useDashboard.js +3 -2
- package/esm/presentation/insightEditor/InsightEditorContent.d.ts +26 -0
- package/esm/presentation/insightEditor/InsightEditorContent.d.ts.map +1 -0
- package/esm/presentation/insightEditor/InsightEditorContent.js +179 -0
- package/esm/presentation/insightEditor/InsightEditorCreatePanelItem.d.ts +7 -0
- package/esm/presentation/insightEditor/InsightEditorCreatePanelItem.d.ts.map +1 -0
- package/esm/presentation/insightEditor/InsightEditorCreatePanelItem.js +25 -0
- package/esm/presentation/insightEditor/InsightEditorOverlay.d.ts +6 -0
- package/esm/presentation/insightEditor/InsightEditorOverlay.d.ts.map +1 -0
- package/esm/presentation/insightEditor/InsightEditorOverlay.js +110 -0
- package/esm/presentation/insightEditor/InsightEditorPermissionsContext.d.ts +10 -0
- package/esm/presentation/insightEditor/InsightEditorPermissionsContext.d.ts.map +1 -0
- package/esm/presentation/insightEditor/InsightEditorPermissionsContext.js +18 -0
- package/esm/presentation/insightEditor/InsightEditorPlaceholder.d.ts +7 -0
- package/esm/presentation/insightEditor/InsightEditorPlaceholder.d.ts.map +1 -0
- package/esm/presentation/insightEditor/InsightEditorPlaceholder.js +15 -0
- package/esm/presentation/insightEditor/filterContext/attributeFilters.d.ts +4 -0
- package/esm/presentation/insightEditor/filterContext/attributeFilters.d.ts.map +1 -0
- package/esm/presentation/insightEditor/filterContext/attributeFilters.js +115 -0
- package/esm/presentation/insightEditor/filterContext/dateFilters.d.ts +5 -0
- package/esm/presentation/insightEditor/filterContext/dateFilters.d.ts.map +1 -0
- package/esm/presentation/insightEditor/filterContext/dateFilters.js +117 -0
- package/esm/presentation/insightEditor/filterContext/filterIntersection.d.ts +7 -0
- package/esm/presentation/insightEditor/filterContext/filterIntersection.d.ts.map +1 -0
- package/esm/presentation/insightEditor/filterContext/filterIntersection.js +149 -0
- package/esm/presentation/insightEditor/filterContext/insightFilterContext.d.ts +26 -0
- package/esm/presentation/insightEditor/filterContext/insightFilterContext.d.ts.map +1 -0
- package/esm/presentation/insightEditor/filterContext/insightFilterContext.js +72 -0
- package/esm/presentation/insightEditor/filterContext/measureValueFilters.d.ts +20 -0
- package/esm/presentation/insightEditor/filterContext/measureValueFilters.d.ts.map +1 -0
- package/esm/presentation/insightEditor/filterContext/measureValueFilters.js +76 -0
- package/esm/presentation/insightEditor/filterContext/objQualifiers.d.ts +11 -0
- package/esm/presentation/insightEditor/filterContext/objQualifiers.d.ts.map +1 -0
- package/esm/presentation/insightEditor/filterContext/objQualifiers.js +18 -0
- package/esm/presentation/insightEditor/insightEditorEscapeGuard.d.ts +18 -0
- package/esm/presentation/insightEditor/insightEditorEscapeGuard.d.ts.map +1 -0
- package/esm/presentation/insightEditor/insightEditorEscapeGuard.js +24 -0
- package/esm/presentation/insightEditor/insightEditorRoute.d.ts +34 -0
- package/esm/presentation/insightEditor/insightEditorRoute.d.ts.map +1 -0
- package/esm/presentation/insightEditor/insightEditorRoute.js +48 -0
- package/esm/presentation/insightEditor/types.d.ts +7 -0
- package/esm/presentation/insightEditor/types.d.ts.map +1 -0
- package/esm/presentation/insightEditor/types.js +2 -0
- package/esm/presentation/insightEditor/useCanCreateInsightInEditor.d.ts +5 -0
- package/esm/presentation/insightEditor/useCanCreateInsightInEditor.d.ts.map +1 -0
- package/esm/presentation/insightEditor/useCanCreateInsightInEditor.js +14 -0
- package/esm/presentation/insightEditor/useExploreFilterTransfer.d.ts +23 -0
- package/esm/presentation/insightEditor/useExploreFilterTransfer.d.ts.map +1 -0
- package/esm/presentation/insightEditor/useExploreFilterTransfer.js +194 -0
- package/esm/presentation/insightEditor/useInsightEditPermissions.d.ts +17 -0
- package/esm/presentation/insightEditor/useInsightEditPermissions.d.ts.map +1 -0
- package/esm/presentation/insightEditor/useInsightEditPermissions.js +42 -0
- package/esm/presentation/insightEditor/useInsightEditorMenuItems.d.ts +23 -0
- package/esm/presentation/insightEditor/useInsightEditorMenuItems.d.ts.map +1 -0
- package/esm/presentation/insightEditor/useInsightEditorMenuItems.js +126 -0
- package/esm/presentation/insightEditor/useInsightEditorSession.d.ts +19 -0
- package/esm/presentation/insightEditor/useInsightEditorSession.d.ts.map +1 -0
- package/esm/presentation/insightEditor/useInsightEditorSession.js +141 -0
- package/esm/presentation/insightList/InsightList.d.ts.map +1 -1
- package/esm/presentation/insightList/InsightList.js +10 -5
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +16 -6
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +32 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +32 -0
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +50 -40
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +12 -2
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +186 -176
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +11 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +10 -0
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +11 -1
- package/esm/presentation/shareDialog/DefaultShareDialog.d.ts.map +1 -1
- package/esm/presentation/shareDialog/DefaultShareDialog.js +2 -5
- package/esm/presentation/topBar/title/EditableTitle.d.ts.map +1 -1
- package/esm/presentation/topBar/title/EditableTitle.js +6 -0
- package/esm/presentation/widget/insight/DefaultDashboardInsightComponentSetFactory.d.ts +1 -1
- package/esm/presentation/widget/insight/DefaultDashboardInsightComponentSetFactory.d.ts.map +1 -1
- package/esm/presentation/widget/insight/DefaultDashboardInsightComponentSetFactory.js +13 -1
- package/esm/presentation/widget/widget/InsightWidget/useEditableInsightMenu.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useEditableInsightMenu.js +5 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +4 -1
- package/esm/sdk-ui-dashboard.d.ts +301 -5
- package/package.json +23 -21
- package/styles/css/dashboard.css +40 -1
- package/styles/css/dashboard.css.map +1 -1
- package/styles/css/dashboardContentLoader.css +45 -0
- package/styles/css/dashboardContentLoader.css.map +1 -0
- package/styles/css/insightEditor.css +46 -0
- package/styles/css/insightEditor.css.map +1 -0
- package/styles/css/main.css +86 -1
- package/styles/css/main.css.map +1 -1
- package/styles/scss/dashboard.scss +2 -1
- package/styles/scss/dashboardContentLoader.scss +45 -0
- package/styles/scss/insightEditor.scss +53 -0
- package/styles/scss/main.scss +1 -0
|
@@ -11,7 +11,6 @@ import { AUTOMATIONS_COLUMN_CONFIG, AUTOMATIONS_MAX_HEIGHT } from "../../../cons
|
|
|
11
11
|
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
12
12
|
import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
|
|
13
13
|
import { useScheduledEmailManagementDialogContext } from "../../contexts/ScheduledEmailManagementDialogContext.js";
|
|
14
|
-
import { computeUseHostRoute } from "../../shared/utils/automationUtils.js";
|
|
15
14
|
import { SCHEDULED_EMAIL_DIALOG_ID } from "../DefaultScheduledEmailDialog/constants.js";
|
|
16
15
|
import { useScheduleEmailDialogAccessibility } from "../hooks/useScheduleEmailDialogAccessibility.js";
|
|
17
16
|
import { isMobileView } from "../utils/responsive.js";
|
|
@@ -21,10 +20,9 @@ export function DefaultScheduledEmailManagementDialogContent({ onAdd, onClose, o
|
|
|
21
20
|
const isMobile = isMobileView();
|
|
22
21
|
const workspace = useWorkspace();
|
|
23
22
|
const backend = useBackend();
|
|
24
|
-
const { timezone, locale,
|
|
23
|
+
const { timezone, locale, isWhiteLabeled, isExecutionTimestampMode, externalRecipient: externalRecipientOverride, features: { canCreateAutomation }, } = useAutomationsContext();
|
|
25
24
|
const { dashboardId, dashboardTitle, enableAccessibilityMode, isScheduleEmailDialogOpen: isEditDialogOpen, automationsInvalidationId, isEmbedded, maxAutomations, unlimitedAutomations, automations, isLoading: isLoadingScheduleData, } = useScheduledEmailManagementDialogContext();
|
|
26
25
|
const enableBulkActions = !enableAccessibilityMode;
|
|
27
|
-
const useHostRoute = computeUseHostRoute(settings);
|
|
28
26
|
const { returnFocusTo } = useScheduleEmailDialogAccessibility();
|
|
29
27
|
const maxAutomationsReached = automations.length >= maxAutomations && !unlimitedAutomations;
|
|
30
28
|
const isAddButtonDisabled = useMemo(() => isLoadingScheduleData || maxAutomationsReached || isExecutionTimestampMode, [isLoadingScheduleData, maxAutomationsReached, isExecutionTimestampMode]);
|
|
@@ -41,11 +39,10 @@ export function DefaultScheduledEmailManagementDialogContent({ onAdd, onClose, o
|
|
|
41
39
|
dashboardId,
|
|
42
40
|
tabId,
|
|
43
41
|
isEmbedded,
|
|
44
|
-
useHostRoute,
|
|
45
42
|
queryParams: externalRecipientOverride
|
|
46
43
|
? { recipient: externalRecipientOverride }
|
|
47
44
|
: undefined,
|
|
48
|
-
}), [customDashboardUrlBuilder, isEmbedded,
|
|
45
|
+
}), [customDashboardUrlBuilder, isEmbedded, externalRecipientOverride]);
|
|
49
46
|
const titleElementId = useId();
|
|
50
47
|
return (_jsx(Dialog, { displayCloseButton: true, autofocusOnOpen: true, onCancel: onClose, className: cx("gd-notifications-channels-management-dialog s-scheduled-email-management-dialog", "gd-dialog--wide gd-notifications-channels-management-dialog--wide", "gd-dialog--no-padding"), accessibilityConfig: { titleElementId, isModal: true }, returnFocusAfterClose: true, returnFocusTo: returnFocusTo, refocusKey: isEditDialogOpen, children: _jsxs(OverlayControllerProvider, { overlayController: overlayController, children: [_jsx("div", { className: "gd-notifications-channels-management-dialog-title", children: _jsx(Typography, { tagName: "h3", className: "gd-dialog-header", id: titleElementId, children: intl.formatMessage({ id: "dialogs.schedule.management.title" }) }) }), _jsx(ContentDivider, { className: "gd-content-divider--no-spacing" }), _jsx("div", { className: "gd-notifications-channels-content", children: _jsx(Automations, { workspace: workspace, timezone: timezone, type: "schedule", backend: backend, scope: "workspace", maxHeight: AUTOMATIONS_MAX_HEIGHT, isMobileView: isMobile, tableVariant: "small", editAutomation: onEdit, preselectedFilters: {
|
|
51
48
|
dashboard: dashboardId
|
|
@@ -39,6 +39,10 @@ export declare const getFilterByLocalIdentifier: (localIdentifier: string | unde
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function isAllTimeDateFilterFixed(f: IFilter): boolean;
|
|
41
41
|
export declare function areFiltersEqual(filter1: IFilter, filter2: IFilter): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Values to compare date filters by. A bounded range never matches an empty date, so a missing
|
|
44
|
+
* `emptyValueHandling` counts as "exclude" there; on an all-time filter it means no filtering at all.
|
|
45
|
+
*/
|
|
42
46
|
export declare function dateFilterValues(filter: IDateFilter): import("@gooddata/sdk-model").IAbsoluteDateFilterValues | import("@gooddata/sdk-model").IRelativeDateFilterValues;
|
|
43
47
|
export declare function isFilterIgnoredByWidget(filter: FilterContextItem, widget: ExtendedDashboardWidget): boolean;
|
|
44
48
|
export declare function isFilterMatch(filter1: IFilter, filter2: IFilter): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,MAAM,EA6Bd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEtF,eAAO,MAAM,wBAAwB,WAAY,iBAAiB,KAAG,MAAM,GAAG,SAE7E,CAAC;AAEF,eAAO,MAAM,iCAAiC,YAAa,iBAAiB,EAAE,KAAG,OAEhF,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC7B,iBAAiB,WACjB,iBAAiB,KAC3B,OAEF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,EAAE,iBAAiB,GAC3B,iBAAiB,EAAE,CAErB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,iBAAiB,GAC5B,iBAAiB,EAAE,CAErB;AAiBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,GACpC,iBAAiB,GAAG,SAAS,CAuB/B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,iBAAiB,EAAE,EACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,GACpC,iBAAiB,GAAG,SAAS,CAmB/B;AAED,eAAO,MAAM,qBAAqB,eAClB,iBAAiB,EAAE,mBACd,iBAAiB,EAAE,wBAOvC,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC7B,iBAAiB,EAAE,cAChB,iBAAiB,EAAE,oBACb,+BAA+B,EAAE,KACpD,iBAAiB,EAsBnB,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAC3B,iBAAiB,EAAE,YAClB,eAAe,EAAE,cACf,kCAAkC,EAAE,KACjD,eAAe,EAiBjB,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAC/B,iBAAiB,EAAE,eACf,mBAAmB,EAAE,eACrB,8BAA8B,EAAE,KAC9C,mBAAmB,EAoBrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAC7B,MAAM,WACF,iBAAiB,EAAE,KAC7B,iBAAiB,GAAG,SAWtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACnB,iBAAiB,EAAE,GAAG,SAAS,oBACtB,+BAA+B,EAAE,eACtC,8BAA8B,EAAE,cACjC,kCAAkC,EAAE,4BACtB,OAAO,sBACb,OAAO,KAC5B,iBAAiB,EAwBnB,CAAC;AAEF,eAAO,MAAM,0BAA0B,oBAClB,MAAM,GAAG,SAAS,WAC1B,iBAAiB,EAAE,KAC7B,iBAAiB,GAAG,SAStB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAuB5D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAyD3E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,MAAM,EA6Bd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEtF,eAAO,MAAM,wBAAwB,WAAY,iBAAiB,KAAG,MAAM,GAAG,SAE7E,CAAC;AAEF,eAAO,MAAM,iCAAiC,YAAa,iBAAiB,EAAE,KAAG,OAEhF,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC7B,iBAAiB,WACjB,iBAAiB,KAC3B,OAEF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,EAAE,iBAAiB,GAC3B,iBAAiB,EAAE,CAErB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,iBAAiB,GAC5B,iBAAiB,EAAE,CAErB;AAiBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,GACpC,iBAAiB,GAAG,SAAS,CAuB/B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,iBAAiB,EAAE,EACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,GACpC,iBAAiB,GAAG,SAAS,CAmB/B;AAED,eAAO,MAAM,qBAAqB,eAClB,iBAAiB,EAAE,mBACd,iBAAiB,EAAE,wBAOvC,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC7B,iBAAiB,EAAE,cAChB,iBAAiB,EAAE,oBACb,+BAA+B,EAAE,KACpD,iBAAiB,EAsBnB,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAC3B,iBAAiB,EAAE,YAClB,eAAe,EAAE,cACf,kCAAkC,EAAE,KACjD,eAAe,EAiBjB,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAC/B,iBAAiB,EAAE,eACf,mBAAmB,EAAE,eACrB,8BAA8B,EAAE,KAC9C,mBAAmB,EAoBrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAC7B,MAAM,WACF,iBAAiB,EAAE,KAC7B,iBAAiB,GAAG,SAWtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACnB,iBAAiB,EAAE,GAAG,SAAS,oBACtB,+BAA+B,EAAE,eACtC,8BAA8B,EAAE,cACjC,kCAAkC,EAAE,4BACtB,OAAO,sBACb,OAAO,KAC5B,iBAAiB,EAwBnB,CAAC;AAEF,eAAO,MAAM,0BAA0B,oBAClB,MAAM,GAAG,SAAS,WAC1B,iBAAiB,EAAE,KAC7B,iBAAiB,GAAG,SAStB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAuB5D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAyD3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,qHAUnD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CA+B3G;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAazE;AAED,eAAO,MAAM,cAAc,WACf,iBAAiB,iBACV,iBAAiB,EAAE,mBACjB,mBAAmB,EAAE,QAChC,SAAS,KAChB,MAyCF,CAAC"}
|
|
@@ -226,8 +226,8 @@ export function areFiltersEqual(filter1, filter2) {
|
|
|
226
226
|
else if (isAbsoluteDateFilter(filter1) && isAbsoluteDateFilter(filter2)) {
|
|
227
227
|
// An automation does not store a granularity that has no period literal, so the granularity counts
|
|
228
228
|
// only when both filters have one.
|
|
229
|
-
const { granularity: granularity1, ...values1 } =
|
|
230
|
-
const { granularity: granularity2, ...values2 } =
|
|
229
|
+
const { granularity: granularity1, ...values1 } = dateFilterValues(filter1);
|
|
230
|
+
const { granularity: granularity2, ...values2 } = dateFilterValues(filter2);
|
|
231
231
|
return (isEqual(values1, values2) &&
|
|
232
232
|
(granularity1 === undefined || granularity2 === undefined || granularity1 === granularity2));
|
|
233
233
|
}
|
|
@@ -237,11 +237,18 @@ export function areFiltersEqual(filter1, filter2) {
|
|
|
237
237
|
// Filter types are different
|
|
238
238
|
return isEqual(filter1, filter2);
|
|
239
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Values to compare date filters by. A bounded range never matches an empty date, so a missing
|
|
242
|
+
* `emptyValueHandling` counts as "exclude" there; on an all-time filter it means no filtering at all.
|
|
243
|
+
*/
|
|
240
244
|
export function dateFilterValues(filter) {
|
|
241
|
-
|
|
242
|
-
|
|
245
|
+
const values = isAbsoluteDateFilter(filter)
|
|
246
|
+
? absoluteDateFilterValues(filter)
|
|
247
|
+
: relativeDateFilterValues(filter);
|
|
248
|
+
if (values.emptyValueHandling !== undefined || isAllTimeDateFilterFixed(filter)) {
|
|
249
|
+
return values;
|
|
243
250
|
}
|
|
244
|
-
return
|
|
251
|
+
return { ...values, emptyValueHandling: "exclude" };
|
|
245
252
|
}
|
|
246
253
|
export function isFilterIgnoredByWidget(filter, widget) {
|
|
247
254
|
if (!isInsightWidget(widget)) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IExportDefinitionMetadataObject, type IExportDefinitionMetadataObjectDefinition, type IFilter, type
|
|
1
|
+
import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IExportDefinitionMetadataObject, type IExportDefinitionMetadataObjectDefinition, type IFilter, type IUser } from "@gooddata/sdk-model";
|
|
2
2
|
export declare const isDashboardAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean;
|
|
3
3
|
export declare const isVisualisationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean;
|
|
4
4
|
export declare const isCsvVisualizationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean;
|
|
@@ -19,5 +19,4 @@ export declare const getAutomationAlertFilters: (automation: IAutomationMetadata
|
|
|
19
19
|
export declare const areAutomationsEqual: (originalAutomation: IAutomationMetadataObjectDefinition, updatedAutomation: IAutomationMetadataObjectDefinition) => boolean;
|
|
20
20
|
export declare const convertUserToAutomationRecipient: (user: IUser) => IAutomationRecipient;
|
|
21
21
|
export declare const convertExternalRecipientToAutomationRecipient: (externalRecipient: string) => IAutomationRecipient;
|
|
22
|
-
export declare const computeUseHostRoute: (settings: ISettings | undefined) => boolean;
|
|
23
22
|
//# sourceMappingURL=automationUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automationUtils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/utils/automationUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EAEzB,KAAK,+BAA+B,EACpC,KAAK,yCAAyC,EAE9C,KAAK,OAAO,EACZ,KAAK,
|
|
1
|
+
{"version":3,"file":"automationUtils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/utils/automationUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EAEzB,KAAK,+BAA+B,EACpC,KAAK,yCAAyC,EAE9C,KAAK,OAAO,EACZ,KAAK,KAAK,EAKb,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,qBAAqB,eAClB,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,YAW1F,CAAC;AAEF,eAAO,MAAM,yBAAyB,eACtB,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,YAW1F,CAAC;AAEF,eAAO,MAAM,4BAA4B,eACzB,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,YAO1F,CAAC;AAEF,eAAO,MAAM,kCAAkC,qBACzB,+BAA+B,GAAG,yCAAyC,GAAG,SAAS,YAU5G,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC1B,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,YAO1F,CAAC;AAEF,eAAO,MAAM,mCAAmC,qBAC1B,+BAA+B,GAAG,yCAAyC,GAAG,SAAS,YAU5G,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC1B,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,KACxF,iBAAiB,EAAE,GAAG,SAUxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,eAC/B,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,KACxF,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAAG,SAUxC,CAAC;AAEF,eAAO,MAAM,iCAAiC,eAC9B,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,KACxF;IAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAAC,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAA;CAqBhG,CAAC;AAEF,eAAO,MAAM,yBAAyB,eACtB,yBAAyB,GAAG,mCAAmC,GAAG,SAAS,KACxF,OAAO,EAAE,GAAG,SAMd,CAAC;AAOF,eAAO,MAAM,mBAAmB,uBACR,mCAAmC,qBACpC,mCAAmC,YAmBzD,CAAC;AAEF,eAAO,MAAM,gCAAgC,SAAU,KAAK,KAAG,oBAO9D,CAAC;AAEF,eAAO,MAAM,6CAA6C,sBACnC,MAAM,KAC1B,oBAOF,CAAC"}
|
|
@@ -116,4 +116,3 @@ export const convertExternalRecipientToAutomationRecipient = (externalRecipient)
|
|
|
116
116
|
type: "externalUser",
|
|
117
117
|
};
|
|
118
118
|
};
|
|
119
|
-
export const computeUseHostRoute = (settings) => Boolean(settings?.enableShellApplication) && Boolean(settings?.enableShellApplication_dashboards);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type ReactElement } from "react";
|
|
2
|
-
export declare function DashboardTabsWrapper(): import("react/jsx-runtime").JSX.Element
|
|
2
|
+
export declare function DashboardTabsWrapper(): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export declare function DashboardHeader(): ReactElement;
|
|
4
4
|
//# sourceMappingURL=DashboardHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardHeader.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardHeader/DashboardHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardHeader.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardHeader/DashboardHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AA6E1C,wBAAgB,oBAAoB,4CAInC;AAID,wBAAgB,eAAe,IAAI,YAAY,CA6B9C"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
3
|
-
import { selectIsAiLoading } from "../../../model/store/config/configSelectors.js";
|
|
4
2
|
import { ScheduledEmailAutomationsProvider, ScheduledEmailConnector, } from "../../automations/connectors/ScheduledEmailConnector.js";
|
|
5
3
|
import { CancelEditDialog } from "../../cancelEditDialog/CancelEditDialog.js";
|
|
6
4
|
import { useCancelEditDialog } from "../../cancelEditDialog/DefaultCancelEditDialog.js";
|
|
@@ -56,10 +54,6 @@ function TopBarWrapper() {
|
|
|
56
54
|
}
|
|
57
55
|
function FilterBarWrapper() {
|
|
58
56
|
const filterBarProps = useFilterBarProps();
|
|
59
|
-
const isAiLoading = useDashboardSelector(selectIsAiLoading);
|
|
60
|
-
if (isAiLoading) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
57
|
return _jsx(FilterBar, { ...filterBarProps });
|
|
64
58
|
}
|
|
65
59
|
function CancelEditDialogWrapper() {
|
|
@@ -68,10 +62,6 @@ function CancelEditDialogWrapper() {
|
|
|
68
62
|
}
|
|
69
63
|
export function DashboardTabsWrapper() {
|
|
70
64
|
const dashboardTabsProps = useDashboardTabsProps();
|
|
71
|
-
const isAiLoading = useDashboardSelector(selectIsAiLoading);
|
|
72
|
-
if (isAiLoading) {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
65
|
return _jsx(DashboardTabs, { ...dashboardTabsProps });
|
|
76
66
|
}
|
|
77
67
|
// split the header parts of the dashboard so that changes to their state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreationPanel.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/CreationPanel.tsx"],"names":[],"mappings":"AAcA,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEH,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC7C,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"CreationPanel.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/CreationPanel.tsx"],"names":[],"mappings":"AAcA,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEH,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC7C,MAAM,4BAA4B,CAAC;AAkBpC,UAAU,mBAAmB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC,CAAC,EAAE,qCAAqC,CAAC;IAC7E,oCAAoC,CAAC,EAAE,qCAAqC,CAAC;IAC7E,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,uCAAuC,CAAC,EAAE,uCAAuC,CAAC;IAClF,iCAAiC,CAAC,EAAE,iCAAiC,CAAC;CACzE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,2CAyIvD"}
|
|
@@ -9,6 +9,9 @@ import { useDashboardSelector } from "../../../model/react/DashboardStoreProvide
|
|
|
9
9
|
import { selectSupportsRichTextWidgets } from "../../../model/store/backendCapabilities/backendCapabilitiesSelectors.js";
|
|
10
10
|
import { selectIsAiLoading } from "../../../model/store/config/configSelectors.js";
|
|
11
11
|
import { selectIsNewDashboard } from "../../../model/store/meta/metaSelectors.js";
|
|
12
|
+
import { InsightEditorCreatePanelItem } from "../../insightEditor/InsightEditorCreatePanelItem.js";
|
|
13
|
+
import { InsightEditorPlaceholder } from "../../insightEditor/InsightEditorPlaceholder.js";
|
|
14
|
+
import { useCanCreateInsightInEditor } from "../../insightEditor/useCanCreateInsightInEditor.js";
|
|
12
15
|
import { DraggableInsightList } from "./DraggableInsightList/DraggableInsightList.js";
|
|
13
16
|
import { SidebarCollapseToggle } from "./SidebarCollapseToggle.js";
|
|
14
17
|
import { useResizableSidebar } from "./useResizableSidebarState.js";
|
|
@@ -35,9 +38,14 @@ export function CreationPanel(props) {
|
|
|
35
38
|
const RichTextWidgetComponentSet = props.RichTextWidgetComponentSet;
|
|
36
39
|
const VisualizationSwitcherWidgetComponentSet = props.VisualizationSwitcherWidgetComponentSet;
|
|
37
40
|
const DashboardLayoutWidgetComponentSet = props.DashboardLayoutWidgetComponentSet;
|
|
41
|
+
const canCreateInsightInEditor = useCanCreateInsightInEditor();
|
|
38
42
|
const addItemPanelItems = useMemo(() => {
|
|
43
|
+
// A customization can wrap one of the two editor components, so either of them marks the editor.
|
|
44
|
+
const creating = InsightWidgetComponentSet.creating;
|
|
45
|
+
const isInsightEditorItem = creating?.CreatePanelListItemComponent === InsightEditorCreatePanelItem ||
|
|
46
|
+
creating?.CreatingPlaceholderComponent === InsightEditorPlaceholder;
|
|
39
47
|
const items = compact([
|
|
40
|
-
InsightWidgetComponentSet.creating,
|
|
48
|
+
(!isInsightEditorItem || canCreateInsightInEditor) && InsightWidgetComponentSet.creating,
|
|
41
49
|
AttributeFilterComponentSet.creating,
|
|
42
50
|
DashboardLayoutWidgetComponentSet.creating,
|
|
43
51
|
VisualizationSwitcherWidgetComponentSet.creating,
|
|
@@ -61,6 +69,7 @@ export function CreationPanel(props) {
|
|
|
61
69
|
WrapCreatePanelItemWithDragComponent,
|
|
62
70
|
isAiLoading,
|
|
63
71
|
isRailCollapsed,
|
|
72
|
+
canCreateInsightInEditor,
|
|
64
73
|
]);
|
|
65
74
|
return (_jsx("div", { className: cx("configuration-panel creation-panel", className), children: _jsxs("div", { className: "configuration-panel-content", children: [_jsxs("div", { className: "gd-creation-panel-header flex-panel-item-nostretch", children: [canCollapse ? (_jsx(SidebarCollapseToggle, { isCollapsed: isCollapsed, onToggle: () => {
|
|
66
75
|
setFocusSearch(false);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardContentLoader.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.tsx"],"names":[],"mappings":"AA0BA;;GAEG;AACH,wBAAgB,sBAAsB,4CAgCrC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { FormattedMessage } from "react-intl";
|
|
5
|
+
import { UiSkeleton } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
function createDashboardContentLoaderRow() {
|
|
7
|
+
if (Math.random() < 0.5) {
|
|
8
|
+
return { widths: [50, 50] };
|
|
9
|
+
}
|
|
10
|
+
const firstDivider = Math.floor(Math.random() * 41);
|
|
11
|
+
const secondDivider = Math.floor(Math.random() * 41);
|
|
12
|
+
const [lowerDivider, upperDivider] = [firstDivider, secondDivider].sort((a, b) => a - b);
|
|
13
|
+
return {
|
|
14
|
+
widths: [20 + lowerDivider, 20 + upperDivider - lowerDivider, 60 - upperDivider],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export function DashboardContentLoader() {
|
|
21
|
+
const [row] = useState(() => createDashboardContentLoaderRow());
|
|
22
|
+
return (_jsxs("div", { className: "gd-dashboard-content-loader", role: "status", children: [_jsx("span", { className: "gd-dashboard-content-loader__status", children: _jsx(FormattedMessage, { id: "loading" }) }), _jsx("div", { className: "gd-dashboard-content-loader__charts", "data-testid": "dashboard-content-loader-row", "aria-hidden": "true", style: {
|
|
23
|
+
"--dashboard-content-loader-columns": row.widths
|
|
24
|
+
.map((width) => `minmax(0, ${width}fr)`)
|
|
25
|
+
.join(" "),
|
|
26
|
+
}, children: Array.from({ length: row.widths.length }, (_, index) => (_jsx("div", { className: "gd-dashboard-content-loader__chart", "data-testid": "dashboard-content-loader-chart", children: _jsx(UiSkeleton, { itemHeight: 440, itemWidth: "45%" }) }, index))) })] }));
|
|
27
|
+
}
|
package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultDashboardMainContent.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DefaultDashboardMainContent.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,eAAe,2CA+D7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2023-2026 GoodData Corporation
|
|
3
3
|
import { useEffect } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
@@ -6,12 +6,15 @@ import { changeFilterContextSelection } from "../../../model/commands/filters.js
|
|
|
6
6
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
7
7
|
import { useDispatchDashboardCommand } from "../../../model/react/useDispatchDashboardCommand.js";
|
|
8
8
|
import { useWidgetSelection } from "../../../model/react/useWidgetSelection.js";
|
|
9
|
+
import { selectIsAiLoading } from "../../../model/store/config/configSelectors.js";
|
|
10
|
+
import { selectIsNewDashboard } from "../../../model/store/meta/metaSelectors.js";
|
|
9
11
|
import { selectRenderMode } from "../../../model/store/renderMode/renderModeSelectors.js";
|
|
10
12
|
import { useDashboardDrop } from "../../dragAndDrop/useDashboardDrop.js";
|
|
11
13
|
import { ExportThemeProvider } from "../../export/ExportThemeProvider.js";
|
|
12
14
|
import { useWidgetDragHoverHandlers as useFlexibleWidgetDragHoverHandlers } from "../../flexibleLayout/dragAndDrop/draggableWidget/useWidgetDragHoverHandlers.js";
|
|
13
15
|
import { DashboardLayout } from "../../widget/dashboardLayout/DashboardLayout.js";
|
|
14
16
|
import { DateFilterConfigWarnings } from "../components/DateFilterConfigWarnings.js";
|
|
17
|
+
import { DashboardContentLoader } from "./DashboardContentLoader.js";
|
|
15
18
|
/**
|
|
16
19
|
* @internal
|
|
17
20
|
*/
|
|
@@ -19,6 +22,8 @@ export function DefaultDashboardMainContent(_) {
|
|
|
19
22
|
const onFiltersChange = useDispatchDashboardCommand(changeFilterContextSelection);
|
|
20
23
|
const { deselectWidgets } = useWidgetSelection();
|
|
21
24
|
const renderMode = useDashboardSelector(selectRenderMode);
|
|
25
|
+
const isAiLoading = useDashboardSelector(selectIsAiLoading);
|
|
26
|
+
const isNewDashboard = useDashboardSelector(selectIsNewDashboard);
|
|
22
27
|
const { handleDragHoverEnd } = useFlexibleWidgetDragHoverHandlers();
|
|
23
28
|
const [{ isOver }, dropRef] = useDashboardDrop([
|
|
24
29
|
"insight",
|
|
@@ -40,7 +45,7 @@ export function DefaultDashboardMainContent(_) {
|
|
|
40
45
|
}, [handleDragHoverEnd, isOver]);
|
|
41
46
|
const classNames = cx("gd-flex-container", "root-flex-maincontent", "gd-grid-layout", "gd-auto-resized-dashboard-descriptions");
|
|
42
47
|
const renderContent = () => {
|
|
43
|
-
return (
|
|
48
|
+
return (_jsx("div", { className: classNames, ref: dropRef, onClick: deselectWidgets, children: isNewDashboard && isAiLoading ? (_jsx(DashboardContentLoader, {})) : (_jsxs(_Fragment, { children: [_jsx(DateFilterConfigWarnings, {}), _jsx(DashboardLayout, { onFiltersChange: onFiltersChange })] })) }));
|
|
44
49
|
};
|
|
45
50
|
if (renderMode === "export") {
|
|
46
51
|
return _jsx(ExportThemeProvider, { children: renderContent() });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardInner.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/components/DashboardInner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DashboardInner.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/components/DashboardInner.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AASnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,2CAuHpD"}
|
|
@@ -9,7 +9,7 @@ import { selectAccessibleDashboardsLoaded } from "../../../model/store/accessibl
|
|
|
9
9
|
import { selectCatalogIsLoaded } from "../../../model/store/catalog/catalogSelectors.js";
|
|
10
10
|
import { selectLocale, selectSettings } from "../../../model/store/config/configSelectors.js";
|
|
11
11
|
import { selectIsInEditMode } from "../../../model/store/renderMode/renderModeSelectors.js";
|
|
12
|
-
import { selectDashboardDensity } from "../../../model/store/ui/uiSelectors.js";
|
|
12
|
+
import { selectDashboardDensity, selectInsightEditorTarget } from "../../../model/store/ui/uiSelectors.js";
|
|
13
13
|
import { DASHBOARD_HEADER_OVERLAYS_Z_INDEX, DASHBOARD_TOASTS_OVERLAY_Z_INDEX, } from "../../constants/zIndex.js";
|
|
14
14
|
import { DeleteDropZone } from "../../dragAndDrop/DeleteDropZone.js";
|
|
15
15
|
import { FilterDeleteOverlay } from "../../dragAndDrop/FilterDeleteOverlay.js";
|
|
@@ -17,6 +17,8 @@ import { useDashboardDragScroll } from "../../dragAndDrop/useDashboardDragScroll
|
|
|
17
17
|
import { WrapCreatePanelItemWithDrag } from "../../dragAndDrop/WrapCreatePanelItemWithDrag.js";
|
|
18
18
|
import { WrapInsightListItemWithDrag } from "../../dragAndDrop/WrapInsightListItemWithDrag.js";
|
|
19
19
|
import { DragLayerComponent as FlexibleDragLayerComponent } from "../../flexibleLayout/dragAndDrop/DragLayer.js";
|
|
20
|
+
import { InsightEditorOverlay } from "../../insightEditor/InsightEditorOverlay.js";
|
|
21
|
+
import { InsightEditorPermissionsProvider } from "../../insightEditor/InsightEditorPermissionsContext.js";
|
|
20
22
|
import { IntlWrapper } from "../../localization/IntlWrapper.js";
|
|
21
23
|
import { Toolbar } from "../../toolbar/Toolbar.js";
|
|
22
24
|
import { DashboardContent } from "../DashboardContent.js";
|
|
@@ -35,6 +37,7 @@ export function DashboardInner(props) {
|
|
|
35
37
|
const isCatalogLoaded = useDashboardSelector(selectCatalogIsLoaded);
|
|
36
38
|
const accessibleDashboardsLoaded = useDashboardSelector(selectAccessibleDashboardsLoaded);
|
|
37
39
|
const density = useDashboardSelector(selectDashboardDensity);
|
|
40
|
+
const isInsightEditorOpen = !!useDashboardSelector(selectInsightEditorTarget);
|
|
38
41
|
const settings = useDashboardSelector(selectSettings);
|
|
39
42
|
const enableEnhancedInsightPicker = settings?.enableEnhancedInsightPicker ?? false;
|
|
40
43
|
const headerRef = useRef(null);
|
|
@@ -68,12 +71,13 @@ export function DashboardInner(props) {
|
|
|
68
71
|
"--gd-dashboard-sidebar-width": `${resizableSidebar.width}px`,
|
|
69
72
|
}
|
|
70
73
|
: undefined;
|
|
71
|
-
return (_jsx(IntlWrapper, { locale: locale, children: _jsxs(ToastsCenterContextProvider, { skipAutomaticMessageRendering: true, children: [_jsx(OverlayControllerProvider, { overlayController: toastsOverlayController, children: _jsx(ToastsCenter, {}) }), _jsx(UiResizableSidebarProvider, { value: resizableSidebar, children: _jsxs("div", { className: cx("component-root", {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
return (_jsx(IntlWrapper, { locale: locale, children: _jsxs(ToastsCenterContextProvider, { skipAutomaticMessageRendering: true, children: [_jsx(OverlayControllerProvider, { overlayController: toastsOverlayController, children: _jsx(ToastsCenter, {}) }), _jsx(InsightEditorOverlay, {}), _jsx(InsightEditorPermissionsProvider, { children: _jsx(UiResizableSidebarProvider, { value: resizableSidebar, children: _jsxs("div", { className: cx("component-root", {
|
|
75
|
+
"sdk-edit-mode-on": isEditMode,
|
|
76
|
+
"sdk-view-mode-on": !isEditMode,
|
|
77
|
+
"catalog-is-loaded": isCatalogLoaded,
|
|
78
|
+
"accessible-dashboards-loaded": accessibleDashboardsLoaded,
|
|
79
|
+
"is-insight-editor-open": isInsightEditorOpen,
|
|
80
|
+
}), children: [_jsx(DragLayerComponent, {}), _jsxs("div", { className: cx("gd-dashboards-root gd-flex-container", {
|
|
81
|
+
"gd-dashboards-root--floating-toolbar": enableEnhancedInsightPicker,
|
|
82
|
+
}), style: dashboardsRootStyle, children: [_jsx(DashboardSidebar, { DefaultSidebar: RenderModeAwareDashboardSidebar, DeleteDropZoneComponent: DeleteDropZone, WrapCreatePanelItemWithDragComponent: WrapCreatePanelItemWithDrag, WrapInsightListItemWithDragComponent: WrapInsightListItemWithDrag }), _jsx("main", { className: dashboardContentClassNames, ...mainContentNavigationProps, children: _jsxs(DashboardInteractionComposing, { onReplyInChat: props.onReplyInChat, children: [_jsx("div", { className: "gd-dash-header-wrapper gd-dash-header-wrapper-sdk-8-12", ref: headerRef, children: _jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(DashboardHeader, {}) }) }), _jsxs(DashboardInteractionLock, { children: [_jsxs("div", { className: "gd-flex-item-stretch dash-section dash-section-kpis", ref: layoutRef, children: [_jsx(DashboardScreenSizeProvider, { children: _jsx(DashboardContent, { ...props }) }), enableEnhancedInsightPicker ? _jsx(FilterDeleteOverlay, {}) : null] }), _jsx("div", { className: "gd-dash-bottom-position-pixel", ref: bottomRef })] })] }) })] }), _jsx(Toolbar, {})] }) }) })] }) }));
|
|
79
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/hooks/useDashboard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAS,MAAM,qBAAqB,CAAC;AAI7E,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,0CAA0C,EAC/C,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,mCAAmC,EACxC,KAAK,6CAA6C,EAClD,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,sCAAsC,EAC3C,KAAK,6CAA6C,EAClD,KAAK,uBAAuB,EAC/B,MAAM,kCAAkC,CAAC;AA4B1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,UAAU,mBAAmB;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,0BAA0B,EAAE,mCAAmC,CAAC;IAChE,cAAc,EAAE,uBAAuB,CAAC;IACxC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,oCAAoC,EAAE,6CAA6C,CAAC;IACpF,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,uCAAuC,EAAE,uCAAuC,CAAC;IACjF,6CAA6C,EAAE,6CAA6C,CAAC;IAC7F,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,iCAAiC,EAAE,iCAAiC,CAAC;IACrE,kCAAkC,EAAE,kCAAkC,CAAC;IACvE,iCAAiC,EAAE,0CAA0C,CAAC;CACjF;AAED,eAAO,MAAM,YAAY,UAAW,eAAe,KAAG,
|
|
1
|
+
{"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/hooks/useDashboard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAS,MAAM,qBAAqB,CAAC;AAI7E,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,0CAA0C,EAC/C,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,mCAAmC,EACxC,KAAK,6CAA6C,EAClD,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,sCAAsC,EAC3C,KAAK,6CAA6C,EAClD,KAAK,uBAAuB,EAC/B,MAAM,kCAAkC,CAAC;AA4B1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,UAAU,mBAAmB;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,0BAA0B,EAAE,mCAAmC,CAAC;IAChE,cAAc,EAAE,uBAAuB,CAAC;IACxC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,oCAAoC,EAAE,6CAA6C,CAAC;IACpF,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,uCAAuC,EAAE,uCAAuC,CAAC;IACjF,6CAA6C,EAAE,6CAA6C,CAAC;IAC7F,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,iCAAiC,EAAE,iCAAiC,CAAC;IACrE,kCAAkC,EAAE,kCAAkC,CAAC;IACvE,iCAAiC,EAAE,0CAA0C,CAAC;CACjF;AAED,eAAO,MAAM,YAAY,UAAW,eAAe,KAAG,mBAiRrD,CAAC"}
|
|
@@ -87,12 +87,13 @@ export const useDashboard = (props) => {
|
|
|
87
87
|
const dashboardOrRef = useMemo(() => {
|
|
88
88
|
return typeof dashboard === "string" ? idRef(dashboard) : dashboard;
|
|
89
89
|
}, [dashboard]);
|
|
90
|
+
const enableInsightEditing = !!props.config?.enableInsightEditing;
|
|
90
91
|
const insightWidgetComponentSet = useMemo(() => {
|
|
91
|
-
const defaultComponentSet = DefaultDashboardInsightComponentSetFactory(insightProvider);
|
|
92
|
+
const defaultComponentSet = DefaultDashboardInsightComponentSetFactory(insightProvider, enableInsightEditing);
|
|
92
93
|
return InsightComponentSetProvider
|
|
93
94
|
? InsightComponentSetProvider(defaultComponentSet)
|
|
94
95
|
: defaultComponentSet;
|
|
95
|
-
}, [InsightComponentSetProvider, insightProvider]);
|
|
96
|
+
}, [InsightComponentSetProvider, insightProvider, enableInsightEditing]);
|
|
96
97
|
const attributeFilterComponentSet = useMemo(() => {
|
|
97
98
|
return DefaultDashboardAttributeFilterComponentSetFactory(attributeFilterProvider);
|
|
98
99
|
}, [attributeFilterProvider]);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type MutableRefObject } from "react";
|
|
2
|
+
import { type InsightEditorTarget } from "../../model/types/insightEditorTypes.js";
|
|
3
|
+
import { type IInsightEditorCloseHandle } from "./types.js";
|
|
4
|
+
import { type IInsightEditorSession } from "./useInsightEditorSession.js";
|
|
5
|
+
import "@gooddata/sdk-ui-kit/styles/css/main.css";
|
|
6
|
+
import "@gooddata/sdk-ui-pivot/styles/css/main.css";
|
|
7
|
+
import "@gooddata/sdk-ui-geo/styles/css/main.css";
|
|
8
|
+
import "@gooddata/sdk-ui-charts/styles/css/main.css";
|
|
9
|
+
import "@gooddata/sdk-ui-filters/styles/css/measureValueFilter.css";
|
|
10
|
+
import "@gooddata/sdk-ui-filters/styles/css/dateFilter.css";
|
|
11
|
+
import "@gooddata/sdk-ui-filters/styles/css/rankingFilter.css";
|
|
12
|
+
import "@gooddata/sdk-ui-filters/styles/css/attributeFilterNext.css";
|
|
13
|
+
import "@gooddata/sdk-ui-ext/styles/css/main.css";
|
|
14
|
+
import "@gooddata/sdk-ui-semantic-search/styles/css/internal.css";
|
|
15
|
+
import "@gooddata/sdk-ui-analytical-designer/styles/css/main.css";
|
|
16
|
+
export interface IInsightEditorContentProps {
|
|
17
|
+
target: InsightEditorTarget;
|
|
18
|
+
session: IInsightEditorSession;
|
|
19
|
+
closeHandleRef: MutableRefObject<IInsightEditorCloseHandle | null>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Analytical Designer in the insight editor overlay. It lives in a lazily loaded chunk together with
|
|
23
|
+
* the whole Analytical Designer.
|
|
24
|
+
*/
|
|
25
|
+
export declare function InsightEditorContent({ target, session, closeHandleRef }: IInsightEditorContentProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=InsightEditorContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightEditorContent.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightEditor/InsightEditorContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAwC,MAAM,OAAO,CAAC;AAuCpF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,0CAA0C,CAAC;AAElD,OAAO,4CAA4C,CAAC;AAEpD,OAAO,0CAA0C,CAAC;AAElD,OAAO,6CAA6C,CAAC;AAErD,OAAO,4DAA4D,CAAC;AAEpE,OAAO,oDAAoD,CAAC;AAE5D,OAAO,uDAAuD,CAAC;AAE/D,OAAO,6DAA6D,CAAC;AAErE,OAAO,0CAA0C,CAAC;AAElD,OAAO,0DAA0D,CAAC;AAElE,OAAO,0DAA0D,CAAC;AAElE,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,cAAc,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;CACtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,0BAA0B,2CAgFnG"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { insightIsLocked, insightRef } from "@gooddata/sdk-model";
|
|
5
|
+
import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
6
|
+
import { AnalyticalDesigner, } from "@gooddata/sdk-ui-analytical-designer";
|
|
7
|
+
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
8
|
+
import { attributeHierarchyModified } from "../../model/commands/insight.js";
|
|
9
|
+
import { insightEditorCacheResetRequested } from "../../model/events/insightEditor.js";
|
|
10
|
+
import { useDashboardDispatch, useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
|
|
11
|
+
import { useDashboardEventDispatch } from "../../model/react/useDashboardEventDispatch.js";
|
|
12
|
+
import { selectAgGridToken, selectColorPalette, selectIsEmbedded, selectIsWhiteLabeled, selectLocale, selectMapboxToken, selectObjectAvailabilityConfig, selectSeparators, selectSettings, } from "../../model/store/config/configSelectors.js";
|
|
13
|
+
import { selectEntitlements } from "../../model/store/entitlements/entitlementsSelectors.js";
|
|
14
|
+
import { selectInsightByWidgetRef } from "../../model/store/insights/insightsSelectors.js";
|
|
15
|
+
import { selectDashboardId } from "../../model/store/meta/metaSelectors.js";
|
|
16
|
+
import { selectCanCreateVisualization, selectCanManageWorkspace, selectPermissions, } from "../../model/store/permissions/permissionsSelectors.js";
|
|
17
|
+
import { selectIsInEditMode } from "../../model/store/renderMode/renderModeSelectors.js";
|
|
18
|
+
import { selectExecutionTimestamp } from "../../model/store/ui/uiSelectors.js";
|
|
19
|
+
import { selectCurrentUser } from "../../model/store/user/userSelectors.js";
|
|
20
|
+
import { getInsightEditorRoute } from "./insightEditorRoute.js";
|
|
21
|
+
import { useExploreFilterTransfer } from "./useExploreFilterTransfer.js";
|
|
22
|
+
// The stylesheets Analytical Designer needs load with its lazy chunk, the SDK ones first, so the
|
|
23
|
+
// rules of Analytical Designer win.
|
|
24
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
25
|
+
import "@gooddata/sdk-ui-kit/styles/css/main.css";
|
|
26
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
27
|
+
import "@gooddata/sdk-ui-pivot/styles/css/main.css";
|
|
28
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
29
|
+
import "@gooddata/sdk-ui-geo/styles/css/main.css";
|
|
30
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
31
|
+
import "@gooddata/sdk-ui-charts/styles/css/main.css";
|
|
32
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
33
|
+
import "@gooddata/sdk-ui-filters/styles/css/measureValueFilter.css";
|
|
34
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
35
|
+
import "@gooddata/sdk-ui-filters/styles/css/dateFilter.css";
|
|
36
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
37
|
+
import "@gooddata/sdk-ui-filters/styles/css/rankingFilter.css";
|
|
38
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
39
|
+
import "@gooddata/sdk-ui-filters/styles/css/attributeFilterNext.css";
|
|
40
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
41
|
+
import "@gooddata/sdk-ui-ext/styles/css/main.css";
|
|
42
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
43
|
+
import "@gooddata/sdk-ui-semantic-search/styles/css/internal.css";
|
|
44
|
+
// oxlint-disable-next-line import/no-unassigned-import
|
|
45
|
+
import "@gooddata/sdk-ui-analytical-designer/styles/css/main.css";
|
|
46
|
+
/**
|
|
47
|
+
* Analytical Designer in the insight editor overlay. It lives in a lazily loaded chunk together with
|
|
48
|
+
* the whole Analytical Designer.
|
|
49
|
+
*/
|
|
50
|
+
export function InsightEditorContent({ target, session, closeHandleRef }) {
|
|
51
|
+
const backend = useBackendStrict();
|
|
52
|
+
const workspace = useWorkspaceStrict();
|
|
53
|
+
const dispatch = useDashboardDispatch();
|
|
54
|
+
const eventDispatch = useDashboardEventDispatch();
|
|
55
|
+
const hostConfig = useHostConfig();
|
|
56
|
+
const theme = useTheme();
|
|
57
|
+
const permissions = useDashboardSelector(selectPermissions);
|
|
58
|
+
const isEditMode = useDashboardSelector(selectIsInEditMode);
|
|
59
|
+
const route = useRoute(target, isEditMode);
|
|
60
|
+
const apiRef = useRef(null);
|
|
61
|
+
const [isFailed, setIsFailed] = useState(false);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
closeHandleRef.current = isFailed
|
|
64
|
+
? null
|
|
65
|
+
: { requestClose: () => apiRef.current?.requestCancellation() };
|
|
66
|
+
return () => {
|
|
67
|
+
closeHandleRef.current = null;
|
|
68
|
+
};
|
|
69
|
+
}, [closeHandleRef, isFailed]);
|
|
70
|
+
const isExplore = !isEditMode && (target.type === "widget" || target.type === "insight");
|
|
71
|
+
const filterTransfer = useExploreFilterTransfer(target, isExplore, apiRef);
|
|
72
|
+
const cacheReset = useMemo(() => ({
|
|
73
|
+
resetAll: () => eventDispatch(insightEditorCacheResetRequested("all")),
|
|
74
|
+
resetCatalogs: () => eventDispatch(insightEditorCacheResetRequested("catalogs")),
|
|
75
|
+
}), [eventDispatch]);
|
|
76
|
+
const config = useMemo(() => ({ ...hostConfig, ...route.config }), [hostConfig, route.config]);
|
|
77
|
+
return (_jsx(AnalyticalDesigner, { backend: backend, workspace: workspace, insight: route.insight, config: config, permissions: permissions, theme: theme,
|
|
78
|
+
// The dashboard already resolved the theme of the workspace.
|
|
79
|
+
disableThemeLoading: true, cacheReset: cacheReset, onEvent: (event) => {
|
|
80
|
+
switch (event.type) {
|
|
81
|
+
case "visualizationSaved":
|
|
82
|
+
void session.save(event.data.insight.identifier);
|
|
83
|
+
break;
|
|
84
|
+
case "insightEditingCancelled":
|
|
85
|
+
session.cancel();
|
|
86
|
+
break;
|
|
87
|
+
case "insightOpened":
|
|
88
|
+
filterTransfer.onInsightOpened();
|
|
89
|
+
break;
|
|
90
|
+
case "insightRendered":
|
|
91
|
+
filterTransfer.onInsightRendered();
|
|
92
|
+
break;
|
|
93
|
+
case "appCommandFailed":
|
|
94
|
+
filterTransfer.onCommandFailed(event.data, event.contextId);
|
|
95
|
+
break;
|
|
96
|
+
case "attributeHierarchyModified":
|
|
97
|
+
eventDispatch(insightEditorCacheResetRequested("catalogs"));
|
|
98
|
+
dispatch(attributeHierarchyModified());
|
|
99
|
+
break;
|
|
100
|
+
default:
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
// A failed Analytical Designer never answers a command, so the overlay closes directly.
|
|
105
|
+
onError: () => setIsFailed(true), apiRef: apiRef }));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The values that Analytical Designer would otherwise load when it starts. The dashboard has them
|
|
109
|
+
* already.
|
|
110
|
+
*/
|
|
111
|
+
function useHostConfig() {
|
|
112
|
+
const locale = useDashboardSelector(selectLocale);
|
|
113
|
+
const separators = useDashboardSelector(selectSeparators);
|
|
114
|
+
const settings = useDashboardSelector(selectSettings);
|
|
115
|
+
const mapboxToken = useDashboardSelector(selectMapboxToken);
|
|
116
|
+
const agGridToken = useDashboardSelector(selectAgGridToken);
|
|
117
|
+
const colorPalette = useDashboardSelector(selectColorPalette);
|
|
118
|
+
const isWhiteLabeled = useDashboardSelector(selectIsWhiteLabeled);
|
|
119
|
+
const user = useDashboardSelector(selectCurrentUser);
|
|
120
|
+
const entitlements = useDashboardSelector(selectEntitlements);
|
|
121
|
+
const objectAvailability = useDashboardSelector(selectObjectAvailabilityConfig);
|
|
122
|
+
const asOfDate = useDashboardSelector(selectExecutionTimestamp);
|
|
123
|
+
return useMemo(() => ({
|
|
124
|
+
locale,
|
|
125
|
+
separators,
|
|
126
|
+
// The dashboard keeps the settings of the user in the workspace.
|
|
127
|
+
settings: settings,
|
|
128
|
+
mapboxToken,
|
|
129
|
+
agGridToken,
|
|
130
|
+
colorPalette,
|
|
131
|
+
whiteLabeling: { isBranded: isWhiteLabeled },
|
|
132
|
+
user,
|
|
133
|
+
organization: { entitlements },
|
|
134
|
+
asOfDate,
|
|
135
|
+
includeObjectsWithTags: objectAvailability?.includeObjectsWithTags,
|
|
136
|
+
excludeObjectsWithTags: objectAvailability?.excludeObjectsWithTags,
|
|
137
|
+
}), [
|
|
138
|
+
locale,
|
|
139
|
+
separators,
|
|
140
|
+
settings,
|
|
141
|
+
mapboxToken,
|
|
142
|
+
agGridToken,
|
|
143
|
+
colorPalette,
|
|
144
|
+
isWhiteLabeled,
|
|
145
|
+
user,
|
|
146
|
+
entitlements,
|
|
147
|
+
objectAvailability,
|
|
148
|
+
asOfDate,
|
|
149
|
+
]);
|
|
150
|
+
}
|
|
151
|
+
function useRoute(target, isEditMode) {
|
|
152
|
+
const widgetRef = target.type === "widget" ? target.ref : undefined;
|
|
153
|
+
const widgetInsight = useDashboardSelector(selectInsightByWidgetRef(widgetRef));
|
|
154
|
+
const dashboardId = useDashboardSelector(selectDashboardId);
|
|
155
|
+
const isEmbedded = useDashboardSelector(selectIsEmbedded);
|
|
156
|
+
const canManageWorkspace = useDashboardSelector(selectCanManageWorkspace);
|
|
157
|
+
const canCreateVisualization = useDashboardSelector(selectCanCreateVisualization);
|
|
158
|
+
const widgetInsightRef = useMemo(() => (widgetInsight ? insightRef(widgetInsight) : undefined), [widgetInsight]);
|
|
159
|
+
const isWidgetInsightLocked = widgetInsight ? insightIsLocked(widgetInsight) : false;
|
|
160
|
+
return useMemo(() => getInsightEditorRoute({
|
|
161
|
+
target,
|
|
162
|
+
widgetInsightRef,
|
|
163
|
+
isWidgetInsightLocked,
|
|
164
|
+
dashboardId,
|
|
165
|
+
isEditMode,
|
|
166
|
+
isEmbedded,
|
|
167
|
+
canManageWorkspace,
|
|
168
|
+
canCreateVisualization,
|
|
169
|
+
}), [
|
|
170
|
+
target,
|
|
171
|
+
widgetInsightRef,
|
|
172
|
+
isWidgetInsightLocked,
|
|
173
|
+
dashboardId,
|
|
174
|
+
isEditMode,
|
|
175
|
+
isEmbedded,
|
|
176
|
+
canManageWorkspace,
|
|
177
|
+
canCreateVisualization,
|
|
178
|
+
]);
|
|
179
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ICreatePanelItemComponentProps } from "../componentDefinition/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The item of the edit mode panel that the user drags to the layout to create a new insight in the
|
|
4
|
+
* embedded Analytical Designer.
|
|
5
|
+
*/
|
|
6
|
+
export declare function InsightEditorCreatePanelItem({ WrapCreatePanelItemWithDragComponent, disabled, }: ICreatePanelItemComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=InsightEditorCreatePanelItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightEditorCreatePanelItem.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightEditor/InsightEditorCreatePanelItem.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAuBtF;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,EACzC,oCAAoC,EACpC,QAAQ,GACX,EAAE,8BAA8B,2CAYhC"}
|