@gooddata/sdk-ui-dashboard 11.41.0-alpha.0 → 11.41.0-alpha.2

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 (37) 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/index.d.ts +2 -1
  5. package/esm/index.js +1 -0
  6. package/esm/model/commandHandlers/dashboard/common/parameterHydration.js +7 -12
  7. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +11 -3
  8. package/esm/model/commandHandlers/index.js +2 -0
  9. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts +9 -0
  10. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.js +11 -0
  11. package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.js +2 -2
  12. package/esm/model/commands/base.d.ts +1 -1
  13. package/esm/model/commands/index.d.ts +2 -1
  14. package/esm/model/commands/parameters.d.ts +46 -0
  15. package/esm/model/commands/parameters.js +24 -0
  16. package/esm/model/commands/tabs.d.ts +24 -1
  17. package/esm/model/commands/tabs.js +4 -1
  18. package/esm/model/eventHandlers/drillToSameDashboardHandlerFactory.js +2 -0
  19. package/esm/model/events/drill.d.ts +6 -2
  20. package/esm/model/events/drill.js +2 -1
  21. package/esm/model/events/tabs.d.ts +12 -1
  22. package/esm/model/events/tabs.js +4 -1
  23. package/esm/model/store/config/configSelectors.js +1 -1
  24. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +23 -1
  25. package/esm/model/store/tabs/parameters/parametersHelpers.js +47 -1
  26. package/esm/model/store/tabs/parameters/parametersSelectors.js +2 -2
  27. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js +1 -2
  28. package/esm/sdk-ui-dashboard.d.ts +90 -4
  29. package/package.json +20 -20
  30. package/styles/css/dashboard.css +4 -0
  31. package/styles/css/dashboard.css.map +1 -1
  32. package/styles/css/main.css +12 -13
  33. package/styles/css/main.css.map +1 -1
  34. package/styles/css/sidebar.css +0 -5
  35. package/styles/css/sidebar.css.map +1 -1
  36. package/styles/scss/dashboard.scss +5 -0
  37. package/styles/scss/sidebar.scss +0 -8
package/NOTICE CHANGED
@@ -7,9 +7,9 @@
7
7
 
8
8
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
9
9
 
10
- Date generated: 2026-6-3
10
+ Date generated: 2026-6-4
11
11
 
12
- Revision ID: b9738773036699fe93297bb03e2fa59ed72696e9
12
+ Revision ID: a7fab12176348facd5a01002c6136fbda5f84b80
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -38775,4 +38775,4 @@ POSSIBILITY OF SUCH DAMAGE.
38775
38775
  --------------------------------------------------------------------------------
38776
38776
  --------------------------------------------------------------------------------
38777
38777
 
38778
- Report Generated by FOSSA on 2026-6-3
38778
+ Report Generated by FOSSA on 2026-6-4
@@ -1,3 +1,3 @@
1
- export declare const LIB_VERSION = "11.41.0-alpha.0";
1
+ export declare const LIB_VERSION = "11.41.0-alpha.2";
2
2
  export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
package/esm/__version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "11.41.0-alpha.0";
3
+ export const LIB_VERSION = "11.41.0-alpha.2";
4
4
  export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
5
5
  export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
