@gooddata/sdk-ui-dashboard 11.48.0-alpha.1 → 11.48.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) 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 -9
  4. package/esm/_staging/automation/index.d.ts.map +1 -1
  5. package/esm/_staging/automation/index.js +22 -12
  6. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.d.ts +10 -3
  7. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.d.ts.map +1 -1
  8. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.js +5 -4
  9. package/esm/model/commandHandlers/scheduledEmail/createScheduledEmailHandler.d.ts.map +1 -1
  10. package/esm/model/commandHandlers/scheduledEmail/createScheduledEmailHandler.js +11 -2
  11. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.d.ts +9 -1
  12. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.d.ts.map +1 -1
  13. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.js +4 -4
  14. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
  15. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +9 -2
  16. package/esm/model/commandHandlers/scheduledEmail/saveScheduledEmailHandler.d.ts.map +1 -1
  17. package/esm/model/commandHandlers/scheduledEmail/saveScheduledEmailHandler.js +11 -2
  18. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.d.ts.map +1 -1
  19. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js +47 -13
  20. package/esm/model/react/useExportTemplates.d.ts +7 -2
  21. package/esm/model/react/useExportTemplates.d.ts.map +1 -1
  22. package/esm/model/react/useExportTemplates.js +50 -6
  23. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +1 -1
  24. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  25. package/esm/model/store/tabs/parameters/parametersHelpers.js +10 -11
  26. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +0 -20
  27. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  28. package/esm/model/store/tabs/parameters/parametersSelectors.js +8 -34
  29. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts +1 -1
  30. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.js +2 -2
  31. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.js +1 -1
  32. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.js +2 -2
  33. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.js +1 -1
  34. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +20 -17
  35. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
  36. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +57 -40
  37. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts +3 -3
  38. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  39. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts +2 -2
  40. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts.map +1 -1
  41. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.js +3 -3
  42. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  43. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +9 -5
  44. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts +2 -2
  45. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts.map +1 -1
  46. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.js +13 -5
  47. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts +3 -3
  48. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map +1 -1
  49. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.js +18 -10
  50. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.d.ts +2 -2
  51. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.d.ts.map +1 -1
  52. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +1 -0
  53. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  54. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +1 -0
  55. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +1 -0
  56. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  57. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +1 -0
  58. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +1 -0
  59. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  60. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +1 -0
  61. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +1 -0
  62. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  63. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +1 -0
  64. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +1 -0
  65. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  66. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +1 -0
  67. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +1 -0
  68. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  69. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +1 -0
  70. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +1 -0
  71. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  72. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +1 -0
  73. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +1 -0
  74. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  75. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +1 -0
  76. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +1 -0
  77. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  78. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +1 -0
  79. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +1 -0
  80. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  81. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +1 -0
  82. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +1 -0
  83. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  84. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +1 -0
  85. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +1 -0
  86. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  87. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +1 -0
  88. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +1 -0
  89. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  90. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +1 -0
  91. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +1 -0
  92. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  93. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +1 -0
  94. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +1 -0
  95. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  96. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +1 -0
  97. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +1 -0
  98. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  99. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +1 -0
  100. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +1 -0
  101. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  102. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +1 -0
  103. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +1 -0
  104. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  105. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +1 -0
  106. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +1 -0
  107. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  108. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +1 -0
  109. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +1 -0
  110. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  111. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +1 -0
  112. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +1 -0
  113. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  114. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +1 -0
  115. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +1 -0
  116. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  117. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +1 -0
  118. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +1 -0
  119. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  120. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +1 -0
  121. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +1 -0
  122. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  123. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +1 -0
  124. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +1 -0
  125. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  126. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +1 -0
  127. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.d.ts +1 -1
  128. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.d.ts.map +1 -1
  129. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.js +6 -7
  130. package/esm/sdk-ui-dashboard.d.ts +1 -1
  131. package/package.json +21 -21
  132. package/styles/css/main.css +3 -13
  133. package/styles/css/main.css.map +1 -1
  134. package/styles/css/topBar.css +3 -13
  135. package/styles/css/topBar.css.map +1 -1
  136. package/styles/scss/topBar.scss +3 -15
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { DashboardParameterModeValues, insightMeasures, insightParameters, isMeasureDefinition, isValidParameterValue, objRefToString, } from "@gooddata/sdk-model";
2
+ import { DashboardParameterModeValues, insightMeasures, insightParameters, isMeasureDefinition, isValidParameterValue, objRefToString, sanitizeParameterValue, } from "@gooddata/sdk-model";
3
3
  import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
4
4
  const EMPTY_PARAMETERS = [];
5
5
  const EMPTY_PARAMETER_VALUES = [];
@@ -57,7 +57,7 @@ export function resolveEffectiveParameterValuesForRefs(entries, referencedRefs,
57
57
  }
58
58
  result.push({
59
59
  ref: entry.parameter.ref,
60
- value: recoverParameterExecutionValue(runtimeOverride, workspaceParameterByRef.get(refKey)),
60
+ value: sanitizeParameterExecutionValue(runtimeOverride, workspaceParameterByRef.get(refKey)),
61
61
  });
62
62
  seen.add(refKey);
63
63
  }
@@ -68,7 +68,7 @@ export function resolveEffectiveParameterValuesForRefs(entries, referencedRefs,
68
68
  }
69
69
  result.push({
70
70
  ref: insightParameterValue.ref,
71
- value: recoverParameterExecutionValue(insightParameterValue.value, workspaceParameterByRef.get(refKey)),
71
+ value: sanitizeParameterExecutionValue(insightParameterValue.value, workspaceParameterByRef.get(refKey)),
72
72
  });
73
73
  seen.add(refKey);
74
74
  }
