@gooddata/sdk-ui-dashboard 11.43.0-alpha.1 → 11.43.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.
Files changed (57) hide show
  1. package/NOTICE +4826 -13873
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/index.d.ts +1 -1
  5. package/esm/index.d.ts.map +1 -1
  6. package/esm/index.js +1 -1
  7. package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts +2 -2
  8. package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts.map +1 -1
  9. package/esm/model/commandHandlers/dashboard/common/filterViews.js +1 -5
  10. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +1 -1
  11. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +1 -1
  12. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
  13. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +10 -5
  14. package/esm/model/queryServices/queryWidgetFilters.d.ts +1 -1
  15. package/esm/model/queryServices/queryWidgetFilters.d.ts.map +1 -1
  16. package/esm/model/queryServices/queryWidgetFilters.js +19 -36
  17. package/esm/model/store/config/configSelectors.d.ts +0 -6
  18. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  19. package/esm/model/store/config/configSelectors.js +0 -8
  20. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +1 -1
  21. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  22. package/esm/model/store/tabs/parameters/parametersHelpers.js +2 -2
  23. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +6 -0
  24. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  25. package/esm/model/store/tabs/parameters/parametersSelectors.js +11 -4
  26. package/esm/model/store/topBar/topBarSelectors.d.ts.map +1 -1
  27. package/esm/model/store/topBar/topBarSelectors.js +4 -4
  28. package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  29. package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +1 -2
  30. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
  31. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +18 -13
  32. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
  33. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +3 -4
  34. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.d.ts.map +1 -1
  35. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js +11 -13
  36. package/esm/presentation/export/DefaultDashboardExportVariables.d.ts.map +1 -1
  37. package/esm/presentation/export/DefaultDashboardExportVariables.js +13 -8
  38. package/esm/presentation/export/DefaultDashboardExportVariables.test.d.ts +2 -0
  39. package/esm/presentation/export/DefaultDashboardExportVariables.test.d.ts.map +1 -0
  40. package/esm/presentation/export/DefaultDashboardExportVariables.test.js +58 -0
  41. package/esm/presentation/export/types.d.ts +2 -1
  42. package/esm/presentation/export/types.d.ts.map +1 -1
  43. package/esm/presentation/export/useExportData.d.ts.map +1 -1
  44. package/esm/presentation/export/useExportData.js +6 -0
  45. package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.d.ts.map +1 -1
  46. package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js +3 -3
  47. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +1 -1
  48. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +2 -2
  49. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +1 -1
  50. package/esm/presentation/topBar/menuButton/DefaultMenuButton.d.ts.map +1 -1
  51. package/esm/presentation/topBar/menuButton/DefaultMenuButton.js +10 -19
  52. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.d.ts.map +1 -1
  53. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js +3 -4
  54. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.d.ts.map +1 -1
  55. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.js +1 -1
  56. package/esm/sdk-ui-dashboard.d.ts +2 -8
  57. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const EMPTY_PARAMETERS = [];
5
5
  /**
6
6
  * @internal
7
7
  */
8
- export const EMPTY_EXPORT_PARAMETERS = {};
8
+ export const EMPTY_EXPORT_PARAMETERS_BY_TAB = {};
9
9
  /**
10
10
  * Walks the insight's metric buckets and returns the parameter refs they reference,
11
11
  * deduped by ref string. The order matches the first occurrence in the measure traversal.
@@ -219,7 +219,7 @@ export function collectExportOverrides(tabRefSelections, workspaceByRef) {
219
219
  result[tab.localIdentifier] = rows;
220
220
  }
221
221
  }
222
- return Object.keys(result).length === 0 ? EMPTY_EXPORT_PARAMETERS : result;
222
+ return Object.keys(result).length === 0 ? EMPTY_EXPORT_PARAMETERS_BY_TAB : result;
223
223
  }
224
224
  /**
225
225
  * Builds per-tab ref selections for a widget-scope export: each widget's owning tab is restricted
@@ -149,4 +149,10 @@ export declare const selectEffectiveDashboardParametersForWidget: (ref: ObjRef |
149
149
  * @alpha
150
150
  */
151
151
  export declare const selectExportEffectiveParameters: (widgetIds: string[] | undefined) => DashboardSelector<Record<string, IDashboardExportParameter[]>>;
152
+ /**
153
+ * Active-tab slice of {@link selectExportEffectiveParameters}.
154
+ *
155
+ * @internal
156
+ */
157
+ export declare const selectActiveTabExportParameters: DashboardSelector<IDashboardExportParameter[]>;
152
158
  //# sourceMappingURL=parametersSelectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,MAAM,EAId,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAiBxD,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,sBAAsB,CAAC;AAkB9B;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAG9E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAG/E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,wBAAwB,EAAE,CAGzF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,GAAG,SAAS,CAMtF,CAAC;AAEP;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,CAC7C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,wBAAwB,GAAG,SAAS,CAI1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAGlG,CAAC;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAa7F,CAAC;AAEN;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kCAAkC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CA4BnG,CAAC;AA6BN;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAchE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,iBAAiB,CAChE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,CAa/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,EAAE,iBAAiB,CAAC,OAAO,CAGjF,CAAC;AA6BF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uCAAuC,EAAE,CAClD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,sBAAsB,EAAE,CA6B9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+CAA+C,EAAE,CAC1D,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,sBAAsB,EAAE,CAW9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2CAA2C,EAAE,CACtD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,mBAAmB,EAAE,CAe3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,+BAA+B,EAAE,CAC1C,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,KAC9B,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAGX,CAAC"}
1
+ {"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,MAAM,EAId,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAiBxD,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,sBAAsB,CAAC;AAmB9B;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAG9E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAG/E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,wBAAwB,EAAE,CAGzF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,GAAG,SAAS,CAMtF,CAAC;AAEP;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,CAC7C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,wBAAwB,GAAG,SAAS,CAI1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAGlG,CAAC;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAa7F,CAAC;AAEN;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kCAAkC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CA4BnG,CAAC;AA6BN;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAchE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,iBAAiB,CAChE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,CAa/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,EAAE,iBAAiB,CAAC,OAAO,CAGjF,CAAC;AA6BF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uCAAuC,EAAE,CAClD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,sBAAsB,EAAE,CA6B9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+CAA+C,EAAE,CAC1D,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,sBAAsB,EAAE,CAW9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2CAA2C,EAAE,CACtD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,mBAAmB,EAAE,CAe3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,+BAA+B,EAAE,CAC1C,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,KAC9B,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAGX,CAAC;AA6DxD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,yBAAyB,EAAE,CAI1F,CAAC"}
@@ -8,11 +8,12 @@ import { selectEnableParameters } from "../../config/configSelectors.js";
8
8
  import { selectInsightsMap } from "../../insights/insightsSelectors.js";
