@gooddata/sdk-ui-dashboard 11.55.0-alpha.0 → 11.55.0-alpha.1
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/_staging/metadata/objRefMap.d.ts +11 -0
- package/esm/_staging/metadata/objRefMap.d.ts.map +1 -1
- package/esm/_staging/metadata/objRefMap.js +19 -1
- package/esm/index.d.ts +49 -6
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +42 -2
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +4 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +9 -6
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.d.ts +17 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.js +50 -0
- package/esm/model/commandHandlers/drill/crossFilteringHandler.d.ts +4 -1
- package/esm/model/commandHandlers/drill/crossFilteringHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/crossFilteringHandler.js +5 -3
- package/esm/model/commandHandlers/filterContext/common.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/common.js +5 -2
- package/esm/model/commandHandlers/filterContext/filterViewHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js +2 -2
- package/esm/model/commands/filters.d.ts +3 -3
- package/esm/model/store/config/configSelectors.d.ts +6 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +8 -0
- package/esm/model/store/dashboardStore.d.ts +2 -0
- package/esm/model/store/dashboardStore.d.ts.map +1 -1
- package/esm/model/store/dashboardStore.js +2 -0
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts +13 -9
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/filterContext/filterContextReducers.js +28 -21
- package/esm/model/store/tabs/index.d.ts +136 -128
- package/esm/model/store/tabs/index.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +17 -4
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +32 -8
- package/esm/model/store/tabs/parameters/parametersReducers.d.ts +29 -1
- package/esm/model/store/tabs/parameters/parametersReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersReducers.js +48 -6
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +26 -5
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +33 -14
- package/esm/model/store/tabs/parameters/parametersState.d.ts +7 -0
- package/esm/model/store/tabs/parameters/parametersState.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsReducers.d.ts +14 -0
- package/esm/model/store/tabs/tabsReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsReducers.js +21 -1
- package/esm/model/store/tabs/workingSelectionSelectors.d.ts +9 -0
- package/esm/model/store/tabs/workingSelectionSelectors.d.ts.map +1 -0
- package/esm/model/store/tabs/workingSelectionSelectors.js +11 -0
- package/esm/model/store/types.d.ts +3 -0
- package/esm/model/store/types.d.ts.map +1 -1
- package/esm/model/store/unavailableObjects/index.d.ts +8 -0
- package/esm/model/store/unavailableObjects/index.d.ts.map +1 -0
- package/esm/model/store/unavailableObjects/index.js +13 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsEntityAdapter.d.ts +9 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsEntityAdapter.d.ts.map +1 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsEntityAdapter.js +12 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts +18 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts.map +1 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.js +20 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +8 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +21 -13
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogDestination.d.ts +11 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogDestination.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{AlertingDialogDestination.js → DefaultAlertingDialogDestination.js} +7 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogFilters.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogFilters.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogFilters.js +17 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogHeader.d.ts +11 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogHeader.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{AlertingDialogHeader.js → DefaultAlertingDialogHeader.js} +10 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogRecipients.d.ts +11 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogRecipients.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{AlertingDialogRecipients.js → DefaultAlertingDialogRecipients.js} +7 -3
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js +2 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/constants.d.ts +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/constants.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/constants.js +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertThreshold.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useThresholdValue.js +2 -2
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContent.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/Alert.js +2 -2
- package/esm/presentation/automations/alerting/blocks/AlertingDialogActionBar.d.ts +30 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogActionBar.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogActionBar.js +30 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogDestination.d.ts +15 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogDestination.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogDestination.js +23 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFilters.d.ts +16 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFilters.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFilters.js +25 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogHeader.d.ts +26 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogHeader.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogHeader.js +36 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogRecipients.d.ts +13 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogRecipients.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogRecipients.js +21 -0
- package/esm/presentation/automations/alerting/blocks/WhenAlertingDialogLoaded.d.ts +12 -0
- package/esm/presentation/automations/alerting/blocks/WhenAlertingDialogLoaded.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/WhenAlertingDialogLoaded.js +13 -0
- package/esm/presentation/automations/alerting/hooks/useAlertValidation.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useAttributeValuesFromExecResults.d.ts +20 -0
- package/esm/presentation/automations/alerting/hooks/useAttributeValuesFromExecResults.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useAttributeValuesFromExecResults.js +5 -0
- package/esm/presentation/automations/alerting/hooks/useGetSupportedMeasures.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/hooks/useGetSupportedMeasures.js +1 -1
- package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts +1 -1
- package/esm/presentation/automations/alerting/state/AlertActionsContext.js +1 -1
- package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts +1 -1
- package/esm/presentation/automations/alerting/state/AlertDataContext.js +1 -1
- package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts +1 -1
- package/esm/presentation/automations/alerting/state/AlertDraftContext.js +1 -1
- package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts +1 -1
- package/esm/presentation/automations/alerting/state/AlertFiltersContext.js +1 -1
- package/esm/presentation/automations/alerting/state/types.d.ts +179 -9
- package/esm/presentation/automations/alerting/state/types.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertDialogValidity.d.ts +3 -8
- package/esm/presentation/automations/alerting/state/useAlertDialogValidity.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertDialogValidity.js +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.js +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFormState.js +2 -2
- package/esm/presentation/automations/alerting/state/useAlertFormValidation.js +2 -2
- package/esm/presentation/automations/alerting/state/useAlertSelectedValues.d.ts +4 -16
- package/esm/presentation/automations/alerting/state/useAlertSelectedValues.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertSelectedValues.js +2 -2
- package/esm/presentation/automations/alerting/state/useAlertSubmit.d.ts +13 -0
- package/esm/presentation/automations/alerting/state/useAlertSubmit.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertSubmit.js +5 -5
- package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.js +3 -3
- package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.d.ts +8 -8
- package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.js +7 -7
- package/esm/presentation/automations/alerting/types.d.ts +48 -6
- package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/types.js +3 -1
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/convertors.d.ts +1 -1
- package/esm/presentation/automations/alerting/utils/convertors.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/utils/cron.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/getters.d.ts +14 -2
- package/esm/presentation/automations/alerting/utils/getters.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/getters.js +1 -1
- package/esm/presentation/automations/alerting/utils/granularity.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/utils/guards.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/items.d.ts +1 -1
- package/esm/presentation/automations/alerting/utils/items.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/items.js +1 -1
- package/esm/presentation/automations/alerting/utils/responsive.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/utils/threshold.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/transformation.d.ts +1 -1
- package/esm/presentation/automations/alerting/utils/transformation.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/transformation.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +9 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +21 -12
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDestination.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDestination.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDestination.js +15 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogFilters.d.ts +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogFilters.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogFilters.js +16 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogHeader.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogHeader.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/{Header/ScheduleEmailDialogHeader.js → DefaultScheduledEmailDialogHeader.js} +11 -3
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecipients.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecipients.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecipients.js +13 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogTimezone.d.ts +17 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogTimezone.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/{ScheduleTimezoneSelect/ScheduleTimezoneSelect.js → DefaultScheduledEmailDialogTimezone.js} +6 -4
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogActionBar.d.ts +36 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogActionBar.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogActionBar.js +35 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDestination.d.ts +13 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDestination.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDestination.js +21 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogFilters.d.ts +17 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogFilters.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogFilters.js +26 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogHeader.d.ts +17 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogHeader.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogHeader.js +32 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecipients.d.ts +15 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecipients.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecipients.js +25 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogTimezone.d.ts +15 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogTimezone.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogTimezone.js +26 -0
- package/esm/presentation/automations/scheduledEmail/blocks/WhenScheduledEmailDialogLoaded.d.ts +14 -0
- package/esm/presentation/automations/scheduledEmail/blocks/WhenScheduledEmailDialogLoaded.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/WhenScheduledEmailDialogLoaded.js +15 -0
- package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → hooks}/useExportTimezones.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/hooks/useExportTimezones.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → hooks}/useExportTimezones.js +1 -1
- package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → hooks}/useScheduleTimezone.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/hooks/useScheduleTimezone.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → hooks}/useScheduleTimezone.js +1 -1
- package/esm/presentation/automations/scheduledEmail/hooks/useScheduleValidation.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → hooks}/useScheduleValidation.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/types.d.ts +204 -5
- package/esm/presentation/automations/scheduledEmail/state/types.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useSaveScheduledEmailToBackend.d.ts +12 -0
- package/esm/presentation/automations/scheduledEmail/state/useSaveScheduledEmailToBackend.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useSaveScheduledEmailToBackend.js +3 -3
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.d.ts +10 -10
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.js +6 -6
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormValidity.d.ts +2 -7
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormValidity.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormValidity.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts +3 -27
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportDialogValidity.d.ts +3 -3
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportDialogValidity.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledExportDialogValidity.js +1 -1
- package/esm/presentation/automations/scheduledEmail/types.d.ts +4 -2
- package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/automations/shared/slots/DefaultAutomationDialogActionBar.d.ts +27 -0
- package/esm/presentation/automations/shared/slots/DefaultAutomationDialogActionBar.d.ts.map +1 -0
- package/esm/presentation/automations/shared/slots/{AutomationDialogActionBar.js → DefaultAutomationDialogActionBar.js} +7 -5
- package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/TimezoneOption.js +1 -1
- package/esm/presentation/dragAndDrop/draggableParameterFilter/DefaultParameterDraggingComponent.d.ts.map +1 -1
- package/esm/presentation/dragAndDrop/draggableParameterFilter/DefaultParameterDraggingComponent.js +5 -6
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js +5 -4
- package/esm/presentation/filterBar/parameterFilter/DashboardParameterFilter.d.ts.map +1 -1
- package/esm/presentation/filterBar/parameterFilter/DashboardParameterFilter.js +11 -8
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +7 -7
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +6 -6
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +2 -0
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +6 -4
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +4 -4
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +4 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.js +1 -1
- package/esm/sdk-ui-dashboard.d.ts +1828 -250
- package/package.json +25 -25
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts +0 -6
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogFilters.d.ts +0 -8
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogFilters.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogFilters.js +0 -13
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogHeader.d.ts +0 -3
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogHeader.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts +0 -7
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts +0 -23
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/convertors.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/cron.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/getters.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/granularity.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/guards.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/items.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/responsive.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/threshold.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/transformation.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Header/ScheduleEmailDialogHeader.d.ts +0 -3
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Header/ScheduleEmailDialogHeader.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduleTimezoneSelect/ScheduleTimezoneSelect.d.ts +0 -15
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduleTimezoneSelect/ScheduleTimezoneSelect.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts +0 -6
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.js +0 -10
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogFilters.d.ts +0 -7
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogFilters.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogFilters.js +0 -11
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts +0 -6
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.js +0 -8
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useExportTimezones.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +0 -23
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleValidation.d.ts.map +0 -1
- package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.d.ts +0 -25
- package/esm/presentation/automations/shared/slots/AutomationDialogActionBar.d.ts.map +0 -1
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useAlertValidation.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useAlertValidation.js +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/convertors.js +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/cron.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/cron.js +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/granularity.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/granularity.js +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/guards.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/guards.js +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/responsive.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/responsive.js +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/threshold.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/utils → utils}/threshold.js +0 -0
- /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → hooks}/useScheduleValidation.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EAGtB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKxD,OAAO,EAEH,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { selectIsInEditMode } from "../../renderMode/renderModeSelectors.js";
|
|
|
10
10
|
import { selectAllTabsInsightWidgetContexts } from "../layout/layoutSelectors.js";
|
|
11
11
|
import { selectActiveOrDefaultTabLocalIdentifier, selectActiveTab, selectTabs } from "../tabsSelectors.js";
|
|
12
12
|
import { DEFAULT_TAB_ID } from "../tabsState.js";
|
|
13
|
-
import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyRuntimeOverride, buildPersistedByTabAndRef, buildWidgetScopeTabRefSelections, buildWorkspaceParametersByRef, classifyParameterReconciliation, collectExportOverrides, collectParameterReconciliations, collectReferencedParameterRefs, computeParameterResetTargets, computeParameterResetValue, isGatedStringEntry, resolveEffectiveParameterValuesForRefs, smartPersistResolvedEntry, ungatedInsightParameterValues, } from "./parametersHelpers.js";
|
|
13
|
+
import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyDisplayOverride, applyRuntimeOverride, buildPersistedByTabAndRef, buildWidgetScopeTabRefSelections, buildWorkspaceParametersByRef, classifyParameterReconciliation, collectExportOverrides, collectParameterReconciliations, collectReferencedParameterRefs, computeParameterResetTargets, computeParameterResetValue, displayOverride, isGatedStringEntry, resolveEffectiveParameterValuesForRefs, smartPersistResolvedEntry, ungatedInsightParameterValues, } from "./parametersHelpers.js";
|
|
14
14
|
import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
|
|
15
15
|
const EMPTY_PARAMETERS = [];
|
|
16
16
|
const EMPTY_EXPORT_PARAMETERS = [];
|
|
@@ -43,19 +43,24 @@ export const selectActiveParameterRefKeys = createSelector(selectDashboardParame
|
|
|
43
43
|
* @internal
|
|
44
44
|
*/
|
|
45
45
|
export const selectDashboardParameterEntries = createSelector(selectParametersState, (state) => state.parameters);
|
|
46
|
+
const selectPersistableParameterEntries = createSelector(selectDashboardParameterEntries, selectEnableStringParameters, (entries, isStringEnabled) => {
|
|
47
|
+
const persistable = entries.filter((item) => !isGatedStringEntry(item, isStringEnabled));
|
|
48
|
+
return persistable.length === 0 ? undefined : persistable;
|
|
49
|
+
});
|
|
46
50
|
/**
|
|
47
|
-
* Returns the active tab's parameters in the shape persisted by a filter view.
|
|
51
|
+
* Returns the active tab's applied parameters in the shape persisted by a filter view.
|
|
48
52
|
* Runtime overrides become persisted `value`; existing parameter values are kept when no runtime value exists.
|
|
49
53
|
*
|
|
50
54
|
* @internal
|
|
51
55
|
*/
|
|
52
|
-
export const selectFilterViewParameters = createSelector(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
export const selectFilterViewParameters = createSelector(selectPersistableParameterEntries, (entries) => entries?.map((entry) => applyRuntimeOverride(entry)));
|
|
57
|
+
/**
|
|
58
|
+
* Returns the active tab's parameters with their display values, in the shape persisted by a filter
|
|
59
|
+
* view, so a view saved before "Apply All" captures what the user sees.
|
|
60
|
+
*
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
export const selectFilterViewDisplayParameters = createSelector(selectPersistableParameterEntries, (entries) => entries?.map((entry) => applyDisplayOverride(entry)));
|
|
59
64
|
/**
|
|
60
65
|
* Runtime parameter values from the active tab, to hand off on a drill. Values equal to the source's
|
|
61
66
|
* own default are kept (a drill target's default may differ), so the current value always propagates.
|
|
@@ -86,6 +91,19 @@ export const selectDashboardParameterEntryByRef = createMemoizedSelector((ref) =
|
|
|
86
91
|
* @alpha
|
|
87
92
|
*/
|
|
88
93
|
export const selectParameterRuntimeOverrideByRef = createMemoizedSelector((ref) => createSelector(selectDashboardParameterEntryByRef(ref), (entry) => entry?.runtimeOverride));
|
|
94
|
+
/**
|
|
95
|
+
* Returns a selector that yields the value shown for a given parameter ref on the active tab: the
|
|
96
|
+
* staged one when the entry has it, otherwise the applied `runtimeOverride`.
|
|
97
|
+
*
|
|
98
|
+
* @alpha
|
|
99
|
+
*/
|
|
100
|
+
export const selectParameterDisplayValueByRef = createMemoizedSelector((ref) => createSelector(selectDashboardParameterEntryByRef(ref), (entry) => entry ? displayOverride(entry) : undefined));
|
|
101
|
+
/**
|
|
102
|
+
* True when the active tab has at least one staged parameter value.
|
|
103
|
+
*
|
|
104
|
+
* @alpha
|
|
105
|
+
*/
|
|
106
|
+
export const selectIsWorkingParametersChanged = createSelector(selectDashboardParameterEntries, (entries) => entries.some((entry) => entry.workingOverride !== undefined));
|
|
89
107
|
/**
|
|
90
108
|
* Reset value for a parameter chip's dropdown, bound to the kit dropdown's `resetValue` prop.
|
|
91
109
|
*
|
|
@@ -188,8 +206,8 @@ export const selectActiveTabParameterResetTargets = createSelector(selectDashboa
|
|
|
188
206
|
return targets.length === 0 ? EMPTY_RESET_TARGETS : targets;
|
|
189
207
|
});
|
|
190
208
|
/**
|
|
191
|
-
* True when the active tab has at least one parameter whose
|
|
192
|
-
* the value it would be reset to (per `computeParameterResetValue`).
|
|
209
|
+
* True when the active tab has at least one parameter whose display value (staged, else applied)
|
|
210
|
+
* or applied value differs from the value it would be reset to (per `computeParameterResetValue`).
|
|
193
211
|
*
|
|
194
212
|
* @alpha
|
|
195
213
|
*/
|
|
@@ -211,8 +229,9 @@ export const selectParameterReconciliations = createSelector(selectTabs, selectC
|
|
|
211
229
|
return result.length === 0 ? EMPTY_RECONCILIATIONS : result;
|
|
212
230
|
});
|
|
213
231
|
/**
|
|
214
|
-
* Reconciliation status of a parameter's
|
|
215
|
-
* {@link selectParameterReconciliations} uses)
|
|
232
|
+
* Reconciliation status of a parameter's display value (staged, else applied), not its persisted
|
|
233
|
+
* value (which {@link selectParameterReconciliations} uses), so the control's warning matches the
|
|
234
|
+
* value it shows.
|
|
216
235
|
*
|
|
217
236
|
* @internal
|
|
218
237
|
*/
|
|
@@ -220,7 +239,7 @@ export const selectParameterReconciliationByRef = createMemoizedSelector((ref) =
|
|
|
220
239
|
if (!isEnabled || !isCatalogLoaded || !entry || isGatedStringEntry(entry, isStringEnabled)) {
|
|
221
240
|
return undefined;
|
|
222
241
|
}
|
|
223
|
-
return classifyParameterReconciliation(
|
|
242
|
+
return classifyParameterReconciliation(applyDisplayOverride(entry), workspaceParameter);
|
|
224
243
|
}));
|
|
225
244
|
/**
|
|
226
245
|
* Owning-tab parameter entries and the metric → parameter map for a widget, keyed by ref.
|
|
@@ -18,6 +18,13 @@ export interface IDashboardParameterEntry {
|
|
|
18
18
|
* execution overrides so the backend keeps using the parameter's own default.
|
|
19
19
|
*/
|
|
20
20
|
runtimeOverride: ParameterValue | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Staged (not yet applied) value under the apply-all-at-once mode. Presence means the entry
|
|
23
|
+
* is dirty: staging a value equal to `runtimeOverride` deletes the field instead of storing
|
|
24
|
+
* it, and every direct runtime write deletes it too. Executions read `runtimeOverride` only;
|
|
25
|
+
* "Apply All" folds this into `runtimeOverride`.
|
|
26
|
+
*/
|
|
27
|
+
workingOverride?: ParameterValue;
|
|
21
28
|
}
|
|
22
29
|
/**
|
|
23
30
|
* @alpha
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parametersState.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAExG;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,mBAAmB,CAAC;IAC/B;;;;;OAKG;IACH,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"parametersState.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAExG;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,mBAAmB,CAAC;IAC/B;;;;;OAKG;IACH,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,sBAAsB,EAAE,gBAEpC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,cAAc,EAAE,mBAAmB,EAAE,GAAG,SAAS,GAClD,mBAAmB,EAAE,GAAG,SAAS,CAMnC"}
|
|
@@ -29,6 +29,12 @@ export interface ISetDashboardAttributeFilterConfigDisplayAsLabelPayload {
|
|
|
29
29
|
*/
|
|
30
30
|
displayAsLabel: ObjRef | undefined;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export interface IApplyWorkingSelectionPayload {
|
|
36
|
+
readonly enableImmediateAttributeFilterDisplayAsLabelMigration?: boolean;
|
|
37
|
+
}
|
|
32
38
|
export declare const tabsReducers: {
|
|
33
39
|
setTabs: TabsReducer<{
|
|
34
40
|
payload: SetTabsPayload;
|
|
@@ -70,6 +76,14 @@ export declare const tabsReducers: {
|
|
|
70
76
|
};
|
|
71
77
|
type: string;
|
|
72
78
|
}>;
|
|
79
|
+
applyWorkingSelection: TabsReducer<{
|
|
80
|
+
payload: IApplyWorkingSelectionPayload;
|
|
81
|
+
type: string;
|
|
82
|
+
}>;
|
|
83
|
+
resetWorkingSelection: TabsReducer<{
|
|
84
|
+
payload: void;
|
|
85
|
+
type: string;
|
|
86
|
+
}>;
|
|
73
87
|
};
|
|
74
88
|
export {};
|
|
75
89
|
//# sourceMappingURL=tabsReducers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabsReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/tabsReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"tabsReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/tabsReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAWlD,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AAE/F;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEvE,KAAK,cAAc,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAEnB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AA0FF;;;GAGG;AACH,MAAM,WAAW,uDAAuD;IACpE;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAkDD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,qDAAqD,CAAC,EAAE,OAAO,CAAC;CAC5E;AAyBD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWxB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// (C) 2021-2026 GoodData Corporation
|
|
2
|
+
import { clearFilterContextWorkingValues, commitFilterContextWorkingValues, } from "./filterContext/filterContextReducers.js";
|
|
2
3
|
import { initializeFilterContext } from "./filterContext/filterContextUtils.js";
|
|
3
|
-
import {
|
|
4
|
+
import { clearParameterWorkingValues, commitParameterWorkingValues, } from "./parameters/parametersReducers.js";
|
|
5
|
+
import { DEFAULT_TAB_ID, getActiveTab } from "./tabsState.js";
|
|
4
6
|
/**
|
|
5
7
|
* Applies initialization logic to a tab's filterContext if present.
|
|
6
8
|
* Ensures filters have local identifiers and proper ordering.
|
|
@@ -112,6 +114,22 @@ const resolveDefaultTab = (state, action) => {
|
|
|
112
114
|
state.activeTabLocalIdentifier = newLocalIdentifier;
|
|
113
115
|
}
|
|
114
116
|
};
|
|
117
|
+
const applyWorkingSelection = (state, action) => {
|
|
118
|
+
const activeTab = getActiveTab(state);
|
|
119
|
+
if (!activeTab) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
commitFilterContextWorkingValues(activeTab, action.payload.enableImmediateAttributeFilterDisplayAsLabelMigration);
|
|
123
|
+
commitParameterWorkingValues(activeTab);
|
|
124
|
+
};
|
|
125
|
+
const resetWorkingSelection = (state) => {
|
|
126
|
+
const activeTab = getActiveTab(state);
|
|
127
|
+
if (!activeTab) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
clearFilterContextWorkingValues(activeTab);
|
|
131
|
+
clearParameterWorkingValues(activeTab);
|
|
132
|
+
};
|
|
115
133
|
export const tabsReducers = {
|
|
116
134
|
setTabs,
|
|
117
135
|
setActiveTabLocalIdentifier,
|
|
@@ -121,4 +139,6 @@ export const tabsReducers = {
|
|
|
121
139
|
setTabIsRenaming,
|
|
122
140
|
renameTab,
|
|
123
141
|
resolveDefaultTab,
|
|
142
|
+
applyWorkingSelection,
|
|
143
|
+
resetWorkingSelection,
|
|
124
144
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type DashboardSelector } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* True when the active tab has staged filters or staged parameter values that "Apply All" has not
|
|
4
|
+
* applied yet.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export declare const selectIsWorkingSelectionChanged: DashboardSelector<boolean>;
|
|
9
|
+
//# sourceMappingURL=workingSelectionSelectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workingSelectionSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/workingSelectionSelectors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,OAAO,CAItE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { createSelector } from "@reduxjs/toolkit";
|
|
3
|
+
import { selectIsWorkingFilterContextChanged } from "./filterContext/filterContextSelectors.js";
|
|
4
|
+
import { selectIsWorkingParametersChanged } from "./parameters/parametersSelectors.js";
|
|
5
|
+
/**
|
|
6
|
+
* True when the active tab has staged filters or staged parameter values that "Apply All" has not
|
|
7
|
+
* applied yet.
|
|
8
|
+
*
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
11
|
+
export const selectIsWorkingSelectionChanged = createSelector(selectIsWorkingFilterContextChanged, selectIsWorkingParametersChanged, (isFilterContextChanged, isParametersChanged) => Boolean(isFilterContextChanged) || isParametersChanged);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type AnyAction, type Dispatch, type EntityId, type EntityState } from "@reduxjs/toolkit";
|
|
2
|
+
import { type IUnavailableDashboardReference } from "@gooddata/sdk-backend-spi";
|
|
2
3
|
import { type IInsight, type IListedDashboard } from "@gooddata/sdk-model";
|
|
3
4
|
import { type IInaccessibleDashboard } from "../types/inaccessibleDashboardTypes.js";
|
|
4
5
|
import { type IAccessibleDashboardsState } from "./accessibleDashboards/index.js";
|
|
@@ -66,6 +67,8 @@ export type DashboardState = {
|
|
|
66
67
|
accessibleDashboards: IAccessibleDashboardsState;
|
|
67
68
|
/** @alpha */
|
|
68
69
|
inaccessibleDashboards: EntityState<IInaccessibleDashboard, EntityId>;
|
|
70
|
+
/** @alpha */
|
|
71
|
+
unavailableObjects: EntityState<IUnavailableDashboardReference, EntityId>;
|
|
69
72
|
dashboardPermissions: DashboardPermissionsState;
|
|
70
73
|
/** @alpha */
|
|
71
74
|
automations: IAutomationsState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/model/store/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/model/store/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Reducer } from "@reduxjs/toolkit";
|
|
2
|
+
import { unavailableObjectsEntityAdapter } from "./unavailableObjectsEntityAdapter.js";
|
|
3
|
+
export type UnavailableObjectsState = ReturnType<typeof unavailableObjectsEntityAdapter.getInitialState>;
|
|
4
|
+
export declare const unavailableObjectsSliceReducer: Reducer<UnavailableObjectsState>;
|
|
5
|
+
export declare const unavailableObjectsActions: {
|
|
6
|
+
setUnavailableObjects: import("@reduxjs/toolkit").ActionCreatorWithPayload<readonly import("@gooddata/sdk-backend-spi").IUnavailableDashboardReference[] | Record<import("@reduxjs/toolkit").EntityId, import("@gooddata/sdk-backend-spi").IUnavailableDashboardReference>, "unavailableObjects/setUnavailableObjects">;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/store/unavailableObjects/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,eAAe,CAAC,CAAC;AAUzG,eAAO,MAAM,8BAA8B,EAAE,OAAO,CAAC,uBAAuB,CACzC,CAAC;AAGpC,eAAO,MAAM,yBAAyB;;CAAyC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { createSlice } from "@reduxjs/toolkit";
|
|
3
|
+
import { unavailableObjectsEntityAdapter } from "./unavailableObjectsEntityAdapter.js";
|
|
4
|
+
const unavailableObjectsSlice = createSlice({
|
|
5
|
+
name: "unavailableObjects",
|
|
6
|
+
initialState: unavailableObjectsEntityAdapter.getInitialState(),
|
|
7
|
+
reducers: {
|
|
8
|
+
setUnavailableObjects: unavailableObjectsEntityAdapter.setAll,
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
export const unavailableObjectsSliceReducer = unavailableObjectsSlice.reducer;
|
|
12
|
+
// Spread "fixes" TS2742 error
|
|
13
|
+
export const unavailableObjectsActions = { ...unavailableObjectsSlice.actions };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type EntityId } from "@reduxjs/toolkit";
|
|
2
|
+
import type { IUnavailableDashboardReference } from "@gooddata/sdk-backend-spi";
|
|
3
|
+
import { type ObjRef, type ObjectType } from "@gooddata/sdk-model";
|
|
4
|
+
/**
|
|
5
|
+
* Objects of different types may share an identifier, so entries are keyed by type as well.
|
|
6
|
+
*/
|
|
7
|
+
export declare function unavailableObjectKey(type: ObjectType, ref: ObjRef): string;
|
|
8
|
+
export declare const unavailableObjectsEntityAdapter: import("@reduxjs/toolkit").EntityAdapter<IUnavailableDashboardReference, EntityId>;
|
|
9
|
+
//# sourceMappingURL=unavailableObjectsEntityAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unavailableObjectsEntityAdapter.d.ts","sourceRoot":"","sources":["../../../../src/model/store/unavailableObjects/unavailableObjectsEntityAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAuB,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAEnF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,eAAO,MAAM,+BAA+B,oFAE1C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { createEntityAdapter } from "@reduxjs/toolkit";
|
|
3
|
+
import { objRefToString } from "@gooddata/sdk-model";
|
|
4
|
+
/**
|
|
5
|
+
* Objects of different types may share an identifier, so entries are keyed by type as well.
|
|
6
|
+
*/
|
|
7
|
+
export function unavailableObjectKey(type, ref) {
|
|
8
|
+
return `${type}|${objRefToString(ref)}`;
|
|
9
|
+
}
|
|
10
|
+
export const unavailableObjectsEntityAdapter = createEntityAdapter({
|
|
11
|
+
selectId: (reference) => unavailableObjectKey(reference.type, reference.ref),
|
|
12
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IUnavailableDashboardReference } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import type { ObjectType } from "@gooddata/sdk-model";
|
|
3
|
+
import { type ObjRefMap } from "../../../_staging/metadata/objRefMap.js";
|
|
4
|
+
import { type DashboardSelector } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Selects all references of the current dashboard that are unavailable to the current user.
|
|
7
|
+
*
|
|
8
|
+
* @alpha
|
|
9
|
+
*/
|
|
10
|
+
export declare const selectUnavailableObjects: DashboardSelector<IUnavailableDashboardReference[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Selects the unavailable dashboard references of the given object type in a mapping of obj ref to the
|
|
13
|
+
* unavailability entry. Objects of different types may share an identifier, hence the per-type maps.
|
|
14
|
+
*
|
|
15
|
+
* @alpha
|
|
16
|
+
*/
|
|
17
|
+
export declare const selectUnavailableObjectsMapByType: (type: ObjectType) => DashboardSelector<ObjRefMap<IUnavailableDashboardReference>>;
|
|
18
|
+
//# sourceMappingURL=unavailableObjectsSelectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unavailableObjectsSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/unavailableObjects/unavailableObjectsSelectors.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,KAAK,SAAS,EAA0B,MAAM,yCAAyC,CAAC;AAEjG,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,aAAa,CAAC;AAW1E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,8BAA8B,EAAE,CAC3D,CAAC;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,EAAE,CAC5C,IAAI,EAAE,UAAU,KACf,iBAAiB,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAQ/D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { createSelector } from "@reduxjs/toolkit";
|
|
3
|
+
import { newMapForObjectWithRef } from "../../../_staging/metadata/objRefMap.js";
|
|
4
|
+
import { createMemoizedSelector } from "../_infra/selectors.js";
|
|
5
|
+
import { unavailableObjectsEntityAdapter } from "./unavailableObjectsEntityAdapter.js";
|
|
6
|
+
const selectSelf = createSelector((state) => state, (state) => state.unavailableObjects);
|
|
7
|
+
const adapterSelectors = unavailableObjectsEntityAdapter.getSelectors(selectSelf);
|
|
8
|
+
/**
|
|
9
|
+
* Selects all references of the current dashboard that are unavailable to the current user.
|
|
10
|
+
*
|
|
11
|
+
* @alpha
|
|
12
|
+
*/
|
|
13
|
+
export const selectUnavailableObjects = adapterSelectors.selectAll;
|
|
14
|
+
/**
|
|
15
|
+
* Selects the unavailable dashboard references of the given object type in a mapping of obj ref to the
|
|
16
|
+
* unavailability entry. Objects of different types may share an identifier, hence the per-type maps.
|
|
17
|
+
*
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
export const selectUnavailableObjectsMapByType = createMemoizedSelector((type) => createSelector(selectUnavailableObjects, (objects) => newMapForObjectWithRef(objects.filter((object) => object.type === type), type)));
|
package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts
CHANGED
|
@@ -17,6 +17,14 @@ export declare function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDe
|
|
|
17
17
|
* that is what lets a wholesale replacement receive the same contexts. Rendering this component
|
|
18
18
|
* outside those providers throws at runtime.
|
|
19
19
|
*
|
|
20
|
+
* The dialog is composed from the exported region renders — {@link DefaultAlertingDialogHeader},
|
|
21
|
+
* {@link DefaultAlertingDialogFilters}, {@link DefaultAlertingDialogDestination},
|
|
22
|
+
* {@link DefaultAlertingDialogRecipients}, {@link DefaultAutomationDialogActionBar} — fed by the
|
|
23
|
+
* matching `use*Props` hooks ({@link useAlertingDialogFiltersProps} and siblings). A custom
|
|
24
|
+
* `AlertingDialogComponent` that keeps our regions but owns the markup places the connected blocks
|
|
25
|
+
* ({@link AlertingDialogFilters} and siblings) instead of this component, and reads or writes the
|
|
26
|
+
* same draft through {@link useAlertDraft} and {@link useAlertActions}.
|
|
27
|
+
*
|
|
20
28
|
* Slots render only in the fully rendered dialog: not while the dialog context reports loading,
|
|
21
29
|
* and not while the stale-filters confirmation step is shown.
|
|
22
30
|
*
|
package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"AAkDA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,aAAa,CAAC;AA6B/D,wBAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACb,KAAK,EACL,UAAU,EACV,aAAa,EAChB,EAAE,2BAA2B,2CA6d7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAcvE"}
|
package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js
CHANGED
|
@@ -9,7 +9,7 @@ import { IntlWrapper } from "../../../localization/IntlWrapper.js";
|
|
|
9
9
|
import { useAlertingDialogContext } from "../../contexts/AlertingDialogContext.js";
|
|
10
10
|
import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
|
|
11
11
|
import { ApplyCurrentFiltersConfirmDialog } from "../../shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.js";
|
|
12
|
-
import {
|
|
12
|
+
import { AutomationDialogFooterLeft, DefaultAutomationDialogActionBar, } from "../../shared/slots/DefaultAutomationDialogActionBar.js";
|
|
13
13
|
import { DeleteAlertConfirmDialog } from "../DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js";
|
|
14
14
|
import { useAlertActions } from "../state/AlertActionsContext.js";
|
|
15
15
|
import { useAlertData } from "../state/AlertDataContext.js";
|
|
@@ -18,10 +18,9 @@ import { useAlertFilters } from "../state/AlertFiltersContext.js";
|
|
|
18
18
|
import { useAlertDialogValidity } from "../state/useAlertDialogValidity.js";
|
|
19
19
|
import { useAlertingDialogActionBarProps, useAlertingDialogDestinationProps, useAlertingDialogFiltersProps, useAlertingDialogHeaderProps, useAlertingDialogRecipientsProps, } from "../state/useAlertingDialogRegionProps.js";
|
|
20
20
|
import { useAlertSelectedValues } from "../state/useAlertSelectedValues.js";
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { AlertingDialogRecipients } from "./AlertingDialogRecipients.js";
|
|
21
|
+
import { useAlertSubmit } from "../state/useAlertSubmit.js";
|
|
22
|
+
import { getValueSuffix } from "../utils/getters.js";
|
|
23
|
+
import { isAnomalyDetection, isChangeOrDifferenceOperator } from "../utils/guards.js";
|
|
25
24
|
import { AlertAttributeSelect } from "./components/AlertAttributeSelect.js";
|
|
26
25
|
import { AlertComparisonOperatorSelect } from "./components/AlertComparisonOperatorSelect.js";
|
|
27
26
|
//
|
|
@@ -34,12 +33,13 @@ import { AlertThresholdInput } from "./components/AlertThresholdInput.js";
|
|
|
34
33
|
import { AlertTriggerIntervalSelect } from "./components/AlertTriggerIntervalSelect.js";
|
|
35
34
|
import { AlertTriggerModeSelect } from "./components/AlertTriggerModeSelect.js";
|
|
36
35
|
import { ALERTING_DIALOG_ID } from "./constants.js";
|
|
36
|
+
import { DefaultAlertingDialogDestination } from "./DefaultAlertingDialogDestination.js";
|
|
37
|
+
import { DefaultAlertingDialogFilters } from "./DefaultAlertingDialogFilters.js";
|
|
38
|
+
import { DefaultAlertingDialogHeader } from "./DefaultAlertingDialogHeader.js";
|
|
39
|
+
import { DefaultAlertingDialogRecipients } from "./DefaultAlertingDialogRecipients.js";
|
|
37
40
|
import { DefaultLoadingAlertingDialog } from "./DefaultLoadingAlertingDialog.js";
|
|
38
41
|
import { FormField } from "./FormField.js";
|
|
39
|
-
import { useAlertSubmit } from "./hooks/useAlertSubmit.js";
|
|
40
42
|
import { useAlertThreshold } from "./hooks/useAlertThreshold.js";
|
|
41
|
-
import { getValueSuffix } from "./utils/getters.js";
|
|
42
|
-
import { isAnomalyDetection, isChangeOrDifferenceOperator } from "./utils/guards.js";
|
|
43
43
|
const OVERLAY_POSITION_TYPE = "sameAsTarget";
|
|
44
44
|
const CLOSE_ON_PARENT_SCROLL = true;
|
|
45
45
|
const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
|
|
@@ -120,11 +120,11 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
|
|
|
120
120
|
}, showProgressIndicator: actionBarDefaultProps.isSaving, returnFocusAfterClose: false, footerLeftRenderer: ActionBarSlot
|
|
121
121
|
? undefined
|
|
122
122
|
: () => (_jsx(AutomationDialogFooterLeft, { helpLinkText: actionBarDefaultProps.helpLinkText, helpLinkHref: actionBarDefaultProps.helpLinkHref, deleteButtonText: actionBarDefaultProps.deleteButtonText, onDelete: actionBarDefaultProps.onDelete, isDeleteDisabled: actionBarDefaultProps.isSaving })), footerRenderer: ActionBarSlot
|
|
123
|
-
? () => (_jsx(ActionBarSlot, { Default:
|
|
123
|
+
? () => (_jsx(ActionBarSlot, { Default: DefaultAutomationDialogActionBar, defaultProps: actionBarDefaultProps }))
|
|
124
124
|
: undefined, isSubmitDisabled: actionBarDefaultProps.isSubmitDisabled, submitButtonTooltipText: actionBarDefaultProps.submitButtonTooltipText, initialFocus: dialogTitleRef, submitOnEnterKey: false, onCancel: onCancel, onSubmit: actionBarDefaultProps.onSubmit, headline: undefined, headerLeftButtonRenderer: () => {
|
|
125
|
-
return HeaderSlot ? (_jsx(HeaderSlot, { Default:
|
|
125
|
+
return HeaderSlot ? (_jsx(HeaderSlot, { Default: DefaultAlertingDialogHeader, defaultProps: headerDefaultProps })) : (_jsx(DefaultAlertingDialogHeader, { ...headerDefaultProps }));
|
|
126
126
|
}, children: [
|
|
127
|
-
_jsx("h2", { className: "sr-only", id: titleElementId, children: intl.formatMessage({ id: "dialogs.alert.accessibility.label.title" }) }), _jsxs(ScrollablePanel, { className: "gd-notifications-channel-dialog-content-wrapper gd-notification-channel-dialog-with-automation-filters", children: [topContent, _jsx("div", { className: "gd-divider-with-margin" }), _jsxs(_Fragment, { children: [FiltersSlot ? (_jsx(FiltersSlot, { Default:
|
|
127
|
+
_jsx("h2", { className: "sr-only", id: titleElementId, children: intl.formatMessage({ id: "dialogs.alert.accessibility.label.title" }) }), _jsxs(ScrollablePanel, { className: "gd-notifications-channel-dialog-content-wrapper gd-notification-channel-dialog-with-automation-filters", children: [topContent, _jsx("div", { className: "gd-divider-with-margin" }), _jsxs(_Fragment, { children: [FiltersSlot ? (_jsx(FiltersSlot, { Default: DefaultAlertingDialogFilters, defaultProps: filtersDefaultProps })) : (_jsx(DefaultAlertingDialogFilters, { ...filtersDefaultProps })), _jsx(ContentDivider, { className: "gd-divider-with-margin" })
|
|
128
128
|
] }), _jsxs(FormFieldGroup, { label: _jsx(FormattedMessage, { id: "insightAlert.config.when" }), children: [
|
|
129
129
|
_jsx(FormField, { label: intl.formatMessage({ id: "insightAlert.config.metric" }), htmlFor: "alert.measure", children: _jsx(AlertMeasureSelect, { selectedMeasure: selectedMeasure, onMeasureChange: onMeasureChange, measures: supportedMeasures, disabled: !canChangeMeasure, overlayPositionType: OVERLAY_POSITION_TYPE, id: "alert.measure", closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) }), supportedAttributes.filter((a) => a.type === "attribute").length > 0 && (_jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.for" }), htmlFor: "alert.attribute", children: _jsx(AlertAttributeSelect, { id: "alert.attribute", disabled: !canChangeMeasure, selectedAttribute: selectedAttribute, selectedValue: selectedValue, onAttributeChange: onAttributeChange, attributes: supportedAttributes, catalogAttributes: catalogAttributes, catalogDateDatasets: catalogDateDatasets, getAttributeValues: getAttributeValues, isResultLoading: isResultLoading, showLabel: false, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })), _jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.condition" }), htmlFor: "alert.condition", children: _jsx(AlertComparisonOperatorSelect, { id: "alert.condition", measure: selectedMeasure, enableAnomalyDetectionAlert: enableAnomalyDetectionAlert ? enableAiAssistant : false, selectedComparisonOperator: selectedComparisonOperator, selectedRelativeOperator: selectedRelativeOperator, selectedAiOperator: selectedAiOperator, onAnomalyDetectionChange: onAnomalyDetectionChange, onComparisonOperatorChange: onComparisonOperatorChange, onRelativeOperatorChange: onRelativeOperatorChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) }), !isAnomalyDetection(editedAutomation?.alert) && (_jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.threshold" }), htmlFor: "alert.value", children: _jsx(AlertThresholdInput, { id: "alert.value", value: value, onChange: onChange, onBlur: onBlur, suffix: getValueSuffix(editedAutomation?.alert), errorMessage: thresholdErrorMessage }) })), isChangeOrDifferenceOperator(editedAutomation?.alert) && (_jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.comparison" }), htmlFor: "alert.comparison", children: _jsx(AlertComparisonPeriodSelect, { id: "alert.comparison", measure: selectedMeasure, alert: editedAutomation, selectedComparison: selectedComparator?.comparator, selectedGranularity: selectedComparator?.granularity, onComparisonChange: (comparisonType, granularity) => {
|
|
130
130
|
onComparisonTypeChange(selectedMeasure, selectedRelativeOperator, comparisonType, granularity);
|
|
@@ -138,13 +138,13 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
|
|
|
138
138
|
] }), htmlFor: "alert.granularity", children: _jsx(AlertGranularitySelect, { id: "alert.granularity", allowHourlyRecurrence: allowHourlyRecurrence, selectedGranularity: selectedGranularity, onGranularityChange: (granularity) => {
|
|
139
139
|
onGranularityChange(selectedMeasure, granularity);
|
|
140
140
|
}, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })
|
|
141
|
-
] }))] }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), _jsxs(FormFieldGroup, { label: _jsx(FormattedMessage, { id: "insightAlert.config.do" }), children: [notificationChannels.length > 1 ? (DestinationSlot ? (_jsx(DestinationSlot, { Default:
|
|
141
|
+
] }))] }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), _jsxs(FormFieldGroup, { label: _jsx(FormattedMessage, { id: "insightAlert.config.do" }), children: [notificationChannels.length > 1 ? (DestinationSlot ? (_jsx(DestinationSlot, { Default: DefaultAlertingDialogDestination, defaultProps: destinationDefaultProps })) : (_jsx(DefaultAlertingDialogDestination, { ...destinationDefaultProps }))) : null, _jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.trigger" }), htmlFor: "alert.trigger", children: _jsx(AlertTriggerModeSelect, { id: "alert.trigger", selectedTriggerMode: editedAutomation?.alert?.trigger.mode ?? "ALWAYS", onTriggerModeChange: onTriggerModeChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL, enableAlertOncePerInterval: enableAlertOncePerInterval }) }), editedAutomation?.alert?.trigger.mode === "ONCE_PER_INTERVAL" ? (_jsx(FormField, { label: _jsxs("div", { className: "gd-dashboard-alerting-dialog-form-field__content-container-tooltip", children: [
|
|
142
142
|
_jsx(FormattedMessage, { id: "insightAlert.config.interval" }), _jsx(UiTooltip, { anchor: _jsx(UiIconButton, { icon: "question", variant: "tertiary", size: "xsmall", accessibilityConfig: {
|
|
143
143
|
ariaLabel: intl.formatMessage({
|
|
144
144
|
id: "insightAlert.config.interval",
|
|
145
145
|
}),
|
|
146
146
|
} }), content: _jsx(FormattedMessage, { id: "insightAlert.config.interval.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })
|
|
147
|
-
] }), htmlFor: "alert.interval", children: _jsx(AlertTriggerIntervalSelect, { id: "alert.interval", selectedTriggerInterval: editedAutomation?.alert?.trigger.interval ?? "DAY", onTriggerIntervalChange: onTriggerIntervalChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })) : null, RecipientsSlot ? (_jsx(RecipientsSlot, { Default:
|
|
147
|
+
] }), htmlFor: "alert.interval", children: _jsx(AlertTriggerIntervalSelect, { id: "alert.interval", selectedTriggerInterval: editedAutomation?.alert?.trigger.interval ?? "DAY", onTriggerIntervalChange: onTriggerIntervalChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })) : null, RecipientsSlot ? (_jsx(RecipientsSlot, { Default: DefaultAlertingDialogRecipients, defaultProps: recipientsDefaultProps })) : (_jsx(DefaultAlertingDialogRecipients, { ...recipientsDefaultProps }))] }), warningMessage ? (_jsx(Message, { type: "warning", className: "gd-notifications-channels-dialog-error", children: warningMessage })) : null, invalidDatapoints.map((datapoint) => (_jsx(Message, { id: datapoint.id, type: datapoint.severity === "info" ? "progress" : datapoint.severity, className: "gd-notifications-channels-dialog-error gd-notifications-channels-dialog-error-scrollable", children: datapoint.message }, datapoint.id))), bottomContent] })
|
|
148
148
|
] }) }) }) }), alertToDelete ? (_jsx(DeleteAlertConfirmDialog, { alert: alertToDelete, onCancel: () => setAlertToDelete(null), onSuccess: handleAlertDeleteSuccess, onError: onDeleteError })) : null] }));
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
@@ -164,6 +164,14 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
|
|
|
164
164
|
* that is what lets a wholesale replacement receive the same contexts. Rendering this component
|
|
165
165
|
* outside those providers throws at runtime.
|
|
166
166
|
*
|
|
167
|
+
* The dialog is composed from the exported region renders — {@link DefaultAlertingDialogHeader},
|
|
168
|
+
* {@link DefaultAlertingDialogFilters}, {@link DefaultAlertingDialogDestination},
|
|
169
|
+
* {@link DefaultAlertingDialogRecipients}, {@link DefaultAutomationDialogActionBar} — fed by the
|
|
170
|
+
* matching `use*Props` hooks ({@link useAlertingDialogFiltersProps} and siblings). A custom
|
|
171
|
+
* `AlertingDialogComponent` that keeps our regions but owns the markup places the connected blocks
|
|
172
|
+
* ({@link AlertingDialogFilters} and siblings) instead of this component, and reads or writes the
|
|
173
|
+
* same draft through {@link useAlertDraft} and {@link useAlertActions}.
|
|
174
|
+
*
|
|
167
175
|
* Slots render only in the fully rendered dialog: not while the dialog context reports loading,
|
|
168
176
|
* and not while the stale-filters confirmation step is shown.
|
|
169
177
|
*
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type IAutomationDialogDestinationProps } from "../../shared/slots/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Default render of the alerting dialog's destination region: the "Action" row selecting the
|
|
4
|
+
* notification channel. Props-driven — reads no context. The default dialog and
|
|
5
|
+
* {@link AlertingDialogDestination} render it with {@link useAlertingDialogDestinationProps}; a
|
|
6
|
+
* `slots.Destination` slot receives it as `Default`.
|
|
7
|
+
*
|
|
8
|
+
* @alpha
|
|
9
|
+
*/
|
|
10
|
+
export declare function DefaultAlertingDialogDestination({ notificationChannels, selectedNotificationChannelId, onChange }: IAutomationDialogDestinationProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=DefaultAlertingDialogDestination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAlertingDialogDestination.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogDestination.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAQrF;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC7C,oBAAoB,EACpB,6BAA6B,EAC7B,QAAQ,EACX,EAAE,iCAAiC,2CAanC"}
|
|
@@ -6,8 +6,13 @@ import { FormField } from "./FormField.js";
|
|
|
6
6
|
const OVERLAY_POSITION_TYPE = "sameAsTarget";
|
|
7
7
|
const CLOSE_ON_PARENT_SCROLL = true;
|
|
8
8
|
/**
|
|
9
|
-
* Default
|
|
9
|
+
* Default render of the alerting dialog's destination region: the "Action" row selecting the
|
|
10
|
+
* notification channel. Props-driven — reads no context. The default dialog and
|
|
11
|
+
* {@link AlertingDialogDestination} render it with {@link useAlertingDialogDestinationProps}; a
|
|
12
|
+
* `slots.Destination` slot receives it as `Default`.
|
|
13
|
+
*
|
|
14
|
+
* @alpha
|
|
10
15
|
*/
|
|
11
|
-
export function
|
|
16
|
+
export function DefaultAlertingDialogDestination({ notificationChannels, selectedNotificationChannelId, onChange, }) {
|
|
12
17
|
return (_jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.action" }), htmlFor: "alert.destination", children: _jsx(AlertDestinationSelect, { id: "alert.destination", selectedDestination: selectedNotificationChannelId, onDestinationChange: onChange, destinations: notificationChannels, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) }));
|
|
13
18
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type IAlertingDialogFiltersProps } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Default render of the alerting dialog's filters region: the filter and parameter chips above the
|
|
4
|
+
* form. Props-driven — reads no context. The default dialog and {@link AlertingDialogFilters} render
|
|
5
|
+
* it with {@link useAlertingDialogFiltersProps}; a `slots.Filters` slot receives it as `Default`.
|
|
6
|
+
* Alert automations always store their filters and never target the whole dashboard, so the
|
|
7
|
+
* store-filters contract is fixed here instead of being carried on the region props.
|
|
8
|
+
*
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
11
|
+
export declare function DefaultAlertingDialogFilters(props: IAlertingDialogFiltersProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=DefaultAlertingDialogFilters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAlertingDialogFilters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogFilters.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAK/D;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,2CAU9E"}
|
package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogFilters.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { AutomationFiltersSelect } from "../../shared/automationFilters/components/AutomationFiltersSelect.js";
|
|
4
|
+
const OVERLAY_POSITION_TYPE = "sameAsTarget";
|
|
5
|
+
const noop = () => { };
|
|
6
|
+
/**
|
|
7
|
+
* Default render of the alerting dialog's filters region: the filter and parameter chips above the
|
|
8
|
+
* form. Props-driven — reads no context. The default dialog and {@link AlertingDialogFilters} render
|
|
9
|
+
* it with {@link useAlertingDialogFiltersProps}; a `slots.Filters` slot receives it as `Default`.
|
|
10
|
+
* Alert automations always store their filters and never target the whole dashboard, so the
|
|
11
|
+
* store-filters contract is fixed here instead of being carried on the region props.
|
|
12
|
+
*
|
|
13
|
+
* @alpha
|
|
14
|
+
*/
|
|
15
|
+
export function DefaultAlertingDialogFilters(props) {
|
|
16
|
+
return (_jsx(AutomationFiltersSelect, { ...props, storeFilters: true, onStoreFiltersChange: noop, isDashboardAutomation: false, overlayPositionType: OVERLAY_POSITION_TYPE }));
|
|
17
|
+
}
|
package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogHeader.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type IAlertingDialogHeaderProps } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Default render of the alerting dialog's header region: the back button and the title input with
|
|
4
|
+
* its length validation. Props-driven — reads no alerting dialog state. The default dialog and
|
|
5
|
+
* {@link AlertingDialogHeader} render it with {@link useAlertingDialogHeaderProps}; a `slots.Header`
|
|
6
|
+
* slot receives it as `Default`.
|
|
7
|
+
*
|
|
8
|
+
* @alpha
|
|
9
|
+
*/
|
|
10
|
+
export declare const DefaultAlertingDialogHeader: import("react").ForwardRefExoticComponent<IAlertingDialogHeaderProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
11
|
+
//# sourceMappingURL=DefaultAlertingDialogHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultAlertingDialogHeader.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogHeader.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,yHAyIvC,CAAC"}
|