@gooddata/sdk-ui-dashboard 11.47.0-alpha.2 → 11.47.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/_staging/automation/index.d.ts +7 -1
  4. package/esm/_staging/automation/index.d.ts.map +1 -1
  5. package/esm/_staging/automation/index.js +8 -0
  6. package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts.map +1 -1
  7. package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js +11 -1
  8. package/esm/model/commandHandlers/dashboard/common/parameterHydration.d.ts.map +1 -1
  9. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  10. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +5 -5
  11. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadDashboardParameters.d.ts +1 -1
  12. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadDashboardParameters.d.ts.map +1 -1
  13. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadDashboardParameters.js +4 -3
  14. package/esm/model/commandHandlers/filterContext/filterViewParameters.d.ts +2 -2
  15. package/esm/model/commandHandlers/filterContext/filterViewParameters.d.ts.map +1 -1
  16. package/esm/model/commandHandlers/filterContext/filterViewParameters.js +6 -11
  17. package/esm/model/store/config/configSelectors.d.ts +6 -0
  18. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  19. package/esm/model/store/config/configSelectors.js +8 -0
  20. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +43 -10
  21. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  22. package/esm/model/store/tabs/parameters/parametersHelpers.js +66 -27
  23. package/esm/model/store/tabs/parameters/parametersReducers.d.ts +3 -3
  24. package/esm/model/store/tabs/parameters/parametersReducers.d.ts.map +1 -1
  25. package/esm/model/store/tabs/parameters/parametersReducers.js +1 -1
  26. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +25 -4
  27. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  28. package/esm/model/store/tabs/parameters/parametersSelectors.js +59 -28
  29. package/esm/model/store/tabs/parameters/parametersState.d.ts +2 -2
  30. package/esm/model/store/tabs/parameters/parametersState.d.ts.map +1 -1
  31. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.js +2 -2
  32. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.js +1 -1
  33. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.js +2 -2
  34. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.js +1 -1
  35. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.d.ts.map +1 -1
  36. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.js +6 -10
  37. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
  38. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +8 -4
  39. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts.map +1 -1
  40. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.js +2 -2
  41. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map +1 -1
  42. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.js +2 -2
  43. package/esm/presentation/filterBar/parameterFilter/DashboardParameterFilter.d.ts.map +1 -1
  44. package/esm/presentation/filterBar/parameterFilter/DashboardParameterFilter.js +6 -5
  45. package/esm/presentation/filterBar/parameterFilter/DashboardParameterPicker.d.ts.map +1 -1
  46. package/esm/presentation/filterBar/parameterFilter/DashboardParameterPicker.js +4 -5
  47. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +0 -5
  48. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  49. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +0 -5
  50. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +0 -5
  51. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  52. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +0 -5
  53. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +0 -5
  54. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  55. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +0 -5
  56. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +0 -5
  57. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  58. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +0 -5
  59. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +0 -5
  60. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  61. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +0 -5
  62. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +0 -5
  63. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  64. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +0 -5
  65. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +0 -5
  66. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  67. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +0 -5
  68. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +0 -5
  69. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  70. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +0 -5
  71. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +0 -5
  72. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  73. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +0 -5
  74. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +0 -5
  75. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  76. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +0 -5
  77. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +0 -5
  78. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  79. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +0 -5
  80. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +0 -5
  81. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  82. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +0 -5
  83. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +0 -5
  84. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  85. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +0 -5
  86. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +0 -5
  87. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  88. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +0 -5
  89. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +0 -5
  90. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  91. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +0 -5
  92. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +0 -5
  93. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  94. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +0 -5
  95. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +0 -5
  96. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  97. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +0 -5
  98. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +0 -5
  99. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  100. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +0 -5
  101. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +0 -5
  102. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  103. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +0 -5
  104. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +0 -5
  105. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  106. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +0 -5
  107. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +0 -5
  108. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  109. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +0 -5
  110. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +0 -5
  111. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  112. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +0 -5
  113. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +0 -5
  114. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  115. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +0 -5
  116. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +0 -5
  117. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  118. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +0 -5
  119. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +0 -5
  120. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  121. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +0 -5
  122. package/esm/sdk-ui-dashboard.d.ts +5 -4
  123. package/package.json +21 -21
  124. package/styles/css/dashboard.css +7 -0
  125. package/styles/css/dashboard.css.map +1 -1
  126. package/styles/css/main.css +12 -1
  127. package/styles/css/main.css.map +1 -1
  128. package/styles/css/notifications_channels_dialog.css +7 -0
  129. package/styles/css/notifications_channels_dialog.css.map +1 -1
  130. package/styles/css/pdfExportDialog.css +5 -1
  131. package/styles/css/pdfExportDialog.css.map +1 -1
  132. package/styles/scss/notifications_channels_dialog.scss +9 -0
  133. package/styles/scss/pdfExportDialog.scss +7 -2
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.47.0-alpha.2";
1
+ export declare const LIB_VERSION = "11.47.0-alpha.3";
2
2
  export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
4
4
  //# sourceMappingURL=__version.d.ts.map
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.47.0-alpha.2";
3
+ export const LIB_VERSION = "11.47.0-alpha.3";
4
4
  export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
5
5
  export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
