Skip to content

Commit 8811a13

Browse files
author
Attila Cseh
committed
tabSlice created
1 parent db15c54 commit 8811a13

File tree

76 files changed

+391
-310
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+391
-310
lines changed

invokeai/frontend/web/src/app/store/middleware/actionContextMiddleware.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import type { Middleware, UnknownAction } from '@reduxjs/toolkit';
22
import { injectTabActionContext } from 'app/store/util';
33
import { isCanvasInstanceAction } from 'features/controlLayers/store/canvasSlice';
4-
import { isTabParamsStateAction } from 'features/controlLayers/store/paramsSlice';
5-
import { selectActiveCanvasId } from 'features/controlLayers/store/selectors';
6-
import { selectActiveTab } from 'features/ui/store/uiSelectors';
4+
import { selectActiveCanvasId, selectActiveTab } from 'features/controlLayers/store/selectors';
5+
import { isTabInstanceParamsAction } from 'features/controlLayers/store/tabSlice';
76

87
export const actionContextMiddleware: Middleware = (store) => (next) => (action) => {
98
const currentAction = action as UnknownAction;
@@ -20,5 +19,5 @@ export const actionContextMiddleware: Middleware = (store) => (next) => (action)
2019
};
2120

2221
const isTabActionContextRequired = (action: UnknownAction) => {
23-
return isTabParamsStateAction(action) || isCanvasInstanceAction(action);
22+
return isTabInstanceParamsAction(action) || isCanvasInstanceAction(action);
2423
};

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
buildSelectIsStagingBySessionId,
77
selectActiveCanvasStagingAreaSessionId,
88
} from 'features/controlLayers/store/canvasStagingAreaSlice';
9-
import { loraIsEnabledChanged } from 'features/controlLayers/store/lorasSlice';
9+
import { loraIsEnabledChanged, selectAddedLoRAs } from 'features/controlLayers/store/lorasSlice';
1010
import { selectActiveTabParams, syncedToOptimalDimension, vaeSelected } from 'features/controlLayers/store/paramsSlice';
1111
import { refImageModelChanged, selectReferenceImageEntities } from 'features/controlLayers/store/refImagesSlice';
1212
import {
@@ -55,7 +55,7 @@ export const addModelSelectedListener = (startAppListening: AppStartListening) =
5555
let modelsUpdatedDisabledOrCleared = 0;
5656

5757
// handle incompatible loras
58-
state.loras.loras.forEach((lora) => {
58+
selectAddedLoRAs(state).forEach((lora) => {
5959
if (lora.model.base !== newBase) {
6060
dispatch(loraIsEnabledChanged({ id: lora.id, isEnabled: false }));
6161
modelsUpdatedDisabledOrCleared += 1;

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { logger } from 'app/logging/logger';
22
import type { AppDispatch, AppStartListening, RootState } from 'app/store/store';
33
import { modelChanged } from 'features/controlLayers/store/actions';
44
import { controlLayerModelChanged, rgRefImageModelChanged } from 'features/controlLayers/store/canvasSlice';
5-
import { loraDeleted } from 'features/controlLayers/store/lorasSlice';
5+
import { loraDeleted, selectAddedLoRAs } from 'features/controlLayers/store/lorasSlice';
66
import {
77
clipEmbedModelSelected,
88
fluxVAESelected,
@@ -194,7 +194,7 @@ const handleVAEModels: ModelHandler = (models, state, dispatch, log) => {
194194

195195
const handleLoRAModels: ModelHandler = (models, state, dispatch, log) => {
196196
const loraModels = models.filter(isLoRAModelConfig);
197-
state.loras.loras.forEach((lora) => {
197+
selectAddedLoRAs(state).forEach((lora) => {
198198
const isLoRAAvailable = loraModels.some((m) => m.key === lora.model.key);
199199
if (isLoRAAvailable) {
200200
return;

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/setDefaultSettings.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
vaeSelected,
1818
widthChanged,
1919
} from 'features/controlLayers/store/paramsSlice';
20+
import { selectActiveTab } from 'features/controlLayers/store/selectors';
2021
import { setDefaultSettings } from 'features/parameters/store/actions';
2122
import {
2223
isParameterCFGRescaleMultiplier,
@@ -30,7 +31,6 @@ import {
3031
zParameterVAEModel,
3132
} from 'features/parameters/types/parameterSchemas';
3233
import { toast } from 'features/toast/toast';
33-
import { selectActiveTab } from 'features/ui/store/uiSelectors';
3434
import { t } from 'i18next';
3535
import { modelConfigsAdapterSelectors, modelsApi } from 'services/api/endpoints/models';
3636
import { isNonRefinerMainModelConfig } from 'services/api/types';

invokeai/frontend/web/src/app/store/store.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ import { addSetDefaultSettingsListener } from 'app/store/middleware/listenerMidd
1919
import { addSocketConnectedEventListener } from 'app/store/middleware/listenerMiddleware/listeners/socketConnected';
2020
import { changeBoardModalSliceConfig } from 'features/changeBoardModal/store/slice';
2121
import { canvasSliceConfig } from 'features/controlLayers/store/canvasSlice';
22-
import { lorasSliceConfig } from 'features/controlLayers/store/lorasSlice';
23-
import { paramsSliceConfig } from 'features/controlLayers/store/paramsSlice';
24-
import { refImagesSliceConfig } from 'features/controlLayers/store/refImagesSlice';
22+
import { tabSliceConfig } from 'features/controlLayers/store/tabSlice';
2523
import { dynamicPromptsSliceConfig } from 'features/dynamicPrompts/store/dynamicPromptsSlice';
2624
import { gallerySliceConfig } from 'features/gallery/store/gallerySlice';
2725
import { modelManagerSliceConfig } from 'features/modelManagerV2/store/modelManagerV2Slice';
@@ -63,12 +61,10 @@ const SLICE_CONFIGS = {
6361
[configSliceConfig.slice.reducerPath]: configSliceConfig,
6462
[dynamicPromptsSliceConfig.slice.reducerPath]: dynamicPromptsSliceConfig,
6563
[gallerySliceConfig.slice.reducerPath]: gallerySliceConfig,
66-
[lorasSliceConfig.slice.reducerPath]: lorasSliceConfig,
64+
[tabSliceConfig.slice.reducerPath]: tabSliceConfig,
6765
[modelManagerSliceConfig.slice.reducerPath]: modelManagerSliceConfig,
6866
[nodesSliceConfig.slice.reducerPath]: nodesSliceConfig,
69-
[paramsSliceConfig.slice.reducerPath]: paramsSliceConfig,
7067
[queueSliceConfig.slice.reducerPath]: queueSliceConfig,
71-
[refImagesSliceConfig.slice.reducerPath]: refImagesSliceConfig,
7268
[stylePresetSliceConfig.slice.reducerPath]: stylePresetSliceConfig,
7369
[systemSliceConfig.slice.reducerPath]: systemSliceConfig,
7470
[uiSliceConfig.slice.reducerPath]: uiSliceConfig,
@@ -87,12 +83,10 @@ const ALL_REDUCERS = {
8783
[configSliceConfig.slice.reducerPath]: configSliceConfig.slice.reducer,
8884
[dynamicPromptsSliceConfig.slice.reducerPath]: dynamicPromptsSliceConfig.slice.reducer,
8985
[gallerySliceConfig.slice.reducerPath]: gallerySliceConfig.slice.reducer,
90-
[lorasSliceConfig.slice.reducerPath]: lorasSliceConfig.slice.reducer,
86+
[tabSliceConfig.slice.reducerPath]: tabSliceConfig.slice.reducer,
9187
[modelManagerSliceConfig.slice.reducerPath]: modelManagerSliceConfig.slice.reducer,
9288
[nodesSliceConfig.slice.reducerPath]: undoableNodesSliceReducer,
93-
[paramsSliceConfig.slice.reducerPath]: paramsSliceConfig.slice.reducer,
9489
[queueSliceConfig.slice.reducerPath]: queueSliceConfig.slice.reducer,
95-
[refImagesSliceConfig.slice.reducerPath]: refImagesSliceConfig.slice.reducer,
9690
[stylePresetSliceConfig.slice.reducerPath]: stylePresetSliceConfig.slice.reducer,
9791
[systemSliceConfig.slice.reducerPath]: systemSliceConfig.slice.reducer,
9892
[uiSliceConfig.slice.reducerPath]: uiSliceConfig.slice.reducer,

invokeai/frontend/web/src/app/store/util.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { UnknownAction } from '@reduxjs/toolkit';
2-
import type { TabName } from 'features/ui/store/uiTypes';
2+
import type { TabName } from 'features/controlLayers/store/types';
33

44
const TAB_KEY = Symbol('tab');
55
const CANVAS_ID_KEY = Symbol('canvasId');

invokeai/frontend/web/src/app/types/invokeai.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { zFilterType } from 'features/controlLayers/store/filters';
2+
import { zTabName } from 'features/controlLayers/store/types';
23
import { zParameterPrecision, zParameterScheduler } from 'features/parameters/types/parameterSchemas';
3-
import { zTabName } from 'features/ui/store/uiTypes';
44
import type { PartialDeep } from 'type-fest';
55
import z from 'zod';
66

invokeai/frontend/web/src/common/components/SessionMenuItems.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
33
import { useCanvasManagerSafe } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
44
import { allEntitiesDeleted, inpaintMaskAdded } from 'features/controlLayers/store/canvasSlice';
55
import { paramsReset } from 'features/controlLayers/store/paramsSlice';
6-
import { selectActiveTab } from 'features/ui/store/uiSelectors';
6+
import { selectActiveTab } from 'features/controlLayers/store/selectors';
77
import { memo, useCallback } from 'react';
88
import { useTranslation } from 'react-i18next';
99
import { PiArrowsCounterClockwiseBold } from 'react-icons/pi';

invokeai/frontend/web/src/features/controlLayers/components/RefImage/RefImageImage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { UploadImageIconButton } from 'common/hooks/useImageUploadButton';
77
import { useCanvasIsStaging } from 'features/controlLayers/hooks/useCanvasIsStaging';
88
import { bboxSizeOptimized, bboxSizeRecalled } from 'features/controlLayers/store/canvasSlice';
99
import { sizeOptimized, sizeRecalled } from 'features/controlLayers/store/paramsSlice';
10+
import { selectActiveTab } from 'features/controlLayers/store/selectors';
1011
import type { CroppableImageWithDims } from 'features/controlLayers/store/types';
1112
import { imageDTOToCroppableImage, imageDTOToImageWithDims } from 'features/controlLayers/store/util';
1213
import { Editor } from 'features/cropper/lib/editor';
@@ -15,7 +16,6 @@ import type { setGlobalReferenceImageDndTarget, setRegionalGuidanceReferenceImag
1516
import { DndDropTarget } from 'features/dnd/DndDropTarget';
1617
import { DndImage } from 'features/dnd/DndImage';
1718
import { DndImageIcon } from 'features/dnd/DndImageIcon';
18-
import { selectActiveTab } from 'features/ui/store/uiSelectors';
1919
import { memo, useCallback, useEffect } from 'react';
2020
import { useTranslation } from 'react-i18next';
2121
import { PiArrowCounterClockwiseBold, PiCropBold, PiRulerBold } from 'react-icons/pi';

invokeai/frontend/web/src/features/controlLayers/components/RefImage/RefImageList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import {
1313
selectRefImageEntityIds,
1414
selectSelectedRefEntityId,
1515
} from 'features/controlLayers/store/refImagesSlice';
16+
import { selectActiveTab } from 'features/controlLayers/store/selectors';
1617
import { imageDTOToCroppableImage } from 'features/controlLayers/store/util';
1718
import { addGlobalReferenceImageDndTarget } from 'features/dnd/dnd';
1819
import { DndDropTarget } from 'features/dnd/DndDropTarget';
19-
import { selectActiveTab } from 'features/ui/store/uiSelectors';
2020
import { memo, useMemo } from 'react';
2121
import { useTranslation } from 'react-i18next';
2222
import { PiBoundingBoxBold, PiUploadBold } from 'react-icons/pi';

0 commit comments

Comments
 (0)