@gooddata/sdk-ui-dashboard 11.29.0-alpha.3 → 11.29.0-alpha.4

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.
Files changed (77) hide show
  1. package/NOTICE +3 -3
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.d.ts +14 -1
  5. package/esm/model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.d.ts.map +1 -1
  6. package/esm/model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.js +19 -0
  7. package/esm/model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.js.map +1 -1
  8. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts +5 -1
  9. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
  10. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +51 -12
  11. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js.map +1 -1
  12. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.d.ts.map +1 -1
  13. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +120 -69
  14. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js.map +1 -1
  15. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
  16. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +49 -8
  17. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js.map +1 -1
  18. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.d.ts.map +1 -1
  19. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js +4 -3
  20. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js.map +1 -1
  21. package/esm/presentation/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts +6 -3
  22. package/esm/presentation/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  23. package/esm/presentation/automationFilters/hooks/useValidateExistingAutomationFilters.js +38 -4
  24. package/esm/presentation/automationFilters/hooks/useValidateExistingAutomationFilters.js.map +1 -1
  25. package/esm/presentation/filterBar/attributeFilter/useParentFilters.d.ts.map +1 -1
  26. package/esm/presentation/filterBar/attributeFilter/useParentFilters.js +24 -13
  27. package/esm/presentation/filterBar/attributeFilter/useParentFilters.js.map +1 -1
  28. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +4 -0
  29. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  30. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +4 -0
  31. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  32. package/esm/presentation/presentationComponents/DashboardItems/DashboardItem.d.ts +1 -0
  33. package/esm/presentation/presentationComponents/DashboardItems/DashboardItem.d.ts.map +1 -1
  34. package/esm/presentation/presentationComponents/DashboardItems/DashboardItem.js +2 -2
  35. package/esm/presentation/presentationComponents/DashboardItems/DashboardItem.js.map +1 -1
  36. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentsSelect.js +1 -1
  37. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentsSelect.js.map +1 -1
  38. package/esm/presentation/widget/insight/configuration/DrillFilters/TargetDashboardFiltersContext.d.ts +2 -1
  39. package/esm/presentation/widget/insight/configuration/DrillFilters/TargetDashboardFiltersContext.d.ts.map +1 -1
  40. package/esm/presentation/widget/insight/configuration/DrillFilters/TargetDashboardFiltersContext.js +3 -1
  41. package/esm/presentation/widget/insight/configuration/DrillFilters/TargetDashboardFiltersContext.js.map +1 -1
  42. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.d.ts +31 -1
  43. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.d.ts.map +1 -1
  44. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.js +148 -1
  45. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.js.map +1 -1
  46. package/esm/presentation/widget/insight/configuration/DrillFilters/messages.d.ts +3 -0
  47. package/esm/presentation/widget/insight/configuration/DrillFilters/messages.d.ts.map +1 -1
  48. package/esm/presentation/widget/insight/configuration/DrillFilters/messages.js +3 -0
  49. package/esm/presentation/widget/insight/configuration/DrillFilters/messages.js.map +1 -1
  50. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.d.ts +3 -2
  51. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.d.ts.map +1 -1
  52. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.js +11 -27
  53. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.js.map +1 -1
  54. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.d.ts +4 -2
  55. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.d.ts.map +1 -1
  56. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.js +6 -5
  57. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.js.map +1 -1
  58. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.d.ts +4 -2
  59. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.d.ts.map +1 -1
  60. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.js +6 -4
  61. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.js.map +1 -1
  62. package/esm/presentation/widget/insight/configuration/DrillFilters/useDrillFiltersConfig.d.ts.map +1 -1
  63. package/esm/presentation/widget/insight/configuration/DrillFilters/useDrillFiltersConfig.js +11 -1
  64. package/esm/presentation/widget/insight/configuration/DrillFilters/useDrillFiltersConfig.js.map +1 -1
  65. package/esm/presentation/widget/insight/configuration/DrillFilters/useFetchTargetDashboardFilters.d.ts +2 -1
  66. package/esm/presentation/widget/insight/configuration/DrillFilters/useFetchTargetDashboardFilters.d.ts.map +1 -1
  67. package/esm/presentation/widget/insight/configuration/DrillFilters/useFetchTargetDashboardFilters.js +4 -1
  68. package/esm/presentation/widget/insight/configuration/DrillFilters/useFetchTargetDashboardFilters.js.map +1 -1
  69. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.d.ts.map +1 -1
  70. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js +1 -1
  71. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js.map +1 -1
  72. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
  73. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +1 -1
  74. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js.map +1 -1
  75. package/package.json +20 -20
  76. package/styles/css/main.css +3 -0
  77. package/styles/css/main.css.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2020-2026 GoodData Corporation
3
3
  import { createContext, useCallback, useContext, useMemo, useRef, useState } from "react";
4
- import { isDashboardAttributeFilter, } from "@gooddata/sdk-model";
4
+ import { isDashboardAttributeFilter, isDashboardTextAttributeFilter, } from "@gooddata/sdk-model";
5
5
  import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
6
6
  import { dashboardFilterContextDefinition } from "../../../../../_staging/dashboard/dashboardFilterContext.js";
7
7
  import { defaultDateFilterConfig } from "../../../../../_staging/dateFilterConfig/defaultConfig.js";
@@ -23,6 +23,7 @@ function getTargetDashboardFilterData(dashboard, targetTabLocalIdentifier) {
23
23
  return {
24
24
  targetDashboardFilters,
25
25
  targetDashboardAttributeFilters: targetDashboardFilters.filter(isDashboardAttributeFilter),
26
+ targetDashboardTextAttributeFilters: targetDashboardFilters.filter(isDashboardTextAttributeFilter),
26
27
  targetDashboardAttributeFilterConfigs: targetDashboard.attributeFilterConfigs ?? [],
27
28
  };
28
29
  }
