sd-webui-infinite-image-bro.../vue/dist/assets/TopicSearch-0c248448.js

2 lines
8.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{d as ce,a1 as ue,r,G as I,m as Y,o as re,U as i,V as _,W as s,Y as a,a2 as b,a3 as p,X as h,$ as g,c as u,cp as pe,a4 as F,Z as de,a8 as _e,cA as he,cB as ve,z as Z,B as H,cC as me,cD as ge,R as M,ak as ye,aj as fe,aO as Se,ah as ke,T as we,aP as be,aQ as $e,a0 as Ce}from"./index-db391c6a.js";/* empty css */import{S as Te}from"./index-6be5f2d5.js";import{_ as Be}from"./index-4a1bd1ce.js";/* empty css */import{_ as Ie}from"./index-ae90fb7e.js";const N=$=>(be("data-v-39216928"),$=$(),$e(),$),Ne={class:"topic-search"},Pe={class:"toolbar"},Ge={class:"left"},ze={class:"title"},Me=N(()=>s("span",{class:"icon"},"🧠",-1)),Oe={class:"right"},qe={key:0,style:{opacity:"0.75"}},De={class:"label"},Ee={class:"label"},Re={key:0,style:{"margin-top":"10px"}},Fe={key:1,class:"grid"},Ue=["onClick"],Ae={class:"card-top"},Qe={class:"card-title line-clamp-1"},Ve={class:"card-count"},xe={class:"card-desc line-clamp-2"},Le={key:2,class:"empty"},Ke={class:"guide"},je={class:"guide-row"},Je=N(()=>s("span",{class:"guide-icon"},"🗂️",-1)),We={class:"guide-text"},Xe={class:"guide-row"},Ye=N(()=>s("span",{class:"guide-icon"},"🧠",-1)),Ze={class:"guide-text"},He={class:"guide-row"},et=N(()=>s("span",{class:"guide-icon"},"🔎",-1)),tt={class:"guide-text"},st={class:"guide-hint"},at=N(()=>s("span",{class:"guide-icon"},"💡",-1)),ot={key:0,class:"guide-text"},nt={key:1,class:"guide-text"},U="topic_search_scope",lt=ce({__name:"TopicSearch",props:{tabIdx:{},paneIdx:{}},setup($){const A=$,l=ue(),C=r(!1),O=r(.86),q=r(2),v=r(null),P=r(""),G=r(!1),y=r(null),f=r(!1),m=r([]),z=r(!1),D=r(!1);let E=null,Q="";const ee=I(()=>(l.quickMovePaths??[]).filter(t=>{const o=String((t==null?void 0:t.key)??"");return((t==null?void 0:t.types)??[]).includes("preset")&&["cwd","home","desktop"].includes(o)}).map(t=>String((t==null?void 0:t.dir)??"")).filter(Boolean));Y(ee,e=>{e!=null&&e.length&&(m.value=(m.value??[]).filter(t=>!e.includes(t)))},{immediate:!0});const te=I(()=>(l.quickMovePaths??[]).filter(t=>{const o=String((t==null?void 0:t.key)??"");return!(((t==null?void 0:t.types)??[]).includes("preset")&&["cwd","home","desktop"].includes(o))}).map(t=>({value:t.dir,label:t.zh||t.dir}))),k=I(()=>(m.value??[]).filter(Boolean).length),T=I(()=>(m.value??[]).filter(Boolean)),V=I(()=>{var e;return(((e=v.value)==null?void 0:e.clusters)??[]).slice(0,12)}),se=async()=>{var o,c,S;if(z.value)return;try{const d=await he();l.conf=d}catch{}const e=((o=l.conf)==null?void 0:o.app_fe_setting)||{},t=(c=e==null?void 0:e[U])==null?void 0:c.folder_paths;Array.isArray(t)&&t.length&&!((S=m.value)!=null&&S.length)&&(m.value=t.map(d=>String(d)).filter(Boolean)),z.value=!0},x=async()=>{var t,o;if((t=l.conf)!=null&&t.is_readonly||!z.value)return;const e={folder_paths:T.value,updated_at:Date.now()};await ve(U,e),(o=l.conf)!=null&&o.app_fe_setting&&(l.conf.app_fe_setting[U]=e)},ae=()=>{var t;if((t=l.conf)!=null&&t.is_readonly||!z.value)return;const e=JSON.stringify(T.value);e!==Q&&(E&&clearTimeout(E),E=setTimeout(async()=>{D.value=!0;try{await x(),Q=e}finally{D.value=!1}},500))},R=async()=>{var e;if(!((e=l.conf)!=null&&e.is_readonly)){if(!k.value){Z.warning(H("topicSearchNeedScope")),f.value=!0;return}C.value=!0;try{v.value=await me({threshold:O.value,min_cluster_size:q.value,lang:l.lang,folder_paths:T.value})}finally{C.value=!1}}},L=async()=>{const e=(P.value||"").trim();if(e){if(!k.value){Z.warning(H("topicSearchNeedScope")),f.value=!0;return}G.value=!0;try{y.value=await ge({query:e,top_k:80,ensure_embed:!0,folder_paths:T.value}),K()}finally{G.value=!1}}},K=()=>{var S;const e=(((S=y.value)==null?void 0:S.results)??[]).map(d=>d.path).filter(Boolean);if(!e.length)return;const t=`Query: ${P.value.trim()}${e.length}`,o={type:"topic-search-matched-image-grid",name:t,key:Date.now()+M(),id:M(),title:t,paths:e},c=l.tabList[A.tabIdx];c.panes.push(o),c.key=o.key},oe=e=>{const t={type:"topic-search-matched-image-grid",name:`${e.title}${e.size}`,key:Date.now()+M(),id:M(),title:e.title,paths:e.paths},o=l.tabList[A.tabIdx];o.panes.push(t),o.key=t.key};return re(()=>{(async()=>(await se(),k.value&&await R()))()}),Y(()=>T.value,()=>{ae()},{deep:!0}),(e,t)=>{var j,J,W,X;const o=Ie,c=ye,S=fe,d=Be,B=Se,ne=Te,le=ke,ie=we;return i(),_("div",Ne,[s("div",Pe,[s("div",Ge,[s("div",ze,[Me,s("span",null,a(e.$t("topicSearchTitleExperimental")),1)]),v.value?(i(),b(o,{key:0,color:"blue"},{default:p(()=>[h("共 "+a(v.value.count)+" 张",1)]),_:1})):g("",!0),v.value?(i(),b(o,{key:1,color:"geekblue"},{default:p(()=>[h("主题 "+a(v.value.clusters.length),1)]),_:1})):g("",!0),v.value?(i(),b(o,{key:2,color:"default"},{default:p(()=>[h("噪声 "+a(v.value.noise.length),1)]),_:1})):g("",!0)]),s("div",Oe,[u(c,{onClick:t[0]||(t[0]=n=>f.value=!0)},{default:p(()=>[h(a(e.$t("topicSearchScope"))+" ",1),k.value?(i(),_("span",qe,""+a(k.value)+"",1)):g("",!0)]),_:1}),u(S,{value:P.value,"onUpdate:value":t[1]||(t[1]=n=>P.value=n),style:{width:"min(420px, 72vw)"},placeholder:e.$t("topicSearchQueryPlaceholder"),disabled:G.value,onKeydown:pe(L,["enter"]),"allow-clear":""},null,8,["value","placeholder","disabled","onKeydown"]),u(c,{loading:G.value,onClick:L},{default:p(()=>[h(a(e.$t("search")),1)]),_:1},8,["loading"]),(J=(j=y.value)==null?void 0:j.results)!=null&&J.length?(i(),b(c,{key:0,onClick:K},{default:p(()=>[h(a(e.$t("topicSearchOpenResults")),1)]),_:1})):g("",!0),s("span",De,a(e.$t("topicSearchThreshold")),1),u(d,{value:O.value,"onUpdate:value":t[2]||(t[2]=n=>O.value=n),min:.5,max:.99,step:.01},null,8,["value"]),s("span",Ee,a(e.$t("topicSearchMinClusterSize")),1),u(d,{value:q.value,"onUpdate:value":t[3]||(t[3]=n=>q.value=n),min:1,max:50,step:1},null,8,["value"]),u(c,{type:"primary",ghost:"",loading:C.value,disabled:(W=F(l).conf)==null?void 0:W.is_readonly,onClick:R},{default:p(()=>[h(a(e.$t("refresh")),1)]),_:1},8,["loading","disabled"])])]),(X=F(l).conf)!=null&&X.is_readonly?(i(),b(B,{key:0,type:"warning",message:e.$t("readonlyModeSettingPageDesc"),style:{margin:"12px 0"},"show-icon":""},null,8,["message"])):g("",!0),u(ne,{spinning:C.value},{default:p(()=>{var n;return[y.value?(i(),_("div",Re,[u(B,{type:"info",message:e.$t("topicSearchRecallMsg",[y.value.results.length,y.value.count,y.value.top_k]),"show-icon":""},null,8,["message"])])):g("",!0),V.value.length?(i(),_("div",Fe,[(i(!0),_(de,null,_e(V.value,w=>(i(),_("div",{class:"card",key:w.id,onClick:it=>oe(w)},[s("div",Ae,[s("div",Qe,a(w.title),1),s("div",Ve,a(w.size),1)]),s("div",xe,a(w.sample_prompt),1)],8,Ue))),128))])):(i(),_("div",Le,[u(B,{type:"info","show-icon":"",message:e.$t("topicSearchGuideTitle"),style:{"margin-bottom":"10px"}},null,8,["message"]),s("div",Ke,[s("div",je,[Je,s("span",We,a(e.$t("topicSearchGuideStep1")),1),u(c,{size:"small",onClick:t[4]||(t[4]=w=>f.value=!0)},{default:p(()=>[h(a(e.$t("topicSearchScope")),1)]),_:1})]),s("div",Xe,[Ye,s("span",Ze,a(e.$t("topicSearchGuideStep2")),1),u(c,{size:"small",loading:C.value,disabled:(n=F(l).conf)==null?void 0:n.is_readonly,onClick:R},{default:p(()=>[h(a(e.$t("refresh")),1)]),_:1},8,["loading","disabled"])]),s("div",He,[et,s("span",tt,a(e.$t("topicSearchGuideStep3")),1)]),s("div",st,[at,k.value?(i(),_("span",nt,a(e.$t("topicSearchGuideEmptyReasonNoTopics")),1)):(i(),_("span",ot,a(e.$t("topicSearchGuideEmptyReasonNoScope")),1))])])]))]}),_:1},8,["spinning"]),u(ie,{visible:f.value,"onUpdate:visible":t[6]||(t[6]=n=>f.value=n),title:e.$t("topicSearchScopeModalTitle"),"mask-closable":!0,onOk:t[7]||(t[7]=()=>{f.value=!1,x()})},{default:p(()=>[u(B,{type:"info","show-icon":"",message:e.$t("topicSearchScopeTip"),style:{"margin-bottom":"10px"}},null,8,["message"]),D.value?(i(),b(B,{key:0,type:"info","show-icon":"",message:e.$t("topicSearchSavingToBackend"),style:{"margin-bottom":"10px"}},null,8,["message"])):g("",!0),u(le,{value:m.value,"onUpdate:value":t[5]||(t[5]=n=>m.value=n),mode:"multiple",style:{width:"100%"},options:te.value,placeholder:e.$t("topicSearchScopePlaceholder"),"max-tag-count":3,getPopupContainer:n=>n.parentElement||n,"allow-clear":""},null,8,["value","options","placeholder","getPopupContainer"])]),_:1},8,["visible","title"])])}}});const ht=Ce(lt,[["__scopeId","data-v-39216928"]]);export{ht as default};