@@ -114,17 +114,15 @@ export function matchingWorkspaceDefinition(parameter, workspaceParameter) {
114
114
  /**
115
115
  * The value to execute for a runtime override: a value that is not valid for the workspace
116
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
117
+ * the dashboard renders the default instead of failing, while the chip keeps showing
118
118
  * the user's saved value. Valid values, and values of removed parameters (no workspace entry —
119
119
  * meant to surface as the standard widget error), pass through unchanged.
120
120
  *
121
121
  * @internal
122
122
  */
123
- function recoverParameterExecutionValue(runtimeOverride, workspaceParameter) {
123
+ function sanitizeParameterExecutionValue(runtimeOverride, workspaceParameter) {
124
124
  const definition = workspaceParameter?.definition;
125
- return definition && !isValidParameterValue(definition, runtimeOverride)
126
- ? definition.defaultValue
127
- : runtimeOverride;
125
+ return definition ? sanitizeParameterValue(definition, runtimeOverride) : runtimeOverride;
128
126
  }
129
127
  /**
130
128
  * Classifies one dashboard parameter against its workspace catalog entry — the single source of
@@ -256,8 +254,9 @@ export function formatDashboardParameter(entry, workspaceParameter) {
256
254
  }
257
255
  return {
258
256
  id: entry.parameter.ref.identifier,
259
- value: String(recoverParameterExecutionValue(runtimeOverride, workspaceParameter)),
257
+ value: String(sanitizeParameterExecutionValue(runtimeOverride, workspaceParameter)),
260
258
  title: resolveParameterTitle(entry.parameter, workspaceParameter),
259
+ parameterType: entry.parameter.parameterType,
261
260
  };
262
261
  }
263
262
  /**
@@ -355,10 +354,10 @@ export function computeParameterResetTargets(entries, workspaceParameters, isInE
355
354
  *
356
355
  * @internal
357
356
  */
358
- export function collectExportOverrides(tabRefSelections, workspaceParameterByRef, includeStringEntries) {
357
+ export function collectExportOverrides(tabRefSelections, workspaceParameterByRef, isStringEnabled) {
359
358
  const result = {};
360
359
  for (const { tab, allowedRefs } of tabRefSelections) {
361
- const entries = (tab.parameters?.parameters ?? parametersInitialState.parameters).filter((entry) => !isGatedStringEntry(entry, includeStringEntries));
360
+ const entries = (tab.parameters?.parameters ?? parametersInitialState.parameters).filter((entry) => !isGatedStringEntry(entry, isStringEnabled));
362
361
  const scoped = allowedRefs
363
362
  ? entries.filter((entry) => allowedRefs.has(objRefToString(entry.parameter.ref)))
364
363
  : entries;
@@ -142,16 +142,6 @@ export declare const selectWidgetParameterContext: (ref: ObjRef | undefined) =>
142
142
  * @alpha
143
143
  */
144
144
  export declare const selectEffectiveParameterValuesForWidget: (ref: ObjRef | undefined) => DashboardSelector<IInsightParameterValue[]>;
145
- /**
146
- * {@link selectEffectiveParameterValuesForWidget} minus string values, for seeding an alert's
147
- * stored execution parameters. Same rationale as
148
- * {@link selectAutomationExportEffectiveParameters}: the automation dialogs are NUMBER-only until
149
- * the interactions slice, and a stored string value would be invisible there and deleted by any
150
- * edit.
151
- *
152
- * @internal
153
- */
154
- export declare const selectAutomationParameterValuesForWidget: (ref: ObjRef | undefined) => DashboardSelector<IInsightParameterValue[]>;
155
145
  /**
156
146
  * The insight half of {@link selectEffectiveParameterValuesForWidget}: insight-authored values for
157
147
  * the metric-referenced refs, flag-gated and ref-filtered, with no dashboard chip overrides.
@@ -194,16 +184,6 @@ export declare const selectEffectiveDashboardParametersForWidget: (ref: ObjRef |
194
184
  * @alpha
195
185
  */
196
186
  export declare const selectExportEffectiveParameters: (widgetIds: string[] | undefined) => DashboardSelector<Record<string, IDashboardExportParameter[]>>;
197
- /**
198
- * {@link selectExportEffectiveParameters} minus STRING entries, for the wire persisted onto
199
- * automations. The automation dialogs and restore paths decode NUMBER-only until the interactions
200
- * slice (F1-2636…F1-2641): a stored STRING row would drive the headless render while being
201
- * invisible in the dialog, and any edit re-encodes the wire without it — so it must not be
202
- * persisted at all, regardless of `enableStringParameters`.
203
- *
204
- * @internal
205
- */
206
- export declare const selectAutomationExportEffectiveParameters: (widgetIds: string[] | undefined) => DashboardSelector<Record<string, IDashboardExportParameter[]>>;
207
187
  /**
208
188
  * Active-tab slice of {@link selectExportEffectiveParameters}.
209
189
  *
@@ -1 +1 @@
1
- {"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  import { createSelector } from "@reduxjs/toolkit";
3
3
  import { isEqual } from "lodash-es";
4
4
  import { areObjRefsEqual, objRefToString, } from "@gooddata/sdk-model";
5
- import { isAutomationSupportedParameterValue } from "../../../../_staging/automation/index.js";
6
5
  import { createMemoizedSelector } from "../../_infra/selectors.js";
7
6
  import { selectCatalogMeasureParameters, selectCatalogMeasureParametersStatus, selectCatalogParameterByRef, selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../catalog/catalogSelectors.js";
8
7
  import { selectEnableParameters, selectEnableStringParameters } from "../../config/configSelectors.js";
@@ -284,19 +283,6 @@ export const selectEffectiveParameterValuesForWidget = createMemoizedSelector((r
284
283
  const { insightParameterValues, referencedRefs, entries, workspaceParameterByRef } = resolved;
285
284
  return resolveEffectiveParameterValuesForRefs(entries, referencedRefs, insightParameterValues, workspaceParameterByRef);
286
285
  }));
287
- /**
288
- * {@link selectEffectiveParameterValuesForWidget} minus string values, for seeding an alert's
289
- * stored execution parameters. Same rationale as
290
- * {@link selectAutomationExportEffectiveParameters}: the automation dialogs are NUMBER-only until
291
- * the interactions slice, and a stored string value would be invisible there and deleted by any
292
- * edit.
293
- *
294
- * @internal
295
- */
296
- export const selectAutomationParameterValuesForWidget = createMemoizedSelector((ref) => createSelector(selectEffectiveParameterValuesForWidget(ref), (values) => {
297
- const supportedValues = values.filter((row) => isAutomationSupportedParameterValue(row.value));
298
- return supportedValues.length === 0 ? EMPTY_PARAMETER_VALUES : supportedValues;
299
- }));
300
286
  /**
301
287
  * The insight half of {@link selectEffectiveParameterValuesForWidget}: insight-authored values for
302
288
  * the metric-referenced refs, flag-gated and ref-filtered, with no dashboard chip overrides.
@@ -354,36 +340,24 @@ export const selectEffectiveDashboardParametersForWidget = createMemoizedSelecto
354
340
  * @alpha
355
341
  */
356
342
  export const selectExportEffectiveParameters = (widgetIds) => widgetIds?.length
357
- ? selectExportEffectiveParametersForWidgets(widgetIds, true)
358
- : selectExportEffectiveParametersDashboardScope(true);
359
- /**
360
- * {@link selectExportEffectiveParameters} minus STRING entries, for the wire persisted onto
361
- * automations. The automation dialogs and restore paths decode NUMBER-only until the interactions
362
- * slice (F1-2636…F1-2641): a stored STRING row would drive the headless render while being
363
- * invisible in the dialog, and any edit re-encodes the wire without it — so it must not be
364
- * persisted at all, regardless of `enableStringParameters`.
365
- *
366
- * @internal
367
- */
368
- export const selectAutomationExportEffectiveParameters = (widgetIds) => widgetIds?.length
369
- ? selectExportEffectiveParametersForWidgets(widgetIds, false)
370
- : selectExportEffectiveParametersDashboardScope(false);
371
- const selectExportEffectiveParametersDashboardScope = createMemoizedSelector((includeStringOverrides) => createSelector(selectTabs, selectEnableParameters, selectEnableStringParameters, selectWorkspaceParametersByRef, selectCatalogParametersIsLoaded, (tabs, isEnabled, isStringEnabled, workspaceParameterByRef, isCatalogLoaded) => {
343
+ ? selectExportEffectiveParametersForWidgets(widgetIds)
344
+ : selectExportEffectiveParametersDashboardScope;
345
+ const selectExportEffectiveParametersDashboardScope = createSelector(selectTabs, selectEnableParameters, selectEnableStringParameters, selectWorkspaceParametersByRef, selectCatalogParametersIsLoaded, (tabs, isEnabled, isStringEnabled, workspaceParameterByRef, isCatalogLoaded) => {
372
346
  if (!isEnabled || !isCatalogLoaded || !tabs?.length) {
373
347
  return EMPTY_EXPORT_PARAMETERS_BY_TAB;
374
348
  }
375
- return collectExportOverrides(tabs.map((tab) => ({ tab })), workspaceParameterByRef, isStringEnabled && includeStringOverrides);
376
- }));
377
- const selectExportEffectiveParametersForWidgets = createMemoizedSelector((widgetIds, includeStringOverrides) => createSelector(selectAllTabsInsightWidgetContexts, selectInsightsMap, selectEnableParameters, selectEnableStringParameters, selectWorkspaceParametersByRef, selectCatalogParametersIsLoaded, selectCatalogMeasureParameters, selectCatalogMeasureParametersStatus, (widgetContexts, insights, isEnabled, isStringEnabled, workspaceParameterByRef, isCatalogLoaded, measureParameters, measureParametersStatus) => {
349
+ return collectExportOverrides(tabs.map((tab) => ({ tab })), workspaceParameterByRef, isStringEnabled);
350
+ });
351
+ const selectExportEffectiveParametersForWidgets = createMemoizedSelector((widgetIds) => createSelector(selectAllTabsInsightWidgetContexts, selectInsightsMap, selectEnableParameters, selectEnableStringParameters, selectWorkspaceParametersByRef, selectCatalogParametersIsLoaded, selectCatalogMeasureParameters, selectCatalogMeasureParametersStatus, (widgetContexts, insights, isEnabled, isStringEnabled, workspaceParameterByRef, isCatalogLoaded, measureParameters, measureParametersStatus) => {
378
352
  if (!isEnabled || !isCatalogLoaded || measureParametersStatus !== "loaded") {
379
353
  return EMPTY_EXPORT_PARAMETERS_BY_TAB;
380
354
  }
381
355
  const tabRefSelections = buildWidgetScopeTabRefSelections(widgetContexts, widgetIds, insights, measureParameters);
382
- return collectExportOverrides(tabRefSelections, workspaceParameterByRef, isStringEnabled && includeStringOverrides);
356
+ return collectExportOverrides(tabRefSelections, workspaceParameterByRef, isStringEnabled);
383
357
  }));
384
358
  /**
385
359
  * Active-tab slice of {@link selectExportEffectiveParameters}.
386
360
  *
387
361
  * @internal
388
362
  */
389
- export const selectActiveTabExportParameters = createSelector(selectExportEffectiveParametersDashboardScope(true), selectActiveOrDefaultTabLocalIdentifier, (parametersByTab, activeTabId) => parametersByTab[activeTabId] ?? EMPTY_EXPORT_PARAMETERS);
363
+ export const selectActiveTabExportParameters = createSelector(selectExportEffectiveParametersDashboardScope, selectActiveOrDefaultTabLocalIdentifier, (parametersByTab, activeTabId) => parametersByTab[activeTabId] ?? EMPTY_EXPORT_PARAMETERS);
@@ -20,7 +20,7 @@ export declare function useEditAlert({ alertToEdit, notificationChannels, insigh
20
20
  onApplyCurrentFilters: () => void;
21
21
  automationParameters: import("../../../shared/automationFilters/automationParameters.js").IAutomationParameter[];
22
22
  availableParameters: import("../../../shared/automationFilters/automationParameters.js").IAutomationParameter[];
23
- onParameterChange: (ref: import("@gooddata/sdk-model").IdentifierRef, value: number) => void;
23
+ onParameterChange: (ref: import("@gooddata/sdk-model").IdentifierRef, value: string | number) => void;
24
24
  onParameterDelete: (ref: import("@gooddata/sdk-model").IdentifierRef) => void;
25
25
  onParameterAdd: (ref: import("@gooddata/sdk-model").IdentifierRef) => void;
26
26
  dropStaleParameters: () => void;
@@ -7,7 +7,7 @@ import { selectExecutionResultEntities } from "../../../../model/store/execution
7
7
  import { selectAutomationCommonDateFilterId, selectAutomationDefaultSelectedFilters, selectDashboardHiddenFilters, } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
8
8
  import { selectDashboardId, selectEvaluationFrequency } from "../../../../model/store/meta/metaSelectors.js";
9
9
  import { selectWidgetLocalIdToTabIdMap } from "../../../../model/store/tabs/layout/layoutSelectors.js";
10
- import { selectAutomationParameterValuesForWidget } from "../../../../model/store/tabs/parameters/parametersSelectors.js";
10
+ import { selectEffectiveParameterValuesForWidget } from "../../../../model/store/tabs/parameters/parametersSelectors.js";
11
11
  import { getWidgetTitle } from "../../../../model/utils/dashboardItemUtils.js";
12
12
  import { useCommandAsPromise, useDeleteAutomation } from "./useCommandAsPromise.js";
13
13
  export function useBuildAlertingDialogContext(opts) {
@@ -19,7 +19,7 @@ export function useBuildAlertingDialogContext(opts) {
19
19
  const executionResultEntities = useDashboardSelector(selectExecutionResultEntities);
20
20
  const commonDateFilterId = useDashboardSelector(selectAutomationCommonDateFilterId);
21
21
  const dashboardEvaluationFrequency = useDashboardSelector(selectEvaluationFrequency);
22
- const parameterValues = useDashboardSelector(selectAutomationParameterValuesForWidget(widget?.ref));
22
+ const parameterValues = useDashboardSelector(selectEffectiveParameterValuesForWidget(widget?.ref));
23
23
  const widgetTitle = useMemo(() => {
24
24
  if (widget) {
25
25
  return getWidgetTitle(widget);
@@ -43,7 +43,7 @@ vi.mock("../../../../model/store/tabs/layout/layoutSelectors.js", () => ({
43
43
  selectWidgetLocalIdToTabIdMap: () => ({}),
44
44
  }));
45
45
  vi.mock("../../../../model/store/tabs/parameters/parametersSelectors.js", () => ({
46
- selectAutomationParameterValuesForWidget: () => () => [],
46
+ selectEffectiveParameterValuesForWidget: () => () => [],
47
47
  }));
48
48
  vi.mock("../../../../model/utils/dashboardItemUtils.js", () => ({
49
49
  getWidgetTitle: () => "widget title",
@@ -12,7 +12,7 @@ import { selectEffectiveAttributeFiltersModeMap } from "../../../../model/store/
12
12
  import { selectEffectiveDateFilterMode } from "../../../../model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.js";
13
13
  import { selectEffectiveDateFiltersModeMap } from "../../../../model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.js";
14
14
  import { selectWidgetLocalIdToTabIdMap } from "../../../../model/store/tabs/layout/layoutSelectors.js";
15
- import { selectAutomationExportEffectiveParameters } from "../../../../model/store/tabs/parameters/parametersSelectors.js";
15
+ import { selectExportEffectiveParameters } from "../../../../model/store/tabs/parameters/parametersSelectors.js";
16
16
  import { selectTabs } from "../../../../model/store/tabs/tabsSelectors.js";
17
17
  import { getWidgetTitle } from "../../../../model/utils/dashboardItemUtils.js";
18
18
  import { useCommandAsPromise, useDeleteAutomation } from "./useCommandAsPromise.js";
@@ -24,7 +24,7 @@ export function useBuildScheduledEmailDialogContext(opts) {
24
24
  const dashboardTitle = useDashboardSelector(selectDashboardTitle);
25
25
  const widgetLocalIdToTabIdMap = useDashboardSelector(selectWidgetLocalIdToTabIdMap);
26
26
  const commonDateFilterId = useDashboardSelector(selectAutomationCommonDateFilterId);
27
- const exportParametersByTab = useDashboardSelector(selectAutomationExportEffectiveParameters(widget ? [objRefToString(widget.ref)] : undefined));
27
+ const exportParametersByTab = useDashboardSelector(selectExportEffectiveParameters(widget ? [objRefToString(widget.ref)] : undefined));
28
28
  const exportTemplates = useExportTemplates();
29
29
  const dateFormat = useDashboardSelector(selectDateFormat);
30
30
  const isCrossFiltering = useDashboardSelector(selectIsCrossFiltering);
@@ -60,7 +60,7 @@ vi.mock("../../../../model/store/tabs/tabsSelectors.js", () => ({
60
60
  selectTabs: () => [],
61
61
  }));
62
62
  vi.mock("../../../../model/store/tabs/parameters/parametersSelectors.js", () => ({
63
- selectAutomationExportEffectiveParameters: () => () => ({}),
63
+ selectExportEffectiveParameters: () => () => ({}),
64
64
  }));
65
65
  vi.mock("../../../../model/react/useExportTemplates.js", () => ({
66
66
  useExportTemplates: () => [],
@@ -1,41 +1,43 @@
1
- import { type DashboardParameterMode, type IAutomationMetadataObjectDefinition, type IDashboardExportParameter, type IDashboardParameter, type IInsightParameterValue, type INumberParameterConstraints, type IParameterMetadataObject, type IdentifierRef } from "@gooddata/sdk-model";
1
+ import { type DashboardParameterMode, type IAutomationMetadataObjectDefinition, type IDashboardExportParameter, type IDashboardParameter, type IInsightParameterValue, type IParameterDefinition, type IParameterMetadataObject, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
2
2
  /**
3
3
  * A workspace parameter resolved for display and editing inside an automation (alert/schedule)
4
- * dialog. The `value` is the current effective value the headless run will capture.
4
+ * dialog. The `value` is the current effective value the headless run will capture; `definition`
5
+ * picks which control renders.
5
6
  *
6
7
  * @internal
7
8
  */
8
9
  export interface IAutomationParameter {
9
10
  ref: IdentifierRef;
10
11
  title: string;
11
- value: number;
12
+ value: ParameterValue;
12
13
  mode: DashboardParameterMode;
13
- constraints?: INumberParameterConstraints;
14
+ definition: IParameterDefinition;
14
15
  }
15
16
  /**
16
17
  * Stored {@link IInsightParameterValue} overrides carry only {ref, value}; title, mode and
17
- * constraints are re-derived from the current dashboard and workspace catalog.
18
+ * definition are re-derived from the current dashboard and workspace catalog. Rows without a
19
+ * resolvable definition (see {@link resolveParameterDefinition}) are dropped.
18
20
  *
19
21
  * @internal
20
22
  */
21
- export declare function reconstructAutomationParametersFromValues(stored: IInsightParameterValue[], dashboardParameters: IDashboardParameter[], catalog: IParameterMetadataObject[]): IAutomationParameter[];
23
+ export declare function reconstructAutomationParametersFromValues(stored: IInsightParameterValue[], dashboardParameters: IDashboardParameter[], catalog: IParameterMetadataObject[], isStringParametersEnabled: boolean): IAutomationParameter[];
22
24
  /**
23
25
  * Stored export overrides ({@link IDashboardExportParameter}) carry the value as a string; it is
24
- * parsed back to a number and non-finite values are dropped. Title, mode and constraints are
25
- * re-derived from the current dashboard and workspace catalog, mirroring
26
+ * decoded back by the row's own type tag (see `exportParametersToValues`). Title, mode and
27
+ * definition are re-derived from the current dashboard and workspace catalog, mirroring
26
28
  * {@link reconstructAutomationParametersFromValues}.
27
29
  *
28
30
  * @internal
29
31
  */
30
- export declare function reconstructAutomationParametersFromExportParameters(stored: IDashboardExportParameter[], dashboardParameters: IDashboardParameter[], catalog: IParameterMetadataObject[]): IAutomationParameter[];
32
+ export declare function reconstructAutomationParametersFromExportParameters(stored: IDashboardExportParameter[], dashboardParameters: IDashboardParameter[], catalog: IParameterMetadataObject[], isStringParametersEnabled: boolean): IAutomationParameter[];
31
33
  /**
32
- * Parameters of unsupported types are dropped (cannot be rendered/clamped). Dashboard-`hidden`
33
- * and `readonly` ones are dropped too once added they would derive back to an invisible or
34
- * locked (undeletable) chip.
34
+ * Dashboard-`hidden` and `readonly` parameters are dropped once added they would derive back to
35
+ * an invisible or locked (undeletable) parameter. Catalog STRING parameters are dropped too while
36
+ * `isStringParametersEnabled` is off.
35
37
  *
36
38
  * @internal
37
39
  */
38
- export declare function availableAutomationParameters(catalog: IParameterMetadataObject[], selected: IAutomationParameter[], dashboardParameters?: IDashboardParameter[], widgetParameterValues?: IInsightParameterValue[]): IAutomationParameter[];
40
+ export declare function availableAutomationParameters(catalog: IParameterMetadataObject[], selected: IAutomationParameter[], dashboardParameters: IDashboardParameter[] | undefined, widgetParameterValues: IInsightParameterValue[] | undefined, isStringParametersEnabled: boolean): IAutomationParameter[];
39
41
  /**
40
42
  * Returns a copy of the automation with `alert.execution.parameters` replaced. No-op when the
41
43
  * automation carries no alert.
@@ -45,7 +47,8 @@ export declare function availableAutomationParameters(catalog: IParameterMetadat
45
47
  export declare function setAlertExecutionParameters(automation: IAutomationMetadataObjectDefinition, parameters: IInsightParameterValue[]): IAutomationMetadataObjectDefinition;
46
48
  /**
47
49
  * A param dropped from the *dashboard* is not stale: parameters are workspace-scoped, so only
48
- * removal from the workspace catalog counts.
50
+ * removal from the workspace catalog counts — as does a parameter recreated with the same id but
51
+ * the other type, where the decoded value kind disagrees with the current definition.
49
52
  *
50
53
  * @internal
51
54
  */
@@ -57,9 +60,9 @@ export declare function hasStaleAlertParameters(stored: IInsightParameterValue[]
57
60
  */
58
61
  export declare function dropStaleAlertParameters(stored: IInsightParameterValue[], catalog: IParameterMetadataObject[]): IInsightParameterValue[];
59
62
  /**
60
- * Encodes the display-ready chip set back to the neutral export wire shape ({id, value:string,
61
- * title}). The full per-tab execution set (including `hidden` entries) is converted, not just the
62
- * visible chips, so the server resolver does not drop omitted parameters to the workspace default.
63
+ * Encodes the display-ready parameter set back to the neutral export wire shape ({id, value:string,
64
+ * title, parameterType}). The full per-tab execution set (including `hidden` entries) is converted, not just the
65
+ * visible ones, so the server resolver does not drop omitted parameters to the workspace default.
63
66
  *
64
67
  * @internal
65
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"automationParameters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/automationParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,sBAAsB,EAE3B,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAIrB,MAAM,qBAAqB,CAAC;AAO7B;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,CAAC,EAAE,2BAA2B,CAAC;CAC7C;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACrD,MAAM,EAAE,sBAAsB,EAAE,EAChC,mBAAmB,EAAE,mBAAmB,EAAE,EAC1C,OAAO,EAAE,wBAAwB,EAAE,GACpC,oBAAoB,EAAE,CAqBxB;AAED;;;;;;;GAOG;AACH,wBAAgB,mDAAmD,CAC/D,MAAM,EAAE,yBAAyB,EAAE,EACnC,mBAAmB,EAAE,mBAAmB,EAAE,EAC1C,OAAO,EAAE,wBAAwB,EAAE,GACpC,oBAAoB,EAAE,CAMxB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,wBAAwB,EAAE,EACnC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,mBAAmB,GAAE,mBAAmB,EAAO,EAC/C,qBAAqB,GAAE,sBAAsB,EAAO,GACrD,oBAAoB,EAAE,CAsCxB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,mCAAmC,EAC/C,UAAU,EAAE,sBAAsB,EAAE,GACrC,mCAAmC,CAcrC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,sBAAsB,EAAE,GAAG,SAAS,EAC5C,OAAO,EAAE,wBAAwB,EAAE,GACpC,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,sBAAsB,EAAE,EAChC,OAAO,EAAE,wBAAwB,EAAE,GACpC,sBAAsB,EAAE,CAG1B;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CAClD,UAAU,EAAE,oBAAoB,EAAE,GACnC,yBAAyB,EAAE,CAM7B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,EACvD,WAAW,EAAE,OAAO,GACrB,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,GAAG,SAAS,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,UAAQ,GAAG,OAAO,CAEpG"}
1
+ {"version":3,"file":"automationParameters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/automationParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,sBAAsB,EAE3B,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,cAAc,EAKtB,MAAM,qBAAqB,CAAC;AAI7B;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,sBAAsB,CAAC;IAC7B,UAAU,EAAE,oBAAoB,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,yCAAyC,CACrD,MAAM,EAAE,sBAAsB,EAAE,EAChC,mBAAmB,EAAE,mBAAmB,EAAE,EAC1C,OAAO,EAAE,wBAAwB,EAAE,EACnC,yBAAyB,EAAE,OAAO,GACnC,oBAAoB,EAAE,CAyBxB;AAED;;;;;;;GAOG;AACH,wBAAgB,mDAAmD,CAC/D,MAAM,EAAE,yBAAyB,EAAE,EACnC,mBAAmB,EAAE,mBAAmB,EAAE,EAC1C,OAAO,EAAE,wBAAwB,EAAE,EACnC,yBAAyB,EAAE,OAAO,GACnC,oBAAoB,EAAE,CAOxB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,wBAAwB,EAAE,EACnC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,mBAAmB,mCAA4B,EAC/C,qBAAqB,sCAA+B,EACpD,yBAAyB,EAAE,OAAO,GACnC,oBAAoB,EAAE,CAmCxB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,mCAAmC,EAC/C,UAAU,EAAE,sBAAsB,EAAE,GACrC,mCAAmC,CAcrC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,sBAAsB,EAAE,GAAG,SAAS,EAC5C,OAAO,EAAE,wBAAwB,EAAE,GACpC,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,sBAAsB,EAAE,EAChC,OAAO,EAAE,wBAAwB,EAAE,GACpC,sBAAsB,EAAE,CAG1B;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CAClD,UAAU,EAAE,oBAAoB,EAAE,GACnC,yBAAyB,EAAE,CAO7B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,EACvD,WAAW,EAAE,OAAO,GACrB,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,GAAG,SAAS,CASzD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,UAAQ,GAAG,OAAO,CAEpG"}
@@ -1,61 +1,59 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { DashboardParameterModeValues, isIdentifierRef, isNumberParameterDefinition, objRefToString, } from "@gooddata/sdk-model";
3
- import { exportParametersToValues, isAutomationSupportedParameterValue, } from "../../../../_staging/automation/index.js";
2
+ import { DashboardParameterModeValues, isIdentifierRef, objRefToString, parameterValueMatchesType, sanitizeParameterValue, } from "@gooddata/sdk-model";
3
+ import { exportParametersToValues } from "../../../../_staging/automation/index.js";
4
4
  /**
5
5
  * Stored {@link IInsightParameterValue} overrides carry only {ref, value}; title, mode and
6
- * constraints are re-derived from the current dashboard and workspace catalog.
6
+ * definition are re-derived from the current dashboard and workspace catalog. Rows without a
7
+ * resolvable definition (see {@link resolveParameterDefinition}) are dropped.
7
8
  *
8
9
  * @internal
9
10
  */
10
- export function reconstructAutomationParametersFromValues(stored, dashboardParameters, catalog) {
11
+ export function reconstructAutomationParametersFromValues(stored, dashboardParameters, catalog, isStringParametersEnabled) {
11
12
  const dashboardByRef = new Map(dashboardParameters.map((parameter) => [objRefToString(parameter.ref), parameter]));
12
13
  const workspaceByRef = new Map(catalog.map((parameter) => [objRefToString(parameter.ref), parameter]));
13
14
  return stored.flatMap((row) => {
14
- if (!isAutomationSupportedParameterValue(row.value)) {
15
- return [];
16
- }
17
15
  const refKey = objRefToString(row.ref);
18
16
  const dashboardParameter = dashboardByRef.get(refKey);
19
17
  const workspaceParameter = workspaceByRef.get(refKey);
20
- const constraints = numberConstraints(workspaceParameter);
18
+ const definition = resolveParameterDefinition(workspaceParameter, row.value, isStringParametersEnabled);
19
+ if (!definition) {
20
+ return [];
21
+ }
21
22
  return {
22
23
  ref: row.ref,
23
24
  title: dashboardParameter?.label ?? workspaceParameter?.title ?? row.ref.identifier,
24
25
  value: row.value,
25
26
  mode: dashboardParameter?.mode ?? DashboardParameterModeValues.ACTIVE,
26
- ...(constraints ? { constraints } : {}),
27
+ definition,
27
28
  };
28
29
  });
29
30
  }
30
31
  /**
31
32
  * Stored export overrides ({@link IDashboardExportParameter}) carry the value as a string; it is
32
- * parsed back to a number and non-finite values are dropped. Title, mode and constraints are
33
- * re-derived from the current dashboard and workspace catalog, mirroring
33
+ * decoded back by the row's own type tag (see `exportParametersToValues`). Title, mode and
34
+ * definition are re-derived from the current dashboard and workspace catalog, mirroring
34
35
  * {@link reconstructAutomationParametersFromValues}.
35
36
  *
36
37
  * @internal
37
38
  */
38
- export function reconstructAutomationParametersFromExportParameters(stored, dashboardParameters, catalog) {
39
- return reconstructAutomationParametersFromValues(exportParametersToValues(stored), dashboardParameters, catalog);
39
+ export function reconstructAutomationParametersFromExportParameters(stored, dashboardParameters, catalog, isStringParametersEnabled) {
40
+ return reconstructAutomationParametersFromValues(exportParametersToValues(stored, isStringParametersEnabled), dashboardParameters, catalog, isStringParametersEnabled);
40
41
  }
41
42
  /**
42
- * Parameters of unsupported types are dropped (cannot be rendered/clamped). Dashboard-`hidden`
43
- * and `readonly` ones are dropped too once added they would derive back to an invisible or
44
- * locked (undeletable) chip.
43
+ * Dashboard-`hidden` and `readonly` parameters are dropped once added they would derive back to
44
+ * an invisible or locked (undeletable) parameter. Catalog STRING parameters are dropped too while
45
+ * `isStringParametersEnabled` is off.
45
46
  *
46
47
  * @internal
47
48
  */
48
- export function availableAutomationParameters(catalog, selected, dashboardParameters = [], widgetParameterValues = []) {
49
+ export function availableAutomationParameters(catalog, selected, dashboardParameters = [], widgetParameterValues = [], isStringParametersEnabled) {
49
50
  const selectedRefKeys = new Set(selected.map((parameter) => objRefToString(parameter.ref)));
50
51
  const dashboardByRef = new Map(dashboardParameters.map((parameter) => [objRefToString(parameter.ref), parameter]));
51
52
  const widgetValueByRef = new Map(widgetParameterValues.map((row) => [objRefToString(row.ref), row.value]));
52
53
  const result = [];
53
54
  for (const workspaceParameter of catalog) {
54
- if (!isNumberParameterDefinition(workspaceParameter.definition)) {
55
- continue;
56
- }
57
- const { ref } = workspaceParameter;
58
- if (!isIdentifierRef(ref)) {
55
+ const { ref, definition } = workspaceParameter;
56
+ if (!isIdentifierRef(ref) || (definition.type === "STRING" && !isStringParametersEnabled)) {
59
57
  continue;
60
58
  }
61
59
  const refKey = objRefToString(ref);
@@ -65,15 +63,14 @@ export function availableAutomationParameters(catalog, selected, dashboardParame
65
63
  dashboardParameter?.mode === DashboardParameterModeValues.READONLY) {
66
64
  continue;
67
65
  }
68
- const { defaultValue, constraints } = workspaceParameter.definition;
69
66
  // mirror the live-render precedence: runtimeOverride/insight value > dashboard value > default
70
- const effectiveValue = widgetValueByRef.get(refKey) ?? dashboardParameter?.value ?? defaultValue;
67
+ const effectiveValue = widgetValueByRef.get(refKey) ?? dashboardParameter?.value ?? definition.defaultValue;
71
68
  result.push({
72
69
  ref,
73
70
  title: dashboardParameter?.label ?? workspaceParameter.title,
74
- value: isAutomationSupportedParameterValue(effectiveValue) ? effectiveValue : defaultValue,
71
+ value: sanitizeParameterValue(definition, effectiveValue),
75
72
  mode: DashboardParameterModeValues.ACTIVE,
76
- ...(constraints ? { constraints } : {}),
73
+ definition,
77
74
  });
78
75
  }
79
76
  return result;
@@ -101,7 +98,8 @@ export function setAlertExecutionParameters(automation, parameters) {
101
98
  }
102
99
  /**
103
100
  * A param dropped from the *dashboard* is not stale: parameters are workspace-scoped, so only
104
- * removal from the workspace catalog counts.
101
+ * removal from the workspace catalog counts — as does a parameter recreated with the same id but
102
+ * the other type, where the decoded value kind disagrees with the current definition.
105
103
  *
106
104
  * @internal
107
105
  */
@@ -109,8 +107,8 @@ export function hasStaleAlertParameters(stored, catalog) {
109
107
  if (!stored?.length) {
110
108
  return false;
111
109
  }
112
- const catalogParameterIds = new Set(catalog.map((parameter) => parameter.id));
113
- return stored.some((parameter) => !alertParameterIsInCatalog(parameter, catalogParameterIds));
110
+ const catalogById = new Map(catalog.map((parameter) => [parameter.id, parameter]));
111
+ return stored.some((parameter) => !alertParameterMatchesCatalog(parameter, catalogById));
114
112
  }
115
113
  /**
116
114
  * Removes the parameters {@link hasStaleAlertParameters} flags as stale.
@@ -118,13 +116,13 @@ export function hasStaleAlertParameters(stored, catalog) {
118
116
  * @internal
119
117
  */
120
118
  export function dropStaleAlertParameters(stored, catalog) {
121
- const catalogParameterIds = new Set(catalog.map((parameter) => parameter.id));
122
- return stored.filter((parameter) => alertParameterIsInCatalog(parameter, catalogParameterIds));
119
+ const catalogById = new Map(catalog.map((parameter) => [parameter.id, parameter]));
120
+ return stored.filter((parameter) => alertParameterMatchesCatalog(parameter, catalogById));
123
121
  }
124
122
  /**
125
- * Encodes the display-ready chip set back to the neutral export wire shape ({id, value:string,
126
- * title}). The full per-tab execution set (including `hidden` entries) is converted, not just the
127
- * visible chips, so the server resolver does not drop omitted parameters to the workspace default.
123
+ * Encodes the display-ready parameter set back to the neutral export wire shape ({id, value:string,
124
+ * title, parameterType}). The full per-tab execution set (including `hidden` entries) is converted, not just the
125
+ * visible ones, so the server resolver does not drop omitted parameters to the workspace default.
128
126
  *
129
127
  * @internal
130
128
  */
@@ -133,6 +131,7 @@ export function automationParametersToExportParameters(parameters) {
133
131
  id: parameter.ref.identifier,
134
132
  value: String(parameter.value),
135
133
  title: parameter.title,
134
+ parameterType: parameter.definition.type,
136
135
  }));
137
136
  }
138
137
  /**
@@ -161,11 +160,29 @@ export function toEffectiveParametersByTab(parametersByTab, shouldStore) {
161
160
  export function shouldStoreExportParameters(isWidgetSchedule, storeFilters = false) {
162
161
  return isWidgetSchedule || storeFilters;
163
162
  }
164
- function alertParameterIsInCatalog(parameter, catalogParameterIds) {
165
- return catalogParameterIds.has(parameter.ref.identifier);
163
+ function alertParameterMatchesCatalog(parameter, catalogById) {
164
+ const workspaceParameter = catalogById.get(parameter.ref.identifier);
165
+ return !!workspaceParameter && parameterValueMatchesType(workspaceParameter.definition, parameter.value);
166
166
  }
167
- function numberConstraints(workspaceParameter) {
168
- return workspaceParameter && isNumberParameterDefinition(workspaceParameter.definition)
169
- ? workspaceParameter.definition.constraints
170
- : undefined;
167
+ /**
168
+ * Every parameter needs a definition — its `type` picks which control renders. The workspace
169
+ * parameter definition is the source of truth; when its type disagrees with the stored value the
170
+ * parameter was recreated as the other type, so the parameter is dropped.
171
+ */
172
+ function resolveParameterDefinition(workspaceParameter, value, isStringParametersEnabled) {
173
+ const definition = workspaceParameter?.definition;
174
+ if (definition) {
175
+ if (definition.type === "STRING" && !isStringParametersEnabled) {
176
+ return undefined;
177
+ }
178
+ return parameterValueMatchesType(definition, value) ? definition : undefined;
179
+ }
180
+ // Deleted workspace parameter: synthesize a definition from the value so the parameter stays
181
+ // editable (the constraint-less M1 fallback). Its `defaultValue` is a shape-filling
182
+ // placeholder — rely only on `type`. STRING synthesis is gated the same way as the catalog
183
+ // branch above.
184
+ if (typeof value === "number") {
185
+ return { type: "NUMBER", defaultValue: value };
186
+ }
187
+ return isStringParametersEnabled ? { type: "STRING", defaultValue: value } : undefined;
171
188
  }
@@ -1,4 +1,4 @@
1
- import { type FilterContextItem, type ICatalogAttribute, type ICatalogDateDataset, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IdentifierRef, type ObjRef } from "@gooddata/sdk-model";
1
+ import { type FilterContextItem, type ICatalogAttribute, type ICatalogDateDataset, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IdentifierRef, type ObjRef, type ParameterValue } from "@gooddata/sdk-model";
2
2
  import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
3
3
  import type { IAutomationFiltersTab } from "../../../../../model/store/filtering/types.js";
4
4
  import { type IAutomationParameter } from "../automationParameters.js";
@@ -60,7 +60,7 @@ export interface IAutomationFiltersSelectProps {
60
60
  /**
61
61
  * Called when an `active` parameter chip's value is edited.
62
62
  */
63
- onParameterChange?: (ref: IdentifierRef, value: number) => void;
63
+ onParameterChange?: (ref: IdentifierRef, value: ParameterValue) => void;
64
64
  /**
65
65
  * Called when an `active` parameter chip is removed.
66
66
  */
@@ -80,7 +80,7 @@ export interface IAutomationFiltersSelectProps {
80
80
  /**
81
81
  * Called when an `active` parameter chip's value is edited in a tab section.
82
82
  */
83
- onParameterChangeByTab?: (tabId: string, ref: IdentifierRef, value: number) => void;
83
+ onParameterChangeByTab?: (tabId: string, ref: IdentifierRef, value: ParameterValue) => void;
84
84
  /**
85
85
  * Called when an `active` parameter chip is removed in a tab section.
86
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationFiltersSelect.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAGxB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EAEnC,KAAK,aAAa,EAClB,KAAK,MAAM,EAYd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGH,KAAK,mBAAmB,EAO3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAU3F,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAWvE,MAAM,WAAW,uBAAuB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC9C,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,kBAAkB,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,CAAC;IACpE,kBAAkB,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxD,eAAe,EAAE,CACb,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,YAAY,EAAE,mBAAmB,EAAE,KAClC,IAAI,CAAC;IACV,YAAY,EAAE,OAAO,CAAC;IACtB,wBAAwB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,eAAe,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,CAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KACjD,IAAI,CAAC;IACV,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KAAK,IAAI,CAAC;IACnF;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC;;OAEG;IACH,mBAAmB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC7C;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACzD;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAClE;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF;;OAEG;IACH,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACrE;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA4ED,wBAAgB,uBAAuB,CAAC,EACpC,gBAAqB,EACrB,eAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,SAAiB,EACjB,cAAsB,EACtB,kBAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,UAAe,EACf,mBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACpB,EAAE,6BAA6B,2CA6d/B"}
1
+ {"version":3,"file":"AutomationFiltersSelect.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import { type IdentifierRef } from "@gooddata/sdk-model";
2
+ import { type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
3
3
  import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
4
4
  import { type IAutomationParameter } from "../automationParameters.js";
5
5
  /**
@@ -7,7 +7,7 @@ import { type IAutomationParameter } from "../automationParameters.js";
7
7
  */
8
8
  export interface IAutomationParameterProps {
9
9
  parameter: IAutomationParameter;
10
- onChange?: (ref: IdentifierRef, value: number) => void;
10
+ onChange?: (ref: IdentifierRef, value: ParameterValue) => void;
11
11
  onDelete?: (ref: IdentifierRef) => void;
12
12
  overlayPositionType?: OverlayPositionType;
13
13
  isReadOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationParameter.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/components/AutomationParameter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAGH,KAAK,mBAAmB,EAK3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,UAAU,EACb,EAAE,yBAAyB,GAAG,SAAS,CA0FvC"}
1
+ {"version":3,"file":"AutomationParameter.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/components/AutomationParameter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAgC,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAEH,KAAK,mBAAmB,EAM3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,UAAU,EACb,EAAE,yBAAyB,GAAG,SAAS,CA0FvC"}