@gooddata/sdk-ui-dashboard 11.45.0-alpha.0 → 11.45.0-alpha.2
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 +3 -3
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/kdaDialog/composition/KeyDriversPanel.d.ts.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversPanel.js +3 -1
- package/esm/model/commandHandlers/dashboard/common/loadAutomationsData.js +1 -1
- package/esm/model/commandHandlers/dashboard/common/loadNotificationChannelsCount.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/loadNotificationChannelsCount.js +19 -25
- package/esm/model/commandHandlers/dashboard/common/loadWorkspaceAutomationsCount.d.ts +1 -2
- package/esm/model/commandHandlers/dashboard/common/loadWorkspaceAutomationsCount.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/loadWorkspaceAutomationsCount.js +18 -7
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +3 -6
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +2 -5
- package/esm/model/commandHandlers/scheduledEmail/loadNotificationChannels.d.ts +1 -1
- package/esm/model/commandHandlers/scheduledEmail/loadNotificationChannels.d.ts.map +1 -1
- package/esm/model/commandHandlers/scheduledEmail/loadNotificationChannels.js +3 -5
- package/esm/model/commandHandlers/scheduledEmail/refreshAutomationsHandlers.d.ts.map +1 -1
- package/esm/model/commandHandlers/scheduledEmail/refreshAutomationsHandlers.js +4 -8
- package/esm/model/queryServices/queryWidgetFilters.d.ts.map +1 -1
- package/esm/model/queryServices/queryWidgetFilters.js +1 -5
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.d.ts +3 -3
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.d.ts.map +1 -1
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js +2 -4
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.d.ts +3 -3
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.d.ts.map +1 -1
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.js +21 -27
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.d.ts.map +1 -1
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.js +1 -4
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.d.ts +3 -4
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.d.ts.map +1 -1
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.js +13 -49
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.d.ts +1 -7
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.d.ts.map +1 -1
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.js +9 -42
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.d.ts +2 -2
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.d.ts.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.js +20 -28
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsData.d.ts.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsData.js +1 -4
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsDialog.d.ts.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsDialog.js +3 -10
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.d.ts.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.js +3 -10
- package/esm/model/react/useDashboardAutomations/useDashboardAutomations.d.ts.map +1 -1
- package/esm/model/react/useDashboardAutomations/useDashboardAutomations.js +5 -12
- package/esm/model/store/config/configSelectors.d.ts +6 -54
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +8 -76
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +1 -10
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +1 -25
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +7 -0
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +16 -0
- package/esm/model/store/topBar/topBarSelectors.d.ts +0 -4
- package/esm/model/store/topBar/topBarSelectors.d.ts.map +1 -1
- package/esm/model/store/topBar/topBarSelectors.js +5 -13
- package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js +5 -6
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +21 -52
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts +1 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js +2 -3
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts +18 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.js +48 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSupportedMetrics.d.ts +28 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSupportedMetrics.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSupportedMetrics.js +43 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.d.ts +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.js +2 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts +0 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.js +7 -23
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/items.d.ts +1 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/items.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/items.js +2 -3
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContent.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContent.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/{DefaultAlertingManagementDialogContentEnhanced.js → DefaultAlertingManagementDialogContent.js} +3 -3
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js +5 -33
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/Alert.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/Alert.js +2 -2
- package/esm/presentation/automations/alerting/hooks/useGetSupportedMeasures.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/hooks/useGetSupportedMeasures.js +2 -2
- package/esm/presentation/automations/connectors/AlertingConnector.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/AlertingConnector.js +2 -40
- package/esm/presentation/automations/connectors/AlertingConnector.test.js +0 -1
- package/esm/presentation/automations/connectors/ScheduledEmailConnector.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/ScheduledEmailConnector.js +2 -39
- package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.js +0 -1
- package/esm/presentation/automations/connectors/hooks/useAutomationManagementEditRouting.d.ts +11 -0
- package/esm/presentation/automations/connectors/hooks/useAutomationManagementEditRouting.d.ts.map +1 -0
- package/esm/presentation/automations/connectors/hooks/useAutomationManagementEditRouting.js +40 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +5 -14
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.test.js +1 -6
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts +1 -3
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +7 -8
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +2 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js +8 -5
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +2 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js +8 -5
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/attachmentFormats.d.ts +15 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/attachmentFormats.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/attachmentFormats.js +16 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +5 -17
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/{DefaultScheduledEmailManagementDialogContentEnhanced.d.ts → DefaultScheduledEmailManagementDialogContent.d.ts} +3 -3
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/{DefaultScheduledEmailManagementDialogContentEnhanced.js → DefaultScheduledEmailManagementDialogContent.js} +3 -2
- package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.test.js +1 -3
- package/esm/presentation/automations/shared/utils/automationUtils.d.ts +2 -1
- package/esm/presentation/automations/shared/utils/automationUtils.d.ts.map +1 -1
- package/esm/presentation/automations/shared/utils/automationUtils.js +1 -0
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js +2 -3
- package/esm/presentation/dashboard/DashboardSidebar/DraggableInsightList/DraggableInsightList.d.ts +1 -2
- package/esm/presentation/dashboard/DashboardSidebar/DraggableInsightList/DraggableInsightList.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/DraggableInsightList/DraggableInsightList.js +2 -2
- package/esm/presentation/dashboard/DashboardSidebar/DraggableInsightList/DraggableInsightListCore.d.ts +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/DraggableInsightList/DraggableInsightListCore.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/DraggableInsightList/DraggableInsightListCore.js +8 -5
- package/esm/presentation/dashboard/DashboardSidebar/InsightPickerPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/InsightPickerPanel.js +1 -1
- package/esm/presentation/deleteDialog/DefaultDeleteDialog.d.ts +1 -1
- package/esm/presentation/deleteDialog/DefaultDeleteDialog.d.ts.map +1 -1
- package/esm/presentation/deleteDialog/DefaultDeleteDialog.js +3 -8
- package/esm/presentation/deleteDialog/types.d.ts +0 -2
- package/esm/presentation/deleteDialog/types.d.ts.map +1 -1
- package/esm/presentation/deleteDialog/types.js +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBar.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBar.js +4 -9
- package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +11 -20
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +2 -3
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +2 -3
- package/esm/presentation/insightList/InsightList.d.ts.map +1 -1
- package/esm/presentation/insightList/InsightList.js +62 -9
- package/esm/presentation/insightList/InsightListDivider.d.ts +5 -0
- package/esm/presentation/insightList/InsightListDivider.d.ts.map +1 -0
- package/esm/presentation/insightList/InsightListDivider.js +12 -0
- package/esm/presentation/insightList/types.d.ts +3 -2
- package/esm/presentation/insightList/types.d.ts.map +1 -1
- package/esm/presentation/insightList/types.js +1 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +4 -12
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +4 -12
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +5 -28
- package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.d.ts.map +1 -1
- package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.js +2 -3
- package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.d.ts.map +1 -1
- package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.js +1 -3
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +2 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +1 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +1 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +4 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.js +2 -3
- package/esm/presentation/widget/insight/configuration/InsightConfiguration.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightConfiguration.js +3 -5
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.js +2 -3
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js +8 -21
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/types.d.ts +0 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/types.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/types.js +1 -1
- package/esm/presentation/widget/richText/EditModeDashboardRichText.d.ts.map +1 -1
- package/esm/presentation/widget/richText/EditModeDashboardRichText.js +4 -13
- package/esm/presentation/widget/richText/ViewModeDashboardRichText.d.ts.map +1 -1
- package/esm/presentation/widget/richText/ViewModeDashboardRichText.js +2 -3
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +7 -7
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +7 -5
- package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js +2 -5
- package/esm/presentation/widget/widget/InsightWidget/useEditableInsightMenu.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useEditableInsightMenu.js +1 -5
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +0 -3
- package/esm/presentation/widgetDeleteDialog/DefaultWidgetDeleteDialog.d.ts.map +1 -1
- package/esm/presentation/widgetDeleteDialog/DefaultWidgetDeleteDialog.js +2 -5
- package/esm/sdk-ui-dashboard.d.ts +7 -77
- package/package.json +21 -20
- package/styles/css/main.css +12 -0
- package/styles/css/main.css.map +1 -1
- package/styles/css/sidebar.css +12 -0
- package/styles/css/sidebar.css.map +1 -1
- package/styles/scss/sidebar.scss +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.d.ts +0 -15
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.js +0 -33
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.d.ts +0 -12
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertsList.d.ts +0 -12
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertsList.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertsList.js +0 -43
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.d.ts +0 -13
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.js +0 -33
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts +0 -13
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js +0 -42
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.d.ts +0 -43
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.js +0 -303
|
@@ -12,7 +12,7 @@ import { useDashboardDispatch, useDashboardSelector, } from "../../../../model/r
|
|
|
12
12
|
import { useDashboardEventDispatch } from "../../../../model/react/useDashboardEventDispatch.js";
|
|
13
13
|
import { useDashboardUserInteraction } from "../../../../model/react/useDashboardUserInteraction.js";
|
|
14
14
|
import { selectSupportsCrossFiltering } from "../../../../model/store/backendCapabilities/backendCapabilitiesSelectors.js";
|
|
15
|
-
import {
|
|
15
|
+
import { selectIsApplyFiltersAllAtOnceEnabledAndSet, selectIsDisableUserFilterReset, selectIsDisabledCrossFiltering, } from "../../../../model/store/config/configSelectors.js";
|
|
16
16
|
import { drillActions } from "../../../../model/store/drill/index.js";
|
|
17
17
|
import { selectDisableDashboardCrossFiltering, selectDisableDashboardUserFilterReset, } from "../../../../model/store/meta/metaSelectors.js";
|
|
18
18
|
import { selectIsInEditMode } from "../../../../model/store/renderMode/renderModeSelectors.js";
|
|
@@ -56,11 +56,10 @@ const normalizeFiltersForComparison = (filters) => {
|
|
|
56
56
|
return !isNoopAllTimeCommonDateFilter(filter) && !isNoopMeasureValueFilter(filter);
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
|
-
const shouldIgnoreDateFilterLocalIdentifiers = (
|
|
60
|
-
// When
|
|
59
|
+
const shouldIgnoreDateFilterLocalIdentifiers = (originalFilters) => {
|
|
60
|
+
// When original filters do not have identifiers yet,
|
|
61
61
|
// we omit them in current filters to avoid false positive results when comparing the objects
|
|
62
|
-
return (
|
|
63
|
-
originalFilters.some((filter) => isDashboardDateFilter(filter) && dashboardFilterLocalIdentifier(filter) === undefined));
|
|
62
|
+
return originalFilters.some((filter) => isDashboardDateFilter(filter) && dashboardFilterLocalIdentifier(filter) === undefined);
|
|
64
63
|
};
|
|
65
64
|
const removeDateFilterLocalIdentifier = (filter) => {
|
|
66
65
|
if (isDashboardDateFilter(filter)) {
|
|
@@ -75,8 +74,8 @@ const removeDateFilterLocalIdentifier = (filter) => {
|
|
|
75
74
|
}
|
|
76
75
|
return filter;
|
|
77
76
|
};
|
|
78
|
-
const sanitizeFilters = (currentFilters, originalFilters
|
|
79
|
-
const shouldRemoveIdentifiers = shouldIgnoreDateFilterLocalIdentifiers(
|
|
77
|
+
const sanitizeFilters = (currentFilters, originalFilters) => {
|
|
78
|
+
const shouldRemoveIdentifiers = shouldIgnoreDateFilterLocalIdentifiers(originalFilters);
|
|
80
79
|
return shouldRemoveIdentifiers ? currentFilters.map(removeDateFilterLocalIdentifier) : currentFilters;
|
|
81
80
|
};
|
|
82
81
|
const getNewlyAddedFilterLocalIds = (currentFilters, originalFilters) => {
|
|
@@ -101,11 +100,8 @@ const computeResetEligibility = (isEditMode, normalizedCurrentFilters, normalize
|
|
|
101
100
|
canResetParameters: hasResettableParameter && userFilterResetAllowed,
|
|
102
101
|
};
|
|
103
102
|
};
|
|
104
|
-
const isCrossFilteringEnabled = (
|
|
105
|
-
return
|
|
106
|
-
supportsCrossFiltering &&
|
|
107
|
-
!disableCrossFiltering &&
|
|
108
|
-
!disableCrossFilteringByConfig);
|
|
103
|
+
const isCrossFilteringEnabled = (supportsCrossFiltering, disableCrossFiltering, disableCrossFilteringByConfig) => {
|
|
104
|
+
return supportsCrossFiltering && !disableCrossFiltering && !disableCrossFilteringByConfig;
|
|
109
105
|
};
|
|
110
106
|
/**
|
|
111
107
|
* @returns tuple with two items:
|
|
@@ -118,7 +114,6 @@ export const useResetFiltersButton = () => {
|
|
|
118
114
|
const isEditMode = useDashboardSelector(selectIsInEditMode);
|
|
119
115
|
const originalFilters = useDashboardSelector(selectOriginalFilterContextFilters);
|
|
120
116
|
const currentFilters = useDashboardSelector(selectFilterContextFilters);
|
|
121
|
-
const enableKDCrossFiltering = useDashboardSelector(selectEnableKDCrossFiltering);
|
|
122
117
|
const supportsCrossFiltering = useDashboardSelector(selectSupportsCrossFiltering);
|
|
123
118
|
const disableCrossFilteringByConfig = useDashboardSelector(selectIsDisabledCrossFiltering);
|
|
124
119
|
const disableCrossFiltering = useDashboardSelector(selectDisableDashboardCrossFiltering);
|
|
@@ -126,7 +121,6 @@ export const useResetFiltersButton = () => {
|
|
|
126
121
|
const disableUserFilterReset = useDashboardSelector(selectDisableDashboardUserFilterReset);
|
|
127
122
|
const isWorkingFilterContextChanged = useDashboardSelector(selectIsWorkingFilterContextChanged);
|
|
128
123
|
const isApplyAllAtOnceEnabledAndSet = useDashboardSelector(selectIsApplyFiltersAllAtOnceEnabledAndSet);
|
|
129
|
-
const enableDateFilterIdentifiers = useDashboardSelector(selectEnableDateFilterIdentifiers);
|
|
130
124
|
const activeTabId = useDashboardSelector(selectActiveTabLocalIdentifier);
|
|
131
125
|
const parameterResetTargets = useDashboardSelector(selectActiveTabParameterResetTargets);
|
|
132
126
|
const hasResettableParameter = parameterResetTargets.length > 0;
|
|
@@ -136,7 +130,7 @@ export const useResetFiltersButton = () => {
|
|
|
136
130
|
const { filterContextStateReset, parametersStateReset } = useDashboardUserInteraction();
|
|
137
131
|
const { addSuccess } = useToastMessage();
|
|
138
132
|
const newlyAddedFiltersLocalIds = useMemo(() => getNewlyAddedFilterLocalIds(currentFilters, originalFilters), [currentFilters, originalFilters]);
|
|
139
|
-
const sanitizedCurrentFilters = useMemo(() => sanitizeFilters(currentFilters, originalFilters
|
|
133
|
+
const sanitizedCurrentFilters = useMemo(() => sanitizeFilters(currentFilters, originalFilters), [originalFilters, currentFilters]);
|
|
140
134
|
// Normalize filters for comparison to handle "all time" common date filters consistently
|
|
141
135
|
const normalizedCurrentFilters = useMemo(() => normalizeFiltersForComparison(sanitizedCurrentFilters), [sanitizedCurrentFilters]);
|
|
142
136
|
const normalizedOriginalFilters = useMemo(() => normalizeFiltersForComparison(originalFilters), [originalFilters]);
|
|
@@ -151,7 +145,7 @@ export const useResetFiltersButton = () => {
|
|
|
151
145
|
hasResettableParameter,
|
|
152
146
|
]);
|
|
153
147
|
const canReset = canResetFilters || canResetWorkingContext || canResetParameters;
|
|
154
|
-
const crossFilteringEnabled = isCrossFilteringEnabled(
|
|
148
|
+
const crossFilteringEnabled = isCrossFilteringEnabled(supportsCrossFiltering, disableCrossFiltering, disableCrossFilteringByConfig);
|
|
155
149
|
const resetFilters = useCallback(() => {
|
|
156
150
|
if (!canReset) {
|
|
157
151
|
return;
|
|
@@ -168,9 +162,7 @@ export const useResetFiltersButton = () => {
|
|
|
168
162
|
// Dispatch a command, so it goes through the proper piping and trigger all the events
|
|
169
163
|
dispatch(changeFilterContextSelection([
|
|
170
164
|
commonDateFilter ??
|
|
171
|
-
newAllTimeDashboardDateFilter(undefined,
|
|
172
|
-
? generateDateFilterLocalIdentifier(0, undefined)
|
|
173
|
-
: undefined),
|
|
165
|
+
newAllTimeDashboardDateFilter(undefined, generateDateFilterLocalIdentifier(0, undefined)),
|
|
174
166
|
...otherFilters,
|
|
175
167
|
]));
|
|
176
168
|
}
|
|
@@ -205,7 +197,6 @@ export const useResetFiltersButton = () => {
|
|
|
205
197
|
parametersStateReset,
|
|
206
198
|
newlyAddedFiltersLocalIds,
|
|
207
199
|
userFilterResetAllowed,
|
|
208
|
-
enableDateFilterIdentifiers,
|
|
209
200
|
isApplyAllAtOnceEnabledAndSet,
|
|
210
201
|
addSuccess,
|
|
211
202
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardLayoutSectionHeaderDescription.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardLayoutSectionHeaderDescription.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUvE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,6CAA6C;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,uCAAuC,CAAC,EACpD,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACV,EAAE,6CAA6C,2CAkC/C"}
|
|
@@ -3,11 +3,10 @@ import cx from "classnames";
|
|
|
3
3
|
import { RichText } from "@gooddata/sdk-ui-kit";
|
|
4
4
|
import { useSectionDescriptionFilters } from "../../../_staging/sharedHooks/useRichTextFilters.js";
|
|
5
5
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
6
|
-
import { selectEnableRichTextDescriptions,
|
|
6
|
+
import { selectEnableRichTextDescriptions, selectSeparators, } from "../../../model/store/config/configSelectors.js";
|
|
7
7
|
import { selectExecutionTimestamp } from "../../../model/store/ui/uiSelectors.js";
|
|
8
8
|
export function DashboardLayoutSectionHeaderDescription({ description, exportData, LoadingComponent, onLoadingChanged, onError, }) {
|
|
9
9
|
const useRichText = useDashboardSelector(selectEnableRichTextDescriptions);
|
|
10
|
-
const isRichTextReferencesEnabled = useDashboardSelector(selectEnableRichTextDynamicReferences);
|
|
11
10
|
const { loading, filters } = useSectionDescriptionFilters();
|
|
12
11
|
const separators = useDashboardSelector(selectSeparators);
|
|
13
12
|
const executionTimestamp = useDashboardSelector(selectExecutionTimestamp);
|
|
@@ -17,5 +16,5 @@ export function DashboardLayoutSectionHeaderDescription({ description, exportDat
|
|
|
17
16
|
dataAttributes: exportData?.richText?.markdown,
|
|
18
17
|
}, execConfig: {
|
|
19
18
|
timestamp: executionTimestamp,
|
|
20
|
-
}, referencesEnabled:
|
|
19
|
+
}, referencesEnabled: true, filters: filters, isFiltersLoading: loading, separators: separators, LoadingComponent: LoadingComponent, onLoadingChanged: onLoadingChanged, onError: onError })) : (description) }));
|
|
21
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionHeaderEditable.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAoC,MAAM,OAAO,CAAC;AAO5E,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;
|
|
1
|
+
{"version":3,"file":"SectionHeaderEditable.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAoC,MAAM,OAAO,CAAC;AAO5E,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AA4BxH,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,wBAAgB,qBAAqB,CAAC,EAClC,KAAK,EAAE,QAAa,EACpB,WAAW,EAAE,cAAmB,EAChC,OAAO,EACV,EAAE,2BAA2B,GAAG,YAAY,CAqJ5C"}
|
|
@@ -8,7 +8,7 @@ import { serializeLayoutSectionPath } from "../../../../_staging/layout/coordina
|
|
|
8
8
|
import { useSectionDescriptionFilters } from "../../../../_staging/sharedHooks/useRichTextFilters.js";
|
|
9
9
|
import { changeNestedLayoutSectionHeader } from "../../../../model/commands/layout.js";
|
|
10
10
|
import { useDashboardDispatch, useDashboardSelector, } from "../../../../model/react/DashboardStoreProvider.js";
|
|
11
|
-
import { selectEnableRichTextDescriptions,
|
|
11
|
+
import { selectEnableRichTextDescriptions, selectSeparators, } from "../../../../model/store/config/configSelectors.js";
|
|
12
12
|
import { uiActions } from "../../../../model/store/ui/index.js";
|
|
13
13
|
import { selectExecutionTimestamp } from "../../../../model/store/ui/uiSelectors.js";
|
|
14
14
|
import { useDashboardComponentsContext } from "../../../dashboardContexts/DashboardComponentsContext.js";
|
|
@@ -17,7 +17,6 @@ import { DESCRIPTION_LENGTH_WARNING_LIMIT, MAX_DESCRIPTION_LENGTH, MAX_TITLE_LEN
|
|
|
17
17
|
const richTextTooltipAlignPoints = [{ align: "tl bl", offset: { x: 6, y: -4 } }];
|
|
18
18
|
export function SectionHeaderEditable({ title: rawTitle = "", description: rawDescription = "", section, }) {
|
|
19
19
|
const useRichText = useDashboardSelector(selectEnableRichTextDescriptions);
|
|
20
|
-
const isRichTextReferencesEnabled = useDashboardSelector(selectEnableRichTextDynamicReferences);
|
|
21
20
|
const { LoadingComponent } = useDashboardComponentsContext();
|
|
22
21
|
const { filters, loading } = useSectionDescriptionFilters();
|
|
23
22
|
const separators = useDashboardSelector(selectSeparators);
|
|
@@ -72,7 +71,7 @@ export function SectionHeaderEditable({ title: rawTitle = "", description: rawDe
|
|
|
72
71
|
"gd-heading-3": isNestedLayout,
|
|
73
72
|
}), maxRows: 10, value: title || "", maxLength: MAX_TITLE_LENGTH, warningLimit: TITLE_LENGTH_WARNING_LIMIT, placeholderMessage: intl.formatMessage({ id: "layout.header.add.title.placeholder" }), alignTo: `.gd-title-for-${serializedSectionIndex}`, onSubmit: onTitleSubmit, onEditingStart: onEditingStart, onCancel: onEditingEnd }) }), _jsx("div", { className: "gd-editable-label-container gd-row-header-description-wrapper", children: useRichText ? (_jsx("div", { className: cx("gd-editable-label-richtext s-fluid-layout-row-description-input", {
|
|
74
73
|
"is-editing": isRichTextEditing,
|
|
75
|
-
}), onClick: onDescriptionClick, onBlur: onDescriptionBlur, children: _jsx(RichTextWithTooltip, { value: richTextValue, renderMode: isRichTextEditing ? "edit" : "view", onChange: onRichTextChange, editRows: 10, editPlaceholder: placeholder, emptyElement: _jsx("div", { className: "gd-editable-label-richtext-empty", children: placeholder }), showTooltip: isRichTextEditing, tooltipAlignPoints: richTextTooltipAlignPoints, autoResize: true, referencesEnabled:
|
|
74
|
+
}), onClick: onDescriptionClick, onBlur: onDescriptionBlur, children: _jsx(RichTextWithTooltip, { value: richTextValue, renderMode: isRichTextEditing ? "edit" : "view", onChange: onRichTextChange, editRows: 10, editPlaceholder: placeholder, emptyElement: _jsx("div", { className: "gd-editable-label-richtext-empty", children: placeholder }), showTooltip: isRichTextEditing, tooltipAlignPoints: richTextTooltipAlignPoints, autoResize: true, referencesEnabled: true, filters: filters, isFiltersLoading: loading, separators: separators, LoadingComponent: LoadingComponent, execConfig: {
|
|
76
75
|
timestamp: executionTimestamp,
|
|
77
76
|
} }) })) : (_jsx(EditableLabelWithBubble, { className: `gd-description-for-${serializedSectionIndex} s-fluid-layout-row-description-input description`, alignTo: `.gd-description-for-${serializedSectionIndex}`, maxRows: 15, value: description || "", maxLength: MAX_DESCRIPTION_LENGTH, warningLimit: DESCRIPTION_LENGTH_WARNING_LIMIT, placeholderMessage: placeholder, onSubmit: onDescriptionSubmit, onEditingStart: onEditingStart, onCancel: onEditingEnd })) })
|
|
78
77
|
] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightList.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightList/InsightList.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"InsightList.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightList/InsightList.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,QAAQ,EAShB,MAAM,qBAAqB,CAAC;AAmC7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,UAAU,gBAAgB;IACtB,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,GAAG,gBAAgB,CAO5E;AAsCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,EACxB,MAAM,EACN,KAAkB,EAClB,eAAe,EACf,UAAU,EACV,WAAW,EACX,QAAQ,EACX,EAAE,iBAAiB,2CA4OnB"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2022-2026 GoodData Corporation
|
|
3
|
-
import { useCallback, useEffect, useRef } from "react";
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { areObjRefsEqual, insightCreated, insightIsLocked, insightSummary, insightTitle, insightUpdated, insightVisualizationType, } from "@gooddata/sdk-model";
|
|
6
6
|
import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
7
7
|
import { useInsightPagedList } from "@gooddata/sdk-ui-ext";
|
|
8
8
|
import { DropdownList, InsightListItem, UiSkeleton } from "@gooddata/sdk-ui-kit";
|
|
9
|
+
import { customMatcher, useHybridSearch, } from "@gooddata/sdk-ui-semantic-search";
|
|
9
10
|
import { messages } from "../../locales.js";
|
|
10
11
|
import { createInsightRequested } from "../../model/events/lab.js";
|
|
11
12
|
import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
|
|
12
13
|
import { useDashboardEventDispatch } from "../../model/react/useDashboardEventDispatch.js";
|
|
13
14
|
import { selectBackendCapabilities } from "../../model/store/backendCapabilities/backendCapabilitiesSelectors.js";
|
|
14
|
-
import { selectAllowCreateInsightRequest, selectEnableRichTextDescriptions,
|
|
15
|
+
import { selectAllowCreateInsightRequest, selectEnableRichTextDescriptions, selectEnableSemanticSearch, selectEnableVisualizationFilteringByTags, selectObjectAvailabilityConfig, selectSettings, } from "../../model/store/config/configSelectors.js";
|
|
15
16
|
import { selectCanCreateVisualization } from "../../model/store/permissions/permissionsSelectors.js";
|
|
16
17
|
import { selectExecutionTimestamp, selectInsightListLastUpdateRequested, } from "../../model/store/ui/uiSelectors.js";
|
|
17
18
|
import { selectCurrentUser } from "../../model/store/user/userSelectors.js";
|
|
18
19
|
import { getAuthor } from "../../model/utils/author.js";
|
|
19
20
|
import { useDashboardComponentsContext } from "../dashboardContexts/DashboardComponentsContext.js";
|
|
21
|
+
import { DIVIDER, InsightListDivider } from "./InsightListDivider.js";
|
|
20
22
|
import { InsightListNoData } from "./InsightListNoData.js";
|
|
21
23
|
const ITEM_HEIGHT = 40;
|
|
22
24
|
const LIST_WIDTH = 229;
|
|
@@ -34,6 +36,23 @@ const useAuthor = () => {
|
|
|
34
36
|
return getAuthor(capabilities, currentUser);
|
|
35
37
|
};
|
|
36
38
|
const tabsIds = { my: messages.tabsMy.id, all: messages.tabsAll.id };
|
|
39
|
+
const SEMANTIC_SEARCH_OBJECT_TYPES = ["visualization"];
|
|
40
|
+
const insightItemBuilder = (item, { ref }) => ({
|
|
41
|
+
ref,
|
|
42
|
+
...ref,
|
|
43
|
+
identifier: item.id,
|
|
44
|
+
uri: item.id,
|
|
45
|
+
title: item.title,
|
|
46
|
+
summary: item.description,
|
|
47
|
+
tags: item.tags,
|
|
48
|
+
filters: [],
|
|
49
|
+
visualizationUrl: item.visualizationUrl ?? "",
|
|
50
|
+
buckets: [],
|
|
51
|
+
sorts: [],
|
|
52
|
+
properties: {},
|
|
53
|
+
created: item.createdAt,
|
|
54
|
+
updated: item.modifiedAt,
|
|
55
|
+
});
|
|
37
56
|
/**
|
|
38
57
|
* @internal
|
|
39
58
|
*/
|
|
@@ -47,15 +66,15 @@ export function InsightList({ height, width = LIST_WIDTH, searchAutofocus, rende
|
|
|
47
66
|
const allowCreateInsightRequest = useDashboardSelector(selectAllowCreateInsightRequest);
|
|
48
67
|
const settings = useDashboardSelector(selectSettings);
|
|
49
68
|
const useRichText = useDashboardSelector(selectEnableRichTextDescriptions);
|
|
50
|
-
const useReferences = useDashboardSelector(selectEnableRichTextDynamicReferences);
|
|
51
69
|
const executionTimestamp = useDashboardSelector(selectExecutionTimestamp);
|
|
52
70
|
const objectAvailability = useDashboardSelector(selectObjectAvailabilityConfig);
|
|
53
71
|
const isFilteringByTagsEnabled = useDashboardSelector(selectEnableVisualizationFilteringByTags);
|
|
72
|
+
const enableSemanticSearch = useDashboardSelector(selectEnableSemanticSearch);
|
|
54
73
|
const { LoadingComponent } = useDashboardComponentsContext();
|
|
55
74
|
// Extract tag identifiers from object availability config only when the feature flag is enabled
|
|
56
75
|
const tags = isFilteringByTagsEnabled ? objectAvailability?.includeObjectsWithTags : undefined;
|
|
57
76
|
const excludeTags = isFilteringByTagsEnabled ? objectAvailability?.excludeObjectsWithTags : undefined;
|
|
58
|
-
const { items:
|
|
77
|
+
const { items: pagedInsights, totalItemsCount: totalInsightsCount, isLoading, isNextPageLoading, initialLoadCompleted, search, selectedTabId, hasNextPage, skeletonItemsCount, shouldLoadNextPage, loadNextPage, onSearch, onTabSelect, loadInitialItems, resetItems, } = useInsightPagedList({
|
|
59
78
|
backend,
|
|
60
79
|
workspaceId,
|
|
61
80
|
author,
|
|
@@ -63,6 +82,32 @@ export function InsightList({ height, width = LIST_WIDTH, searchAutofocus, rende
|
|
|
63
82
|
tags,
|
|
64
83
|
excludeTags,
|
|
65
84
|
});
|
|
85
|
+
const matcher = useMemo(() => customMatcher(["title", "summary", "identifier"]), []);
|
|
86
|
+
const { search: hybridSearch, onSearchQueryChange: setHybridSearchQuery } = useHybridSearch({
|
|
87
|
+
objectTypes: SEMANTIC_SEARCH_OBJECT_TYPES,
|
|
88
|
+
allowSematicSearch: enableSemanticSearch,
|
|
89
|
+
itemBuilder: insightItemBuilder,
|
|
90
|
+
includeTags: tags,
|
|
91
|
+
excludeTags,
|
|
92
|
+
matcher,
|
|
93
|
+
});
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
setHybridSearchQuery(search);
|
|
96
|
+
}, [search, setHybridSearchQuery]);
|
|
97
|
+
const { semanticSearchState, searchRelatedItems } = useMemo(() => hybridSearch({ items: pagedInsights.map((insight) => insight.insight) }), [hybridSearch, pagedInsights]);
|
|
98
|
+
const isRelatedLoading = semanticSearchState.state === "loading";
|
|
99
|
+
const totalItems = (totalInsightsCount ?? pagedInsights.length) +
|
|
100
|
+
(isRelatedLoading ? 4 : searchRelatedItems.length + (searchRelatedItems.length ? 1 : 0));
|
|
101
|
+
const loadingItemsCount = skeletonItemsCount + (isRelatedLoading ? 4 : 0);
|
|
102
|
+
const insights = useMemo(() => [
|
|
103
|
+
...pagedInsights,
|
|
104
|
+
...(isRelatedLoading
|
|
105
|
+
? [DIVIDER]
|
|
106
|
+
: [
|
|
107
|
+
...(searchRelatedItems.length ? [DIVIDER] : []),
|
|
108
|
+
...searchRelatedItems.map((insight) => ({ insight })),
|
|
109
|
+
]),
|
|
110
|
+
], [pagedInsights, searchRelatedItems, isRelatedLoading]);
|
|
66
111
|
const prevInsightListLastUpdateRequestedRef = useRef(insightListLastUpdateRequested);
|
|
67
112
|
useEffect(() => {
|
|
68
113
|
loadInitialItems();
|
|
@@ -94,21 +139,29 @@ export function InsightList({ height, width = LIST_WIDTH, searchAutofocus, rende
|
|
|
94
139
|
// need to subtract height of controls from the overall size which was measured
|
|
95
140
|
const controlsHeight = search ? SEARCHFIELD_HEIGHT : TABS_AND_SEARCHFIELD_HEIGHT;
|
|
96
141
|
const dropdownListHeight = height && height - controlsHeight;
|
|
97
|
-
const dropdownListLoading = isLoading &&
|
|
142
|
+
const dropdownListLoading = isLoading && pagedInsights.length === 0;
|
|
98
143
|
const showDropdownListTabs = initialLoadCompleted && !search;
|
|
99
144
|
const showNoDataCreateButton = allowCreateInsightRequest && canCreateVisualization;
|
|
100
|
-
return (_jsx(DropdownList, { width: width, height: dropdownListHeight, isMobile: false, isLoading: dropdownListLoading, showSearch: initialLoadCompleted, searchString: search, searchFieldSize: "small", searchPlaceholder: intl.formatMessage({ id: "search_insights" }), onSearch: onSearch, disableAutofocus: !searchAutofocus, showTabs: showDropdownListTabs, tabs: backend.capabilities.supportsOwners && author ? dropdownTabsTranslationIds : undefined, selectedTabId: selectedTabId, onTabSelect: onTabSelect, itemHeight: ITEM_HEIGHT, itemHeightGetter: itemHeightGetter, items: insights, itemsCount:
|
|
145
|
+
return (_jsx(DropdownList, { width: width, height: dropdownListHeight, isMobile: false, isLoading: dropdownListLoading, showSearch: initialLoadCompleted, searchString: search, searchFieldSize: "small", searchPlaceholder: intl.formatMessage({ id: "search_insights" }), onSearch: onSearch, disableAutofocus: !searchAutofocus, showTabs: showDropdownListTabs, tabs: backend.capabilities.supportsOwners && author ? dropdownTabsTranslationIds : undefined, selectedTabId: selectedTabId, onTabSelect: onTabSelect, itemHeight: ITEM_HEIGHT, itemHeightGetter: itemHeightGetter, items: insights, itemsCount: totalItems, body: () => {
|
|
146
|
+
if (!isLoading && pagedInsights.length === 0 && searchRelatedItems.length > 0) {
|
|
147
|
+
return (_jsx(InsightListNoData, { isUserInsights: selectedTabId === messages.tabsMy.id, hasNoMatchingData: true, showNoDataCreateButton: showNoDataCreateButton, onCreateButtonClick: createInsightRequestedEvent }));
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}, renderItem: renderItem ??
|
|
101
151
|
(({ item: insight, width }) => {
|
|
102
152
|
if (!insight) {
|
|
103
153
|
return _jsx(InsightListItem, { isLoading: true });
|
|
104
154
|
}
|
|
155
|
+
if ("divider" in insight) {
|
|
156
|
+
return _jsx(InsightListDivider, {});
|
|
157
|
+
}
|
|
105
158
|
const title = insightTitle(insight);
|
|
106
159
|
const description = insightSummary(insight)?.trim();
|
|
107
160
|
const insightListSourceItem = getInsightListSourceItem(insight);
|
|
108
161
|
const isSelected = areObjRefsEqual(insight.insight.ref, selectedRef);
|
|
109
|
-
return (_jsx(InsightListItem, { title: title, description: description, showDescriptionPanel:
|
|
110
|
-
insightCreated(insightListSourceItem.insight), isLocked: insightIsLocked(insightListSourceItem.insight), onClick: () => onSelect?.(insight), metadataTimeZone: settings?.metadataTimeZone, useRichText: useRichText, useReferences:
|
|
162
|
+
return (_jsx(InsightListItem, { title: title, description: description, showDescriptionPanel: true, type: insightListSourceItem.insightType, width: width, isSelected: isSelected, updated: insightUpdated(insightListSourceItem.insight) ??
|
|
163
|
+
insightCreated(insightListSourceItem.insight), isLocked: insightIsLocked(insightListSourceItem.insight), onClick: () => onSelect?.(insight), metadataTimeZone: settings?.metadataTimeZone, useRichText: useRichText, useReferences: true, richTextExecConfig: {
|
|
111
164
|
timestamp: executionTimestamp,
|
|
112
165
|
}, LoadingComponent: LoadingComponent }));
|
|
113
|
-
}), renderNoData: ({ hasNoMatchingData }) => (_jsx(InsightListNoData, { isUserInsights: selectedTabId === messages.tabsMy.id, hasNoMatchingData: hasNoMatchingData, showNoDataCreateButton: showNoDataCreateButton, onCreateButtonClick: createInsightRequestedEvent })), loadNextPage: loadNextPage, hasNextPage: hasNextPage, skeletonItemsCount:
|
|
166
|
+
}), renderNoData: ({ hasNoMatchingData }) => (_jsx(InsightListNoData, { isUserInsights: selectedTabId === messages.tabsMy.id, hasNoMatchingData: hasNoMatchingData, showNoDataCreateButton: showNoDataCreateButton, onCreateButtonClick: createInsightRequestedEvent })), loadNextPage: loadNextPage, hasNextPage: hasNextPage || isRelatedLoading, skeletonItemsCount: loadingItemsCount, shouldLoadNextPage: shouldLoadNextPage, isNextPageLoading: isNextPageLoading, SkeletonItem: () => (_jsx(UiSkeleton, { itemWidth: ["100%"], direction: "row", itemPadding: 15, itemHeight: 30, itemsCount: 1, itemsGap: 0 })) }));
|
|
114
167
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightListDivider.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightList/InsightListDivider.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,OAAO;;CAA6B,CAAC;AAElD,wBAAgB,kBAAkB,4CASjC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { defineMessage, useIntl } from "react-intl";
|
|
4
|
+
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
const SUGGESTION_GROUP_TITLE = defineMessage({ id: "search_insights.similar" });
|
|
6
|
+
export const DIVIDER = { divider: true };
|
|
7
|
+
export function InsightListDivider() {
|
|
8
|
+
const intl = useIntl();
|
|
9
|
+
return (_jsxs("div", { className: "gd-visualizations-related-header", children: [
|
|
10
|
+
_jsx(UiIcon, { type: "genai", size: 12, color: "complementary-6" }), _jsx("span", { children: intl.formatMessage(SUGGESTION_GROUP_TITLE) })
|
|
11
|
+
] }));
|
|
12
|
+
}
|
|
@@ -10,9 +10,10 @@ export interface IInsightListProps {
|
|
|
10
10
|
height?: number;
|
|
11
11
|
width?: number;
|
|
12
12
|
searchAutofocus?: boolean;
|
|
13
|
-
renderItem?: (props: IRenderListItemProps<IInsight
|
|
13
|
+
renderItem?: (props: IRenderListItemProps<IInsight | {
|
|
14
|
+
divider: true;
|
|
15
|
+
}>) => ReactElement;
|
|
14
16
|
selectedRef?: ObjRef;
|
|
15
17
|
onSelect?: (insight: IInsight) => void;
|
|
16
|
-
enableDescriptions?: boolean;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightList/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/insightList/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,oCAAoC,CAAC,EAAE,qCAAqC,CAAC;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,KAAK,YAAY,CAAC;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC1C"}
|
|
@@ -203,14 +203,6 @@ export declare const en_US: {
|
|
|
203
203
|
text: string;
|
|
204
204
|
crowdinContext: string;
|
|
205
205
|
};
|
|
206
|
-
"options.menu.schedule.email.tooltip": {
|
|
207
|
-
text: string;
|
|
208
|
-
crowdinContext: string;
|
|
209
|
-
};
|
|
210
|
-
"options.menu.schedule.email.edit": {
|
|
211
|
-
text: string;
|
|
212
|
-
crowdinContext: string;
|
|
213
|
-
};
|
|
214
206
|
"options.menu.schedule.email.edit.noCreatePermissions": {
|
|
215
207
|
text: string;
|
|
216
208
|
crowdinContext: string;
|
|
@@ -219,10 +211,6 @@ export declare const en_US: {
|
|
|
219
211
|
text: string;
|
|
220
212
|
crowdinContext: string;
|
|
221
213
|
};
|
|
222
|
-
"options.menu.alerts.edit": {
|
|
223
|
-
text: string;
|
|
224
|
-
crowdinContext: string;
|
|
225
|
-
};
|
|
226
214
|
"options.menu.alerts.edit.noCreatePermissions": {
|
|
227
215
|
text: string;
|
|
228
216
|
crowdinContext: string;
|
|
@@ -1643,6 +1631,10 @@ export declare const en_US: {
|
|
|
1643
1631
|
text: string;
|
|
1644
1632
|
crowdinContext: string;
|
|
1645
1633
|
};
|
|
1634
|
+
"search_insights.similar": {
|
|
1635
|
+
text: string;
|
|
1636
|
+
crowdinContext: string;
|
|
1637
|
+
};
|
|
1646
1638
|
"save.as.new": {
|
|
1647
1639
|
text: string;
|
|
1648
1640
|
crowdinContext: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq6GjB,CAAC"}
|
|
@@ -205,14 +205,6 @@ export const en_US = {
|
|
|
205
205
|
"text": "Schedule export",
|
|
206
206
|
"crowdinContext": "Menu option to set up recurring automated exports of the dashboard"
|
|
207
207
|
},
|
|
208
|
-
"options.menu.schedule.email.tooltip": {
|
|
209
|
-
"text": "No destination available. To schedule an export, <a>create destination</a>.",
|
|
210
|
-
"crowdinContext": "Tooltip shown when no export destinations are available for scheduled exports"
|
|
211
|
-
},
|
|
212
|
-
"options.menu.schedule.email.edit": {
|
|
213
|
-
"text": "Show schedules",
|
|
214
|
-
"crowdinContext": "Menu option to view or edit existing scheduled dashboard exports"
|
|
215
|
-
},
|
|
216
208
|
"options.menu.schedule.email.edit.noCreatePermissions": {
|
|
217
209
|
"text": "Scheduled exports",
|
|
218
210
|
"crowdinContext": "Menu option to view existing scheduled exports when user doesn't have permission to create new ones"
|
|
@@ -221,10 +213,6 @@ export const en_US = {
|
|
|
221
213
|
"text": "Alert",
|
|
222
214
|
"crowdinContext": "Menu option to display alert management"
|
|
223
215
|
},
|
|
224
|
-
"options.menu.alerts.edit": {
|
|
225
|
-
"text": "Show alerts",
|
|
226
|
-
"crowdinContext": "Menu option to view or edit existing metric alerts for the dashboard or widget"
|
|
227
|
-
},
|
|
228
216
|
"options.menu.alerts.edit.noCreatePermissions": {
|
|
229
217
|
"text": "Alerts",
|
|
230
218
|
"crowdinContext": "Menu option to view existing alerts when user doesn't have permission to create new ones"
|
|
@@ -1645,6 +1633,10 @@ export const en_US = {
|
|
|
1645
1633
|
"text": "Search all visualizations…",
|
|
1646
1634
|
"crowdinContext": "Placeholder text in visualization search input field"
|
|
1647
1635
|
},
|
|
1636
|
+
"search_insights.similar": {
|
|
1637
|
+
"text": "Similar",
|
|
1638
|
+
"crowdinContext": "Label for the search results section in the visualization search page"
|
|
1639
|
+
},
|
|
1648
1640
|
"save.as.new": {
|
|
1649
1641
|
"text": "Save as new",
|
|
1650
1642
|
"crowdinContext": "Button text for saving current item as a new copy"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/menuButton/useDefaultMenuItems.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDefaultMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/menuButton/useDefaultMenuItems.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AA8BlD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAwZvD"}
|
|
@@ -7,7 +7,7 @@ import { requestOpenDensityDialog } from "../../../model/commands/density.js";
|
|
|
7
7
|
import { useDashboardDispatch, useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
8
8
|
import { useDashboardScheduledEmails } from "../../../model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js";
|
|
9
9
|
import { useDashboardAlerts } from "../../../model/react/useDashboardAlerting/useDashboardAlerts.js";
|
|
10
|
-
import {
|
|
10
|
+
import { selectEnableDashboardDensitySetting, selectEnableDashboardTabularExport, selectEnableSnapshotExport, selectIsReadOnly, selectSettings, } from "../../../model/store/config/configSelectors.js";
|
|
11
11
|
import { selectHasAnyExecutionResultLimitBreaks } from "../../../model/store/executionResults/executionResultsSelectors.js";
|
|
12
12
|
import { selectDashboardTitle, selectIsNewDashboard } from "../../../model/store/meta/metaSelectors.js";
|
|
13
13
|
import { selectCanCreateAutomation, selectCanExportPdf, selectCanExportTabular, } from "../../../model/store/permissions/permissionsSelectors.js";
|
|
@@ -57,7 +57,7 @@ export function useDefaultMenuItems() {
|
|
|
57
57
|
const xlsxPartialResultsWarning = hasAnyLimitBreaks
|
|
58
58
|
? intl.formatMessage({ id: "options.menu.export.partialResults.warning.dashboard" })
|
|
59
59
|
: undefined;
|
|
60
|
-
const {
|
|
60
|
+
const { isScheduledManagementEmailingVisible, defaultOnScheduleEmailingManagement } = useDashboardScheduledEmails();
|
|
61
61
|
const { defaultOnAlertingManagement: defaultOnAlertsManagement, isAlertManagementVisible: isAlertsManagementVisible, } = useDashboardAlerts();
|
|
62
62
|
const dispatch = useDashboardDispatch();
|
|
63
63
|
const openSaveAsDialog = useCallback(() => dispatch(uiActions.openSaveAsDialog()), [dispatch]);
|
|
@@ -141,7 +141,6 @@ export function useDefaultMenuItems() {
|
|
|
141
141
|
const canCreateAutomation = useDashboardSelector(selectCanCreateAutomation);
|
|
142
142
|
const isReadOnly = useDashboardSelector(selectIsReadOnly);
|
|
143
143
|
const isEnableDashboardTabularExport = useDashboardSelector(selectEnableDashboardTabularExport);
|
|
144
|
-
const isAutomationManagementEnabled = useDashboardSelector(selectEnableAutomationManagement);
|
|
145
144
|
const enableSnapshotExport = useDashboardSelector(selectEnableSnapshotExport);
|
|
146
145
|
const isExportVisible = useDashboardSelector(selectSlideShowExportVisible);
|
|
147
146
|
const isPdfExportVisible = useDashboardSelector(selectPdfExportVisible);
|
|
@@ -241,9 +240,7 @@ export function useDefaultMenuItems() {
|
|
|
241
240
|
type: "button",
|
|
242
241
|
itemId: "alerts-edit-item", // careful, this is also used as a selector in tests, do not change
|
|
243
242
|
itemName: canCreateAutomation
|
|
244
|
-
?
|
|
245
|
-
? intl.formatMessage({ id: "options.menu.alert" })
|
|
246
|
-
: intl.formatMessage({ id: "options.menu.alerts.edit" })
|
|
243
|
+
? intl.formatMessage({ id: "options.menu.alert" })
|
|
247
244
|
: intl.formatMessage({ id: "options.menu.alerts.edit.noCreatePermissions" }),
|
|
248
245
|
onClick: defaultOnAlertsManagement,
|
|
249
246
|
visible: isAlertsManagementVisible,
|
|
@@ -253,31 +250,15 @@ export function useDefaultMenuItems() {
|
|
|
253
250
|
],
|
|
254
251
|
// schedules section
|
|
255
252
|
[
|
|
256
|
-
{
|
|
257
|
-
type: "button",
|
|
258
|
-
itemId: "schedule-email-item", // careful, this is also used as a selector in tests, do not change
|
|
259
|
-
itemName: intl.formatMessage({ id: "options.menu.schedule.email" }),
|
|
260
|
-
onClick: defaultOnScheduleEmailing,
|
|
261
|
-
visible: isScheduledEmailingVisible && !isAutomationManagementEnabled,
|
|
262
|
-
tooltip: numberOfAvailableDestinations === 0
|
|
263
|
-
? intl.formatMessage({ id: "options.menu.schedule.email.tooltip" }, {
|
|
264
|
-
a: (chunk) => (_jsx("a", { href: "/settings", rel: "noopener noreferrer", target: "_blank", children: chunk })),
|
|
265
|
-
})
|
|
266
|
-
: undefined,
|
|
267
|
-
icon: "gd-icon-clock",
|
|
268
|
-
opensDialog: true,
|
|
269
|
-
},
|
|
270
253
|
{
|
|
271
254
|
type: "button",
|
|
272
255
|
itemId: "schedule-email-edit-item", // careful, this is also used as a selector in tests, do not change
|
|
273
256
|
itemName: canCreateAutomation
|
|
274
|
-
?
|
|
275
|
-
? intl.formatMessage({ id: "options.menu.schedule.email" })
|
|
276
|
-
: intl.formatMessage({ id: "options.menu.schedule.email.edit" })
|
|
257
|
+
? intl.formatMessage({ id: "options.menu.schedule.email" })
|
|
277
258
|
: intl.formatMessage({ id: "options.menu.schedule.email.edit.noCreatePermissions" }),
|
|
278
259
|
onClick: defaultOnScheduleEmailingManagement,
|
|
279
260
|
visible: isScheduledManagementEmailingVisible,
|
|
280
|
-
icon:
|
|
261
|
+
icon: "gd-icon-clock",
|
|
281
262
|
opensDialog: true,
|
|
282
263
|
},
|
|
283
264
|
],
|
|
@@ -385,7 +366,6 @@ export function useDefaultMenuItems() {
|
|
|
385
366
|
openDensityDialog,
|
|
386
367
|
defaultOnExportToPdf,
|
|
387
368
|
defaultOnSaveAs,
|
|
388
|
-
defaultOnScheduleEmailing,
|
|
389
369
|
defaultOnScheduleEmailingManagement,
|
|
390
370
|
defaultOnAlertsManagement,
|
|
391
371
|
defaultOnExportToExcel,
|
|
@@ -400,9 +380,7 @@ export function useDefaultMenuItems() {
|
|
|
400
380
|
isReadOnly,
|
|
401
381
|
isSaveAsDisabled,
|
|
402
382
|
isSaveAsVisible,
|
|
403
|
-
isScheduledEmailingVisible,
|
|
404
383
|
isScheduledManagementEmailingVisible,
|
|
405
|
-
numberOfAvailableDestinations,
|
|
406
384
|
openDeleteDialog,
|
|
407
385
|
openFilterViewsAddDialog,
|
|
408
386
|
openFilterViewsListDialog,
|
|
@@ -418,7 +396,6 @@ export function useDefaultMenuItems() {
|
|
|
418
396
|
isSlideshowPdfExportVisible,
|
|
419
397
|
isSlideshowPptxExportVisible,
|
|
420
398
|
isXlsxExportVisible,
|
|
421
|
-
isAutomationManagementEnabled,
|
|
422
399
|
enableSnapshotExport,
|
|
423
400
|
xlsxPartialResultsWarning,
|
|
424
401
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportModeInsightWidgetDescription.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/description/ExportModeInsightWidgetDescription.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExportModeInsightWidgetDescription.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/description/ExportModeInsightWidgetDescription.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,qCAAqC,kDA2B9F"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { DescriptionPanelContent } from "@gooddata/sdk-ui-kit";
|
|
4
4
|
import { useRichTextWidgetFilters } from "../../../_staging/sharedHooks/useRichTextFilters.js";
|
|
5
5
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
6
|
-
import {
|
|
6
|
+
import { selectSeparators } from "../../../model/store/config/configSelectors.js";
|
|
7
7
|
import { selectExecutionTimestamp } from "../../../model/store/ui/uiSelectors.js";
|
|
8
8
|
import { useDashboardComponentsContext } from "../../dashboardContexts/DashboardComponentsContext.js";
|
|
9
9
|
import { useInsightWidgetDescription } from "./useInsightWidgetDescription.js";
|
|
@@ -15,7 +15,6 @@ import { useInsightWidgetDescription } from "./useInsightWidgetDescription.js";
|
|
|
15
15
|
export function ExportModeInsightWidgetDescription(props) {
|
|
16
16
|
const { exportData, widget } = props;
|
|
17
17
|
const { isVisible, description, useRichText } = useInsightWidgetDescription(props);
|
|
18
|
-
const useReferences = useDashboardSelector(selectEnableRichTextDynamicReferences);
|
|
19
18
|
const { filters } = useRichTextWidgetFilters(widget);
|
|
20
19
|
const separators = useDashboardSelector(selectSeparators);
|
|
21
20
|
const executionTimestamp = useDashboardSelector(selectExecutionTimestamp);
|
|
@@ -23,7 +22,7 @@ export function ExportModeInsightWidgetDescription(props) {
|
|
|
23
22
|
if (!isVisible) {
|
|
24
23
|
return null;
|
|
25
24
|
}
|
|
26
|
-
return (_jsx("div", { style: { display: "none" }, ...exportData, children: _jsx(DescriptionPanelContent, { description: description, useRichText: useRichText, useReferences:
|
|
25
|
+
return (_jsx("div", { style: { display: "none" }, ...exportData, children: _jsx(DescriptionPanelContent, { description: description, useRichText: useRichText, useReferences: true, filters: filters, separators: separators, LoadingComponent: LoadingComponent, execConfig: {
|
|
27
26
|
timestamp: executionTimestamp,
|
|
28
27
|
} }) }));
|
|
29
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightWidgetDescriptionTrigger.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/description/InsightWidgetDescriptionTrigger.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InsightWidgetDescriptionTrigger.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/description/InsightWidgetDescriptionTrigger.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,qCAAqC,EAAE,MAAM,YAAY,CAAC;AAGxE,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,qCAAqC,kDAkC3F"}
|