@gooddata/sdk-ui-dashboard 11.62.0-alpha.2 → 11.62.0-alpha.3
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 +33 -610
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/dashboard/dashboardFilterContext.d.ts.map +1 -1
- package/esm/_staging/dashboard/dashboardFilterContext.js +4 -2
- package/esm/_staging/dashboard/dashboardFilterContextValidation.js +1 -1
- package/esm/index.d.ts +5 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts +3 -2
- package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/filterViews.js +12 -6
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +5 -6
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.js +2 -0
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +3 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +6 -5
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +4 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +5 -3
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts +21 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +56 -54
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js +17 -4
- package/esm/model/commandHandlers/filterContext/attributeFilter/replaceAttributeFilterItemSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/replaceAttributeFilterItemSelectionHandler.js +6 -1
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +188 -70
- package/esm/model/commandHandlers/filterContext/common.d.ts +14 -2
- package/esm/model/commandHandlers/filterContext/common.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/common.js +43 -6
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js +13 -3
- package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.js +11 -2
- package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.js +3 -0
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts +10 -2
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.js +20 -3
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +21 -4
- package/esm/model/commandHandlers/tabs/createDashboardTabHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js +27 -3
- package/esm/model/commands/filters.d.ts +16 -1
- package/esm/model/commands/filters.d.ts.map +1 -1
- package/esm/model/commands/filters.js +4 -3
- package/esm/model/commands/parameters.d.ts +4 -3
- package/esm/model/commands/parameters.d.ts.map +1 -1
- package/esm/model/commands/parameters.js +3 -2
- package/esm/model/store/drill/drillSelectors.d.ts +6 -0
- package/esm/model/store/drill/drillSelectors.d.ts.map +1 -1
- package/esm/model/store/drill/drillSelectors.js +9 -0
- package/esm/model/store/filtering/dashboardFilterSelectors.d.ts +6 -1
- package/esm/model/store/filtering/dashboardFilterSelectors.d.ts.map +1 -1
- package/esm/model/store/filtering/dashboardFilterSelectors.js +21 -19
- package/esm/model/store/filtering/restrictedFilterUtils.d.ts +26 -1
- package/esm/model/store/filtering/restrictedFilterUtils.d.ts.map +1 -1
- package/esm/model/store/filtering/restrictedFilterUtils.js +74 -6
- package/esm/model/store/meta/metaSelectors.d.ts +6 -0
- package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
- package/esm/model/store/meta/metaSelectors.js +13 -3
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts +48 -0
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/filterContext/filterContextReducers.js +362 -102
- package/esm/model/store/tabs/filterContext/filterContextSelectors.d.ts +74 -1
- package/esm/model/store/tabs/filterContext/filterContextSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/filterContext/filterContextSelectors.js +27 -21
- package/esm/model/store/tabs/filterContext/filterSync.d.ts +101 -0
- package/esm/model/store/tabs/filterContext/filterSync.d.ts.map +1 -0
- package/esm/model/store/tabs/filterContext/filterSync.js +361 -0
- package/esm/model/store/tabs/index.d.ts +2 -0
- package/esm/model/store/tabs/index.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersReducers.d.ts +5 -0
- package/esm/model/store/tabs/parameters/parametersReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersReducers.js +9 -5
- package/esm/model/store/tabs/tabsReducers.d.ts +6 -0
- package/esm/model/store/tabs/tabsReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsReducers.js +14 -6
- package/esm/model/store/tabs/tabsState.d.ts +10 -0
- package/esm/model/store/tabs/tabsState.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsState.js +20 -0
- package/esm/model/store/unavailableObjects/copyBlockingReferences.d.ts +5 -3
- package/esm/model/store/unavailableObjects/copyBlockingReferences.d.ts.map +1 -1
- package/esm/model/store/unavailableObjects/copyBlockingReferences.js +9 -16
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts +0 -16
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts.map +1 -1
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.js +0 -18
- package/esm/model/utils/attributeFilterMatching.d.ts +38 -0
- package/esm/model/utils/attributeFilterMatching.d.ts.map +1 -0
- package/esm/model/utils/attributeFilterMatching.js +110 -0
- package/esm/model/utils/attributeFilterSelectionTypeCompatibility.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/state/types.d.ts +2 -2
- package/esm/presentation/automations/alerting/state/types.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +7 -3
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts +6 -2
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/types.d.ts +2 -2
- package/esm/presentation/automations/scheduledEmail/state/types.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/types.d.ts +2 -2
- package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +11 -1
- package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/automationParameters.js +2 -0
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts +3 -3
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +3 -13
- package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +1 -1
- package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts +2 -2
- package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts +6 -2
- package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +2 -2
- package/esm/presentation/automations/shared/automationFilters/utils.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/utils.js +8 -0
- package/esm/presentation/automations/shared/filters/conversions.d.ts +1 -1
- package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
- package/esm/presentation/automations/shared/filters/conversions.js +5 -3
- package/esm/presentation/automations/shared/slots/types.d.ts +2 -2
- package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/useDialogData.js +1 -1
- package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js +1 -4
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts +2 -11
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js +17 -16
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.d.ts +11 -0
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.js +7 -0
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.d.ts +2 -11
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.js +0 -6
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.d.ts +34 -0
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.js +41 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.js +4 -17
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.js +4 -13
- package/esm/presentation/filterBar/attributeFilter/useParentFilters.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/useParentFilters.js +3 -10
- package/esm/presentation/filterBar/filterBar/DefaultDashboardFilterGroup.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultDashboardFilterGroup.js +0 -9
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.js +15 -3
- package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +4 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +8 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +8 -0
- package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.d.ts +2 -3
- package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.js +29 -133
- package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.js +1 -1
- package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.js +1 -1
- package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.js +1 -1
- package/esm/sdk-ui-dashboard.d.ts +135 -13
- package/package.json +23 -23
- package/styles/css/main.css +4 -0
- package/styles/css/main.css.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.d.ts.map +0 -1
- /package/esm/model/{commandHandlers/dashboard/common → utils}/attributeFilterSelectionTypeCompatibility.d.ts +0 -0
- /package/esm/model/{commandHandlers/dashboard/common → utils}/attributeFilterSelectionTypeCompatibility.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultSelectedFiltersForExistingAutomation.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAShC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AA6BzF,wBAAgB,8CAA8C,CAC1D,gBAAgB,CAAC,EAAE,yBAAyB,EAC5C,uBAAuB,CAAC,EAAE,wBAAwB,EAAE,EACpD,MAAM,CAAC,EAAE,uBAAuB,uBAkDnC;AAwED;;;;;GAKG;AACH,wBAAgB,mDAAmD,CAC/D,gBAAgB,EAAE,yBAAyB,GAAG,SAAS,EACvD,8BAA8B,GAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAM,EACxE,kBAAkB,CAAC,EAAE,MAAM,EAC3B,kBAAkB,GAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAqB,
|
|
1
|
+
{"version":3,"file":"useDefaultSelectedFiltersForExistingAutomation.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAShC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AA6BzF,wBAAgB,8CAA8C,CAC1D,gBAAgB,CAAC,EAAE,yBAAyB,EAC5C,uBAAuB,CAAC,EAAE,wBAAwB,EAAE,EACpD,MAAM,CAAC,EAAE,uBAAuB,uBAkDnC;AAwED;;;;;GAKG;AACH,wBAAgB,mDAAmD,CAC/D,gBAAgB,EAAE,yBAAyB,GAAG,SAAS,EACvD,8BAA8B,GAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAM,EACxE,kBAAkB,CAAC,EAAE,MAAM,EAC3B,kBAAkB,GAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAqB,GACxF,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAAG,SAAS,CAyCjD"}
|
|
@@ -113,7 +113,7 @@ export function getDefaultSelectedFiltersByTabForExistingAutomation(automationTo
|
|
|
113
113
|
return [...tabIds].reduce((acc, tabId) => {
|
|
114
114
|
const availableFiltersForTab = availableDashboardFiltersByTab[tabId] ?? [];
|
|
115
115
|
const savedFiltersForTab = savedFiltersByTab[tabId] ?? [];
|
|
116
|
-
const reconstructedFilters = withStoredRestrictedFilters(getDefaultSelectedFiltersByVisibleFilters(savedVisibleFiltersByTab[tabId] ?? [], availableFiltersForTab, savedFiltersForTab, commonDateFilterId), savedFiltersForTab, isFilterRestricted);
|
|
116
|
+
const reconstructedFilters = withStoredRestrictedFilters(getDefaultSelectedFiltersByVisibleFilters(savedVisibleFiltersByTab[tabId] ?? [], availableFiltersForTab, savedFiltersForTab, commonDateFilterId), savedFiltersForTab, (filter) => isFilterRestricted(filter, tabId));
|
|
117
117
|
if (reconstructedFilters.length > 0) {
|
|
118
118
|
acc[tabId] = reconstructedFilters;
|
|
119
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useValidateExistingAutomationFilters.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,qCAAqC,EAE1C,KAAK,iBAAiB,EAEtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,OAAO,EAEZ,KAAK,QAAQ,EACb,KAAK,wBAAwB,EAmBhC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useValidateExistingAutomationFilters.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { differenceBy, omit } from "lodash-es";
|
|
3
3
|
import { DashboardParameterModeValues, dashboardFilterLocalIdentifier, filterContextItemsToDashboardFiltersByWidget, filterLocalIdentifier, isAllDashboardMeasureValueFilter, isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isAttributeFilter, isAttributeFilterWithSelection, isDashboardAttributeFilter, isDashboardCommonDateFilter, isDateFilter, isInsightWidget, isLocalIdRef, isNegativeAttributeFilter, isPositiveAttributeFilter, isRelativeDateFilter, isSingleSelectionFilter, } from "@gooddata/sdk-model";
|
|
4
4
|
import { decodeParameterWireValue, getAutomationAlertParameters, getAutomationExportParametersByTab, } from "../../../../../_staging/automation/index.js";
|
|
5
|
-
import { isFilterTypeCompatibleWithSelectionType } from "../../../../../model/
|
|
5
|
+
import { isFilterTypeCompatibleWithSelectionType } from "../../../../../model/utils/attributeFilterSelectionTypeCompatibility.js";
|
|
6
6
|
import { useAutomationsContext } from "../../../contexts/AutomationsContext.js";
|
|
7
7
|
import { isNoopAllTimeDateFilterFixed } from "../../filters/index.js";
|
|
8
8
|
import { getAutomationAlertFilters, getAutomationDashboardFilters, getAutomationDashboardFiltersByTab, getAutomationVisualizationFilters, } from "../../utils/automationUtils.js";
|
package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from "react";
|
|
2
2
|
import { type IAutomationMetadataObjectDefinition, type IDashboardParameter, type IInsightParameterValue, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
|
|
3
|
-
import { type IAutomationParameter } from "./automationParameters.js";
|
|
3
|
+
import { type IAutomationParameter, type IAvailableAutomationParameter } from "./automationParameters.js";
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
@@ -13,7 +13,7 @@ export interface IUseAutomationAlertParameters {
|
|
|
13
13
|
* Workspace parameters addable via the "+" menu (catalog minus the selected set and minus
|
|
14
14
|
* dashboard-`hidden`/`readonly` parameters). Empty when the feature is off.
|
|
15
15
|
*/
|
|
16
|
-
availableParameters:
|
|
16
|
+
availableParameters: IAvailableAutomationParameter[];
|
|
17
17
|
onParameterAdd: (ref: IdentifierRef) => void;
|
|
18
18
|
onParameterChange: (ref: IdentifierRef, value: ParameterValue) => void;
|
|
19
19
|
onParameterDelete: (ref: IdentifierRef) => void;
|
package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAutomationAlertParameters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationAlertParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAwB,MAAM,OAAO,CAAC;AAEjF,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACH,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useAutomationAlertParameters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationAlertParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAwB,MAAM,OAAO,CAAC;AAEjF,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAMrC,MAAM,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C;;;OAGG;IACH,mBAAmB,EAAE,6BAA6B,EAAE,CAAC;IACrD,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACvE,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EACzC,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACxB,EAAE;IACC,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAClE,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/F;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C;;;OAGG;IACH,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;CACnD,GAAG,6BAA6B,CAgHhC"}
|
package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { type IAutomationMetadataObject, type IDashboardExportParameter, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
|
|
2
2
|
import type { ExtendedDashboardWidget } from "../../../../model/types/layoutTypes.js";
|
|
3
|
-
import { type IAutomationParameter } from "./automationParameters.js";
|
|
3
|
+
import { type IAutomationParameter, type IAvailableAutomationParameter } from "./automationParameters.js";
|
|
4
4
|
/**
|
|
5
5
|
* Per-tab parameter working set, keyed by tab `localIdentifier`.
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export type EditedParametersByTab = Record<string, IAutomationParameter[]>;
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type AvailableParametersByTab = Record<string, IAvailableAutomationParameter[]>;
|
|
9
13
|
/**
|
|
10
14
|
* @internal
|
|
11
15
|
*/
|
|
@@ -51,7 +55,7 @@ export interface IUseAutomationExportParameters {
|
|
|
51
55
|
/**
|
|
52
56
|
* Per-tab workspace parameters addable via the "+" menu (catalog minus selected/hidden/readonly).
|
|
53
57
|
*/
|
|
54
|
-
availableParametersByTab:
|
|
58
|
+
availableParametersByTab: AvailableParametersByTab;
|
|
55
59
|
/**
|
|
56
60
|
* The tab the flat (non-tabbed) UI edits — the widget's owning tab or the single dashboard tab.
|
|
57
61
|
* Undefined for multi-tab dashboards (per-tab rendering) or when no parameter context applies.
|
package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAutomationExportParameters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationExportParameters.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAG9B,KAAK,aAAa,EAClB,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGtF,OAAO,EACH,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useAutomationExportParameters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationExportParameters.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAG9B,KAAK,aAAa,EAClB,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGtF,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAKrC,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAChD,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;;;OAIG;IACH,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACtE;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CAC9F;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,8BAA8B;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,sBAAsB,EAAE,qBAAqB,CAAC;IAC9C;;OAEG;IACH,wBAAwB,EAAE,wBAAwB,CAAC;IACnD;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACvE,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACjE,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3F,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,uBAAuB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC1C,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,wBAAwB,GAC3B,EAAE,mCAAmC,GAAG,8BAA8B,CAoMtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAutomationFilters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,OAAO,CAAC;AAKtF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EAEnC,KAAK,MAAM,EACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAuFxF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,6EAA6E;IAC7E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,eAAe,EAAE,OAAO,CAAC;IACzB,kCAAkC;IAClC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,2DAA2D;IAC3D,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,8DAA8D;IAC9D,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,sFAAsF;IACtF,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,4DAA4D;IAC5D,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,4CAA4C;IAC5C,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,uCAAuC;IACvC,WAAW,EAAE,8BAA8B,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,sGAM9B;IACC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACxD,oBAAoB,EAAE,CAClB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KACjD,IAAI,CAAC;CACb;;;;;;;;;;;;;;;;iCAgHgB,iBAAiB,GAAG,SAAS;iCAoB7B,iBAAiB;sCAkBT,MAAM,cAAc,iBAAiB,EAAE,gBAAgB,mBAAmB,EAAE;sCAkDrF,OAAO;sCASF,iBAAiB,GAAG,cAAc,GAAG,IAAI,sBAC9B,gBAAgB,CAAC,WAAW,CAAC;CAgC5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,0GAMnC;IACC,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KAAK,IAAI,CAAC;IACnF,oBAAoB,EAAE,CAClB,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KACjD,IAAI,CAAC;IACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;;;;;;;;mCA6Fe,MAAM,iBAAiB,iBAAiB,GAAG,SAAS;mCAsBpD,MAAM,kBAAkB,iBAAiB;gCAkBtC,MAAM,eACA,MAAM,cACP,iBAAiB,EAAE,gBACjB,mBAAmB,EAAE;8CAgC/B,MAAM;
|
|
1
|
+
{"version":3,"file":"useAutomationFilters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationFilters.ts"],"names":[],"mappings":"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"}
|
|
@@ -220,7 +220,7 @@ export const useAutomationFiltersByTab = ({ filtersByTab, editedFiltersByTab, on
|
|
|
220
220
|
mvfConfigs,
|
|
221
221
|
isCommonDateFilterHidden,
|
|
222
222
|
disableDateFilters,
|
|
223
|
-
isFilterRestricted,
|
|
223
|
+
isFilterRestricted: (filter) => isFilterRestricted(filter, tabId),
|
|
224
224
|
};
|
|
225
225
|
// Use edited filters if available, otherwise default selected filters
|
|
226
226
|
const selectedFilters = editedFiltersByTab?.[tabId] ?? tab.defaultSelectedFilters;
|
|
@@ -311,7 +311,7 @@ export const useAutomationFiltersByTab = ({ filtersByTab, editedFiltersByTab, on
|
|
|
311
311
|
}
|
|
312
312
|
onFiltersByTabChange({
|
|
313
313
|
...editedFiltersByTab,
|
|
314
|
-
[tabId]: (editedFiltersByTab[tabId] ?? []).filter((filter) => !isFilterRestricted(filter)),
|
|
314
|
+
[tabId]: (editedFiltersByTab[tabId] ?? []).filter((filter) => !isFilterRestricted(filter, tabId)),
|
|
315
315
|
});
|
|
316
316
|
}, [editedFiltersByTab, onFiltersByTabChange, isFilterRestricted]);
|
|
317
317
|
const handleStoreFiltersChange = useCallback((value) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,MAAM,EA6Bd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEtF,eAAO,MAAM,wBAAwB,WAAY,iBAAiB,KAAG,MAAM,GAAG,SAE7E,CAAC;AAEF,eAAO,MAAM,iCAAiC,YAAa,iBAAiB,EAAE,KAAG,OAEhF,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC7B,iBAAiB,WACjB,iBAAiB,KAC3B,OAEF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,EAAE,iBAAiB,GAC3B,iBAAiB,EAAE,CAErB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,iBAAiB,GAC5B,iBAAiB,EAAE,CAErB;AAiBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,GACpC,iBAAiB,GAAG,SAAS,CAuB/B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,iBAAiB,EAAE,EACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,GACpC,iBAAiB,GAAG,SAAS,CAmB/B;AAED,eAAO,MAAM,qBAAqB,eAClB,iBAAiB,EAAE,mBACd,iBAAiB,EAAE,wBAOvC,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAC7B,iBAAiB,EAAE,cAChB,iBAAiB,EAAE,oBACb,+BAA+B,EAAE,KACpD,iBAAiB,EAsBnB,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAC3B,iBAAiB,EAAE,YAClB,eAAe,EAAE,cACf,kCAAkC,EAAE,KACjD,eAAe,EAiBjB,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAC/B,iBAAiB,EAAE,eACf,mBAAmB,EAAE,eACrB,8BAA8B,EAAE,KAC9C,mBAAmB,EAoBrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAC7B,MAAM,WACF,iBAAiB,EAAE,KAC7B,iBAAiB,GAAG,SAWtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,YACnB,iBAAiB,EAAE,GAAG,SAAS,oBACtB,+BAA+B,EAAE,eACtC,8BAA8B,EAAE,cACjC,kCAAkC,EAAE,4BACtB,OAAO,sBACb,OAAO,KAC5B,iBAAiB,EAwBnB,CAAC;AAEF,eAAO,MAAM,0BAA0B,oBAClB,MAAM,GAAG,SAAS,WAC1B,iBAAiB,EAAE,KAC7B,iBAAiB,GAAG,SAStB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAuB5D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -223,6 +223,14 @@ export function areFiltersEqual(filter1, filter2) {
|
|
|
223
223
|
filter1Type === filter2Type);
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
|
+
else if (isAbsoluteDateFilter(filter1) && isAbsoluteDateFilter(filter2)) {
|
|
227
|
+
// An automation does not store a granularity that has no period literal, so the granularity counts
|
|
228
|
+
// only when both filters have one.
|
|
229
|
+
const { granularity: granularity1, ...values1 } = absoluteDateFilterValues(filter1);
|
|
230
|
+
const { granularity: granularity2, ...values2 } = absoluteDateFilterValues(filter2);
|
|
231
|
+
return (isEqual(values1, values2) &&
|
|
232
|
+
(granularity1 === undefined || granularity2 === undefined || granularity1 === granularity2));
|
|
233
|
+
}
|
|
226
234
|
else if (isDateFilter(filter1) && isDateFilter(filter2)) {
|
|
227
235
|
return isEqual(dateFilterValues(filter1), dateFilterValues(filter2));
|
|
228
236
|
}
|
|
@@ -7,7 +7,7 @@ import { type IDashboardFilter } from "../../../../types.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export interface IRestrictedVisibleFiltersFallback<TStored = IAutomationVisibleFilter[]> {
|
|
9
9
|
storedVisibleFilters: TStored | undefined;
|
|
10
|
-
isFilterRestricted: (filter: FilterContextItem) => boolean;
|
|
10
|
+
isFilterRestricted: (filter: FilterContextItem, tabId?: string) => boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare const getVisibleFiltersByFilters: (selectedFilters: FilterContextItem[] | undefined, visibleFiltersMetadata: IAutomationVisibleFilter[] | undefined, storeFilters?: boolean, restrictedFallback?: IRestrictedVisibleFiltersFallback) => IAutomationVisibleFilter[] | undefined;
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/filters/conversions.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,OAAO,EACZ,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/filters/conversions.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,OAAO,EACZ,KAAK,QAAQ,EAqChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,iCAAiC,CAAC,OAAO,GAAG,wBAAwB,EAAE;IACnF,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,kBAAkB,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9E;AASD,eAAO,MAAM,0BAA0B,oBAClB,iBAAiB,EAAE,GAAG,SAAS,0BACxB,wBAAwB,EAAE,GAAG,SAAS,iBAC/C,OAAO,uBACD,iCAAiC,KACvD,wBAAwB,EAAE,GAAG,SAmC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,iBAC1B,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAAG,SAAS,0BACrC,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,GAAG,SAAS,iBAC/D,OAAO,uBACD,iCAAiC,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC,KACnG,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,GAAG,SAuB/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,8BACL,iBAAiB,EAAE,0BACtB,iBAAiB,EAAE,UACnC,uBAAuB,GAAG,SAAS,WAClC,QAAQ,GAAG,SAAS,sBACT,MAAM,GAAG,SAAS,wBACjB,OAAO,kBACb,OAAO,cA6BzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,8BACR,iBAAiB,EAAE,0BACtB,iBAAiB,EAAE,iBAC5B,OAAO,oCAWzB,CAAC;AAEF,wBAAgB,kCAAkC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,OAAO,GACtB,iBAAiB,GAAG,SAAS,CAiF/B;AAED;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAChD,OAAO,EAAE,OAAO,EAAE,EAClB,OAAO,EAAE,QAAQ,GAAG,SAAS,GAC9B,OAAO,EAAE,CAiDX;AAyBD,8GAA8G;AAC9G,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAW9D;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAWxE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CA0BhE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
import { compact } from "lodash-es";
|
|
3
3
|
import { NotSupported } from "@gooddata/sdk-backend-spi";
|
|
4
|
-
import { attributeLocalId, dashboardFilterLocalIdentifier, filterAttributeElements, filterContextItemsToDashboardFiltersByWidget, filterLocalIdentifier, filterObjRef, hasMeasureValueFilterConditions, insightAttributes, isAbsoluteDateFilter, isAllDashboardMeasureValueFilter, isAllTimeDateFilter, isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isArbitraryAttributeFilter, isAttributeFilterWithSelection, isDashboardDateFilter, isDashboardMeasureValueFilter, isDateFilter, isInsightWidget, isLocalIdRef, isMatchAttributeFilter, isMeasureValueFilter, isNegativeAttributeFilter, isNoopAllTimeDashboardDateFilter, isObjRef, isRankingFilter, isRelativeBoundedDateFilter, isRelativeDateFilter, measureValueFilterConditions, measureValueFilterMeasure, mergeFilters, newAbsoluteDashboardDateFilter, newAllTimeDashboardDateFilter, newRelativeDashboardDateFilter, } from "@gooddata/sdk-model";
|
|
4
|
+
import { attributeLocalId, dashboardFilterLocalIdentifier, filterAttributeElements, filterContextItemsToDashboardFiltersByWidget, filterLocalIdentifier, filterObjRef, hasMeasureValueFilterConditions, insightAttributes, isAbsoluteDateFilter, isAllDashboardMeasureValueFilter, isAllTimeDateFilter, isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isArbitraryAttributeFilter, isAttributeFilterWithSelection, isDashboardDateFilter, isDashboardMeasureValueFilter, isDateFilter, isDateFilterGranularity, isInsightWidget, isLocalIdRef, isMatchAttributeFilter, isMeasureValueFilter, isNegativeAttributeFilter, isNoopAllTimeDashboardDateFilter, isObjRef, isRankingFilter, isRelativeBoundedDateFilter, isRelativeDateFilter, measureValueFilterConditions, measureValueFilterMeasure, mergeFilters, newAbsoluteDashboardDateFilter, newAllTimeDashboardDateFilter, newRelativeDashboardDateFilter, } from "@gooddata/sdk-model";
|
|
5
5
|
import { removeIgnoredWidgetFilters } from "../../../../model/utils/widgetFilters.js";
|
|
6
6
|
function findVisibleFilter(localIdentifier, visibleFilters) {
|
|
7
7
|
return (visibleFilters ?? []).find((visibleFilter) => visibleFilter.localIdentifier === localIdentifier);
|
|
@@ -45,7 +45,7 @@ export const getVisibleFiltersByFiltersByTab = (filtersByTab, visibleFiltersMeta
|
|
|
45
45
|
return Object.entries(filtersByTab).reduce((acc, [tabId, tabFilters]) => {
|
|
46
46
|
const visibleFilters = getVisibleFiltersByFilters(tabFilters, visibleFiltersMetadata?.[tabId], true, restrictedFallback && {
|
|
47
47
|
storedVisibleFilters: restrictedFallback.storedVisibleFilters?.[tabId],
|
|
48
|
-
isFilterRestricted: restrictedFallback.isFilterRestricted,
|
|
48
|
+
isFilterRestricted: (filter) => restrictedFallback.isFilterRestricted(filter, tabId),
|
|
49
49
|
});
|
|
50
50
|
if (visibleFilters && visibleFilters.length > 0) {
|
|
51
51
|
acc[tabId] = visibleFilters;
|
|
@@ -125,7 +125,9 @@ export function dashboardFilterToFilterContextItem(filter, keepDatasets) {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
else if (isAbsoluteDateFilter(filter)) {
|
|
128
|
-
return newAbsoluteDashboardDateFilter(filter.absoluteDateFilter.from, filter.absoluteDateFilter.to, keepDatasets ? filter.absoluteDateFilter.dataSet : undefined, filter.absoluteDateFilter.localIdentifier, filter.absoluteDateFilter.emptyValueHandling)
|
|
128
|
+
return newAbsoluteDashboardDateFilter(filter.absoluteDateFilter.from, filter.absoluteDateFilter.to, keepDatasets ? filter.absoluteDateFilter.dataSet : undefined, filter.absoluteDateFilter.localIdentifier, filter.absoluteDateFilter.emptyValueHandling, isDateFilterGranularity(filter.absoluteDateFilter.granularity)
|
|
129
|
+
? filter.absoluteDateFilter.granularity
|
|
130
|
+
: "GDC.time.date");
|
|
129
131
|
}
|
|
130
132
|
else if (isAllTimeDateFilter(filter)) {
|
|
131
133
|
return newAllTimeDashboardDateFilter(keepDatasets ? filter.relativeDateFilter.dataSet : undefined, filter.relativeDateFilter.localIdentifier, filter.relativeDateFilter.emptyValueHandling);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import { type FilterContextItem, type IAutomationRecipient, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
|
|
3
|
-
import { type IAutomationParameter } from "../automationFilters/automationParameters.js";
|
|
3
|
+
import { type IAutomationParameter, type IAvailableAutomationParameter } from "../automationFilters/automationParameters.js";
|
|
4
4
|
/**
|
|
5
5
|
* Members shared by both automation dialogs' header regions.
|
|
6
6
|
*
|
|
@@ -60,7 +60,7 @@ export interface IAutomationDialogFiltersProps {
|
|
|
60
60
|
/**
|
|
61
61
|
* Workspace parameters addable via the "+" menu.
|
|
62
62
|
*/
|
|
63
|
-
availableParameters?:
|
|
63
|
+
availableParameters?: IAvailableAutomationParameter[];
|
|
64
64
|
/**
|
|
65
65
|
* Called when a parameter is added from the "+" menu.
|
|
66
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/slots/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/slots/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export function useDialogData() {
|
|
|
9
9
|
const disableUserFilterReset = useDashboardSelector(selectDisableDashboardUserFilterReset) ?? false;
|
|
10
10
|
const disableFilterViews = useDashboardSelector(selectDisableFilterViews) ?? false;
|
|
11
11
|
const disableUserFilterSave = useDashboardSelector(selectDisableDashboardUserFilterSave) ?? false;
|
|
12
|
-
const disablePersistentFiltersAcrossTabs = useDashboardSelector(selectDisableDashboardPersistentFiltersAcrossTabs) ??
|
|
12
|
+
const disablePersistentFiltersAcrossTabs = useDashboardSelector(selectDisableDashboardPersistentFiltersAcrossTabs) ?? true;
|
|
13
13
|
const evaluationFrequency = useDashboardSelector(selectEvaluationFrequency) ?? undefined;
|
|
14
14
|
const sectionHeadersDateDataSet = useDashboardSelector(selectSectionHeadersDateDataSet) ?? undefined;
|
|
15
15
|
const timezoneConfig = normalizeDashboardTimezoneConfig(useDashboardSelector(selectDashboardTimezoneConfig));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultDashboardAttributeFilter.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAkD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultDashboardAttributeFilter.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAkD,MAAM,OAAO,CAAC;AAwE1F,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAKjE;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,8BAA8B,GAAG,YAAY,GAAG,IAAI,CAa1G;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAC9C,KAAK,EAAE,8BAA8B,GACtC,YAAY,GAAG,IAAI,CAErB"}
|
|
@@ -14,7 +14,6 @@ import { selectIsFilterFromCrossFilteringByLocalIdentifier } from "../../../mode
|
|
|
14
14
|
import { selectIsInEditMode } from "../../../model/store/renderMode/renderModeSelectors.js";
|
|
15
15
|
import { selectAttributeFilterConfigsModeMap, selectAttributeFilterConfigsModeMapByTab, selectAttributeFilterConfigsSelectionTypeMap, selectAttributeFilterConfigsSelectionTypeMapByTab, } from "../../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
|
|
16
16
|
import { selectIsAttributeFilterDependentByLocalIdentifier, selectIsAttributeFilterDependentByLocalIdentifierForTab, selectPreloadedAttributesWithReferences, } from "../../../model/store/tabs/filterContext/filterContextSelectors.js";
|
|
17
|
-
import { selectRestrictedLimitingItemsMap } from "../../../model/store/unavailableObjects/unavailableObjectsSelectors.js";
|
|
18
17
|
import { getVisibilityIcon } from "../utils.js";
|
|
19
18
|
import { AttributeFilterParentFilteringProvider, useAttributeFilterParentFiltering, } from "./AttributeFilterParentFilteringContext.js";
|
|
20
19
|
import { CustomAttributeFilterDropdownActions, CustomConfigureAttributeFilterDropdownActions, } from "./CustomDropdownActions.js";
|
|
@@ -59,9 +58,7 @@ function DefaultDashboardAttributeFilterInner(props) {
|
|
|
59
58
|
const filterLocalId = dashboardAttributeFilterItemLocalIdentifier(filter);
|
|
60
59
|
const filterTitle = dashboardAttributeFilterItemTitle(filter);
|
|
61
60
|
const filterDisplayFormRef = dashboardAttributeFilterItemDisplayForm(filter);
|
|
62
|
-
|
|
63
|
-
const restrictedLimitingItems = useDashboardSelector(selectRestrictedLimitingItemsMap);
|
|
64
|
-
const filterValidateElementsBy = useMemo(() => dashboardAttributeFilterItemValidateElementsBy(filter)?.filter((item) => !restrictedLimitingItems.has(item)), [filter, restrictedLimitingItems]);
|
|
61
|
+
const filterValidateElementsBy = dashboardAttributeFilterItemValidateElementsBy(filter);
|
|
65
62
|
const standardFilter = isDashboardAttributeFilter(filter) ? filter : undefined;
|
|
66
63
|
const filterSelectionMode = standardFilter?.attributeFilter.selectionMode;
|
|
67
64
|
// Use tab-specific selectors when tabId is provided
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import { type IdentifierRef } from "@gooddata/sdk-model";
|
|
2
2
|
import { type IDashboardAttributeFilterPlaceholderProps } from "../types.js";
|
|
3
|
-
|
|
4
|
-
* Addable workspace parameter offered in the dropdown's "parameters" tab (automation dialogs only).
|
|
5
|
-
*
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export interface IParameterDropdownListItem {
|
|
9
|
-
type: "parameter";
|
|
10
|
-
ref: IdentifierRef;
|
|
11
|
-
title: string;
|
|
12
|
-
}
|
|
3
|
+
import { type IAddableParameter } from "./useParameterDropdownItems.js";
|
|
13
4
|
/**
|
|
14
5
|
* @internal
|
|
15
6
|
*/
|
|
16
7
|
export interface IAttributesDropdownProps extends IDashboardAttributeFilterPlaceholderProps {
|
|
17
8
|
/** Addable workspace parameters (automation dialogs only). Renders a "parameters" tab. */
|
|
18
|
-
parameters?:
|
|
9
|
+
parameters?: IAddableParameter[];
|
|
19
10
|
onParameterSelect?: (ref: IdentifierRef) => void;
|
|
20
11
|
}
|
|
21
12
|
/**
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributesDropdown.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGH,KAAK,aAAa,EAGrB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,KAAK,yCAAyC,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributesDropdown.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGH,KAAK,aAAa,EAGrB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,KAAK,yCAAyC,EAAE,MAAM,aAAa,CAAC;AAS7E,OAAO,EACH,KAAK,iBAAiB,EAIzB,MAAM,gCAAgC,CAAC;AAwDxC;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,yCAAyC;IACvF,0FAA0F;IAC1F,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;CACpD;AA6BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAC/B,EAAE,EACF,SAAS,EACT,aAAa,EACb,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,QAAa,EACb,UAAiB,EACjB,uBAAkD,EAClD,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,UAAe,EACf,iBAAiB,GACpB,EAAE,wBAAwB,2CAyT1B"}
|
|
@@ -16,7 +16,9 @@ import { isLocationIconEnabled } from "./addAttributeFilterUtils.js";
|
|
|
16
16
|
import { AttributeListItem, getAttributeListItemTitle } from "./AttributeListItem.js";
|
|
17
17
|
import { DateAttributeListItem, getDateAttributeListItemTitle } from "./DateAttributeListItem.js";
|
|
18
18
|
import { MetricListItem, getMetricListItemTitle } from "./MetricListItem.js";
|
|
19
|
-
import {
|
|
19
|
+
import { isHeaderListItem, isSeparatorListItem } from "./staticListItems.js";
|
|
20
|
+
import { useMetricDropdownItems } from "./useMetricDropdownItems.js";
|
|
21
|
+
import { isParameterDropdownListItem, useParameterDropdownItems, } from "./useParameterDropdownItems.js";
|
|
20
22
|
const dropdownAlignPoints = [
|
|
21
23
|
{
|
|
22
24
|
align: "bl tl",
|
|
@@ -61,9 +63,6 @@ const dropdownAlignPoints = [
|
|
|
61
63
|
},
|
|
62
64
|
];
|
|
63
65
|
const WIDTH = 253;
|
|
64
|
-
function isParameterDropdownListItem(item) {
|
|
65
|
-
return typeof item === "object" && item !== null && "type" in item && item.type === "parameter";
|
|
66
|
-
}
|
|
67
66
|
function createDefaultSelectedTabId({ hasAttributes, hasDateFilters, hasMeasures, hasParameters, }) {
|
|
68
67
|
if (hasAttributes) {
|
|
69
68
|
return "attributes";
|
|
@@ -137,11 +136,7 @@ export function AttributesDropdown({ id, className, bodyClassName, onClose, onOp
|
|
|
137
136
|
insightWidgets,
|
|
138
137
|
insightsMap,
|
|
139
138
|
});
|
|
140
|
-
const
|
|
141
|
-
return searchQuery
|
|
142
|
-
? parameters.filter((parameter) => parameter.title.toLowerCase().includes(searchQuery.toLowerCase()))
|
|
143
|
-
: parameters;
|
|
144
|
-
}, [parameters, searchQuery]);
|
|
139
|
+
const parameterDropdownItems = useParameterDropdownItems({ parameters, searchQuery });
|
|
145
140
|
const hasAttributes = useMemo(() => attributes.length > 0, [attributes]);
|
|
146
141
|
const hasDateFilters = useMemo(() => supportsMultipleDateFilters && dateDatasets.length > 0, [dateDatasets, supportsMultipleDateFilters]);
|
|
147
142
|
const hasMeasures = useMemo(() => metricMeasures.length > 0, [metricMeasures]);
|
|
@@ -198,15 +193,21 @@ export function AttributesDropdown({ id, className, bodyClassName, onClose, onOp
|
|
|
198
193
|
return metricDropdownItems;
|
|
199
194
|
}
|
|
200
195
|
if (selectedTabId === "parameters") {
|
|
201
|
-
return
|
|
196
|
+
return parameterDropdownItems;
|
|
202
197
|
}
|
|
203
198
|
return [];
|
|
204
|
-
}, [
|
|
199
|
+
}, [
|
|
200
|
+
selectedTabId,
|
|
201
|
+
filteredAttributes,
|
|
202
|
+
filteredDateDatasets,
|
|
203
|
+
metricDropdownItems,
|
|
204
|
+
parameterDropdownItems,
|
|
205
|
+
]);
|
|
205
206
|
const showTabs = useMemo(() => {
|
|
206
207
|
return tabs.length > 1;
|
|
207
208
|
}, [tabs.length]);
|
|
208
209
|
function selectItem(item, closeDropdown) {
|
|
209
|
-
if (
|
|
210
|
+
if (isHeaderListItem(item) || isSeparatorListItem(item)) {
|
|
210
211
|
return;
|
|
211
212
|
}
|
|
212
213
|
if (isParameterDropdownListItem(item)) {
|
|
@@ -228,10 +229,10 @@ export function AttributesDropdown({ id, className, bodyClassName, onClose, onOp
|
|
|
228
229
|
}), style: enableMeasureValueFilterKD ? { width: WIDTH } : undefined, children: _jsx(DropdownList, { width: WIDTH, showTabs: showTabs, tabs: tabs, tabsClassName: "date-attribute-dropdown-tabs s-filter-attribute-dropdown-tabs", selectedTabId: selectedTabId, onTabSelect: onTabSelect, items: items, searchFieldSize: "small", showSearch: true, onSearch: onSearch, searchString: searchQuery, searchPlaceholder: intl.formatMessage({
|
|
229
230
|
id: "attributesDropdown.placeholder",
|
|
230
231
|
}), searchLabel: accessibilityConfig?.searchAriaLabel, onKeyDownSelect: (item) => selectItem(item, closeDropdown), closeDropdown: closeDropdown, itemTitleGetter: (item) => {
|
|
231
|
-
if (
|
|
232
|
+
if (isHeaderListItem(item)) {
|
|
232
233
|
return item.title;
|
|
233
234
|
}
|
|
234
|
-
if (
|
|
235
|
+
if (isSeparatorListItem(item)) {
|
|
235
236
|
return "";
|
|
236
237
|
}
|
|
237
238
|
if (isParameterDropdownListItem(item)) {
|
|
@@ -245,10 +246,10 @@ export function AttributesDropdown({ id, className, bodyClassName, onClose, onOp
|
|
|
245
246
|
}
|
|
246
247
|
return getDateAttributeListItemTitle(item, getCustomItemTitle?.(item));
|
|
247
248
|
}, renderNoData: renderNoData, renderItem: ({ item }) => {
|
|
248
|
-
if (
|
|
249
|
+
if (isHeaderListItem(item)) {
|
|
249
250
|
return _jsx(SingleSelectListItem, { type: item.type, title: item.title });
|
|
250
251
|
}
|
|
251
|
-
if (
|
|
252
|
+
if (isSeparatorListItem(item)) {
|
|
252
253
|
return _jsx(SingleSelectListItem, { type: item.type });
|
|
253
254
|
}
|
|
254
255
|
if (isParameterDropdownListItem(item)) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type IHeaderListItem = {
|
|
2
|
+
type: "header";
|
|
3
|
+
title: string;
|
|
4
|
+
};
|
|
5
|
+
export type ISeparatorListItem = {
|
|
6
|
+
type: "separator";
|
|
7
|
+
};
|
|
8
|
+
export type IStaticListItem = IHeaderListItem | ISeparatorListItem;
|
|
9
|
+
export declare const isHeaderListItem: (item: unknown) => item is IHeaderListItem;
|
|
10
|
+
export declare const isSeparatorListItem: (item: unknown) => item is ISeparatorListItem;
|
|
11
|
+
//# sourceMappingURL=staticListItems.d.ts.map
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staticListItems.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAEnE,eAAO,MAAM,gBAAgB,SAAU,OAAO,KAAG,IAAI,IAAI,eAExD,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAU,OAAO,KAAG,IAAI,IAAI,kBAE3D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
export const isHeaderListItem = (item) => {
|
|
3
|
+
return typeof item === "object" && item !== null && "type" in item && item.type === "header";
|
|
4
|
+
};
|
|
5
|
+
export const isSeparatorListItem = (item) => {
|
|
6
|
+
return typeof item === "object" && item !== null && "type" in item && item.type === "separator";
|
|
7
|
+
};
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.d.ts
CHANGED
|
@@ -2,17 +2,8 @@ import { type ICatalogMeasure, type IInsight, type ObjRef } from "@gooddata/sdk-
|
|
|
2
2
|
type IInsightsMap = {
|
|
3
3
|
get: (ref: ObjRef) => IInsight | undefined;
|
|
4
4
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
title: string;
|
|
8
|
-
};
|
|
9
|
-
export type IMetricSeparatorListItem = {
|
|
10
|
-
type: "separator";
|
|
11
|
-
};
|
|
12
|
-
export type IStaticMetricListItem = IMetricHeaderListItem | IMetricSeparatorListItem;
|
|
13
|
-
export type IMetricDropdownListItem = ICatalogMeasure | IStaticMetricListItem;
|
|
14
|
-
export declare const isMetricHeaderListItem: (item: unknown) => item is IMetricHeaderListItem;
|
|
15
|
-
export declare const isMetricSeparatorListItem: (item: unknown) => item is IMetricSeparatorListItem;
|
|
5
|
+
import { type IStaticListItem } from "./staticListItems.js";
|
|
6
|
+
export type IMetricDropdownListItem = ICatalogMeasure | IStaticListItem;
|
|
16
7
|
interface IUseMetricDropdownItemsParams {
|
|
17
8
|
measures: ICatalogMeasure[];
|
|
18
9
|
searchQuery: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMetricDropdownItems.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAE7B,KAAK,YAAY,GAAG;IAChB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"useMetricDropdownItems.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAE7B,KAAK,YAAY,GAAG;IAChB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,eAAe,CAAC;AAExE,UAAU,6BAA6B;IACnC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,OAAO,CAAC;IACpC,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,WAAW,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,WAAW,EACX,0BAA0B,EAC1B,cAAc,EACd,WAAW,GACd,EAAE,6BAA6B;;;EA0F/B"}
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.js
CHANGED
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { areObjRefsEqual, insightMeasures, isInsightWidget, isLocalIdRef, measureItem, } from "@gooddata/sdk-model";
|
|
5
|
-
export const isMetricHeaderListItem = (item) => {
|
|
6
|
-
return typeof item === "object" && item !== null && "type" in item && item.type === "header";
|
|
7
|
-
};
|
|
8
|
-
export const isMetricSeparatorListItem = (item) => {
|
|
9
|
-
return typeof item === "object" && item !== null && "type" in item && item.type === "separator";
|
|
10
|
-
};
|
|
11
5
|
export function useMetricDropdownItems({ measures, searchQuery, enableMeasureValueFilterKD, insightWidgets, insightsMap, }) {
|
|
12
6
|
const intl = useIntl();
|
|
13
7
|
const metricMeasures = useMemo(() => {
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type IdentifierRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { type IStaticListItem } from "./staticListItems.js";
|
|
3
|
+
/**
|
|
4
|
+
* Addable workspace parameter the dropdown's "parameters" tab offers (automation dialogs only).
|
|
5
|
+
* `isFromDashboard` marks the ones with a control on the dashboard tab so they list first, `tags`
|
|
6
|
+
* drive the tag groups.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface IAddableParameter {
|
|
11
|
+
ref: IdentifierRef;
|
|
12
|
+
title: string;
|
|
13
|
+
isFromDashboard: boolean;
|
|
14
|
+
tags: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parameter row rendered in the dropdown's "parameters" tab.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export interface IParameterDropdownListItem {
|
|
22
|
+
type: "parameter";
|
|
23
|
+
ref: IdentifierRef;
|
|
24
|
+
title: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function isParameterDropdownListItem(item: unknown): item is IParameterDropdownListItem;
|
|
27
|
+
export type IParameterDropdownItem = IParameterDropdownListItem | IStaticListItem;
|
|
28
|
+
interface IUseParameterDropdownItemsParams {
|
|
29
|
+
parameters: IAddableParameter[];
|
|
30
|
+
searchQuery: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function useParameterDropdownItems({ parameters, searchQuery, }: IUseParameterDropdownItemsParams): IParameterDropdownItem[];
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=useParameterDropdownItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useParameterDropdownItems.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,0BAA0B,CAE7F;AAED,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG,eAAe,CAAC;AAOlF,UAAU,gCAAgC;IACtC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,EACtC,UAAU,EACV,WAAW,GACd,EAAE,gCAAgC,GAAG,sBAAsB,EAAE,CA6B7D"}
|
package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { defineMessages, useIntl } from "react-intl";
|
|
4
|
+
import { groupParametersByTag } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
export function isParameterDropdownListItem(item) {
|
|
6
|
+
return typeof item === "object" && item !== null && "type" in item && item.type === "parameter";
|
|
7
|
+
}
|
|
8
|
+
const messages = defineMessages({
|
|
9
|
+
fromDashboard: { id: "attributesDropdown.parameters.section.from_dashboard" },
|
|
10
|
+
ungrouped: { id: "attributesDropdown.parameters.section.ungrouped" },
|
|
11
|
+
});
|
|
12
|
+
export function useParameterDropdownItems({ parameters, searchQuery, }) {
|
|
13
|
+
const intl = useIntl();
|
|
14
|
+
const collator = useMemo(() => new Intl.Collator(intl.locale), [intl.locale]);
|
|
15
|
+
return useMemo(() => {
|
|
16
|
+
const needle = searchQuery.toLowerCase();
|
|
17
|
+
const matching = needle
|
|
18
|
+
? parameters.filter((parameter) => parameter.title.toLowerCase().includes(needle))
|
|
19
|
+
: parameters;
|
|
20
|
+
const fromDashboard = matching
|
|
21
|
+
.filter((parameter) => parameter.isFromDashboard)
|
|
22
|
+
.sort((a, b) => collator.compare(a.title, b.title));
|
|
23
|
+
const tagGroups = groupParametersByTag(matching, intl.formatMessage(messages.ungrouped), collator);
|
|
24
|
+
const items = [];
|
|
25
|
+
if (fromDashboard.length > 0) {
|
|
26
|
+
items.push({ type: "header", title: intl.formatMessage(messages.fromDashboard) });
|
|
27
|
+
items.push(...fromDashboard.map(toListItem));
|
|
28
|
+
}
|
|
29
|
+
if (fromDashboard.length > 0 && tagGroups.length > 0) {
|
|
30
|
+
items.push({ type: "separator" });
|
|
31
|
+
}
|
|
32
|
+
for (const group of tagGroups) {
|
|
33
|
+
items.push({ type: "header", title: group.tag });
|
|
34
|
+
items.push(...group.parameters.map(toListItem));
|
|
35
|
+
}
|
|
36
|
+
return items;
|
|
37
|
+
}, [collator, intl, parameters, searchQuery]);
|
|
38
|
+
}
|
|
39
|
+
function toListItem({ ref, title }) {
|
|
40
|
+
return { type: "parameter", ref, title };
|
|
41
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitingItemsConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useLimitingItemsConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlF,eAAO,MAAM,6BAA6B,kBAAmB,yBAAyB;;;mCAoBhC,MAAM,EAAE;;;CAqB7D,CAAC"}
|