9
9
  import { selectIsInEditMode } from "../../renderMode/renderModeSelectors.js";
10
10
  import { selectAllTabsInsightWidgetContexts } from "../layout/layoutSelectors.js";
11
- import { selectActiveTab, selectTabs } from "../tabsSelectors.js";
11
+ import { selectActiveOrDefaultTabLocalIdentifier, selectActiveTab, selectTabs } from "../tabsSelectors.js";
12
12
  import { DEFAULT_TAB_ID } from "../tabsState.js";
13
- import { EMPTY_EXPORT_PARAMETERS, applyRuntimeOverride, buildPersistedByTabAndRef, buildWidgetScopeTabRefSelections, collectExportOverrides, collectReferencedParameterRefs, computeParameterResetTargets, computeParameterResetValue, smartPersistResolvedEntry, workspaceParametersByRef, } from "./parametersHelpers.js";
13
+ import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyRuntimeOverride, buildPersistedByTabAndRef, buildWidgetScopeTabRefSelections, collectExportOverrides, collectReferencedParameterRefs, computeParameterResetTargets, computeParameterResetValue, smartPersistResolvedEntry, workspaceParametersByRef, } from "./parametersHelpers.js";
14
14
  import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
15
15
  const EMPTY_PARAMETERS = [];
16
+ const EMPTY_EXPORT_PARAMETERS = [];
16
17
  const EMPTY_PARAMETER_VALUES = [];
17
18
  const EMPTY_TABS = [];
18
19
  const EMPTY_RESET_TARGETS = [];
@@ -293,16 +294,22 @@ export const selectExportEffectiveParameters = (widgetIds) => widgetIds?.length
293
294
  : selectExportEffectiveParametersDashboardScope;
294
295
  const selectExportEffectiveParametersDashboardScope = createSelector(selectTabs, selectEnableParameters, selectCatalogParameters, selectCatalogParametersIsLoaded, (tabs, isEnabled, catalogParameters, isCatalogLoaded) => {
295
296
  if (!isEnabled || !isCatalogLoaded || !tabs?.length) {
296
- return EMPTY_EXPORT_PARAMETERS;
297
+ return EMPTY_EXPORT_PARAMETERS_BY_TAB;
297
298
  }
298
299
  const workspaceByRef = new Map(catalogParameters.map((parameter) => [objRefToString(parameter.ref), parameter]));
299
300
  return collectExportOverrides(tabs.map((tab) => ({ tab })), workspaceByRef);
300
301
  });
301
302
  const selectExportEffectiveParametersForWidgets = createMemoizedSelector((widgetIds) => createSelector(selectAllTabsInsightWidgetContexts, selectInsightsMap, selectEnableParameters, selectCatalogParameters, selectCatalogParametersIsLoaded, selectCatalogMeasureParameters, selectCatalogMeasureParametersStatus, (widgetContexts, insights, isEnabled, catalogParameters, isCatalogLoaded, measureParameters, measureParametersStatus) => {
302
303
  if (!isEnabled || !isCatalogLoaded || measureParametersStatus !== "loaded") {
303
- return EMPTY_EXPORT_PARAMETERS;
304
+ return EMPTY_EXPORT_PARAMETERS_BY_TAB;
304
305
  }
305
306
  const workspaceByRef = new Map(catalogParameters.map((parameter) => [objRefToString(parameter.ref), parameter]));
306
307
  const tabRefSelections = buildWidgetScopeTabRefSelections(widgetContexts, widgetIds, insights, measureParameters);
307
308
  return collectExportOverrides(tabRefSelections, workspaceByRef);
308
309
  }));
310
+ /**
311
+ * Active-tab slice of {@link selectExportEffectiveParameters}.
312
+ *
313
+ * @internal
314
+ */
315
+ export const selectActiveTabExportParameters = createSelector(selectExportEffectiveParametersDashboardScope, selectActiveOrDefaultTabLocalIdentifier, (parametersByTab, activeTabId) => parametersByTab[activeTabId] ?? EMPTY_EXPORT_PARAMETERS);
@@ -1 +1 @@
1
- {"version":3,"file":"topBarSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/topBar/topBarSelectors.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1E;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAO7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,OAAO,CAIxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,OAAO,CAI/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,WAE3D;AAED;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,iBAAiB,CAAC,OAAO,CAK5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uCAAuC,EAAE,iBAAiB,CAAC,OAAO,CAO9E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAMhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAOhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,OAAO,CAIxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,OAAO,CAuBjE,CAAC;AAEF;;GAEG;AACH,wBAAgB,6CAA6C,CAAC,KAAK,EAAE,cAAc,WAElF;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,OAAO,CAuBrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CAAC,OAAO,CAMlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,OAAO,CAMrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,OAAO,CAYnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAW7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAkB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,CAM5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAM1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,OAAO,CAM/D,CAAC"}
1
+ {"version":3,"file":"topBarSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/topBar/topBarSelectors.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1E;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAO7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,OAAO,CAIxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,OAAO,CAI/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,WAE3D;AAED;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,iBAAiB,CAAC,OAAO,CAK5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uCAAuC,EAAE,iBAAiB,CAAC,OAAO,CAO9E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAMhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAOhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,OAAO,CAIxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,OAAO,CAuBjE,CAAC;AAEF;;GAEG;AACH,wBAAgB,6CAA6C,CAAC,KAAK,EAAE,cAAc,WAElF;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,OAAO,CAuBrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CAAC,OAAO,CAMlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,OAAO,CAMrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,OAAO,CAYnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAW7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAkB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,CAM5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAM1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,OAAO,CAK/D,CAAC"}
@@ -1,7 +1,7 @@
1
- // (C) 2021-2025 GoodData Corporation
1
+ // (C) 2021-2026 GoodData Corporation
2
2
  import { createSelector } from "@reduxjs/toolkit";
3
3
  import { selectSupportsCrossFiltering } from "../backendCapabilities/backendCapabilitiesSelectors.js";
