@gooddata/sdk-ui-dashboard 10.12.0-alpha.7 → 10.12.0-alpha.9

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 (79) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/model/commandHandlers/dashboard/common/insightReferences.d.ts.map +1 -1
  4. package/esm/model/commandHandlers/dashboard/common/insightReferences.js +32 -8
  5. package/esm/model/commandHandlers/dashboard/common/insightReferences.js.map +1 -1
  6. package/esm/model/commandHandlers/render/renderingWorker.d.ts.map +1 -1
  7. package/esm/model/commandHandlers/render/renderingWorker.js +5 -0
  8. package/esm/model/commandHandlers/render/renderingWorker.js.map +1 -1
  9. package/esm/model/store/dashboardStore.d.ts.map +1 -1
  10. package/esm/model/store/dashboardStore.js +2 -0
  11. package/esm/model/store/dashboardStore.js.map +1 -1
  12. package/esm/model/store/executed/executedReducers.d.ts +9 -0
  13. package/esm/model/store/executed/executedReducers.d.ts.map +1 -0
  14. package/esm/model/store/executed/executedReducers.js +11 -0
  15. package/esm/model/store/executed/executedReducers.js.map +1 -0
  16. package/esm/model/store/executed/executedSelectors.d.ts +11 -0
  17. package/esm/model/store/executed/executedSelectors.d.ts.map +1 -0
  18. package/esm/model/store/executed/executedSelectors.js +12 -0
  19. package/esm/model/store/executed/executedSelectors.js.map +1 -0
  20. package/esm/model/store/executed/executedState.d.ts +8 -0
  21. package/esm/model/store/executed/executedState.d.ts.map +1 -0
  22. package/esm/model/store/executed/executedState.js +3 -0
  23. package/esm/model/store/executed/executedState.js.map +1 -0
  24. package/esm/model/store/executed/index.d.ts +6 -0
  25. package/esm/model/store/executed/index.d.ts.map +1 -0
  26. package/esm/model/store/executed/index.js +12 -0
  27. package/esm/model/store/executed/index.js.map +1 -0
  28. package/esm/model/store/index.d.ts +2 -0
  29. package/esm/model/store/index.d.ts.map +1 -1
  30. package/esm/model/store/index.js +1 -0
  31. package/esm/model/store/index.js.map +1 -1
  32. package/esm/model/store/types.d.ts +2 -0
  33. package/esm/model/store/types.d.ts.map +1 -1
  34. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.d.ts +1 -1
  35. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.d.ts.map +1 -1
  36. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.js +2 -2
  37. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.js.map +1 -1
  38. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts.map +1 -1
  39. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js +23 -28
  40. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js.map +1 -1
  41. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.d.ts +16 -0
  42. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.d.ts.map +1 -0
  43. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.js +26 -0
  44. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.js.map +1 -0
  45. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js +4 -4
  46. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js.map +1 -1
  47. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts +8 -0
  48. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
  49. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +99 -3
  50. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js.map +1 -1
  51. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.d.ts +4 -0
  52. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.d.ts.map +1 -0
  53. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.js +60 -0
  54. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.js.map +1 -0
  55. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.d.ts.map +1 -1
  56. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +7 -39
  57. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js.map +1 -1
  58. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts +17 -0
  59. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts.map +1 -0
  60. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js +52 -0
  61. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js.map +1 -0
  62. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts +12 -0
  63. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts.map +1 -0
  64. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js +53 -0
  65. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js.map +1 -0
  66. package/esm/sdk-ui-dashboard.d.ts +13 -0
  67. package/package.json +15 -15
  68. package/styles/css/insightConfiguration.css +1 -0
  69. package/styles/css/insightConfiguration.css.map +1 -1
  70. package/styles/css/main.css +76 -5
  71. package/styles/css/main.css.map +1 -1
  72. package/styles/css/visualizationSwitcherHeader.css +59 -0
  73. package/styles/css/visualizationSwitcherHeader.css.map +1 -0
  74. package/styles/css/visualizationSwitcherWidget.css +22 -5
  75. package/styles/css/visualizationSwitcherWidget.css.map +1 -1
  76. package/styles/scss/insightConfiguration.scss +2 -1
  77. package/styles/scss/main.scss +1 -0
  78. package/styles/scss/visualizationSwitcherHeader.scss +61 -0
  79. package/styles/scss/visualizationSwitcherWidget.scss +24 -5
