@gooddata/sdk-ui-dashboard 11.57.0-alpha.2 → 11.57.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +4 -4
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +1 -1
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.d.ts.map +1 -1
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js +6 -5
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts +1 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +63 -3
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts +2 -3
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +23 -17
- package/esm/model/commandHandlers/widgets/validation/insightDrillDefinitionUtils.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/validation/insightDrillDefinitionUtils.js +5 -9
- package/esm/model/react/useDashboardAsyncRender.js +2 -2
- package/esm/model/react/useDashboardCommand.js +1 -1
- package/esm/model/react/useDashboardQueryProcessing.js +1 -1
- package/esm/model/react/useDispatchDashboardCommand.js +1 -1
- package/esm/model/react/useInitializeDashboardStore.js +1 -1
- package/esm/model/react/useWidgetFilters.js +7 -7
- package/esm/model/store/insights/insightsSelectors.d.ts +18 -0
- package/esm/model/store/insights/insightsSelectors.d.ts.map +1 -1
- package/esm/model/store/insights/insightsSelectors.js +51 -2
- package/esm/model/store/tabs/index.d.ts +12 -0
- package/esm/model/store/tabs/index.d.ts.map +1 -1
- package/esm/model/store/tabs/layout/layoutReducers.d.ts +36 -30
- package/esm/model/store/tabs/layout/layoutReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/layout/layoutReducers.js +19 -0
- package/esm/model/store/tabs/layout/layoutSelectors.d.ts +17 -0
- package/esm/model/store/tabs/layout/layoutSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/layout/layoutSelectors.js +30 -1
- package/esm/model/store/ui/index.d.ts +3 -0
- package/esm/model/store/ui/index.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.d.ts +3 -0
- package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.js +13 -0
- package/esm/model/store/ui/uiSelectors.d.ts +8 -0
- package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
- package/esm/model/store/ui/uiSelectors.js +8 -0
- package/esm/model/store/ui/uiState.d.ts +4 -0
- package/esm/model/store/ui/uiState.d.ts.map +1 -1
- package/esm/model/store/ui/uiState.js +4 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogAttribute.js +1 -1
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFieldLabelWithTooltip.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFieldLabelWithTooltip.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useElementHeightSnapshot.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +3 -3
- package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.js +5 -1
- package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +4 -3
- package/esm/presentation/dragAndDrop/useDashboardDragScroll.js +2 -2
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.d.ts.map +1 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js +16 -23
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/DashboardParametersSection.d.ts.map +1 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/DashboardParametersSection.js +3 -2
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/DisplayFormParam.d.ts.map +1 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/DisplayFormParam.js +2 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/InsightParametersSection.d.ts.map +1 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/InsightParametersSection.js +2 -1
- package/esm/presentation/drill/utils/drillToCustomUrlUtils.d.ts.map +1 -1
- package/esm/presentation/drill/utils/drillToCustomUrlUtils.js +5 -3
- package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js +1 -1
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useTitleConfiguration.js +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/dialog/DateFiltersPage.js +1 -1
- package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +1 -1
- package/esm/presentation/filterBar/filterBar/useFiltersWithAddedPlaceholder.js +1 -1
- package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.js +1 -1
- package/esm/presentation/flexibleLayout/dragAndDrop/DragLayer.js +1 -1
- package/esm/presentation/flexibleLayout/dragAndDrop/Resize/HeightResizerHotspot.js +1 -1
- package/esm/presentation/insightList/InsightList.js +1 -1
- package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.d.ts +5 -0
- package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.d.ts.map +1 -0
- package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.js +29 -0
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +20 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +22 -2
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +2 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +1 -0
- package/esm/presentation/saveAs/DefaultSaveAsDialog/useSaveAs.js +1 -1
- package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.d.ts.map +1 -1
- package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.js +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +4 -4
- package/esm/presentation/widget/common/configuration/useAttributeFilterConfigurationHandling.js +5 -5
- package/esm/presentation/widget/common/configuration/useDateFilterConfigurationHandling.js +5 -5
- package/esm/presentation/widget/common/configuration/useIsSelectedDatasetHidden.js +1 -1
- package/esm/presentation/widget/common/configuration/useMeasureValueFilterConfigurationHandling.js +5 -5
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js +3 -3
- package/esm/presentation/widget/common/useExportHandler.js +1 -1
- package/esm/presentation/widget/common/useImageExportHandler.d.ts.map +1 -1
- package/esm/presentation/widget/common/useImageExportHandler.js +2 -2
- package/esm/presentation/widget/common/useInsightExport.js +11 -11
- package/esm/presentation/widget/common/useInsightWidgetDataView.js +2 -2
- package/esm/presentation/widget/common/useRawExportHandler.js +1 -1
- package/esm/presentation/widget/common/useSlidesExportHandler.js +1 -1
- package/esm/presentation/widget/common/useWidgetHighlighting.js +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js +6 -6
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/useResolveDashboardInsightProperties.js +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/useInvalidAttributeDisplayFormIdentifier.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/useInvalidAttributeDisplayFormIdentifier.js +7 -6
- package/esm/presentation/widget/insight/configuration/DrillTargets/useInvalidFilteringParametersIdentifiers.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/DrillTargets/useInvalidFilteringParametersIdentifiers.js +16 -12
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/useInsightDrillConfigPanel.js +2 -2
- package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.js +2 -2
- package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList/VisualizationListMenu.js +2 -2
- package/esm/presentation/widget/widget/DashboardWidget.js +1 -1
- package/esm/presentation/widget/widget/DefaultDashboardWidget.js +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +1 -1
- package/esm/sdk-ui-dashboard.d.ts +19 -0
- package/package.json +23 -24
- package/styles/css/insightsNotSavedDialog.css +26 -0
- package/styles/css/insightsNotSavedDialog.css.map +1 -0
- package/styles/css/main.css +27 -2
- package/styles/css/main.css.map +1 -1
- package/styles/scss/insightsNotSavedDialog.scss +26 -0
- package/styles/scss/main.scss +1 -0
|
@@ -86,7 +86,7 @@ export const useWidgetHighlighting = (widget) => {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
// We intentionally exclude keepHighlight
|
|
89
|
-
//
|
|
89
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
90
90
|
}, [isHighlighted, automationId, visualizationId, widgetId, retries]);
|
|
91
91
|
// Remove highlight on outside click
|
|
92
92
|
const removeHighlight = useCallback(() => setKeepHighlight(false), []);
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js
CHANGED
|
@@ -65,7 +65,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
65
65
|
const afterRenderCalled = useRef(false);
|
|
66
66
|
useEffect(() => {
|
|
67
67
|
onRequestAsyncRender();
|
|
68
|
-
//
|
|
68
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
69
69
|
}, []);
|
|
70
70
|
// Custom components
|
|
71
71
|
const { ErrorComponent, LoadingComponent } = useDashboardComponentsContext({
|
|
@@ -109,7 +109,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
109
109
|
setIsVisualizationLoading(isLoading);
|
|
110
110
|
onLoadingChanged?.({ isLoading });
|
|
111
111
|
},
|
|
112
|
-
//
|
|
112
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
113
113
|
[onLoadingChanged, executionsHandler.onLoadingChanged, initialRegistered]);
|
|
114
114
|
const handleAfterRender = useCallback(() => {
|
|
115
115
|
if (!afterRenderCalled.current) {
|
|
@@ -117,7 +117,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
117
117
|
onResolveAsyncRender();
|
|
118
118
|
setIsVisualizationInitializing(false);
|
|
119
119
|
}
|
|
120
|
-
//
|
|
120
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
121
121
|
}, [afterRender, onResolveAsyncRender]);
|
|
122
122
|
// Filtering
|
|
123
123
|
const { result: filtersForInsight, status: filtersStatus, error: filtersError, } = useWidgetFilters(widget, insight);
|
|
@@ -129,7 +129,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
129
129
|
*/
|
|
130
130
|
const filtersForInsightHash = stringify(filtersForInsight);
|
|
131
131
|
const insightWithAddedFilters = useMemo(() => insightSetFilters(insight, filtersForInsight),
|
|
132
|
-
//
|
|
132
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
133
133
|
[insight, filtersForInsightHash]);
|
|
134
134
|
const insightWithAddedWidgetProperties = useResolveDashboardInsightProperties({
|
|
135
135
|
insight: insightWithAddedFilters ?? insight,
|
|
@@ -150,7 +150,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
150
150
|
executionsHandler.onPushData(data);
|
|
151
151
|
handlePropertiesPushData(data);
|
|
152
152
|
},
|
|
153
|
-
//
|
|
153
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
154
154
|
[onPushData, executionsHandler.onPushData, handlePropertiesPushData]);
|
|
155
155
|
// Error handling
|
|
156
156
|
const handleError = useCallback((error) => {
|
|
@@ -161,7 +161,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
161
161
|
onResolveAsyncRender();
|
|
162
162
|
setIsVisualizationInitializing(false);
|
|
163
163
|
},
|
|
164
|
-
//
|
|
164
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
165
165
|
[onError, executionsHandler.onError, onResolveAsyncRender]);
|
|
166
166
|
const effectiveError = filtersError ?? visualizationError;
|
|
167
167
|
const execConfig = useWidgetExecConfig(ref, insight);
|
|
@@ -64,7 +64,7 @@ export function DrillDialogInsight({ insight, widget, backend, workspace, drillS
|
|
|
64
64
|
const handleLoadingChanged = useCallback(({ isLoading }) => {
|
|
65
65
|
setIsVisualizationLoading(isLoading);
|
|
66
66
|
onLoadingChanged?.({ isLoading });
|
|
67
|
-
//
|
|
67
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
68
68
|
}, []);
|
|
69
69
|
// Filtering
|
|
70
70
|
const { result: availableFiltersForInsight, status: filtersStatus, error: filtersError, } = useWidgetFilters(widget, insight);
|
|
@@ -6,6 +6,6 @@ import { mergeInsightWithWidgetProperties } from "../../../../_staging/insight/i
|
|
|
6
6
|
*/
|
|
7
7
|
export const useResolveDashboardInsightProperties = (props) => {
|
|
8
8
|
const { widget, insight } = props;
|
|
9
|
-
//
|
|
9
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
10
10
|
return useMemo(() => mergeInsightWithWidgetProperties(insight, widget), [insight, widget.properties]);
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInvalidAttributeDisplayFormIdentifier.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillTargets/useInvalidAttributeDisplayFormIdentifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useInvalidAttributeDisplayFormIdentifier.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillTargets/useInvalidAttributeDisplayFormIdentifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,oBAAoB,EAAmB,MAAM,qBAAqB,CAAC;AAQjF,OAAO,EAAE,KAAK,cAAc,EAA4B,MAAM,4BAA4B,CAAC;AAE3F,wBAAgB,yCAAyC,CACrD,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,UAAU,EAAE,oBAAoB,EAAE,YA0BrC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2020-2026 GoodData Corporation
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
-
import { areObjRefsEqual
|
|
4
|
-
import { getAttributeIdentifiersPlaceholdersFromUrl } from "@gooddata/sdk-model/internal";
|
|
3
|
+
import { areObjRefsEqual } from "@gooddata/sdk-model";
|
|
4
|
+
import { getAttributeIdentifiersPlaceholdersFromUrl, placeholderIdentifierText, } from "@gooddata/sdk-model/internal";
|
|
5
5
|
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
6
6
|
import { selectAllCatalogDisplayFormsMap } from "../../../../../model/store/catalog/catalogSelectors.js";
|
|
7
7
|
import { isDrillToCustomUrlConfig } from "../../../../drill/types.js";
|
|
@@ -10,17 +10,18 @@ export function useInvalidAttributeDisplayFormIdentifiers(urlDrillTarget, attrib
|
|
|
10
10
|
return useMemo(() => {
|
|
11
11
|
if (isDrillToCustomUrlConfig(urlDrillTarget)) {
|
|
12
12
|
const parameters = getAttributeIdentifiersPlaceholdersFromUrl(urlDrillTarget.customUrl);
|
|
13
|
-
return parameters
|
|
14
|
-
.filter(({
|
|
13
|
+
return (parameters
|
|
14
|
+
.filter(({ ref }) => {
|
|
15
15
|
// parameter is invalid if either it points to display form that no longer exists
|
|
16
|
-
const relevantDf = displayForms.get(
|
|
16
|
+
const relevantDf = displayForms.get(ref);
|
|
17
17
|
if (!relevantDf) {
|
|
18
18
|
return false;
|
|
19
19
|
}
|
|
20
20
|
// or if it points to an attribute that is no longer a valid drill target
|
|
21
21
|
return !attributes.some((attribute) => areObjRefsEqual(relevantDf.attribute, attribute.attributeHeader.formOf));
|
|
22
22
|
})
|
|
23
|
-
|
|
23
|
+
// named as it is written in the URL, so the warning quotes text the user can find there
|
|
24
|
+
.map(({ ref }) => placeholderIdentifierText(ref)));
|
|
24
25
|
}
|
|
25
26
|
return [];
|
|
26
27
|
}, [displayForms, urlDrillTarget, attributes]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInvalidFilteringParametersIdentifiers.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillTargets/useInvalidFilteringParametersIdentifiers.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useInvalidFilteringParametersIdentifiers.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/DrillTargets/useInvalidFilteringParametersIdentifiers.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EAG3B,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,EAAE,KAAK,cAAc,EAA4B,MAAM,4BAA4B,CAAC;AAE3F,wBAAgB,wCAAwC,CACpD,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,cAAc,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC9C,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAChD,4BAA4B,EAAE,4BAA4B,EAAE,GAAG,SAAS,EACxE,0BAA0B,EAAE,mBAAmB,EAAE,GAAG,SAAS,EAC7D,gCAAgC,EAAE,OAAO,EACzC,sBAAsB,EAAE,+BAA+B,EAAE,GAAG,SAAS,YAsGxE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// (C) 2020-2026 GoodData Corporation
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
import { uniq } from "lodash-es";
|
|
4
|
-
import { areObjRefsEqual, filterObjRef,
|
|
5
|
-
import { getDashboardAttributeFilterPlaceholdersFromUrl, getDashboardMeasureValueFilterPlaceholdersFromUrl, getInsightAttributeFilterPlaceholdersFromUrl, getInsightMeasureValueFilterPlaceholdersFromUrl, } from "@gooddata/sdk-model/internal";
|
|
4
|
+
import { areObjRefsEqual, filterObjRef, } from "@gooddata/sdk-model";
|
|
5
|
+
import { getDashboardAttributeFilterPlaceholdersFromUrl, getDashboardMeasureValueFilterPlaceholdersFromUrl, getInsightAttributeFilterPlaceholdersFromUrl, getInsightMeasureValueFilterPlaceholdersFromUrl, placeholderIdentifierText, } from "@gooddata/sdk-model/internal";
|
|
6
6
|
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
7
7
|
import { selectAllCatalogDisplayFormsMap, selectAllCatalogMeasuresMap, } from "../../../../../model/store/catalog/catalogSelectors.js";
|
|
8
8
|
import { dashboardMeasureValueFilterMatchesIdentifier, insightMeasureValueFilterMatchesIdentifier, } from "../../../../../model/utils/measureValueFilterUtils.js";
|
|
@@ -17,33 +17,37 @@ export function useInvalidFilteringParametersIdentifiers(urlDrillTarget, insight
|
|
|
17
17
|
const dashboardMeasureValueFilterParameters = getDashboardMeasureValueFilterPlaceholdersFromUrl(urlDrillTarget.customUrl);
|
|
18
18
|
const insightMeasureValueFilterParameters = getInsightMeasureValueFilterPlaceholdersFromUrl(urlDrillTarget.customUrl);
|
|
19
19
|
const invalidDashboardParameters = dashboardAttributeFilterParameters
|
|
20
|
-
|
|
20
|
+
// The placeholder's own ref is used rather than a display-form one rebuilt from the
|
|
21
|
+
// identifier: a computed attribute shares the shape of a display form but not its type,
|
|
22
|
+
// and the filters are sanitized to that same typed ref.
|
|
23
|
+
.filter(({ ref }) => {
|
|
21
24
|
// parameter is invalid if either it points to display form that no longer exists
|
|
22
|
-
const relevantDf = displayForms.get(
|
|
25
|
+
const relevantDf = displayForms.get(ref);
|
|
23
26
|
if (!relevantDf) {
|
|
24
27
|
return true;
|
|
25
28
|
}
|
|
26
29
|
return (!dashboardFilters?.some((filter) => {
|
|
27
|
-
return areObjRefsEqual(filterObjRef(filter),
|
|
30
|
+
return areObjRefsEqual(filterObjRef(filter), ref);
|
|
28
31
|
}) &&
|
|
29
32
|
!attributeFilterConfigs?.some((config) => {
|
|
30
|
-
return (config.displayAsLabel
|
|
31
|
-
areObjRefsEqual(config.displayAsLabel, idRef(identifier, "displayForm")));
|
|
33
|
+
return config.displayAsLabel && areObjRefsEqual(config.displayAsLabel, ref);
|
|
32
34
|
}));
|
|
33
35
|
})
|
|
34
|
-
|
|
36
|
+
// named as it is written in the URL, so the warning quotes text the user can find there
|
|
37
|
+
.map(({ ref }) => placeholderIdentifierText(ref));
|
|
35
38
|
const invalidInsightParameters = insightAttributeFilterParameters
|
|
36
|
-
.filter(({
|
|
39
|
+
.filter(({ ref }) => {
|
|
37
40
|
// parameter is invalid if either it points to display form that no longer exists
|
|
38
|
-
const relevantDf = displayForms.get(
|
|
41
|
+
const relevantDf = displayForms.get(ref);
|
|
39
42
|
if (!relevantDf) {
|
|
40
43
|
return true;
|
|
41
44
|
}
|
|
42
45
|
return !insightFilters?.some((filter) => {
|
|
43
|
-
return areObjRefsEqual(filterObjRef(filter),
|
|
46
|
+
return areObjRefsEqual(filterObjRef(filter), ref);
|
|
44
47
|
});
|
|
45
48
|
})
|
|
46
|
-
|
|
49
|
+
// named as it is written in the URL, so the warning quotes text the user can find there
|
|
50
|
+
.map(({ ref }) => placeholderIdentifierText(ref));
|
|
47
51
|
const invalidDashboardMvfParameters = dashboardMeasureValueFilterParameters
|
|
48
52
|
.filter(({ identifier }) => {
|
|
49
53
|
return !dashboardMeasureValueFilters?.some((filter) => dashboardMeasureValueFilterMatchesIdentifier(filter.dashboardMeasureValueFilter.measure, identifier, measures));
|
|
@@ -76,13 +76,13 @@ export const useInsightDrillConfigPanel = (props) => {
|
|
|
76
76
|
return availableDrillTargets
|
|
77
77
|
? getMappedConfigForWidget(widgetDrills, availableDrillTargets, invalidCustomUrlDrillLocalIds, widgetRef)
|
|
78
78
|
: [];
|
|
79
|
-
//
|
|
79
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
80
80
|
}, [availableDrillTargets, widgetDrills, invalidCustomUrlDrillLocalIds]);
|
|
81
81
|
const globalDrillDownItems = useMemo(() => {
|
|
82
82
|
return availableDrillTargets
|
|
83
83
|
? getGlobalDrillDownMappedConfigForWidget(widgetGlobalDrillDowns, availableDrillTargets, widget)
|
|
84
84
|
: [];
|
|
85
|
-
//
|
|
85
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
86
86
|
}, [widgetGlobalDrillDowns, availableDrillTargets]);
|
|
87
87
|
const drillToUrlItems = useMemo(() => {
|
|
88
88
|
return availableDrillTargets
|
|
@@ -67,7 +67,7 @@ export function Toolbar({ widget, onVisualizationsChanged, onVisualizationAdded,
|
|
|
67
67
|
onVisualizationsChanged(updatedVisualizations);
|
|
68
68
|
userInteraction.visualizationSwitcherInteraction("visualizationSwitcherOrderChanged");
|
|
69
69
|
},
|
|
70
|
-
//
|
|
70
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
71
71
|
[onVisualizationsChanged, visualizations]);
|
|
72
72
|
const showVisualizationsList = () => {
|
|
73
73
|
setVisualizationsListVisible(true);
|
|
@@ -82,7 +82,7 @@ export function Toolbar({ widget, onVisualizationsChanged, onVisualizationAdded,
|
|
|
82
82
|
setVisualizationsListVisible(false);
|
|
83
83
|
userInteraction.visualizationSwitcherInteraction("visualizationSwitcherVisualizationDetailOpened");
|
|
84
84
|
},
|
|
85
|
-
//
|
|
85
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
86
86
|
[onSelectedVisualizationChanged]);
|
|
87
87
|
const activeVisualization = visualizations.find((visualization) => visualization.identifier === activeVisualizationId);
|
|
88
88
|
const shouldShowVisualizationsList = isVisualizationsListVisible || !activeVisualization;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2024-
|
|
2
|
+
// (C) 2024-2026 GoodData Corporation
|
|
3
3
|
import { useCallback } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
@@ -15,7 +15,7 @@ export function VisualizationListMenu({ alignTo, isLast, isFirst, visualization,
|
|
|
15
15
|
onVisualizationPositionChange(visualization.identifier, direction);
|
|
16
16
|
onMenuButtonClick();
|
|
17
17
|
},
|
|
18
|
-
//
|
|
18
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
19
19
|
[visualization.identifier]);
|
|
20
20
|
return (_jsx(Overlay, { alignTo: alignTo, alignPoints: menuAlignPoints, className: "gd-more-menu-overlay", closeOnMouseDrag: true, closeOnOutsideClick: true, onClose: onMenuButtonClick, children: _jsxs(ItemsWrapper, { smallItemsSpacing: true, className: ".s-visualization-switcher-more-menu", children: [shouldRenderActions ? (_jsxs(_Fragment, { children: [_jsx(VisualizationListMenuItem, { className: cx("gd-vis-switcher-show-more-item", { "is-disabled": isFirst }), disabled: isFirst, onClick: () => {
|
|
21
21
|
handleOnVisualizationPositionChange(isFirst, "moveUp");
|
|
@@ -52,7 +52,7 @@ export function DashboardWidget(props) {
|
|
|
52
52
|
}
|
|
53
53
|
console.warn(`Unable to render widget ${extendedWidgetDebugStr(widget)}`);
|
|
54
54
|
return BadWidgetType;
|
|
55
|
-
//
|
|
55
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
56
56
|
}, [widget]);
|
|
57
57
|
return (_jsx(WidgetComponent, { ...props,
|
|
58
58
|
// @ts-expect-error Don't expose index prop on public interface (we need it only for css class for KD tests)
|
|
@@ -75,7 +75,7 @@ index, parentLayoutItemSize, parentLayoutPath, rowIndex, exportData, }) {
|
|
|
75
75
|
onError(error, executionId);
|
|
76
76
|
},
|
|
77
77
|
});
|
|
78
|
-
//
|
|
78
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
79
79
|
}, [effectiveBackend, dispatchEvent, safeSerializeObjRef(ref)]);
|
|
80
80
|
if (isWidget(widget)) {
|
|
81
81
|
return (_jsx(BackendProvider, { backend: backendWithEventing, children: _jsx(WidgetComponent, { widget: widget, screen: screen, index: index, parentLayoutPath: parentLayoutPath, onFiltersChange: onFiltersChange, onError: onError, rowIndex: rowIndex, exportData: exportData }) }));
|
|
@@ -96,7 +96,7 @@ function useDefaultMenuItems(config, setIsMenuOpen) {
|
|
|
96
96
|
exportPdfTabularDisabled,
|
|
97
97
|
disabledReason,
|
|
98
98
|
}, execution);
|
|
99
|
-
//
|
|
99
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
100
100
|
}, [
|
|
101
101
|
intl,
|
|
102
102
|
exportCSVEnabled,
|
|
@@ -23348,6 +23348,10 @@ export declare interface IUiState {
|
|
|
23348
23348
|
saveAsDialog: {
|
|
23349
23349
|
open: boolean;
|
|
23350
23350
|
};
|
|
23351
|
+
insightNotSavedDialog: {
|
|
23352
|
+
open: boolean;
|
|
23353
|
+
saveConfirmed: boolean;
|
|
23354
|
+
};
|
|
23351
23355
|
settingsDialog: {
|
|
23352
23356
|
open: boolean;
|
|
23353
23357
|
};
|
|
@@ -31796,6 +31800,18 @@ newSize?: IVisualizationSizeInfo;
|
|
|
31796
31800
|
};
|
|
31797
31801
|
type: string;
|
|
31798
31802
|
}) => void | ITabsState | WritableDraft<ITabsState>;
|
|
31803
|
+
readonly replaceInsightWidgetInsightForTab: (state: WritableDraft<ITabsState>, action: {
|
|
31804
|
+
payload: {
|
|
31805
|
+
ref: ObjRef;
|
|
31806
|
+
insightRef: ObjRef;
|
|
31807
|
+
properties: VisualizationProperties | undefined;
|
|
31808
|
+
header: IWidgetHeader | undefined;
|
|
31809
|
+
newSize?: IVisualizationSizeInfo;
|
|
31810
|
+
} & IUndoPayload<IDashboardCommand> & {
|
|
31811
|
+
tabId: string;
|
|
31812
|
+
};
|
|
31813
|
+
type: string;
|
|
31814
|
+
}) => void | ITabsState | WritableDraft<ITabsState>;
|
|
31799
31815
|
readonly replaceWidgetFilterSettings: (state: WritableDraft<ITabsState>, action: {
|
|
31800
31816
|
payload: IUndoPayload<IDashboardCommand> & {
|
|
31801
31817
|
ref: ObjRef;
|
|
@@ -32057,6 +32073,9 @@ export declare const uiActions: {
|
|
|
32057
32073
|
closeAlertingDialog: ActionCreatorWithoutPayload<"uiSlice/closeAlertingDialog">;
|
|
32058
32074
|
openSaveAsDialog: ActionCreatorWithoutPayload<"uiSlice/openSaveAsDialog">;
|
|
32059
32075
|
closeSaveAsDialog: ActionCreatorWithoutPayload<"uiSlice/closeSaveAsDialog">;
|
|
32076
|
+
openInsightNotSavedDialog: ActionCreatorWithoutPayload<"uiSlice/openInsightNotSavedDialog">;
|
|
32077
|
+
closeInsightNotSavedDialog: ActionCreatorWithoutPayload<"uiSlice/closeInsightNotSavedDialog">;
|
|
32078
|
+
confirmInsightNotSavedDialogSubmit: ActionCreatorWithoutPayload<"uiSlice/confirmInsightNotSavedDialogSubmit">;
|
|
32060
32079
|
setFilterBarExpanded: ActionCreatorWithPayload<boolean, "uiSlice/setFilterBarExpanded">;
|
|
32061
32080
|
closeKpiAlertDialog: ActionCreatorWithoutPayload<"uiSlice/closeKpiAlertDialog">;
|
|
32062
32081
|
openKpiAlertDialog: ActionCreatorWithPayload<ObjRef, "uiSlice/openKpiAlertDialog">;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-dashboard",
|
|
3
|
-
"version": "11.57.0-alpha.
|
|
3
|
+
"version": "11.57.0-alpha.4",
|
|
4
4
|
"description": "GoodData SDK - Dashboard Component",
|
|
5
5
|
"license": "LicenseRef-LICENSE",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -60,20 +60,20 @@
|
|
|
60
60
|
"ts-invariant": "0.10.3",
|
|
61
61
|
"tslib": "2.8.1",
|
|
62
62
|
"uuid": "11.1.1",
|
|
63
|
-
"@gooddata/sdk-backend-base": "11.57.0-alpha.
|
|
64
|
-
"@gooddata/sdk-model": "11.57.0-alpha.
|
|
65
|
-
"@gooddata/sdk-
|
|
66
|
-
"@gooddata/sdk-
|
|
67
|
-
"@gooddata/sdk-ui": "11.57.0-alpha.
|
|
68
|
-
"@gooddata/sdk-ui-
|
|
69
|
-
"@gooddata/sdk-ui-filters": "11.57.0-alpha.
|
|
70
|
-
"@gooddata/sdk-ui-
|
|
71
|
-
"@gooddata/sdk-ui-
|
|
72
|
-
"@gooddata/sdk-ui-pivot": "11.57.0-alpha.
|
|
73
|
-
"@gooddata/sdk-ui-semantic-search": "11.57.0-alpha.
|
|
74
|
-
"@gooddata/sdk-ui-theme-provider": "11.57.0-alpha.
|
|
75
|
-
"@gooddata/sdk-ui-vis-commons": "11.57.0-alpha.
|
|
76
|
-
"@gooddata/util": "11.57.0-alpha.
|
|
63
|
+
"@gooddata/sdk-backend-base": "11.57.0-alpha.4",
|
|
64
|
+
"@gooddata/sdk-model": "11.57.0-alpha.4",
|
|
65
|
+
"@gooddata/sdk-ui-charts": "11.57.0-alpha.4",
|
|
66
|
+
"@gooddata/sdk-backend-spi": "11.57.0-alpha.4",
|
|
67
|
+
"@gooddata/sdk-ui": "11.57.0-alpha.4",
|
|
68
|
+
"@gooddata/sdk-ui-ext": "11.57.0-alpha.4",
|
|
69
|
+
"@gooddata/sdk-ui-filters": "11.57.0-alpha.4",
|
|
70
|
+
"@gooddata/sdk-ui-geo": "11.57.0-alpha.4",
|
|
71
|
+
"@gooddata/sdk-ui-kit": "11.57.0-alpha.4",
|
|
72
|
+
"@gooddata/sdk-ui-pivot": "11.57.0-alpha.4",
|
|
73
|
+
"@gooddata/sdk-ui-semantic-search": "11.57.0-alpha.4",
|
|
74
|
+
"@gooddata/sdk-ui-theme-provider": "11.57.0-alpha.4",
|
|
75
|
+
"@gooddata/sdk-ui-vis-commons": "11.57.0-alpha.4",
|
|
76
|
+
"@gooddata/util": "11.57.0-alpha.4"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@microsoft/api-documenter": "7.30.10",
|
|
@@ -99,14 +99,13 @@
|
|
|
99
99
|
"eslint-plugin-no-barrel-files": "1.2.2",
|
|
100
100
|
"eslint-plugin-no-only-tests": "3.3.0",
|
|
101
101
|
"eslint-plugin-react": "7.37.5",
|
|
102
|
-
"eslint-plugin-react-hooks": "5.2.0",
|
|
103
102
|
"eslint-plugin-sonarjs": "3.0.6",
|
|
104
103
|
"happy-dom": "20.12.0",
|
|
105
104
|
"npm-run-all": "4.1.5",
|
|
106
105
|
"oxfmt": "0.66.0",
|
|
107
|
-
"oxlint": "1.
|
|
106
|
+
"oxlint": "1.82.0",
|
|
108
107
|
"oxlint-plugin-eslint": "1.82.0",
|
|
109
|
-
"oxlint-tsgolint": "0.
|
|
108
|
+
"oxlint-tsgolint": "0.22.1",
|
|
110
109
|
"raf": "3.4.1",
|
|
111
110
|
"react": "19.1.1",
|
|
112
111
|
"react-dom": "19.1.1",
|
|
@@ -116,12 +115,12 @@
|
|
|
116
115
|
"typescript": "7.0.2",
|
|
117
116
|
"vitest": "4.1.8",
|
|
118
117
|
"vitest-dom": "0.1.1",
|
|
119
|
-
"@gooddata/eslint-config": "11.57.0-alpha.
|
|
120
|
-
"@gooddata/i18n-toolkit": "11.57.0-alpha.
|
|
121
|
-
"@gooddata/oxlint-config": "11.57.0-alpha.
|
|
122
|
-
"@gooddata/reference-workspace": "11.57.0-alpha.
|
|
123
|
-
"@gooddata/
|
|
124
|
-
"@gooddata/
|
|
118
|
+
"@gooddata/eslint-config": "11.57.0-alpha.4",
|
|
119
|
+
"@gooddata/i18n-toolkit": "11.57.0-alpha.4",
|
|
120
|
+
"@gooddata/oxlint-config": "11.57.0-alpha.4",
|
|
121
|
+
"@gooddata/reference-workspace": "11.57.0-alpha.4",
|
|
122
|
+
"@gooddata/stylelint-config": "11.57.0-alpha.4",
|
|
123
|
+
"@gooddata/sdk-backend-mockingbird": "11.57.0-alpha.4"
|
|
125
124
|
},
|
|
126
125
|
"peerDependencies": {
|
|
127
126
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* allow vendor prefixes and disable max length */
|
|
2
|
+
/* allow vendor prefixes and disable max length */
|
|
3
|
+
/* ==========================================================================
|
|
4
|
+
Variables, mixins, silent classes etc.
|
|
5
|
+
========================================================================== */
|
|
6
|
+
.gdc-insight-not-saved-dialog {
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
align-items: flex-start;
|
|
10
|
+
gap: 10px;
|
|
11
|
+
}
|
|
12
|
+
.gdc-insight-not-saved-dialog .gd-ui-kit-button {
|
|
13
|
+
font-weight: 700;
|
|
14
|
+
}
|
|
15
|
+
.gdc-insight-not-saved-dialog ul {
|
|
16
|
+
padding: 0;
|
|
17
|
+
margin: -5px 0 0 18px;
|
|
18
|
+
list-style: none;
|
|
19
|
+
}
|
|
20
|
+
.gdc-insight-not-saved-dialog ul li {
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
gap: 5px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/*# sourceMappingURL=insightsNotSavedDialog.css.map */
|
|
@@ -0,0 +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/insightsNotSavedDialog.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACjLA;AAAA;AAAA;ACDA;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA","file":"insightsNotSavedDialog.css"}
|
package/styles/css/main.css
CHANGED
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
--gd-palette-primary-base-d06: #129cc6;
|
|
236
236
|
--gd-palette-primary-base-d12: #0f86aa;
|
|
237
237
|
--gd-palette-primary-base-darken20: #0c6884;
|
|
238
|
-
--gd-palette-primary-base-dimmed-darken03: #
|
|
238
|
+
--gd-palette-primary-base-dimmed-darken03: #daf3fa;
|
|
239
239
|
--gd-palette-primary-base-lighten45: #dff5fc;
|
|
240
240
|
--gd-palette-primary-base-mix15-white: rgba(220, 243, 251, 0.925);
|
|
241
241
|
--gd-palette-primary-base-t02: rgba(20, 178, 226, 0.98);
|
|
@@ -288,12 +288,15 @@
|
|
|
288
288
|
--gd-spacing-16px: 16px;
|
|
289
289
|
--gd-spacing-34px: 34px;
|
|
290
290
|
--gd-transition-all: all 0.25s ease-in-out;
|
|
291
|
+
--gd-geo-multi-layer-legend__section-header-height: 34px;
|
|
292
|
+
--gd-geo-multi-layer-legend__toggle-duration: 0.2s;
|
|
293
|
+
--gd-viz-tooltip-max-height: none;
|
|
294
|
+
--gd-avatar-background-color: var(--gd-palette-complementary-2);
|
|
291
295
|
--gd-button-XXL: 55px;
|
|
292
296
|
--gd-button-XL: 45px;
|
|
293
297
|
--gd-button-L: 38px;
|
|
294
298
|
--gd-button-M: 32px;
|
|
295
299
|
--gd-button-S: 27px;
|
|
296
|
-
--gd-button-XS: 21px;
|
|
297
300
|
--gd-icon-fill-color: var(--gd-palette-complementary-9);
|
|
298
301
|
--gd-icon-background-color: var(--gd-palette-complementary-2);
|
|
299
302
|
--gd-tabs-height-L: 56px;
|
|
@@ -313,6 +316,8 @@
|
|
|
313
316
|
--gd-table-multi-line-line-height-large: 23px;
|
|
314
317
|
--gd-table-dropdown-item-height: 28px;
|
|
315
318
|
--gd-table-title-font-size: 24px;
|
|
319
|
+
--gd-toolbar-borderRadius: 2px;
|
|
320
|
+
--gd-tooltip-maxWidth: 300px;
|
|
316
321
|
}
|
|
317
322
|
|
|
318
323
|
.animation-fadeIn,
|
|
@@ -33328,4 +33333,24 @@ body.gd-kda-dialog-opened .highcharts-tooltip-container {
|
|
|
33328
33333
|
z-index: 6111 !important;
|
|
33329
33334
|
}
|
|
33330
33335
|
|
|
33336
|
+
.gdc-insight-not-saved-dialog {
|
|
33337
|
+
display: flex;
|
|
33338
|
+
flex-direction: column;
|
|
33339
|
+
align-items: flex-start;
|
|
33340
|
+
gap: 10px;
|
|
33341
|
+
}
|
|
33342
|
+
.gdc-insight-not-saved-dialog .gd-ui-kit-button {
|
|
33343
|
+
font-weight: 700;
|
|
33344
|
+
}
|
|
33345
|
+
.gdc-insight-not-saved-dialog ul {
|
|
33346
|
+
padding: 0;
|
|
33347
|
+
margin: -5px 0 0 18px;
|
|
33348
|
+
list-style: none;
|
|
33349
|
+
}
|
|
33350
|
+
.gdc-insight-not-saved-dialog ul li {
|
|
33351
|
+
display: flex;
|
|
33352
|
+
align-items: center;
|
|
33353
|
+
gap: 5px;
|
|
33354
|
+
}
|
|
33355
|
+
|
|
33331
33356
|
/*# sourceMappingURL=main.css.map */
|