4
- import { selectEnableAutomationManagement, selectEnableDashboardShareDialogLink, selectEnableFilterViews, selectEnableKDCrossFiltering, selectEnableKPIDashboardExportPDF, selectEnableSlideshowExports, selectIsExport, selectIsReadOnly, selectIsSaveAsNewButtonHidden, selectIsShareButtonHidden, selectIsWhiteLabeled, } from "../config/configSelectors.js";
4
+ import { selectEnableAutomationManagement, selectEnableDashboardShareDialogLink, selectEnableKDCrossFiltering, selectEnableKPIDashboardExportPDF, selectEnableSlideshowExports, selectIsExport, selectIsReadOnly, selectIsSaveAsNewButtonHidden, selectIsShareButtonHidden, selectIsWhiteLabeled, } from "../config/configSelectors.js";
5
5
  import { selectCanEditDashboardPermission, selectCanEditLockedDashboardPermission, selectCanShareDashboardPermission, selectCanShareLockedDashboardPermission, } from "../dashboardPermissions/dashboardPermissionsSelectors.js";
6
6
  import { selectListedDashboardsMap } from "../listedDashboards/listedDashboardsSelectors.js";
7
7
  import { selectIsDashboardLoading } from "../loading/loadingSelectors.js";
@@ -156,6 +156,6 @@ export const selectDeleteVisible = createSelector(selectIsInEditMode, selectMenu
156
156
  *
157
157
  * @internal
158
158
  */
159
- export const selectFilterViewsVisible = createSelector(selectEnableFilterViews, selectDisableFilterViews, (enableFilterViews, disableFilterViews) => {
160
- return enableFilterViews && !disableFilterViews;
159
+ export const selectFilterViewsVisible = createSelector(selectDisableFilterViews, (disableFilterViews) => {
160
+ return !disableFilterViews;
161
161
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"AA2DA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA2BxD,wBAAgB,sBAAsB,CAAC,EACnC,WAAW,EACX,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EAChB,EAAE,oBAAoB,2CAglBtB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,2CAMhE"}
1
+ {"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"AA2DA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA2BxD,wBAAgB,sBAAsB,CAAC,EACnC,WAAW,EACX,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EAChB,EAAE,oBAAoB,2CA+kBtB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,2CAMhE"}
@@ -125,9 +125,8 @@ export function AlertingDialogRenderer({ alertToEdit, users, usersError, notific
125
125
  message: validationErrorMessage,
126
126
  severity: isInvalidConnectionToInsight ? "error" : "warning",
127
127
  }),
128
- !!thresholdErrorMessage && createInvalidDatapoint({ message: thresholdErrorMessage }),
129
128
  ]);
130
- }, [validationErrorMessage, thresholdErrorMessage, isInvalidConnectionToInsight, setInvalidDatapoints]);
129
+ }, [validationErrorMessage, isInvalidConnectionToInsight, setInvalidDatapoints]);
131
130
  const helpTextId = isMobileView()
132
131
  ? defineMessage({ id: "dialogs.alerting.footer.title.short" }).id
133
132
  : defineMessage({ id: "dialogs.alerting.footer.title" }).id;
@@ -1 +1 @@
1
- {"version":3,"file":"useEditScheduledEmail.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.ts"],"names":[],"mappings":"AAOA,OAAO,EAGH,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAE9B,KAAK,4CAA4C,EACjD,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,oBAAoB,EAU5B,MAAM,qBAAqB,CAAC;AAqB7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAM3F,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAmBzF,MAAM,WAAW,2BAA2B;IACxC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9F,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,0BAA0B,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAEnE;;;OAGG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,+BAA+B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KAAK,IAAI,CAAC;IACzF,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACvD,gCAAgC,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC1E,qCAAqC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,4CAA4C,CAAC,UAAU,CAAC,CAAC;CACjF;AAED,wBAAgB,qBAAqB,CAAC,EAClC,qBAAqB,EACrB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,qCAAqC,EACxC,EAAE,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAu2B7B"}
1
+ {"version":3,"file":"useEditScheduledEmail.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.ts"],"names":[],"mappings":"AAOA,OAAO,EAGH,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAE9B,KAAK,4CAA4C,EACjD,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,oBAAoB,EAU5B,MAAM,qBAAqB,CAAC;AAqB7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAM3F,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAmBzF,MAAM,WAAW,2BAA2B;IACxC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9F,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,0BAA0B,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAEnE;;;OAGG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,+BAA+B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KAAK,IAAI,CAAC;IACzF,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACvD,gCAAgC,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC1E,qCAAqC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,4CAA4C,CAAC,UAAU,CAAC,CAAC;CACjF;AAED,wBAAgB,qBAAqB,CAAC,EAClC,qBAAqB,EACrB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,qCAAqC,EACxC,EAAE,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA62B7B"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2019-2026 GoodData Corporation
2
- import { useCallback, useMemo, useState } from "react";
2
+ import { useCallback, useMemo, useRef, useState } from "react";
3
3
  import { useIntl } from "react-intl";
4
4
  import { invariant } from "ts-invariant";
5
5
  import { DEFAULT_CSV_DELIMITER, insightProperties, isAutomationExternalUserRecipient, isAutomationUnknownUserRecipient, isAutomationUserRecipient, isExportDefinitionDashboardRequestPayload, isExportDefinitionVisualizationObjectRequestPayload, isInsightWidget, isWidget, objRefToString, } from "@gooddata/sdk-model";
@@ -110,10 +110,17 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
110
110
  parametersByTab: parametersByTabForNewAutomation,
111
111
  }));
112
112
  const [originalAutomation] = useState(editedAutomation);
113
+ // Holds the wire outside the automation so it survives a rebuild from zero export definitions —
114
+ // with no definitions `setExportParametersByTab` has nowhere to store it.
115
+ // Seeded from the stored wire.
116
+ const latestParametersWireRef = useRef(getAutomationExportParametersByTab(editedAutomation));
113
117
  // The user-edit path into `content.parametersByTab`: re-encoded wire in, every export definition
114
118
  // patched. Handed to `useAutomationExportParameters`, which owns when to call it. Definition
115
119
  // rebuilds preserve the wire separately via `withRebuiltExportDefinitions`.