@@ -1,4 +1,4 @@
1
- import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IDashboardExportParameter, type IExportDefinitionMetadataObject, type IExportDefinitionMetadataObjectDefinition, type IFilter, type IInsightParameterValue, type IUser, type IWorkspaceUser } from "@gooddata/sdk-model";
1
+ import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IDashboardExportParameter, type IExportDefinitionMetadataObject, type IExportDefinitionMetadataObjectDefinition, type IFilter, type IInsightParameterValue, type IUser, type IWorkspaceUser, type ParameterValue } from "@gooddata/sdk-model";
2
2
  export declare const isDashboardAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
3
3
  export declare const isVisualisationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
4
4
  export declare const isCsvVisualizationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
@@ -29,6 +29,12 @@ export declare function setExportParametersByTab(automation: IAutomationMetadata
29
29
  * string) to {@link IInsightParameterValue} runtime values. Non-finite values are dropped.
30
30
  */
31
31
  export declare function exportParametersToValues(stored: IDashboardExportParameter[]): IInsightParameterValue[];
32
+ /**
33
+ * The parameter values the automation dialogs can carry: NUMBER only, until the interactions
34
+ * slice (F1-2636…F1-2641) widens the automation model. The single home of that policy — delete
35
+ * together with the automation seeding gates when the slice lands.
36
+ */
37
+ export declare function isAutomationSupportedParameterValue(value: ParameterValue): value is number;
32
38
  export declare const getAutomationVisualizationFilters: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => {
33
39
  executionFilters: IFilter[] | undefined;
34
40
  filterContextItems: FilterContextItem[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_staging/automation/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAE9B,KAAK,+BAA+B,EACpC,KAAK,yCAAyC,EAE9C,KAAK,OAAO,EACZ,KAAK,sBAAsB,EAC3B,KAAK,KAAK,EACV,KAAK,cAAc,EAMtB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,qBAAqB,kHAUjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,kHAUrC,CAAC;AAEF,eAAO,MAAM,4BAA4B,kHAQxC,CAAC;AAEF,eAAO,MAAM,kCAAkC,wHAW9C,CAAC;AAEF,eAAO,MAAM,6BAA6B,kHAQzC,CAAC;AAEF,eAAO,MAAM,mCAAmC,wHAW/C,CAAC;AAEF,eAAO,MAAM,6BAA6B,8HAYzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,8IAY9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,sJAW9C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,mCAAmC,EAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,GAAG,SAAS,GACzE,mCAAmC,CA+BrC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,yBAAyB,EAAE,GAAG,sBAAsB,EAAE,CAQtG;AAED,eAAO,MAAM,iCAAiC;;;CAuB7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,oHAQrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,mIAIxC,CAAC;AAOF,eAAO,MAAM,mBAAmB,8HAqB/B,CAAC;AAEF,eAAO,MAAM,uCAAuC,gEAOnD,CAAC;AAEF,eAAO,MAAM,iCAAiC,0DAe7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,uCAO5C,CAAC;AAEF,eAAO,MAAM,6CAA6C,qDASzD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_staging/automation/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAE9B,KAAK,+BAA+B,EACpC,KAAK,yCAAyC,EAE9C,KAAK,OAAO,EACZ,KAAK,sBAAsB,EAC3B,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EAMtB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,qBAAqB,kHAUjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,kHAUrC,CAAC;AAEF,eAAO,MAAM,4BAA4B,kHAQxC,CAAC;AAEF,eAAO,MAAM,kCAAkC,wHAW9C,CAAC;AAEF,eAAO,MAAM,6BAA6B,kHAQzC,CAAC;AAEF,eAAO,MAAM,mCAAmC,wHAW/C,CAAC;AAEF,eAAO,MAAM,6BAA6B,8HAYzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,8IAY9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,sJAW9C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,mCAAmC,EAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,GAAG,SAAS,GACzE,mCAAmC,CA+BrC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,yBAAyB,EAAE,GAAG,sBAAsB,EAAE,CAQtG;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,MAAM,CAE1F;AAED,eAAO,MAAM,iCAAiC;;;CAuB7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,oHAQrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,mIAIxC,CAAC;AAOF,eAAO,MAAM,mBAAmB,8HAqB/B,CAAC;AAEF,eAAO,MAAM,uCAAuC,gEAOnD,CAAC;AAEF,eAAO,MAAM,iCAAiC,0DAe7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,uCAO5C,CAAC;AAEF,eAAO,MAAM,6CAA6C,qDASzD,CAAC"}
@@ -126,6 +126,14 @@ export function exportParametersToValues(stored) {
126
126
  return acc;
127
127
  }, []);
128
128
  }
