From 36cdebcad12b4b4ba7f2ced20311d84aa4aba569 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Tue, 3 Sep 2024 13:28:26 -0400 Subject: [PATCH] Restore context menu for new searchbox (#724) * Searchbox revamp * nit * nit * Add playwright test * Update litegraph * Rename setting * Update test expectations [skip ci] --------- Co-authored-by: github-actions --- browser_tests/interaction.spec.ts | 4 +- browser_tests/nodeSearchBox.spec.ts | 37 +++-- ...nk-release-context-menu-chromium-linux.png | Bin 0 -> 102594 bytes package-lock.json | 8 +- package.json | 2 +- .../dialog/content/setting/SettingGroup.vue | 4 + src/components/graph/GraphCanvas.vue | 14 +- src/components/searchbox/NodeSearchBox.vue | 16 +- .../searchbox/NodeSearchBoxPopover.vue | 142 ++++++++++++------ src/stores/settingStore.ts | 30 +++- src/types/apiTypes.ts | 7 + src/types/searchBoxTypes.ts | 6 + src/types/settingTypes.ts | 1 + 13 files changed, 177 insertions(+), 94 deletions(-) create mode 100644 browser_tests/nodeSearchBox.spec.ts-snapshots/link-release-context-menu-chromium-linux.png diff --git a/browser_tests/interaction.spec.ts b/browser_tests/interaction.spec.ts index a0f1f2d23..c0b3d5ba0 100644 --- a/browser_tests/interaction.spec.ts +++ b/browser_tests/interaction.spec.ts @@ -25,10 +25,8 @@ test.describe('Node Interaction', () => { }) test('Can disconnect/connect edge', async ({ comfyPage }) => { + await comfyPage.setSetting('Comfy.LinkRelease.Action', 'no action') await comfyPage.disconnectEdge() - // Close search menu popped up. - await comfyPage.page.keyboard.press('Escape') - await comfyPage.nextFrame() await expect(comfyPage.canvas).toHaveScreenshot( 'disconnected-edge-with-menu.png' ) diff --git a/browser_tests/nodeSearchBox.spec.ts b/browser_tests/nodeSearchBox.spec.ts index 56a2fb3ca..8f622efda 100644 --- a/browser_tests/nodeSearchBox.spec.ts +++ b/browser_tests/nodeSearchBox.spec.ts @@ -3,22 +3,14 @@ import { comfyPageFixture as test } from './ComfyPage' test.describe('Node search box', () => { test.beforeEach(async ({ comfyPage }) => { - await comfyPage.setSetting( - 'Comfy.NodeSearchBoxImpl.LinkReleaseTrigger', - 'always' - ) + await comfyPage.setSetting('Comfy.LinkRelease.Action', 'search box') + await comfyPage.setSetting('Comfy.LinkRelease.ActionShift', 'search box') + await comfyPage.setSetting('Comfy.NodeSearchBoxImpl', 'default') }) - ;['always', 'hold shift', 'NOT hold shift'].forEach((triggerMode) => { - test(`Can trigger on empty canvas double click (${triggerMode})`, async ({ - comfyPage - }) => { - await comfyPage.setSetting( - 'Comfy.NodeSearchBoxImpl.LinkReleaseTrigger', - triggerMode - ) - await comfyPage.doubleClickCanvas() - await expect(comfyPage.searchBox.input).toHaveCount(1) - }) + + test(`Can trigger on empty canvas double click`, async ({ comfyPage }) => { + await comfyPage.doubleClickCanvas() + await expect(comfyPage.searchBox.input).toHaveCount(1) }) test('Can trigger on link release', async ({ comfyPage }) => { @@ -78,3 +70,18 @@ test.describe('Node search box', () => { ) }) }) + +test.describe('Release context menu', () => { + test.beforeEach(async ({ comfyPage }) => { + await comfyPage.setSetting('Comfy.LinkRelease.Action', 'context menu') + await comfyPage.setSetting('Comfy.LinkRelease.ActionShift', 'search box') + await comfyPage.setSetting('Comfy.NodeSearchBoxImpl', 'default') + }) + + test('Can trigger on link release', async ({ comfyPage }) => { + await comfyPage.disconnectEdge() + await expect(comfyPage.canvas).toHaveScreenshot( + 'link-release-context-menu.png' + ) + }) +}) diff --git a/browser_tests/nodeSearchBox.spec.ts-snapshots/link-release-context-menu-chromium-linux.png b/browser_tests/nodeSearchBox.spec.ts-snapshots/link-release-context-menu-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..c62656914fc8eefb5d9dd5a7f2e4ec155079b0ec GIT binary patch literal 102594 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 z zgE*vv>`5=q9ytD5k%Ug5V2|6?+&zN6%0x?j+?|=03$7UC$J2rBpQ0c2YA`CDor|A; zR`qwU(8kR%{a!gum-ZDp4Gl%EJDHg;`6q4P2BE3l?^`3+Ub#$kjUHa!X)np*Kd$vk zZu#|Yj`@am)56X0Ou462KkEVOf0t}r&dx)s+H`e0V=L8rQw64{>82#-HHY&jbr>!R z9X-|{$i{J8SOtbZZGD>$9gn^z}`Pp153RJ2L>I67%c>-v}Q0dD_F%kg-h zmVQ_Aw?C%+*RM6IWgf3)Z_2cnIwRc}i@tan^G_WA^-8$X-EZ<-7Vd2-xxle(9{Qo5 zdo4>DBUn7;W_cgtw7LDBY;o1^>YCqQrM-1WWon|;-sTaBRslKp%qfkN$NF`;%X!!* zrbXh`Lb*vkTx&3+VoE!_6=$KMm6OZIbTA2qgH=RtM(*`>r^ZaEe;1wwM99!vLJ{mr@G%C== z{%IzTv}g0~*da%$y{cF%JWcm!k9z7wA>NSd%DlE!o}rYzZ+s?KspmZiOxP;wxW3+J z(t6u%b~Q9EDniUtV}L4TxnLP#D9@$6C;FbX-Z|yf+T3=60Z7bbv07@EYhu)6@8Ix; zex+knB$L3+g^$(g>pKt2kT;(7GLnd|dtbO?(;ah{pOK4qj(P@#y7v`~Q2o*|3xrOu zfuWn}69;$M-Es%E3Wo!c0o{_bRKLjXr5PFO%*rJ-&(5@vml7BiXC8I5oV2!fT>4Qt zc`fIv#<%!~Q4jiiqSWo+hBV2W4hO?GaEKBk^Bxm zoSKlXos_nzm(lN*Z6$BIa8|X2-P%;;;->4&bi(x9^f#$Vqdclxl=+{S<&j7KZn=l|r7eTVfxmYD?3%b$p*bwOvTT@<88~yK;n@e#(cLpf z7?%Tg+A$(ap{R$Fkc$UIxm63%($x0!dPj1<K{4sDv z@q}h*hTe<6UkAD-o_F`0O;r!@RMYqoV`?TTd@`m0L_K@8^&6)v@ow7_W_e(dkdA*qi!s zR=V0U9~az#ZE~HPK~#_VF@sA>F@Ll!hj01J!}o;mbNb%BL3I`~JM7bf(tb`n-`dlw zc{cv2*NWni@|D%3qf#}oAvxzo@)6U9O64vm1vLwsKoyuy==K{p&=>bz(((&~-rdl- z)d`9^X^>wl9HI@bRpKkpLqLwXpW+D=pO|jZaiOx0HgxN6b#5=QZIvpl8UgiQ=u@40%XE5rU~A<@ICYU4v2qD;YkqD|mBVxnQGeO0aN7xBTnDtJQGW+Mj+ zMGFk~WlEoS9r+Xc@J#RytCiJ%3;eN zPiJOsumbj20pgEoT3;wmBm%OdFWzV(#Nl4I!PUboxrL z(i$qTT6so7W=yk|YA$3K$4O1Lh^PlUIU=4ks7!bW#WCo;=;3YX%*yIsog>$kf7&fj z1z|(s_k9%(qTO)2%bfW=4(t{~n2s>gI{FacQv&*V=9og{2%L(S90xBJjud`jXzL+m zhIwbvBMcn=@5Jl)|+f{#1LLi?KQ> zDfwxp@0yw*&I5^_iKmQo>n~0;*y|W*VlbCgS;iZ2&$Q|8UE07;T~cSV$wjMuf>Kh= z+ZJGMuyBY*Qc!TD20dp-35L325{F-vQ;z<--uMpH_saT z;C;fOjz>|Qed(BA(+4=jUMVHsRXE3yuguF|V1c8$kNuPX55~U`o@NyeJcormx^}Wc zdPCE%UojC8*N1)`BEQE2i|5a^(XL+*Mzn0-l-B9!YEV{a>6YnO1vFvUe*ojrw?}!59^Nb8QSwK{K zd6qC7u0B}s`%*y*j73fL5)t)r~(h8Ff>xO32!YD1G${dq_P)_P+N=QYBS;zNxC< z)Ue8|=bTmLc^i8Y5fBn{4gCM34qB5!HtJz*;>DgK{lTRaw_(b!sbfja+&!1!83S~FOfLBV2#eaT2 z^K~h+et+!js?MLN1WP#VBtx!8+ab}u(!#%Yla`fL#_CoQ$@h#$ar7%`K@hRma&$vJ zvUe!F-LYxj{MXM&GP`kM^FDc_S2qQ*0PVm_A3eHPwb1SLWNbxYZo9-vR#VQIlXo;0 z2SnFOOxkNKD2P{2g@b6rQ#CQgHh#;jP%?y3ar3t8tMkum#7rc=o1$|gk^1<4S5eAK zsD`7nJIAGq$qe@?HpvRf%{&PFWNm{Nn!JItdt`l@7ELt!NO{hsc zb+%1}-Zqc?@9q!BX}ud#3E@1@{y62%%ICMOvu;_Z{k$W{-|V8R$D690e`}JMl)#de zqYHO>GJ5Z<^t`n@bVp9fhv_)8a+E2@(yPgSBgqtQTCP8rcHtZCd6(U#8&x+rEwk%R z;^^}Gfcg=0IV~+_cbn|*j1=;}E_ulp+?ah6xU2A|J4^G8>{IkV?EDH@SDunReM(l+ zNF@WBKAtuTGEH@C*52V)9LJMi@8r{&X%>z81o+W_@EqZ{Ka=9xvKVR)&%P^MzH7;k1siCM@+mOs%R4Ttbd7)WCu5PV#gsojRCGi;;)o_nd$;0sv z(310T^EoZ8_YS|Yi$x#2FazeI>qXnI<=FVw%&@Tl6+wMSb>2pwR=n~@6!+8$10cRs`p^Az4rLT&M^2UCQH1KkXlQvn z&hDLsl~uQ-rYfa|YPcizN#G?Am_l0pbC153sbKqp-EqT(gZuT(1nBT2ELeV7A~_#uoyO8FndO5fCdrDV7LALpvg=~{sI>EhgB$Jzu;T{ z{v#Z3rs$8;!lfDel-K#k#4C_!Df+O7+U7;)XJlA$?l58Dg%DpvBquA&mXmCvcRszr zB46KV*FRW~A3dJ7a?qKPlDKVKBV1fV(?M8^7xZn!V8wOv>YegV2V(5-H(Q2Ad8?wh z_rV>^A6?mC8s*rsW)rM;pNzhIbXZ6|7iUg)`6TPL$8&xYZ|GvC9kiB7jYadSHHmA(7BGHo$vxx_`eFAu~9!XivO zF7w5UAVv}Bf#T!iF^bsyb2_E_`pVma7v>38yLg(&;wR7|u%&C)IlWwwqu4wbHEW2m zu3-zms1k|swRwHjB#Qhz)!7q1$8G=L@}AZQB{8g9VD4%MFGi61U}FMr-23I7Nwb0s zvU5p;-%iQSKY>F8hY(Xl*qJc-fZ75kMYj--e^%FH#C_9^U&4fCR&t+eJp$v~C;z~e zpzhR<&^MA#K-R(0`f_d)$#1h>ROD#t+G*~jmMJ3%`y#O>Aeoakd0+kdSBLhm)ovaN z@a))gPoPS)HFdTA+>8BM%oWPVPlblcZTr53cr4_CizgE;&J4OAik(YinQ4Ugl4(?OwaSa}%Yid>HXN?{B9Sh4b8#vu8+ER;kg@c(QZ! z$D21)34%$tiP4_VeJVO(5>>c+GJimFL;n+Zg||(Wp1z#WS#qOOacYl})gX)sE`w)%1M#5|yeB6X)z^{ykpD}|<;%&4 ziR!(POewKGo5dt0nn6QRw&YGdoe}4aQ->xt6FsADsjX*ub3Z%- z*mKHfajI>$!(LJ{B&9rN|3Zw4vXO8@~D0Qj3p5z5eoDFMBxy{cQN6mA^5!+*w?Q<%OR zLxdl9?>gS%Iw&G?kej=lc>S*;ET8+P12$OaCWy0E1%GbXy*oYlb2!?O0$D@y8`;F( zBOxiPg|qsL`@wF;f!;-4A3jEq>UzV2jC>zdX%wgs3^hDeOLc?8hxuL8Ca8}KKW{lh zbd#XPx%NOS^ffJQub!S?SoQG`jT34Cs;5R>A2#$eQ{Cjv6P-?_d$K6slc=Qi?QVeD zkACev+~&z~+jqt$Hw1?SX#@tHT^V$iV%s}ByiKLsBIVVKly1l4$1m&X)RLV{iyf0i z3SEhNE6JN!`L*FR@?ig&-&;HIxuC~XJfW!Q3usy&fl|*<9c68W@)%ONC8M9ZXL2R? z_M{#ivEQxt%B;3mOsr1knsMPkjzHBnhD&0sGPQ%cKa=YETxG>XM6@za{;-VT=2o%D zuavr&thobG^4-xgElqkBqUTwI%}%BT)YRlABgV(#eJ}WB+*A1R~=k6H^PqYDnD7V1Wtc*cL9UZ;n6-OeT<>W@F z$Sg$d^zZzABK*mS&JED#L0ZFoN4ojPUJ|S_%sh}bbfU-`nK7Jj<`0oS7LM;xY4*hd<*@X7y#+v6wGk^1giGNf1;?=|58$m-&-7Bfriv^`33Q zC+(KTbM1{zKd(%Pc{E23!aFs})PlpVcAMJb*?;_mdWg%Ti_0TMHt1IKaUS}mKwJ6c zi#ebeNjB8=4XNlg7m+_EaK=!2%&5tZK1*|&u%qP%V|EfkN+al^^gKdJ7BsL4P9<;vPvtD9X=OwhlD6xHqSy-^~v-!M;26R(5nGlRuZhV3=tj=dY6C zpM%@Vg-7Ny7ejqHIX|r}eVjkA>+QVJ=dFZYuPBr>bqd^9P0bK&V)Oj)#7|6I8OX@4 zU;juiYWb6p*JCVmLKI?$_FH^Plo7h<^>*+}fQ&mY@7`(YNdvQVeuq?xgUY!^3%?@U z3s?K5o%+w0d0I*=uny;!D6WBFugkJ_cbgv`aj5y8Uwf?iHO-T=?{{vhExfjBpB_5y zz_9!ipJyOzTu!%cPXNlzmHh_~mJGjc;Za4V(N-=VK0de_e9mtLw+TB>ZDpl{kw9~4 z-_(@%&mYVs6Kb>KC(LRWnyL45bNgz3?Qw03q@JBFk+arX*yi(J@K>|{r1Ysc$A!$) zMY=r&HVm&tQnLJy1W>V1Gx^J}qcU`NKf1f|cU_$V*<1F;P|PA7+AS1=kLkv4G066@ zHzWR}v;2;`;bC5x5>Amui5aD2@^S_Urw z-V7}lGOj!x2@bv@q&?W5BrmVKxb_XCf0bH4=OnX&C?$J)^;<%qGF@(7g_3|GktaUgv&NRRo1Q^`L@f)rL++?1PsuD_*+0u|HL zf!=6P5*g%{?9tYbMezs0-@x#CwHTnoq1kPH1#)275}~B3s`nlphE*OQuX@;7j*^MW zibQKeq3*NOAMKmh`H}&#Y4EHPAPQ)$X+Hq&x(FG6 zOpFV_2vEFaaTBID3`1Fq#~f%T@xI_fTg-NB(=m8ISzKrS8zK*3>wZ!9nIRf>m$F8h z73hRsAPfrq0E{WrqXg~+22L)#fbGAWX%SY8&!HR$fw+9>67&g(=51+iUIAYjmf*H% z=m;b-6f}K8i-a45*N;%gPmP0i)aEvrNi;l9o_HX%6xIWLe!pFN6EM|=(-16I7Fya@ zcvazEQV-elwyj&w=;`%4O_xHqFAXcM6qR7O2;$YTAI`%~3(mOUiXxN=iV={7ZnQd) zi4?u%+4lCg*ZInYOBWimp){|YTtebF1olc=Fo+A4nfc{Mx0Ooa7bftqZdalm*Z+{{ zG}mmE?TMi^fYl^9LEV=fiS8qvuJ7KwnftWE$T2dacV2FFz7{4a!+?#wCga-UrCqNf zE6%NC#m;+?;2#h!^|#)S{f4G{{NvVjbED@TP=m-*Vkj4;v$km9KG;Q>+0c&=6f$E8 zc~)-XFz!Yu)8IC&i?&xKWj~BuZ^IAlJ908W%u)@6)!LjY!Pm$~0qu0R9Ik zi>N)?2-RNc>SC#D;tpj8toeksARIpsujT;N#0uGanT$YX7xG1CCPgSaBuu|P=&6cs zhp`;07vf3a`hz4blzLDfj}l5NX#ML;BNF#M$#%iT#1;<|4JmC-bPZqb?-7M>-qiPF z48-*$Ruz!bV3<8{pcik6Vmg23dM*w}fTa9RA!C|oB&xI4JLYL{KH7F5DzL*!I) zfq#=VGId!V{JR>++|=-K4{1CbzMu_(A7m3MDOyoI2rl>$`BWo8N(?|TVuzo|HCw-i zOROS66uETya^xRs)b4p_@=$Tjq!a3CM`i~o>%fB?{E8Rx3&RKifzKF=YYhzy)DKRB zzX)s^mz>8hUebY^pFePvj_!<;um;DK((kw+dnYS3;`knEK5N_bRW{_d6aN zPhQ)JxRTsy^9EH)`GEZO+1sALQ)*D2elgY%mmF&(2#tC=ss^qPA%jjolTtV3W=gi> zsS-J9fF%f~OVZ*GoL4`|B!aXEf|D0iB8ACP30Z(v!n~Xw&5X3VR~;;{2G%1BX{*@ExgNdlNb>UH*nzerFuG!U}gkjSfqdlAT7jUpX9I- zWzE+=d0~loXhV*U#7H_^f_RGSqgWvb?;wzweSIYa5+_uYURWfs82|zI8V@v@T3`lk z6bKAfg4yYO>OMTvfEeMVunVTiFybyrybb~`ymES{Ry8vkLEkEj`huMZhz-ns(^k{r z%k=fZ{;amTr%(6kv<)tVrtRPAIh5{Pg07V?>!^@h>GVPX2ET|%xNKT>m!UYcxB2>5 z^K56+zrSjDN9+bU0;`a9ZC4&Agu4lYyACN!y8k(8>Qz6`;VRev2YfKA^akX z9r%3DHPP@Qz_N(a4+L%47}1C zRF57^KNiC#3j={0#;#cX;ey~sxxC_nmN$<)6~Lb*=``@5q7krKADI#6Pzd>%J@*o3 zP=@H0MJ4O=g)GwF%C#sIkneI)XD(e~2Yl$BrN?-0F0`j5~L#s=H%rKnaPg${c|U zy1FMMY%of|fo@~za;S{T(WlrHal>e44C2dUIcHYZNtClMc_%jIwk-VO&01q2thnBK zo4H=pN!|#Aay9Y~mP%mq?+qK{g4P?ms&W8k!)g>k0O^l0DuFB-u2Q=t?aRzXF}F5E zYDSJg16?Zc33!4LK?cM5$=B>Xdr;pufRDcJV?Ra zBz9Ds;hC8hJN59XCbLHg*pSFlzhQc7Q_!l?%UAK~6QqqqrUpzQ-H>GvFKSWmIorxtC310p;fognn5==7?)=-~c(%~+op75l z^nF(G;%ghj)W;{M;t$?vTo_;;9%StE^P}p?hU1ToFpI~gpH9acIzD_*?AgKR$HU9p zcCG3l+;96Ea?4En>r=7JiW+U=Af%=xGtC#BTb0eU_rn8z8dlRISjcw&o&cCW{cu4W z_dCYco~<-*Fxt~(WKlSlv|OO0#+r~8;I1p zi&5_|^8%830AVg?}bQ4`>6ZVnS}Cg-sMO4OnZa zvA1~vPhp2K=6mC$(Fa)PFSWsXgW#!vd4vhGlmDZz~9crsmqe9a>0z|I#q;-7MwphLsmb=%nb3lBJYzfU~M9P<7Dj5>yz2r(yqUC@_S3EA*;g**%iIh!!gyMC}@SA=r7AA~D zV>Q^F)gL1wR*M-HR7o2tNy2Ob+to3RTfBAJvX+8Gy<6^0bc#d*^(_;7p^c#_5O`E)e)ieftYGeAe{JuXu;@kgmm~>P;bS@$U5+w!Z8HnxQ{7VHK%e^5>dg0~ z1Ly2jv~<3vJmv4v>T!aigOk=$Q%u52kV`52qm0>1-EL2J@fycxW@|<>uxI3-PF*Z) z*!Nj(9cixK^C;B5{{S^kHvgxuFOR2kZQEX^P%4#>5T#Pa3Q6WjC{uh2s4xwzer%7J}gZ2f|n?Ae); z*;P02@j6D8lg}tX;*9F_5-88)Umk-Bl zXfb`>zg~85X>_zgX&}KwyM@|vqTzAt0gYw$o$6Vqgpol4<8*M`_4mSywy=j( z%NQ>x11e#e#s09N>xXN`g9M&6*|hwnXjdnj)hS;zeQURd(Xd`UIlr$oNZ@1E&=u(m zM|viAoMfd}SS;JIPh*7Bt;yg@=oZJ#3%ZRVV;5ouH9}Dbh^a>e9omaxKDGE!pEIO6 zbr%+7nk5pgJW`uCF@gipmV<|PcnI?+errP}utw6@q{DPvom{iqx{roDB=Z+6 zOWfu%^8r%54x;{Qv_mdkC8wpC5^{Pxw3yxkRQy{(M%J;PKauu)WWmPYbG*tpoaE|WP);p) z*%6l$3p)kYEepKn)0;2!4@)kx{O-4Bp3(95P}!4f!lMs@i{Q-yy^TqJ>6EqxQzK>0 zw+D|?B)%?Z3@lTw`W{_es8l+AuF>GP8nISaQ#IIBm5u|J1}(?+;BM)R9g{xe^Cru>TyGC{YQ$rm5m&TXZVOK|$F7$rs@E^X zuv+R0?EUiu;MY7Iqkm%YB)|J-t=P`MFWd<}k?w0vMwbDOc6B}wDCJGhZmuCMmu>Jl zFj!~JEwrld7diOx{;(yd-);Or*hxniKM9c(Ssz*%LmZZC(!Ba_66+}mHIP5SqfIXM zc}26QU36w_^l{zv{Ij`@h2|rUw7?h%u=9AUS;m6zTXFvaJziDQJu55cNFn8{alqZX zovWGL{>25LI)1uB;?$Dh0Z7MnKN-Xw_v;@^TZNz&@c$9Ai4w~=t^aG2s&0}V!;!lZ zk#)7Ut&9gTAnsjC4_=NF{6mjuw`1tb+vn|%ERn{Lx5Nb_eic`X-;Z%iG#Oui3oO zoKuC{H)((=}ycoYSs+M0TM`S-(dNo}wf2+Tg-W&wto9yf)zS91;M&6$kwO`sM z)PiHNmhN@7+d<&tUU7cF%lUqb&vSr@WE^^~gl-GNi9*ke$SXIM(suhc<~19VWqp{5 zJG}P3Fb-qIZQ?8kes8{DO}mhwX`85ED^nbHefbAfocMOUIC@B4#aBgW+Dnd~3bj&V zJ>^$qt#N~P!Fts2p64nO=PD2qNSs@+HKR|5MvWiJ9HeK!Dq^qm4-|XsaBCzI9(_`@ zqPUJZ!{7)`$RX9<)s>Y6$d~AJ?&G;>6maJbVAkB+Tz8R;HRI?K6x`=>%13>DeIchQ z2B-kiU`8|jZ!5m2(wzAl9k22;H)J|2jDIY!EO<8&8wwJVEEoeh{8N?Mf-Ea1&Of_{ zgaB3J<7Ec~eA(M)UA!dlX#%DtN%pyJ1ueI|1R2ob ze3!XxhMyo;(B*kn)v|0#n}Q%?F~dRMe4HT754Pf}$=P^FzXCjrgbGztcEe+Hiw zDWFQMAP$2ALNr=v%hgm=(8>Ul5<-?q0hRI>=g;E#U#+j5uc@isYUUW8G}`5Rk4w@9 zURfxw;{~Ik2VP!Ul&GlzvJN-)sw^bU{B(}C`UY9;MrA-wkr5GT%~Yrdk*RyefQJ7b zrH!J8QT|`XdFN?|Qi?Vba*`;M8`O!UiHa{lHHQL#LQO0XH(@(h>g9PIm9jj_15z2^ zTW&lW<_Og2nUpRQFIHZy9)tk*MVK@LqkRM67dX-=ZPCxjxX(=hz3OMq(VPN(W0^=H zZEekXJ*J@^L4;TcUH)Q0qXt5xI zg$o)ui|e+@x3#p)fp+Ma{j0KD$AS*c*1mPjnc@LgEIkqxYwzZY_T$1JQfju21 z(i5lwky2)D9cM&AIFq==TYUJV$Bb_QwV|YCwKsaB-TyF`vE$8L4T)5?ir7Q@4-=?F z^{Hn4BZza@b}XnToKskRBhPpBd_V2e!f>mD%)Cv^0C9Xw%14iWz}yCp0B}&YP=xu} z13H%|>XD}OwU@jxH#eU0X5{_t#4e)nX?uUSe0o$XH6!xL696BLVB{Hx0%E{TW8%jh z{#8~1DdhlNf%G?UkWKl8a~V8pOIr73CiDeF99jO|u{^ay`S#HSW{0|erk!5qK&9Zl zr2pjNY&hMJqoskiaI2izhl}e&gsU*?!cLh1N7WN2+Oy9G25sNRat)IseIp~gwpU2f zBM^YpG|HGX*ohIJfXB)Nc1uVajO``QE{9-|Aq_bP1Axj(4dYNC%L&cY#Y>BO{eR$L z!%j12%F84)arm*>XHOhi=?<=iNl_M@(d8mrNTpXwSDq)e^8P7-s;rFKF8j6OQk*P7 z0zkB#BVn!cFg#qw;;rw84@ZrbQ$0cZg=jG+=g~Uv-hJv^3F77Y~8%QJ$E zsTnMM5C|0hi}nEt8`o&&>nc`*y*8I z=(%rc3kf!xID?q3Lt}U`zO}YC_AK*-0;!Ot&OMQ`$4`VyVC=1&Zm1o$KdHF5W5A() zLnBsUPHXB4lvNZP8=I9?Pu0;|p{$FP{14g?Y$J#ik9Ct(`}%X)#%WD(_kg869uQ2`Z@D#p`GQ@& zPBIN}+t0y_c?>g41rGP9cP7$gdc_oGkf~5$VKyef)M8I4r~k)jMbip z*JJpMr?a>>^fbK^@kC%8gu%vZL?06~MqnK621cfs7OSf>M{yoEn*h)YZA6$>Ny>Z`YbG`Tvz~R=s>kZtO=uNquj|s<9AoUM84><*(*_HK0<{%DqPBHtXxoy%!nO zQ2&oJHOT6lWVF;*kd%phB4Wzt>RPyb01H07$%e?&`M%eLR2xDW=ms92SzNpXA3twV zHu_bI6t$Fw*-plUG>^o^kCw$)%~C?s%sbd6xO+zmIsL3idl|y7sJGig{_)CCpP0poqCDt!XGf z+t#hFfbBg1)t~?Z1dBBXKfQGhaeU^8Z&|TNXQ+1n)a6*TIMCx9YT=pPb=9ROfP0-<(8dm>PaDHerCcbc02lEth|!+=?I#!*j! zqXT`xF;4~kp9*pOQ!z_iqE=oEQ+t3UPc@e!56ozQm3fO+t(Y2P5}fpy%(Z2U_5Lu7 zL^P+DZvIwb6gdEgo#)`62ToPm+q55o|dJj1#*U; zrt#f#8K#+!SGOmjPu=@O;XNR9MA&2`zaQ_G=l42s8!Lfv1e3I%>=RGnY8!TFhe18NUi@l zWg{3L*OIqh6+aAk4a;`n6#|O5{#oN>S06c--W>@O%)Spkd`@0&UzCYb=I*bjA^8%- zBD{{gKbQS6OIGIG#9u~o%7F{E)DfO|pFU>=9*~2@RfysqQW9qMp#JMt7ekAZPYy8g zrwnSyAIc14Ri1vlisWTMl;9+i`R|WesN*!wG+Cs9(<(ZBec?v$Tv6hZtS&3Hwe&J)1t;#6u<0;w| z#H!b!Kl(U>9DC8MPBoE+WIhweNYwoow4r5#rojU0T7J*`UhM<*DRm!9s}vTJ1n{;&Lw%)ceHOKeCczV-avy!CTG$^c!$RqOFxYM)@ zpzq?fh^Wo?mi)d~gs02jd(OOH=$&x7?AkuL?0Padf6E#(8WR2HKWof=mw)_w%MGdz zEuIV|-mw#Pb=NTAUAwtCYHl<>wPq9b~ho%7*s0sDYU(GcO zamZ4B6dGl<+mB`6l9Fw)qFQpU`UaHX1;H35(#0`!Vd6)fU91IB=BG5fsJz7AgKF8q zS=LiRRbw%E%d<&QVh!#=4l+EDQFxjAtSnkTn1KJA&OgS4;;!AP`@Wg`q=B*V7XCy? zXFf+;85;%(C?C6aZ5%AFSN6Rca|u>au_J_yoML_G1C|`5I=Dg%xH_@G?eF&i)f#AdN8blLuTw-S3HJ2%V)TR|HyAr&##!$?X|EyAPj&0jw9zAlv zeQMZdu-5>z1o-x3jH7L7y|z|l5F!)Q3y5*qWm;_cqR~^RTK=IJpm4|AiHC42k4>*v|q9IN;Kns-bN?U|laz&~;6L z^Zo}6)=@`I4j9+%sasxHT5~S{+(4(T+1$(4u-8cW3eswD6bdC-JmZeSduP? zxbXl8AaD5%B(YCFL0U1pXq>MQ#hPW;DIa*K3{HA%>^PH zWoxcRHXFnq!O&$j@Xfb*0P&`rgsbdP!6>d_*kLfudcmxU6TuG(Lfn3*;YOZ7Vfz>8 zUx$Nay2g>jxdD9pPY*NbrS)6W;%*Z-GP?4Ac5kzFs!XeBCMhKa&Lr&9OW>znYXyJV?><1#ydIth zKmxC-3J;o9%B;Q^5+g2BkpsWmZ~dP-wkoT_*HvvqQrAc$mh$L`=^l<$Oib)Sa2^{+ zEkEf}6l9x*SvFXHu`gcee6)fd6Ujv&-Tw0U4L*}6D#+uzPJ)SvQkuV~PHo%bAK)T{ zgYzwD1}%A)BcNhY;DwAEef5q-&81;G&j{pK<8AdiE-rI0ON|Z-`v$myn4@E&-YI5+ z$aDy+>J&_t5nToR6t8)Q#eXV-KIs5L*&(aN)P#Bq-+E1JfxX%5DEUyULzqm)-u(L^ zLLzf8AK)UkZePsF30Z2bclQe<& z7!1g43x}nqeb7K7OE#jN*xx(aM;dYhwV-6@f8r2D5zDgC`mu-hwZPr0fqLK7jFt{_7sE z+#Jk?fFw!0DMlBF;RBQ(R59EUP;yOx4eFkSq469gPzN7ggWRIRp<1t1V zWOo!d7DD{HHlcoAPZ&aQsv|19W@m!tAMO*2_phNLaDKr{KveiauKTD#unOSKeLc!N z`jm7>GiLtonIhL|3NEY}CF+*jlL0Yuu(kws*B{9Dk{#pqC&_Vkw z`D5?${ryRfRC?^k`8T}btH9TsGaH9)^E%c(x<=mz$a2*b&3`9HV{2yzjwR&vz7Ghd zjL5+Y+G0T#{V`xzpO1FlwPz31?r72xP>Lj$jPsOJnLj{-V=?y9j;zMLU8+4gC$=@|gGm^FZU4@=<)JdOg+^h{?$L0s<_;zJ{=VD*}S> z{nj>wFbCcmd+bx|&{OdcOjY*Ho1qQIBMIJ|w(kQ-#la9g=@9z{UI^sVrweVGQt_36 zNh9U8BuU#1nUhn5Bf?|DthGT}DF?!i(>X(}#HsXT;!gH^ib=EA!SytqlR{799Rkp} z{IBNUU8s?)3N;Rk9~{1>Ty~xCLH=Th88@HA|K@Kz5oN=nyf8w??K0e?voc4sIBi6p zrh(hp#H0#Ipvjo{rE+)|vM8{FB|IZcnYi0b#>ZP8pNEljCTpiDy) z$W#|Y|3P@~617LVk=a#lwTK76AvHbe{njd9Gip)4fe{}Dg_$H4TJl)Z`TqBw`lE7 zTBf5~DcNyxH1qgy-$O+E!~fPYv+F0(_?E7RtoYB7Z$U%!P;p)soH9$Wx&H6-zWpTd z&@IGt>!AqDI_2e~MTZ+;394I5B3rL`j^oS0o(|w@wKKlU!Q*r9zF8WHR9Ol;z_Mk# zFHR>#(>=Ee^hEWk8lk<|EtljVQ_B3C4>~O%k8ead6fe}<t z7E75^Bx@?x2L1>KkRJIfKL2^j6*B&h=urG#{U=o&qm^;+$`JqQ7lRVUvp@U#kX1vZ zFpmt7zJENIP4p>np-@m*hDKwtkg5D?&Y`go(k&ZTNw$^$k5KnxXp~J_C}X_xptLLb1k|B)Z9Z?ui*L=f4(K2 zqW26qVp@&oZ={GebVK(6B3L#0sWa!1TUi3a7yx}TYJL#f7{}sORaK$ND2o2_^{b$| zp1yvgA{k@hqpT~trNzdL8(nyEkbF4}k+`5b$<4X@{=vDN*aYrQmXHA`O zafgcwriVX0#J6w%0g|n>+sqZ{{it0;W;EE!h%Kv*JT!g-2S2tit@E-|bc<7{UJ0i6 z-aUIpubsm*0^1d^=J{!59HCi%j!=}8&~too`z1LUB47;`>B;2d7Mwr9+?KuZi<`fv zUQ;Y;zZE>#31&RR7FNbfP4b0zKA}0BFWc-j5zp}LQb(4R zCK&f%qvDzZ>BPXmZ|LQ%4SQCaysBLZvRJSW@c!toX0;Mye!oU>4j-_0K7&O7JirEz<||@^aHjw$4`9Xqo82k&_ZPwP$ z+HD_Og)y(rCy~|<5g7sbuUT~bJ z8>Wc}3O+{@EC)UiIf?gA1{-G}5$n!jIpCHgjNMs)MSGYW-ZB@T3>0I&lc5Du9W zYaT^o{)03(B3%#1`MT50nV=si&h%?}5t^<8{}V&bcI@QW~AICyGp98Y!`%a7UNF$dn4(woj9&QIF=-YZa3eG zYZRXNU;B~SCUdhp7fKqsU}@^IE{5WScNz)uz#0*f7KJDxo}1$ zNWdtSrAt&uh>BjrEYtEmYGT+f80zX;NN^QJ=Ucw_2TRnoHoKGD{5NRr?op)btK63Z zqyxso|7%bCL#aS>CmvLhb!mTCj!AmP&Di;et76dO^YecP!P1H|8JngWdawr<@@@EbC_fs@U&+La9VHX4R1)l1y(EhLp5 z>PamqpY%-8Tf7uA+Uc6Lcdv)z4kN?(o=TTTXN&`X+E9)+w7q5<3|R0esp)H#-D$8l zp5@oTK&HoU3Fv&$7kx&fDW*oZPT$UMBp@lHwxxw@-K`si>waTQuR0o8%qTrgF=E`X z)96b=z$b%x-Y!%o`iE()#ji1wz8;t6He^eB{`^w8h^pOh@@E4bo!{sU?#{hNRS$Dw z;t!wD)(#9AG?LXVX&vMsnVS)N_~G)BxAlGZC{Foy z%Jdpi#l9P%N_uR`J{@5eaD#p*BvcXN*i%_>=2M7uxFx1T*RL+lIT{$ijy2Wlf&HY5 zBP-rOTuQ44@NnASBKWl_inmLD%@r%Rri|zQ{@yoxDm93k7bHZjJM*dO=ZGUIFE%yx z6?c-^|GF8p(oJMV7hF)UGkjH9oXbG>545xMZB5U}C~1yfQl^H0|&-Y-pKtfr6Z)6=)a*TAZmkvlc!G2fESM*P8NDK z{2YARtE=7M>|13TGGaD|ai$&oxw;o+Vng;zv)^?t>S*URZpPy69(`rO=^tN_73q-O zR!HX2A=anN0i%eL4eu@%@3_+Zi>(wFLA`9$N!FmkyDm3Z(%x#H2IaZh$B@Yjl%F<6 zoj<~pRTJtG`R^7Ldz5%0oDPKqt~^SFd8FQgr-JQher^uPBxac4Z4-STE&*Jd(K!=a zAE+8J?!@vXw2<`S&!S*`5J2gEW2Q-R~NC9pxmv6 zl!lLtNY}lnfWgm-yTuDOmkiAAaT9Lbn1)95)~#FVDGd4FF@#{e`jw}u>w<)dj?RlT z$sB|TKHgzq5X@eh?@}alTQEP1*YOfX&?__0X%*J6N<+?Yd-{*1jvq$?3nUR2!=6OifJRsP$bUN+fu>?WJmzI{jA5=$D z#nye@Q4oYPh}a~xu-`zK8+x$(!v}2q!t1=JoMeC8Oii_Yd6@k!oYEtbK_OshkO2Jm zGA0w7>FcRkx5M(0dEcPtKulCn=ab2RpWSb>qp{NxCtv2|K$3l0i}{5Qj{+At!9mpTYpC6Tobsb3`l^ z%lh>-)z!!ZGqxU_nQ=OQzK`&Z3jc{i4=QXhW0+9V;t+b-;i9>4&D`7^KL~2&+-7pH z)hudoIyySns!f*$h>ZX~3st?V>1he36eQ1&96Thc&xL&wty`8vrx{2U=j;vIyXQ(y z-q~>V^jWvhFL4BgO;?135X+o6_4C7paQW`uJ$X4hs&iy|)(uedVcR{GUC{DV85!-5 z{J#qa5B7dyr%+khDWr_l&wGo)Ff@0^1Hz`r{J{4sUq_~)h`~0L)TuYIYMWu9m$2oi znAyMU1mZAK07!>J1fPy0Da`h+fO;o`-55%FAyIF|K-HiUmqe?bH!WOiiuo)iW>%?HxW6OEZ)p zaxo+<**g3j_KKe-^jixX=$@wzPCc19sp)uv!_)bh=-l;t{>Iu3DvqYRjhK5XE&uhS zS}&>M@q&1qjCXA%{c;a6ZNUJWXu$8(RzuQWBu;-se zWqIguA}0Hm0}6?1l;=B)zVs3msXkj$VxsT7HQ)RezpK2x zH1>@rwQN)jJ!N77+qYhO$Rn;7ZdO${A@vPT4)PIIabsq_h6yR9WzDggs|tKHitIsF zhuH7pQ96E*UQq^l*&vC4m_0~dWlQoZdbPiuMDh}_>B7V8`YXSjI%%)D_UzUMiDdxT ztuO7WvYre2r=})bkLfayTH|mTSc0vL+th{pHzI#K^GUKbv6nbIr>34OaP&$TC_q9L zUc7fya9XK!WjqS=73^8U5dBkKq`9S7cJKxY`3DW|+ilw1@TlC< z#QL$&tg8HCvDRG_6}r3oG~8r2F}&!f(aPOH;=4%P#-BT7ykYDVT*>8U!TI55#L)1K zR%_d~_aCgKj&;5qdb)CSnNv146+5*V&1Sr7C~;V(^(w-RRx~`;Sjr4j@Lv0*K`RY~ zYsp>L3r8%?QdAl2t#0owz4jpPQzZ$SB5N?8uk-eUB|Lady9E_Lsbd_yS7G@{gLgQo(6MM0u;**Q3E! zw7jj|WL0q5qCfFpQhwT8j1$r@v(GitwYQQR{CZ}w)9y{OwFYkR&YMS5dAuc-=yJ3? VdHt846BBBZx~i56McMrC{{vxBWw8JN literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 2393b5ee6..b92351330 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.2.44", "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.2.1", - "@comfyorg/litegraph": "^0.7.59", + "@comfyorg/litegraph": "^0.7.60", "@primevue/themes": "^4.0.0-rc.2", "@vitejs/plugin-vue": "^5.0.5", "@vueuse/core": "^11.0.0", @@ -1883,9 +1883,9 @@ "dev": true }, "node_modules/@comfyorg/litegraph": { - "version": "0.7.59", - "resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.7.59.tgz", - "integrity": "sha512-Qy4uRa/16MxvsNubBXs+hOVVXKpmNHiQCg/VanFEv2koYrXi4mf/9zKWNNNukoDgL2aMoFpVkXS5O/TiWzFWbg==", + "version": "0.7.60", + "resolved": "https://registry.npmjs.org/@comfyorg/litegraph/-/litegraph-0.7.60.tgz", + "integrity": "sha512-iWo4CAJDL6Ma1mDboRUp58nDSNriquhC8KgHC9T68jA0+Cjd8YBnN8Nqbvv6VI52RvMGpG5MUBcjYEZs2kys/Q==", "license": "MIT" }, "node_modules/@cspotcode/source-map-support": { diff --git a/package.json b/package.json index a908e9db6..4f74ac305 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ }, "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.2.1", - "@comfyorg/litegraph": "^0.7.59", + "@comfyorg/litegraph": "^0.7.60", "@primevue/themes": "^4.0.0-rc.2", "@vitejs/plugin-vue": "^5.0.5", "@vueuse/core": "^11.0.0", diff --git a/src/components/dialog/content/setting/SettingGroup.vue b/src/components/dialog/content/setting/SettingGroup.vue index effbb6a43..bddd53971 100644 --- a/src/components/dialog/content/setting/SettingGroup.vue +++ b/src/components/dialog/content/setting/SettingGroup.vue @@ -10,6 +10,10 @@
+ {{ setting.name }} - + @@ -18,7 +18,7 @@ import SideToolbar from '@/components/sidebar/SideToolbar.vue' import LiteGraphCanvasSplitterOverlay from '@/components/LiteGraphCanvasSplitterOverlay.vue' import NodeSearchboxPopover from '@/components/searchbox/NodeSearchBoxPopover.vue' import NodeTooltip from '@/components/graph/NodeTooltip.vue' -import { ref, computed, onUnmounted, watch, onMounted, watchEffect } from 'vue' +import { ref, computed, onUnmounted, onMounted, watchEffect } from 'vue' import { app as comfyApp } from '@/scripts/app' import { useSettingStore } from '@/stores/settingStore' import { dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter' @@ -48,16 +48,6 @@ const canvasStore = useCanvasStore() const betaMenuEnabled = computed( () => settingStore.get('Comfy.UseNewMenu') !== 'Disabled' ) -const nodeSearchEnabled = computed( - () => settingStore.get('Comfy.NodeSearchBoxImpl') === 'default' -) - -watchEffect(() => { - LiteGraph.release_link_on_empty_shows_menu = !nodeSearchEnabled.value - if (canvasStore.canvas) { - canvasStore.canvas.allow_searchbox = !nodeSearchEnabled.value - } -}) watchEffect(() => { const canvasInfoEnabled = settingStore.get('Comfy.Graph.CanvasInfo') diff --git a/src/components/searchbox/NodeSearchBox.vue b/src/components/searchbox/NodeSearchBox.vue index 4e790e468..138e73c17 100644 --- a/src/components/searchbox/NodeSearchBox.vue +++ b/src/components/searchbox/NodeSearchBox.vue @@ -116,15 +116,15 @@ const showIdName = computed(() => settingStore.get('Comfy.NodeSearchBoxImpl.ShowIdName') ) -const props = defineProps({ - filters: { - type: Array - }, - searchLimit: { - type: Number, - default: 64 +const props = withDefaults( + defineProps<{ + filters: FilterAndValue[] + searchLimit: number + }>(), + { + searchLimit: 64 } -}) +) const nodeSearchFilterVisible = ref(false) const inputId = `comfy-vue-node-search-box-input-${Math.random()}` diff --git a/src/components/searchbox/NodeSearchBoxPopover.vue b/src/components/searchbox/NodeSearchBoxPopover.vue index 1b97f42af..bed7019a6 100644 --- a/src/components/searchbox/NodeSearchBoxPopover.vue +++ b/src/components/searchbox/NodeSearchBoxPopover.vue @@ -31,23 +31,21 @@ diff --git a/src/stores/settingStore.ts b/src/stores/settingStore.ts index 2d60fb67b..63353ebda 100644 --- a/src/stores/settingStore.ts +++ b/src/stores/settingStore.ts @@ -10,7 +10,10 @@ import { app } from '@/scripts/app' import { ComfySettingsDialog } from '@/scripts/ui/settings' import { Settings } from '@/types/apiTypes' -import { LinkReleaseTriggerMode } from '@/types/searchBoxTypes' +import { + LinkReleaseTriggerAction, + LinkReleaseTriggerMode +} from '@/types/searchBoxTypes' import { SettingParams } from '@/types/settingTypes' import { buildTree } from '@/utils/treeUtil' import { defineStore } from 'pinia' @@ -83,10 +86,26 @@ export const useSettingStore = defineStore('setting', { id: 'Comfy.NodeSearchBoxImpl.LinkReleaseTrigger', category: ['Comfy', 'Node Search Box', 'LinkReleaseTrigger'], name: 'Trigger on link release', - tooltip: 'Only applies to the default implementation', - type: 'combo', + type: 'hidden', options: Object.values(LinkReleaseTriggerMode), - defaultValue: LinkReleaseTriggerMode.ALWAYS + defaultValue: LinkReleaseTriggerMode.ALWAYS, + deprecated: true + }) + + app.ui.settings.addSetting({ + id: 'Comfy.LinkRelease.Action', + name: 'Action on link release (No modifier)', + type: 'combo', + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU + }) + + app.ui.settings.addSetting({ + id: 'Comfy.LinkRelease.ActionShift', + name: 'Action on link release (Shift)', + type: 'combo', + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.SEARCH_BOX }) app.ui.settings.addSetting({ @@ -219,7 +238,8 @@ export const useSettingStore = defineStore('setting', { id: 'Comfy.NodeLibrary.Bookmarks', name: 'Node library bookmarks with display name (deprecated)', type: 'hidden', - defaultValue: [] + defaultValue: [], + deprecated: true }) app.ui.settings.addSetting({ diff --git a/src/types/apiTypes.ts b/src/types/apiTypes.ts index 74f211e38..4efc5b4e9 100644 --- a/src/types/apiTypes.ts +++ b/src/types/apiTypes.ts @@ -2,6 +2,7 @@ import { ZodType, z } from 'zod' import { zComfyWorkflow, zNodeId } from './comfyWorkflow' import { fromZodError } from 'zod-validation-error' import { colorPalettesSchema } from './colorPalette' +import { LinkReleaseTriggerAction } from './searchBoxTypes' const zNodeType = z.string() const zQueueIndex = z.number() @@ -419,6 +420,10 @@ const zBookmarkCustomization = z.object({ }) export type BookmarkCustomization = z.infer +const zLinkReleaseTriggerAction = z.enum( + Object.values(LinkReleaseTriggerAction) as [string, ...string[]] +) + const zSettings = z.record(z.any()).and( z .object({ @@ -454,6 +459,8 @@ const zSettings = z.record(z.any()).and( 'hold shift', 'NOT hold shift' ]), + 'Comfy.LinkRelease.Action': zLinkReleaseTriggerAction, + 'Comfy.LinkRelease.ActionShift': zLinkReleaseTriggerAction, 'Comfy.NodeSearchBoxImpl.NodePreview': z.boolean(), 'Comfy.NodeSearchBoxImpl': z.enum(['default', 'simple']), 'Comfy.NodeSearchBoxImpl.ShowCategory': z.boolean(), diff --git a/src/types/searchBoxTypes.ts b/src/types/searchBoxTypes.ts index 91855e76c..d80140590 100644 --- a/src/types/searchBoxTypes.ts +++ b/src/types/searchBoxTypes.ts @@ -3,3 +3,9 @@ export enum LinkReleaseTriggerMode { HOLD_SHIFT = 'hold shift', NOT_HOLD_SHIFT = 'NOT hold shift' } + +export enum LinkReleaseTriggerAction { + CONTEXT_MENU = 'context menu', + SEARCH_BOX = 'search box', + NO_ACTION = 'no action' +} diff --git a/src/types/settingTypes.ts b/src/types/settingTypes.ts index 77c3c59c2..34ab85ddd 100644 --- a/src/types/settingTypes.ts +++ b/src/types/settingTypes.ts @@ -44,4 +44,5 @@ export interface SettingParams { // Note: Like id, category value need to be unique. category?: string[] experimental?: boolean + deprecated?: boolean }