Skip to content

Commit f632606

Browse files
committed
fix: Start analyzing the download interface request twice
1 parent d315208 commit f632606

File tree

5 files changed

+25
-15
lines changed

5 files changed

+25
-15
lines changed

frontend/src/app/components/ChartEditor.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import {
4242
SaveFormContext,
4343
useSaveFormContext,
4444
} from 'app/pages/MainPage/pages/VizPage/SaveFormContext';
45-
import { useMainSlice } from 'app/pages/MainPage/slice';
4645
import { IChart } from 'app/types/Chart';
4746
import { ChartDTO } from 'app/types/ChartDTO';
4847
import { makeDownloadDataTask } from 'app/utils/fetch';
@@ -103,7 +102,6 @@ export const ChartEditor: React.FC<ChartEditorProps> = ({
103102
}) => {
104103
const saveFormContextValue = useSaveFormContext();
105104
const { actions } = useWorkbenchSlice();
106-
const { actions: mainActions } = useMainSlice();
107105
const dispatch = useDispatch();
108106
const dataset = useSelector(datasetsSelector);
109107
const dataview = useSelector(currentDataViewSelector);
@@ -477,7 +475,7 @@ export const ChartEditor: React.FC<ChartEditorProps> = ({
477475
],
478476
fileName: backendChart?.name || 'chart',
479477
resolve: () => {
480-
dispatch(mainActions.setDownloadPolling(true));
478+
dispatch(actions.setChartEditorDownloadPolling(true));
481479
},
482480
}),
483481
);
@@ -489,7 +487,7 @@ export const ChartEditor: React.FC<ChartEditorProps> = ({
489487
dataChartId,
490488
dataview,
491489
dispatch,
492-
mainActions,
490+
actions,
493491
widgetId,
494492
]);
495493

