@gooddata/sdk-ui-dashboard 11.42.0-alpha.2 → 11.42.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 (46) hide show
  1. package/NOTICE +6 -6
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/automation/index.d.ts +14 -1
  5. package/esm/_staging/automation/index.d.ts.map +1 -1
  6. package/esm/_staging/automation/index.js +50 -0
  7. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  8. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +16 -2
  9. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +2 -1
  10. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
  11. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +32 -12
  12. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +39 -1
  13. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
  14. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +66 -1
  15. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts +27 -3
  16. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  17. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +44 -12
  18. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts +2 -1
  19. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts.map +1 -1
  20. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.js +7 -1
  21. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts +23 -1
  22. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  23. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +93 -2
  24. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts +75 -0
  25. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map +1 -0
  26. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.js +143 -0
  27. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts +1 -0
  28. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
  29. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +1 -0
  30. package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.d.ts.map +1 -1
  31. package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.js +15 -2
  32. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.d.ts +15 -0
  33. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.d.ts.map +1 -0
  34. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.js +28 -0
  35. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +16 -0
  36. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  37. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +16 -0
  38. package/esm/presentation/widget/widget/InsightWidget/EditableDashboardInsightWidget.d.ts.map +1 -1
  39. package/esm/presentation/widget/widget/InsightWidget/EditableDashboardInsightWidget.js +10 -1
  40. package/esm/presentation/widget/widget/warningPartialResult/InsightWidgetWarningPartialResult.d.ts +5 -4
  41. package/esm/presentation/widget/widget/warningPartialResult/InsightWidgetWarningPartialResult.d.ts.map +1 -1
  42. package/esm/presentation/widget/widget/warningPartialResult/InsightWidgetWarningPartialResult.js +3 -3
  43. package/package.json +20 -20
  44. package/styles/css/main.css +1 -1
  45. package/styles/css/warningPartialResult.css +1 -1
  46. package/styles/scss/warningPartialResult.scss +1 -1