129
+ /**
130
+ * The parameter values the automation dialogs can carry: NUMBER only, until the interactions
131
+ * slice (F1-2636…F1-2641) widens the automation model. The single home of that policy — delete
132
+ * together with the automation seeding gates when the slice lands.
133
+ */
134
+ export function isAutomationSupportedParameterValue(value) {
135
+ return typeof value === "number";
136
+ }
129
137
  export const getAutomationVisualizationFilters = (automation) => {
130
138
  if (!automation) {
131
139
  return { executionFilters: undefined, filterContextItems: undefined };
@@ -1 +1 @@
1
- {"version":3,"file":"useDataViewWithConfig.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDataViewWithConfig.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI3E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;;;;;;;;EA6BvF"}
1
+ {"version":3,"file":"useDataViewWithConfig.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDataViewWithConfig.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI3E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;;;;;;;;EAgDvF"}
@@ -22,11 +22,21 @@ export function useDataViewWithConfig(group, item) {
22
22
  };
23
23
  }
24
24
  const config = createConfig(settings, colorPalette, group, item);
25
+ const metric = state.definition?.metric;
26
+ const metricTitle = metric?.measure.title ?? metric?.measure.alias ?? "";
27
+ config.enableHighchartsAccessibility = true;
28
+ config.a11yTitle = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.title" }, {
29
+ title: metricTitle,
30
+ category: item.category,
31
+ });
32
+ config.a11yDescription = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.tip" }, {
33
+ category: item.category,
34
+ });
25
35
  const dataView = createDataView(workspace, definition, group, item, title);
26
36
  return {
27
37
  config,
28
38
  dataView,
29
39
  displayForm: group.displayForm,
30
40
  };
31
- }, [colorPalette, definition, group, item, settings, title, workspace]);
41
+ }, [colorPalette, definition, group, intl, item, settings, state.definition?.metric, title, workspace]);
32
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parameterHydration.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/common/parameterHydration.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAEhC,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACH,KAAK,wBAAwB,EAEhC,MAAM,mDAAmD,CAAC;AAG3D;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACtD,mBAAmB,EAAE,wBAAwB,EAAE,GAChD,wBAAwB,EAAE,CAY5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACtC,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,EACjC,cAAc,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACjD,mBAAmB,EAAE,wBAAwB,EAAE,EAC/C,iBAAiB,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAAE,GACxE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAc5C"}
1
+ {"version":3,"file":"parameterHydration.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/common/parameterHydration.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAGhC,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACH,KAAK,wBAAwB,EAEhC,MAAM,mDAAmD,CAAC;AAG3D;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACtD,mBAAmB,EAAE,wBAAwB,EAAE,GAChD,wBAAwB,EAAE,CAY5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACtC,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,EACjC,cAAc,EAAE,mBAAmB,EAAE,GAAG,SAAS,EACjD,mBAAmB,EAAE,wBAAwB,EAAE,EAC/C,iBAAiB,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAAE,GACxE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAc5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/initializeDashboardHandler/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAiC,KAAK,iBAAiB,EAAc,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EACH,KAAK,UAAU,EAIf,KAAK,sBAAsB,EAU9B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAqB1E,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,+BAA+B,CAAC;AA+avC,wBAAiB,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB;;;yDAgB9E;AAiCD,wBAAiB,2BAA2B,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU;;;0EAKxF;AAED,wBAAiB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,sNAW3D;AAcD,wBAAiB,0BAA0B,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,GAAG,YAAY,CA6BzG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/initializeDashboardHandler/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAiC,KAAK,iBAAiB,EAAc,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EACH,KAAK,UAAU,EAIf,KAAK,sBAAsB,EAW9B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAqB1E,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,+BAA+B,CAAC;AA+avC,wBAAiB,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB;;;yDAgB9E;AAkCD,wBAAiB,2BAA2B,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU;;;0EAKxF;AAED,wBAAiB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,sNAW3D;AAcD,wBAAiB,0BAA0B,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,GAAG,YAAY,CA6BzG"}
@@ -183,7 +183,7 @@ function* loadExistingDashboard(ctx, cmd, dashboardRef) {
183
183
  const dashboard = dashboardWithFilterView;
184
184
  const [{ tabsAttributeFilterConfigs, tabsDateFilterConfig, tabsDateFilterConfigSource }, workspaceParameters, measureParameterDependencies,] = yield all([
185
185
  call(getTabsFilterConfigs, dashboard, config, ctx, cmd),
186
- call(loadWorkspaceParametersWithStatus, ctx, config.settings?.enableParameters ?? false),
186
+ call(loadWorkspaceParametersWithStatus, ctx, config.settings),
187
187
  call(loadMeasureParameterDependencies, ctx, insights, config.settings?.enableParameters ?? false),
188
188
  ]);
189
189
  const workspaceParametersList = Array.isArray(workspaceParameters) ? workspaceParameters : [];
@@ -231,7 +231,7 @@ function* initializeNewDashboard(ctx, cmd) {
231
231
  call(loadDateHierarchyTemplates, ctx),
232
232
  call(loadFilterViews, ctx),
233
233
  ]);
234
- const workspaceParameters = yield call(loadWorkspaceParametersWithStatus, ctx, config.settings?.enableParameters ?? false);
234
+ const workspaceParameters = yield call(loadWorkspaceParametersWithStatus, ctx, config.settings);
235
235
  const workspaceParametersList = Array.isArray(workspaceParameters) ? workspaceParameters : [];
236
236
  const { initActions, dashboard, insights } = yield call(actionsToInitializeNewDashboard, ctx, config.settings, config.dateFilterConfig, catalog ? createDisplayFormMapFromCatalog(catalog) : createDisplayFormMap([], []), cmd.payload.initialTabId, workspaceParametersList);
237
237
  const measureParameterDependencies = yield call(loadMeasureParameterDependencies, ctx, insights, config.settings?.enableParameters ?? false);