116
- const setParametersWire = useCallback((wire) => setEditedAutomation((automation) => setExportParametersByTab(automation, wire)), []);
120
+ const setParametersWire = useCallback((wire) => {
121
+ latestParametersWireRef.current = wire;
122
+ setEditedAutomation((automation) => setExportParametersByTab(automation, wire));
123
+ }, []);
117
124
  const selectedAttachments = useMemo(() => {
118
125
  return (editedAutomation.exportDefinitions
119
126
  ?.map((exportDefinition) => exportDefinition.requestPayload.format)
@@ -128,7 +135,7 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
128
135
  setEditedAutomation((s) => ({
129
136
  ...s,
130
137
  schedule: {
131
- ...(s.schedule ?? {}),
138
+ ...s.schedule,
132
139
  cron: cronExpression,
133
140
  firstRun: toModifiedISOStringToTimezone(startDate ?? new Date(), timezone).iso,
134
141
  },
@@ -157,7 +164,7 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
157
164
  setEditedAutomation((s) => ({
158
165
  ...s,
159
166
  details: {
160
- ...(s.details ?? {}),
167
+ ...s.details,
161
168
  subject: value,
162
169
  },
163
170
  }));
@@ -167,7 +174,7 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
167
174
  setEditedAutomation((s) => ({
168
175
  ...s,
169
176
  details: {
170
- ...(s.details ?? {}),
177
+ ...s.details,
171
178
  message: value,
172
179
  },
173
180
  }));
@@ -188,7 +195,7 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
188
195
  format,
189
196
  }));
190
197
  const updatedExportDefinitions = [...keptExportDefinitions, ...newExportDefinitions];
191
- return withRebuiltExportDefinitions(s, updatedExportDefinitions);
198
+ return withRebuiltExportDefinitions(s, updatedExportDefinitions, latestParametersWireRef.current);
192
199
  });
193
200
  };
194
201
  const onWidgetAttachmentsChange = (formats) => {
@@ -212,7 +219,7 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
212
219
  defaultPdfPageSize,
213
220
  }));
214
221
  const updatedExportDefinitions = [...keptExportDefinitions, ...newExportDefinitions];
215
- return withRebuiltExportDefinitions(s, updatedExportDefinitions);
222
+ return withRebuiltExportDefinitions(s, updatedExportDefinitions, latestParametersWireRef.current);
216
223
  });
217
224
  };
