@gooddata/sdk-ui-dashboard 11.41.0-alpha.0 → 11.41.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +3 -3
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/model/commandHandlers/dashboard/common/parameterHydration.js +7 -12
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +8 -2
- package/esm/model/commandHandlers/index.js +2 -0
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts +9 -0
- package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.js +11 -0
- package/esm/model/commands/base.d.ts +1 -1
- package/esm/model/commands/index.d.ts +2 -1
- package/esm/model/commands/parameters.d.ts +46 -0
- package/esm/model/commands/parameters.js +24 -0
- package/esm/model/eventHandlers/drillToSameDashboardHandlerFactory.js +2 -0
- package/esm/model/events/drill.d.ts +6 -2
- package/esm/model/events/drill.js +2 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +23 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +47 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +2 -2
- package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js +1 -2
- package/esm/sdk-ui-dashboard.d.ts +54 -2
- package/package.json +20 -20
- package/styles/css/dashboard.css +4 -0
- package/styles/css/dashboard.css.map +1 -1
- package/styles/css/main.css +12 -8
- package/styles/css/main.css.map +1 -1
- package/styles/scss/dashboard.scss +5 -0
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-
|
|
10
|
+
Date generated: 2026-6-4
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
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-
|
|
38778
|
+
Report Generated by FOSSA on 2026-6-4
|
package/esm/__version.d.ts
CHANGED
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.
|
|
3
|
+
export const LIB_VERSION = "11.41.0-alpha.1";
|
|
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
|
@@ -58,6 +58,7 @@ export { type IChangeDashboardDensity, type IChangeDashboardDensityPayload, chan
|
|
|
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
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";
|
|
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 {
|
|
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 =
|
|
19
|
-
return dashboardParameters.map((parameter) => {
|
|
20
|
-
|
|
21
|
-
|
|
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,16 @@ 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
79
|
yield put(switchDashboardTab(targetTabLocalIdentifier));
|
|
74
80
|
}
|
|
75
81
|
// put end event
|
|
76
|
-
return drillToDashboardResolved(ctx, resultingFilters, attributeFilterConfigs, cmd.payload.drillDefinition, cmd.payload.drillEvent, cmd.correlationId);
|
|
82
|
+
return drillToDashboardResolved(ctx, resultingFilters, attributeFilterConfigs, parameters, cmd.payload.drillDefinition, cmd.payload.drillEvent, cmd.correlationId);
|
|
77
83
|
}
|
|
78
84
|
function getDashboardFilterConfigs(dashboardFilters, attributeFilterDisplayAsLabelMap) {
|
|
79
85
|
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
|
+
}
|
|
@@ -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,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,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
|
|
@@ -32,6 +32,52 @@ export function collectReferencedParameterRefs(insight, measureParameters) {
|
|
|
32
32
|
}
|
|
33
33
|
return result;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns the entries whose `runtimeOverride` deviates from the hydrated baseline
|
|
37
|
+
* ({@link computeHydratedRuntimeOverride}). Entries still at their default are dropped, so callers never
|
|
38
|
+
* propagate a value the user did not explicitly set.
|
|
39
|
+
*
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export function collectChangedParameterValues(entries, workspaceParameters) {
|
|
43
|
+
const workspaceByRef = workspaceParametersByRef(workspaceParameters);
|
|
44
|
+
const result = [];
|
|
45
|
+
for (const entry of entries) {
|
|
46
|
+
const { runtimeOverride } = entry;
|
|
47
|
+
if (runtimeOverride === undefined) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const workspaceParameter = workspaceByRef.get(objRefToString(entry.parameter.ref));
|
|
51
|
+
if (runtimeOverride === computeHydratedRuntimeOverride(entry.parameter, workspaceParameter)) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
result.push({ ref: entry.parameter.ref, value: runtimeOverride });
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The value hydration seeds into `runtimeOverride`: the persisted dashboard `value`, else the
|
|
60
|
+
* workspace number default, else `undefined`. Single source of truth for the hydrated baseline so
|
|
61
|
+
* override detection here and in `hydrateParameterEntries` cannot drift apart.
|
|
62
|
+
*
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
export function computeHydratedRuntimeOverride(parameter, workspaceParameter) {
|
|
66
|
+
if (parameter.value !== undefined) {
|
|
67
|
+
return parameter.value;
|
|
68
|
+
}
|
|
69
|
+
return workspaceParameter && isNumberParameterDefinition(workspaceParameter.definition)
|
|
70
|
+
? workspaceParameter.definition.defaultValue
|
|
71
|
+
: undefined;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Indexes the workspace parameter catalog by ref string for O(1) lookup.
|
|
75
|
+
*
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
export function workspaceParametersByRef(workspaceParameters) {
|
|
79
|
+
return new Map(workspaceParameters.map((parameter) => [objRefToString(parameter.ref), parameter]));
|
|
80
|
+
}
|
|
35
81
|
/**
|
|
36
82
|
* Resolves a single parameter entry to the export wire shape. Returns `undefined` for entries with
|
|
37
83
|
* no `runtimeOverride` — the dashboard's persisted parameter state and the workspace default are
|
|
@@ -125,7 +171,7 @@ export function computeParameterResetValue(entry, workspaceParameter, isInEditMo
|
|
|
125
171
|
* @internal
|
|
126
172
|
*/
|
|
127
173
|
export function computeParameterResetTargets(entries, workspaceParameters, isInEditMode) {
|
|
128
|
-
const workspaceByRef =
|
|
174
|
+
const workspaceByRef = workspaceParametersByRef(workspaceParameters);
|
|
129
175
|
const result = [];
|
|
130
176
|
for (const entry of entries) {
|
|
131
177
|
if (entry.parameter.mode !== DashboardParameterModeValues.ACTIVE) {
|
|
@@ -10,7 +10,7 @@ import { selectIsInEditMode } from "../../renderMode/renderModeSelectors.js";
|
|
|
10
10
|
import { selectAllTabsInsightWidgetContexts } from "../layout/layoutSelectors.js";
|
|
11
11
|
import { selectActiveTab, selectTabs } from "../tabsSelectors.js";
|
|
12
12
|
import { DEFAULT_TAB_ID } from "../tabsState.js";
|
|
13
|
-
import { EMPTY_EXPORT_PARAMETERS, buildPersistedByTabAndRef, buildWidgetScopeTabRefSelections, collectExportOverrides, collectReferencedParameterRefs, computeParameterResetTargets, computeParameterResetValue, smartPersistResolvedEntry, } from "./parametersHelpers.js";
|
|
13
|
+
import { EMPTY_EXPORT_PARAMETERS, 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
16
|
const EMPTY_PARAMETER_VALUES = [];
|
|
@@ -102,7 +102,7 @@ export const selectSmartPersistedTabsParameters = createSelector(selectTabs, sel
|
|
|
102
102
|
if (!tabs) {
|
|
103
103
|
return result;
|
|
104
104
|
}
|
|
105
|
-
const workspaceByRef =
|
|
105
|
+
const workspaceByRef = workspaceParametersByRef(workspaceParameters);
|
|
106
106
|
const persistedByTabAndRef = buildPersistedByTabAndRef(persistedTabs, rootPersistedParameters);
|
|
107
107
|
for (const tab of tabs) {
|
|
108
108
|
const entries = tab.parameters?.parameters ?? [];
|
|
@@ -14,8 +14,7 @@ export function SidebarConfigurationPanel(props) {
|
|
|
14
14
|
const DeleteDropZoneComponent = props.DeleteDropZoneComponent;
|
|
15
15
|
const settings = useDashboardSelector(selectSettings);
|
|
16
16
|
const enableEnhancedInsightPicker = settings?.enableEnhancedInsightPicker ?? false;
|
|
17
|
-
|
|
18
|
-
const enableDashboardSidebarResize = true;
|
|
17
|
+
const enableDashboardSidebarResize = settings?.enableDashboardSidebarResize ?? false;
|
|
19
18
|
if (enableEnhancedInsightPicker) {
|
|
20
19
|
return _jsx(FloatingToolbar, {});
|
|
21
20
|
}
|