@@ -31,6 +32,7 @@ function createEmptyCacheEntry(status) {
31
32
  status,
32
33
  targetDashboardFilters: [],
33
34
  targetDashboardAttributeFilters: [],
35
+ targetDashboardTextAttributeFilters: [],
34
36
  targetDashboardAttributeFilterConfigs: [],
35
37
  };
36
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TargetDashboardFiltersContext.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/TargetDashboardFiltersContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TargetDashboardFiltersContext.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/TargetDashboardFiltersContext.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { type IntlShape } from "react-intl";
2
- import { type FilterContextItem, type IAttributeDisplayFormMetadataObject, type ICatalogMeasure, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IMeasure, type ObjRef, type ObjRefInScope, type SourceInsightFilterObjRef } from "@gooddata/sdk-model";
2
+ import { type DashboardTextAttributeFilter, type FilterContextItem, type IAttributeDisplayFormMetadataObject, type ICatalogMeasure, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IMeasure, type ObjRef, type ObjRefInScope, type SourceInsightFilterObjRef } from "@gooddata/sdk-model";
3
3
  import { type IDrillFiltersConfigOption } from "./types.js";
4
4
  import { type ObjRefMap } from "../../../../../_staging/metadata/objRefMap.js";
5
5
  export declare function getMeasureTitleFromSourceInsightMeasures(sourceInsightMeasures: IMeasure[], measureRef: ObjRefInScope | undefined, allCatalogMeasures: ICatalogMeasure[], intl: IntlShape): string | undefined;
6
6
  export declare function sourceFilterOptionId(sourceFilterObjRef: SourceInsightFilterObjRef): string;
7
7
  export declare function getDisabledOptionProps(disabled: boolean, message: string, selected: boolean): Partial<Pick<IDrillFiltersConfigOption, "disabled">>;