218
225
  const onXlsxSettingsChange = useCallback((settings) => {
@@ -629,14 +636,12 @@ export function useEditScheduledEmail({ scheduledExportToEdit, notificationChann
629
636
  };
630
637
  }
631
638
  /**
632
- * Replaces an automation's export definitions while preserving the current parameter wire. Freshly
633
- * built definitions carry no `content.parametersByTab`, so without this the stored parameters would
634
- * silently drop on any attachment-format change the one place "rebuild definitions" stays paired
635
- * with "keep parameters".
639
+ * Rebuilds the export definitions and re-applies the parameter wire (fresh definitions carry no
640
+ * `content.parametersByTab`). The wire is passed in rather than read off `automation` so it survives
641
+ * a rebuild from zero definitionssee `latestParametersWireRef`.
636
642
  */
637
- function withRebuiltExportDefinitions(automation, exportDefinitions) {
643
+ function withRebuiltExportDefinitions(automation, exportDefinitions, parametersByTab) {
638
644
  const next = { ...automation, exportDefinitions };
639
- const parametersByTab = getAutomationExportParametersByTab(automation);
640
645
  return parametersByTab ? setExportParametersByTab(next, parametersByTab) : next;
641
646
  }
642
647
  function newDashboardExportDefinitionMetadataObjectDefinition({ dashboardId, dashboardTitle, dashboardFilters, filtersByTab, format, templateId, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultDashboardSettingsDialog.d.ts","sourceRoot":"","sources":["../../../src/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAoD,MAAM,OAAO,CAAC;AAsC5F,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAGhE;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,SAAS,EACT,OAAO,EACP,QAAQ,EACX,EAAE,6BAA6B,GAAG,YAAY,GAAG,IAAI,CAqMrD"}
1
+ {"version":3,"file":"DefaultDashboardSettingsDialog.d.ts","sourceRoot":"","sources":["../../../src/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAoD,MAAM,OAAO,CAAC;AAqC5F,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAGhE;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,SAAS,EACT,OAAO,EACP,QAAQ,EACX,EAAE,6BAA6B,GAAG,YAAY,GAAG,IAAI,CAkMrD"}
@@ -7,7 +7,7 @@ import { Bubble, BubbleHoverTrigger, ConfirmDialog, DialogListHeader, Dropdown,
7
7
  import { queryDateDatasetsForInsight, } from "../../model/queries/insights.js";
8
8
  import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
9
9
  import { useDashboardQueryProcessing } from "../../model/react/useDashboardQueryProcessing.js";
10
- import { selectDateFormat, selectEnableAlertsEvaluationFrequencySetup, selectEnableDashboardSectionHeadersDateDataSet, selectEnableFilterViews, selectIsWhiteLabeled, selectLocale, selectSettings, selectWeekStart, } from "../../model/store/config/configSelectors.js";
10
+ import { selectDateFormat, selectEnableAlertsEvaluationFrequencySetup, selectEnableDashboardSectionHeadersDateDataSet, selectIsWhiteLabeled, selectLocale, selectSettings, selectWeekStart, } from "../../model/store/config/configSelectors.js";
11
11
  import { selectCrossFilteringEnabledAndSupported } from "../../model/store/topBar/topBarSelectors.js";
12
12
  import { useDialogData } from "./useDialogData.js";
13
13
  /**
@@ -22,7 +22,6 @@ export function DefaultDashboardSettingsDialog({ isVisible, onApply, onCancel /*
22
22
  const locale = useDashboardSelector(selectLocale);
23
23
  const isCrossFilteringEnabledAndSupported = useDashboardSelector(selectCrossFilteringEnabledAndSupported);
24
24
  const enableAlertsEvaluationFrequencySetup = useDashboardSelector(selectEnableAlertsEvaluationFrequencySetup);
25
- const isFilterViewsFeatureEnabled = useDashboardSelector(selectEnableFilterViews);
26
25
  const settings = useDashboardSelector(selectSettings);
27
26
  const isWhiteLabeled = useDashboardSelector(selectIsWhiteLabeled);
28
27
  const enableDashboardSectionHeadersDateDataSet = useDashboardSelector(selectEnableDashboardSectionHeadersDateDataSet);
@@ -62,7 +61,7 @@ export function DefaultDashboardSettingsDialog({ isVisible, onApply, onCancel /*
62
61
  disableUserFilterReset: newValue,
63
62
  });
64
63
  } })
65
- ] })) : null, isFilterViewsFeatureEnabled ? (_jsx(ConfigurationOption, { label: intl.formatMessage({
64
+ ] })) : null, _jsx(ConfigurationOption, { label: intl.formatMessage({
66
65
  id: "filters.configurationPanel.filterViews.toggle",
67
66
  }), tooltip: intl.formatMessage({ id: "filters.configurationPanel.filterViews.toggle.tooltip" }, {
68
67
  p: (chunks) => _jsx("p", { children: chunks }),
@@ -71,7 +70,7 @@ export function DefaultDashboardSettingsDialog({ isVisible, onApply, onCancel /*
71
70
  ...currentData,
72
71
  disableFilterViews: newValue,
73
72
  });
74
- } })) : null, _jsx(ConfigurationOption, { label: intl.formatMessage({ id: "filters.configurationPanel.userFilterSave.toggle" }), tooltip: intl.formatMessage({
73
+ } }), _jsx(ConfigurationOption, { label: intl.formatMessage({ id: "filters.configurationPanel.userFilterSave.toggle" }), tooltip: intl.formatMessage({
75
74
  id: "filters.configurationPanel.userFilterSave.toggle.tooltip",
76
75
  }), isChecked: !currentData.disableUserFilterSave, onChange: (newValue) => {
77
76
  setCurrentData({
@@ -1 +1 @@
1
- {"version":3,"file":"CustomUrlEditor.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAoB,KAAK,SAAS,EAAW,MAAM,YAAY,CAAC;AAEvE,OAAO,EAKH,KAAK,MAAM,EAad,MAAM,qBAAqB,CAAC;AA+B7B,OAAO,EAAE,KAAK,cAAc,EAA4B,MAAM,gBAAgB,CAAC;AAG/E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,uBAAuB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5C,IAAI,EAAE,SAAS,CAAC;CACnB;AAsCD,wBAAgB,QAAQ,CAAC,EACrB,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,uBAAuB,EAC1B,EAAE,cAAc,kDAoBhB;AAwHD,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAmLD,MAAM,WAAW,qBAAqB;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACpD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,sCAAsC,EAAE,MAAM,EAAE,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,4BAA4B,EAAE,OAAO,CAAC;IACtC,uBAAuB,EAAE,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;CACrB;AAmHD,wBAAgB,eAAe,CAAC,KAAK,EAAE,qBAAqB,2CAkB3D"}
1
+ {"version":3,"file":"CustomUrlEditor.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAoB,KAAK,SAAS,EAAW,MAAM,YAAY,CAAC;AAEvE,OAAO,EAKH,KAAK,MAAM,EAad,MAAM,qBAAqB,CAAC;AA6B7B,OAAO,EAAE,KAAK,cAAc,EAA4B,MAAM,gBAAgB,CAAC;AAG/E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,uBAAuB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5C,IAAI,EAAE,SAAS,CAAC;CACnB;AAsCD,wBAAgB,QAAQ,CAAC,EACrB,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,uBAAuB,EAC1B,EAAE,cAAc,kDAoBhB;AAwHD,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAmLD,MAAM,WAAW,qBAAqB;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACpD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,sCAAsC,EAAE,MAAM,EAAE,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,4BAA4B,EAAE,OAAO,CAAC;IACtC,uBAAuB,EAAE,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;CACrB;AAmHD,wBAAgB,eAAe,CAAC,KAAK,EAAE,qBAAqB,2CAkB3D"}
@@ -9,13 +9,11 @@ import { filterObjRef, idRef, insightFilters as insightDefinitionFilters, isArbi
9
9
  import { ConfirmDialogBase, FullScreenOverlay, Overlay, OverlayController, OverlayControllerProvider, SyntaxHighlightingInput, useMediaQuery, } from "@gooddata/sdk-ui-kit";
10
10
  import { dashboardAttributeFilterItemToAttributeFilter } from "../../../../converters/filterConverters.js";
11
11
  import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
12
- import { useWidgetFilters } from "../../../../model/react/useWidgetFilters.js";
13
12
  import { selectAllCatalogDisplayFormsMap, selectAllCatalogMeasuresMap, } from "../../../../model/store/catalog/catalogSelectors.js";
14
13
  import { selectEnableMeasureValueFilterKD, selectIsWhiteLabeled, } from "../../../../model/store/config/configSelectors.js";
15
14
  import { selectInsightByWidgetRef } from "../../../../model/store/insights/insightsSelectors.js";
16
15
  import { selectAttributeFilterConfigsOverrides } from "../../../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
17
16
  import { selectFilterContextAttributeFilterItems, selectFilterContextMeasureValueFilters, } from "../../../../model/store/tabs/filterContext/filterContextSelectors.js";
18
- import { selectFilterableWidgetByRef } from "../../../../model/store/tabs/layout/layoutSelectors.js";
19
17
  import { DASHBOARD_HEADER_OVERLAYS_Z_INDEX } from "../../../constants/zIndex.js";
20
18
  import { useInvalidFilteringParametersIdentifiers } from "../../../widget/insight/configuration/DrillTargets/useInvalidFilteringParametersIdentifiers.js";
21
19
  import { isDrillToCustomUrlConfig } from "../../types.js";
@@ -291,19 +289,19 @@ function useInsightMeasureValueFilters(widgetRef, enabled) {
291
289
  }, [enabled, insight]);
292
290
  }
293
291
  function useSanitizedInsightFilters(widgetRef) {
294
- const widget = useDashboardSelector(selectFilterableWidgetByRef(widgetRef));
295
- const widgetFiltersResult = useWidgetFilters(widget);
292
+ const insight = useDashboardSelector(selectInsightByWidgetRef(widgetRef));
296
293
  const sanitizeAttributeFilter = useSanitizeAttributeFilter();
297
294
  return useMemo(() => {
298
- return widgetFiltersResult.status === "success"
299
- ? // Date filters are currently not supported, so filter them out
300
- uniqBy(widgetFiltersResult.result
301
- ?.filter(isAttributeFilter)
302
- .map(sanitizeAttributeFilter)
303
- .filter(isAttributeFilter), // filter out undefined values (eg. filters with removed display forms)
304
- (f) => serializeObjRef(filterObjRef(f)))
305
- : undefined;
306
- }, [widgetFiltersResult.status, widgetFiltersResult.result, sanitizeAttributeFilter]);
295
+ if (!insight) {
296
+ return undefined;
297
+ }
298
+ // Date filters are currently not supported, so filter them out
299
+ return uniqBy(insightDefinitionFilters(insight)
300
+ .filter(isAttributeFilter)
301
+ .map(sanitizeAttributeFilter)
302
+ .filter(isAttributeFilter), // filter out undefined values (eg. filters with removed display forms)
303
+ (f) => serializeObjRef(filterObjRef(f)));
304
+ }, [insight, sanitizeAttributeFilter]);
307
305
  }
308
306
  function useSanitizedDashboardFilters() {
309
307
  // Date filters are currently not supported, so select only attribute filters
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultDashboardExportVariables.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/DefaultDashboardExportVariables.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,UAAU,EAAE,EAAE,qCAAqC,kDA4EpG"}
1
+ {"version":3,"file":"DefaultDashboardExportVariables.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/DefaultDashboardExportVariables.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,qCAAqC;IAClD,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,UAAU,EAAE,EAAE,qCAAqC,kDAyEpG"}
@@ -6,6 +6,7 @@ import { useTheme } from "@gooddata/sdk-ui-theme-provider";
6
6
  import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
7
7
  import { selectConfig } from "../../model/store/config/configSelectors.js";
8
8
  import { selectDashboardDescriptor, selectDashboardId } from "../../model/store/meta/metaSelectors.js";
9
+ import { selectActiveTabExportParameters } from "../../model/store/tabs/parameters/parametersSelectors.js";
9
10
  import { selectCurrentUser } from "../../model/store/user/userSelectors.js";
10
11
  import { useDashboardRelatedFilters } from "./hooks/useDashboardRelatedFilters.js";
11
12
  import { useMetaExportData, useMetaExportImageData, useMetaPaletteData } from "./useExportData.js";
@@ -20,21 +21,25 @@ export function DefaultDashboardExportVariables({ renderMode }) {
20
21
  const dashboardId = useDashboardSelector(selectDashboardId);
21
22
  const dashboardDescriptor = useDashboardSelector(selectDashboardDescriptor);
22
23
  const { dateFilters, attributeFilters, measureValueFilters, isError, isLoading } = useDashboardRelatedFilters(run);
24
+ const parameters = useDashboardSelector(selectActiveTabExportParameters);
23
25
  const theme = useTheme();
24
26
  if (!run) {
25
27
  return null;
26
28
  }
29
+ const filterGroups = [
30
+ { kind: "date", items: dateFilters, attrs: exportData?.filters?.dateFilter },
31
+ { kind: "attribute", items: attributeFilters, attrs: exportData?.filters?.attributeFilter },
32
+ { kind: "measureValue", items: measureValueFilters, attrs: exportData?.filters?.measureValueFilter },
33
+ ];
34
+ const hasEntries = dateFilters.length + attributeFilters.length + measureValueFilters.length + parameters.length > 0;
27
35
  return (_jsxs("div", { className: "gd-dashboard-meta", ...exportData?.root, children: [
28
- _jsx("div", { ...exportData?.id, children: dashboardId }), dashboardDescriptor.title ? _jsx("div", { ...exportData?.title, children: dashboardDescriptor.title }) : null, dashboardDescriptor.description ? (_jsx("div", { ...exportData?.description, children: dashboardDescriptor.description })) : null, dashboardDescriptor.tags && dashboardDescriptor.tags.length > 0 ? (_jsx("div", { ...exportData?.tags?.root, children: dashboardDescriptor.tags.map((tag, i) => (_jsx("span", { ...exportData?.tags?.tag, children: tag }, i))) })) : null, _jsx("div", { ...exportData?.filters?.root, ...exportData?.filters?.rootData(isLoading, isError), children: dateFilters.length > 0 || attributeFilters.length > 0 || measureValueFilters.length > 0 ? (_jsxs(_Fragment, { children: [dateFilters.map((filter, i) => (_jsxs("div", { ...exportData?.filters?.dateFilter, ...exportData?.filters?.filter.filterData(filter, isLoading, isError), children: [
36
+ _jsx("div", { ...exportData?.id, children: dashboardId }), dashboardDescriptor.title ? _jsx("div", { ...exportData?.title, children: dashboardDescriptor.title }) : null, dashboardDescriptor.description ? (_jsx("div", { ...exportData?.description, children: dashboardDescriptor.description })) : null, dashboardDescriptor.tags && dashboardDescriptor.tags.length > 0 ? (_jsx("div", { ...exportData?.tags?.root, children: dashboardDescriptor.tags.map((tag, i) => (_jsx("span", { ...exportData?.tags?.tag, children: tag }, i))) })) : null, _jsx("div", { ...exportData?.filters?.root, ...exportData?.filters?.rootData(isLoading, isError), children: hasEntries ? (_jsxs(_Fragment, { children: [filterGroups.flatMap(({ kind, items, attrs }) => items.map((filter, i) => (_jsxs("div", { ...attrs, ...exportData?.filters?.filter.filterData(filter, isLoading, isError), children: [
29
37
  _jsx("span", { ...exportData?.filters?.filter.name, children: filter?.title }),
30
38
  " -", " ", _jsx("span", { ...exportData?.filters?.filter.value, children: filter?.subtitle })
31
- ] }, i))), attributeFilters.map((filter, i) => (_jsxs("div", { ...exportData?.filters?.attributeFilter, ...exportData?.filters?.filter.filterData(filter, isLoading, isError), children: [
32
- _jsx("span", { ...exportData?.filters?.filter.name, children: filter?.title }),
33
- " -", " ", _jsx("span", { ...exportData?.filters?.filter.value, children: filter?.subtitle })
34
- ] }, i))), measureValueFilters.map((filter, i) => (_jsxs("div", { ...exportData?.filters?.measureValueFilter, ...exportData?.filters?.filter.filterData(filter, isLoading, isError), children: [
35
- _jsx("span", { ...exportData?.filters?.filter.name, children: filter?.title }),
36
- " -", " ", _jsx("span", { ...exportData?.filters?.filter.value, children: filter?.subtitle })
37
- ] }, i)))] })) : null }), user?.fullName ? _jsx("div", { ...exportData?.user, children: user.fullName }) : null, conf.workspaceDescriptor ? (_jsx("div", { ...exportData?.workspace, children: conf.workspaceDescriptor.title })) : null, _jsx(MetaImage, { image: theme?.images?.logo, type: "logo" }), _jsx(MetaImage, { image: theme?.images?.coverImage, type: "cover-image" }), _jsx(Palette, { data: theme?.palette?.complementary })
39
+ ] }, `${kind}-${i}`)))), parameters.map((parameter, i) => (_jsxs("div", { ...exportData?.filters?.parameter, children: [
40
+ _jsx("span", { ...exportData?.filters?.filter.name, children: parameter.title }),
41
+ " -", " ", _jsx("span", { ...exportData?.filters?.filter.value, children: parameter.value })
42
+ ] }, `parameter-${i}`)))] })) : null }), user?.fullName ? _jsx("div", { ...exportData?.user, children: user.fullName }) : null, conf.workspaceDescriptor ? (_jsx("div", { ...exportData?.workspace, children: conf.workspaceDescriptor.title })) : null, _jsx(MetaImage, { image: theme?.images?.logo, type: "logo" }), _jsx(MetaImage, { image: theme?.images?.coverImage, type: "cover-image" }), _jsx(Palette, { data: theme?.palette?.complementary })
38
43
  ] }));
39
44
  }
40
45
  function MetaImage({ image, type, }) {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultDashboardExportVariables.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultDashboardExportVariables.test.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/DefaultDashboardExportVariables.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { render } from "@testing-library/react";
4
+ import { describe, expect, it, vi } from "vitest";
5
+ import { selectConfig } from "../../model/store/config/configSelectors.js";
6
+ import { selectDashboardDescriptor } from "../../model/store/meta/metaSelectors.js";
7
+ import { selectIsInExportMode } from "../../model/store/renderMode/renderModeSelectors.js";
8
+ import { selectActiveTabExportParameters } from "../../model/store/tabs/parameters/parametersSelectors.js";
9
+ vi.mock("../../model/react/DashboardStoreProvider.js", () => ({
10
+ useDashboardSelector: vi.fn(),
11
+ }));
12
+ vi.mock("./hooks/useDashboardRelatedFilters.js", () => ({
13
+ useDashboardRelatedFilters: () => ({
14
+ dateFilters: [],
15
+ attributeFilters: [],
16
+ measureValueFilters: [],
17
+ isLoading: false,
18
+ isError: false,
19
+ isSuccess: true,
20
+ }),
21
+ }));
22
+ import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
23
+ import { DefaultDashboardExportVariables } from "./DefaultDashboardExportVariables.js";
24
+ // Scoping lives in the selector (tested separately); here we drive its output.
25
+ function mockSelectors(parameters) {
26
+ const values = new Map([
27
+ [selectIsInExportMode, true],
28
+ [selectActiveTabExportParameters, parameters],
29
+ [selectConfig, {}],
30
+ [selectDashboardDescriptor, {}],
31
+ ]);
32
+ vi.mocked(useDashboardSelector).mockImplementation((selector) => values.get(selector));
33
+ }
34
+ function parameterEntries(container) {
35
+ return Array.from(container.querySelectorAll('[data-export-meta-filter-type="parameter"]')).map((node) => ({
36
+ name: node.querySelector('[data-export-meta-type="dashboard-filter-name"]')?.textContent ?? "",
37
+ value: node.querySelector('[data-export-meta-type="dashboard-filter-value"]')?.textContent ?? "",
38
+ // export-builder blocks on this per entry; missing/loading would hang the export.
39
+ status: node.getAttribute("data-export-meta-filter-status"),
40
+ }));
41
+ }
42
+ describe("DefaultDashboardExportVariables", () => {
43
+ it("renders active parameter overrides as ready entries in the filters block", () => {
44
+ mockSelectors([{ id: "topn", title: "Top N", value: "5" }]);
45
+ const { container } = render(_jsx(DefaultDashboardExportVariables, { renderMode: "export" }));
46
+ expect(parameterEntries(container)).toEqual([{ name: "Top N", value: "5", status: "loaded" }]);
47
+ });
48
+ it("renders no parameter entries when there are no active overrides", () => {
49
+ mockSelectors([]);
50
+ const { container } = render(_jsx(DefaultDashboardExportVariables, { renderMode: "export" }));
51
+ expect(parameterEntries(container)).toHaveLength(0);
52
+ });
53
+ it("renders nothing outside export mode", () => {
54
+ mockSelectors([{ id: "topn", title: "Top N", value: "5" }]);
55
+ const { container } = render(_jsx(DefaultDashboardExportVariables, { renderMode: "view" }));
56
+ expect(container.firstChild).toBeNull();
57
+ });
58
+ });
@@ -28,7 +28,7 @@ export type CommonExportDataAttributes = {
28
28
  */
29
29
  export type MetaExportDataAttributes = {
30
30
  "data-export-meta-type"?: ExportMetaType;
31
- "data-export-meta-filter-type"?: "date" | "attribute" | "measureValue";
31
+ "data-export-meta-filter-type"?: "date" | "attribute" | "measureValue" | "parameter";
32
32
  "data-export-meta-filter-mode"?: "readonly" | "hidden" | "active";
33
33
  "data-export-meta-filter-status"?: "loading" | "loaded" | "error";
34
34
  "data-export-meta-filters-status"?: "loading" | "loaded" | "error";
@@ -58,6 +58,7 @@ export type MetaExportData = {
58
58
  dateFilter: MetaExportDataAttributes;
59
59
  attributeFilter: MetaExportDataAttributes;
60
60
  measureValueFilter: MetaExportDataAttributes;
61
+ parameter: MetaExportDataAttributes;
61
62
  filter: {
62
63
  name: MetaExportDataAttributes;
63
64
  value: MetaExportDataAttributes;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useExportData.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/useExportData.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAClC,MAAM,YAAY,CAAC;AAsCpB;;GAEG;AACH,eAAO,MAAM,sBAAsB,iJAalC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,kDA+BhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,gHA6B3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,mEAyB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,sCAUjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,uIAiBtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,kCAmE7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,mIAelC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;CAwB9B,CAAC"}
1
+ {"version":3,"file":"useExportData.d.ts","sourceRoot":"","sources":["../../../src/presentation/export/useExportData.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAClC,MAAM,YAAY,CAAC;AAsCpB;;GAEG;AACH,eAAO,MAAM,sBAAsB,iJAalC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,kDA+BhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,gHA6B3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,mEAyB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,sCAUjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,uIAiBtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,kCAyE7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,mIAelC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;CAwB9B,CAAC"}
@@ -205,6 +205,12 @@ export const useMetaExportData = () => {
205
205
  "data-export-meta-type": "dashboard-filter",
206
206
  "data-export-meta-filter-type": "measureValue",
207
207
  },
208
+ parameter: {
209
+ "data-export-meta-type": "dashboard-filter",
210
+ "data-export-meta-filter-type": "parameter",
211
+ // No per-row fetch like filters. A rendered row is always complete.
212
+ "data-export-meta-filter-status": "loaded",
213
+ },
208
214
  filter: {
209
215
  name: {
210
216
  "data-export-meta-type": "dashboard-filter-name",
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultFilterBarContainer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/filterBar/DefaultFilterBarContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,SAAS,EAOjB,MAAM,OAAO,CAAC;AA0af;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,2CAQ/E"}
1
+ {"version":3,"file":"DefaultFilterBarContainer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/filterBar/DefaultFilterBarContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,SAAS,EAOjB,MAAM,OAAO,CAAC;AAwaf;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,2CAQ/E"}
@@ -12,7 +12,7 @@ import { isDashboardFilterContextSelectionReset, isDashboardFilterContextWorking
12
12
  import { isDashboardParametersSelectionReset } from "../../../model/events/parameters.js";
13
13
  import { useDashboardEventsContext } from "../../../model/react/DashboardEventsContext.js";
14
14
  import { useDashboardDispatch, useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
15
- import { selectEnableFilterViews, selectIsApplyFiltersAllAtOnceEnabledAndSet, selectLocale, } from "../../../model/store/config/configSelectors.js";
15
+ import { selectIsApplyFiltersAllAtOnceEnabledAndSet, selectLocale, } from "../../../model/store/config/configSelectors.js";
16
16
  import { selectIsInEditMode } from "../../../model/store/renderMode/renderModeSelectors.js";
17
17
  import { selectIsWorkingFilterContextChanged, selectNamesOfFiltersWithInvalidSelection, } from "../../../model/store/tabs/filterContext/filterContextSelectors.js";
18
18
  import { BulletsBar as FlexibleBulletsBar } from "../../flexibleLayout/dragAndDrop/Resize/BulletsBar.js";
@@ -30,7 +30,6 @@ const Measure = defaultImport(DefaultMeasure);
30
30
  function DefaultFilterBarContainerCore({ children }) {
31
31
  const { rows, height, isFilterBarExpanded, scrollable, setFilterBarExpanded, setCalculatedRows } = useFilterBarState();
32
32
  const dropRef = useFilterExpansionByDragAndDrop(rows.length > 1, isFilterBarExpanded, setFilterBarExpanded);
33
- const isFilterViewsFeatureFlagEnabled = useDashboardSelector(selectEnableFilterViews);
34
33
  const isWorkingFilterContextChanged = useDashboardSelector(selectIsWorkingFilterContextChanged);
35
34
  const isApplyAllAtOnceEnabledAndSet = useDashboardSelector(selectIsApplyFiltersAllAtOnceEnabledAndSet);
36
35
  const filtersWithInvalidSelection = useDashboardSelector(selectNamesOfFiltersWithInvalidSelection);
@@ -74,7 +73,8 @@ function DefaultFilterBarContainerCore({ children }) {
74
73
  _jsx(AllFiltersContainer, { setCalculatedRows: setCalculatedRows, isAutoExpanded: expandedAutomatically, children: children }), _jsx(FiltersRows, { rows: rows }), _jsxs("div", { className: "filter-bar-configuration", style: configurationStyle, children: [isApplyAllAtOnceEnabledAndSet && isWorkingFilterContextChanged ? (_jsx(UiTooltip, { content: bubbleText, triggerBy: ["hover", "focus"], disabled: !bubbleText, anchor: _jsx(UiButton, { accessibilityConfig: {
75
74
  ariaHaspopup: "dialog",
76
75
  ariaLabel: bubbleText,
77
- }, label: intl.formatMessage({ id: "apply" }), variant: "primary", onClick: applyAllDashboardFilters, isDisabled: hasInvalidFilterSelections }) })) : null, isFilterViewsFeatureFlagEnabled ? _jsx(FilterViews, {}) : null] })
76
+ }, label: intl.formatMessage({ id: "apply" }), variant: "primary", onClick: applyAllDashboardFilters, isDisabled: hasInvalidFilterSelections }) })) : null, _jsx(FilterViews, {})
77
+ ] })
78
78
  ] }), _jsx(ShowAllFiltersButton, { isFilterBarExpanded: isFilterBarExpanded, isVisible: rows.length > 1, onToggle: (isExpanded) => setFilterBarExpanded(isExpanded) }), isInEditMode ? _jsx(FlexibleBulletsBar, {}) : null] }), isWorkingFilterContextChanged && isApplyAllAtOnceEnabledAndSet ? (_jsx("div", { "aria-hidden": "true", className: "filters-message", style: { marginTop: rows.length > 1 ? "35px" : "10px" }, children: _jsx(Message, { type: "progress", children: _jsx(FormattedMessage, { id: "filterBar.unappliedFiltersNotification", values: {
79
79
  link: (chunks) => (_jsx("strong", { children: _jsxs(BubbleHoverTrigger, { showDelay: 100, hideDelay: 0, children: [
80
80
  _jsx(UiButton, { variant: "link", onClick: applyAllDashboardFilters, label: chunks, isDisabled: hasInvalidFilterSelections }), hasInvalidFilterSelections ? (_jsx(Bubble, { children: bubbleText })) : null] }) })),
@@ -742,7 +742,7 @@ export const fi_FI = {
742
742
  "insightAlert.config.accessibility.title": "Hälytyksen mukautettu nimi",
743
743
  "insightAlert.config.when": "Milloin",
744
744
  "insightAlert.config.for": "Kohteelle",
745
- "insightAlert.config.condition": "Kunto",
745
+ "insightAlert.config.condition": "Ehto",
746
746
  "insightAlert.config.threshold": "Kynnysarvo",
747
747
  "insightAlert.config.comparison": "Vertailu",
748
748
  "insightAlert.config.recipients": "Vastaanottajat",
@@ -365,7 +365,7 @@ export const nl_NL = {
365
365
  "attributesDropdown.save": "Opslaan",
366
366
  "attributesDropdown.filterBy": "Filteren volgens",
367
367
  "attributesDropdown.displayValuesAs": "Waarden tonen als",
368
- "attributesDropdown.title": "titel",
368
+ "attributesDropdown.title": "Titel",
369
369
  "attributesDropdown.title.reset": "Reset",
370
370
  "attributesDropdown.selectionMode": "Selectie",
371
371
  "attributesDropdown.selectionMode.multi": "Meerdere waarden",
@@ -495,7 +495,7 @@ export const nl_NL = {
495
495
  "configurationPanel.drillConfig.filterSelection.drillToDashboardRankingFilter.tooltip": "Top-/bottomfilters kunnen niet worden doorgegeven aan het doeldashboard.",
496
496
  "rankingFilter.preview.top_without_attribute_plain": "Top {value} van {measure}",
497
497
  "rankingFilter.preview.bottom_without_attribute_plain": "Bottom {value} van {measure}",
498
- "configurationPanel.visualprops.sectionTitle": "titel",
498
+ "configurationPanel.visualprops.sectionTitle": "Titel",
499
499
  "configurationPanel.visualprops.hideTitle": "Titel verbergen",
500
500
  "configurationPanel.visualprops.sectionDescription": "Beschrijving",
501
501
  "configurationPanel.visualprops.inheritDescription": "Erven",