@@ -0,0 +1,17 @@
1
+ import { IInsight, IInsightWidget } from "@gooddata/sdk-model";
2
+ import { AlertingDisabledReason, SchedulingDisabledReason } from "../../insightMenu/index.js";
3
+ type UseAlertingAndSchedulingConfig = {
4
+ insight: IInsight;
5
+ widget: IInsightWidget;
6
+ numberOfAvailableDestinations: number;
7
+ };
8
+ export declare const useAlertingAndScheduling: ({ widget, insight, numberOfAvailableDestinations, }: UseAlertingAndSchedulingConfig) => {
9
+ isAlertingVisible: boolean;
10
+ alertingDisabled: boolean;
11
+ alertingDisabledReason?: AlertingDisabledReason | undefined;
12
+ scheduleExportDisabled: boolean;
13
+ scheduleExportManagementDisabled: boolean;
14
+ scheduleExportDisabledReason?: SchedulingDisabledReason | undefined;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=useAlertingAndScheduling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAlertingAndScheduling.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQ9F,KAAK,8BAA8B,GAAG;IAClC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,6BAA6B,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,wDAIlC,8BAA8B;uBACV,OAAO;sBACR,OAAO;;4BAED,OAAO;sCACG,OAAO;;CAmD5C,CAAC"}
@@ -0,0 +1,52 @@
1
+ // (C) 2024 GoodData Corporation
2
+ import { useDashboardSelector, selectSettings, isCustomWidget } from "../../../../model/index.js";
3
+ import { isInsightAlertingConfigurationEnabled, isInsightScheduledExportsConfigurationEnabled, isInsightSupportedForAlerts, isInsightSupportedForScheduledExports, } from "@gooddata/sdk-ui-ext";
4
+ export const useAlertingAndScheduling = ({ widget, insight, numberOfAvailableDestinations, }) => {
5
+ const settings = useDashboardSelector(selectSettings);
6
+ const isStandardWidget = !isCustomWidget(widget);
7
+ const hasNoDestinations = numberOfAvailableDestinations === 0;
8
+ //NOTE: Check if widget has localIdentifier, if not that is probably widget from old dashboard
9
+ // and we should not allow to schedule export/alert because we need localIdentifier to identify the widget
10
+ const widgetHasNoLocalIdentifier = !widget.localIdentifier;
11
+ const isAlertingEnabled = settings.enableAlerting === true;
12
+ const isInsightTypeSupportedForAlerting = isInsightSupportedForAlerts(insight);
13
+ const isInsightEnabledForAlerting = isInsightAlertingConfigurationEnabled(insight);
14
+ const isAlertingVisible = isAlertingEnabled && isStandardWidget && isInsightTypeSupportedForAlerting;
15
+ const alertingDisabled = hasNoDestinations || !isInsightEnabledForAlerting || widgetHasNoLocalIdentifier;
16
+ let alertingDisabledReason = undefined;
17
+ if (widgetHasNoLocalIdentifier) {
18
+ alertingDisabledReason = "oldWidget";
19
+ }
20
+ else if (hasNoDestinations) {
21
+ alertingDisabledReason = "noDestinations";
22
+ }
23
+ else if (!isInsightEnabledForAlerting) {
24
+ alertingDisabledReason = "disabledOnInsight";
25
+ }
26
+ const isInsightTypeSupportedForScheduling = isInsightSupportedForScheduledExports(insight);
27
+ const isInsightEnabledForScheduling = isInsightScheduledExportsConfigurationEnabled(insight);
28
+ const scheduleExportDisabled = !isInsightTypeSupportedForScheduling ||
29
+ !isStandardWidget ||
30
+ !isInsightEnabledForScheduling ||
31
+ widgetHasNoLocalIdentifier;
32
+ const scheduleExportManagementDisabled = !isStandardWidget;
33
+ let scheduleExportDisabledReason = undefined;
34
+ if (widgetHasNoLocalIdentifier) {
35
+ scheduleExportDisabledReason = "oldWidget";
36
+ }
37
+ else if (!isStandardWidget) {
38
+ scheduleExportDisabledReason = "incompatibleWidget";
39
+ }
40
+ else if (!isInsightEnabledForScheduling || !isInsightTypeSupportedForScheduling) {
41
+ scheduleExportDisabledReason = "disabledOnInsight";
42
+ }
43
+ return {
44
+ isAlertingVisible,
45
+ alertingDisabled,
46
+ alertingDisabledReason,
47
+ scheduleExportDisabled,
48
+ scheduleExportManagementDisabled,
49
+ scheduleExportDisabledReason,
50
+ };
51
+ };
52
+ //# sourceMappingURL=useAlertingAndScheduling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAlertingAndScheduling.js","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,EACH,qCAAqC,EACrC,6CAA6C,EAC7C,2BAA2B,EAC3B,qCAAqC,GACxC,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACrC,MAAM,EACN,OAAO,EACP,6BAA6B,GACA,EAO/B,EAAE;IACA,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,6BAA6B,KAAK,CAAC,CAAC;IAE9D,8FAA8F;IAC9F,0GAA0G;IAC1G,MAAM,0BAA0B,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;IAE3D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC;IAC3D,MAAM,iCAAiC,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,2BAA2B,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAG,iBAAiB,IAAI,gBAAgB,IAAI,iCAAiC,CAAC;IACrG,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,CAAC,2BAA2B,IAAI,0BAA0B,CAAC;IACzG,IAAI,sBAAsB,GAAuC,SAAS,CAAC;IAC3E,IAAI,0BAA0B,EAAE,CAAC;QAC7B,sBAAsB,GAAG,WAAW,CAAC;IACzC,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC3B,sBAAsB,GAAG,gBAAgB,CAAC;IAC9C,CAAC;SAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACtC,sBAAsB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED,MAAM,mCAAmC,GAAG,qCAAqC,CAAC,OAAO,CAAC,CAAC;IAC3F,MAAM,6BAA6B,GAAG,6CAA6C,CAAC,OAAO,CAAC,CAAC;IAC7F,MAAM,sBAAsB,GACxB,CAAC,mCAAmC;QACpC,CAAC,gBAAgB;QACjB,CAAC,6BAA6B;QAC9B,0BAA0B,CAAC;IAC/B,MAAM,gCAAgC,GAAG,CAAC,gBAAgB,CAAC;IAC3D,IAAI,4BAA4B,GAAyC,SAAS,CAAC;IACnF,IAAI,0BAA0B,EAAE,CAAC;QAC7B,4BAA4B,GAAG,WAAW,CAAC;IAC/C,CAAC;SAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,4BAA4B,GAAG,oBAAoB,CAAC;IACxD,CAAC;SAAM,IAAI,CAAC,6BAA6B,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAChF,4BAA4B,GAAG,mBAAmB,CAAC;IACvD,CAAC;IAED,OAAO;QACH,iBAAiB;QACjB,gBAAgB;QAChB,sBAAsB;QACtB,sBAAsB;QACtB,gCAAgC;QAChC,4BAA4B;KAC/B,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { IInsightWidget, IVisualizationSwitcherWidget } from "@gooddata/sdk-model";
3
+ interface IVisualizationSwitcherNavigationHeaderProps {
4
+ clientWidth: number | undefined;
5
+ clientHeight: number | undefined;
6
+ activeVisualization: IInsightWidget;
7
+ widget: IVisualizationSwitcherWidget;
8
+ onActiveVisualizationChange: (visualizationId: string) => void;
9
+ }
10
+ export declare const VisualizationSwitcherNavigationHeader: React.FC<IVisualizationSwitcherNavigationHeaderProps>;
11
+ export {};
12
+ //# sourceMappingURL=VisualizationSwitcherNavigationHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationSwitcherNavigationHeader.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAA6B,MAAM,qBAAqB,CAAC;AAQ9G,UAAU,2CAA2C;IACjD,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB,EAAE,cAAc,CAAC;IACpC,MAAM,EAAE,4BAA4B,CAAC;IACrC,2BAA2B,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAaD,eAAO,MAAM,qCAAqC,EAAE,KAAK,CAAC,EAAE,CAAC,2CAA2C,CAkEvG,CAAC"}
@@ -0,0 +1,53 @@
1
+ // (C) 2020-2024 GoodData Corporation
2
+ import React, { useCallback } from "react";
3
+ import { objRefToString, widgetRef } from "@gooddata/sdk-model";
4
+ import { DashboardItemHeadlineContainer } from "../../../presentationComponents/index.js";
5
+ import { ItemsWrapper, Overlay, ShortenedText } from "@gooddata/sdk-ui-kit";
6
+ import cx from "classnames";
7
+ import { stringUtils } from "@gooddata/util";
8
+ const alignPoints = [
9
+ {
10
+ align: "bc tc",
11
+ offset: { x: 0, y: 9 },
12
+ },
13
+ {
14
+ align: "tc bc",
15
+ offset: { x: 0, y: -9 },
16
+ },
17
+ ];
18
+ export const VisualizationSwitcherNavigationHeader = ({ widget, clientWidth, clientHeight, activeVisualization, onActiveVisualizationChange, }) => {
19
+ const [isOpen, setIsOpen] = React.useState(false);
20
+ const widgetRefAsString = objRefToString(widgetRef(widget));
21
+ const alignTo = `gd-visualization-switcher-widget-header-${stringUtils.simplifyText(widgetRefAsString)}`;
22
+ const toggleDropdown = () => {
23
+ setIsOpen(!isOpen);
24
+ };
25
+ const onSelect = useCallback((item) => {
26
+ onActiveVisualizationChange(item.identifier);
27
+ setIsOpen(false);
28
+ }, [onActiveVisualizationChange]);
29
+ return (React.createElement(DashboardItemHeadlineContainer, { clientHeight: clientHeight },
30
+ React.createElement(VisualizationSwitcherNavigationHeaderButton, { className: alignTo, title: activeVisualization.title, isOpen: isOpen, toggleDropdown: toggleDropdown }),
31
+ isOpen ? (React.createElement(Overlay, { key: "VisualizationSwitcherNavigationHeader", alignTo: `.${alignTo}`, alignPoints: alignPoints, className: "s-visualization-switcher-widget-header", closeOnMouseDrag: true, closeOnOutsideClick: true, closeOnParentScroll: true, onClose: toggleDropdown },
32
+ React.createElement(ItemsWrapper, { className: "gd-visualization-switcher-widget-header-list" },
33
+ React.createElement("div", { className: "gd-visualization-switcher-widget-header-list-container" }, widget.visualizations.map((visualization) => {
34
+ return (React.createElement(VisualizationSwitcherNavigationHeaderItem, { key: visualization.identifier, onSelect: onSelect, item: visualization, isSelected: visualization.identifier === activeVisualization.identifier, maxWidth: clientWidth ?? 200 }));
35
+ }))))) : null));
36
+ };
37
+ const VisualizationSwitcherNavigationHeaderButton = ({ isOpen, toggleDropdown, title, className }) => {
38
+ const classNames = cx("gd-visualization-switcher-widget-header", className, {
39
+ "is-open": isOpen,
40
+ });
41
+ return (React.createElement("div", { className: classNames, onClick: toggleDropdown }, title));
42
+ };
43
+ const VisualizationSwitcherNavigationHeaderItem = ({ item, isSelected, onSelect, maxWidth, }) => {
44
+ const classNames = cx("gd-visualization-switcher-widget-header-item", "gd-list-item", {
45
+ "is-selected": isSelected,
46
+ });
47
+ return (React.createElement("div", { className: classNames, onClick: () => {
48
+ onSelect(item);
49
+ } },
50
+ React.createElement("div", { className: "gd-visualization-switcher-widget-header-item-content", style: { maxWidth } },
51
+ React.createElement(ShortenedText, { className: "title" }, item.title))));
52
+ };
53
+ //# sourceMappingURL=VisualizationSwitcherNavigationHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizationSwitcherNavigationHeader.js","sourceRoot":"","sources":["../../../../../src/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.tsx"],"names":[],"mappings":"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"}
@@ -5429,6 +5429,7 @@ export declare interface DashboardState {
5429
5429
  /** @beta */
5430
5430
  loading: LoadingState;
5431
5431
  saving: SavingState;
5432
+ executed: ExecutedState;
5432
5433
  backendCapabilities: BackendCapabilitiesState;
5433
5434
  config: ConfigState;
5434
5435
  /** @beta */
@@ -6931,6 +6932,13 @@ export declare interface EntitlementsState {
6931
6932
  entitlements?: ResolvedEntitlements;
6932
6933
  }
6933
6934
 
6935
+ /**
6936
+ * @beta
6937
+ */
6938
+ export declare interface ExecutedState {
6939
+ executed: boolean;
6940
+ }
6941
+
6934
6942
  /**
6935
6943
  * @internal
6936
6944
  */
@@ -16724,6 +16732,11 @@ export declare const selectIsCrossFiltering: DashboardSelector<boolean>;
16724
16732
  */
16725
16733
  export declare const selectIsDashboardDirty: DashboardSelector<boolean>;
16726
16734
 
16735
+ /**
16736
+ * @internal
16737
+ */
16738
+ export declare const selectIsDashboardExecuted: DashboardSelector<boolean>;
16739
+
16727
16740
  /**
16728
16741
  * @internal
16729
16742
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-dashboard",
3
- "version": "10.12.0-alpha.7",
3
+ "version": "10.12.0-alpha.9",
4
4
  "description": "GoodData SDK - Dashboard Component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,17 +57,17 @@
57
57
  "ts-invariant": "^0.7.5",
58
58
  "tslib": "^2.5.0",
59
59
  "uuid": "^8.3.2",
60
- "@gooddata/sdk-backend-base": "10.12.0-alpha.7",
61
- "@gooddata/sdk-backend-spi": "10.12.0-alpha.7",
62
- "@gooddata/sdk-model": "10.12.0-alpha.7",
63
- "@gooddata/sdk-ui": "10.12.0-alpha.7",
64
- "@gooddata/sdk-ui-ext": "10.12.0-alpha.7",
65
- "@gooddata/sdk-ui-filters": "10.12.0-alpha.7",
66
- "@gooddata/sdk-ui-geo": "10.12.0-alpha.7",
67
- "@gooddata/sdk-ui-kit": "10.12.0-alpha.7",
68
- "@gooddata/sdk-ui-vis-commons": "10.12.0-alpha.7",
69
- "@gooddata/sdk-ui-theme-provider": "10.12.0-alpha.7",
70
- "@gooddata/util": "10.12.0-alpha.7"
60
+ "@gooddata/sdk-backend-spi": "10.12.0-alpha.9",
61
+ "@gooddata/sdk-model": "10.12.0-alpha.9",
62
+ "@gooddata/sdk-ui": "10.12.0-alpha.9",
63
+ "@gooddata/sdk-ui-ext": "10.12.0-alpha.9",
64
+ "@gooddata/sdk-backend-base": "10.12.0-alpha.9",
65
+ "@gooddata/sdk-ui-filters": "10.12.0-alpha.9",
66
+ "@gooddata/sdk-ui-geo": "10.12.0-alpha.9",
67
+ "@gooddata/sdk-ui-kit": "10.12.0-alpha.9",
68
+ "@gooddata/sdk-ui-theme-provider": "10.12.0-alpha.9",
69
+ "@gooddata/sdk-ui-vis-commons": "10.12.0-alpha.9",
70
+ "@gooddata/util": "10.12.0-alpha.9"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -120,9 +120,9 @@
120
120
  "typescript": "5.3.3",
121
121
  "vitest": "1.0.4",
122
122
  "vitest-dom": "0.1.1",
123
- "@gooddata/i18n-toolkit": "10.12.0-alpha.7",
124
- "@gooddata/reference-workspace": "10.12.0-alpha.7",
125
- "@gooddata/sdk-backend-mockingbird": "10.12.0-alpha.7"
123
+ "@gooddata/i18n-toolkit": "10.12.0-alpha.9",
124
+ "@gooddata/sdk-backend-mockingbird": "10.12.0-alpha.9",
125
+ "@gooddata/reference-workspace": "10.12.0-alpha.9"
126
126
  },
127
127
  "scripts": {
128
128
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
@@ -50,6 +50,7 @@
50
50
  .edit-insight-config .bubble-content .widget-title .insight-title {
51
51
  font: inherit;
52
52
  padding-bottom: 0;
53
+ text-align: left;
53
54
  }
54
55
  .edit-insight-config .bubble-content .widget-title .insight-title .original-insight-title {
55
56
  font: inherit;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../scss/insightConfiguration.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACjLA;AAAA;AAAA;ACOA;AAAA;EACI;EACA;EACA;EACA;;;AAKI;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OAxBS;;AA2Bb;EACI;EACA;EACA;;AAEA;EAGI;EACA;EACA,OCfA;EDgBA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA,OAnEe;;AAuEvB;AAAA;EAII;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI,kBA3GkB;EA4GlB;EACA;;AAEJ;EACI;;AAGA;EACI;EACA;EACA;EACA;EACA,OC/FI;;ADiGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA,OApIiB;EAqIjB;;AAEJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAIJ;EACI;EACA;;AAGR;EACI,kBA3Ja;EA4Jb,OC5GY;;AD8GZ;EACI;;AAIZ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI,oBC9EoB;;;ADiFxB;EACI,mBClFoB;;;ADqFxB;EACI;;;AAOI;EACI;;AAKJ;EACI;;AAKJ;EACI","file":"insightConfiguration.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/styles/scss/mixins.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/Bubble/_variables.scss","../scss/insightConfiguration.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACjLA;AAAA;AAAA;ACOA;AAAA;EACI;EACA;EACA;EACA;;;AAKI;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OAxBS;;AA2Bb;EACI;EACA;EACA;;AAEA;EAGI;EACA;EACA,OCfA;EDgBA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,OApEe;;AAwEvB;AAAA;EAII;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI,kBA5GkB;EA6GlB;EACA;;AAEJ;EACI;;AAGA;EACI;EACA;EACA;EACA;EACA,OChGI;;ADkGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA,OArIiB;EAsIjB;;AAEJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAIJ;EACI;EACA;;AAGR;EACI,kBA5Ja;EA6Jb,OC7GY;;AD+GZ;EACI;;AAIZ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI,oBC/EoB;;;ADkFxB;EACI,mBCnFoB;;;ADsFxB;EACI;;;AAOI;EACI;;AAKJ;EACI;;AAKJ;EACI","file":"insightConfiguration.css"}
@@ -22501,6 +22501,7 @@ div.gd-empty-item-bubble {
22501
22501
  .edit-insight-config .bubble-content .widget-title .insight-title {
22502
22502
  font: inherit;
22503
22503
  padding-bottom: 0;
22504
+ text-align: left;
22504
22505
  }
22505
22506
  .edit-insight-config .bubble-content .widget-title .insight-title .original-insight-title {
22506
22507
  font: inherit;
@@ -24337,13 +24338,16 @@ div.gd-empty-item-bubble {
24337
24338
  .gd-visualization-switcher-widget-wrapper {
24338
24339
  width: 100%;
24339
24340
  height: 100%;
24340
- display: flex;
24341
- flex-direction: column;
24342
24341
  overflow-x: hidden;
24343
24342
  overflow-y: auto;
24344
- position: absolute;
24345
- left: 0;
24346
- top: 0;
24343
+ }
24344
+ .gd-visualization-switcher-widget-wrapper .dash-item,
24345
+ .gd-visualization-switcher-widget-wrapper .dash-item-content {
24346
+ padding: 0;
24347
+ position: static;
24348
+ }
24349
+ .gd-visualization-switcher-widget-wrapper .dash-item-content {
24350
+ border-width: 0;
24347
24351
  }
24348
24352
 
24349
24353
  .gd-visualization-switcher-widget-empty-content {
@@ -24355,6 +24359,20 @@ div.gd-empty-item-bubble {
24355
24359
  gap: 8px;
24356
24360
  }
24357
24361
 
24362
+ .gd-visualization-switcher-visible-visualization {
24363
+ width: 100%;
24364
+ height: 100%;
24365
+ }
24366
+ .gd-visualization-switcher-visible-visualization.is-edit-mode {
24367
+ display: flex;
24368
+ }
24369
+
24370
+ .gd-visualization-switcher-hidden-visualization {
24371
+ width: 0;
24372
+ height: 0;
24373
+ overflow: hidden;
24374
+ }
24375
+
24358
24376
  @keyframes react-loading-skeleton {
24359
24377
  100% {
24360
24378
  transform: translateX(100%);
@@ -24822,4 +24840,57 @@ div.gd-empty-item-bubble {
24822
24840
  white-space: nowrap;
24823
24841
  }
24824
24842
 
24843
+ .gd-visualization-switcher-widget-header {
24844
+ text-align: center;
24845
+ font-size: 17px;
24846
+ line-height: 23px;
24847
+ text-decoration-line: underline;
24848
+ }
24849
+ .gd-visualization-switcher-widget-header::after {
24850
+ content: "\e612";
24851
+ display: inline-block;
24852
+ height: 1px;
24853
+ color: var(--gd-palette-complementary-8, #464e56);
24854
+ vertical-align: top;
24855
+ transition: 0.2s;
24856
+ margin-left: 0.5em;
24857
+ font-family: "Indigo", sans-serif;
24858
+ font-weight: normal;
24859
+ font-size: inherit;
24860
+ }
24861
+ .gd-visualization-switcher-widget-header.is-open::after {
24862
+ content: "\e613";
24863
+ }
24864
+
24865
+ .gd-visualization-switcher-widget-header-list {
24866
+ max-height: 356px;
24867
+ overflow-y: auto;
24868
+ padding: 5px 0;
24869
+ }
24870
+ .gd-visualization-switcher-widget-header-list .gd-visualization-switcher-widget-header-list-container {
24871
+ max-height: 346px;
24872
+ overflow-y: auto;
24873
+ }
24874
+
24875
+ .gd-visualization-switcher-widget-header-item {
24876
+ color: var(--gd-palette-complementary-8, #464e56);
24877
+ font-size: 14px;
24878
+ font-weight: 400;
24879
+ line-height: 20px;
24880
+ text-align: left;
24881
+ height: 33px;
24882
+ padding: 0 10px;
24883
+ }
24884
+ .gd-visualization-switcher-widget-header-item .gd-visualization-switcher-widget-header-item-content {
24885
+ white-space: nowrap;
24886
+ }
24887
+ .gd-visualization-switcher-widget-header-item.is-selected {
24888
+ font-weight: 700;
24889
+ }
24890
+ .gd-visualization-switcher-widget-header-item .title {
24891
+ display: inline-block;
24892
+ width: 100%;
24893
+ white-space: nowrap;
24894
+ }
24895
+
24825
24896
  /*# sourceMappingURL=main.css.map */