8
+ export declare function getDisabledOptionPropsForTransferResult(isDrillToDashboard: boolean, transferResult: FilterTransferResult, intl: IntlShape): Partial<Pick<IDrillFiltersConfigOption, "disabled">>;
8
9
  export declare function getDisplayFormTitle({ displayFormRef, allCatalogDisplayFormsMap }: {
9
10
  displayFormRef: ObjRefInScope;
10
11
  allCatalogDisplayFormsMap: ObjRefMap<IAttributeDisplayFormMetadataObject>;
@@ -29,4 +30,33 @@ export declare function isDateIntersectionAttribute(displayFormRef: ObjRef, allC
29
30
  ref: ObjRef;
30
31
  title?: string;
31
32
  }>): boolean;
33
+ /**
34
+ * Reason why a filter cannot be transferred to the target dashboard.
35
+ * - "transferable" — filter can be transferred
36
+ * - "notFound" — no matching filter exists on the target dashboard
37
+ * - "notCompatible" — matching filter exists but selection type config doesn't allow the type migration
38
+ */
39
+ export type FilterTransferResult = "transferable" | "notFound" | "notCompatible";
40
+ /**
41
+ * Checks if a list-type dashboard attribute filter can be transferred to the target dashboard,
42
+ * considering both list and text filters on the target, and selection type config.
43
+ */
44
+ export declare function canTransferDashboardAttributeFilter(sourceFilter: IDashboardAttributeFilter, sourceDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[], targetDashboardAttributeFilters: IDashboardAttributeFilter[], targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[], targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[], allCatalogDisplayFormsMap: ObjRefMap<IAttributeDisplayFormMetadataObject>): FilterTransferResult;
45
+ /**
46
+ * Checks if a text-type dashboard attribute filter can be transferred to the target dashboard,
47
+ * considering both text and list filters on the target, and selection type config.
48
+ */
49
+ export declare function canTransferTextAttributeFilter(sourceFilter: DashboardTextAttributeFilter, targetDashboardAttributeFilters: IDashboardAttributeFilter[], targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[], targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[]): FilterTransferResult;
50
+ /**
51
+ * Checks if a source insight/measure attribute filter (by displayForm) can be transferred,
52
+ * considering both list and text filters on the target, and selection type config.
53
+ * Used for source insight filters and source measure filters where we only have a displayForm.
54
+ *
55
+ * @param displayFormRef - the displayForm of the source filter
56
+ * @param isSourceTextFilter - whether the source filter is a text type (arbitrary/match)
57
+ * @param targetDashboardAttributeFilters - list filters on the target dashboard
58
+ * @param targetDashboardAttributeFilterConfigs - attribute filter configs on the target dashboard
59
+ * @param targetDashboardTextAttributeFilters - text filters on the target dashboard
60
+ */
61
+ export declare function canTransferAttributeFilterByDisplayForm(displayFormRef: ObjRef, isSourceTextFilter: boolean, targetDashboardAttributeFilters: IDashboardAttributeFilter[], targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[], targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[]): FilterTransferResult;
32
62
  //# sourceMappingURL=drillFiltersConfigUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drillFiltersConfigUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,yBAAyB,EASjC,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAoB/E,wBAAgB,wCAAwC,CACpD,qBAAqB,EAAE,QAAQ,EAAE,EACjC,UAAU,EAAE,aAAa,GAAG,SAAS,EACrC,kBAAkB,EAAE,eAAe,EAAE,EACrC,IAAI,EAAE,SAAS,GAChB,MAAM,GAAG,SAAS,CA0CpB;AAED,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,MAAM,CAE1F;AAED,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC,CAStD;AAED,wBAAgB,mBAAmB,CAAC,EAChC,cAAc,EACd,yBAAyB,EAC5B,EAAE;IACC,cAAc,EAAE,aAAa,CAAC;IAC9B,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;CAC7E,GAAG,MAAM,CAMT;AAED,wBAAgB,mBAAmB,CAAC,EAChC,UAAU,EACV,sBAAsB,EACzB,EAAE;IACC,UAAU,EAAE,aAAa,CAAC;IAC1B,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC/E,GAAG,MAAM,CAMT;AAED,wBAAgB,iCAAiC,CAAC,EAC9C,UAAU,EACV,6BAA6B,EAChC,EAAE;IACC,UAAU,EAAE,aAAa,CAAC;IAC1B,6BAA6B,EAAE,8BAA8B,EAAE,CAAC;CACnE,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED,wBAAgB,oDAAoD,CAChE,cAAc,EAAE,MAAM,EACtB,+BAA+B,EAAE,yBAAyB,EAAE,GAC7D,OAAO,CAET;AAED,wBAAgB,yCAAyC,CACrD,eAAe,EAAE,yBAAyB,EAC1C,qCAAqC,EAAE,+BAA+B,EAAE,EACxE,+BAA+B,EAAE,yBAAyB,EAAE,EAC5D,qCAAqC,EAAE,+BAA+B,EAAE,EACxE,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,GAC1E,OAAO,CAwCT;AAED,wBAAgB,oCAAoC,CAChD,UAAU,EAAE,MAAM,EAClB,sBAAsB,EAAE,iBAAiB,EAAE,GAC5C,OAAO,CAMT;AAED,wBAAgB,2BAA2B,CACvC,cAAc,EAAE,MAAM,EACtB,mCAAmC,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5E,OAAO,CAIT"}
1
+ {"version":3,"file":"drillFiltersConfigUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  // (C) 2020-2026 GoodData Corporation
2
- import { areObjRefsEqual, isDashboardDateFilterWithDimension, isLocalIdRef, measureAlias, measureFilters, measureLocalId, measureTitle, serializeObjRef, } from "@gooddata/sdk-model";
2
+ import { areObjRefsEqual, dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemLocalIdentifier, isDashboardDateFilterWithDimension, isLocalIdRef, measureAlias, measureFilters, measureLocalId, measureTitle, serializeObjRef, } from "@gooddata/sdk-model";
3
3
  import { buildMeasureTitles } from "@gooddata/sdk-ui/internal";
4
+ import { messages } from "./messages.js";
4
5
  import { sourceInsightFilterObjRefValue } from "../../../../../_staging/drills/drillingUtils.js";
6
+ import { canApplyFilterTypeToTarget } from "../../../../../model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.js";
5
7
  import { findDashboardAttributeFilterByAttributeDisplayForms, findDashboardAttributeFilterByDisplayForm, findDashboardAttributeFilterByIncomingDisplayAsLabel, findDashboardAttributeFilterByTargetDisplayAsLabel, } from "../../../../../model/utils/filterContextUtils.js";
6
8
  /**
7
9
  * Strip filter description suffix baked in by AD
@@ -56,6 +58,15 @@ export function getDisabledOptionProps(disabled, message, selected) {
56
58
  }
57
59
  : {};
58
60
  }
61
+ export function getDisabledOptionPropsForTransferResult(isDrillToDashboard, transferResult, intl) {
62
+ if (!isDrillToDashboard || transferResult === "transferable") {
63
+ return {};
64
+ }
65
+ const message = transferResult === "notCompatible"
66
+ ? intl.formatMessage(messages.drillToDashboardFilterNotCompatibleTooltip)
67
+ : intl.formatMessage(messages.drillToDashboardDashboardFilterTooltip);
68
+ return getDisabledOptionProps(true, message, false);
69
+ }
59
70
  export function getDisplayFormTitle({ displayFormRef, allCatalogDisplayFormsMap, }) {
60
71
  if (isLocalIdRef(displayFormRef)) {
61
72
  return "";
@@ -97,4 +108,140 @@ export function hasMatchingTargetDashboardDateFilter(datasetRef, targetDashboard
97
108
  export function isDateIntersectionAttribute(displayFormRef, allCatalogDateAttributeDisplayForms) {
98
109
  return allCatalogDateAttributeDisplayForms.some((displayForm) => areObjRefsEqual(displayForm.ref, displayFormRef));
99
110
  }
111
+ function getConfigSelectionType(targetFilterLocalId, targetDashboardAttributeFilterConfigs) {
112
+ return targetDashboardAttributeFilterConfigs.find((c) => c.localIdentifier === targetFilterLocalId)
113
+ ?.selectionType;
114
+ }
115
+ /**
116
+ * Finds a matching text filter on the target dashboard by displayForm.
117
+ * Checks the source filter's displayForm and optionally its displayAsLabel from config.
118
+ */
119
+ function findMatchingTargetTextFilter(displayFormRef, sourceDashboardAttributeFilterConfigs, sourceFilterLocalId, targetDashboardTextAttributeFilters) {
120
+ // Direct displayForm match
121
+ const directMatch = targetDashboardTextAttributeFilters.find((textFilter) => areObjRefsEqual(dashboardAttributeFilterItemDisplayForm(textFilter), displayFormRef));
122
+ if (directMatch) {
123
+ return directMatch;
124
+ }
125
+ // Check source's displayAsLabel from config
126
+ if (sourceFilterLocalId) {
127
+ const sourceConfig = sourceDashboardAttributeFilterConfigs.find((c) => c.localIdentifier === sourceFilterLocalId);
128
+ if (sourceConfig?.displayAsLabel) {
129
+ return targetDashboardTextAttributeFilters.find((textFilter) => areObjRefsEqual(dashboardAttributeFilterItemDisplayForm(textFilter), sourceConfig.displayAsLabel));
130
+ }
131
+ }
132
+ return undefined;
133
+ }
134
+ /**
135
+ * Finds a matching list filter on the target dashboard for a text source filter.
136
+ * Text filter has only displayForm. List filter has primary displayForm + displayAsLabel in config.
137
+ * Match if text filter's displayForm equals either of those.
138
+ */
139
+ function findMatchingTargetListFilterForTextSource(textFilterDisplayFormRef, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs) {
140
+ // Direct displayForm match
141
+ const directMatch = findDashboardAttributeFilterByDisplayForm(targetDashboardAttributeFilters, textFilterDisplayFormRef);
142
+ if (directMatch) {
143
+ return directMatch;
144
+ }
145
+ // Check target's displayAsLabel — find a config whose displayAsLabel matches the text filter's displayForm
146
+ return findDashboardAttributeFilterByTargetDisplayAsLabel(textFilterDisplayFormRef, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs);
147
+ }
148
+ /**
149
+ * Checks if a list-type dashboard attribute filter can be transferred to the target dashboard,
150
+ * considering both list and text filters on the target, and selection type config.
151
+ */
152
+ export function canTransferDashboardAttributeFilter(sourceFilter, sourceDashboardAttributeFilterConfigs, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, targetDashboardTextAttributeFilters, allCatalogDisplayFormsMap) {
153
+ // 1. Same-type match against list filters — always OK
154
+ if (hasMatchingTargetDashboardAttributeFilter(sourceFilter, sourceDashboardAttributeFilterConfigs, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, allCatalogDisplayFormsMap)) {
155
+ return "transferable";
156
+ }
157
+ // 2. Cross-type match against text filters on target
158
+ const matchingTextFilter = findMatchingTargetTextFilter(sourceFilter.attributeFilter.displayForm, sourceDashboardAttributeFilterConfigs, sourceFilter.attributeFilter.localIdentifier, targetDashboardTextAttributeFilters);
159
+ if (!matchingTextFilter) {
160
+ return "notFound";
161
+ }
162
+ // 3. Check if the target text filter's selection type allows list type
163
+ const textFilterLocalId = dashboardAttributeFilterItemLocalIdentifier(matchingTextFilter);
164
+ if (!textFilterLocalId) {
165
+ return "notFound";
166
+ }
167
+ const configSelectionType = getConfigSelectionType(textFilterLocalId, targetDashboardAttributeFilterConfigs);
168
+ return canApplyFilterTypeToTarget("list", configSelectionType, matchingTextFilter)
169
+ ? "transferable"
170
+ : "notCompatible";
171
+ }
172
+ /**
173
+ * Checks if a text-type dashboard attribute filter can be transferred to the target dashboard,
174
+ * considering both text and list filters on the target, and selection type config.
175
+ */
176
+ export function canTransferTextAttributeFilter(sourceFilter, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, targetDashboardTextAttributeFilters) {
177
+ const sourceDisplayFormRef = dashboardAttributeFilterItemDisplayForm(sourceFilter);
178
+ // 1. Same-type match against text filters — always OK
179
+ const matchingTextFilter = targetDashboardTextAttributeFilters.find((textFilter) => areObjRefsEqual(dashboardAttributeFilterItemDisplayForm(textFilter), sourceDisplayFormRef));
180
+ if (matchingTextFilter) {
181
+ return "transferable";
182
+ }
183
+ // 2. Cross-type match against list filters on target
184
+ // Text filter has only displayForm; list filter has primary displayForm + displayAsLabel in config
185
+ const matchingListFilter = findMatchingTargetListFilterForTextSource(sourceDisplayFormRef, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs);
186
+ if (!matchingListFilter) {
187
+ return "notFound";
188
+ }
189
+ // 3. Check if the target list filter's selection type allows text type
190
+ const listFilterLocalId = matchingListFilter.attributeFilter.localIdentifier;
191
+ if (!listFilterLocalId) {
192
+ return "notFound";
193
+ }
194
+ const configSelectionType = getConfigSelectionType(listFilterLocalId, targetDashboardAttributeFilterConfigs);
195
+ return canApplyFilterTypeToTarget("text", configSelectionType, matchingListFilter)
196
+ ? "transferable"
197
+ : "notCompatible";
198
+ }
199
+ /**
200
+ * Checks if a source insight/measure attribute filter (by displayForm) can be transferred,
201
+ * considering both list and text filters on the target, and selection type config.
202
+ * Used for source insight filters and source measure filters where we only have a displayForm.
203
+ *
204
+ * @param displayFormRef - the displayForm of the source filter
205
+ * @param isSourceTextFilter - whether the source filter is a text type (arbitrary/match)
206
+ * @param targetDashboardAttributeFilters - list filters on the target dashboard
207
+ * @param targetDashboardAttributeFilterConfigs - attribute filter configs on the target dashboard
208
+ * @param targetDashboardTextAttributeFilters - text filters on the target dashboard
209
+ */
210
+ export function canTransferAttributeFilterByDisplayForm(displayFormRef, isSourceTextFilter, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, targetDashboardTextAttributeFilters) {
211
+ if (isSourceTextFilter) {
212
+ // Text source: check text targets first, then list targets with selection type
213
+ const matchingTextFilter = targetDashboardTextAttributeFilters.find((textFilter) => areObjRefsEqual(dashboardAttributeFilterItemDisplayForm(textFilter), displayFormRef));
214
+ if (matchingTextFilter) {
215
+ return "transferable";
216
+ }
217
+ const matchingListFilter = findMatchingTargetListFilterForTextSource(displayFormRef, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs);
218
+ if (!matchingListFilter) {
219
+ return "notFound";
220
+ }
221
+ const listFilterLocalId = matchingListFilter.attributeFilter.localIdentifier;
222
+ if (!listFilterLocalId) {
223
+ return "notFound";
224
+ }
225
+ const configSelectionType = getConfigSelectionType(listFilterLocalId, targetDashboardAttributeFilterConfigs);
226
+ return canApplyFilterTypeToTarget("text", configSelectionType, matchingListFilter)
227
+ ? "transferable"
228
+ : "notCompatible";
229
+ }
230
+ // List source: check list targets first, then text targets with selection type
231
+ if (hasMatchingTargetDashboardAttributeFilterDisplayForm(displayFormRef, targetDashboardAttributeFilters)) {
232
+ return "transferable";
233
+ }
234
+ const matchingTextFilter = targetDashboardTextAttributeFilters.find((textFilter) => areObjRefsEqual(dashboardAttributeFilterItemDisplayForm(textFilter), displayFormRef));
235
+ if (!matchingTextFilter) {
236
+ return "notFound";
237
+ }
238
+ const textFilterLocalId = dashboardAttributeFilterItemLocalIdentifier(matchingTextFilter);
239
+ if (!textFilterLocalId) {
240
+ return "notFound";
241
+ }
242
+ const configSelectionType = getConfigSelectionType(textFilterLocalId, targetDashboardAttributeFilterConfigs);
243
+ return canApplyFilterTypeToTarget("list", configSelectionType, matchingTextFilter)
244
+ ? "transferable"
245
+ : "notCompatible";
246
+ }
100
247
  //# sourceMappingURL=drillFiltersConfigUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drillFiltersConfigUtils.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drillFiltersConfigUtils.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,9 @@ export declare const messages: {
35
35
  drillToDashboardDashboardFilterTooltip: {
36
36
  id: string;
37
37
  };
38
+ drillToDashboardFilterNotCompatibleTooltip: {
39
+ id: string;
40
+ };
38
41
  drillToDashboardMetricFilterTooltip: {
39
42
  id: string;
40
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/messages.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDnB,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/messages.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDnB,CAAC"}
@@ -37,6 +37,9 @@ export const messages = defineMessages({
37
37
  drillToDashboardDashboardFilterTooltip: {
38
38
  id: "configurationPanel.drillConfig.filterSelection.drillToDashboardDashboardFilter.tooltip",
39
39
  },
40
+ drillToDashboardFilterNotCompatibleTooltip: {
41
+ id: "configurationPanel.drillConfig.filterSelection.drillToDashboardFilterNotCompatible.tooltip",
42
+ },
40
43
  drillToDashboardMetricFilterTooltip: {
41
44
  id: "configurationPanel.drillConfig.filterSelection.drillToDashboardMetricFilter.tooltip",
42
45
  },
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/messages.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC;IACnC,qBAAqB,EAAE;QACnB,EAAE,EAAE,0BAA0B;KACjC;IACD,iCAAiC,EAAE;QAC/B,EAAE,EAAE,kEAAkE;KACzE;IACD,wCAAwC,EAAE;QACtC,EAAE,EAAE,yEAAyE;KAChF;IACD,8BAA8B,EAAE;QAC5B,EAAE,EAAE,+DAA+D;KACtE;IACD,wBAAwB,EAAE;QACtB,EAAE,EAAE,8DAA8D;KACrE;IACD,0BAA0B,EAAE;QACxB,EAAE,EAAE,gEAAgE;KACvE;IACD,qCAAqC,EAAE;QACnC,EAAE,EAAE,sEAAsE;KAC7E;IACD,+BAA+B,EAAE;QAC7B,EAAE,EAAE,iFAAiF;KACxF;IACD,6BAA6B,EAAE;QAC3B,EAAE,EAAE,+EAA+E;KACtF;IACD,oBAAoB,EAAE;QAClB,EAAE,EAAE,sEAAsE;KAC7E;IACD,uCAAuC,EAAE;QACrC,EAAE,EAAE,yFAAyF;KAChG;IACD,sCAAsC,EAAE;QACpC,EAAE,EAAE,wFAAwF;KAC/F;IACD,mCAAmC,EAAE;QACjC,EAAE,EAAE,qFAAqF;KAC5F;IACD,oCAAoC,EAAE;QAClC,EAAE,EAAE,sFAAsF;KAC7F;IACD,4CAA4C,EAAE;QAC1C,EAAE,EAAE,mDAAmD;KAC1D;IACD,+CAA+C,EAAE;QAC7C,EAAE,EAAE,sDAAsD;KAC7D;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillFilters/messages.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC;IACnC,qBAAqB,EAAE;QACnB,EAAE,EAAE,0BAA0B;KACjC;IACD,iCAAiC,EAAE;QAC/B,EAAE,EAAE,kEAAkE;KACzE;IACD,wCAAwC,EAAE;QACtC,EAAE,EAAE,yEAAyE;KAChF;IACD,8BAA8B,EAAE;QAC5B,EAAE,EAAE,+DAA+D;KACtE;IACD,wBAAwB,EAAE;QACtB,EAAE,EAAE,8DAA8D;KACrE;IACD,0BAA0B,EAAE;QACxB,EAAE,EAAE,gEAAgE;KACvE;IACD,qCAAqC,EAAE;QACnC,EAAE,EAAE,sEAAsE;KAC7E;IACD,+BAA+B,EAAE;QAC7B,EAAE,EAAE,iFAAiF;KACxF;IACD,6BAA6B,EAAE;QAC3B,EAAE,EAAE,+EAA+E;KACtF;IACD,oBAAoB,EAAE;QAClB,EAAE,EAAE,sEAAsE;KAC7E;IACD,uCAAuC,EAAE;QACrC,EAAE,EAAE,yFAAyF;KAChG;IACD,sCAAsC,EAAE;QACpC,EAAE,EAAE,wFAAwF;KAC/F;IACD,0CAA0C,EAAE;QACxC,EAAE,EAAE,4FAA4F;KACnG;IACD,mCAAmC,EAAE;QACjC,EAAE,EAAE,qFAAqF;KAC5F;IACD,oCAAoC,EAAE;QAClC,EAAE,EAAE,sFAAsF;KAC7F;IACD,4CAA4C,EAAE;QAC1C,EAAE,EAAE,mDAAmD;KAC1D;IACD,+CAA+C,EAAE;QAC7C,EAAE,EAAE,sDAAsD;KAC7D;CACJ,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type IntlShape } from "react-intl";
2
- import { type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfig, type IDashboardDateFilterConfigItem, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type DashboardTextAttributeFilter, type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfig, type IDashboardDateFilterConfigItem, type ObjRef } from "@gooddata/sdk-model";
3
3
  import { type ObjRefMap } from "../../../../../../_staging/metadata/objRefMap.js";
4
4
  import { type IDrillFiltersConfigOption } from "../types.js";
5
5
  interface IMapDashboardFilterToOptionParams {
@@ -16,11 +16,12 @@ interface IMapDashboardFilterToOptionParams {
16
16
  sourceDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[];
17
17
  targetDashboardFilters: FilterContextItem[];
18
18
  targetDashboardAttributeFilters: IDashboardAttributeFilter[];
19
+ targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[];
19
20
  targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[];
20
21
  isDrillDown: boolean;
21
22
  isDrillToDashboard: boolean;
22
23
  intl: IntlShape;
23
24
  }
24
- export declare function mapDashboardFilterToOption({ dashboardFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, dateFilterConfigOverride, allDateFilterConfigsOverrides, sourceDashboardAttributeFilterConfigs, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillDown, isDrillToDashboard, intl }: IMapDashboardFilterToOptionParams): IDrillFiltersConfigOption | undefined;
25
+ export declare function mapDashboardFilterToOption({ dashboardFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, dateFilterConfigOverride, allDateFilterConfigsOverrides, sourceDashboardAttributeFilterConfigs, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardTextAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillDown, isDrillToDashboard, intl }: IMapDashboardFilterToOptionParams): IDrillFiltersConfigOption | undefined;
25
26
  export {};
26
27
  //# sourceMappingURL=mapDashboardFilterToOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapDashboardFilterToOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,MAAM,EAOd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAWlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,iCAAiC;IACvC,eAAe,EAAE,iBAAiB,CAAC;IACnC,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC1E,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5E,wBAAwB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACjE,6BAA6B,EAAE,8BAA8B,EAAE,CAAC;IAChE,qCAAqC,EAAE,+BAA+B,EAAE,CAAC;IACzE,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,+BAA+B,EAAE,yBAAyB,EAAE,CAAC;IAC7D,qCAAqC,EAAE,+BAA+B,EAAE,CAAC;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,0BAA0B,CAAC,EACvC,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,qCAAqC,EACrC,sBAAsB,EACtB,+BAA+B,EAC/B,qCAAqC,EACrC,WAAW,EACX,kBAAkB,EAClB,IAAI,EACP,EAAE,iCAAiC,GAAG,yBAAyB,GAAG,SAAS,CA0H3E"}
1
+ {"version":3,"file":"mapDashboardFilterToOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,MAAM,EAOd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAYlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,iCAAiC;IACvC,eAAe,EAAE,iBAAiB,CAAC;IACnC,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC1E,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5E,wBAAwB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACjE,6BAA6B,EAAE,8BAA8B,EAAE,CAAC;IAChE,qCAAqC,EAAE,+BAA+B,EAAE,CAAC;IACzE,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,+BAA+B,EAAE,yBAAyB,EAAE,CAAC;IAC7D,mCAAmC,EAAE,4BAA4B,EAAE,CAAC;IACpE,qCAAqC,EAAE,+BAA+B,EAAE,CAAC;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,0BAA0B,CAAC,EACvC,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,qCAAqC,EACrC,sBAAsB,EACtB,+BAA+B,EAC/B,mCAAmC,EACnC,qCAAqC,EACrC,WAAW,EACX,kBAAkB,EAClB,IAAI,EACP,EAAE,iCAAiC,GAAG,yBAAyB,GAAG,SAAS,CAgG3E"}
@@ -1,38 +1,22 @@
1
1
  // (C) 2020-2026 GoodData Corporation
2
- import { dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemLocalIdentifier, dashboardAttributeFilterItemTitle, isDashboardAttributeFilter, isDashboardDateFilter, isDashboardTextAttributeFilter, } from "@gooddata/sdk-model";
3
- import { getDashboardDateFilterCustomTitle, getDateDatasetTitle, getDisabledOptionProps, getDisplayFormTitle, hasMatchingTargetDashboardAttributeFilter, hasMatchingTargetDashboardAttributeFilterDisplayForm, hasMatchingTargetDashboardDateFilter, } from "../drillFiltersConfigUtils.js";
2
+ import { dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemLocalIdentifier, dashboardAttributeFilterItemTitle, isDashboardAttributeFilter, isDashboardAttributeFilterItem, isDashboardDateFilter, } from "@gooddata/sdk-model";
3
+ import { canTransferDashboardAttributeFilter, canTransferTextAttributeFilter, getDashboardDateFilterCustomTitle, getDateDatasetTitle, getDisabledOptionProps, getDisabledOptionPropsForTransferResult, getDisplayFormTitle, hasMatchingTargetDashboardDateFilter, } from "../drillFiltersConfigUtils.js";
4
4
  import { messages } from "../messages.js";
5
- export function mapDashboardFilterToOption({ dashboardFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, dateFilterConfigOverride, allDateFilterConfigsOverrides, sourceDashboardAttributeFilterConfigs, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillDown, isDrillToDashboard, intl, }) {
5
+ export function mapDashboardFilterToOption({ dashboardFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, dateFilterConfigOverride, allDateFilterConfigsOverrides, sourceDashboardAttributeFilterConfigs, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardTextAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillDown, isDrillToDashboard, intl, }) {
6
6
  const disabled = getDisabledOptionProps(isDrillDown, intl.formatMessage(messages.drillDownDashboardFilterTooltip), true);
7
- if (isDashboardAttributeFilter(dashboardFilter)) {
8
- const displayFormRef = dashboardFilter.attributeFilter.displayForm;
9
- const localIdentifier = dashboardFilter.attributeFilter.localIdentifier;
10
- const customTitle = dashboardFilter.attributeFilter.title;
11
- if (!localIdentifier) {
12
- return undefined;
13
- }
14
- // In case of drill to dashboard, we need to check if the attribute filter is available
15
- // on the target dashboard. Otherwise disable the option.
16
- const hasMatchingTargetAttributeFilter = hasMatchingTargetDashboardAttributeFilter(dashboardFilter, sourceDashboardAttributeFilterConfigs, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, allCatalogDisplayFormsMap);
17
- return {
18
- id: localIdentifier,
19
- title: customTitle ??
20
- getDisplayFormTitle({
21
- displayFormRef,
22
- allCatalogDisplayFormsMap,
23
- }),
24
- ...disabled,
25
- ...getDisabledOptionProps(isDrillToDashboard && !hasMatchingTargetAttributeFilter, intl.formatMessage(messages.drillToDashboardDashboardFilterTooltip), false),
26
- };
27
- }
28
- if (isDashboardTextAttributeFilter(dashboardFilter)) {
7
+ if (isDashboardAttributeFilterItem(dashboardFilter)) {
29
8
  const displayFormRef = dashboardAttributeFilterItemDisplayForm(dashboardFilter);
30
9
  const localIdentifier = dashboardAttributeFilterItemLocalIdentifier(dashboardFilter);
31
10
  const customTitle = dashboardAttributeFilterItemTitle(dashboardFilter);
32
11
  if (!localIdentifier) {
33
12
  return undefined;
34
13
  }
35
- const hasMatchingTargetAttributeFilter = hasMatchingTargetDashboardAttributeFilterDisplayForm(displayFormRef, targetDashboardAttributeFilters);
14
+ // In case of drill to dashboard, we need to check if the attribute filter is available
15
+ // on the target dashboard. Otherwise disable the option.
16
+ // This considers both list and text filters on the target, and selection type config.
17
+ const transferResult = isDashboardAttributeFilter(dashboardFilter)
18
+ ? canTransferDashboardAttributeFilter(dashboardFilter, sourceDashboardAttributeFilterConfigs, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, targetDashboardTextAttributeFilters, allCatalogDisplayFormsMap)
19
+ : canTransferTextAttributeFilter(dashboardFilter, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, targetDashboardTextAttributeFilters);
36
20
  return {
37
21
  id: localIdentifier,
38
22
  title: customTitle ??
@@ -41,7 +25,7 @@ export function mapDashboardFilterToOption({ dashboardFilter, allCatalogDisplayF
41
25
  allCatalogDisplayFormsMap,
42
26
  }),
43
27
  ...disabled,
44
- ...getDisabledOptionProps(isDrillToDashboard && !hasMatchingTargetAttributeFilter, intl.formatMessage(messages.drillToDashboardDashboardFilterTooltip), false),
28
+ ...getDisabledOptionPropsForTransferResult(isDrillToDashboard, transferResult, intl),
45
29
  };
46
30
  }
47
31
  if (isDashboardDateFilter(dashboardFilter)) {
@@ -1 +1 @@
1
- {"version":3,"file":"mapDashboardFilterToOption.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapDashboardFilterToOption.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type IntlShape } from "react-intl";
2
- import { type FilterContextItem, type IAttributeDisplayFormMetadataObject, type ICatalogMeasure, type IDashboardAttributeFilter, type IFilter, type IMeasure, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type DashboardTextAttributeFilter, type FilterContextItem, type IAttributeDisplayFormMetadataObject, type ICatalogMeasure, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IFilter, type IMeasure, type ObjRef } from "@gooddata/sdk-model";
3
3
  import { type ObjRefMap } from "../../../../../../_staging/metadata/objRefMap.js";
4
4
  import { type IDrillFiltersConfigOption } from "../types.js";
5
5
  interface IMapSourceInsightFilterToOptionParams {
@@ -15,10 +15,12 @@ interface IMapSourceInsightFilterToOptionParams {
15
15
  allCatalogMeasures: ICatalogMeasure[];
16
16
  targetDashboardFilters: FilterContextItem[];
17
17
  targetDashboardAttributeFilters: IDashboardAttributeFilter[];
18
+ targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[];
19
+ targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[];
18
20
  isDrillDown: boolean;
19
21
  isDrillToDashboard: boolean;
20
22
  intl: IntlShape;
21
23
  }
22
- export declare function mapSourceInsightFilterToOption({ sourceInsightFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, sourceInsightMeasures, allCatalogMeasures, targetDashboardFilters, targetDashboardAttributeFilters, isDrillDown, isDrillToDashboard, intl }: IMapSourceInsightFilterToOptionParams): IDrillFiltersConfigOption | undefined;
24
+ export declare function mapSourceInsightFilterToOption({ sourceInsightFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, sourceInsightMeasures, allCatalogMeasures, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardTextAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillDown, isDrillToDashboard, intl }: IMapSourceInsightFilterToOptionParams): IDrillFiltersConfigOption | undefined;
23
25
  export {};
24
26
  //# sourceMappingURL=mapSourceInsightFilterToOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapSourceInsightFilterToOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAWlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,qCAAqC;IAC3C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC1E,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5E,qBAAqB,EAAE,QAAQ,EAAE,CAAC;IAClC,kBAAkB,EAAE,eAAe,EAAE,CAAC;IACtC,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,+BAA+B,EAAE,yBAAyB,EAAE,CAAC;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAAC,EAC3C,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,WAAW,EACX,kBAAkB,EAClB,IAAI,EACP,EAAE,qCAAqC,GAAG,yBAAyB,GAAG,SAAS,CA8H/E"}
1
+ {"version":3,"file":"mapSourceInsightFilterToOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EAKd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAYlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,qCAAqC;IAC3C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC1E,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5E,qBAAqB,EAAE,QAAQ,EAAE,CAAC;IAClC,kBAAkB,EAAE,eAAe,EAAE,CAAC;IACtC,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,+BAA+B,EAAE,yBAAyB,EAAE,CAAC;IAC7D,mCAAmC,EAAE,4BAA4B,EAAE,CAAC;IACpE,qCAAqC,EAAE,+BAA+B,EAAE,CAAC;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAAC,EAC3C,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,mCAAmC,EACnC,qCAAqC,EACrC,WAAW,EACX,kBAAkB,EAClB,IAAI,EACP,EAAE,qCAAqC,GAAG,yBAAyB,GAAG,SAAS,CA+H/E"}
@@ -1,9 +1,9 @@
1
1
  // (C) 2020-2026 GoodData Corporation
2
- import { isLocalIdRef, isRankingFilter, } from "@gooddata/sdk-model";
2
+ import { isArbitraryAttributeFilter, isLocalIdRef, isMatchAttributeFilter, isRankingFilter, } from "@gooddata/sdk-model";
3
3
  import { sourceInsightFilterObjRef as getSourceInsightFilterObjRef } from "../../../../../../_staging/drills/drillingUtils.js";
4
- import { getDateDatasetTitle, getDisabledOptionProps, getDisplayFormTitle, getMeasureTitleFromSourceInsightMeasures, hasMatchingTargetDashboardAttributeFilterDisplayForm, hasMatchingTargetDashboardDateFilter, sourceFilterOptionId, } from "../drillFiltersConfigUtils.js";
4
+ import { canTransferAttributeFilterByDisplayForm, getDateDatasetTitle, getDisabledOptionProps, getDisabledOptionPropsForTransferResult, getDisplayFormTitle, getMeasureTitleFromSourceInsightMeasures, hasMatchingTargetDashboardDateFilter, sourceFilterOptionId, } from "../drillFiltersConfigUtils.js";
5
5
  import { messages } from "../messages.js";
6
- export function mapSourceInsightFilterToOption({ sourceInsightFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, sourceInsightMeasures, allCatalogMeasures, targetDashboardFilters, targetDashboardAttributeFilters, isDrillDown, isDrillToDashboard, intl, }) {
6
+ export function mapSourceInsightFilterToOption({ sourceInsightFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, sourceInsightMeasures, allCatalogMeasures, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardTextAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillDown, isDrillToDashboard, intl, }) {
7
7
  const sourceFilterObjRef = getSourceInsightFilterObjRef(sourceInsightFilter);
8
8
  if (!sourceFilterObjRef) {
9
9
  return undefined;
@@ -19,7 +19,8 @@ export function mapSourceInsightFilterToOption({ sourceInsightFilter, allCatalog
19
19
  if (isLocalIdRef(displayFormRef)) {
20
20
  return undefined;
21
21
  }
22
- const hasMatchingTargetAttributeFilter = hasMatchingTargetDashboardAttributeFilterDisplayForm(displayFormRef, targetDashboardAttributeFilters);
22
+ const isSourceTextFilter = isArbitraryAttributeFilter(sourceInsightFilter) || isMatchAttributeFilter(sourceInsightFilter);
23
+ const transferResult = canTransferAttributeFilterByDisplayForm(displayFormRef, isSourceTextFilter, targetDashboardAttributeFilters, targetDashboardAttributeFilterConfigs, targetDashboardTextAttributeFilters);
23
24
  return {
24
25
  id: sourceFilterOptionId(sourceFilterObjRef),
25
26
  title: getDisplayFormTitle({
@@ -27,7 +28,7 @@ export function mapSourceInsightFilterToOption({ sourceInsightFilter, allCatalog
27
28
  allCatalogDisplayFormsMap,
28
29
  }),
29
30
  ...disabled,
30
- ...getDisabledOptionProps(isDrillToDashboard && !hasMatchingTargetAttributeFilter, intl.formatMessage(messages.drillToDashboardDashboardFilterTooltip), false),
31
+ ...getDisabledOptionPropsForTransferResult(isDrillToDashboard, transferResult, intl),
31
32
  sourceInsightFilterObjRef: sourceFilterObjRef,
32
33
  };
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mapSourceInsightFilterToOption.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapSourceInsightFilterToOption.js","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type IntlShape } from "react-intl";
2
- import { type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardAttributeFilter, type IFilter, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type DashboardTextAttributeFilter, type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IFilter, type ObjRef } from "@gooddata/sdk-model";
3
3
  import { type ObjRefMap } from "../../../../../../_staging/metadata/objRefMap.js";
4
4
  import { type IDrillFiltersConfigOption } from "../types.js";
5
5
  interface IMapSourceMeasureFilterToOptionParams {
@@ -13,9 +13,11 @@ interface IMapSourceMeasureFilterToOptionParams {
13
13
  }>;
14
14
  targetDashboardFilters: FilterContextItem[];
15
15
  targetDashboardAttributeFilters: IDashboardAttributeFilter[];
16
+ targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[];
17
+ targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[];
16
18
  isDrillToDashboard: boolean;
17
19
  intl: IntlShape;
18
20
  }
19
- export declare function mapSourceMeasureFilterToOption({ sourceMeasureFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, targetDashboardFilters, targetDashboardAttributeFilters, isDrillToDashboard, intl }: IMapSourceMeasureFilterToOptionParams): IDrillFiltersConfigOption | undefined;
21
+ export declare function mapSourceMeasureFilterToOption({ sourceMeasureFilter, allCatalogDisplayFormsMap, allCatalogDateDatasets, targetDashboardFilters, targetDashboardAttributeFilters, targetDashboardTextAttributeFilters, targetDashboardAttributeFilterConfigs, isDrillToDashboard, intl }: IMapSourceMeasureFilterToOptionParams): IDrillFiltersConfigOption | undefined;
20
22
  export {};
21
23
  //# sourceMappingURL=mapSourceMeasureFilterToOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapSourceMeasureFilterToOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,OAAO,EACZ,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAUlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,qCAAqC;IAC3C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC1E,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5E,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,+BAA+B,EAAE,yBAAyB,EAAE,CAAC;IAC7D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAAC,EAC3C,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,+BAA+B,EAC/B,kBAAkB,EAClB,IAAI,EACP,EAAE,qCAAqC,GAAG,yBAAyB,GAAG,SAAS,CA2D/E"}
1
+ {"version":3,"file":"mapSourceMeasureFilterToOption.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,OAAO,EACZ,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAWlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,qCAAqC;IAC3C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yBAAyB,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC1E,sBAAsB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5E,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,+BAA+B,EAAE,yBAAyB,EAAE,CAAC;IAC7D,mCAAmC,EAAE,4BAA4B,EAAE,CAAC;IACpE,qCAAqC,EAAE,+BAA+B,EAAE,CAAC;IACzE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAAC,EAC3C,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,+BAA+B,EAC/B,mCAAmC,EACnC,qCAAqC,EACrC,kBAAkB,EAClB,IAAI,EACP,EAAE,qCAAqC,GAAG,yBAAyB,GAAG,SAAS,CA2D/E"}