@@ -30,15 +30,25 @@ const LAYER_TYPE_TO_TKEY = {
3030 control_layer : 'controlLayers.controlLayer' ,
3131} as const ;
3232
33- const createSelector = (
34- templates : Templates ,
35- isConnected : boolean ,
36- canvasIsFiltering : boolean ,
37- canvasIsTransforming : boolean ,
38- canvasIsRasterizing : boolean ,
39- canvasIsCompositing : boolean
40- ) =>
41- createMemoizedSelector (
33+ const createSelector = ( arg : {
34+ templates : Templates ;
35+ isConnected : boolean ;
36+ canvasIsFiltering : boolean ;
37+ canvasIsTransforming : boolean ;
38+ canvasIsRasterizing : boolean ;
39+ canvasIsCompositing : boolean ;
40+ canvasIsSelectingObject : boolean ;
41+ } ) => {
42+ const {
43+ templates,
44+ isConnected,
45+ canvasIsFiltering,
46+ canvasIsTransforming,
47+ canvasIsRasterizing,
48+ canvasIsCompositing,
49+ canvasIsSelectingObject,
50+ } = arg ;
51+ return createMemoizedSelector (
4252 [
4353 selectSystemSlice ,
4454 selectNodesSlice ,
@@ -147,6 +157,9 @@ const createSelector = (
147157 if ( canvasIsCompositing ) {
148158 reasons . push ( { content : i18n . t ( 'parameters.invoke.canvasIsCompositing' ) } ) ;
149159 }
160+ if ( canvasIsSelectingObject ) {
161+ reasons . push ( { content : i18n . t ( 'parameters.invoke.canvasIsSelectingObject' ) } ) ;
162+ }
150163
151164 if ( dynamicPrompts . prompts . length === 0 && getShouldProcessPrompt ( positivePrompt ) ) {
152165 reasons . push ( { content : i18n . t ( 'parameters.invoke.noPrompts' ) } ) ;
@@ -305,6 +318,7 @@ const createSelector = (
305318 return { isReady : ! reasons . length , reasons } ;
306319 }
307320 ) ;
321+ } ;
308322
309323export const useIsReadyToEnqueue = ( ) => {
310324 const templates = useStore ( $templates ) ;
@@ -313,18 +327,28 @@ export const useIsReadyToEnqueue = () => {
313327 const canvasIsFiltering = useStore ( canvasManager ?. stateApi . $isFiltering ?? $true ) ;
314328 const canvasIsTransforming = useStore ( canvasManager ?. stateApi . $isTransforming ?? $true ) ;
315329 const canvasIsRasterizing = useStore ( canvasManager ?. stateApi . $isRasterizing ?? $true ) ;
330+ const canvasIsSelectingObject = useStore ( canvasManager ?. stateApi . $isSegmenting ?? $true ) ;
316331 const canvasIsCompositing = useStore ( canvasManager ?. compositor . $isBusy ?? $true ) ;
317332 const selector = useMemo (
318333 ( ) =>
319- createSelector (
334+ createSelector ( {
320335 templates,
321336 isConnected,
322337 canvasIsFiltering,
323338 canvasIsTransforming,
324339 canvasIsRasterizing,
325- canvasIsCompositing
326- ) ,
327- [ templates , isConnected , canvasIsFiltering , canvasIsTransforming , canvasIsRasterizing , canvasIsCompositing ]
340+ canvasIsCompositing,
341+ canvasIsSelectingObject,
342+ } ) ,
343+ [
344+ templates ,
345+ isConnected ,
346+ canvasIsFiltering ,
347+ canvasIsTransforming ,
348+ canvasIsRasterizing ,
349+ canvasIsCompositing ,
350+ canvasIsSelectingObject ,
351+ ]
328352 ) ;
329353 const value = useAppSelector ( selector ) ;
330354 return value ;
0 commit comments