@@ -2135,12 +2135,9 @@ function sourcefulProviderSettingsToggleHandler(sourcefulNode) {
21352135}
21362136
21372137function sourcefulProviderSettingsFontsToggleHandler ( fontsNode ) {
2138- const useFont1Widget = fontsNode . widgets . find ( w => w . name === "useFont1" ) ;
2139- const fontUrl1Widget = fontsNode . widgets . find ( w => w . name === "fontUrl1" ) ;
2140- const text1Widget = fontsNode . widgets . find ( w => w . name === "text1" ) ;
2141- const useFont2Widget = fontsNode . widgets . find ( w => w . name === "useFont2" ) ;
2142- const fontUrl2Widget = fontsNode . widgets . find ( w => w . name === "fontUrl2" ) ;
2143- const text2Widget = fontsNode . widgets . find ( w => w . name === "text2" ) ;
2138+ if ( ! fontsNode ?. widgets ) return ;
2139+ if ( fontsNode . _sourcefulProviderSettingsFontsToggleHandlerRegistered ) return ;
2140+ fontsNode . _sourcefulProviderSettingsFontsToggleHandlerRegistered = true ;
21442141
21452142 function toggleFontGroup ( useWidget , fontUrlWidget , textWidget , fontParamName , textParamName ) {
21462143 if ( ! useWidget || ! fontUrlWidget || ! textWidget ) return ;
@@ -2180,11 +2177,13 @@ function sourcefulProviderSettingsFontsToggleHandler(fontsNode) {
21802177 setTimeout ( toggleEnabled , 100 ) ;
21812178 }
21822179
2183- if ( useFont1Widget && fontUrl1Widget && text1Widget ) {
2184- toggleFontGroup ( useFont1Widget , fontUrl1Widget , text1Widget , "fontUrl1" , "text1" ) ;
2185- }
2186- if ( useFont2Widget && fontUrl2Widget && text2Widget ) {
2187- toggleFontGroup ( useFont2Widget , fontUrl2Widget , text2Widget , "fontUrl2" , "text2" ) ;
2180+ for ( let i = 1 ; i <= 2 ; i ++ ) {
2181+ const useFontWidget = fontsNode . widgets . find ( w => w && w . name === `useFont${ i } ` ) ;
2182+ const fontUrlWidget = fontsNode . widgets . find ( w => w && w . name === `fontUrl${ i } ` ) ;
2183+ const textWidget = fontsNode . widgets . find ( w => w && w . name === `text${ i } ` ) ;
2184+ if ( useFontWidget && fontUrlWidget && textWidget ) {
2185+ toggleFontGroup ( useFontWidget , fontUrlWidget , textWidget , `fontUrl${ i } ` , `text${ i } ` ) ;
2186+ }
21882187 }
21892188}
21902189
@@ -5260,6 +5259,7 @@ export {
52605259 imageInferenceSettingsMoodboardsToggleHandler ,
52615260 imageInferenceSettingsStructuredPromptToggleHandler ,
52625261 imageInferenceSettingsPromptEnhanceToggleHandler ,
5262+ imageInferenceSettingsScoringRubricToggleHandler ,
52635263 audioInputToggleHandler ,
52645264 speechInputToggleHandler ,
52655265 briaProviderMaskToggleHandler ,
@@ -5380,6 +5380,14 @@ function settingsToggleHandler(settingsNode) {
53805380 const dilatePixelsWidget = settingsNode . widgets . find ( w => w . name === "dilatePixels" ) ;
53815381 const useCreativityWidget = settingsNode . widgets . find ( w => w . name === "useCreativity" ) ;
53825382 const creativityWidget = settingsNode . widgets . find ( w => w . name === "creativity" ) ;
5383+ const useBackgroundModeWidget = settingsNode . widgets . find ( w => w . name === "useBackgroundMode" ) ;
5384+ const backgroundModeWidget = settingsNode . widgets . find ( w => w . name === "backgroundMode" ) ;
5385+ const useBackgroundColorWidget = settingsNode . widgets . find ( w => w . name === "useBackgroundColor" ) ;
5386+ const backgroundColorWidget = settingsNode . widgets . find ( w => w . name === "backgroundColor" ) ;
5387+ const useEnhancePromptWidget = settingsNode . widgets . find ( w => w . name === "useEnhancePrompt" ) ;
5388+ const enhancePromptWidget = settingsNode . widgets . find ( w => w . name === "enhancePrompt" ) ;
5389+ const useScoringPromptWidget = settingsNode . widgets . find ( w => w . name === "useScoringPrompt" ) ;
5390+ const scoringPromptWidget = settingsNode . widgets . find ( w => w . name === "scoringPrompt" ) ;
53835391
53845392 // Helper function to toggle widget enabled state
53855393 function toggleWidgetState ( useWidget , paramWidget , paramName ) {
@@ -5481,6 +5489,18 @@ function settingsToggleHandler(settingsNode) {
54815489 if ( useCreativityWidget && creativityWidget ) {
54825490 toggleWidgetState ( useCreativityWidget , creativityWidget , "creativity" ) ;
54835491 }
5492+ if ( useBackgroundModeWidget && backgroundModeWidget ) {
5493+ toggleWidgetState ( useBackgroundModeWidget , backgroundModeWidget , "backgroundMode" ) ;
5494+ }
5495+ if ( useBackgroundColorWidget && backgroundColorWidget ) {
5496+ toggleWidgetState ( useBackgroundColorWidget , backgroundColorWidget , "backgroundColor" ) ;
5497+ }
5498+ if ( useEnhancePromptWidget && enhancePromptWidget ) {
5499+ toggleWidgetState ( useEnhancePromptWidget , enhancePromptWidget , "enhancePrompt" ) ;
5500+ }
5501+ if ( useScoringPromptWidget && scoringPromptWidget ) {
5502+ toggleWidgetState ( useScoringPromptWidget , scoringPromptWidget , "scoringPrompt" ) ;
5503+ }
54845504}
54855505
54865506function outpaintSettingsToggleHandler ( settingsNode ) {
@@ -5705,6 +5725,65 @@ function imageInferenceSettingsMoodboardsToggleHandler(moodboardsNode) {
57055725 setTimeout ( toggleStrengthState , 100 ) ;
57065726}
57075727
5728+ function imageInferenceSettingsScoringRubricToggleHandler ( rubricNode ) {
5729+ if ( ! rubricNode ?. widgets ) return ;
5730+ if ( rubricNode . _imageInferenceSettingsScoringRubricToggleHandlerRegistered ) return ;
5731+ rubricNode . _imageInferenceSettingsScoringRubricToggleHandlerRegistered = true ;
5732+
5733+ function toggleWidgetState ( useWidget , paramWidgets , paramNames ) {
5734+ if ( ! useWidget ) return ;
5735+ const widgets = Array . isArray ( paramWidgets ) ? paramWidgets : [ paramWidgets ] ;
5736+ const names = Array . isArray ( paramNames ) ? paramNames : [ paramNames ] ;
5737+
5738+ function toggleEnabled ( ) {
5739+ const enabled = useWidget . value === true ;
5740+
5741+ widgets . forEach ( ( paramWidget , index ) => {
5742+ if ( ! paramWidget ) return ;
5743+ toggleWidgetEnabled ( paramWidget , enabled , rubricNode ) ;
5744+ const paramName = names [ index ] ;
5745+ if ( ! paramWidget . inputEl && paramName ) {
5746+ const nodeElement = rubricNode . htmlElements ?. widgetsContainer || rubricNode . htmlElements ;
5747+ if ( nodeElement ) {
5748+ const input = nodeElement . querySelector (
5749+ `input[name="${ paramName } "], textarea[name="${ paramName } "], select[name="${ paramName } "]`
5750+ ) ;
5751+ if ( input ) {
5752+ input . disabled = ! enabled ;
5753+ input . style . opacity = enabled ? "1" : "0.5" ;
5754+ input . style . pointerEvents = enabled ? "auto" : "none" ;
5755+ }
5756+ }
5757+ }
5758+ } ) ;
5759+
5760+ rubricNode . setDirtyCanvas ( true ) ;
5761+ }
5762+
5763+ appendWidgetCB ( useWidget , ( ) => setTimeout ( toggleEnabled , 50 ) ) ;
5764+ setTimeout ( toggleEnabled , 100 ) ;
5765+ }
5766+
5767+ const usePassingScoreWidget = rubricNode . widgets . find ( ( w ) => w && w . name === "usePassingScore" ) ;
5768+ const passingScoreWidget = rubricNode . widgets . find ( ( w ) => w && w . name === "passingScore" ) ;
5769+ if ( usePassingScoreWidget && passingScoreWidget ) {
5770+ toggleWidgetState ( usePassingScoreWidget , passingScoreWidget , "passingScore" ) ;
5771+ }
5772+
5773+ for ( let i = 1 ; i <= 5 ; i ++ ) {
5774+ const useScoreGuidanceWidget = rubricNode . widgets . find ( ( w ) => w && w . name === `useScoreGuidance${ i } ` ) ;
5775+ const scoreWidget = rubricNode . widgets . find ( ( w ) => w && w . name === `score${ i } ` ) ;
5776+ const guidanceDescriptionWidget = rubricNode . widgets . find ( ( w ) => w && w . name === `guidanceDescription${ i } ` ) ;
5777+ if ( useScoreGuidanceWidget && ( scoreWidget || guidanceDescriptionWidget ) ) {
5778+ toggleWidgetState (
5779+ useScoreGuidanceWidget ,
5780+ [ scoreWidget , guidanceDescriptionWidget ] . filter ( Boolean ) ,
5781+ [ `score${ i } ` , `guidanceDescription${ i } ` ]
5782+ ) ;
5783+ }
5784+ }
5785+ }
5786+
57085787function imageInferenceSettingsStructuredPromptToggleHandler ( node ) {
57095788 if ( ! node ?. widgets ) return ;
57105789
0 commit comments