zen-gitsync 2.18.19 → 2.18.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -1
- package/src/ui/public/assets/{AgentView-CRkUXGCW.js → AgentView-Du9akUeZ.js} +2 -2
- package/src/ui/public/assets/{AppVersionBadge-Dqca8Uoi.js → AppVersionBadge-86tbKU20.js} +2 -2
- package/src/ui/public/assets/{BranchSelector-CN2iCCAs.js → BranchSelector-CsrkmTCA.js} +1 -1
- package/src/ui/public/assets/{ChatSilenceBadge-ltPjxE4-.js → ChatSilenceBadge-BBoFeSqe.js} +1 -1
- package/src/ui/public/assets/{CommitForm-mOWC0Zio.js → CommitForm-DBK0GXEh.js} +1 -1
- package/src/ui/public/assets/{CommonDialog-D2f72EzI.js → CommonDialog-BkuDIWro.js} +1 -1
- package/src/ui/public/assets/EditorAgentPanel-BMUphuG0.css +1 -0
- package/src/ui/public/assets/EditorAgentPanel-KiHbQPJP.js +34 -0
- package/src/ui/public/assets/EditorView-B18B4yNJ.js +13 -0
- package/src/ui/public/assets/EditorView-CnWsMdHg.css +1 -0
- package/src/ui/public/assets/{FlowExecutionViewer-4dAyrq6w.js → FlowExecutionViewer-ClUkAmA2.js} +1 -1
- package/src/ui/public/assets/{FlowOrchestrationWorkspace-BYcu7GZu.js → FlowOrchestrationWorkspace-B3sOK3fz.js} +1 -1
- package/src/ui/public/assets/{LogList-n-gSd_A8.js → LogList-6aO0-2xh.js} +1 -1
- package/src/ui/public/assets/{MindmapView-DZHwQrhd.css → MindmapView-BDI3D_1h.css} +1 -1
- package/src/ui/public/assets/MindmapView-aJ9TTijE.js +4 -0
- package/src/ui/public/assets/{MonitorView-D0mJlgEJ.js → MonitorView-fcNrgVaU.js} +1 -1
- package/src/ui/public/assets/{ProjectManagerView-CuKtgxJg.js → ProjectManagerView-CZfrML6A.js} +1 -1
- package/src/ui/public/assets/{ProjectStartupButton-Cx0JvDzM.js → ProjectStartupButton-D5MREz6F.js} +1 -1
- package/src/ui/public/assets/{RecentDirectoriesChat-5OEF3wdB.js → RecentDirectoriesChat-wfkSF6NU.js} +1 -1
- package/src/ui/public/assets/{RemoteManagerDialog-ItxNmLvY.js → RemoteManagerDialog-BBwNlK9J.js} +1 -1
- package/src/ui/public/assets/{RemoteRepoCard-y-GzPZ7M.js → RemoteRepoCard-CTnmfv2y.js} +1 -1
- package/src/ui/public/assets/{SourceMapView-DXJUPkaX.js → SourceMapView-B4q5qiE8.js} +1 -1
- package/src/ui/public/assets/{SvgIcon-DkU8Uro2.js → SvgIcon-WpEiC1rI.js} +1 -1
- package/src/ui/public/assets/{UserInputNode-unSg-ucz.js → UserInputNode-Deoc3UvQ.js} +1 -1
- package/src/ui/public/assets/{WorkbenchView-C2-X3Ik_.js → WorkbenchView-CijzpDWN.js} +1 -1
- package/src/ui/public/assets/{_plugin-vue_export-helper-Dz34f-q7.js → _plugin-vue_export-helper-BhdsvhKo.js} +2 -2
- package/src/ui/public/assets/{agentConversations-DLAC_0wI.js → agentConversations-DaAtF1v4.js} +3 -3
- package/src/ui/public/assets/{configStore-BjNspgAX.js → configStore-Drlw8KtR.js} +1 -1
- package/src/ui/public/assets/{flow-mindmap-DqCKZUlr.css → flow-mindmap-BwYC4xxV.css} +1 -1
- package/src/ui/public/assets/flow-mindmap-cTg78Krq.js +139 -0
- package/src/ui/public/assets/{index-BybDOX1D.js → index-cDiVh_ZL.js} +6 -6
- package/src/ui/public/assets/{relativeTime-DN4_NV-7.js → relativeTime-CoXAs57j.js} +1 -1
- package/src/ui/public/assets/{toolsStore-C5a4cV7b.js → toolsStore-CnX34C96.js} +1 -1
- package/src/ui/public/assets/{useOrchestrator-Cd6p-ldI.js → useOrchestrator-BXmxJsRl.js} +1 -1
- package/src/ui/public/assets/{useWorkbenchProjects-OkQTFYcp.js → useWorkbenchProjects-BS59r5Rj.js} +1 -1
- package/src/ui/public/index.html +8 -8
- package/src/ui/server/routes/workbench/agentChat.js +12 -4
- package/src/ui/server/routes/workbench/agentChatContext.test.js +22 -0
- package/src/ui/server/routes/workbench/agentRoutes.js +12 -0
- package/src/ui/public/assets/EditorView-D7tyqaAl.js +0 -46
- package/src/ui/public/assets/EditorView-cW_Ax-z8.css +0 -1
- package/src/ui/public/assets/MindmapView-msWKbkjo.js +0 -2
- package/src/ui/public/assets/flow-mindmap-CpjwoduB.js +0 -259
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-C0FnF6B9.js";import{An as e,Cn as t,Gn as n,In as r,J as i,Kr as a,L as o,Mn as s,Sn as c,Tn as l,Un as u,W as d,Wr as f,Xr as p,Yn as m,_n as h,a as g,ar as _,ct as v,gn as y,gr as b,i as x,ir as S,jr as C,kn as w,lr as T,mn as E,mt as D,nr as O,on as k,qn as A,r as j,wn as M,xn as N,yn as P,z as F}from"./element-plus-Bz6lYur-.js";import{C as ee,S as I,m as te}from"./vendor-C2k0GBzj.js";import{n as L,t as R}from"./_plugin-vue_export-helper-Dz34f-q7.js";import{o as ne,t as z}from"./configStore-BjNspgAX.js";import{n as re,t as ie}from"./flow-mindmap-CpjwoduB.js";import{V as ae,a as oe}from"./index-BybDOX1D.js";T(),r();function B(e){let t=(e||``).trim();if(!t)return``;let n=t.replace(/[\\/]+$/,``);return n?/^[a-z]:$/i.test(n)?`${n}\\`:n:t}function V(e){return B(e).replace(/\//g,`\\`).replace(/\\+$/,``).toLowerCase()}function H(e,t){let n=V(e),r=V(t);return!n||!r?!1:n===r||n.startsWith(r.endsWith(`\\`)?r:`${r}\\`)}function U(e){let t=Math.max(e.lastIndexOf(`\\`),e.lastIndexOf(`/`));return t>0?e.slice(0,t):e}var se=I(`mindmap`,()=>{let e=z(),t=b([]),n=b([]),r=b(null),i=b(!1),a=b(!1),o=b(null),s=b(``),c=b(``),l=N(()=>r.value!==null),u=N(()=>n.value.reduce((e,t)=>e+t.files.length,0)),d=N(()=>n.value.some(e=>e.loading));function f(){e.ui.mindmapDirs=[...t.value]}function p(e){return n.value.find(t=>V(t.dir)===V(e))}function m(e){let t=p(e);if(t)return t;let r={dir:e,files:[],error:null,loading:!1};return n.value.push(r),r}function h(e){let n=B(e);return!n||t.value.some(e=>V(e)===V(n))?!1:(t.value.push(n),m(n),!0)}let g=new Map;async function _(e){let n=p(e);if(!n)return;let r=V(n.dir),i=(g.get(r)||0)+1;g.set(r,i),n.loading=!0,n.error=null;try{let e=await(await fetch(`/api/mindmap/list?dir=${encodeURIComponent(n.dir)}`)).json();if(g.get(r)!==i)return;if(e.success){let r=typeof e.dir==`string`&&e.dir?e.dir:n.dir;if(r!==n.dir){let e=t.value.findIndex(e=>V(e)===V(n.dir));e>=0&&(t.value[e]=r),n.dir=r,f()}n.files=e.files||[]}else n.error=e.error||`读取目录失败`,n.files=[]}catch(e){if(g.get(r)!==i)return;n.error=e?.message||String(e),n.files=[]}finally{g.get(r)===i&&(n.loading=!1)}}async function v(){await Promise.all(t.value.map(e=>_(e)))}async function y(){let n=Array.isArray(e.ui.mindmapDirs)?e.ui.mindmapDirs:[];for(let e of n)h(e);s.value&&!t.value.some(e=>V(e)===V(s.value))&&(s.value=``),await v()}async function x(e){let t=[];for(let n of e||[]){let e=B(n);e&&h(e)&&t.push(e)}return t.length===0?0:(f(),s.value||=t[0],await Promise.all(t.map(e=>_(e))),t.length)}function S(e){let r=V(e);t.value=t.value.filter(e=>V(e)!==r),n.value=n.value.filter(e=>V(e.dir)!==r),g.delete(r),s.value&&V(s.value)===r&&(s.value=``),f()}function C(){if(t.value.length===0)return{dir:null,ambiguous:!1};let e=t.value.find(e=>V(e)===V(s.value));if(e)return{dir:e,ambiguous:!1};let n=r.value?.path;if(n){let e=t.value.find(e=>H(n,e));if(e)return{dir:e,ambiguous:!1}}return t.value.length===1?{dir:t.value[0],ambiguous:!1}:{dir:null,ambiguous:!0}}async function w(e,n=!1){if(!n&&i.value&&r.value)throw Error(`UNSAVED_CHANGES`);a.value=!0,o.value=null;try{let n=await(await fetch(`/api/mindmap/read?path=${encodeURIComponent(e)}`)).json();if(n.success){r.value={path:n.path,title:n.title,content:n.content,mtime:n.mtime},c.value=n.content,i.value=!1;let e=t.value.find(e=>H(n.path,e));s.value=e||U(n.path)}else o.value=n.error||`读取文件失败`}catch(e){o.value=e?.message||String(e)}finally{a.value=!1}}async function T(e,t=!1,n){let l=n?B(n):C().dir;if(!l)throw Error(`未选择目录`);if(!t&&i.value&&r.value)throw Error(`UNSAVED_CHANGES`);a.value=!0,o.value=null;try{let t=await(await fetch(`/api/mindmap/create`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({dir:l,name:e})})).json();if(t.success)r.value={path:t.path,title:t.title,content:t.content,mtime:t.mtime},c.value=t.content,i.value=!1,s.value=l,await _(l);else throw o.value=t.error||`新建失败`,Error(t.error||`新建失败`)}catch(e){throw e.message===`UNSAVED_CHANGES`||(o.value=e?.message||String(e)),e}finally{a.value=!1}}async function E(e){if(!r.value)throw Error(`没有打开的文件`);a.value=!0,o.value=null;try{let t=await(await fetch(`/api/mindmap/save`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:r.value.path,content:e})})).json();if(t.success){let n=r.value.path;return r.value&&(r.value.content=e,r.value.mtime=t.mtime),c.value=e,i.value=!1,await D(n),t}throw o.value=t.error||`保存失败`,Error(t.error||`保存失败`)}catch(e){throw o.value=e?.message||String(e),e}finally{a.value=!1}}async function D(e){let t=n.value.find(t=>H(e,t.dir));t&&await _(t.dir)}async function O(e){let t=await(await fetch(`/api/mindmap/delete`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e})})).json();if(!t.success)throw Error(t.error||`删除失败`);return r.value&&r.value.path===e&&(r.value=null,i.value=!1,c.value=``),await D(e),t}async function k(e,t){let n=await(await fetch(`/api/mindmap/rename`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e,newName:t})})).json();if(!n.success)throw Error(n.error||`重命名失败`);return r.value&&e===r.value.path&&(r.value={...r.value,path:n.path,title:t}),await D(n.path||e),n}function A(){r.value&&(i.value=!0)}function j(){r.value=null,i.value=!1,c.value=``}return{dirs:t,groups:n,current:r,dirty:i,loading:a,refreshing:d,error:o,activeDir:s,hasCurrent:l,filesCount:u,init:y,addDirs:x,removeDir:S,refresh:v,refreshDir:_,resolveTargetDir:C,openFile:w,createFile:T,saveCurrent:E,deleteFile:O,renameFile:k,markDirty:A,closeCurrent:j}});r(),T();var W=1500,G=s({__name:`MindmapView`,setup(e,{expose:t}){t();let r=se(),i=z(),{currentLocale:a}=ee(ne()),o=N(()=>{let e=i.theme;return e===`dark`?!0:e===`light`?!1:window.matchMedia?.(`(prefers-color-scheme: dark)`).matches??!1}),s=b(null),c=b(!1);function l(){c.value=!0}async function d(e){c.value=!1;let t=(e||[]).filter(Boolean);if(t.length!==0)try{let e=await r.addDirs(t);e>0?x.success(L(`@MINDMAP:已添加目录`,{n:e})):x.info(L(`@MINDMAP:重复目录已忽略`))}catch(e){x.error(e?.message||L(`@MINDMAP:读取目录失败`))}}let f=b({});function p(e){f.value={...f.value,[e]:!f.value[e]},r.activeDir=e}function m(e){let t=e.replace(/[\\/]+$/,``).split(/[\\/]/);return t[t.length-1]||e}function h(e){return!!r.activeDir&&r.activeDir.toLowerCase()===e.toLowerCase()}function g(){let{dir:e,ambiguous:t}=r.resolveTargetDir();return e||(x.warning(L(t?`@MINDMAP:请选择目标目录`:`@MINDMAP:请先添加目录`)),null)}async function _(e){let t=e||g();if(!t||(e&&(r.activeDir=e),!await T()))return;let n=``;try{n=(await j.prompt(L(`@MINDMAP:输入文件名提示`),L(`@MINDMAP:新建思维导图`),{confirmButtonText:L(`@MINDMAP:新建`),cancelButtonText:L(`@MINDMAP:取消`),inputPlaceholder:L(`@MINDMAP:文件名占位`),inputValidator:e=>!e||!e.trim()?L(`@MINDMAP:名称不能为空`):!/[\\/:*?"<>|]/.test(e)||L(`@MINDMAP:名称含非法字符`)})).value.trim()}catch{return}try{await r.createFile(n,!0,t),x.success(L(`@MINDMAP:已新建并打开`))}catch(e){x.error(e?.message||L(`@MINDMAP:新建失败`))}}async function y(e=!1){if(r.current)try{let t=s.value?.exportData();if(!t){e||x.warning(L(`@MINDMAP:无法获取数据`));return}await r.saveCurrent(t),e||x.success(L(`@MINDMAP:已保存`))}catch(e){x.error(e?.message||L(`@MINDMAP:保存失败`))}}let S=null;function C(){r.current&&r.dirty&&(S&&clearTimeout(S),S=setTimeout(()=>{S=null,r.current&&r.dirty&&y(!0)},W))}function w(){S&&=(clearTimeout(S),null)}async function T(){if(!r.dirty||!r.current)return!0;try{await j.confirm(L(`@MINDMAP:未保存提示`,{title:r.current.title}),L(`@MINDMAP:未保存的改动`),{confirmButtonText:L(`@MINDMAP:保存`),cancelButtonText:L(`@MINDMAP:丢弃`),distinguishCancelAndClose:!0,type:`warning`}),w();let e=s.value?.exportData();return e&&(await r.saveCurrent(e),x.success(L(`@MINDMAP:已保存`))),!0}catch(e){return e===`cancel`&&(w(),!0)}}async function E(e){if(!(r.current&&r.current.path===e)&&await T())try{await r.openFile(e,!0)}catch(e){x.error(e?.message||L(`@MINDMAP:打开失败`))}}async function k(e){let t=!!r.current&&H(r.current.path,e),n=L(`@MINDMAP:确认移除目录提示`,{dir:e});t&&(n=`${n} ${L(`@MINDMAP:当前文件将保持打开`)}`);try{await j.confirm(n,L(`@MINDMAP:移除目录`),{confirmButtonText:L(`@MINDMAP:移除目录`),cancelButtonText:L(`@MINDMAP:取消`),type:`warning`})}catch{return}r.removeDir(e),x.success(L(`@MINDMAP:已移除目录`))}let A=b(null);function M(e,t){e.preventDefault(),A.value={x:e.clientX,y:e.clientY,dir:t}}function P(){A.value=null}async function F(){let e=A.value?.dir;if(P(),!e)return;let t=await ae(e);t.success?x.success(t.message||L(`@MINDMAP:已在文件管理器中打开`)):x.error(t.error||L(`@MINDMAP:打开目录失败`))}function I(){let e=A.value?.dir;P(),e&&_(e)}function R(){let e=A.value?.dir;P(),e&&k(e)}async function B(e){try{await j.confirm(L(`@MINDMAP:确认删除提示`,{title:e.title}),L(`@MINDMAP:删除`),{confirmButtonText:L(`@MINDMAP:删除`),cancelButtonText:L(`@MINDMAP:取消`),type:`warning`})}catch{return}try{await r.deleteFile(e.path),x.success(L(`@MINDMAP:已删除`))}catch(e){x.error(e?.message||L(`@MINDMAP:删除失败`))}}async function V(e){let t=``;try{t=(await j.prompt(L(`@MINDMAP:输入新名称提示`),L(`@MINDMAP:重命名`),{confirmButtonText:L(`@MINDMAP:确定`),cancelButtonText:L(`@MINDMAP:取消`),inputValue:e.title,inputValidator:e=>!e||!e.trim()?L(`@MINDMAP:名称不能为空`):!/[\\/:*?"<>|]/.test(e)||L(`@MINDMAP:名称含非法字符`)})).value.trim()}catch{return}try{await r.renameFile(e.path,t),x.success(L(`@MINDMAP:已重命名`))}catch(e){x.error(e?.message||L(`@MINDMAP:重命名失败`))}}function U(e){r.markDirty(),C()}function G(e){}async function K(e){let t=e||g();if(!t)return;let n=``,i=``;try{n=(await j.prompt(L(`@MINDMAP:粘贴Markdown提示`),L(`@MINDMAP:从Markdown导入`),{confirmButtonText:L(`@MINDMAP:导入`),cancelButtonText:L(`@MINDMAP:取消`),inputType:`textarea`,inputPlaceholder:L(`@MINDMAP:Markdown占位`),inputValidator:e=>!e||!e.trim()?L(`@MINDMAP:内容不能为空`):!0})).value}catch{return}try{i=(await j.prompt(L(`@MINDMAP:输入文件名提示`),L(`@MINDMAP:文件名`),{confirmButtonText:L(`@MINDMAP:新建`),cancelButtonText:L(`@MINDMAP:取消`),inputValidator:e=>!e||!e.trim()?L(`@MINDMAP:名称不能为空`):!/[\\/:*?"<>|]/.test(e)||L(`@MINDMAP:名称含非法字符`)})).value.trim()}catch{return}try{await r.createFile(i,!0,t);let e=ie(n,i),a=JSON.stringify(e,null,2);await r.saveCurrent(a),x.success(L(`@MINDMAP:已导入`))}catch(e){x.error(e?.message||L(`@MINDMAP:导入失败`))}}async function q(){if(s.value)try{let e=s.value.getMarkdown();await navigator.clipboard.writeText(e),x.success(L(`@MINDMAP:已复制Markdown`))}catch(e){x.error(e?.message||L(`@MINDMAP:复制失败`))}}function J(e){(e.ctrlKey||e.metaKey)&&e.key===`s`&&(e.preventDefault(),r.current&&r.dirty&&(w(),y()))}let Y=b(0);O(()=>r.current?.path,()=>{Y.value++});let X=b(!1);function Z(){X.value=!X.value}let ce=N(()=>{let e=r.current?.content;if(!e)return null;try{return JSON.parse(e)}catch{return null}});n(async()=>{window.addEventListener(`keydown`,J),document.addEventListener(`click`,P),await r.init()}),u(()=>{window.removeEventListener(`keydown`,J),document.removeEventListener(`click`,P),w()});function le(e){if(!e)return`-`;let t=new Date(e),n=Date.now()-e;return n<6e4?L(`@MINDMAP:刚刚`):n<36e5?`${Math.floor(n/6e4)}${L(`@MINDMAP:分钟前`)}`:n<864e5?`${Math.floor(n/36e5)}${L(`@MINDMAP:小时前`)}`:`${t.getMonth()+1}/${t.getDate()} ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function Q(e){return e?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`:`0 B`}let $={store:r,configStore:i,currentLocale:a,isDark:o,mmRef:s,filePickerVisible:c,openDirPicker:l,onPickerConfirm:d,collapsedGroups:f,toggleGroup:p,baseName:m,isActiveDir:h,pickTargetDir:g,handleNewFile:_,handleSave:y,AUTOSAVE_DELAY:W,get autosaveTimer(){return S},set autosaveTimer(e){S=e},scheduleAutosave:C,cancelAutosave:w,confirmDiscardIfDirty:T,handleOpenFile:E,handleRemoveDir:k,ctxMenu:A,openDirContextMenu:M,closeCtxMenu:P,ctxOpenDir:F,ctxNewFile:I,ctxRemoveDir:R,handleDelete:B,handleRename:V,onMindMapChange:U,onMindMapSelect:G,handleImportMarkdown:K,handleExportMarkdown:q,onKeydown:J,mmKey:Y,previewMode:X,onCanvasTogglePreview:Z,mmData:ce,formatTime:le,formatSize:Q,get $t(){return L},get Delete(){return v},get Edit(){return D},get FilePicker(){return te},get MindMap(){return re},EmptyState:oe};return Object.defineProperty($,"__isScriptSetup",{enumerable:!1,value:!0}),$}});r(),C(),k();var K={class:`mindmap-view`},q={class:`mm-toolbar`},J={class:`mm-toolbar-left`},Y={class:`mm-dir-tooltip`},X={key:1,class:`mm-dir-empty`},Z={class:`mm-toolbar-right`},ce={key:0,class:`mm-status`},le=[`title`],Q={key:0,class:`mm-status-dirty`},$={class:`mm-body`},ue={class:`mm-sidebar`},de={class:`mm-sidebar-header`},fe={class:`mm-sidebar-title`},pe={class:`mm-sidebar-list`},me={key:0,class:`mm-sidebar-error`},he=[`title`,`onClick`,`onContextmenu`],ge={class:`mm-group-info`},_e={class:`mm-group-name`},ve={class:`mm-group-title`},ye={class:`mm-group-count`},be={class:`mm-group-path`},xe={class:`mm-group-body`},Se=[`title`],Ce=[`onClick`],we={class:`mm-file-info`},Te=[`title`],Ee={class:`mm-file-meta`},De={class:`mm-editor`};function Oe(n,r,s,u,v,b){let x=F,C=o,T=d,D=i,O=g;return A(),l(`div`,K,[M(` 顶部工具栏 `),c(`div`,q,[c(`div`,J,[e(x,{size:`small`,onClick:u.openDirPicker},{icon:S(()=>[...r[7]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M12 19h-7a2 2 0 0 1-2-2v-11a2 2 0 0 1 2-2h4l3 3h7a2 2 0 0 1 2 2v3.5`}),c(`path`,{d:`M16 19h6`}),c(`path`,{d:`M19 16v6`})],-1)]]),default:S(()=>[w(` `+p(u.$t(`@MINDMAP:添加目录`)),1)]),_:1}),u.store.dirs.length>0?(A(),t(T,{key:0,placement:`bottom-start`,"show-after":200},{content:S(()=>[c(`div`,Y,[(A(!0),l(h,null,m(u.store.dirs,e=>(A(),l(`div`,{key:e},p(e),1))),128))])]),default:S(()=>[e(C,{size:`small`,type:`info`,class:`mm-dir-tag`},{default:S(()=>[w(p(u.$t(`@MINDMAP:个目录`,{n:u.store.dirs.length})),1)]),_:1})]),_:1})):(A(),l(`span`,X,p(u.$t(`@MINDMAP:请先添加目录`)),1))]),c(`div`,Z,[e(x,{size:`small`,disabled:u.store.dirs.length===0,onClick:r[0]||=e=>u.handleNewFile()},{icon:S(()=>[...r[8]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M12 5l0 14`}),c(`path`,{d:`M5 12l14 0`})],-1)]]),default:S(()=>[w(` `+p(u.$t(`@MINDMAP:新建`)),1)]),_:1},8,[`disabled`]),e(x,{size:`small`,disabled:u.store.dirs.length===0,onClick:r[1]||=e=>u.handleImportMarkdown()},{icon:S(()=>[...r[9]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M14 3v4a1 1 0 0 0 1 1h4`}),c(`path`,{d:`M5 13v-8a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2h-5.5m-9.5-2h7m-3-3l3 3l-3 3`})],-1)]]),default:S(()=>[w(` `+p(u.$t(`@MINDMAP:从MD导入`)),1)]),_:1},8,[`disabled`]),e(x,{size:`small`,disabled:!u.store.current,onClick:u.handleExportMarkdown},{icon:S(()=>[...r[10]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M14 3v4a1 1 0 0 0 1 1h4`}),c(`path`,{d:`M17 21h-10a2 2 0 0 1-2-2v-14a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2`}),c(`path`,{d:`M10 18l5-5a1.414 1.414 0 0 0-2-2l-5 5v2h2`})],-1)]]),default:S(()=>[w(` `+p(u.$t(`@MINDMAP:复制MD`)),1)]),_:1},8,[`disabled`]),e(x,{size:`small`,type:`primary`,disabled:!u.store.current||!u.store.dirty,loading:u.store.loading,onClick:r[2]||=()=>{u.cancelAutosave(),u.handleSave()}},{icon:S(()=>[...r[11]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M6 4h10l4 4v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2v-12a2 2 0 0 1 2-2`}),c(`path`,{d:`M10 14a2 2 0 1 0 4 0a2 2 0 1 0-4 0`}),c(`path`,{d:`M14 4l0 4l-6 0l0-4`})],-1)]]),default:S(()=>[w(` `+p(u.$t(`@MINDMAP:保存`)),1)]),_:1},8,[`disabled`,`loading`]),u.store.current?(A(),l(`span`,ce,[c(`span`,{class:`mm-status-title`,title:u.store.current.title},p(u.store.current.title),9,le),u.store.dirty?(A(),l(`span`,Q,`●`)):M(`v-if`,!0)])):M(`v-if`,!0)])]),c(`div`,$,[M(` 左侧:按目录分组的文件列表 `),c(`div`,ue,[c(`div`,de,[c(`span`,fe,p(u.$t(`@MINDMAP:文件列表`)),1),e(x,{size:`small`,text:``,loading:u.store.refreshing,onClick:r[3]||=e=>u.store.refresh(),disabled:u.store.dirs.length===0},{icon:S(()=>[...r[12]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M20 11a8.1 8.1 0 0 0-15.5-2m-.5-4v4h4`}),c(`path`,{d:`M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4`})],-1)]]),_:1},8,[`loading`,`disabled`])]),_((A(),l(`div`,pe,[u.store.error?(A(),l(`div`,me,p(u.store.error),1)):M(`v-if`,!0),u.store.dirs.length===0?(A(),t(u.EmptyState,{key:1,class:`mm-sidebar-empty`,size:`inline`,title:u.$t(`@MINDMAP:请先添加目录`)},null,8,[`title`])):(A(!0),l(h,{key:2},m(u.store.groups,n=>(A(),l(`div`,{key:n.dir,class:`mm-group`},[c(`div`,{class:f([`mm-group-header`,{active:u.isActiveDir(n.dir)}]),title:n.dir,onClick:e=>u.toggleGroup(n.dir),onContextmenu:e=>u.openDirContextMenu(e,n.dir)},[e(D,{class:f([`mm-group-caret`,{collapsed:u.collapsedGroups[n.dir]}])},{default:S(()=>[M(` chevron-down.svg(Tabler icons,MIT):收起态由 CSS 旋转 -90° `),r[13]||=c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,xmlns:`http://www.w3.org/2000/svg`},[c(`path`,{d:`M6 9l6 6l6-6`})],-1)]),_:1},8,[`class`]),c(`div`,ge,[c(`div`,_e,[c(`span`,ve,p(u.baseName(n.dir)),1),c(`span`,ye,p(n.files.length),1)]),c(`div`,be,p(n.dir),1)])],42,he),_(c(`div`,xe,[n.error?(A(),l(`div`,{key:0,class:`mm-group-error`,title:n.error},[c(`span`,null,p(u.$t(`@MINDMAP:目录不存在或已删除`)),1),e(x,{size:`small`,text:``,type:`danger`,onClick:e=>u.handleRemoveDir(n.dir)},{default:S(()=>[w(p(u.$t(`@MINDMAP:移除目录`)),1)]),_:1},8,[`onClick`])],8,Se)):n.files.length===0?(A(),t(u.EmptyState,{key:1,class:`mm-sidebar-empty`,size:`inline`,title:u.$t(`@MINDMAP:该目录暂无思维导图`)},null,8,[`title`])):(A(!0),l(h,{key:2},m(n.files,t=>(A(),l(`div`,{key:t.path,class:f([`mm-file-item`,{active:u.store.current?.path===t.path}]),onClick:e=>u.handleOpenFile(t.path)},[c(`div`,we,[c(`div`,{class:`mm-file-title`,title:t.title},p(t.title),9,Te),c(`div`,Ee,p(u.formatTime(t.mtime))+` · `+p(u.formatSize(t.size)),1)]),c(`div`,{class:`mm-file-actions`,onClick:r[4]||=y(()=>{},[`stop`])},[e(x,{size:`small`,text:``,icon:u.Edit,onClick:e=>u.handleRename(t),title:u.$t(`@MINDMAP:重命名`)},null,8,[`icon`,`onClick`,`title`]),e(x,{size:`small`,text:``,type:`danger`,icon:u.Delete,onClick:e=>u.handleDelete(t),title:u.$t(`@MINDMAP:删除`)},null,8,[`icon`,`onClick`,`title`])])],10,Ce))),128))],512),[[E,!u.collapsedGroups[n.dir]]])]))),128))])),[[O,u.store.refreshing]])]),M(` 右侧编辑区 `),c(`div`,De,[u.store.current?(A(),t(u.MindMap,{key:u.mmKey,ref:`mmRef`,data:u.mmData,"preview-mode":u.previewMode,onChange:u.onMindMapChange,onSelect:u.onMindMapSelect,onCanvasTogglePreview:u.onCanvasTogglePreview},null,8,[`data`,`preview-mode`])):(A(),t(u.EmptyState,{key:0,class:`mm-editor-empty`,title:u.$t(`@MINDMAP:思维导图编辑器`),hint:u.store.dirs.length>0?u.$t(`@MINDMAP:从左侧选择或新建`):u.$t(`@MINDMAP:先选择目录提示`)},{icon:S(()=>[...r[14]||=[c(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[c(`circle`,{cx:`12`,cy:`12`,r:`2`}),c(`circle`,{cx:`5`,cy:`5`,r:`2`}),c(`circle`,{cx:`19`,cy:`5`,r:`2`}),c(`circle`,{cx:`5`,cy:`19`,r:`2`}),c(`circle`,{cx:`19`,cy:`19`,r:`2`}),c(`line`,{x1:`10.5`,y1:`10.5`,x2:`6.5`,y2:`6.5`}),c(`line`,{x1:`13.5`,y1:`10.5`,x2:`17.5`,y2:`6.5`}),c(`line`,{x1:`10.5`,y1:`13.5`,x2:`6.5`,y2:`17.5`}),c(`line`,{x1:`13.5`,y1:`13.5`,x2:`17.5`,y2:`17.5`})],-1)]]),_:1},8,[`title`,`hint`]))])]),M(` 目录选择(local-file-picker,支持多选目录) `),M(` 传入当前目标目录作为 defaultPath:用户添加目录时不用每次都从根目录找,
|
|
2
|
-
已选过的话直接定位到上次的位置;无效时 picker 自动回落到用户目录 `),e(u.FilePicker,{visible:u.filePickerVisible,mode:`directory`,multiple:!0,theme:u.isDark?`dark`:`light`,locale:u.currentLocale,"default-path":u.store.activeDir||u.store.dirs[0]||``,onClose:r[5]||=e=>u.filePickerVisible=!1,onConfirm:u.onPickerConfirm},null,8,[`visible`,`theme`,`locale`,`default-path`]),M(` 目录右键菜单:打开目录 / 在此新建 / 移除目录 `),(A(),t(P,{to:`body`},[u.ctxMenu?(A(),l(`div`,{key:0,class:`ctx-menu`,style:a({left:u.ctxMenu.x+`px`,top:u.ctxMenu.y+`px`}),onClick:r[6]||=y(()=>{},[`stop`])},[c(`button`,{class:`ctx-menu-item`,onClick:u.ctxOpenDir},[M(` folder icon `),r[15]||=c(`svg`,{viewBox:`0 0 24 24`,width:`13`,height:`13`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[c(`path`,{d:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}),c(`path`,{d:`M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2`})],-1),w(` `+p(u.$t(`@MINDMAP:打开目录`)),1)]),c(`button`,{class:`ctx-menu-item`,onClick:u.ctxNewFile},[M(` new-file icon `),r[16]||=c(`svg`,{viewBox:`0 0 24 24`,width:`13`,height:`13`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[c(`path`,{d:`M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z`}),c(`polyline`,{points:`14 2 14 8 20 8`}),c(`line`,{x1:`12`,y1:`13`,x2:`12`,y2:`19`}),c(`line`,{x1:`9`,y1:`16`,x2:`15`,y2:`16`})],-1),w(` `+p(u.$t(`@MINDMAP:在此新建`)),1)]),r[18]||=c(`div`,{class:`ctx-menu-sep`},null,-1),c(`button`,{class:`ctx-menu-item ctx-menu-item--danger`,onClick:u.ctxRemoveDir},[M(` trash icon `),r[17]||=c(`svg`,{viewBox:`0 0 24 24`,width:`13`,height:`13`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[c(`polyline`,{points:`3 6 5 6 21 6`}),c(`path`,{d:`M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6`}),c(`path`,{d:`M10 11v6`}),c(`path`,{d:`M14 11v6`}),c(`path`,{d:`M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2`})],-1),w(` `+p(u.$t(`@MINDMAP:移除目录`)),1)])],4)):M(`v-if`,!0)]))])}var ke=R(G,[[`render`,Oe],[`__scopeId`,`data-v-b157fbd3`],[`__file`,`D:/workspace/github_workspace/zen-gitsync/src/ui/client/src/views/MindmapView.vue`]]);export{ke as default};
|