frontend/src/app/pages/ChartWorkbenchPage/components/ChartHeaderPanel/ChartHeaderPanel.tsx

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ import { Button, Space } from 'antd';
2020
import SaveToDashboard from 'app/components/SaveToDashboard';
2121
import useI18NPrefix from 'app/hooks/useI18NPrefix';
2222
import useMount from 'app/hooks/useMount';
23-
import { backendChartSelector } from 'app/pages/ChartWorkbenchPage/slice/workbenchSlice';
23+
import {
24+
backendChartSelector,
25+
selectChartEditorDownloadPolling,
26+
useWorkbenchSlice,
27+
} from 'app/pages/ChartWorkbenchPage/slice/workbenchSlice';
2428
import { DownloadListPopup } from 'app/pages/MainPage/Navbar/DownloadListPopup';
2529
import { loadTasks } from 'app/pages/MainPage/Navbar/service';
2630
import { selectHasVizFetched } from 'app/pages/MainPage/pages/VizPage/slice/selectors';
2731
import { getFolders } from 'app/pages/MainPage/pages/VizPage/slice/thunks';
28-
import { useMainSlice } from 'app/pages/MainPage/slice';
29-
import { selectDownloadPolling } from 'app/pages/MainPage/slice/selectors';
3032
import { downloadFile } from 'app/utils/fetch';
3133
import { FC, memo, useCallback, useState } from 'react';
3234
import { useDispatch, useSelector } from 'react-redux';
@@ -61,9 +63,9 @@ const ChartHeaderPanel: FC<{
6163
const hasVizFetched = useSelector(selectHasVizFetched);
6264
const [isModalVisible, setIsModalVisible] = useState<boolean>(false);
6365
const backendChart = useSelector(backendChartSelector);
64-
const downloadPolling = useSelector(selectDownloadPolling);
66+
const downloadPolling = useSelector(selectChartEditorDownloadPolling);
6567
const dispatch = useDispatch();
66-
const { actions } = useMainSlice();
68+
const { actions } = useWorkbenchSlice();
6769

6870
const handleModalOk = useCallback(
6971
(dashboardId: string, dashboardType: string) => {
@@ -79,7 +81,7 @@ const ChartHeaderPanel: FC<{
7981

8082
const onSetPolling = useCallback(
8183
(polling: boolean) => {
82-
dispatch(actions.setDownloadPolling(polling));
84+
dispatch(actions.setChartEditorDownloadPolling(polling));
8385
},
8486
[dispatch, actions],
8587
);
@@ -90,6 +92,7 @@ const ChartHeaderPanel: FC<{
9092
dispatch(getFolders(orgId as string));
9193
}
9294
});
95+
9396
return (
9497
<Wrapper>
9598
<h1>{chartName}</h1>
@@ -101,7 +104,7 @@ const ChartHeaderPanel: FC<{
101104
onDownloadFile={item => {
102105
if (item.id) {
103106
downloadFile(item.id).then(() => {
104-
dispatch(actions.setDownloadPolling(true));
107+
dispatch(actions.setChartEditorDownloadPolling(true));
105108
});
106109
}
107110
}}

frontend/src/app/pages/ChartWorkbenchPage/components/ChartOperationPanel/components/ChartPresentPanel/components/Chart404Graph.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ export default Chart404Graph;
6161
const StyledChart404Graph = styled.div`
6262
display: flex;
6363
flex-flow: column;
64-
justify-content: center;
6564
align-items: center;
65+
justify-content: center;
6666
height: 100%;
6767
opacity: 0.3;
6868
`;

frontend/src/app/pages/ChartWorkbenchPage/slice/workbenchSlice.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export type WorkbenchState = {
7979
backendChartId?: string;
8080
aggregation?: boolean;
8181
datasetLoading: boolean;
82+
chartEditorDownloadPolling: boolean;
8283
};
8384

8485
const initState: WorkbenchState = {
@@ -88,6 +89,7 @@ const initState: WorkbenchState = {
8889
dataset: {},
8990
aggregation: true,
9091
datasetLoading: false,
92+
chartEditorDownloadPolling: false,
9193
};
9294

9395
// Selectors
@@ -143,6 +145,11 @@ export const datasetLoadingSelector = createSelector(
143145
workbenchSelector,
144146
wb => wb.datasetLoading,
145147
);
148+
149+
export const selectChartEditorDownloadPolling = createSelector(
150+
workbenchSelector,
151+
wb => wb.chartEditorDownloadPolling,
152+
);
146153
// Effects
147154
export const initWorkbenchAction = createAsyncThunk(
148155
'workbench/initWorkbenchAction',
@@ -443,6 +450,9 @@ const workbenchSlice = createSlice({
443450
resetWorkbenchState: (state, action) => {
444451
return initState;
445452
},
453+
setChartEditorDownloadPolling(state, { payload }: PayloadAction<boolean>) {
454+
state.chartEditorDownloadPolling = payload;
455+
},
446456
},
447457
extraReducers: builder => {
448458
builder

frontend/src/app/pages/MainPage/pages/VizPage/ChartPreview/ChartPreview.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,6 @@ const StyledChartPreviewBoard = styled.div`
357357
flex: 1;
358358
flex-flow: column;
359359
height: 100%;
360-
361360
iframe {
362361
flex-grow: 1000;
363362
}
@@ -368,16 +367,16 @@ const PreviewBlock = styled.div`
368367
flex-direction: column;
369368
height: 100%;
370369
padding: ${SPACE_LG};
371-
box-shadow: ${p => p.theme.shadowBlock};
372370
overflow: hidden;
371+
box-shadow: ${p => p.theme.shadowBlock};
373372
`;
374373

375374
const ChartWrapper = styled.div`
375+
position: relative;
376376
display: flex;
377377
flex: 1;
378378
background-color: ${p => p.theme.componentBackground};
379379
border-radius: ${BORDER_RADIUS};
380-
position: relative;
381380
.spinWrapper {
382381
width: 100%;
383382
height: 100%;

0 commit comments

Comments
 (0)