@@ -47,6 +47,7 @@ export declare const useAutomationFilters: ({ availableFilters, selectedFilters,
47
47
  filterAnnouncement: string;
48
48
  filterGroupRef: import("react").RefObject<HTMLDivElement | null>;
49
49
  makeFilterGroupUnfocusable: () => void;
50
+ focusAddFilterButton: () => void;
50
51
  handleChangeFilter: (filter: FilterContextItem | undefined) => void;
51
52
  handleDeleteFilter: (filter: FilterContextItem) => void;
52
53
  handleAddFilter: (catalogItemRef: ObjRef, attributes: ICatalogAttribute[], dateDatasets: ICatalogDateDataset[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useAutomationFilters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,OAAO,CAAC;AAItF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EAEnC,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EACH,KAAK,qBAAqB,EAG7B,MAAM,+DAA+D,CAAC;AA6FvE;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,kCAAkC;IAClC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,2DAA2D;IAC3D,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,8DAA8D;IAC9D,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,sFAAsF;IACtF,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,4DAA4D;IAC5D,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,4CAA4C;IAC5C,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,uCAAuC;IACvC,WAAW,EAAE,8BAA8B,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;CAqQhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;CAuQrC,CAAC"}
1
+ {"version":3,"file":"useAutomationFilters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAA0C,MAAM,OAAO,CAAC;AAItF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EAEnC,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EACH,KAAK,qBAAqB,EAG7B,MAAM,+DAA+D,CAAC;AA6FvE;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,kCAAkC;IAClC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,2DAA2D;IAC3D,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,8DAA8D;IAC9D,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,sFAAsF;IACtF,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,4DAA4D;IAC5D,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,4CAA4C;IAC5C,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,uCAAuC;IACvC,WAAW,EAAE,8BAA8B,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;CAsQhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;CAuQrC,CAAC"}
@@ -190,6 +190,7 @@ export const useAutomationFilters = ({ availableFilters, selectedFilters, onFilt
190
190
  filterAnnouncement,
191
191
  filterGroupRef,
192
192
  makeFilterGroupUnfocusable,
193
+ focusAddFilterButton,
193
194
  handleChangeFilter,
194
195
  handleDeleteFilter,
195
196
  handleAddFilter,
@@ -1 +1 @@
1
- {"version":3,"file":"useAutomationFiltersSelect.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAEhC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACH,KAAK,qBAAqB,EAI7B,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAatF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IACxC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,0BAA0B,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACnE,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,gCAAgC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IACzE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C;;;;;OAKG;IACH,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,4BAA4B,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,+BAA+B,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEvE,qCAAqC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,GAAG,SAAS,CAAC;CACjG;AAuED;;GAEG;AACH,eAAO,MAAM,0BAA0B;IAInC;;OAEG;;IAGH;;;OAGG;;iCAkGN,CAAC;AAEF,wBAAgB,yCAAyC,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,kCAQ1G;AAED,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,uCAQpG"}
1
+ {"version":3,"file":"useAutomationFiltersSelect.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAEhC,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACH,KAAK,qBAAqB,EAI7B,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAatF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IACxC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,0BAA0B,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACnE,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,gCAAgC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IACzE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C;;;;;OAKG;IACH,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IAClD;;;;OAIG;IACH,4BAA4B,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,+BAA+B,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEvE,qCAAqC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,GAAG,SAAS,CAAC;CACjG;AAiFD;;GAEG;AACH,eAAO,MAAM,0BAA0B;IAInC;;OAEG;;IAGH;;;OAGG;;iCAwGN,CAAC;AAEF,wBAAgB,yCAAyC,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,kCAQ1G;AAED,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,SAAS,uCAQpG"}
@@ -1,7 +1,9 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { useMemo, useState } from "react";
3
3
  import { isExportDefinitionDashboardRequestPayload, } from "@gooddata/sdk-model";
4
+ import { getAutomationExportParametersByTab } from "../../../../_staging/automation/index.js";
4
5
  import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
6
+ import { selectEnableParameters } from "../../../../model/store/config/configSelectors.js";
5
7
  import { selectAutomationCommonDateFilterId, selectAutomationFiltersByTab, selectDashboardFiltersWithoutCrossFiltering, } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
6
8
  import { removeIgnoredWidgetFilters } from "../../../../model/utils/widgetFilters.js";
7
9
  import { useAutomationVisibleFilters, useAutomationVisibleFiltersByTab, } from "./hooks/useAutomationVisibleFilters.js";
@@ -55,6 +57,15 @@ function checkAreFiltersStored(automationToEdit) {
55
57
  hasSavedFiltersByTabInExportDefinitions ||
56
58
  hasSavedSomeAllTimeDateFiltersPerTab);
57
59
  }
60
+ /**
61
+ * Whether the automation carries stored parameter overrides. The store-filters checkbox gates
62
+ * parameters too, so a dashboard with parameters but no persistable filters must still open with the
63
+ * box checked — otherwise the first toggle would drop the stored values. The field is present (even
64
+ * as an empty per-tab map) only when persistence was on, so its presence is the signal.
65
+ */
66
+ function checkAreParametersStored(automationToEdit) {
67
+ return getAutomationExportParametersByTab(automationToEdit) !== undefined;
68
+ }
58
69
  /**
59
70
  * Hook to get data for AutomationFiltersSelect component.
60
71
  */
@@ -77,9 +88,11 @@ export const useAutomationFiltersSelect = ({ widget, automationToEdit, }) => {
77
88
  const isDashboardAutomation = !widget;
78
89
  const hasMultipleTabs = allFiltersByTab.length > 1;
79
90
  const filtersByTab = isDashboardAutomation && hasMultipleTabs ? allFiltersByTab : undefined;
80
- const areFiltersStored = useMemo(() => checkAreFiltersStored(automationToEdit), [automationToEdit]);
91
+ const parametersEnabled = useDashboardSelector(selectEnableParameters);
92
+ const areFiltersOrParametersStored = useMemo(() => checkAreFiltersStored(automationToEdit) ||
93
+ (parametersEnabled && checkAreParametersStored(automationToEdit)), [automationToEdit, parametersEnabled]);
81
94
  // Store filters or not? (checkbox to use latest saved dashboard filters vs "freeze" filters state as is)
82
- const [storeFilters, setStoreFilters] = useState(areFiltersStored);
95
+ const [storeFilters, setStoreFilters] = useState(areFiltersOrParametersStored);
83
96
  const isDashboardAutomationWithoutStoredFilters = useMemo(() => {
84
97
  return !widget && !storeFilters;
85
98
  }, [widget, storeFilters]);
@@ -0,0 +1,15 @@
1
+ import { type IdentifierRef } from "@gooddata/sdk-model";
2
+ import { type IAutomationParameter } from "./automationParameters.js";
3
+ /**
4
+ * Owns the parameter screen-reader announcement string and how a parameter is named (its title, or
5
+ * its identifier as fallback). Callers pass the relevant list and the acted-on ref.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare function useParameterAnnouncements(): {
10
+ parameterAnnouncement: string;
11
+ announceParameterAdded: (list: IAutomationParameter[], ref: IdentifierRef) => void;
12
+ announceParameterChanged: (list: IAutomationParameter[], ref: IdentifierRef, value: number) => void;
13
+ announceParameterRemoved: (list: IAutomationParameter[], ref: IdentifierRef) => void;
14
+ };
15
+ //# sourceMappingURL=useParameterAnnouncements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParameterAnnouncements.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/useParameterAnnouncements.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQtE;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACnF,wBAAwB,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpG,wBAAwB,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;CACxF,CAmBA"}
@@ -0,0 +1,28 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { useState } from "react";
3
+ import { defineMessages, useIntl } from "react-intl";
4
+ import { areObjRefsEqual } from "@gooddata/sdk-model";
5
+ const messages = defineMessages({
6
+ added: { id: "automationParameters.announcement.added" },
7
+ changed: { id: "automationParameters.announcement.changed" },
8
+ removed: { id: "automationParameters.announcement.removed" },
9
+ });
10
+ /**
11
+ * Owns the parameter screen-reader announcement string and how a parameter is named (its title, or
12
+ * its identifier as fallback). Callers pass the relevant list and the acted-on ref.
13
+ *
14
+ * @internal
15
+ */
16
+ export function useParameterAnnouncements() {
17
+ const intl = useIntl();
18
+ const [parameterAnnouncement, setParameterAnnouncement] = useState("");
19
+ return {
20
+ parameterAnnouncement,
21
+ announceParameterAdded: (list, ref) => setParameterAnnouncement(intl.formatMessage(messages.added, { title: parameterTitle(list, ref) })),
22
+ announceParameterChanged: (list, ref, value) => setParameterAnnouncement(intl.formatMessage(messages.changed, { title: parameterTitle(list, ref), value })),
23
+ announceParameterRemoved: (list, ref) => setParameterAnnouncement(intl.formatMessage(messages.removed, { title: parameterTitle(list, ref) })),
24
+ };
25
+ }
26
+ function parameterTitle(list, ref) {
27
+ return list.find((parameter) => areObjRefsEqual(parameter.ref, ref))?.title ?? ref.identifier;
28
+ }
@@ -831,10 +831,26 @@ export declare const en_US: {
831
831
  text: string;
832
832
  crowdinContext: string;
833
833
  };
834
+ "automationParameters.announcement.added": {
835
+ text: string;
836
+ crowdinContext: string;
837
+ };
838
+ "automationParameters.announcement.removed": {
839
+ text: string;
840
+ crowdinContext: string;
841
+ };
842
+ "automationParameters.announcement.changed": {
843
+ text: string;
844
+ crowdinContext: string;
845
+ };
834
846
  "dialogs.automation.filters.useFiltersMessage.tooltip": {
835
847
  text: string;
836
848
  crowdinContext: string;
837
849
  };
850
+ "dialogs.automation.filters.useFiltersMessage.parameters.tooltip": {
851
+ text: string;
852
+ crowdinContext: string;
853
+ };
838
854
  "dialogs.automation.filters.activeFilters": {
839
855
  text: string;
840
856
  crowdinContext: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAy4GjB,CAAC"}
1
+ {"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAy5GjB,CAAC"}
@@ -833,10 +833,26 @@ export const en_US = {
833
833
  "text": "{title} is {value}",
834
834
  "crowdinContext": "Automation parameter chip label showing a parameter title and its value, e.g. 'Top N is 5'"
835
835
  },
836
+ "automationParameters.announcement.added": {
837
+ "text": "Parameter {title} added.",
838
+ "crowdinContext": "Screen reader announcement when a parameter is added to an automation"
839
+ },
840
+ "automationParameters.announcement.removed": {
841
+ "text": "Parameter {title} removed.",
842
+ "crowdinContext": "Screen reader announcement when a parameter is removed from an automation"
843
+ },
844
+ "automationParameters.announcement.changed": {
845
+ "text": "Parameter {title} changed to {value}.",
846
+ "crowdinContext": "Screen reader announcement when a parameter value is changed in an automation"
847
+ },
836
848
  "dialogs.automation.filters.useFiltersMessage.tooltip": {
837
849
  "text": "Check to keep these filters for every export. If unchecked, the export will use the latest default filters from the dashboard.",
838
850
  "crowdinContext": "Tooltip explaining filter persistence options for scheduled exports"
839
851
  },
852
+ "dialogs.automation.filters.useFiltersMessage.parameters.tooltip": {
853
+ "text": "Check to keep these filter and parameter values for every export. If unchecked, exports use the dashboard's latest defaults.",
854
+ "crowdinContext": "Tooltip explaining filter and parameter persistence options for scheduled exports when parameters are enabled"
855
+ },
840
856
  "dialogs.automation.filters.activeFilters": {
841
857
  "text": "Note: These filters will always be used for future exports.",
842
858
  "crowdinContext": "Informational message about filters being permanently applied to exports"
@@ -1 +1 @@
1
- {"version":3,"file":"EditableDashboardInsightWidget.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/InsightWidget/EditableDashboardInsightWidget.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAGtE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,2CAEzG"}
1
+ {"version":3,"file":"EditableDashboardInsightWidget.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/InsightWidget/EditableDashboardInsightWidget.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAItE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,2CAEzG"}
@@ -12,9 +12,11 @@ import { DashboardItem } from "../../../presentationComponents/DashboardItems/Da
12
12
  import { DashboardItemVisualization } from "../../../presentationComponents/DashboardItems/DashboardItemVisualization.js";
13
13
  import { getVisTypeCssClass } from "../../../presentationComponents/DashboardItems/utils.js";
14
14
  import { DashboardInsight } from "../../insight/DashboardInsight.js";
15
+ import { InsightWidgetWarningPartialResult } from "../warningPartialResult/InsightWidgetWarningPartialResult.js";
15
16
  import { DashboardWidgetInsightGuard } from "./DashboardWidgetInsightGuard.js";
16
17
  import { EditableDashboardInsightWidgetHeader } from "./EditableDashboardInsightWidgetHeader.js";
17
18
  import { useEditableInsightMenu } from "./useEditableInsightMenu.js";
19
+ import { useInsightWarning } from "./useInsightWarning.js";
18
20
  export function EditableDashboardInsightWidget(props) {
19
21
  return _jsx(DashboardWidgetInsightGuard, { ...props, Component: EditableDashboardInsightWidgetCore });
20
22
  }
@@ -23,14 +25,21 @@ export function EditableDashboardInsightWidget(props) {
23
25
  */
24
26
  function EditableDashboardInsightWidgetCore({ widget, insight, screen, onError, onExportReady, onLoadingChanged, dashboardItemClasses, }) {
25
27
  const visType = insight ? insightVisualizationType(insight) : undefined;
26
- const { isSelectable, isSelected, onSelected, closeConfigPanel, hasConfigPanelOpen } = useWidgetSelection(widgetRef(widget));
28
+ const ref = widgetRef(widget);
29
+ const { isSelectable, isSelected, onSelected, closeConfigPanel, hasConfigPanelOpen } = useWidgetSelection(ref);
27
30
  const { menuItems } = useEditableInsightMenu({ closeMenu: closeConfigPanel, insight, widget });
28
31
  const { InsightMenuComponentProvider, ErrorComponent, LoadingComponent } = useDashboardComponentsContext();
29
32
  const InsightMenuComponent = useMemo(() => InsightMenuComponentProvider(insight, widget), [InsightMenuComponentProvider, insight, widget]);
30
33
  const isSaving = useDashboardSelector(selectIsDashboardSaving);
31
34
  const isEditable = !isSaving;
32
35
  const isDraggingWidget = useIsDraggingWidget();
36
+ const { limitBreaks, executionResult } = useInsightWarning(ref);
33
37
  return (_jsx(DashboardItem, { className: cx(dashboardItemClasses, "type-visualization", "gd-dashboard-view-widget", "is-edit-mode", getVisTypeCssClass(widget.type, visType), { "is-selected": isSelected }), screen: screen, children: _jsx(DashboardItemVisualization, { isSelectable: isSelectable, isSelected: isSelected, onSelected: onSelected, renderHeadline: (clientHeight) => !widget.configuration?.hideTitle && (_jsx(EditableDashboardInsightWidgetHeader, { clientHeight: clientHeight, widget: widget, insight: insight })), renderAfterContent: () => {
34
38
  return (_jsx(_Fragment, { children: !!hasConfigPanelOpen && (_jsx(InsightMenuComponent, { insight: insight, widget: widget, isOpen: hasConfigPanelOpen, onClose: closeConfigPanel, items: menuItems })) }));
39
+ }, renderAfterVisualization: () => {
40
+ if (limitBreaks.length > 0 && executionResult) {
41
+ return (_jsx(InsightWidgetWarningPartialResult, { className: "gd-warning-partial-result", limitBreaks: limitBreaks, isEditMode: true, executionResult: executionResult, isLoading: executionResult.isLoading }));
42
+ }
43
+ return null;
35
44
  }, contentClassName: cx({ "is-editable": isEditable, "is-dragging-widget": isDraggingWidget }), visualizationClassName: cx({ "is-editable": isEditable }), children: ({ clientHeight, clientWidth }) => (_jsx(DashboardInsight, { clientHeight: clientHeight, clientWidth: clientWidth, insight: insight, widget: widget, onExportReady: onExportReady, onLoadingChanged: onLoadingChanged, onError: onError, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent })) }) }));
36
45
  }
@@ -3,12 +3,13 @@ import { type IExecutionResultEnvelope } from "../../../../model/store/execution
3
3
  interface IInsightWidgetWarningPartialResultProps {
4
4
  className: string;
5
5
  limitBreaks: IExecutionResultLimitBreak[];
6
- isExporting: boolean;
7
- isExportRawVisible: boolean;
8
6
  executionResult: IExecutionResultEnvelope;
7
+ isExporting?: boolean;
8
+ isExportRawVisible?: boolean;
9
9
  isLoading?: boolean;
10
- onExportRawCSV: () => void;
10
+ isEditMode?: boolean;
11
+ onExportRawCSV?: () => void;
11
12
  }
12
- export declare function InsightWidgetWarningPartialResult({ className, limitBreaks, isLoading, isExporting, isExportRawVisible, executionResult, onExportRawCSV }: IInsightWidgetWarningPartialResultProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function InsightWidgetWarningPartialResult({ className, limitBreaks, isLoading, isExporting, isExportRawVisible, executionResult, isEditMode, onExportRawCSV }: IInsightWidgetWarningPartialResultProps): import("react/jsx-runtime").JSX.Element;
13
14
  export {};
14
15
  //# sourceMappingURL=InsightWidgetWarningPartialResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InsightWidgetWarningPartialResult.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/warningPartialResult/InsightWidgetWarningPartialResult.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAElG,UAAU,uCAAuC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,wBAAwB,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,iCAAiC,CAAC,EAC9C,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,cAAc,EACjB,EAAE,uCAAuC,2CAwDzC"}
1
+ {"version":3,"file":"InsightWidgetWarningPartialResult.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/warningPartialResult/InsightWidgetWarningPartialResult.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAElG,UAAU,uCAAuC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,iCAAiC,CAAC,EAC9C,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,cAAc,EACjB,EAAE,uCAAuC,2CAwDzC"}
@@ -5,7 +5,7 @@ import noop from "lodash-es/noop.js";
5
5
  import { FormattedMessage, defineMessage, useIntl } from "react-intl";
6
6
  import { getPartialDataWarningMessage } from "@gooddata/sdk-ui";
7
7
  import { DialogBase, UiLink, WidgetNotice } from "@gooddata/sdk-ui-kit";
8
- export function InsightWidgetWarningPartialResult({ className, limitBreaks, isLoading, isExporting, isExportRawVisible, executionResult, onExportRawCSV, }) {
8
+ export function InsightWidgetWarningPartialResult({ className, limitBreaks, isLoading, isExporting, isExportRawVisible, executionResult, isEditMode = false, onExportRawCSV, }) {
9
9
  const intl = useIntl();
10
10
  const detailMessage = getPartialDataWarningMessage(limitBreaks, intl);
11
11
  useEffect(() => {
@@ -17,7 +17,7 @@ export function InsightWidgetWarningPartialResult({ className, limitBreaks, isLo
17
17
  };
18
18
  const exportFullResult = (event) => {
19
19
  event.preventDefault();
20
- onExportRawCSV();
20
+ onExportRawCSV?.();
21
21
  };
22
- return (_jsx(_Fragment, { children: isOpen && isLoading === false ? (_jsx(DialogBase, { className: className, onMouseUp: noop, submitOnEnterKey: false, isModal: false, autofocusOnOpen: false, children: _jsx(WidgetNotice, { type: "warning", message: _jsx(FormattedMessage, { id: "partial_data_warning.title" }), detail: _jsx(FormattedMessage, { ...detailMessage }), detailAction: isExportRawVisible ? (_jsx(UiLink, { isDisabled: isExporting, variant: "primary", href: "#", onClick: exportFullResult, children: _jsx(FormattedMessage, { id: "partial_data_warning.export_raw" }) })) : undefined, expandLabel: _jsx(FormattedMessage, { id: "partial_data_warning.show_details" }), collapseLabel: _jsx(FormattedMessage, { id: "partial_data_warning.hide_details" }), onClose: handleCloseOverlay, closeButtonLabel: intl.formatMessage(defineMessage({ id: "partial_data_warning.close" })) }) })) : null }));
22
+ return (_jsx(_Fragment, { children: isOpen && isLoading === false ? (_jsx(DialogBase, { className: className, onMouseUp: noop, submitOnEnterKey: false, isModal: false, autofocusOnOpen: false, children: _jsx(WidgetNotice, { type: "warning", message: _jsx(FormattedMessage, { id: "partial_data_warning.title" }), detail: _jsx(FormattedMessage, { ...detailMessage }), detailAction: isExportRawVisible && !isEditMode ? (_jsx(UiLink, { isDisabled: isExporting, variant: "primary", href: "#", onClick: exportFullResult, children: _jsx(FormattedMessage, { id: "partial_data_warning.export_raw" }) })) : undefined, expandLabel: _jsx(FormattedMessage, { id: "partial_data_warning.show_details" }), collapseLabel: _jsx(FormattedMessage, { id: "partial_data_warning.hide_details" }), onClose: handleCloseOverlay, closeButtonLabel: intl.formatMessage(defineMessage({ id: "partial_data_warning.close" })) }) })) : null }));
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-dashboard",
3
- "version": "11.42.0-alpha.2",
3
+ "version": "11.42.0-alpha.3",
4
4
  "description": "GoodData SDK - Dashboard Component",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -60,19 +60,19 @@
60
60
  "ts-invariant": "0.10.3",
61
61
  "tslib": "2.8.1",
62
62
  "uuid": "11.1.1",
63
- "@gooddata/sdk-backend-spi": "11.42.0-alpha.2",
64
- "@gooddata/sdk-backend-base": "11.42.0-alpha.2",
65
- "@gooddata/sdk-model": "11.42.0-alpha.2",
66
- "@gooddata/sdk-ui": "11.42.0-alpha.2",
67
- "@gooddata/sdk-ui-charts": "11.42.0-alpha.2",
68
- "@gooddata/sdk-ui-ext": "11.42.0-alpha.2",
69
- "@gooddata/sdk-ui-filters": "11.42.0-alpha.2",
70
- "@gooddata/sdk-ui-geo": "11.42.0-alpha.2",
71
- "@gooddata/sdk-ui-pivot": "11.42.0-alpha.2",
72
- "@gooddata/sdk-ui-vis-commons": "11.42.0-alpha.2",
73
- "@gooddata/sdk-ui-kit": "11.42.0-alpha.2",
74
- "@gooddata/sdk-ui-theme-provider": "11.42.0-alpha.2",
75
- "@gooddata/util": "11.42.0-alpha.2"
63
+ "@gooddata/sdk-backend-base": "11.42.0-alpha.3",
64
+ "@gooddata/sdk-backend-spi": "11.42.0-alpha.3",
65
+ "@gooddata/sdk-model": "11.42.0-alpha.3",
66
+ "@gooddata/sdk-ui": "11.42.0-alpha.3",
67
+ "@gooddata/sdk-ui-charts": "11.42.0-alpha.3",
68
+ "@gooddata/sdk-ui-ext": "11.42.0-alpha.3",
69
+ "@gooddata/sdk-ui-filters": "11.42.0-alpha.3",
70
+ "@gooddata/sdk-ui-geo": "11.42.0-alpha.3",
71
+ "@gooddata/sdk-ui-kit": "11.42.0-alpha.3",
72
+ "@gooddata/sdk-ui-pivot": "11.42.0-alpha.3",
73
+ "@gooddata/sdk-ui-theme-provider": "11.42.0-alpha.3",
74
+ "@gooddata/sdk-ui-vis-commons": "11.42.0-alpha.3",
75
+ "@gooddata/util": "11.42.0-alpha.3"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@microsoft/api-documenter": "^7.17.0",
@@ -118,12 +118,12 @@
118
118
  "typescript": "5.9.3",
119
119
  "vitest": "4.1.8",
120
120
  "vitest-dom": "0.1.1",
121
- "@gooddata/eslint-config": "11.42.0-alpha.2",
122
- "@gooddata/i18n-toolkit": "11.42.0-alpha.2",
123
- "@gooddata/oxlint-config": "11.42.0-alpha.2",
124
- "@gooddata/reference-workspace": "11.42.0-alpha.2",
125
- "@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.2",
126
- "@gooddata/stylelint-config": "11.42.0-alpha.2"
121
+ "@gooddata/eslint-config": "11.42.0-alpha.3",
122
+ "@gooddata/i18n-toolkit": "11.42.0-alpha.3",
123
+ "@gooddata/reference-workspace": "11.42.0-alpha.3",
124
+ "@gooddata/sdk-backend-mockingbird": "11.42.0-alpha.3",
125
+ "@gooddata/stylelint-config": "11.42.0-alpha.3",
126
+ "@gooddata/oxlint-config": "11.42.0-alpha.3"
127
127
  },
128
128
  "peerDependencies": {
129
129
  "react": "^18.0.0 || ^19.0.0",
@@ -30912,7 +30912,7 @@ figure {
30912
30912
  opacity: 0.6;
30913
30913
  }
30914
30914
  }
30915
- .overlay.gd-dialog.gd-warning-partial-result {
30915
+ .overlay.gd-dialog.gd-warning-partial-result:not(.gd-dropdown) {
30916
30916
  position: absolute;
30917
30917
  z-index: 2;
30918
30918
  bottom: 10px;
@@ -1,4 +1,4 @@
1
- .overlay.gd-dialog.gd-warning-partial-result {
1
+ .overlay.gd-dialog.gd-warning-partial-result:not(.gd-dropdown) {
2
2
  position: absolute;
3
3
  z-index: 2;
4
4
  bottom: 10px;
@@ -1,6 +1,6 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
 
3
- .overlay.gd-dialog.gd-warning-partial-result {
3
+ .overlay.gd-dialog.gd-warning-partial-result:not(.gd-dropdown) {
4
4
  position: absolute;
5
5
  z-index: 2;
6
6
  bottom: 10px;