@gooddata/sdk-ui-dashboard 11.54.0-alpha.4 → 11.54.0-alpha.6
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 +93513 -17188
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/automation/index.d.ts +6 -0
- package/esm/_staging/automation/index.d.ts.map +1 -1
- package/esm/_staging/automation/index.js +7 -0
- package/esm/index.d.ts +3 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/model/DashboardTester.d.ts +150 -0
- package/esm/model/DashboardTester.d.ts.map +1 -0
- package/esm/model/DashboardTester.js +208 -0
- package/esm/model/commandHandlers/dashboard/common/parameterHydration.d.ts +7 -0
- package/esm/model/commandHandlers/dashboard/common/parameterHydration.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/parameterHydration.js +17 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +27 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts +9 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.js +27 -0
- package/esm/model/commandHandlers/filterContext/filterViewHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js +7 -7
- package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.js +2 -11
- package/esm/model/commands/timezone.d.ts +10 -2
- package/esm/model/commands/timezone.d.ts.map +1 -1
- package/esm/model/commands/timezone.js +5 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts +6 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.js +13 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts +7 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.js +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +61 -22
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts +8 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.js +8 -0
- package/esm/presentation/automations/alerting/types.d.ts +72 -4
- package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +60 -15
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.js +2 -3
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts +1 -5
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +2 -2
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts +0 -4
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts +6 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.js +10 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts +6 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.js +8 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.js +10 -8
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts +2 -2
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.js +3 -4
- package/esm/presentation/automations/scheduledEmail/types.d.ts +86 -6
- package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.d.ts +25 -0
- package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.d.ts.map +1 -0
- package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.js +22 -0
- package/esm/presentation/automations/shared/slots/types.d.ts +120 -27
- package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
- package/esm/presentation/dashboardContexts/ExportCsvDialogContext.d.ts +1 -2
- package/esm/presentation/dashboardContexts/ExportCsvDialogContext.d.ts.map +1 -1
- package/esm/presentation/dialogs/ExportCsvDialog.d.ts +0 -1
- package/esm/presentation/dialogs/ExportCsvDialog.d.ts.map +1 -1
- package/esm/presentation/dialogs/ExportCsvDialog.js +2 -2
- package/esm/presentation/dialogs/ExportCsvDialogProvider.d.ts.map +1 -1
- package/esm/presentation/dialogs/ExportCsvDialogProvider.js +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +12 -15
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +0 -60
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +0 -60
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +10 -15
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +12 -17
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +12 -15
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +16 -19
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +16 -19
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +12 -15
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +14 -17
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +12 -15
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +14 -17
- package/esm/presentation/widget/common/useInsightExport.d.ts.map +1 -1
- package/esm/presentation/widget/common/useInsightExport.js +2 -4
- package/esm/sdk-ui-dashboard.d.ts +289 -35
- package/package.json +21 -21
- package/styles/css/main.css +369 -0
- package/styles/css/main.css.map +1 -1
- package/esm/_staging/dateFilterConfig/fixtures.d.ts +0 -10
- package/esm/_staging/dateFilterConfig/fixtures.d.ts.map +0 -1
- package/esm/_staging/dateFilterConfig/fixtures.js +0 -60
- package/esm/model/commandHandlers/filterContext/filterViewParameters.d.ts +0 -8
- package/esm/model/commandHandlers/filterContext/filterViewParameters.d.ts.map +0 -1
- package/esm/model/commandHandlers/filterContext/filterViewParameters.js +0 -9
- package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.d.ts +0 -16
- package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.d.ts.map +0 -1
- package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.js +0 -30
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts +0 -3
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.js +0 -46
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.d.ts +0 -11
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.js +0 -31
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +0 -19
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +0 -28
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts +0 -13
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +0 -56
- package/esm/presentation/dashboard/components/DashboardMainContent.d.ts +0 -3
- package/esm/presentation/dashboard/components/DashboardMainContent.d.ts.map +0 -1
- package/esm/presentation/dashboard/components/DashboardMainContent.js +0 -39
- package/esm/presentation/dragAndDrop/draggableWidget/DraggableKpiCreatePanelItem.d.ts +0 -16
- package/esm/presentation/dragAndDrop/draggableWidget/DraggableKpiCreatePanelItem.d.ts.map +0 -1
- package/esm/presentation/dragAndDrop/draggableWidget/DraggableKpiCreatePanelItem.js +0 -17
- package/esm/presentation/dragAndDrop/draggableWidget/KpiDraggingComponent.d.ts +0 -3
- package/esm/presentation/dragAndDrop/draggableWidget/KpiDraggingComponent.d.ts.map +0 -1
- package/esm/presentation/dragAndDrop/draggableWidget/KpiDraggingComponent.js +0 -9
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/DeleteButton.d.ts +0 -6
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/DeleteButton.d.ts.map +0 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/DeleteButton.js +0 -10
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/common/DropdownControls.d.ts +0 -8
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/common/DropdownControls.d.ts.map +0 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/common/DropdownControls.js +0 -14
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/ConfigurationButton.d.ts +0 -6
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/ConfigurationButton.d.ts.map +0 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/ConfigurationButton.js +0 -8
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormButton.d.ts +0 -8
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormButton.d.ts.map +0 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormButton.js +0 -10
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.d.ts +0 -8
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.d.ts.map +0 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.js +0 -33
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.d.ts +0 -8
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.d.ts.map +0 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.js +0 -33
- package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.d.ts +0 -7
- package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.d.ts.map +0 -1
- package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.js +0 -39
- package/esm/presentation/widget/common/useWidgetBrokenAlertsQuery.d.ts +0 -9
- package/esm/presentation/widget/common/useWidgetBrokenAlertsQuery.d.ts.map +0 -1
- package/esm/presentation/widget/common/useWidgetBrokenAlertsQuery.js +0 -26
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.d.ts +0 -7
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.js +0 -37
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.d.ts +0 -8
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.js +0 -15
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.d.ts +0 -7
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.js +0 -8
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.d.ts +0 -7
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.js +0 -5
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts +0 -12
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.js +0 -12
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +0 -25
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +0 -5
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +0 -29
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +0 -137
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.d.ts +0 -11
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.js +0 -42
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +0 -48
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +0 -171
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useWidgetAutomationFilters.d.ts +0 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useWidgetAutomationFilters.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useWidgetAutomationFilters.js +0 -46
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayFormDropdown.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormDropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mCAAmC,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAmB7G,MAAM,WAAW,kCAAkC;IAC/C,YAAY,EAAE,mCAAmC,EAAE,CAAC;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,mBAAmB,CAAC,EAChC,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACX,EAAE,kCAAkC,2CA2CpC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2021-2025 GoodData Corporation
|
|
3
|
-
import { areObjRefsEqual } from "@gooddata/sdk-model";
|
|
4
|
-
import { Dropdown, DropdownList } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { DisplayFormButton } from "./DisplayFormButton.js";
|
|
6
|
-
import { DisplayDropdownItem } from "./DisplayFormItem.js";
|
|
7
|
-
const ITEM_HEIGHT = 23;
|
|
8
|
-
const DROPDOWN_WIDTH = 225;
|
|
9
|
-
const ALIGN_POINTS = [
|
|
10
|
-
{
|
|
11
|
-
align: "bl tl",
|
|
12
|
-
offset: { x: 0, y: 1 },
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
align: "tl bl",
|
|
16
|
-
offset: { x: 0, y: -1 },
|
|
17
|
-
},
|
|
18
|
-
];
|
|
19
|
-
export function DisplayFormDropdown({ displayForms, selectedDisplayForm, onChange, }) {
|
|
20
|
-
const getButtonLabel = () => displayForms.find((displayForm) => {
|
|
21
|
-
return areObjRefsEqual(displayForm.ref, selectedDisplayForm);
|
|
22
|
-
})?.title || "";
|
|
23
|
-
return (_jsx(Dropdown, { alignPoints: ALIGN_POINTS, renderButton: ({ isOpen, toggleDropdown }) => (_jsx(DisplayFormButton, { text: getButtonLabel(), isOpened: isOpen, toggleDropdown: toggleDropdown })), renderBody: ({ closeDropdown }) => (_jsx(DropdownList, { className: "attribute-display-form-dropdown-body s-attribute-display-form-dropdown-body", items: displayForms, itemHeight: ITEM_HEIGHT, width: DROPDOWN_WIDTH, renderItem: ({ item }) => {
|
|
24
|
-
const selected = areObjRefsEqual(item.ref, selectedDisplayForm);
|
|
25
|
-
const onClick = (displayForm) => {
|
|
26
|
-
closeDropdown();
|
|
27
|
-
if (!selected) {
|
|
28
|
-
onChange(displayForm);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
return (_jsx(DisplayDropdownItem, { displayForm: item, onClick: onClick, selected: selected }, item.id));
|
|
32
|
-
} })) }));
|
|
33
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type IAttributeDisplayFormMetadataObject, type ObjRef } from "@gooddata/sdk-model";
|
|
2
|
-
export interface IDisplayFormDropdownItemProps {
|
|
3
|
-
displayForm: IAttributeDisplayFormMetadataObject;
|
|
4
|
-
onClick: (displayForm: ObjRef) => void;
|
|
5
|
-
selected: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function DisplayDropdownItem({ displayForm, selected, onClick }: IDisplayFormDropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
//# sourceMappingURL=DisplayFormItem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayFormItem.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/displayFormDropdown/DisplayFormItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAwB7B,MAAM,WAAW,6BAA6B;IAC1C,WAAW,EAAE,mCAAmC,CAAC;IACjD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,6BAA6B,2CAwBpG"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import { ShortenedText } from "@gooddata/sdk-ui-kit";
|
|
4
|
-
import { simplifyText } from "@gooddata/util";
|
|
5
|
-
const getDisplayFormIcon = (type) => {
|
|
6
|
-
switch (type) {
|
|
7
|
-
case "GDC.link":
|
|
8
|
-
return "gd-icon-hyperlink-warning";
|
|
9
|
-
case "GDC.image":
|
|
10
|
-
return "gd-icon-image";
|
|
11
|
-
case "GDC.geo.pin":
|
|
12
|
-
case "GDC.geo.pin_latitude":
|
|
13
|
-
case "GDC.geo.pin_longitude":
|
|
14
|
-
return "gd-icon-earth";
|
|
15
|
-
default:
|
|
16
|
-
return "gd-icon-label-warning";
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
const tooltipAlignPoints = [
|
|
20
|
-
{ align: "cl cr", offset: { x: -10, y: 0 } },
|
|
21
|
-
{ align: "cr cl", offset: { x: 10, y: 0 } },
|
|
22
|
-
];
|
|
23
|
-
export function DisplayDropdownItem({ displayForm, selected, onClick }) {
|
|
24
|
-
const { title } = displayForm;
|
|
25
|
-
const className = classNames("gd-list-item", "attribute-display-form-name", "s-attribute-display-form-name", `s-attribute-display-form-name-${simplifyText(title)}`, getDisplayFormIcon(displayForm.displayFormType), {
|
|
26
|
-
"is-selected": selected,
|
|
27
|
-
});
|
|
28
|
-
const handleOnClick = (e) => {
|
|
29
|
-
onClick(displayForm.ref);
|
|
30
|
-
e.preventDefault();
|
|
31
|
-
};
|
|
32
|
-
return (_jsx("div", { className: className, onClick: handleOnClick, children: _jsx(ShortenedText, { tooltipAlignPoints: tooltipAlignPoints, children: title }) }));
|
|
33
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type IWidget } from "@gooddata/sdk-model";
|
|
2
|
-
interface IAttributeFilterConfigurationProps {
|
|
3
|
-
widget: IWidget;
|
|
4
|
-
}
|
|
5
|
-
export declare function AttributeFilterConfiguration({ widget }: IAttributeFilterConfigurationProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=AttributeFilterConfiguration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeFilterConfiguration.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/common/configuration/AttributeFilterConfiguration.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,OAAO,EAKf,MAAM,qBAAqB,CAAC;AAW7B,UAAU,kCAAkC;IACxC,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,4BAA4B,CAAC,EAAE,MAAM,EAAE,EAAE,kCAAkC,kDA8C1F"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2022-2026 GoodData Corporation
|
|
3
|
-
import { useMemo } from "react";
|
|
4
|
-
import { invariant } from "ts-invariant";
|
|
5
|
-
import { dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemTitle, isAttributeMetadataObject, objRefToString, } from "@gooddata/sdk-model";
|
|
6
|
-
import { useAttributeFilterDisplayFormFromMap } from "../../../../_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.js";
|
|
7
|
-
import { useAttributes } from "../../../../_staging/sharedHooks/useAttributes.js";
|
|
8
|
-
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
9
|
-
import { selectAllCatalogAttributesMap } from "../../../../model/store/catalog/catalogSelectors.js";
|
|
10
|
-
import { selectFilterContextAttributeFilterItems } from "../../../../model/store/tabs/filterContext/filterContextSelectors.js";
|
|
11
|
-
import { AttributeFilterConfigurationItem } from "./AttributeFilterConfigurationItem.js";
|
|
12
|
-
import { getAttributeByDisplayForm } from "./utils.js";
|
|
13
|
-
export function AttributeFilterConfiguration({ widget }) {
|
|
14
|
-
const attributeFilters = useDashboardSelector(selectFilterContextAttributeFilterItems);
|
|
15
|
-
const getAttributeFilterDisplayFormFromMap = useAttributeFilterDisplayFormFromMap();
|
|
16
|
-
const attrMap = useDashboardSelector(selectAllCatalogAttributesMap);
|
|
17
|
-
const displayForms = useMemo(() => {
|
|
18
|
-
return attributeFilters.map((filter) => dashboardAttributeFilterItemDisplayForm(filter));
|
|
19
|
-
}, [attributeFilters]);
|
|
20
|
-
const { attributes, attributesLoading } = useAttributes(displayForms);
|
|
21
|
-
if (attributesLoading) {
|
|
22
|
-
return _jsx("span", { className: "gd-spinner small s-attribute-filter-configuration-loading" });
|
|
23
|
-
}
|
|
24
|
-
if (!attributes) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
return (_jsx("div", { className: "s-attribute-filter-configuration", children: attributeFilters.map((filter) => {
|
|
28
|
-
const filterDisplayForm = dashboardAttributeFilterItemDisplayForm(filter);
|
|
29
|
-
const displayForm = getAttributeFilterDisplayFormFromMap(filterDisplayForm);
|
|
30
|
-
invariant(displayForm, "Inconsistent state in AttributeFilterConfiguration");
|
|
31
|
-
const attributeByDisplayForm = getAttributeByDisplayForm(attributes, displayForm.attribute);
|
|
32
|
-
const attribute = attrMap.get(displayForm.attribute) || attributeByDisplayForm;
|
|
33
|
-
invariant(attribute, "Inconsistent state in AttributeFilterConfiguration");
|
|
34
|
-
const attributeTitle = isAttributeMetadataObject(attribute)
|
|
35
|
-
? attribute.title
|
|
36
|
-
: attribute.attribute.title;
|
|
37
|
-
return (_jsx(AttributeFilterConfigurationItem, { displayFormRef: displayForm.ref, title: dashboardAttributeFilterItemTitle(filter) ?? attributeTitle, widget: widget }, objRefToString(displayForm.ref)));
|
|
38
|
-
}) }));
|
|
39
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type IKpiWidget, type IWidgetAlert } from "@gooddata/sdk-model";
|
|
2
|
-
import { type GoodDataSdkError } from "@gooddata/sdk-ui";
|
|
3
|
-
import { type IBrokenAlertFilterBasicInfo } from "../../../model/types/alertTypes.js";
|
|
4
|
-
export declare const useWidgetBrokenAlertsQuery: (widget: IKpiWidget, alert: IWidgetAlert | undefined) => {
|
|
5
|
-
result?: IBrokenAlertFilterBasicInfo<import("@gooddata/sdk-model").FilterContextItem>[] | undefined;
|
|
6
|
-
status?: "error" | "pending" | "rejected" | "running" | "success" | undefined;
|
|
7
|
-
error?: GoodDataSdkError | undefined;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=useWidgetBrokenAlertsQuery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetBrokenAlertsQuery.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/common/useWidgetBrokenAlertsQuery.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AASzD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEtF,eAAO,MAAM,0BAA0B;;;;CAoCtC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// (C) 2020-2026 GoodData Corporation
|
|
2
|
-
import { useEffect } from "react";
|
|
3
|
-
import { queryWidgetBrokenAlerts } from "../../../model/queries/widgets.js";
|
|
4
|
-
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
5
|
-
import { useDashboardQueryProcessing, } from "../../../model/react/useDashboardQueryProcessing.js";
|
|
6
|
-
import { selectFilterContextFilters } from "../../../model/store/tabs/filterContext/filterContextSelectors.js";
|
|
7
|
-
export const useWidgetBrokenAlertsQuery = (widget, alert) => {
|
|
8
|
-
const dashboardFilters = useDashboardSelector(selectFilterContextFilters);
|
|
9
|
-
const { run: runBrokenAlertsQuery, result, status, error, } = useDashboardQueryProcessing({
|
|
10
|
-
queryCreator: queryWidgetBrokenAlerts,
|
|
11
|
-
});
|
|
12
|
-
const effectiveFilters = result;
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (widget.ref) {
|
|
15
|
-
runBrokenAlertsQuery(widget.ref);
|
|
16
|
-
}
|
|
17
|
-
// queryWidgetBrokenAlerts as a parameter it needs just widget.ref but internally result depends on alert, widget, dashboardFilters
|
|
18
|
-
// we have to call query every time when this dependency changed to get fresh results
|
|
19
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
-
}, [alert, widget, dashboardFilters]);
|
|
21
|
-
return {
|
|
22
|
-
result: effectiveFilters,
|
|
23
|
-
status,
|
|
24
|
-
error,
|
|
25
|
-
};
|
|
26
|
-
};
|
package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
|
|
2
|
-
export interface IDrillMeasureSelectorProps {
|
|
3
|
-
items: IAvailableDrillTargetMeasure[];
|
|
4
|
-
onSelect: (item: IAvailableDrillTargetMeasure) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare function DrillMeasureSelector(props: IDrillMeasureSelectorProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
-
//# sourceMappingURL=DrillMeasureSelector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrillMeasureSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAKrE,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,4BAA4B,EAAE,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAC1D;AAmBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,kDA0CrE"}
|
package/esm/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelector.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2019-2025 GoodData Corporation
|
|
3
|
-
import { useIntl } from "react-intl";
|
|
4
|
-
import { Dropdown, DropdownButton } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { DrillMeasureSelectorBody } from "./DrillMeasureSelectorBody.js";
|
|
6
|
-
const DROPDOWN_ALIGN_POINTS = [
|
|
7
|
-
{
|
|
8
|
-
align: "bl tl",
|
|
9
|
-
offset: {
|
|
10
|
-
x: 0,
|
|
11
|
-
y: 4,
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
align: "tl bl",
|
|
16
|
-
offset: {
|
|
17
|
-
x: 0,
|
|
18
|
-
y: -4,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
];
|
|
22
|
-
export function DrillMeasureSelector(props) {
|
|
23
|
-
// const refDropdown = useRef(null);
|
|
24
|
-
//
|
|
25
|
-
const onCloseDropdown = () => {
|
|
26
|
-
// refDropdown.current.closeDropdown();
|
|
27
|
-
};
|
|
28
|
-
const intl = useIntl();
|
|
29
|
-
const onSelect = (selected) => {
|
|
30
|
-
props.onSelect(selected);
|
|
31
|
-
onCloseDropdown();
|
|
32
|
-
};
|
|
33
|
-
if (!props.items.length) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
return (_jsx(Dropdown, { className: "gd-drill-measure-selector", closeOnParentScroll: true, closeOnMouseDrag: false, closeOnOutsideClick: true, alignPoints: DROPDOWN_ALIGN_POINTS, renderButton: ({ toggleDropdown }) => (_jsx(DropdownButton, { value: intl.formatMessage({ id: "configurationPanel.drillConfig.addInteraction" }), iconLeft: "icon-add", className: "s-drill-show-measures customizable", onClick: toggleDropdown })), renderBody: () => (_jsx(DrillMeasureSelectorBody, { supportedItems: props.items, onSelect: onSelect, onCloseDropdown: onCloseDropdown })) }));
|
|
37
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
|
|
2
|
-
export interface IDrillMeasureSelectorBodyProps {
|
|
3
|
-
supportedItems: IAvailableDrillTargetMeasure[];
|
|
4
|
-
onSelect: (item: IAvailableDrillTargetMeasure) => void;
|
|
5
|
-
onCloseDropdown: () => void;
|
|
6
|
-
}
|
|
7
|
-
export declare function DrillMeasureSelectorBody({ supportedItems, onSelect, onCloseDropdown }: IDrillMeasureSelectorBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
//# sourceMappingURL=DrillMeasureSelectorBody.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrillMeasureSelectorBody.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorBody.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAIrE,MAAM,WAAW,8BAA8B;IAC3C,cAAc,EAAE,4BAA4B,EAAE,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,wBAAwB,CAAC,EACrC,cAAc,EACd,QAAQ,EACR,eAAe,EAClB,EAAE,8BAA8B,2CAwBhC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { FormattedMessage } from "react-intl";
|
|
3
|
-
import { DrillMeasureSelectorList } from "./DrillMeasureSelectorList.js";
|
|
4
|
-
export function DrillMeasureSelectorBody({ supportedItems, onSelect, onCloseDropdown, }) {
|
|
5
|
-
const stopPropagation = (e) => {
|
|
6
|
-
e.stopPropagation();
|
|
7
|
-
};
|
|
8
|
-
return (_jsxs("div", { className: "gd-drill-measure-selector-dropdown s-drill-measure-selector-dropdown", onScroll: stopPropagation, children: [
|
|
9
|
-
_jsxs("div", { className: "gd-drill-measure-selector-header", children: [
|
|
10
|
-
_jsx(FormattedMessage, { id: "configurationPanel.drillConfig.clickHint" }), _jsx("button", { className: "gd-button-link gd-button-icon-only icon-cross", onClick: onCloseDropdown })
|
|
11
|
-
] }), _jsxs("div", { className: "gd-drill-measure-selector-body", children: [
|
|
12
|
-
_jsx("div", { className: "gd-drill-measure-selector-separator", children: _jsx("span", { children: _jsx(FormattedMessage, { id: "configurationPanel.drillConfig.measureValue" }) }) }), _jsx(DrillMeasureSelectorList, { supportedItems: supportedItems, onSelect: onSelect })
|
|
13
|
-
] })
|
|
14
|
-
] }));
|
|
15
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
|
|
2
|
-
export interface IDrillMeasureSelectorItemProps {
|
|
3
|
-
item: IAvailableDrillTargetMeasure;
|
|
4
|
-
onClick: (item: IAvailableDrillTargetMeasure) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare function DrillMeasureSelectorItem(props: IDrillMeasureSelectorItemProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
//# sourceMappingURL=DrillMeasureSelectorItem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrillMeasureSelectorItem.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACzD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,8BAA8B,2CAe7E"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export function DrillMeasureSelectorItem(props) {
|
|
3
|
-
const onClick = () => {
|
|
4
|
-
props.onClick(props.item);
|
|
5
|
-
};
|
|
6
|
-
const name = props.item.measure.measureHeaderItem.name;
|
|
7
|
-
return (_jsx("a", { onClick: onClick, className: `gd-drill-measure-selector-list-item s-drill-measure-selector-item`, title: name, children: name }));
|
|
8
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type IAvailableDrillTargetMeasure } from "@gooddata/sdk-ui";
|
|
2
|
-
export interface IDrillMeasureSelectorListProps {
|
|
3
|
-
supportedItems: IAvailableDrillTargetMeasure[];
|
|
4
|
-
onSelect: (item: IAvailableDrillTargetMeasure) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare function DrillMeasureSelectorList(props: IDrillMeasureSelectorListProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
//# sourceMappingURL=DrillMeasureSelectorList.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrillMeasureSelectorList.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillMeasureSelector/DrillMeasureSelectorList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAIrE,MAAM,WAAW,8BAA8B;IAC3C,cAAc,EAAE,4BAA4B,EAAE,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,8BAA8B,2CAY7E"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { DrillMeasureSelectorItem } from "./DrillMeasureSelectorItem.js";
|
|
3
|
-
export function DrillMeasureSelectorList(props) {
|
|
4
|
-
return (_jsx("div", { className: "gd-drill-measure-selector-list", children: props.supportedItems.map((item) => (_jsx(DrillMeasureSelectorItem, { item: item, onClick: props.onSelect }, item.measure.measureHeaderItem.localIdentifier))) }));
|
|
5
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type IAutomationMetadataObject, type ISeparators } from "@gooddata/sdk-model";
|
|
2
|
-
import { type IInputPureProps } from "@gooddata/sdk-ui-kit";
|
|
3
|
-
import { type AlertMetric } from "../../../../automations/alerting/types.js";
|
|
4
|
-
export interface IAlertTitleProps {
|
|
5
|
-
id?: string;
|
|
6
|
-
measures: AlertMetric[];
|
|
7
|
-
alert: IAutomationMetadataObject | undefined;
|
|
8
|
-
separators?: ISeparators;
|
|
9
|
-
onChange: IInputPureProps["onChange"];
|
|
10
|
-
}
|
|
11
|
-
export declare function AlertTitle({ id, alert, measures, separators, onChange }: IAlertTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
//# sourceMappingURL=AlertTitle.d.ts.map
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AlertTitle.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAS,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAkBzF"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2025-2026 GoodData Corporation
|
|
3
|
-
import { useIntl } from "react-intl";
|
|
4
|
-
import { Input } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { getDescription } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
6
|
-
export function AlertTitle({ id, alert, measures, separators, onChange }) {
|
|
7
|
-
const intl = useIntl();
|
|
8
|
-
const description = getDescription(intl, measures, alert, separators);
|
|
9
|
-
return (_jsx(Input, { id: id, isSmall: true, type: "string", className: "gd-edit-alert__title-input title-input", value: alert?.title, placeholder: description, onChange: onChange, accessibilityConfig: {
|
|
10
|
-
ariaLabel: intl.formatMessage({ id: "insightAlert.config.accessibility.title" }),
|
|
11
|
-
} }));
|
|
12
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type IAutomationMetadataObjectDefinition, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators } from "@gooddata/sdk-model";
|
|
2
|
-
import { type IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
|
|
3
|
-
import { type IMeasureFormatMap } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
4
|
-
import { type AlertAttribute, type AlertMetric } from "../../../../automations/alerting/types.js";
|
|
5
|
-
interface ICreateAlertProps {
|
|
6
|
-
execResult: IExecutionResultEnvelope | undefined;
|
|
7
|
-
alert: IAutomationMetadataObjectDefinition | null;
|
|
8
|
-
onClose: () => void;
|
|
9
|
-
onCancel: () => void;
|
|
10
|
-
onCreate?: (alert: IAutomationMetadataObjectDefinition) => void;
|
|
11
|
-
destinations: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
|
|
12
|
-
hasAlerts: boolean;
|
|
13
|
-
measures: AlertMetric[];
|
|
14
|
-
attributes: AlertAttribute[];
|
|
15
|
-
maxAutomationsReached: boolean;
|
|
16
|
-
maxAutomationsRecipients: number;
|
|
17
|
-
measureFormatMap: IMeasureFormatMap;
|
|
18
|
-
catalogAttributes: ICatalogAttribute[];
|
|
19
|
-
catalogDateDatasets: ICatalogDateDataset[];
|
|
20
|
-
separators?: ISeparators;
|
|
21
|
-
isExecutionTimestampMode?: boolean;
|
|
22
|
-
}
|
|
23
|
-
export declare function CreateAlert({ execResult, alert, onClose, onCancel, onCreate, destinations, hasAlerts, measures, attributes, maxAutomationsReached, maxAutomationsRecipients, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode }: ICreateAlertProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=CreateAlert.d.ts.map
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yEAAyE,CAAC;AACjH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAIlG,UAAU,iBAAiB;IACvB,UAAU,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,WAAW,CAAC,EACxB,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EAC3B,EAAE,iBAAiB,2CAsBnB"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { EditAlert } from "./EditAlert.js";
|
|
3
|
-
export function CreateAlert({ execResult, alert, onClose, onCancel, onCreate, destinations, hasAlerts, measures, attributes, maxAutomationsReached, maxAutomationsRecipients, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode, }) {
|
|
4
|
-
return (_jsx(EditAlert, { execResult: execResult, alert: alert, onClose: onClose, onCancel: onCancel, onCreate: onCreate, isNewAlert: true, destinations: destinations, hasAlerts: hasAlerts, measures: measures, attributes: attributes, maxAutomationsReached: maxAutomationsReached, maxAutomationsRecipients: maxAutomationsRecipients, measureFormatMap: measureFormatMap, catalogAttributes: catalogAttributes, catalogDateDatasets: catalogDateDatasets, separators: separators, isExecutionTimestampMode: isExecutionTimestampMode }));
|
|
5
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators } from "@gooddata/sdk-model";
|
|
2
|
-
import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
|
|
3
|
-
import { type IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
|
|
4
|
-
import { type IMeasureFormatMap } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
5
|
-
import { type AlertAttribute, type AlertMetric } from "../../../../automations/alerting/types.js";
|
|
6
|
-
interface IEditAlertProps {
|
|
7
|
-
execResult: IExecutionResultEnvelope | undefined;
|
|
8
|
-
alert: IAutomationMetadataObject;
|
|
9
|
-
isNewAlert?: boolean;
|
|
10
|
-
hasAlerts: boolean;
|
|
11
|
-
destinations: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
|
|
12
|
-
measures: AlertMetric[];
|
|
13
|
-
attributes: AlertAttribute[];
|
|
14
|
-
measureFormatMap: IMeasureFormatMap;
|
|
15
|
-
catalogAttributes: ICatalogAttribute[];
|
|
16
|
-
catalogDateDatasets: ICatalogDateDataset[];
|
|
17
|
-
onClose: () => void;
|
|
18
|
-
onCancel: () => void;
|
|
19
|
-
onCreate?: (alert: IAutomationMetadataObjectDefinition) => void;
|
|
20
|
-
onUpdate?: (alert: IAutomationMetadataObject) => void;
|
|
21
|
-
maxAutomationsReached?: boolean;
|
|
22
|
-
maxAutomationsRecipients: number;
|
|
23
|
-
overlayPositionType?: OverlayPositionType;
|
|
24
|
-
separators?: ISeparators;
|
|
25
|
-
isExecutionTimestampMode?: boolean;
|
|
26
|
-
}
|
|
27
|
-
export declare function EditAlert({ alert, execResult, isNewAlert, hasAlerts, destinations, attributes, measures, onClose, onCancel, onCreate, onUpdate, maxAutomationsReached, maxAutomationsRecipients, overlayPositionType, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode }: IEditAlertProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
-
export {};
|
|
29
|
-
//# sourceMappingURL=EditAlert.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAExB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAMH,KAAK,mBAAmB,EAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAgBrG,OAAO,EACH,KAAK,iBAAiB,EAWzB,MAAM,yEAAyE,CAAC;AAMjF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAwBlG,UAAU,eAAe;IACrB,UAAU,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,yBAAyB,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,SAAS,CAAC,EACtB,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,qBAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EAC3B,EAAE,eAAe,2CAuXjB"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2022-2026 GoodData Corporation
|
|
3
|
-
import { FormattedMessage, defineMessages, useIntl } from "react-intl";
|
|
4
|
-
import { Bubble, BubbleHoverTrigger, Button, Input, Message, } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
6
|
-
import { selectInsightByWidgetRef } from "../../../../../model/store/insights/insightsSelectors.js";
|
|
7
|
-
import { selectWidgets } from "../../../../../model/store/tabs/layout/layoutSelectors.js";
|
|
8
|
-
import { AlertAttributeSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.js";
|
|
9
|
-
import { AlertComparisonOperatorSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js";
|
|
10
|
-
import { AlertComparisonPeriodSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js";
|
|
11
|
-
import { AlertDestinationSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.js";
|
|
12
|
-
import { AlertGranularitySelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.js";
|
|
13
|
-
import { AlertMeasureSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.js";
|
|
14
|
-
import { AlertSensitivitySelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.js";
|
|
15
|
-
import { useAlertValidation, } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.js";
|
|
16
|
-
import { useAttributeValuesFromExecResults } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js";
|
|
17
|
-
import { useThresholdValue } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useThresholdValue.js";
|
|
18
|
-
import { getAlertAiOperator, getAlertAttribute, getAlertCompareOperator, getAlertComparison, getAlertFilters, getAlertGranularity, getAlertMeasure, getAlertRelativeOperator, getAlertSensitivity, getValueSuffix, } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
19
|
-
import { translateGranularity } from "../../../../automations/alerting/DefaultAlertingDialog/utils/granularity.js";
|
|
20
|
-
import { isAnomalyDetection, isChangeOrDifferenceOperator, } from "../../../../automations/alerting/DefaultAlertingDialog/utils/guards.js";
|
|
21
|
-
import { RecipientsSelect } from "../../../../automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
|
|
22
|
-
import { DashboardInsightSubmenuContainer } from "../../../insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightSubmenuContainer.js";
|
|
23
|
-
import { AlertTitle } from "./AlertTitle.js";
|
|
24
|
-
import { EditAlertConfiguration } from "./EditAlertConfiguration.js";
|
|
25
|
-
import { useEditAlert } from "./hooks/useEditAlert.js";
|
|
26
|
-
const TOOLTIP_ALIGN_POINTS = [{ align: "cl cr" }, { align: "cr cl" }];
|
|
27
|
-
const messages = defineMessages({
|
|
28
|
-
invalidDefault: {
|
|
29
|
-
id: "insightAlert.config.invalid",
|
|
30
|
-
},
|
|
31
|
-
invalidWidget: {
|
|
32
|
-
id: "insightAlert.config.invalidWidget",
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
const invalidMessagesObj = {
|
|
36
|
-
missingMetric: messages.invalidDefault,
|
|
37
|
-
missingWidget: messages.invalidWidget,
|
|
38
|
-
};
|
|
39
|
-
export function EditAlert({ alert, execResult, isNewAlert, hasAlerts, destinations, attributes, measures, onClose, onCancel, onCreate, onUpdate, maxAutomationsReached = false, maxAutomationsRecipients, overlayPositionType, measureFormatMap, catalogAttributes, catalogDateDatasets, separators, isExecutionTimestampMode, }) {
|
|
40
|
-
const { defaultUser, viewMode, updatedAlert, canSubmit, allowExternalRecipients, allowOnlyLoggedUserRecipients, warningMessage, enableAnomalyDetectionAlert, allowHourlyRecurrence,
|
|
41
|
-
//
|
|
42
|
-
changeAnomalyDetection, changeComparisonOperator, changeRelativeOperator, changeMeasure, changeAttribute, changeTitle, changeValue, changeDestination, changeComparisonType, changeRecipients, changeSensitivity, changeGranularity,
|
|
43
|
-
//
|
|
44
|
-
configureAlert, saveAlertConfiguration, cancelAlertConfiguration,
|
|
45
|
-
//
|
|
46
|
-
createAlert, updateAlert, } = useEditAlert({
|
|
47
|
-
metrics: measures,
|
|
48
|
-
separators,
|
|
49
|
-
attributes,
|
|
50
|
-
alert,
|
|
51
|
-
onCreate,
|
|
52
|
-
onUpdate,
|
|
53
|
-
measureFormatMap,
|
|
54
|
-
catalogAttributes,
|
|
55
|
-
catalogDateDatasets,
|
|
56
|
-
destinations,
|
|
57
|
-
});
|
|
58
|
-
const intl = useIntl();
|
|
59
|
-
const disableCreateButtonDueToLimits = isNewAlert && maxAutomationsReached;
|
|
60
|
-
const selectedMeasure = getAlertMeasure(measures, updatedAlert.alert);
|
|
61
|
-
const selectedComparator = getAlertComparison(selectedMeasure, updatedAlert.alert);
|
|
62
|
-
const [selectedAttribute, selectedValue] = getAlertAttribute(attributes, updatedAlert);
|
|
63
|
-
const filters = getAlertFilters(updatedAlert);
|
|
64
|
-
const selectedComparisonOperator = getAlertCompareOperator(updatedAlert.alert);
|
|
65
|
-
const selectedRelativeOperator = getAlertRelativeOperator(updatedAlert.alert);
|
|
66
|
-
const selectedAiOperator = getAlertAiOperator(updatedAlert.alert);
|
|
67
|
-
const selectedSensitivity = getAlertSensitivity(updatedAlert.alert);
|
|
68
|
-
const selectedGranularity = getAlertGranularity(updatedAlert.alert);
|
|
69
|
-
const widgetLocalId = alert?.metadata?.widget;
|
|
70
|
-
const allWidgets = useDashboardSelector(selectWidgets);
|
|
71
|
-
const alertWidget = widgetLocalId
|
|
72
|
-
? allWidgets.find((w) => w.localIdentifier === widgetLocalId)
|
|
73
|
-
: undefined;
|
|
74
|
-
const alertInsight = useDashboardSelector(selectInsightByWidgetRef(alertWidget?.ref));
|
|
75
|
-
const { isValid, invalidityReason } = useAlertValidation(alert, alertWidget, alertInsight, catalogDateDatasets, isNewAlert);
|
|
76
|
-
const showFilterInfo = filters.length > 0 || Boolean(selectedComparator?.granularity);
|
|
77
|
-
const { isResultLoading, getAttributeValues, getMetricValue } = useAttributeValuesFromExecResults(execResult);
|
|
78
|
-
const { value, onChange, onBlur } = useThresholdValue(changeValue, getMetricValue, isNewAlert, updatedAlert.alert, selectedRelativeOperator, selectedMeasure, selectedAttribute, selectedValue);
|
|
79
|
-
return viewMode === "edit" ? (_jsx(DashboardInsightSubmenuContainer, { title: isNewAlert
|
|
80
|
-
? intl.formatMessage({ id: "insightAlert.config.createAlert" })
|
|
81
|
-
: intl.formatMessage({ id: "insightAlert.config.editAlert" }), onClose: onClose, onBack: hasAlerts ? onCancel : undefined, children: _jsxs("div", { className: "gd-edit-alert", children: [
|
|
82
|
-
_jsxs("div", { className: "gd-edit-alert__form", children: [
|
|
83
|
-
_jsxs("div", { className: "gd-edit-alert__form-content", children: [
|
|
84
|
-
_jsx("label", { htmlFor: "alert.measure", className: "gd-edit-alert__measure-label", children: _jsx(FormattedMessage, { id: "insightAlert.config.when" }) }), _jsx(AlertMeasureSelect, { selectedMeasure: selectedMeasure, onMeasureChange: changeMeasure, measures: measures, overlayPositionType: overlayPositionType, id: "alert.measure" }), _jsx(AlertAttributeSelect, { id: "alert.attribute", selectedAttribute: selectedAttribute, selectedValue: selectedValue, onAttributeChange: changeAttribute, attributes: attributes, catalogAttributes: catalogAttributes, catalogDateDatasets: catalogDateDatasets, getAttributeValues: getAttributeValues, isResultLoading: isResultLoading, showLabel: true, closeOnParentScroll: true }), showFilterInfo ? (_jsxs("div", { className: "gd-edit-alert__measure-info", children: [Boolean(selectedComparator?.granularity) && (_jsx(FormattedMessage, { tagName: "span", id: "insightAlert.config.for.filter", values: {
|
|
85
|
-
granularity: [
|
|
86
|
-
intl.formatMessage({ id: "granularity.this_keyword" }),
|
|
87
|
-
translateGranularity(intl, selectedComparator?.granularity),
|
|
88
|
-
].join(" "),
|
|
89
|
-
} })), filters.length > 0 && selectedComparator?.granularity ? (_jsx(FormattedMessage, { tagName: "span", id: "insightAlert.config.and" })) : null, filters.length > 0 && (_jsxs(_Fragment, { children: [
|
|
90
|
-
_jsx(FormattedMessage, { tagName: "span", id: "insightAlert.config.filters", values: {
|
|
91
|
-
n: filters.length,
|
|
92
|
-
} }), _jsx("div", { role: "item-info", className: "gd-list-item-bubble", children: _jsxs(BubbleHoverTrigger, { tagName: "div", showDelay: 200, hideDelay: 0, eventsOnBubble: false, children: [
|
|
93
|
-
_jsx("div", { className: "inlineBubbleHelp" }), _jsx(Bubble, { className: "bubble-primary", alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], arrowOffsets: { "cr cl": [15, 0] }, children: _jsx(FormattedMessage, { id: "insightAlert.config.filters.info", values: {
|
|
94
|
-
spacer: (_jsx("div", { className: "gd-alert-comparison-operator-tooltip-spacer" })),
|
|
95
|
-
} }) })
|
|
96
|
-
] }) })
|
|
97
|
-
] }))] })) : null, _jsx(AlertComparisonOperatorSelect, { id: "alert.comparisonOperator", measure: selectedMeasure, enableAnomalyDetectionAlert: enableAnomalyDetectionAlert, selectedAiOperator: selectedAiOperator, onAnomalyDetectionChange: changeAnomalyDetection, selectedComparisonOperator: selectedComparisonOperator, selectedRelativeOperator: selectedRelativeOperator, onComparisonOperatorChange: changeComparisonOperator, onRelativeOperatorChange: changeRelativeOperator, overlayPositionType: overlayPositionType }), !isAnomalyDetection(updatedAlert?.alert) &&
|
|
98
|
-
(() => {
|
|
99
|
-
const valueSuffix = getValueSuffix(updatedAlert.alert);
|
|
100
|
-
const suffixAriaLabel = valueSuffix === "%"
|
|
101
|
-
? intl.formatMessage({ id: "input.unit.percent" })
|
|
102
|
-
: valueSuffix;
|
|
103
|
-
return (_jsx(Input, { className: "gd-edit-alert__value-input s-alert-value-input", isSmall: true, autofocus: true, value: value, onChange: onChange, onBlur: onBlur, type: "number", suffix: valueSuffix, accessibilityConfig: {
|
|
104
|
-
ariaLabel: intl.formatMessage({
|
|
105
|
-
id: "insightAlert.config.accessbility.input",
|
|
106
|
-
}),
|
|
107
|
-
suffixAriaLabel,
|
|
108
|
-
} }));
|
|
109
|
-
})(), !updatedAlert || !isChangeOrDifferenceOperator(updatedAlert.alert) ? null : (_jsxs("div", { style: { marginTop: "1rem" }, children: [
|
|
110
|
-
_jsx("label", { htmlFor: "alert.comparison", children: _jsx(FormattedMessage, { id: "insightAlert.config.comparison" }) }), _jsx(AlertComparisonPeriodSelect, { id: "alert.comparison", measure: selectedMeasure, alert: updatedAlert, selectedComparison: selectedComparator?.comparator, selectedGranularity: selectedComparator?.granularity, onComparisonChange: (comparisonType, granularity) => {
|
|
111
|
-
changeComparisonType(selectedMeasure, selectedRelativeOperator, comparisonType, granularity);
|
|
112
|
-
}, overlayPositionType: overlayPositionType })
|
|
113
|
-
] })), !updatedAlert || !isAnomalyDetection(updatedAlert.alert) ? null : (_jsxs(_Fragment, { children: [
|
|
114
|
-
_jsxs("div", { style: { marginTop: "1rem" }, children: [
|
|
115
|
-
_jsx("label", { htmlFor: "alert.sensitivity", children: _jsx(FormattedMessage, { id: "insightAlert.config.sensitivity" }) }), _jsx(AlertSensitivitySelect, { id: "alert.sensitivity", selectedSensitivity: selectedSensitivity, onSensitivityChange: changeSensitivity, overlayPositionType: overlayPositionType })
|
|
116
|
-
] }), _jsxs("div", { children: [
|
|
117
|
-
_jsx("label", { htmlFor: "alert.granularity", children: _jsx(FormattedMessage, { id: "insightAlert.config.granularity" }) }), _jsx(AlertGranularitySelect, { id: "alert.granularity", allowHourlyRecurrence: allowHourlyRecurrence, selectedGranularity: selectedGranularity, onGranularityChange: (granularity) => {
|
|
118
|
-
changeGranularity(selectedMeasure, granularity);
|
|
119
|
-
}, overlayPositionType: overlayPositionType })
|
|
120
|
-
] })
|
|
121
|
-
] })), destinations.length > 1 && (_jsxs("div", { style: { marginTop: "1rem" }, children: [
|
|
122
|
-
_jsx("label", { htmlFor: "alert.destination", className: "gd-edit-alert__destination-label", children: _jsx(FormattedMessage, { id: "insightAlert.config.action" }) }), _jsx(AlertDestinationSelect, { id: "alert.destination", selectedDestination: updatedAlert.notificationChannel, onDestinationChange: changeDestination, destinations: destinations, overlayPositionType: overlayPositionType })
|
|
123
|
-
] })), _jsx(RecipientsSelect, { id: "alert.recipients", loggedUser: defaultUser, value: updatedAlert.recipients ?? [], originalValue: alert.recipients || [], onChange: changeRecipients, allowEmptySelection: true, allowOnlyLoggedUserRecipients: allowOnlyLoggedUserRecipients, allowExternalRecipients: allowExternalRecipients, maxRecipients: maxAutomationsRecipients, className: "gd-edit-alert__recipients", notificationChannels: destinations, notificationChannelId: updatedAlert.notificationChannel }), _jsx("label", { htmlFor: "alert.title", className: "gd-edit-alert__title-label", children: _jsx(FormattedMessage, { id: "insightAlert.config.name" }) }), _jsx(AlertTitle, { id: "alert.title", measures: measures, alert: updatedAlert, separators: separators, onChange: (e) => {
|
|
124
|
-
changeTitle(e === "" ? undefined : String(e));
|
|
125
|
-
} })
|
|
126
|
-
] }), warningMessage ? _jsx(Message, { type: "warning", children: warningMessage }) : null, isValid ? null : (_jsx(Message, { type: "error", children: _jsx(FormattedMessage, { id: invalidMessagesObj[invalidityReason].id }) }))] }), _jsxs("div", { className: "gd-edit-alert__buttons", children: [
|
|
127
|
-
_jsx(Button, { className: "gd-edit-alert__configuration-button gd-button-link gd-button-icon-only gd-icon-settings gd-button-small s-alert-configuration", onClick: configureAlert }), _jsxs("div", { children: [
|
|
128
|
-
_jsx(Button, { variant: "secondary", size: "small", onClick: () => {
|
|
129
|
-
onCancel();
|
|
130
|
-
}, children: _jsx(FormattedMessage, { id: "cancel" }) }), _jsxs(BubbleHoverTrigger, { hideDelay: 0, showDelay: 0, children: [
|
|
131
|
-
_jsx(Button, { intent: "action", size: "small", disabled: !canSubmit || disableCreateButtonDueToLimits || isExecutionTimestampMode, onClick: isNewAlert ? createAlert : updateAlert, className: "gd-button-left-margin", children: isNewAlert
|
|
132
|
-
? intl.formatMessage({ id: "create" })
|
|
133
|
-
: intl.formatMessage({ id: "save" }) }), disableCreateButtonDueToLimits ? (_jsx(Bubble, { alignPoints: TOOLTIP_ALIGN_POINTS, children: _jsx(FormattedMessage, { id: "insightAlert.maxAlertsReached" }) })) : null, isExecutionTimestampMode ? (_jsx(Bubble, { alignPoints: TOOLTIP_ALIGN_POINTS, children: _jsx(FormattedMessage, { id: "insightAlert.executionTimestampMode" }) })) : null] })
|
|
134
|
-
] })
|
|
135
|
-
] })
|
|
136
|
-
] }) })) : (_jsx(DashboardInsightSubmenuContainer, { title: intl.formatMessage({ id: "insightAlert.config.title" }), onClose: onClose, onBack: cancelAlertConfiguration, children: _jsx(EditAlertConfiguration, { alert: updatedAlert, onUpdate: saveAlertConfiguration, onCancel: cancelAlertConfiguration, overlayPositionType: overlayPositionType }) }));
|
|
137
|
-
}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type IAutomationMetadataObject } from "@gooddata/sdk-model";
|
|
2
|
-
import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
|
|
3
|
-
interface IEditAlertConfigurationProps {
|
|
4
|
-
alert: IAutomationMetadataObject;
|
|
5
|
-
onCancel: () => void;
|
|
6
|
-
onUpdate: (alert: IAutomationMetadataObject) => void;
|
|
7
|
-
overlayPositionType?: OverlayPositionType;
|
|
8
|
-
}
|
|
9
|
-
export declare function EditAlertConfiguration({ alert, onCancel, onUpdate, overlayPositionType }: IEditAlertConfigurationProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=EditAlertConfiguration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditAlertConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAKH,KAAK,mBAAmB,EAC3B,MAAM,sBAAsB,CAAC;AAW9B,UAAU,4BAA4B;IAClC,KAAK,EAAE,yBAAyB,CAAC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACrD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAED,wBAAgB,sBAAsB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACtB,EAAE,4BAA4B,2CAmE9B"}
|