package/esm/index.d.ts CHANGED
@@ -57,7 +57,8 @@ export { type IChangeRenderMode, type IChangeRenderModePayload, type IRenderMode
57
57
  export { type IChangeDashboardDensity, type IChangeDashboardDensityPayload, changeDashboardDensity, type IRequestOpenDensityDialog, requestOpenDensityDialog, } from "./model/commands/density.js";
58
58
  export { type IAddDrillTargets, type IAddDrillTargetsPayload, addDrillTargets, } from "./model/commands/drillTargets.js";
59
59
  export { type ISetShowWidgetAsTable, type ISetShowWidgetAsTablePayload, setShowWidgetAsTable, } from "./model/commands/showWidgetAsTable.js";
60
- export { type ISwitchDashboardTab, type ISwitchDashboardTabPayload, type ICreateDashboardTab, type ICreateDashboardTabPayload, type IRepositionDashboardTab, type IRepositionDashboardTabPayload, type IDeleteDashboardTab, type IDeleteDashboardTabPayload, type IStartRenamingDashboardTab, type IStartRenamingDashboardTabPayload, type ICancelRenamingDashboardTab, type ICancelRenamingDashboardTabPayload, type IRenameDashboardTab, type IRenameDashboardTabPayload, switchDashboardTab, repositionDashboardTab, createDashboardTab, deleteDashboardTab, startRenamingDashboardTab, cancelRenamingDashboardTab, renameDashboardTab, } from "./model/commands/tabs.js";
60
+ export { type ISwitchDashboardTab, type ISwitchDashboardTabPayload, type DashboardTabSwitchSource, type ICreateDashboardTab, type ICreateDashboardTabPayload, type IRepositionDashboardTab, type IRepositionDashboardTabPayload, type IDeleteDashboardTab, type IDeleteDashboardTabPayload, type IStartRenamingDashboardTab, type IStartRenamingDashboardTabPayload, type ICancelRenamingDashboardTab, type ICancelRenamingDashboardTabPayload, type IRenameDashboardTab, type IRenameDashboardTabPayload, switchDashboardTab, repositionDashboardTab, createDashboardTab, deleteDashboardTab, startRenamingDashboardTab, cancelRenamingDashboardTab, renameDashboardTab, } from "./model/commands/tabs.js";
61
+ export { type IChangeParameterValues, type IChangeParameterValuesPayload, type ChangeParameterValuesParams, changeParameterValues, } from "./model/commands/parameters.js";
61
62
  export { type IDashboardEvent, type DashboardEventType, type ICustomDashboardEvent, type DashboardEventBody, isDashboardEvent, isCustomDashboardEvent, isDashboardEventOrCustomDashboardEvent, } from "./model/events/base.js";
62
63
  export { type DateFilterValidationFailed, type DateFilterValidationFailedPayload, type DashboardInitialized, type DashboardInitializedPayload, type DashboardDeinitialized, type DashboardDeinitializedPayload, type DashboardSaved, type DashboardSavedPayload, type DashboardCopySaved, type DashboardCopySavedPayload, type IDashboardRenamed, type IDashboardRenamedPayload, type IDashboardWasReset, type IDashboardWasResetPayload, type IDashboardDeleted, type IDashboardDeletedPayload, type IDashboardExportToPdfRequested, type IDashboardExportToPdfResolved, type IDashboardExportToPdfResolvedPayload, type DashboardSharingChanged, type DashboardSharingChangedPayload, type IDashboardExportToExcelRequested, type IDashboardExportToExcelResolved, type IDashboardExportToPdfPresentationRequested, type IDashboardExportToPdfPresentationResolved, type IDashboardExportToPptPresentationRequested, type IDashboardExportToPptPresentationResolved, type IDashboardExportToExcelResolvedPayload, type IDashboardExportToPdfPresentationResolvedPayload, type IDashboardExportToPptPresentationResolvedPayload, type IDashboardIgnoreExecutionTimestampChanged, type IDashboardIgnoreExecutionTimestampChangedPayload, type IDashboardExportToImageRequested, type IDashboardExportToImageResolved, type IDashboardExportToImageResolvedPayload, isDashboardSaved, isDashboardCopySaved, isDashboardInitialized, isDashboardDeinitialized, isDashboardRenamed, isDashboardWasReset, isDashboardDeleted, isDateFilterValidationFailed, isDashboardExportToPdfRequested, isDashboardExportToPdfResolved, isDashboardSharingChanged, isDashboardExportToExcelRequested, isDashboardExportToExcelResolved, isDashboardExportToPdfPresentationRequested, isDashboardExportToPdfPresentationResolved, isDashboardExportToPptPresentationResolved, isDashboardExportToPptPresentationRequested, isDashboardExportToImageRequested, isDashboardExportToImageResolved, isDashboardIgnoreExecutionTimestampChanged, } from "./model/events/dashboard.js";
63
64
  export { type IDashboardTabSwitched, type IDashboardTabSwitchedPayload, type IDashboardTabCreated, type IDashboardTabCreatedPayload, type IDashboardTabDeleted, type IDashboardTabDeletedPayload, type IDashboardTabRenamingStarted, type IDashboardTabRenamingStartedPayload, type IDashboardTabRenamingCanceled, type IDashboardTabRenamingCanceledPayload, type IDashboardTabRenamed, type IDashboardTabRenamedPayload, dashboardTabSwitched, isDashboardTabSwitched, dashboardTabCreated, isDashboardTabCreated, dashboardTabDeleted, isDashboardTabDeleted, dashboardTabRenamingStarted, isDashboardTabRenamingStarted, dashboardTabRenamingCanceled, isDashboardTabRenamingCanceled, dashboardTabRenamed, isDashboardTabRenamed, } from "./model/events/tabs.js";
package/esm/index.js CHANGED
@@ -43,6 +43,7 @@ export { changeDashboardDensity, requestOpenDensityDialog, } from "./model/comma
43
43
  export { addDrillTargets, } from "./model/commands/drillTargets.js";
44
44
  export { setShowWidgetAsTable, } from "./model/commands/showWidgetAsTable.js";
45
45
  export { switchDashboardTab, repositionDashboardTab, createDashboardTab, deleteDashboardTab, startRenamingDashboardTab, cancelRenamingDashboardTab, renameDashboardTab, } from "./model/commands/tabs.js";
46
+ export { changeParameterValues, } from "./model/commands/parameters.js";
46
47
  // Re-export from events
47
48
  export { isDashboardEvent, isCustomDashboardEvent, isDashboardEventOrCustomDashboardEvent, } from "./model/events/base.js";
48
49
  export { isDashboardSaved, isDashboardCopySaved, isDashboardInitialized, isDashboardDeinitialized, isDashboardRenamed, isDashboardWasReset, isDashboardDeleted, isDateFilterValidationFailed, isDashboardExportToPdfRequested, isDashboardExportToPdfResolved, isDashboardSharingChanged, isDashboardExportToExcelRequested, isDashboardExportToExcelResolved, isDashboardExportToPdfPresentationRequested, isDashboardExportToPdfPresentationResolved, isDashboardExportToPptPresentationResolved, isDashboardExportToPptPresentationRequested, isDashboardExportToImageRequested, isDashboardExportToImageResolved, isDashboardIgnoreExecutionTimestampChanged, } from "./model/events/dashboard.js";
@@ -1,5 +1,6 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { isNumberParameterDefinition, objRefToString, } from "@gooddata/sdk-model";
2
+ import { objRefToString, } from "@gooddata/sdk-model";
3
+ import { computeHydratedRuntimeOverride, workspaceParametersByRef, } from "../../../store/tabs/parameters/parametersHelpers.js";
3
4
  import { pickTabParametersSource, } from "../../../store/tabs/parameters/parametersState.js";
4
5
  import { DEFAULT_TAB_ID } from "../../../store/tabs/tabsState.js";
5
6
  /**
@@ -15,17 +16,11 @@ export function hydrateParameterEntries(dashboardParameters, workspaceParameters
15
16
  if (!dashboardParameters || dashboardParameters.length === 0) {
16
17
  return [];
17
18
  }
18
- const workspaceByRef = new Map(workspaceParameters.map((wp) => [objRefToString(wp.ref), wp]));
19
- return dashboardParameters.map((parameter) => {
20
- if (parameter.value !== undefined) {
21
- return { parameter, runtimeOverride: parameter.value };
22
- }
23
- const workspaceParameter = workspaceByRef.get(objRefToString(parameter.ref));
24
- const workspaceDefault = workspaceParameter && isNumberParameterDefinition(workspaceParameter.definition)
25
- ? workspaceParameter.definition.defaultValue
26
- : undefined;
27
- return { parameter, runtimeOverride: workspaceDefault };
28
- });
19
+ const workspaceByRef = workspaceParametersByRef(workspaceParameters);
20
+ return dashboardParameters.map((parameter) => ({
21
+ parameter,
22
+ runtimeOverride: computeHydratedRuntimeOverride(parameter, workspaceByRef.get(objRefToString(parameter.ref))),
23
+ }));
29
24
  }
30
25
  /**
31
26
  * Distributes the dashboard's persisted parameters into per-tab hydrated entry lists, applying
@@ -8,12 +8,14 @@ import { switchDashboardTab } from "../../commands/tabs.js";
8
8
  import { drillToDashboardRequested, drillToDashboardResolved, } from "../../events/drill.js";
9
9
  import { generateFilterLocalIdentifier } from "../../store/_infra/generators.js";
10
10
  import { selectSupportsMultipleDateFilters } from "../../store/backendCapabilities/backendCapabilitiesSelectors.js";
11
- import { selectCatalogDateAttributes } from "../../store/catalog/catalogSelectors.js";
11
+ import { selectCatalogDateAttributes, selectCatalogParameters, } from "../../store/catalog/catalogSelectors.js";
12
12
  import { selectEnableMultipleDateFilters } from "../../store/config/configSelectors.js";
13
13
  import { selectInsightByRef } from "../../store/insights/insightsSelectors.js";
14
14
  import { selectAttributeFilterConfigsDisplayAsLabelMap, selectAttributeFilterConfigsOverrides, } from "../../store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
15
15
  import { selectFilterContextAttributeFilterItems, selectFilterContextDateFilter, selectFilterContextDraggableFilterItems, selectFilterContextMeasureValueFilters, } from "../../store/tabs/filterContext/filterContextSelectors.js";
16
16
  import { selectAnalyticalWidgetByRef } from "../../store/tabs/layout/layoutSelectors.js";
17
+ import { collectChangedParameterValues } from "../../store/tabs/parameters/parametersHelpers.js";
18
+ import { selectDashboardParameterEntries } from "../../store/tabs/parameters/parametersSelectors.js";
17
19
  import { convertIntersectionToAttributeFilters, removeIgnoredValuesFromDrillIntersection, } from "./common/intersectionUtils.js";
18
20
  import { mergeDashboardAndSourceFilters } from "./common/mergeFilters.js";
19
21
  import { getIncludedSourceFiltersForDashboard } from "./common/sourceDrillFilters.js";
@@ -68,12 +70,18 @@ export function* drillToDashboardHandler(ctx, cmd) {
68
70
  const mergedFilters = mergeDashboardAndSourceFilters(dashboardFilters, includedSourceFilters);
69
71
  // Order matters: intersection > common date > merged dashboard+source.
70
72
  const resultingFilters = compact([...intersectionFilters, commonDateFilter, ...mergedFilters]);
73
+ // Read before the tab switch: overrides are tab-scoped, so reading after would pick up the target tab.
74
+ const parameterEntries = yield select(selectDashboardParameterEntries);
75
+ const workspaceParameters = yield select(selectCatalogParameters);
76
+ const parameters = collectChangedParameterValues(parameterEntries, workspaceParameters);
71
77
  const targetTabLocalIdentifier = cmd.payload.drillDefinition.targetTabLocalIdentifier;
72
78
  if (targetTabLocalIdentifier && isDrillingToSelf) {
73
- yield put(switchDashboardTab(targetTabLocalIdentifier));
79
+ // Mark the switch as drill-originated so saved filter state is not restored over the
80
+ // drill filters on the target tab.
81
+ yield put(switchDashboardTab(targetTabLocalIdentifier, cmd.correlationId, "drillToSelf"));
74
82
  }
75
83
  // put end event
76
- return drillToDashboardResolved(ctx, resultingFilters, attributeFilterConfigs, cmd.payload.drillDefinition, cmd.payload.drillEvent, cmd.correlationId);
84
+ return drillToDashboardResolved(ctx, resultingFilters, attributeFilterConfigs, parameters, cmd.payload.drillDefinition, cmd.payload.drillEvent, cmd.correlationId);
77
85
  }
78
86
  function getDashboardFilterConfigs(dashboardFilters, attributeFilterDisplayAsLabelMap) {
79
87
  return dashboardFilters.reduce((result, filter) => {
@@ -78,6 +78,7 @@ import { setScreenSizeHandler } from "./layout/setScreenSizeHandler.js";
78
78
  import { toggleLayoutDirectionHandler } from "./layout/toggleLayoutDirectionHandler.js";
79
79
  import { toggleLayoutSectionHeadersHandler } from "./layout/toggleLayoutSectionHeadersHandler.js";
80
80
  import { undoLayoutChangesHandler } from "./layout/undoLayoutChangesHandler.js";
81
+ import { changeParameterValuesHandler } from "./parameters/changeParameterValuesHandler.js";
81
82
  import { requestAsyncRenderHandler } from "./render/requestAsyncRenderHandler.js";
82
83
  import { resolveAsyncRenderHandler } from "./render/resolveAsyncRenderHandler.js";
83
84
  import { changeRenderModeHandler } from "./renderMode/changeRenderModeHandler.js";
@@ -259,4 +260,5 @@ export const DefaultCommandHandlers = {
259
260
  "GDC.DASH/CMD.TAB.RENAME_MODE.START": startRenamingDashboardTabHandler,
260
261
  "GDC.DASH/CMD.TAB.RENAME_MODE.CANCEL": cancelRenamingDashboardTabHandler,
261
262
  "GDC.DASH/CMD.TAB.RENAME": renameDashboardTabHandler,
263
+ "GDC.DASH/CMD.PARAMETERS.CHANGE_VALUES": changeParameterValuesHandler,
262
264
  };
@@ -0,0 +1,9 @@
1
+ import { type SagaIterator } from "redux-saga";
2
+ import { type IChangeParameterValues } from "../../commands/parameters.js";
3
+ import { type DashboardContext } from "../../types/commonTypes.js";
4
+ /**
5
+ * Parameters not present on the active tab are ignored by the reducer.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare function changeParameterValuesHandler(_ctx: DashboardContext, cmd: IChangeParameterValues): SagaIterator<void>;
@@ -0,0 +1,11 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { put } from "redux-saga/effects";
3
+ import { tabsActions } from "../../store/tabs/index.js";
4
+ /**
5
+ * Parameters not present on the active tab are ignored by the reducer.
6
+ *
7
+ * @internal
8
+ */
9
+ export function* changeParameterValuesHandler(_ctx, cmd) {
10
+ yield put(tabsActions.setParameterRuntimeValues({ values: cmd.payload.parameters }));
11
+ }
@@ -8,7 +8,7 @@ import { selectActiveTabLocalIdentifier, selectTabs } from "../../store/tabs/tab
8
8
  * @internal
9
9
  */
10
10
  export function* switchDashboardTabHandler(ctx, cmd) {
11
- const { tabId } = cmd.payload;
11
+ const { tabId, source } = cmd.payload;
12
12
  const currentActiveTabId = yield select(selectActiveTabLocalIdentifier);
13
13
  const tabs = yield select(selectTabs);
14
14
  const newTab = tabs?.find((t) => t.localIdentifier === tabId);
@@ -19,5 +19,5 @@ export function* switchDashboardTabHandler(ctx, cmd) {
19
19
  actions.push(tabsActions.setActiveTabLocalIdentifier(newTab.localIdentifier));
20
20
  actions.push(tabsActions.clearLayoutHistory());
21
21
  yield put(batchActions(actions));
22
- return dashboardTabSwitched(ctx, currentActiveTabId, tabId, cmd.correlationId);
22
+ return dashboardTabSwitched(ctx, currentActiveTabId, tabId, cmd.correlationId, source);
23
23
  }
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @public
11
11
  */
12
- export type DashboardCommandType = "GDC.DASH/CMD.INITIALIZE" | "GDC.DASH/CMD.SAVE" | "GDC.DASH/CMD.SAVEAS" | "GDC.DASH/CMD.RESET" | "GDC.DASH/CMD.RENAME" | "GDC.DASH/CMD.DELETE" | "GDC.DASH/CMD.CHANGE_RENDER_MODE" | "GDC.DASH/CMD.SHARING.CHANGE" | "GDC.DASH/CMD.EXPORT.PDF" | "GDC.DASH/CMD.EXPORT.EXCEL" | "GDC.DASH/CMD.EXPORT.PDF_PRESENTATION" | "GDC.DASH/CMD.EXPORT.PPT_PRESENTATION" | "GDC.DASH/CMD.EVENT.TRIGGER" | "GDC.DASH/CMD.EXECUTION_RESULT.UPSERT" | "GDC.DASH/CMD.FILTER_CONTEXT.CHANGE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.CHANGE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.TEXT_ATTRIBUTE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.REMOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.MOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.CHANGE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER_ITEM.REPLACE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_PARENTS" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_DISPLAY_FORM" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_TITLE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_SELECTION_MODE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_DEPENDENT_DATE_FILTERS" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.REMOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.MOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.REMOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.MOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.CHANGE_CONDITION" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.SET_DIMENSIONALITY" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.SET_TITLE" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_MODE" | "GDC.DASH/CMD.MEASURE_VALUE_FILTER_CONFIG.SET_MODE" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_AVAILABLE_MODE" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_LIMITING_ITEMS" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_DISPLAY_AS_LABEL" | "GDC.DASH/CMD.DATE_FILTER_CONFIG.SET_MODE" | "GDC.DASH/CMD.DATE_FILTER_WITH_DIMENSION_CONFIG.SET_MODE" | "GDC.DASH/CMD.DATE_FILTER_CONFIG.SET_TITLE" | "GDC.DASH/CMD.FLUID_LAYOUT.ADD_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.MOVE_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.MOVE_ITEM_TO_NEW_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.REMOVE_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.CHANGE_SECTION_HEADER" | "GDC.DASH/CMD.FLUID_LAYOUT.ADD_ITEMS" | "GDC.DASH/CMD.FLUID_LAYOUT.REPLACE_ITEM" | "GDC.DASH/CMD.FLUID_LAYOUT.MOVE_ITEM" | "GDC.DASH/CMD.FLUID_LAYOUT.REMOVE_ITEM" | "GDC.DASH/CMD.FLUID_LAYOUT.REMOVE_ITEM_BY_WIDGET_REF" | "GDC.DASH/CMD.FLUID_LAYOUT.UNDO" | "GDC.DASH/CMD.FLUID_LAYOUT.RESIZE_HEIGHT" | "GDC.DASH/CMD.FLUID_LAYOUT.RESIZE_WIDTH" | "GDC.DASH/CMD.FLUID_LAYOUT.SET_SCREEN_SIZE" | "GDC.DASH/CMD.FLEXIBLE_LAYOUT.TOGGLE_LAYOUT_SECTION_HEADERS" | "GDC.DASH/CMD.FLEXIBLE_LAYOUT.TOGGLE_LAYOUT_DIRECTION" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_HEADER" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_MEASURE" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_FILTER_SETTINGS" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_COMPARISON" | "GDC.DASH/CMD.KPI_WIDGET.REFRESH" | "GDC.DASH/CMD.KPI_WIDGET.SET_DRILL" | "GDC.DASH/CMD.KPI_WIDGET.REMOVE_DRILL" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_DESCRIPTION" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_CONFIGURATION" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_HEADER" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_DESCRIPTION" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_FILTER_SETTINGS" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_PROPERTIES" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_CONFIGURATION" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_INSIGHT" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_IGNORE_CROSS_FILTERING" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT" | "GDC.DASH/CMD.INSIGHT_WIDGET.MODIFY_DRILLS" | "GDC.DASH/CMD.INSIGHT_WIDGET.REMOVE_DRILLS" | "GDC.DASH/CMD.INSIGHT_WIDGET.REMOVE_DRILL_DOWN" | "GDC.DASH/CMD.INSIGHT_WIDGET.REMOVE_DRILL_TO_URL" | "GDC.DASH/CMD.INSIGHT_WIDGET.ADD_DRILL_DOWN" | "GDC.DASH/CMD.INSIGHT_WIDGET.MODIFY_DRILL_DOWN" | "GDC.DASH/CMD.INSIGHT_WIDGET.REFRESH" | "GDC.DASH/CMD.RICH_TEXT_WIDGET.CHANGE_CONTENT" | "GDC.DASH/CMD.RICH_TEXT_WIDGET.CHANGE_FILTER_SETTINGS" | "GDC.DASH/CMD.VISUALIZATION_SWITCHER_WIDGET.ADD_VISUALIZATION" | "GDC.DASH/CMD.VISUALIZATION_SWITCHER_WIDGET.UPDATE_VISUALIZATIONS" | "GDC.DASH/CMD.ALERT.CREATE" | "GDC.DASH/CMD.ALERT.SAVE" | "GDC.DASH/CMD.SCHEDULED_EMAIL.CREATE" | "GDC.DASH/CMD.SCHEDULED_EMAIL.SAVE" | "GDC.DASH/CMD.DRILL" | "GDC.DASH/CMD.DRILL.DRILL_DOWN" | "GDC.DASH/CMD.DRILL.DRILL_TO_INSIGHT" | "GDC.DASH/CMD.DRILL.DRILL_TO_DASHBOARD" | "GDC.DASH/CMD.DRILL.DRILL_TO_ATTRIBUTE_URL" | "GDC.DASH/CMD.DRILL.DRILL_TO_CUSTOM_URL" | "GDC.DASH/CMD.DRILL.DRILL_TO_LEGACY_DASHBOARD" | "GDC.DASH/CMD.DRILL.DRILLABLE_ITEMS.CHANGE" | "GDC.DASH/CMD.DRILL.CROSS_FILTERING" | "GDC.DASH/CMD.DRILL.KEY_DRIVER_ANALYSIS" | "GDC.DASH/CMD.DRILL_TARGETS.ADD" | "GDC.DASH/CMD.RENDER.ASYNC.REQUEST" | "GDC.DASH/CMD.RENDER.ASYNC.RESOLVE" | "GDC.DASH/CMD.ATTRIBUTE_HIERARCHY_MODIFIED" | "GDC.DASH/CMD.AUTOMATIONS.INITIALIZE" | "GDC.DASH/CMD.AUTOMATIONS.REFRESH" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.SAVE" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.DELETE" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.APPLY" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.CHANGE_DEFAULT_STATUS" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.RELOAD" | "GDC.DASH/CMD.FILTER_CONTEXT.APPLY_WORKING_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.RESET_WORKING_SELECTION" | "GDC.DASH/CMD.CHANGE_IGNORE_EXECUTION_TIMESTAMP" | "GDC.DASH/CMD.TAB.SWITCH" | "GDC.DASH/CMD.TAB.REPOSITION" | "GDC.DASH/CMD.TAB.CREATE" | "GDC.DASH/CMD.TAB.DELETE" | "GDC.DASH/CMD.TAB.RENAME_MODE.START" | "GDC.DASH/CMD.TAB.RENAME_MODE.CANCEL" | "GDC.DASH/CMD.TAB.RENAME" | "GDC.DASH/CMD.USERS.LOAD_ALL" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT_RAW" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT_SLIDES" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT_IMAGE" | "GDC.DASH/CMD.SHOW_WIDGET_AS_TABLE.SET" | "GDC.DASH/CMD.CHANGE_DENSITY" | "GDC.DASH/CMD.OPEN_DENSITY_DIALOG";
12
+ export type DashboardCommandType = "GDC.DASH/CMD.INITIALIZE" | "GDC.DASH/CMD.SAVE" | "GDC.DASH/CMD.SAVEAS" | "GDC.DASH/CMD.RESET" | "GDC.DASH/CMD.RENAME" | "GDC.DASH/CMD.DELETE" | "GDC.DASH/CMD.CHANGE_RENDER_MODE" | "GDC.DASH/CMD.SHARING.CHANGE" | "GDC.DASH/CMD.EXPORT.PDF" | "GDC.DASH/CMD.EXPORT.EXCEL" | "GDC.DASH/CMD.EXPORT.PDF_PRESENTATION" | "GDC.DASH/CMD.EXPORT.PPT_PRESENTATION" | "GDC.DASH/CMD.EVENT.TRIGGER" | "GDC.DASH/CMD.EXECUTION_RESULT.UPSERT" | "GDC.DASH/CMD.FILTER_CONTEXT.CHANGE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.CHANGE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.TEXT_ATTRIBUTE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.REMOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.MOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.CHANGE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER_ITEM.REPLACE_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_PARENTS" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_DISPLAY_FORM" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_TITLE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_SELECTION_MODE" | "GDC.DASH/CMD.FILTER_CONTEXT.ATTRIBUTE_FILTER.SET_DEPENDENT_DATE_FILTERS" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.REMOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.DATE_FILTER.MOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.ADD" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.REMOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.MOVE" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.CHANGE_CONDITION" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.SET_DIMENSIONALITY" | "GDC.DASH/CMD.FILTER_CONTEXT.MEASURE_VALUE_FILTER.SET_TITLE" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_MODE" | "GDC.DASH/CMD.MEASURE_VALUE_FILTER_CONFIG.SET_MODE" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_AVAILABLE_MODE" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_LIMITING_ITEMS" | "GDC.DASH/CMD.ATTRIBUTE_FILTER_CONFIG.SET_DISPLAY_AS_LABEL" | "GDC.DASH/CMD.DATE_FILTER_CONFIG.SET_MODE" | "GDC.DASH/CMD.DATE_FILTER_WITH_DIMENSION_CONFIG.SET_MODE" | "GDC.DASH/CMD.DATE_FILTER_CONFIG.SET_TITLE" | "GDC.DASH/CMD.FLUID_LAYOUT.ADD_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.MOVE_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.MOVE_ITEM_TO_NEW_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.REMOVE_SECTION" | "GDC.DASH/CMD.FLUID_LAYOUT.CHANGE_SECTION_HEADER" | "GDC.DASH/CMD.FLUID_LAYOUT.ADD_ITEMS" | "GDC.DASH/CMD.FLUID_LAYOUT.REPLACE_ITEM" | "GDC.DASH/CMD.FLUID_LAYOUT.MOVE_ITEM" | "GDC.DASH/CMD.FLUID_LAYOUT.REMOVE_ITEM" | "GDC.DASH/CMD.FLUID_LAYOUT.REMOVE_ITEM_BY_WIDGET_REF" | "GDC.DASH/CMD.FLUID_LAYOUT.UNDO" | "GDC.DASH/CMD.FLUID_LAYOUT.RESIZE_HEIGHT" | "GDC.DASH/CMD.FLUID_LAYOUT.RESIZE_WIDTH" | "GDC.DASH/CMD.FLUID_LAYOUT.SET_SCREEN_SIZE" | "GDC.DASH/CMD.FLEXIBLE_LAYOUT.TOGGLE_LAYOUT_SECTION_HEADERS" | "GDC.DASH/CMD.FLEXIBLE_LAYOUT.TOGGLE_LAYOUT_DIRECTION" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_HEADER" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_MEASURE" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_FILTER_SETTINGS" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_COMPARISON" | "GDC.DASH/CMD.KPI_WIDGET.REFRESH" | "GDC.DASH/CMD.KPI_WIDGET.SET_DRILL" | "GDC.DASH/CMD.KPI_WIDGET.REMOVE_DRILL" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_DESCRIPTION" | "GDC.DASH/CMD.KPI_WIDGET.CHANGE_CONFIGURATION" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_HEADER" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_DESCRIPTION" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_FILTER_SETTINGS" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_PROPERTIES" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_CONFIGURATION" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_INSIGHT" | "GDC.DASH/CMD.INSIGHT_WIDGET.CHANGE_IGNORE_CROSS_FILTERING" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT" | "GDC.DASH/CMD.INSIGHT_WIDGET.MODIFY_DRILLS" | "GDC.DASH/CMD.INSIGHT_WIDGET.REMOVE_DRILLS" | "GDC.DASH/CMD.INSIGHT_WIDGET.REMOVE_DRILL_DOWN" | "GDC.DASH/CMD.INSIGHT_WIDGET.REMOVE_DRILL_TO_URL" | "GDC.DASH/CMD.INSIGHT_WIDGET.ADD_DRILL_DOWN" | "GDC.DASH/CMD.INSIGHT_WIDGET.MODIFY_DRILL_DOWN" | "GDC.DASH/CMD.INSIGHT_WIDGET.REFRESH" | "GDC.DASH/CMD.RICH_TEXT_WIDGET.CHANGE_CONTENT" | "GDC.DASH/CMD.RICH_TEXT_WIDGET.CHANGE_FILTER_SETTINGS" | "GDC.DASH/CMD.VISUALIZATION_SWITCHER_WIDGET.ADD_VISUALIZATION" | "GDC.DASH/CMD.VISUALIZATION_SWITCHER_WIDGET.UPDATE_VISUALIZATIONS" | "GDC.DASH/CMD.ALERT.CREATE" | "GDC.DASH/CMD.ALERT.SAVE" | "GDC.DASH/CMD.SCHEDULED_EMAIL.CREATE" | "GDC.DASH/CMD.SCHEDULED_EMAIL.SAVE" | "GDC.DASH/CMD.DRILL" | "GDC.DASH/CMD.DRILL.DRILL_DOWN" | "GDC.DASH/CMD.DRILL.DRILL_TO_INSIGHT" | "GDC.DASH/CMD.DRILL.DRILL_TO_DASHBOARD" | "GDC.DASH/CMD.DRILL.DRILL_TO_ATTRIBUTE_URL" | "GDC.DASH/CMD.DRILL.DRILL_TO_CUSTOM_URL" | "GDC.DASH/CMD.DRILL.DRILL_TO_LEGACY_DASHBOARD" | "GDC.DASH/CMD.DRILL.DRILLABLE_ITEMS.CHANGE" | "GDC.DASH/CMD.DRILL.CROSS_FILTERING" | "GDC.DASH/CMD.DRILL.KEY_DRIVER_ANALYSIS" | "GDC.DASH/CMD.DRILL_TARGETS.ADD" | "GDC.DASH/CMD.RENDER.ASYNC.REQUEST" | "GDC.DASH/CMD.RENDER.ASYNC.RESOLVE" | "GDC.DASH/CMD.ATTRIBUTE_HIERARCHY_MODIFIED" | "GDC.DASH/CMD.AUTOMATIONS.INITIALIZE" | "GDC.DASH/CMD.AUTOMATIONS.REFRESH" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.SAVE" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.DELETE" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.APPLY" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.CHANGE_DEFAULT_STATUS" | "GDC.DASH/CMD.FILTER_CONTEXT.FILTER_VIEW.RELOAD" | "GDC.DASH/CMD.FILTER_CONTEXT.APPLY_WORKING_SELECTION" | "GDC.DASH/CMD.FILTER_CONTEXT.RESET_WORKING_SELECTION" | "GDC.DASH/CMD.CHANGE_IGNORE_EXECUTION_TIMESTAMP" | "GDC.DASH/CMD.TAB.SWITCH" | "GDC.DASH/CMD.TAB.REPOSITION" | "GDC.DASH/CMD.TAB.CREATE" | "GDC.DASH/CMD.TAB.DELETE" | "GDC.DASH/CMD.TAB.RENAME_MODE.START" | "GDC.DASH/CMD.TAB.RENAME_MODE.CANCEL" | "GDC.DASH/CMD.TAB.RENAME" | "GDC.DASH/CMD.USERS.LOAD_ALL" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT_RAW" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT_SLIDES" | "GDC.DASH/CMD.INSIGHT_WIDGET.EXPORT_IMAGE" | "GDC.DASH/CMD.SHOW_WIDGET_AS_TABLE.SET" | "GDC.DASH/CMD.CHANGE_DENSITY" | "GDC.DASH/CMD.OPEN_DENSITY_DIALOG" | "GDC.DASH/CMD.PARAMETERS.CHANGE_VALUES";
13
13
  /**
14
14
  * @public
15
15
  */
@@ -9,6 +9,7 @@ import { type ChangeAttributeFilterSelection, type ChangeDateFilterSelection, ty
9
9
  import { type ChangeInsightWidgetVisConfiguration, type IAddDrillDownForInsightWidget, type IAttributeHierarchyModified, type IChangeInsightWidgetDescription, type IChangeInsightWidgetFilterSettings, type IChangeInsightWidgetHeader, type IChangeInsightWidgetIgnoreCrossFiltering, type IChangeInsightWidgetInsight, type IChangeInsightWidgetVisProperties, type IExportImageInsightWidget, type IExportInsightWidget, type IExportRawInsightWidget, type IExportSlidesInsightWidget, type IModifyDrillDownForInsightWidget, type IModifyDrillsForInsightWidget, type IRefreshInsightWidget, type IRemoveDrillDownForInsightWidget, type IRemoveDrillToUrlForInsightWidget, type IRemoveDrillsForInsightWidget } from "./insight.js";
10
10
  import { type IChangeKpiWidgetComparison, type IChangeKpiWidgetConfiguration, type IChangeKpiWidgetDescription, type IChangeKpiWidgetFilterSettings, type IChangeKpiWidgetHeader, type IChangeKpiWidgetMeasure, type IRefreshKpiWidget, type IRemoveDrillForKpiWidget, type ISetDrillForKpiWidget } from "./kpi.js";
11
11
  import { type ChangeLayoutSectionHeader, type IAddLayoutSection, type IAddSectionItems, type IMoveLayoutSection, type IMoveSectionItem, type IMoveSectionItemToNewSection, type IRemoveLayoutSection, type IRemoveSectionItem, type IRemoveSectionItemByWidgetRef, type IReplaceSectionItem, type IResizeHeight, type IResizeWidth, type ISetScreenSize, type IToggleLayoutDirection, type IToggleLayoutSectionHeaders, type IUndoLayoutChanges } from "./layout.js";
12
+ import { type IChangeParameterValues } from "./parameters.js";
12
13
  import { type RequestAsyncRender, type ResolveAsyncRender } from "./render.js";
13
14
  import { type IChangeRenderMode } from "./renderMode.js";
14
15
  import { type IChangeRichTextWidgetContent, type IChangeRichTextWidgetFilterSettings } from "./richText.js";
@@ -27,4 +28,4 @@ import { type IAddVisualizationToVisualizationSwitcherWidgetContent, type IUpdat
27
28
  *
28
29
  * @public
29
30
  */
30
- export type DashboardCommands = InitializeDashboard | SaveDashboardAs | RequestAsyncRender | ResolveAsyncRender | ChangeFilterContextSelection | ChangeDateFilterSelection | ChangeAttributeFilterSelection | ReplaceAttributeFilterItemSelection | IChangeRenderMode | IChangeDashboardDensity | IRequestOpenDensityDialog | ISaveDashboard | IRenameDashboard | IResetDashboard | IExportDashboardToPdf | IExportDashboardToExcel | IExportDashboardToPdfPresentation | IExportDashboardToPptPresentation | IDeleteDashboard | ITriggerEvent | IUpsertExecutionResult | IAddAttributeFilter | IAddTextAttributeFilter | IRemoveAttributeFilters | IMoveAttributeFilter | ISetAttributeFilterParents | ISetAttributeFilterDependentDateFilters | IAddLayoutSection | IMoveLayoutSection | IRemoveLayoutSection | ChangeLayoutSectionHeader | IResizeHeight | IResizeWidth | IAddSectionItems | IReplaceSectionItem | IMoveSectionItem | IMoveSectionItemToNewSection | IRemoveSectionItem | IRemoveSectionItemByWidgetRef | IUndoLayoutChanges | IChangeKpiWidgetHeader | IChangeKpiWidgetDescription | IChangeKpiWidgetConfiguration | IChangeKpiWidgetMeasure | IChangeKpiWidgetFilterSettings | IChangeKpiWidgetComparison | IRefreshKpiWidget | ISetDrillForKpiWidget | IRemoveDrillForKpiWidget | IChangeInsightWidgetHeader | IChangeInsightWidgetDescription | IChangeInsightWidgetIgnoreCrossFiltering | IChangeInsightWidgetFilterSettings | IChangeInsightWidgetVisProperties | ChangeInsightWidgetVisConfiguration | IChangeInsightWidgetInsight | IModifyDrillsForInsightWidget | IRemoveDrillsForInsightWidget | IRefreshInsightWidget | IExportInsightWidget | ICreateAlert | ISaveAlert | ICreateScheduledEmail | ISaveScheduledEmail | IChangeSharing | ISetAttributeFilterDisplayForm | ISetAttributeFilterTitle | ISetMeasureValueFilterTitle | ISetMeasureValueFilterDimensionality | ISetAttributeFilterSelectionMode | IChangeRichTextWidgetContent | IChangeRichTextWidgetFilterSettings | IAddVisualizationToVisualizationSwitcherWidgetContent | IUpdateVisualizationsFromVisualizationSwitcherWidgetContent | IDrill | IDrillDown | IDrillToAttributeUrl | IDrillToCustomUrl | IDrillToDashboard | IDrillToInsight | IDrillToLegacyDashboard | IChangeDrillableItems | IAddDrillTargets | ISetDashboardDateFilterConfigMode | ISetDashboardAttributeFilterConfigMode | ISetDashboardMeasureValueFilterConfigMode | ISetDashboardAttributeFilterSelectionType | ISetDashboardAttributeFilterConfigDisplayAsLabel | IRemoveDrillDownForInsightWidget | IRemoveDrillToUrlForInsightWidget | IAddDrillDownForInsightWidget | IModifyDrillDownForInsightWidget | ICrossFiltering | IKeyDriverAnalysis | IAttributeHierarchyModified | IAddDateFilter | IAddMeasureValueFilter | IRemoveMeasureValueFilters | IRemoveDateFilters | IMoveDateFilter | IChangeMeasureValueFilterCondition | IMoveMeasureValueFilter | ISetDashboardDateFilterWithDimensionConfigMode | ISetDateFilterConfigTitle | IInitializeAutomations | IRefreshAutomations | ISetAttributeFilterLimitingItems | ISaveFilterView | IDeleteFilterView | IApplyFilterView | ISetFilterViewAsDefault | IReloadFilterViews | IToggleLayoutSectionHeaders | IToggleLayoutDirection | IApplyFilterContextWorkingSelection | IResetFilterContextWorkingSelection | IChangeIgnoreExecutionTimestamp | ISwitchDashboardTab | ICreateDashboardTab | IRepositionDashboardTab | IDeleteDashboardTab | IStartRenamingDashboardTab | ICancelRenamingDashboardTab | IRenameDashboardTab | ISetScreenSize | ILoadAllWorkspaceUsers | IExportRawInsightWidget | IExportSlidesInsightWidget | IExportImageInsightWidget | ISetShowWidgetAsTable;
31
+ export type DashboardCommands = InitializeDashboard | SaveDashboardAs | RequestAsyncRender | ResolveAsyncRender | ChangeFilterContextSelection | ChangeDateFilterSelection | ChangeAttributeFilterSelection | ReplaceAttributeFilterItemSelection | IChangeRenderMode | IChangeDashboardDensity | IRequestOpenDensityDialog | ISaveDashboard | IRenameDashboard | IResetDashboard | IExportDashboardToPdf | IExportDashboardToExcel | IExportDashboardToPdfPresentation | IExportDashboardToPptPresentation | IDeleteDashboard | ITriggerEvent | IUpsertExecutionResult | IAddAttributeFilter | IAddTextAttributeFilter | IRemoveAttributeFilters | IMoveAttributeFilter | ISetAttributeFilterParents | ISetAttributeFilterDependentDateFilters | IAddLayoutSection | IMoveLayoutSection | IRemoveLayoutSection | ChangeLayoutSectionHeader | IResizeHeight | IResizeWidth | IAddSectionItems | IReplaceSectionItem | IMoveSectionItem | IMoveSectionItemToNewSection | IRemoveSectionItem | IRemoveSectionItemByWidgetRef | IUndoLayoutChanges | IChangeKpiWidgetHeader | IChangeKpiWidgetDescription | IChangeKpiWidgetConfiguration | IChangeKpiWidgetMeasure | IChangeKpiWidgetFilterSettings | IChangeKpiWidgetComparison | IRefreshKpiWidget | ISetDrillForKpiWidget | IRemoveDrillForKpiWidget | IChangeInsightWidgetHeader | IChangeInsightWidgetDescription | IChangeInsightWidgetIgnoreCrossFiltering | IChangeInsightWidgetFilterSettings | IChangeInsightWidgetVisProperties | ChangeInsightWidgetVisConfiguration | IChangeInsightWidgetInsight | IModifyDrillsForInsightWidget | IRemoveDrillsForInsightWidget | IRefreshInsightWidget | IExportInsightWidget | ICreateAlert | ISaveAlert | ICreateScheduledEmail | ISaveScheduledEmail | IChangeSharing | ISetAttributeFilterDisplayForm | ISetAttributeFilterTitle | ISetMeasureValueFilterTitle | ISetMeasureValueFilterDimensionality | ISetAttributeFilterSelectionMode | IChangeRichTextWidgetContent | IChangeRichTextWidgetFilterSettings | IAddVisualizationToVisualizationSwitcherWidgetContent | IUpdateVisualizationsFromVisualizationSwitcherWidgetContent | IDrill | IDrillDown | IDrillToAttributeUrl | IDrillToCustomUrl | IDrillToDashboard | IDrillToInsight | IDrillToLegacyDashboard | IChangeDrillableItems | IAddDrillTargets | ISetDashboardDateFilterConfigMode | ISetDashboardAttributeFilterConfigMode | ISetDashboardMeasureValueFilterConfigMode | ISetDashboardAttributeFilterSelectionType | ISetDashboardAttributeFilterConfigDisplayAsLabel | IRemoveDrillDownForInsightWidget | IRemoveDrillToUrlForInsightWidget | IAddDrillDownForInsightWidget | IModifyDrillDownForInsightWidget | ICrossFiltering | IKeyDriverAnalysis | IAttributeHierarchyModified | IAddDateFilter | IAddMeasureValueFilter | IRemoveMeasureValueFilters | IRemoveDateFilters | IMoveDateFilter | IChangeMeasureValueFilterCondition | IMoveMeasureValueFilter | ISetDashboardDateFilterWithDimensionConfigMode | ISetDateFilterConfigTitle | IInitializeAutomations | IRefreshAutomations | ISetAttributeFilterLimitingItems | ISaveFilterView | IDeleteFilterView | IApplyFilterView | ISetFilterViewAsDefault | IReloadFilterViews | IToggleLayoutSectionHeaders | IToggleLayoutDirection | IApplyFilterContextWorkingSelection | IResetFilterContextWorkingSelection | IChangeIgnoreExecutionTimestamp | ISwitchDashboardTab | ICreateDashboardTab | IRepositionDashboardTab | IDeleteDashboardTab | IStartRenamingDashboardTab | ICancelRenamingDashboardTab | IRenameDashboardTab | ISetScreenSize | ILoadAllWorkspaceUsers | IExportRawInsightWidget | IExportSlidesInsightWidget | IExportImageInsightWidget | ISetShowWidgetAsTable | IChangeParameterValues;
@@ -0,0 +1,46 @@
1
+ import { type IInsightParameterValue } from "@gooddata/sdk-model";
2
+ import { type IDashboardCommand } from "./base.js";
3
+ /**
4
+ * Params for {@link changeParameterValues} command.
5
+ *
6
+ * @internal
7
+ */
8
+ export type ChangeParameterValuesParams = {
9
+ parameters: IInsightParameterValue[];
10
+ correlationId?: string;
11
+ };
12
+ /**
13
+ * Payload of the {@link IChangeParameterValues} command.
14
+ *
15
+ * @internal
16
+ */
17
+ export interface IChangeParameterValuesPayload {
18
+ readonly parameters: IInsightParameterValue[];
19
+ }
20
+ /**
21
+ * Command for setting runtime parameter overrides on the currently active tab.
22
+ *
23
+ * @remarks
24
+ * See {@link changeParameterValues} for a factory function that will help you create this command.
25
+ *
26
+ * @internal
27
+ */
28
+ export interface IChangeParameterValues extends IDashboardCommand {
29
+ readonly type: "GDC.DASH/CMD.PARAMETERS.CHANGE_VALUES";
30
+ readonly payload: IChangeParameterValuesPayload;
31
+ }
32
+ /**
33
+ * Creates the {@link IChangeParameterValues} command.
34
+ *
35
+ * @remarks
36
+ * Dispatching this command sets the provided parameter values as runtime overrides on the
37
+ * currently active tab. Only parameters already present on the active tab are affected; values
38
+ * for unknown parameter refs are ignored.
39
+ *
40
+ * Mirrors {@link changeFilterContextSelectionByParams} for parameters, so drill targets can
41
+ * inherit the source dashboard's active parameter overrides.
42
+ *
43
+ * @param params - params for the command creator
44
+ * @internal
45
+ */
46
+ export declare function changeParameterValues({ parameters, correlationId }: ChangeParameterValuesParams): IChangeParameterValues;
@@ -0,0 +1,24 @@
1
+ // (C) 2026 GoodData Corporation
2
+ /**
3
+ * Creates the {@link IChangeParameterValues} command.
4
+ *
5
+ * @remarks
6
+ * Dispatching this command sets the provided parameter values as runtime overrides on the
7
+ * currently active tab. Only parameters already present on the active tab are affected; values
8
+ * for unknown parameter refs are ignored.
9
+ *
10
+ * Mirrors {@link changeFilterContextSelectionByParams} for parameters, so drill targets can
11
+ * inherit the source dashboard's active parameter overrides.
12
+ *
13
+ * @param params - params for the command creator
14
+ * @internal
15
+ */
16
+ export function changeParameterValues({ parameters, correlationId, }) {
17
+ return {
18
+ type: "GDC.DASH/CMD.PARAMETERS.CHANGE_VALUES",
19
+ correlationId,
20
+ payload: {
21
+ parameters,
22
+ },
23
+ };
24
+ }
@@ -1,4 +1,17 @@
1
1
  import { type IDashboardCommand } from "./base.js";
2
+ /**
3
+ * What triggered a {@link ISwitchDashboardTab} command.
4
+ *
5
+ * Open-ended set of values that may grow over time; treat unknown values defensively. When
6
+ * omitted, the switch is a regular user-initiated tab switch.
7
+ *
8
+ * - `"drillToSelf"` - the switch is part of a drill to the same dashboard targeting a different
9
+ * tab. The drill owns the target tab's filter context, so consumers that restore per-tab filter
10
+ * state on switches (e.g. "Auto-save last state") should skip their restore for it.
11
+ *
12
+ * @alpha
13
+ */
14
+ export type DashboardTabSwitchSource = "drillToSelf";
2
15
  /**
3
16
  * Payload of the {@link ISwitchDashboardTab} command.
4
17
  * @alpha
@@ -8,6 +21,14 @@ export interface ISwitchDashboardTabPayload {
8
21
  * Identifier of the tab to switch to.
9
22
  */
10
23
  readonly tabId: string;
24
+ /**
25
+ * What triggered this tab switch.
26
+ *
27
+ * @remarks
28
+ * Omit for a regular user-initiated tab switch. See {@link DashboardTabSwitchSource} for the
29
+ * recognized values and their effect.
30
+ */
31
+ readonly source?: DashboardTabSwitchSource;
11
32
  }
12
33
  /**
13
34
  * Command to switch to a different dashboard tab.
@@ -29,11 +50,13 @@ export interface ISwitchDashboardTab extends IDashboardCommand {
29
50
  *
30
51
  * @param tabId - identifier of the tab to switch to
31
52
  * @param correlationId - specify correlation id to use for this command
53
+ * @param source - what triggered the switch; omit for a regular user-initiated tab switch.
54
+ * See {@link DashboardTabSwitchSource}.
32
55
  * @returns switch dashboard tab command
33
56
  *
34
57
  * @alpha
35
58
  */
36
- export declare function switchDashboardTab(tabId: string, correlationId?: string): ISwitchDashboardTab;
59
+ export declare function switchDashboardTab(tabId: string, correlationId?: string, source?: DashboardTabSwitchSource): ISwitchDashboardTab;
37
60
  /**
38
61
  * Command to reposition a dashboard tab.
39
62
  *
@@ -4,16 +4,19 @@
4
4
  *
5
5
  * @param tabId - identifier of the tab to switch to
6
6
  * @param correlationId - specify correlation id to use for this command
7
+ * @param source - what triggered the switch; omit for a regular user-initiated tab switch.
8
+ * See {@link DashboardTabSwitchSource}.
7
9
  * @returns switch dashboard tab command
8
10
  *
9
11
  * @alpha
10
12
  */
11
- export function switchDashboardTab(tabId, correlationId) {
13
+ export function switchDashboardTab(tabId, correlationId, source) {
12
14
  return {
13
15
  type: "GDC.DASH/CMD.TAB.SWITCH",
14
16
  correlationId,
15
17
  payload: {
16
18
  tabId,
19
+ source,
17
20
  },
18
21
  };
19
22
  }
@@ -1,6 +1,7 @@
1
1
  // (C) 2021-2026 GoodData Corporation
2
2
  import { areObjRefsEqual } from "@gooddata/sdk-model";
3
3
  import { changeFilterContextSelectionByParams } from "../commands/filters.js";
4
+ import { changeParameterValues } from "../commands/parameters.js";
4
5
  import { newDashboardEventPredicate } from "../events/index.js";
5
6
  /**
6
7
  * Event handler with the default implementation for drill to the same dashboard.
@@ -23,5 +24,6 @@ export const newDrillToSameDashboardHandler = (dashboardRef) => ({
23
24
  filters: event.payload.filters,
24
25
  attributeFilterConfigs: event.payload.attributeFilterConfigs,
25
26
  }));
27
+ dispatch(changeParameterValues({ parameters: event.payload.parameters }));
26
28
  },
27
29
  });
@@ -1,4 +1,4 @@
1
- import { type FilterContextItem, type IAttributeDescriptor, type ICrossFiltering, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDrillToAttributeUrl, type IDrillToCustomUrl, type IDrillToDashboard, type IDrillToInsight, type IDrillToLegacyDashboard, type IInsight, type IKeyDriveAnalysis, type IMeasureDescriptor } from "@gooddata/sdk-model";
1
+ import { type FilterContextItem, type IAttributeDescriptor, type ICrossFiltering, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDrillToAttributeUrl, type IDrillToCustomUrl, type IDrillToDashboard, type IDrillToInsight, type IDrillToLegacyDashboard, type IInsight, type IInsightParameterValue, type IKeyDriveAnalysis, type IMeasureDescriptor } from "@gooddata/sdk-model";
2
2
  import { type ExplicitDrill, type ITableDataAttributeScope } from "@gooddata/sdk-ui";
3
3
  import { type IKdaDefinition } from "../../kdaDialog/types.js";
4
4
  import { type IDashboardDrillContext, type IDashboardDrillEvent, type IDashboardFilter, type IDrillDownDefinition } from "../../types.js";
@@ -313,6 +313,10 @@ export interface IDashboardDrillToDashboardResolvedPayload {
313
313
  * Attribute filter configs with additional props
314
314
  */
315
315
  readonly attributeFilterConfigs: IDashboardAttributeFilterConfig[];
316
+ /**
317
+ * Source dashboard's active parameter overrides, applied to the target where parameter refs match.
318
+ */
319
+ readonly parameters: IInsightParameterValue[];
316
320
  /**
317
321
  * Original drill event, that triggered this particular drill interaction.
318
322
  */
@@ -337,7 +341,7 @@ export interface IDashboardDrillToDashboardResolved extends IDashboardEvent {
337
341
  /**
338
342
  * @alpha
339
343
  */
340
- export declare function drillToDashboardResolved(ctx: DashboardContext, filters: (IDashboardFilter | FilterContextItem)[], attributeFilterConfigs: IDashboardAttributeFilterConfig[], drillDefinition: IDrillToDashboard, drillEvent: IDashboardDrillEvent, correlationId?: string): IDashboardDrillToDashboardResolved;
344
+ export declare function drillToDashboardResolved(ctx: DashboardContext, filters: (IDashboardFilter | FilterContextItem)[], attributeFilterConfigs: IDashboardAttributeFilterConfig[], parameters: IInsightParameterValue[], drillDefinition: IDrillToDashboard, drillEvent: IDashboardDrillEvent, correlationId?: string): IDashboardDrillToDashboardResolved;
341
345
  /**
342
346
  * Tests whether the provided object is an instance of {@link IDashboardDrillToDashboardResolved}.
343
347
  *
@@ -154,7 +154,7 @@ export const isDashboardDrillToDashboardRequested = eventGuard("GDC.DASH/EVT.DRI
154
154
  /**
155
155
  * @alpha
156
156
  */
157
- export function drillToDashboardResolved(ctx, filters, attributeFilterConfigs, drillDefinition, drillEvent, correlationId) {
157
+ export function drillToDashboardResolved(ctx, filters, attributeFilterConfigs, parameters, drillDefinition, drillEvent, correlationId) {
158
158
  return {
159
159
  type: "GDC.DASH/EVT.DRILL.DRILL_TO_DASHBOARD.RESOLVED",
160
160
  ctx,
@@ -162,6 +162,7 @@ export function drillToDashboardResolved(ctx, filters, attributeFilterConfigs, d
162
162
  payload: {
163
163
  filters,
164
164
  attributeFilterConfigs,
165
+ parameters,
165
166
  drillDefinition,
166
167
  drillEvent,
167
168
  },
@@ -1,3 +1,4 @@
1
+ import { type DashboardTabSwitchSource } from "../commands/tabs.js";
1
2
  import { type DashboardContext } from "../types/commonTypes.js";
2
3
  import { type IDashboardEvent } from "./base.js";
3
4
  /**
@@ -13,6 +14,14 @@ export interface IDashboardTabSwitchedPayload {
13
14
  * Identifier of the newly active tab.
14
15
  */
15
16
  readonly newTabId: string;
17
+ /**
18
+ * What triggered this tab switch.
19
+ *
20
+ * @remarks
21
+ * Omit for a regular user-initiated tab switch. See {@link DashboardTabSwitchSource} for the
22
+ * recognized values and their effect.
23
+ */
24
+ readonly source?: DashboardTabSwitchSource;
16
25
  }
17
26
  /**
18
27
  * This event is emitted when the active dashboard tab is switched.
@@ -30,11 +39,13 @@ export interface IDashboardTabSwitched extends IDashboardEvent {
30
39
  * @param previousTabId - identifier of the previously active tab
31
40
  * @param newTabId - identifier of the newly active tab
32
41
  * @param correlationId - correlation id to use for this event
42
+ * @param source - what triggered the switch; omit for a regular user-initiated tab switch.
43
+ * See {@link DashboardTabSwitchSource}.
33
44
  * @returns dashboard tab switched event
34
45
  *
35
46
  * @alpha
36
47
  */
37
- export declare function dashboardTabSwitched(ctx: DashboardContext, previousTabId: string | undefined, newTabId: string, correlationId?: string): IDashboardTabSwitched;
48
+ export declare function dashboardTabSwitched(ctx: DashboardContext, previousTabId: string | undefined, newTabId: string, correlationId?: string, source?: DashboardTabSwitchSource): IDashboardTabSwitched;
38
49
  /**
39
50
  * Type guard that checks if an event is a DashboardTabSwitched event.
40
51
  *
@@ -6,11 +6,13 @@
6
6
  * @param previousTabId - identifier of the previously active tab
7
7
  * @param newTabId - identifier of the newly active tab
8
8
  * @param correlationId - correlation id to use for this event
9
+ * @param source - what triggered the switch; omit for a regular user-initiated tab switch.
10
+ * See {@link DashboardTabSwitchSource}.
9
11
  * @returns dashboard tab switched event
10
12
  *
11
13
  * @alpha
12
14
  */
13
- export function dashboardTabSwitched(ctx, previousTabId, newTabId, correlationId) {
15
+ export function dashboardTabSwitched(ctx, previousTabId, newTabId, correlationId, source) {
14
16
  return {
15
17
  type: "GDC.DASH/EVT.TAB.SWITCHED",
16
18
  ctx,
@@ -18,6 +20,7 @@ export function dashboardTabSwitched(ctx, previousTabId, newTabId, correlationId
18
20
  payload: {
19
21
  previousTabId,
20
22
  newTabId,
23
+ source,
21
24
  },
22
25
  };
23
26
  }
@@ -415,7 +415,7 @@ export const selectEnableMatchFilterKD = createSelector(selectConfig, (state) =>
415
415
  * @alpha
416
416
  */
417
417
  export const selectEnableMeasureValueFilterKD = createSelector(selectConfig, (state) => {
418
- return state.settings?.enableMeasureValueFilterKD ?? false;
418
+ return state.settings?.enableMeasureValueFilterKD ?? true;
419
419
  });
420
420
  /**
421
421
  * Returns available attribute filter modes based on feature flags.
@@ -1,5 +1,5 @@
1
1
  import { type IDashboardParameterValueOverride } from "@gooddata/sdk-backend-spi";
2
- import { type IDashboardParameter, type IDashboardTab, type IInsight, type IInsightDefinition, type IParameterMetadataObject, type IdentifierRef } from "@gooddata/sdk-model";
2
+ import { type IDashboardParameter, type IDashboardTab, type IInsight, type IInsightDefinition, type IInsightParameterValue, type IParameterMetadataObject, type IdentifierRef } from "@gooddata/sdk-model";
3
3
  import { type ObjRefMap } from "../../../../_staging/metadata/objRefMap.js";
4
4
  import { type IInsightWidgetTabContext } from "../layout/layoutSelectors.js";
5
5
  import { type ITabState } from "../tabsState.js";
@@ -15,6 +15,28 @@ export declare const EMPTY_EXPORT_PARAMETERS: Record<string, IDashboardParameter
15
15
  * @internal
16
16
  */
17
17
  export declare function collectReferencedParameterRefs(insight: IInsightDefinition, measureParameters: Record<string, IdentifierRef[]>): IdentifierRef[];
18
+ /**
19
+ * Returns the entries whose `runtimeOverride` deviates from the hydrated baseline
20
+ * ({@link computeHydratedRuntimeOverride}). Entries still at their default are dropped, so callers never
21
+ * propagate a value the user did not explicitly set.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare function collectChangedParameterValues(entries: IDashboardParameterEntry[], workspaceParameters: IParameterMetadataObject[]): IInsightParameterValue[];
26
+ /**
27
+ * The value hydration seeds into `runtimeOverride`: the persisted dashboard `value`, else the
28
+ * workspace number default, else `undefined`. Single source of truth for the hydrated baseline so
29
+ * override detection here and in `hydrateParameterEntries` cannot drift apart.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function computeHydratedRuntimeOverride(parameter: IDashboardParameter, workspaceParameter: IParameterMetadataObject | undefined): number | undefined;
34
+ /**
35
+ * Indexes the workspace parameter catalog by ref string for O(1) lookup.
36
+ *
37
+ * @internal
38
+ */
39
+ export declare function workspaceParametersByRef(workspaceParameters: IParameterMetadataObject[]): Map<string, IParameterMetadataObject>;
18
40
  /**
19
41
  * Resolves a single parameter entry to the export wire shape. Returns `undefined` for entries with
20
42
  * no `runtimeOverride` — the dashboard's persisted parameter state and the workspace default are