chore(ui): lint (circular deps)

This commit is contained in:
psychedelicious
2024-09-18 11:43:58 +10:00
committed by Kent Keirsey
parent ed7cfa73e4
commit 657f32bdb5
5 changed files with 26 additions and 20 deletions

View File

@@ -1,7 +1,8 @@
import { isAnyOf } from '@reduxjs/toolkit';
import { logger } from 'app/logging/logger';
import type { AppStartListening } from 'app/store/middleware/listenerMiddleware';
import { canvasReset, rasterLayerAdded } from 'features/controlLayers/store/canvasSlice';
import { canvasReset } from 'features/controlLayers/store/actions';
import { rasterLayerAdded } from 'features/controlLayers/store/canvasSlice';
import { stagingAreaImageAccepted, stagingAreaReset } from 'features/controlLayers/store/canvasStagingAreaSlice';
import { selectCanvasSlice } from 'features/controlLayers/store/selectors';
import type { CanvasRasterLayerState } from 'features/controlLayers/store/types';

View File

@@ -1,7 +1,7 @@
import { IconButton } from '@invoke-ai/ui-library';
import { useAppDispatch } from 'app/store/storeHooks';
import { useCanvasManager } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
import { canvasReset } from 'features/controlLayers/store/canvasSlice';
import { canvasReset } from 'features/controlLayers/store/actions';
import { memo, useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { PiTrashBold } from 'react-icons/pi';

View File

@@ -0,0 +1,4 @@
import { createAction } from '@reduxjs/toolkit';
// Needed to split this from canvasSlice.ts to avoid circular dependencies
export const canvasReset = createAction('canvas/canvasReset');

View File

@@ -6,6 +6,7 @@ import { deepClone } from 'common/util/deepClone';
import { roundDownToMultiple, roundToMultiple } from 'common/util/roundDownToMultiple';
import type { CanvasManager } from 'features/controlLayers/konva/CanvasManager';
import { getPrefixedId } from 'features/controlLayers/konva/util';
import { canvasReset } from 'features/controlLayers/store/actions';
import { modelChanged } from 'features/controlLayers/store/paramsSlice';
import {
selectAllEntities,
@@ -1033,22 +1034,6 @@ export const canvasSlice = createSlice({
break;
}
},
canvasReset: (state) => {
const newState = getInitialState();
// We need to retain the optimal dimension across resets, as it is changed only when the model changes. Copy it
// from the old state, then recalculate the bbox size & scaled size.
newState.bbox.optimalDimension = state.bbox.optimalDimension;
const rect = calculateNewSize(
newState.bbox.aspectRatio.value,
newState.bbox.optimalDimension * newState.bbox.optimalDimension
);
newState.bbox.rect.width = rect.width;
newState.bbox.rect.height = rect.height;
syncScaledSize(newState);
return newState;
},
canvasUndo: () => {},
canvasRedo: () => {},
canvasClearHistory: () => {},
@@ -1074,11 +1059,27 @@ export const canvasSlice = createSlice({
syncScaledSize(state);
}
});
builder.addCase(canvasReset, (state) => {
const newState = getInitialState();
// We need to retain the optimal dimension across resets, as it is changed only when the model changes. Copy it
// from the old state, then recalculate the bbox size & scaled size.
newState.bbox.optimalDimension = state.bbox.optimalDimension;
const rect = calculateNewSize(
newState.bbox.aspectRatio.value,
newState.bbox.optimalDimension * newState.bbox.optimalDimension
);
newState.bbox.rect.width = rect.width;
newState.bbox.rect.height = rect.height;
syncScaledSize(newState);
return newState;
});
},
});
export const {
canvasReset,
canvasUndo,
canvasRedo,
canvasClearHistory,

View File

@@ -1,7 +1,7 @@
import { createSelector, createSlice, type PayloadAction } from '@reduxjs/toolkit';
import type { PersistConfig, RootState } from 'app/store/store';
import { deepClone } from 'common/util/deepClone';
import { canvasReset } from 'features/controlLayers/store/canvasSlice';
import { canvasReset } from 'features/controlLayers/store/actions';
import type { StagingAreaImage } from 'features/controlLayers/store/types';
import { selectCanvasQueueCounts } from 'services/api/endpoints/queue';