feat(ui): use max prompts for combinatorial, iterations for non-combi… (#3600)

…natorial
This commit is contained in:
blessedcoolant 2023-06-28 17:35:45 +12:00 committed by GitHub
commit 00c78b1cbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 6 deletions

View File

@ -35,8 +35,8 @@ const ParamDynamicPromptsCollapse = () => {
withSwitch withSwitch
> >
<Flex sx={{ gap: 2, flexDir: 'column' }}> <Flex sx={{ gap: 2, flexDir: 'column' }}>
<ParamDynamicPromptsMaxPrompts />
<ParamDynamicPromptsCombinatorial /> <ParamDynamicPromptsCombinatorial />
<ParamDynamicPromptsMaxPrompts />
</Flex> </Flex>
</IAICollapse> </IAICollapse>
); );

View File

@ -9,17 +9,18 @@ import { stateSelector } from 'app/store/store';
const selector = createSelector( const selector = createSelector(
stateSelector, stateSelector,
(state) => { (state) => {
const { maxPrompts } = state.dynamicPrompts; const { maxPrompts, combinatorial } = state.dynamicPrompts;
const { min, sliderMax, inputMax } = const { min, sliderMax, inputMax } =
state.config.sd.dynamicPrompts.maxPrompts; state.config.sd.dynamicPrompts.maxPrompts;
return { maxPrompts, min, sliderMax, inputMax }; return { maxPrompts, min, sliderMax, inputMax, combinatorial };
}, },
defaultSelectorOptions defaultSelectorOptions
); );
const ParamDynamicPromptsMaxPrompts = () => { const ParamDynamicPromptsMaxPrompts = () => {
const { maxPrompts, min, sliderMax, inputMax } = useAppSelector(selector); const { maxPrompts, min, sliderMax, inputMax, combinatorial } =
useAppSelector(selector);
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const handleChange = useCallback( const handleChange = useCallback(
@ -36,6 +37,7 @@ const ParamDynamicPromptsMaxPrompts = () => {
return ( return (
<IAISlider <IAISlider
label="Max Prompts" label="Max Prompts"
isDisabled={!combinatorial}
min={min} min={min}
max={sliderMax} max={sliderMax}
value={maxPrompts} value={maxPrompts}

View File

@ -37,7 +37,7 @@ export const addDynamicPromptsToGraph = (
const dynamicPromptNode: DynamicPromptInvocation = { const dynamicPromptNode: DynamicPromptInvocation = {
id: DYNAMIC_PROMPT, id: DYNAMIC_PROMPT,
type: 'dynamic_prompt', type: 'dynamic_prompt',
max_prompts: maxPrompts, max_prompts: combinatorial ? maxPrompts : iterations,
combinatorial, combinatorial,
prompt: positivePrompt, prompt: positivePrompt,
}; };

View File

@ -16,7 +16,8 @@ const selector = createSelector([stateSelector], (state) => {
state.config.sd.iterations; state.config.sd.iterations;
const { iterations } = state.generation; const { iterations } = state.generation;
const { shouldUseSliders } = state.ui; const { shouldUseSliders } = state.ui;
const isDisabled = state.dynamicPrompts.isEnabled; const isDisabled =
state.dynamicPrompts.isEnabled && state.dynamicPrompts.combinatorial;
const step = state.hotkeys.shift ? fineStep : coarseStep; const step = state.hotkeys.shift ? fineStep : coarseStep;