@@ -292,12 +292,12 @@ export function* requestCatalog(ctx, cmd) {
292
292
  dateHierarchyTemplates: dateHierarchyTemplates,
293
293
  }));
294
294
  }
295
- function* loadWorkspaceParametersWithStatus(ctx, enableParameters) {
296
- if (!enableParameters) {
295
+ function* loadWorkspaceParametersWithStatus(ctx, settings) {
296
+ if (!settings?.enableParameters) {
297
297
  return "gated-off";
298
298
  }
299
299
  try {
300
- const result = yield call(loadDashboardParameters, ctx);
300
+ const result = yield call(loadDashboardParameters, ctx, settings.enableStringParameters ?? false);
301
301
  return result;
302
302
  }
303
303
  catch {
@@ -1,4 +1,4 @@
1
1
  import { type IParameterMetadataObject } from "@gooddata/sdk-model";
2
2
  import { type DashboardContext } from "../../../types/commonTypes.js";
3
- export declare function loadDashboardParameters({ backend, workspace }: DashboardContext): Promise<IParameterMetadataObject[]>;
3
+ export declare function loadDashboardParameters({ backend, workspace }: DashboardContext, enableStringParameters: boolean): Promise<IParameterMetadataObject[]>;
4
4
  //# sourceMappingURL=loadDashboardParameters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadDashboardParameters.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/initializeDashboardHandler/loadDashboardParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAA+B,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,wBAAsB,uBAAuB,CAAC,EAC1C,OAAO,EACP,SAAS,EACZ,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAKxD"}
1
+ {"version":3,"file":"loadDashboardParameters.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/initializeDashboardHandler/loadDashboardParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,wBAAsB,uBAAuB,CACzC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,gBAAgB,EACxC,sBAAsB,EAAE,OAAO,GAChC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CASrC"}
@@ -1,7 +1,8 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { isNumberParameterDefinition } from "@gooddata/sdk-model";
3
- export async function loadDashboardParameters({ backend, workspace, }) {
2
+ import { isNumberParameterDefinition, isStringParameterDefinition, } from "@gooddata/sdk-model";
3
+ export async function loadDashboardParameters({ backend, workspace }, enableStringParameters) {
4
4
  const firstPage = await backend.workspace(workspace).parameters().getParametersQuery().query();
5
5
  const all = await firstPage.all();
6
- return all.filter((parameter) => isNumberParameterDefinition(parameter.definition));
6
+ return all.filter((parameter) => isNumberParameterDefinition(parameter.definition) ||
7
+ (enableStringParameters && isStringParameterDefinition(parameter.definition)));
7
8
  }
@@ -1,7 +1,7 @@
1
- import { type IDashboardParameter, type IParameterMetadataObject, type ObjRef } from "@gooddata/sdk-model";
1
+ import { type IDashboardParameter, type IParameterMetadataObject, type ObjRef, type ParameterValue } from "@gooddata/sdk-model";
2
2
  interface IResolvedFilterViewParameter {
3
3
  ref: ObjRef;
4
- value: number | undefined;
4
+ value: ParameterValue | undefined;
5
5
  }
6
6
  export declare function resolveFilterViewParameterValues(parameters: ReadonlyArray<IDashboardParameter>, workspaceParameters: ReadonlyArray<IParameterMetadataObject>): IResolvedFilterViewParameter[];
7
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"filterViewParameters.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/filterContext/filterViewParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAE7B,UAAU,4BAA4B;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,gCAAgC,CAC5C,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC9C,mBAAmB,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAC7D,4BAA4B,EAAE,CAahC"}
1
+ {"version":3,"file":"filterViewParameters.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/filterContext/filterViewParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,MAAM,EACX,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAI7B,UAAU,4BAA4B;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,gCAAgC,CAC5C,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC9C,mBAAmB,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAC7D,4BAA4B,EAAE,CAQhC"}
@@ -1,14 +1,9 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { areObjRefsEqual, getNumberParameterDefaultValue, } from "@gooddata/sdk-model";
2
+ import { areObjRefsEqual, } from "@gooddata/sdk-model";
3
+ import { computeHydratedRuntimeOverride } from "../../store/tabs/parameters/parametersHelpers.js";
3
4
  export function resolveFilterViewParameterValues(parameters, workspaceParameters) {
4
- return parameters.map((parameter) => {
5
- if (parameter.value !== undefined) {
6
- return { ref: parameter.ref, value: parameter.value };
7
- }
8
- const workspaceParameter = workspaceParameters.find((item) => areObjRefsEqual(item.ref, parameter.ref));
9
- return {
10
- ref: parameter.ref,
11
- value: getNumberParameterDefaultValue(workspaceParameter?.definition),
12
- };
13
- });
5
+ return parameters.map((parameter) => ({
6
+ ref: parameter.ref,
7
+ value: computeHydratedRuntimeOverride(parameter, workspaceParameters.find((item) => areObjRefsEqual(item.ref, parameter.ref))),
8
+ }));
14
9
  }
@@ -161,6 +161,12 @@ export declare const selectPlatformEdition: DashboardSelector<PlatformEdition>;
161
161
  * @alpha
162
162
  */
163
163
  export declare const selectEnableParameters: DashboardSelector<boolean>;
164
+ /**
165
+ * Returns whether STRING dashboard parameters are enabled.
166
+ *
167
+ * @internal
168
+ */
169
+ export declare const selectEnableStringParameters: DashboardSelector<boolean>;
164
170
  /**
165
171
  * Returns whether we should disable the underline in KPIs when they are drillable.
166
172
  *
@@ -1 +1 @@
1
- {"version":3,"file":"configSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/config/configSelectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/config/configSelectors.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,14 @@ export const selectPlatformEdition = createSelector(selectConfig, (state) => {
216
216
  export const selectEnableParameters = createSelector(selectConfig, (state) => {
217
217
  return state.settings?.enableParameters ?? false;
218
218
  });
219
+ /**
220
+ * Returns whether STRING dashboard parameters are enabled.
221
+ *
222
+ * @internal
223
+ */
224
+ export const selectEnableStringParameters = createSelector(selectConfig, (state) => {
225
+ return state.settings?.enableStringParameters ?? false;
226
+ });
219
227
  /**
220
228
  * Returns whether we should disable the underline in KPIs when they are drillable.
221
229
  *
@@ -1,4 +1,4 @@
1
- import { type IDashboardExportParameter, type IDashboardParameter, type IDashboardTab, type IInsight, type IInsightDefinition, type IInsightParameterValue, type IParameterMetadataObject, type IdentifierRef, type ObjRef } from "@gooddata/sdk-model";
1
+ import { type IDashboardExportParameter, type IDashboardParameter, type IDashboardTab, type IInsight, type IInsightDefinition, type IInsightParameterValue, type IParameterDefinition, type IParameterMetadataObject, type IdentifierRef, type ObjRef, type ParameterValue } from "@gooddata/sdk-model";
2
2
  import { type ObjRefMap } from "../../../../_staging/metadata/objRefMap.js";
3
3
  import { type IInsightWidgetTabContext } from "../layout/layoutSelectors.js";
4
4
  import { type ITabState } from "../tabsState.js";
@@ -17,8 +17,9 @@ export declare function collectReferencedParameterRefs(insight: IInsightDefiniti
17
17
  /**
18
18
  * Effective execution parameters, limited to `referencedRefs`. Precedence per ref: the dashboard
19
19
  * `runtimeOverride`, else the insight's own parameter value, else nothing (backend uses the workspace
20
- * default). An out-of-range value from either source is replaced by the workspace default (recovery),
21
- * so the backend never receives a bad value.
20
+ * default). A value from either source that is invalid for the workspace parameter (out of
21
+ * constraints or of the wrong kind) is replaced by the workspace default (recovery), so the backend
22
+ * never receives a bad value.
22
23
  *
23
24
  * @internal
24
25
  */
@@ -27,6 +28,7 @@ interface IParameterResolutionContext {
27
28
  entries: IDashboardParameterEntry[];
28
29
  measureParameters: Record<string, IdentifierRef[]>;
29
30
  workspaceParameterByRef: Map<string, IParameterMetadataObject>;
31
+ isStringEnabled: boolean;
30
32
  }
31
33
  /**
32
34
  * Effective execution parameters for `insight` given a widget's parameter context: resolves the refs
@@ -37,11 +39,20 @@ interface IParameterResolutionContext {
37
39
  export declare function resolveEffectiveParameterValuesForInsight(context: IParameterResolutionContext | undefined, insight: IInsightDefinition): IInsightParameterValue[];
38
40
  /**
39
41
  * The value hydration seeds into `runtimeOverride`: the dashboard parameter's `value`, else the
40
- * workspace number default, else `undefined`.
42
+ * workspace default when the workspace parameter is of the matching type, else `undefined`.
41
43
  *
42
44
  * @internal
43
45
  */
44
- export declare function computeHydratedRuntimeOverride(parameter: IDashboardParameter, workspaceParameter: IParameterMetadataObject | undefined): number | undefined;
46
+ export declare function computeHydratedRuntimeOverride(parameter: IDashboardParameter, workspaceParameter: IParameterMetadataObject | undefined): ParameterValue | undefined;
47
+ /**
48
+ * The workspace definition a dashboard parameter binds to: the definition when its type matches
49
+ * the parameter's own type tag, `undefined` otherwise (removed or incompatible workspace
50
+ * parameter). The single home of the type-match invariant shared by hydration, reset,
51
+ * reconciliation, and chip rendering.
52
+ *
53
+ * @internal
54
+ */
55
+ export declare function matchingWorkspaceDefinition(parameter: IDashboardParameter, workspaceParameter: IParameterMetadataObject | undefined): IParameterDefinition | undefined;
45
56
  /**
46
57
  * Why a dashboard parameter no longer matches its workspace catalog entry:
47
58
  * - `removed`: the workspace has no parameter for this ref.
@@ -81,6 +92,28 @@ export declare function classifyParameterReconciliation(dashboardParameter: IDas
81
92
  * @internal
82
93
  */
83
94
  export declare function collectParameterReconciliations(entries: IDashboardParameterEntry[], workspaceParameters: IParameterMetadataObject[]): IParameterReconciliationEntry[];
95
+ /**
96
+ * A STRING entry persisted while `enableStringParameters` was on. Once the flag is off it must not
97
+ * reach executions, exports, or reconciliation: the catalog omits STRING definitions, so the chip
98
+ * is hidden and the value would apply as an invisible override.
99
+ *
100
+ * @internal
101
+ */
102
+ export declare function isGatedStringEntry(entry: IDashboardParameterEntry, isStringEnabled: boolean): boolean;
103
+ /**
104
+ * The value-shaped twin of {@link isGatedStringEntry}, for insight-level parameter values, which
105
+ * carry no declared type.
106
+ *
107
+ * @internal
108
+ */
109
+ export declare function isGatedStringValue(value: ParameterValue, isStringEnabled: boolean): boolean;
110
+ /**
111
+ * The insight-authored parameter values that pass the string gate — the single home of
112
+ * insight-level gating for both the widget-execution hook path and the selector path.
113
+ *
114
+ * @internal
115
+ */
116
+ export declare function ungatedInsightParameterValues(insight: IInsightDefinition, isStringEnabled: boolean): IInsightParameterValue[];
84
117
  /**
85
118
  * Display title for a dashboard parameter: `parameter.label` → workspace title → `ref.identifier`.
86
119
  *
@@ -131,12 +164,12 @@ export declare function smartPersistResolvedEntry(entry: IDashboardParameterEntr
131
164
  */
132
165
  export declare function buildPersistedByTabAndRef(persistedTabs: ReadonlyArray<IDashboardTab>, rootPersistedParameters: IDashboardParameter[]): Map<string, Map<string, IDashboardParameter>>;
133
166
  /**
134
- * Returns `undefined` when reset would be a no-op: missing/non-number workspace parameter, or
135
- * in edit mode when `parameter.value` is unset / already equals the workspace default.
167
+ * Returns `undefined` when reset would be a no-op: missing/type-mismatched workspace parameter,
168
+ * or in edit mode when `parameter.value` is unset / already equals the workspace default.
136
169
  *
137
170
  * @internal
138
171
  */
139
- export declare function computeParameterResetValue(entry: IDashboardParameterEntry, workspaceParameter: IParameterMetadataObject | undefined, isInEditMode: boolean): number | undefined;
172
+ export declare function computeParameterResetValue(entry: IDashboardParameterEntry, workspaceParameter: IParameterMetadataObject | undefined, isInEditMode: boolean): ParameterValue | undefined;
140
173
  /**
141
174
  * Only `mode: "active"` entries with a defined `runtimeOverride` are considered resettable;
142
175
  * HIDDEN and READONLY entries are skipped, and entries with `runtimeOverride === undefined`
@@ -147,7 +180,7 @@ export declare function computeParameterResetValue(entry: IDashboardParameterEnt
147
180
  */
148
181
  export declare function computeParameterResetTargets(entries: IDashboardParameterEntry[], workspaceParameters: IParameterMetadataObject[], isInEditMode: boolean): {
149
182
  ref: IDashboardParameterEntry["parameter"]["ref"];
150
- value: number | undefined;
183
+ value: ParameterValue | undefined;
151
184
  }[];
152
185
  /**
153
186
  * Folds per-tab ref selections into the wire shape, dropping entries without a
@@ -160,7 +193,7 @@ export declare function computeParameterResetTargets(entries: IDashboardParamete
160
193
  export declare function collectExportOverrides(tabRefSelections: ReadonlyArray<{
161
194
  tab: ITabState;
162
195
  allowedRefs?: Set<string>;
163
- }>, workspaceParameterByRef: Map<string, IParameterMetadataObject>): Record<string, IDashboardExportParameter[]>;
196
+ }>, workspaceParameterByRef: Map<string, IParameterMetadataObject>, includeStringEntries: boolean): Record<string, IDashboardExportParameter[]>;
164
197
  /**
165
198
  * Builds per-tab ref selections for a widget-scope export: each widget's owning tab is restricted
166
199
  * to refs referenced by the widget's insight metrics. Multiple widgets on the same tab union their
@@ -1 +1 @@
1
- {"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { DashboardParameterModeValues, getNumberParameterDefaultValue, insightMeasures, insightParameters, isMeasureDefinition, isNumberParameterDefinition, isValidNumberParameterValue, objRefToString, } from "@gooddata/sdk-model";
2
+ import { DashboardParameterModeValues, insightMeasures, insightParameters, isMeasureDefinition, isValidParameterValue, objRefToString, } from "@gooddata/sdk-model";
3
3
  import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
4
4
  const EMPTY_PARAMETERS = [];
5
5
  const EMPTY_PARAMETER_VALUES = [];
@@ -36,8 +36,9 @@ export function collectReferencedParameterRefs(insight, measureParameters) {
36
36
  /**
37
37
  * Effective execution parameters, limited to `referencedRefs`. Precedence per ref: the dashboard
38
38
  * `runtimeOverride`, else the insight's own parameter value, else nothing (backend uses the workspace
39
- * default). An out-of-range value from either source is replaced by the workspace default (recovery),
40
- * so the backend never receives a bad value.
39
+ * default). A value from either source that is invalid for the workspace parameter (out of
40
+ * constraints or of the wrong kind) is replaced by the workspace default (recovery), so the backend
41
+ * never receives a bad value.
41
42
  *
42
43
  * @internal
43
44
  */
@@ -84,11 +85,11 @@ export function resolveEffectiveParameterValuesForInsight(context, insight) {
84
85
  return EMPTY_PARAMETER_VALUES;
85
86
  }
86
87
  const referencedRefs = collectReferencedParameterRefs(insight, context.measureParameters);
87
- return resolveEffectiveParameterValuesForRefs(context.entries, referencedRefs, insightParameters(insight), context.workspaceParameterByRef);
88
+ return resolveEffectiveParameterValuesForRefs(context.entries, referencedRefs, ungatedInsightParameterValues(insight, context.isStringEnabled), context.workspaceParameterByRef);
88
89
  }
89
90
  /**
90
91
  * The value hydration seeds into `runtimeOverride`: the dashboard parameter's `value`, else the
91
- * workspace number default, else `undefined`.
92
+ * workspace default when the workspace parameter is of the matching type, else `undefined`.
92
93
  *
93
94
  * @internal
94
95
  */
@@ -96,25 +97,34 @@ export function computeHydratedRuntimeOverride(parameter, workspaceParameter) {
96
97
  if (parameter.value !== undefined) {
97
98
  return parameter.value;
98
99
  }
99
- return getNumberParameterDefaultValue(workspaceParameter?.definition);
100
+ return matchingWorkspaceDefinition(parameter, workspaceParameter)?.defaultValue;
100
101
  }
101
102
  /**
102
- * The value to execute for a runtime override: an out-of-range NUMBER value is replaced by the
103
- * workspace default so the dashboard renders the default instead of failing (recovery), while the
104
- * chip keeps showing the user's saved value. In-range values, and values with no NUMBER definition to
105
- * validate against (removed / incompatible — meant to surface as the standard widget error), pass
106
- * through unchanged.
103
+ * The workspace definition a dashboard parameter binds to: the definition when its type matches
104
+ * the parameter's own type tag, `undefined` otherwise (removed or incompatible workspace
105
+ * parameter). The single home of the type-match invariant shared by hydration, reset,
106
+ * reconciliation, and chip rendering.
107
+ *
108
+ * @internal
109
+ */
110
+ export function matchingWorkspaceDefinition(parameter, workspaceParameter) {
111
+ const definition = workspaceParameter?.definition;
112
+ return definition?.type === parameter.parameterType ? definition : undefined;
113
+ }
114
+ /**
115
+ * The value to execute for a runtime override: a value that is not valid for the workspace
116
+ * parameter (constraint-violating or of the wrong kind) is replaced by the workspace default so
117
+ * the dashboard renders the default instead of failing (recovery), while the chip keeps showing
118
+ * the user's saved value. Valid values, and values of removed parameters (no workspace entry —
119
+ * meant to surface as the standard widget error), pass through unchanged.
107
120
  *
108
121
  * @internal
109
122
  */
110
123
  function recoverParameterExecutionValue(runtimeOverride, workspaceParameter) {
111
- if (workspaceParameter && isNumberParameterDefinition(workspaceParameter.definition)) {
112
- const { defaultValue, constraints } = workspaceParameter.definition;
113
- if (!isValidNumberParameterValue(runtimeOverride, constraints)) {
114
- return defaultValue;
115
- }
116
- }
117
- return runtimeOverride;
124
+ const definition = workspaceParameter?.definition;
125
+ return definition && !isValidParameterValue(definition, runtimeOverride)
126
+ ? definition.defaultValue
127
+ : runtimeOverride;
118
128
  }
119
129
  /**
120
130
  * Classifies one dashboard parameter against its workspace catalog entry — the single source of
@@ -130,11 +140,11 @@ export function classifyParameterReconciliation(dashboardParameter, workspacePar
130
140
  if (!workspaceParameter) {
131
141
  return "removed";
132
142
  }
133
- if (!isNumberParameterDefinition(workspaceParameter.definition)) {
143
+ if (!matchingWorkspaceDefinition(dashboardParameter, workspaceParameter)) {
134
144
  return "incompatible";
135
145
  }
136
146
  if (dashboardParameter.value !== undefined &&
137
- !isValidNumberParameterValue(dashboardParameter.value, workspaceParameter.definition.constraints)) {
147
+ !isValidParameterValue(workspaceParameter.definition, dashboardParameter.value)) {
138
148
  return "reset";
139
149
  }
140
150
  return undefined;
@@ -169,6 +179,34 @@ export function collectParameterReconciliations(entries, workspaceParameters) {
169
179
  }
170
180
  return result;
171
181
  }
182
+ /**
183
+ * A STRING entry persisted while `enableStringParameters` was on. Once the flag is off it must not
184
+ * reach executions, exports, or reconciliation: the catalog omits STRING definitions, so the chip
185
+ * is hidden and the value would apply as an invisible override.
186
+ *
187
+ * @internal
188
+ */
189
+ export function isGatedStringEntry(entry, isStringEnabled) {
190
+ return entry.parameter.parameterType === "STRING" && !isStringEnabled;
191
+ }
192
+ /**
193
+ * The value-shaped twin of {@link isGatedStringEntry}, for insight-level parameter values, which
194
+ * carry no declared type.
195
+ *
196
+ * @internal
197
+ */
198
+ export function isGatedStringValue(value, isStringEnabled) {
199
+ return typeof value === "string" && !isStringEnabled;
200
+ }
201
+ /**
202
+ * The insight-authored parameter values that pass the string gate — the single home of
203
+ * insight-level gating for both the widget-execution hook path and the selector path.
204
+ *
205
+ * @internal
206
+ */
207
+ export function ungatedInsightParameterValues(insight, isStringEnabled) {
208
+ return insightParameters(insight).filter((value) => !isGatedStringValue(value.value, isStringEnabled));
209
+ }
172
210
  /**
173
211
  * Display title for a dashboard parameter: `parameter.label` → workspace title → `ref.identifier`.
174
212
  *
@@ -229,7 +267,7 @@ export function formatDashboardParameter(entry, workspaceParameter) {
229
267
  * @internal
230
268
  */
231
269
  export function smartPersistResolvedEntry(entry, workspaceParameter) {
232
- const workspaceDefault = getNumberParameterDefaultValue(workspaceParameter.definition);
270
+ const workspaceDefault = workspaceParameter.definition.defaultValue;
233
271
  const result = {
234
272
  ref: entry.parameter.ref,
235
273
  parameterType: entry.parameter.parameterType,
@@ -263,16 +301,17 @@ export function buildPersistedByTabAndRef(persistedTabs, rootPersistedParameters
263
301
  return result;
264
302
  }
265
303
  /**
266
- * Returns `undefined` when reset would be a no-op: missing/non-number workspace parameter, or
267
- * in edit mode when `parameter.value` is unset / already equals the workspace default.
304
+ * Returns `undefined` when reset would be a no-op: missing/type-mismatched workspace parameter,
305
+ * or in edit mode when `parameter.value` is unset / already equals the workspace default.
268
306
  *
269
307
  * @internal
270
308
  */
271
309
  export function computeParameterResetValue(entry, workspaceParameter, isInEditMode) {
272
- const workspaceDefault = getNumberParameterDefaultValue(workspaceParameter?.definition);
273
- if (workspaceDefault === undefined) {
310
+ const definition = matchingWorkspaceDefinition(entry.parameter, workspaceParameter);
311
+ if (!definition) {
274
312
  return undefined;
275
313
  }
314
+ const workspaceDefault = definition.defaultValue;
276
315
  const dashboardOverride = entry.parameter.value;
277
316
  if (isInEditMode) {
278
317
  if (dashboardOverride === undefined || dashboardOverride === workspaceDefault) {
@@ -316,10 +355,10 @@ export function computeParameterResetTargets(entries, workspaceParameters, isInE
316
355
  *
317
356
  * @internal
318
357
  */
319
- export function collectExportOverrides(tabRefSelections, workspaceParameterByRef) {
358
+ export function collectExportOverrides(tabRefSelections, workspaceParameterByRef, includeStringEntries) {
320
359
  const result = {};
321
360
  for (const { tab, allowedRefs } of tabRefSelections) {
322
- const entries = tab.parameters?.parameters ?? parametersInitialState.parameters;
361
+ const entries = (tab.parameters?.parameters ?? parametersInitialState.parameters).filter((entry) => !isGatedStringEntry(entry, includeStringEntries));
323
362
  const scoped = allowedRefs
324
363
  ? entries.filter((entry) => allowedRefs.has(objRefToString(entry.parameter.ref)))
325
364
  : entries;
@@ -1,5 +1,5 @@
1
1
  import { type Action, type CaseReducer } from "@reduxjs/toolkit";
2
- import { type IDashboardParameter, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type IDashboardParameter, type ObjRef, type ParameterValue } from "@gooddata/sdk-model";
3
3
  import { type ITabsState } from "../tabsState.js";
4
4
  type ParametersReducer<A extends Action> = CaseReducer<ITabsState, A>;
5
5
  /**
@@ -10,14 +10,14 @@ type ParametersReducer<A extends Action> = CaseReducer<ITabsState, A>;
10
10
  */
11
11
  export interface IAddParameterPayload {
12
12
  parameter: IDashboardParameter;
13
- workspaceDefault: number;
13
+ workspaceDefault: ParameterValue;
14
14
  }
15
15
  /**
16
16
  * @alpha
17
17
  */
18
18
  export interface ISetParameterRuntimeValuePayload {
19
19
  ref: ObjRef;
20
- value: number | undefined;
20
+ value: ParameterValue | undefined;
21
21
  }
22
22
  /**
23
23
  * @alpha
@@ -1 +1 @@
1
- {"version":3,"file":"parametersReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAE,KAAK,UAAU,EAAgC,MAAM,iBAAiB,CAAC;AAIhF,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAoBD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AASD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,EAAE,gCAAgC,EAAE,CAAC;IAC3C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAWD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,CAAC;CACf;AA6BD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAK9B,CAAC"}
1
+ {"version":3,"file":"parametersReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACX,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,UAAU,EAAgC,MAAM,iBAAiB,CAAC;AAIhF,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,cAAc,CAAC;CACpC;AAoBD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AASD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,EAAE,gCAAgC,EAAE,CAAC;IAC3C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAWD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,CAAC;CACf;AA6BD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAK9B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { areObjRefsEqual } from "@gooddata/sdk-model";
2
+ import { areObjRefsEqual, } from "@gooddata/sdk-model";
3
3
  import { getActiveTab, getTabOrActive } from "../tabsState.js";
4
4
  import { parametersInitialState } from "./parametersState.js";
5
5
  const addParameter = (state, action) => {