@gooddata/sdk-ui-dashboard 11.58.0-alpha.5 → 11.58.0
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/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/insight/insightWidgetDescription.d.ts +9 -0
- package/esm/_staging/insight/insightWidgetDescription.d.ts.map +1 -0
- package/esm/_staging/insight/insightWidgetDescription.js +12 -0
- package/esm/_staging/sharedHooks/useRichTextFilters.d.ts +4 -22
- package/esm/_staging/sharedHooks/useRichTextFilters.d.ts.map +1 -1
- package/esm/_staging/sharedHooks/useRichTextFilters.js +11 -15
- package/esm/_staging/sharedHooks/useRichTextInputs.d.ts +35 -0
- package/esm/_staging/sharedHooks/useRichTextInputs.d.ts.map +1 -0
- package/esm/_staging/sharedHooks/useRichTextInputs.js +37 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/model/DashboardTester.d.ts.map +1 -1
- package/esm/model/DashboardTester.js +2 -4
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +21 -13
- package/esm/model/commandHandlers/parameters/dashboardParameterRoots.d.ts +20 -0
- package/esm/model/commandHandlers/parameters/dashboardParameterRoots.d.ts.map +1 -0
- package/esm/model/commandHandlers/parameters/dashboardParameterRoots.js +61 -0
- package/esm/model/commandHandlers/parameters/loadParameterDependencies.d.ts +27 -0
- package/esm/model/commandHandlers/parameters/loadParameterDependencies.d.ts.map +1 -0
- package/esm/model/commandHandlers/parameters/loadParameterDependencies.js +114 -0
- package/esm/model/commandHandlers/parameters/parameterDependenciesWorker.d.ts +6 -0
- package/esm/model/commandHandlers/parameters/parameterDependenciesWorker.d.ts.map +1 -0
- package/esm/model/commandHandlers/parameters/parameterDependenciesWorker.js +107 -0
- package/esm/model/react/useInitializeDashboardStore.d.ts.map +1 -1
- package/esm/model/react/useInitializeDashboardStore.js +2 -4
- package/esm/model/react/useTextParameters.d.ts +34 -0
- package/esm/model/react/useTextParameters.d.ts.map +1 -0
- package/esm/model/react/useTextParameters.js +68 -0
- package/esm/model/react/useWidgetExecConfig.d.ts.map +1 -1
- package/esm/model/react/useWidgetExecConfig.js +3 -2
- package/esm/model/store/catalog/catalogReducers.d.ts +8 -8
- package/esm/model/store/catalog/catalogReducers.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogReducers.js +25 -12
- package/esm/model/store/catalog/catalogSelectors.d.ts +8 -16
- package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogSelectors.js +7 -15
- package/esm/model/store/catalog/catalogState.d.ts +15 -30
- package/esm/model/store/catalog/catalogState.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogState.js +1 -2
- package/esm/model/store/catalog/index.d.ts +4 -4
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +25 -9
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +46 -13
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +9 -9
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +26 -22
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.js +7 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +3 -10
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +5 -10
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +13 -8
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +10 -5
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +9 -4
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +8 -3
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +9 -4
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +9 -4
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +9 -4
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +18 -13
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +9 -4
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +10 -5
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +9 -4
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +6 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +12 -7
- package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.d.ts.map +1 -1
- package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.js +4 -11
- package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.d.ts.map +1 -1
- package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.js +4 -9
- package/esm/presentation/widget/description/types.d.ts +3 -5
- package/esm/presentation/widget/description/types.d.ts.map +1 -1
- package/esm/presentation/widget/description/useInsightWidgetDescription.d.ts.map +1 -1
- package/esm/presentation/widget/description/useInsightWidgetDescription.js +2 -5
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +5 -10
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts +4 -3
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.js +5 -7
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescriptionConfig.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescriptionConfig.js +1 -3
- package/esm/presentation/widget/richText/EditModeDashboardRichText.d.ts.map +1 -1
- package/esm/presentation/widget/richText/EditModeDashboardRichText.js +5 -9
- package/esm/presentation/widget/richText/ViewModeDashboardRichText.d.ts.map +1 -1
- package/esm/presentation/widget/richText/ViewModeDashboardRichText.js +4 -10
- package/esm/sdk-ui-dashboard.d.ts +34 -60
- package/package.json +21 -21
- package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.d.ts +0 -45
- package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.d.ts.map +0 -1
- package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.js +0 -99
- package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.d.ts +0 -11
- package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.d.ts.map +0 -1
- package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.js +0 -71
- package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.d.ts +0 -22
- package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.d.ts.map +0 -1
- package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.js +0 -39
- package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.d.ts +0 -21
- package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.d.ts.map +0 -1
- package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.js +0 -86
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// (C) 2021-2026 GoodData Corporation
|
|
2
|
+
import { serializeObjRef, } from "@gooddata/sdk-model";
|
|
2
3
|
const setCatalogItems = (state, action) => {
|
|
3
4
|
const { attributes, measures, dateDatasets, facts, attributeHierarchies, computedAttributes, dateHierarchyTemplates, } = action.payload;
|
|
4
5
|
state.attributes = attributes;
|
|
@@ -33,18 +34,30 @@ const deleteAttributeHierarchy = (state, action) => {
|
|
|
33
34
|
const setCatalogParameters = (state, action) => {
|
|
34
35
|
state.parameters = action.payload;
|
|
35
36
|
};
|
|
36
|
-
const
|
|
37
|
-
state.
|
|
37
|
+
const setCatalogParameterDependencies = (state, action) => {
|
|
38
|
+
state.parameterDependencies = action.payload;
|
|
38
39
|
};
|
|
39
|
-
const
|
|
40
|
-
Object.assign(state.
|
|
40
|
+
const mergeCatalogParameterDependencies = (state, action) => {
|
|
41
|
+
Object.assign(state.parameterDependencies.byRoot, action.payload);
|
|
42
|
+
for (const key of Object.keys(action.payload)) {
|
|
43
|
+
delete state.parameterDependencies.requestedRoots[key];
|
|
44
|
+
}
|
|
41
45
|
};
|
|
42
|
-
const
|
|
43
|
-
state
|
|
46
|
+
const markParameterDependenciesPending = (state, action) => {
|
|
47
|
+
markRequestedRoots(state, action.payload, "pending");
|
|
44
48
|
};
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Marks roots the references service rejected, or that nothing can load. They are never requested
|
|
51
|
+
* again, and a text waiting for them executes with the parameters it has.
|
|
52
|
+
*/
|
|
53
|
+
const markParameterDependenciesFailed = (state, action) => {
|
|
54
|
+
markRequestedRoots(state, action.payload, "failed");
|
|
47
55
|
};
|
|
56
|
+
function markRequestedRoots(state, roots, mark) {
|
|
57
|
+
for (const root of roots) {
|
|
58
|
+
state.parameterDependencies.requestedRoots[serializeObjRef(root)] = mark;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
48
61
|
export const catalogReducers = {
|
|
49
62
|
setCatalogItems,
|
|
50
63
|
setCatalogMeasuresAndFacts,
|
|
@@ -52,8 +65,8 @@ export const catalogReducers = {
|
|
|
52
65
|
updateAttributeHierarchy,
|
|
53
66
|
deleteAttributeHierarchy,
|
|
54
67
|
setCatalogParameters,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
68
|
+
setCatalogParameterDependencies,
|
|
69
|
+
mergeCatalogParameterDependencies,
|
|
70
|
+
markParameterDependenciesPending,
|
|
71
|
+
markParameterDependenciesFailed,
|
|
59
72
|
};
|
|
@@ -2,7 +2,7 @@ import { type IAttributeDisplayFormMetadataObject, type ICatalogAttribute, type
|
|
|
2
2
|
import { type CatalogDateAttributeWithDataset } from "../../../_staging/catalog/dateAttributeWithDatasetMap.js";
|
|
3
3
|
import { type ObjRefMap } from "../../../_staging/metadata/objRefMap.js";
|
|
4
4
|
import { type DashboardSelector, type DashboardState } from "../types.js";
|
|
5
|
-
import { type
|
|
5
|
+
import { type CatalogParameterDependenciesStatus, type CatalogParametersStatus } from "./catalogState.js";
|
|
6
6
|
/**
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
@@ -53,33 +53,25 @@ export declare const selectCatalogParametersStatus: DashboardSelector<CatalogPar
|
|
|
53
53
|
*/
|
|
54
54
|
export declare const selectCatalogParametersIsLoaded: DashboardSelector<boolean>;
|
|
55
55
|
/**
|
|
56
|
-
* Returns the dashboard-wide map from serialized
|
|
56
|
+
* Returns the dashboard-wide map from serialized root ref to the parameter refs that root depends on.
|
|
57
57
|
* The map is populated during dashboard initialization from the workspace references service and extended
|
|
58
|
-
* when insights
|
|
58
|
+
* when insights, text references, or dashboard filters add roots later.
|
|
59
59
|
*
|
|
60
60
|
* @alpha
|
|
61
61
|
*/
|
|
62
|
-
export declare const
|
|
62
|
+
export declare const selectCatalogParameterDependencies: DashboardSelector<Record<string, IdentifierRef[]>>;
|
|
63
63
|
/**
|
|
64
|
-
* Returns the load status of the dashboard-wide
|
|
64
|
+
* Returns the load status of the dashboard-wide root → parameter dependency map.
|
|
65
65
|
*
|
|
66
66
|
* @alpha
|
|
67
67
|
*/
|
|
68
|
-
export declare const
|
|
68
|
+
export declare const selectCatalogParameterDependenciesStatus: DashboardSelector<CatalogParameterDependenciesStatus>;
|
|
69
69
|
/**
|
|
70
|
-
* Returns
|
|
71
|
-
* attribute, a metric) to the parameter refs it depends on. Populated during dashboard initialization from
|
|
72
|
-
* the workspace references service and extended when the filter context gains filters on other objects.
|
|
70
|
+
* Returns pending and failed dependency requests, keyed by serialized root ref.
|
|
73
71
|
*
|
|
74
72
|
* @alpha
|
|
75
73
|
*/
|
|
76
|
-
export declare const
|
|
77
|
-
/**
|
|
78
|
-
* Returns the load status of the dashboard-wide dashboard-filter → parameter dependency map.
|
|
79
|
-
*
|
|
80
|
-
* @alpha
|
|
81
|
-
*/
|
|
82
|
-
export declare const selectCatalogFilterParametersStatus: DashboardSelector<CatalogFilterParametersStatus>;
|
|
74
|
+
export declare const selectCatalogRequestedParameterRoots: DashboardSelector<Record<string, "pending" | "failed">>;
|
|
83
75
|
/**
|
|
84
76
|
* @alpha
|
|
85
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACH,KAAK,+BAA+B,EAEvC,MAAM,0DAA0D,CAAC;AAElE,OAAO,EACH,KAAK,SAAS,EAIjB,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"catalogSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogSelectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,33 +64,25 @@ export const selectCatalogParametersStatus = createSelector(selectSelf, (state)
|
|
|
64
64
|
*/
|
|
65
65
|
export const selectCatalogParametersIsLoaded = createSelector(selectCatalogParametersStatus, (status) => status === "loaded");
|
|
66
66
|
/**
|
|
67
|
-
* Returns the dashboard-wide map from serialized
|
|
67
|
+
* Returns the dashboard-wide map from serialized root ref to the parameter refs that root depends on.
|
|
68
68
|
* The map is populated during dashboard initialization from the workspace references service and extended
|
|
69
|
-
* when insights
|
|
69
|
+
* when insights, text references, or dashboard filters add roots later.
|
|
70
70
|
*
|
|
71
71
|
* @alpha
|
|
72
72
|
*/
|
|
73
|
-
export const
|
|
73
|
+
export const selectCatalogParameterDependencies = createSelector(selectSelf, (state) => state.parameterDependencies.byRoot);
|
|
74
74
|
/**
|
|
75
|
-
* Returns the load status of the dashboard-wide
|
|
75
|
+
* Returns the load status of the dashboard-wide root → parameter dependency map.
|
|
76
76
|
*
|
|
77
77
|
* @alpha
|
|
78
78
|
*/
|
|
79
|
-
export const
|
|
79
|
+
export const selectCatalogParameterDependenciesStatus = createSelector(selectSelf, (state) => state.parameterDependencies.status);
|
|
80
80
|
/**
|
|
81
|
-
* Returns
|
|
82
|
-
* attribute, a metric) to the parameter refs it depends on. Populated during dashboard initialization from
|
|
83
|
-
* the workspace references service and extended when the filter context gains filters on other objects.
|
|
81
|
+
* Returns pending and failed dependency requests, keyed by serialized root ref.
|
|
84
82
|
*
|
|
85
83
|
* @alpha
|
|
86
84
|
*/
|
|
87
|
-
export const
|
|
88
|
-
/**
|
|
89
|
-
* Returns the load status of the dashboard-wide dashboard-filter → parameter dependency map.
|
|
90
|
-
*
|
|
91
|
-
* @alpha
|
|
92
|
-
*/
|
|
93
|
-
export const selectCatalogFilterParametersStatus = createSelector(selectSelf, (state) => state.filterParameters.status);
|
|
85
|
+
export const selectCatalogRequestedParameterRoots = createSelector(selectSelf, (state) => state.parameterDependencies.requestedRoots);
|
|
94
86
|
/**
|
|
95
87
|
* @alpha
|
|
96
88
|
*/
|
|
@@ -15,40 +15,27 @@ export interface ICatalogParametersState {
|
|
|
15
15
|
parameters: IParameterMetadataObject[];
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* Status of the dashboard-wide
|
|
18
|
+
* Status of the dashboard-wide root → parameter dependency map.
|
|
19
19
|
*
|
|
20
20
|
* @alpha
|
|
21
21
|
*/
|
|
22
|
-
export type
|
|
22
|
+
export type CatalogParameterDependenciesStatus = "uninitialized" | "loaded";
|
|
23
23
|
/**
|
|
24
|
-
* Maps each
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* Maps each dependency root (an insight, a text reference, or an object a dashboard filter reads; keyed by
|
|
25
|
+
* `serializeObjRef` of the ref exactly as the caller supplied it) to the parameter refs it depends
|
|
26
|
+
* on through its metrics and computed attributes, as reported by the workspace references service.
|
|
27
|
+
* Drives runtime parameter applicability for execution and for display.
|
|
27
28
|
*
|
|
28
29
|
* @alpha
|
|
29
30
|
*/
|
|
30
|
-
export interface
|
|
31
|
-
status:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
*/
|
|
39
|
-
export type CatalogFilterParametersStatus = "uninitialized" | "loading" | "loaded" | "failed";
|
|
40
|
-
/**
|
|
41
|
-
* Maps each object a dashboard filter reads (keyed by `serializeObjRef(ref)`: the computed attribute
|
|
42
|
-
* of an attribute filter, the metric or a computed-attribute dimension of a measure value filter) to
|
|
43
|
-
* the parameter refs it depends on, as reported by the workspace references service. Complements
|
|
44
|
-
* {@link ICatalogInsightParametersState} for the parameters a widget reaches only through dashboard
|
|
45
|
-
* filters, which are not part of its insight.
|
|
46
|
-
*
|
|
47
|
-
* @alpha
|
|
48
|
-
*/
|
|
49
|
-
export interface ICatalogFilterParametersState {
|
|
50
|
-
status: CatalogFilterParametersStatus;
|
|
51
|
-
byRef: Record<string, IdentifierRef[]>;
|
|
31
|
+
export interface ICatalogParameterDependenciesState {
|
|
32
|
+
status: CatalogParameterDependenciesStatus;
|
|
33
|
+
byRoot: Record<string, IdentifierRef[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Request status keyed by `serializeObjRef`. Successful loads clear the entry. Failed roots
|
|
36
|
+
* are skipped until initialization or an insight update requests them again.
|
|
37
|
+
*/
|
|
38
|
+
requestedRoots: Record<string, "pending" | "failed">;
|
|
52
39
|
}
|
|
53
40
|
/**
|
|
54
41
|
* @public
|
|
@@ -76,9 +63,7 @@ export type CatalogState = {
|
|
|
76
63
|
/** @alpha */
|
|
77
64
|
parameters: ICatalogParametersState;
|
|
78
65
|
/** @alpha */
|
|
79
|
-
|
|
80
|
-
/** @alpha */
|
|
81
|
-
filterParameters: ICatalogFilterParametersState;
|
|
66
|
+
parameterDependencies: ICatalogParameterDependenciesState;
|
|
82
67
|
};
|
|
83
68
|
export declare const catalogInitialState: CatalogState;
|
|
84
69
|
//# sourceMappingURL=catalogState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogState.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"catalogState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogState.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG,eAAe,GAAG,QAAQ,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,kCAAkC;IAC/C,MAAM,EAAE,kCAAkC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY;IACZ,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY;IACZ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY;IACZ,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY;IACZ,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY;IACZ,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,YAAY;IACZ,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,aAAa;IACb,UAAU,EAAE,uBAAuB,CAAC;IACpC,aAAa;IACb,qBAAqB,EAAE,kCAAkC,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAUjC,CAAC"}
|
|
@@ -8,6 +8,5 @@ export const catalogInitialState = {
|
|
|
8
8
|
computedAttributes: undefined,
|
|
9
9
|
dateHierarchyTemplates: undefined,
|
|
10
10
|
parameters: { status: "uninitialized", parameters: [] },
|
|
11
|
-
|
|
12
|
-
filterParameters: { status: "uninitialized", byRef: {} },
|
|
11
|
+
parameterDependencies: { status: "uninitialized", byRoot: {}, requestedRoots: {} },
|
|
13
12
|
};
|
|
@@ -11,9 +11,9 @@ export declare const catalogActions: {
|
|
|
11
11
|
updateAttributeHierarchy: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").ICatalogAttributeHierarchy, "catalog/updateAttributeHierarchy">;
|
|
12
12
|
deleteAttributeHierarchy: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").ICatalogAttributeHierarchy, "catalog/deleteAttributeHierarchy">;
|
|
13
13
|
setCatalogParameters: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./catalogState.js").ICatalogParametersState, "catalog/setCatalogParameters">;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
setCatalogParameterDependencies: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./catalogState.js").ICatalogParameterDependenciesState, "catalog/setCatalogParameterDependencies">;
|
|
15
|
+
mergeCatalogParameterDependencies: import("@reduxjs/toolkit").ActionCreatorWithPayload<Record<string, import("@gooddata/sdk-model").IdentifierRef[]>, "catalog/mergeCatalogParameterDependencies">;
|
|
16
|
+
markParameterDependenciesPending: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").IdentifierRef[], "catalog/markParameterDependenciesPending">;
|
|
17
|
+
markParameterDependenciesFailed: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").IdentifierRef[], "catalog/markParameterDependenciesFailed">;
|
|
18
18
|
};
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -38,12 +38,17 @@ export declare function collectFilterParameterRoots(filters: ReadonlyArray<Filte
|
|
|
38
38
|
*/
|
|
39
39
|
export declare function isDashboardFilterIgnoredByWidget(ignoreDashboardFilters: ReadonlyArray<IDashboardFilterReference>, filter: FilterContextItem): boolean;
|
|
40
40
|
/**
|
|
41
|
-
* The
|
|
42
|
-
* ignore, resolved against the filter → parameter dependency map (`catalog.filterParameters.byRef`).
|
|
41
|
+
* The dependency roots of the dashboard filters of a tab that a widget does not ignore.
|
|
43
42
|
*
|
|
44
43
|
* @internal
|
|
45
44
|
*/
|
|
46
|
-
export declare function
|
|
45
|
+
export declare function collectWidgetFilterParameterRoots(ignoreDashboardFilters: ReadonlyArray<IDashboardFilterReference>, tab: ITabState): IdentifierRef[];
|
|
46
|
+
/**
|
|
47
|
+
* The parameter refs the given roots depend on, deduped. A root the map does not hold adds none.
|
|
48
|
+
*
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
export declare function collectRootParameterRefs(dependenciesByRoot: Record<string, IdentifierRef[]>, roots: ReadonlyArray<ObjRef>): IdentifierRef[];
|
|
47
52
|
/**
|
|
48
53
|
* Effective execution parameters, limited to `referencedRefs`. Precedence per ref: the dashboard
|
|
49
54
|
* `runtimeOverride`, else the insight's own parameter value, else nothing (backend uses the workspace
|
|
@@ -56,19 +61,30 @@ export declare function collectWidgetFilterParameterRefs(ignoreDashboardFilters:
|
|
|
56
61
|
export declare function resolveEffectiveParameterValuesForRefs(entries: IDashboardParameterEntry[], referencedRefs: IdentifierRef[], insightParameterValues: IInsightParameterValue[], workspaceParameterByRef: Map<string, IParameterMetadataObject>): IInsightParameterValue[];
|
|
57
62
|
interface IParameterResolutionContext {
|
|
58
63
|
entries: IDashboardParameterEntry[];
|
|
59
|
-
|
|
60
|
-
|
|
64
|
+
dependenciesByRoot: Record<string, IdentifierRef[]>;
|
|
65
|
+
filterRoots: IdentifierRef[];
|
|
61
66
|
workspaceParameterByRef: Map<string, IParameterMetadataObject>;
|
|
62
67
|
isStringEnabled: boolean;
|
|
63
68
|
}
|
|
64
69
|
/**
|
|
65
|
-
* Effective execution parameters for `
|
|
66
|
-
* the
|
|
67
|
-
* {@link resolveEffectiveParameterValuesForRefs}.
|
|
70
|
+
* Effective execution parameters for what `roots` depend on, given a widget's parameter context:
|
|
71
|
+
* unions the refs of every root and of every root of the widget's dashboard filters, then applies
|
|
72
|
+
* {@link resolveEffectiveParameterValuesForRefs}. An insight is passed by the hosts that execute one,
|
|
73
|
+
* so its authored values take part; a text has none. Roots are looked up exactly as they are spelled
|
|
74
|
+
* here, the way they were loaded.
|
|
75
|
+
*
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
export declare function resolveEffectiveParameterValuesForRoots(context: IParameterResolutionContext | undefined, roots: ObjRef[], insight?: IInsight): IInsightParameterValue[];
|
|
79
|
+
/**
|
|
80
|
+
* The text every parameter of the workspace shows, by parameter identifier. Values resolve exactly
|
|
81
|
+
* as an execution resolves them - chip, then insight-authored value, then the workspace default,
|
|
82
|
+
* with an invalid value recovered to the default - and are then titled through
|
|
83
|
+
* {@link getParameterValueTitle}, so a constrained value reads as its allowed-value title.
|
|
68
84
|
*
|
|
69
85
|
* @internal
|
|
70
86
|
*/
|
|
71
|
-
export declare function
|
|
87
|
+
export declare function resolveParameterDisplayValues(context: IParameterResolutionContext, insight?: IInsight): ReadonlyMap<string, string>;
|
|
72
88
|
/**
|
|
73
89
|
* The value hydration seeds into `runtimeOverride`: the dashboard parameter's `value`, else the
|
|
74
90
|
* workspace default when the workspace parameter is of the matching type, else `undefined`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EAetB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,sBAAsB,CAAC;AAK9B;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAM,CAAC;AAE9F;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,EAAE,CAazG;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,EAAE,CAe/E;AAWD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,aAAa,EAAE,CAEtG;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC5C,sBAAsB,EAAE,aAAa,CAAC,yBAAyB,CAAC,EAChE,MAAM,EAAE,iBAAiB,GAC1B,OAAO,CAiBT;AAED
|
|
1
|
+
{"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import { DashboardParameterModeValues, areObjRefsEqual, dashboardAttributeFilterItemDisplayForm,
|
|
2
|
+
import { DashboardParameterModeValues, areObjRefsEqual, dashboardAttributeFilterItemDisplayForm, getParameterValueTitle, insightParameters, isComputedAttributeRef, isDashboardAttributeFilterItem, isDashboardAttributeFilterReference, isDashboardMeasureValueFilter, isDashboardMeasureValueFilterReference, isIdentifierRef, isValidParameterValue, objRefToString, sanitizeParameterValue, serializeObjRef, } from "@gooddata/sdk-model";
|
|
3
3
|
import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
|
|
4
4
|
const EMPTY_PARAMETERS = [];
|
|
5
5
|
const EMPTY_PARAMETER_VALUES = [];
|
|
@@ -90,16 +90,21 @@ export function isDashboardFilterIgnoredByWidget(ignoreDashboardFilters, filter)
|
|
|
90
90
|
return false;
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
|
-
* The
|
|
94
|
-
* ignore, resolved against the filter → parameter dependency map (`catalog.filterParameters.byRef`).
|
|
93
|
+
* The dependency roots of the dashboard filters of a tab that a widget does not ignore.
|
|
95
94
|
*
|
|
96
95
|
* @internal
|
|
97
96
|
*/
|
|
98
|
-
export function
|
|
97
|
+
export function collectWidgetFilterParameterRoots(ignoreDashboardFilters, tab) {
|
|
99
98
|
const filters = tab.filterContext?.filterContextDefinition?.filters ?? [];
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
return collectFilterParameterRoots(filters.filter((filter) => !isDashboardFilterIgnoredByWidget(ignoreDashboardFilters, filter)));
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The parameter refs the given roots depend on, deduped. A root the map does not hold adds none.
|
|
103
|
+
*
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
export function collectRootParameterRefs(dependenciesByRoot, roots) {
|
|
107
|
+
return unionParameterRefs(...roots.map((root) => dependenciesByRoot[serializeObjRef(root)] ?? EMPTY_REFS));
|
|
103
108
|
}
|
|
104
109
|
/**
|
|
105
110
|
* Effective execution parameters, limited to `referencedRefs`. Precedence per ref: the dashboard
|
|
@@ -143,18 +148,46 @@ export function resolveEffectiveParameterValuesForRefs(entries, referencedRefs,
|
|
|
143
148
|
return result.length === 0 ? EMPTY_PARAMETER_VALUES : result;
|
|
144
149
|
}
|
|
145
150
|
/**
|
|
146
|
-
* Effective execution parameters for `
|
|
147
|
-
* the
|
|
148
|
-
* {@link resolveEffectiveParameterValuesForRefs}.
|
|
151
|
+
* Effective execution parameters for what `roots` depend on, given a widget's parameter context:
|
|
152
|
+
* unions the refs of every root and of every root of the widget's dashboard filters, then applies
|
|
153
|
+
* {@link resolveEffectiveParameterValuesForRefs}. An insight is passed by the hosts that execute one,
|
|
154
|
+
* so its authored values take part; a text has none. Roots are looked up exactly as they are spelled
|
|
155
|
+
* here, the way they were loaded.
|
|
149
156
|
*
|
|
150
157
|
* @internal
|
|
151
158
|
*/
|
|
152
|
-
export function
|
|
159
|
+
export function resolveEffectiveParameterValuesForRoots(context, roots, insight) {
|
|
153
160
|
if (!context) {
|
|
154
161
|
return EMPTY_PARAMETER_VALUES;
|
|
155
162
|
}
|
|
156
|
-
const referencedRefs =
|
|
157
|
-
|
|
163
|
+
const referencedRefs = collectRootParameterRefs(context.dependenciesByRoot, [
|
|
164
|
+
...roots,
|
|
165
|
+
...context.filterRoots,
|
|
166
|
+
]);
|
|
167
|
+
return resolveEffectiveParameterValuesForRefs(context.entries, referencedRefs, insight ? ungatedInsightParameterValues(insight, context.isStringEnabled) : [], context.workspaceParameterByRef);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* The text every parameter of the workspace shows, by parameter identifier. Values resolve exactly
|
|
171
|
+
* as an execution resolves them - chip, then insight-authored value, then the workspace default,
|
|
172
|
+
* with an invalid value recovered to the default - and are then titled through
|
|
173
|
+
* {@link getParameterValueTitle}, so a constrained value reads as its allowed-value title.
|
|
174
|
+
*
|
|
175
|
+
* @internal
|
|
176
|
+
*/
|
|
177
|
+
export function resolveParameterDisplayValues(context, insight) {
|
|
178
|
+
const workspaceParameters = [...context.workspaceParameterByRef.values()];
|
|
179
|
+
const effectiveValues = resolveEffectiveParameterValuesForRefs(context.entries, workspaceParameters.map((parameter) => parameter.ref).filter(isIdentifierRef), insight ? ungatedInsightParameterValues(insight, context.isStringEnabled) : [], context.workspaceParameterByRef);
|
|
180
|
+
const valueByRef = new Map(effectiveValues.map((effective) => [objRefToString(effective.ref), effective.value]));
|
|
181
|
+
const displayValues = new Map();
|
|
182
|
+
for (const { definition, ref } of workspaceParameters) {
|
|
183
|
+
// a text names a parameter by identifier, so one referenced by uri cannot be written at all
|
|
184
|
+
if (!isIdentifierRef(ref)) {
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
const value = valueByRef.get(objRefToString(ref)) ?? definition.defaultValue;
|
|
188
|
+
displayValues.set(ref.identifier, getParameterValueTitle(definition, value));
|
|
189
|
+
}
|
|
190
|
+
return displayValues;
|
|
158
191
|
}
|
|
159
192
|
/**
|
|
160
193
|
* The value hydration seeds into `runtimeOverride`: the dashboard parameter's `value`, else the
|
|
@@ -152,20 +152,20 @@ export declare const selectParameterReconciliations: DashboardSelector<IParamete
|
|
|
152
152
|
export declare const selectParameterReconciliationByRef: (ref: ObjRef) => DashboardSelector<ParameterReconciliation | undefined>;
|
|
153
153
|
interface IWidgetParameterContext {
|
|
154
154
|
entries: IDashboardParameterEntry[];
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
dependenciesByRoot: Record<string, IdentifierRef[]>;
|
|
156
|
+
filterRoots: IdentifierRef[];
|
|
157
157
|
workspaceParameterByRef: Map<string, IParameterMetadataObject>;
|
|
158
|
-
widgetInsightRef: ObjRef;
|
|
158
|
+
widgetInsightRef: ObjRef | undefined;
|
|
159
159
|
isStringEnabled: boolean;
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
|
-
* Owning-tab parameter entries, the
|
|
163
|
-
*
|
|
162
|
+
* Owning-tab parameter entries, the root → parameter map and the widget's dashboard-filter parameter
|
|
163
|
+
* refs for a widget of any kind, keyed by ref. A ref of `undefined` takes the active tab, for the
|
|
164
|
+
* hosts that sit outside any widget; such a host ignores no filter, and thus takes every filter of
|
|
165
|
+
* its tab.
|
|
164
166
|
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* so a dashboard whose filter dependency request failed still injects the parameters its insights
|
|
168
|
-
* depend on.
|
|
167
|
+
* The dependency map's load status is not a gate. Each available root contributes its dependencies,
|
|
168
|
+
* while a missing or failed root contributes none.
|
|
169
169
|
*
|
|
170
170
|
* @internal
|
|
171
171
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { createSelector } from "@reduxjs/toolkit";
|
|
3
3
|
import { isEqual, uniq } from "lodash-es";
|
|
4
|
-
import { areObjRefsEqual, insightRef,
|
|
4
|
+
import { areObjRefsEqual, insightRef, isInsightWidget, isWidget, objRefToString, } from "@gooddata/sdk-model";
|
|
5
5
|
import { createMemoizedSelector } from "../../_infra/selectors.js";
|
|
6
|
-
import {
|
|
6
|
+
import { selectCatalogParameterByRef, selectCatalogParameterDependencies, selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../catalog/catalogSelectors.js";
|
|
7
7
|
import { selectEnableParameters, selectEnableStringParameters } from "../../config/configSelectors.js";
|
|
8
8
|
import { selectInsightsMap } from "../../insights/insightsSelectors.js";
|
|
9
9
|
import { selectIsInEditMode } from "../../renderMode/renderModeSelectors.js";
|
|
10
10
|
import { selectAllTabsInsightWidgetContexts, selectAllTabsWidgetContexts, } from "../layout/layoutSelectors.js";
|
|
11
11
|
import { selectActiveOrDefaultTabLocalIdentifier, selectActiveTab, selectTabs } from "../tabsSelectors.js";
|
|
12
12
|
import { DEFAULT_TAB_ID } from "../tabsState.js";
|
|
13
|
-
import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyDisplayOverride, applyRuntimeOverride, buildPersistedByTabAndRef, buildWorkspaceParametersByRef, classifyParameterReconciliation, collectAppliedParameterValues, collectExportOverrides, collectParameterReconciliations,
|
|
13
|
+
import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyDisplayOverride, applyRuntimeOverride, buildPersistedByTabAndRef, buildWorkspaceParametersByRef, classifyParameterReconciliation, collectAppliedParameterValues, collectExportOverrides, collectParameterReconciliations, collectRootParameterRefs, collectWidgetFilterParameterRoots, computeParameterResetTargets, computeParameterResetValue, displayOverride, hydrateParameterEntry, isGatedStringEntry, resolveEffectiveParameterValuesForRefs, smartPersistResolvedEntry, ungatedInsightParameterValues, ungatedTabEntries, } from "./parametersHelpers.js";
|
|
14
14
|
import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
|
|
15
15
|
const EMPTY_PARAMETERS = [];
|
|
16
16
|
const EMPTY_EXPORT_PARAMETERS = [];
|
|
@@ -18,7 +18,6 @@ const EMPTY_PARAMETER_VALUES = [];
|
|
|
18
18
|
const EMPTY_TABS = [];
|
|
19
19
|
const EMPTY_RESET_TARGETS = [];
|
|
20
20
|
const EMPTY_RECONCILIATIONS = [];
|
|
21
|
-
const EMPTY_REFS = [];
|
|
22
21
|
const EMPTY_WORKSPACE_PARAMETERS_BY_REF = new Map();
|
|
23
22
|
const selectParametersState = createSelector(selectActiveTab, (activeTab) => activeTab?.parameters ?? parametersInitialState);
|
|
24
23
|
const selectPersistedParametersFromMeta = (state) => state.meta?.persistedDashboard?.parameters ?? EMPTY_PARAMETERS;
|
|
@@ -275,33 +274,35 @@ export const selectParameterReconciliationByRef = createMemoizedSelector((ref) =
|
|
|
275
274
|
return classifyParameterReconciliation(applyDisplayOverride(entry), workspaceParameter);
|
|
276
275
|
}));
|
|
277
276
|
/**
|
|
278
|
-
* Owning-tab parameter entries, the
|
|
279
|
-
*
|
|
277
|
+
* Owning-tab parameter entries, the root → parameter map and the widget's dashboard-filter parameter
|
|
278
|
+
* refs for a widget of any kind, keyed by ref. A ref of `undefined` takes the active tab, for the
|
|
279
|
+
* hosts that sit outside any widget; such a host ignores no filter, and thus takes every filter of
|
|
280
|
+
* its tab.
|
|
280
281
|
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
* so a dashboard whose filter dependency request failed still injects the parameters its insights
|
|
284
|
-
* depend on.
|
|
282
|
+
* The dependency map's load status is not a gate. Each available root contributes its dependencies,
|
|
283
|
+
* while a missing or failed root contributes none.
|
|
285
284
|
*
|
|
286
285
|
* @internal
|
|
287
286
|
*/
|
|
288
|
-
export const selectWidgetParameterContext = createMemoizedSelector((ref) => createSelector(
|
|
289
|
-
if (!isEnabled
|
|
287
|
+
export const selectWidgetParameterContext = createMemoizedSelector((ref) => createSelector(selectAllTabsWidgetContexts, selectActiveTab, selectEnableParameters, selectEnableStringParameters, selectCatalogParameterDependencies, selectWorkspaceParametersByRef, (contexts, activeTab, isEnabled, isStringEnabled, dependenciesByRoot, workspaceParameterByRef) => {
|
|
288
|
+
if (!isEnabled) {
|
|
290
289
|
return undefined;
|
|
291
290
|
}
|
|
292
|
-
const context =
|
|
291
|
+
const context = ref
|
|
292
|
+
? contexts.find((ctx) => areObjRefsEqual(ctx.widget.ref, ref))
|
|
293
|
+
: activeTab && { tab: activeTab, widget: undefined };
|
|
293
294
|
if (!context) {
|
|
294
295
|
return undefined;
|
|
295
296
|
}
|
|
296
|
-
const
|
|
297
|
-
? collectWidgetFilterParameterRefs(context.widget.ignoreDashboardFilters, context.tab, filterParameters)
|
|
298
|
-
: EMPTY_REFS;
|
|
297
|
+
const filterRoots = collectWidgetFilterParameterRoots(isWidget(context.widget) ? context.widget.ignoreDashboardFilters : [], context.tab);
|
|
299
298
|
return {
|
|
300
299
|
entries: ungatedTabEntries(context.tab, isStringEnabled),
|
|
301
|
-
|
|
302
|
-
|
|
300
|
+
dependenciesByRoot,
|
|
301
|
+
filterRoots,
|
|
303
302
|
workspaceParameterByRef,
|
|
304
|
-
widgetInsightRef: context.widget.
|
|
303
|
+
widgetInsightRef: context.widget && isInsightWidget(context.widget)
|
|
304
|
+
? context.widget.insight
|
|
305
|
+
: undefined,
|
|
305
306
|
isStringEnabled,
|
|
306
307
|
};
|
|
307
308
|
}));
|
|
@@ -311,12 +312,15 @@ const selectWidgetInsightAndReferencedRefs = createMemoizedSelector((ref) => cre
|
|
|
311
312
|
if (!resolved) {
|
|
312
313
|
return undefined;
|
|
313
314
|
}
|
|
314
|
-
const { entries,
|
|
315
|
-
const insight = insights.get(widgetInsightRef);
|
|
315
|
+
const { entries, dependenciesByRoot, filterRoots, workspaceParameterByRef, widgetInsightRef, isStringEnabled, } = resolved;
|
|
316
|
+
const insight = widgetInsightRef ? insights.get(widgetInsightRef) : undefined;
|
|
316
317
|
if (!insight) {
|
|
317
318
|
return undefined;
|
|
318
319
|
}
|
|
319
|
-
const referencedRefs =
|
|
320
|
+
const referencedRefs = collectRootParameterRefs(dependenciesByRoot, [
|
|
321
|
+
insightRef(insight),
|
|
322
|
+
...filterRoots,
|
|
323
|
+
]);
|
|
320
324
|
const insightParameterValues = ungatedInsightParameterValues(insight, isStringEnabled);
|
|
321
325
|
return { insightParameterValues, referencedRefs, entries, workspaceParameterByRef };
|
|
322
326
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarResizeContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAC;AAwChG,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,
|
|
1
|
+
{"version":3,"file":"SidebarResizeContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAC;AAwChG,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAwE5D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,KAAK,EACL,QAAQ,GACX,EAAE;IACC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB,2CAEA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAEvD"}
|