右键菜单支增加使用walk模式打开,tabPane改成icon+文件夹名

pull/28/head
zanllp 2023-04-15 22:33:20 +08:00
parent cf941729c5
commit 9e2d545b89
25 changed files with 55 additions and 26 deletions

View File

@ -8,7 +8,7 @@
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
<script type="module" crossorigin src="/baidu_netdisk/fe-static/assets/index-3eae54c8.js"></script>
<script type="module" crossorigin src="/baidu_netdisk/fe-static/assets/index-a0825fe1.js"></script>
<link rel="stylesheet" href="/baidu_netdisk/fe-static/assets/index-1930f7ee.css">
</head>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{b as s}from"./index-80b56a21.js";import{bN as t,aT as a}from"./index-3eae54c8.js";function c(e,o){return e&&e.length?t(e,s(o)):[]}const i=(e,o)=>(a.success({content:o??`已复制内容 "${e}" 到粘贴板`}),navigator.clipboard.writeText(e));export{i as c,c as u};
import{b as s}from"./index-9fce1407.js";import{bN as t,aT as a}from"./index-a0825fe1.js";function c(e,o){return e&&e.length?t(e,s(o)):[]}const i=(e,o)=>(a.success({content:o??`已复制内容 "${e}" 到粘贴板`}),navigator.clipboard.writeText(e));export{i as c,c as u};

View File

@ -1 +0,0 @@
.container[data-v-6b5fd6f1]{padding:20px;background-color:var(--zp-secondary-background);height:100%;overflow:auto}.header[data-v-6b5fd6f1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header h1[data-v-6b5fd6f1]{font-size:28px;font-weight:700;color:var(--zp-primary)}.last-record[data-v-6b5fd6f1]{margin-left:8px;font-size:14px;color:var(--zp-tertiary)}.last-record a[data-v-6b5fd6f1]{text-decoration:none;color:var(--zp-tertiary)}.last-record a[data-v-6b5fd6f1]:hover{color:var(--zp-primary)}.content[data-v-6b5fd6f1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px}.quick-start[data-v-6b5fd6f1]{background-color:var(--zp-primary-background);border-radius:8px;box-shadow:0 1px 2px #0000001a;padding:20px}.quick-start ul[data-v-6b5fd6f1]{list-style:none;padding:4px}.quick-start h2[data-v-6b5fd6f1]{margin-top:0;margin-bottom:20px;font-size:20px;font-weight:700;color:var(--zp-primary)}.quick-start__item[data-v-6b5fd6f1]{margin-bottom:10px;padding:4px 8px;display:flex;align-items:center}.quick-start__item[data-v-6b5fd6f1]:hover{background:var(--zp-secondary-background);border-radius:4px;color:var(--primary-color);cursor:pointer}.quick-start__text[data-v-6b5fd6f1]{flex:1;font-size:16px}.quick-start__icon[data-v-6b5fd6f1]{margin-right:8px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.container[data-v-3c7a2bab]{padding:20px;background-color:var(--zp-secondary-background);height:100%;overflow:auto}.header[data-v-3c7a2bab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header h1[data-v-3c7a2bab]{font-size:28px;font-weight:700;color:var(--zp-primary)}.last-record[data-v-3c7a2bab]{margin-left:8px;font-size:14px;color:var(--zp-tertiary)}.last-record a[data-v-3c7a2bab]{text-decoration:none;color:var(--zp-tertiary)}.last-record a[data-v-3c7a2bab]:hover{color:var(--zp-primary)}.content[data-v-3c7a2bab]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px}.quick-start[data-v-3c7a2bab]{background-color:var(--zp-primary-background);border-radius:8px;box-shadow:0 1px 2px #0000001a;padding:20px}.quick-start ul[data-v-3c7a2bab]{list-style:none;padding:4px}.quick-start h2[data-v-3c7a2bab]{margin-top:0;margin-bottom:20px;font-size:20px;font-weight:700;color:var(--zp-primary)}.quick-start__item[data-v-3c7a2bab]{margin-bottom:10px;padding:4px 8px;display:flex;align-items:center}.quick-start__item[data-v-3c7a2bab]:hover{background:var(--zp-secondary-background);border-radius:4px;color:var(--primary-color);cursor:pointer}.quick-start__text[data-v-3c7a2bab]{flex:1;font-size:16px}.quick-start__icon[data-v-3c7a2bab]{margin-right:8px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{u as p}from"./useTaskListStore-0675db92.js";import{d as u,r as d,G as g,ah as f,ai as m,K as t,L as s,V as l,W as k,X as L,U as y,M as D,a0 as h}from"./index-3eae54c8.js";const v={class:"container"},x=u({__name:"logDetail",props:{logDetailId:null},setup(r){const n=r,c=p(),a=d(),o=g(()=>c.taskLogMap.get(n.logDetailId));return f(o,async()=>{await m();const e=a.value;e&&(e.scrollTop=e.scrollHeight)},{deep:!0}),(e,B)=>(t(),s("div",v,[l("ul",{class:"list",ref_key:"logListEl",ref:a},[(t(!0),s(k,null,L(D(o),(i,_)=>(t(),s("li",{key:_},[l("pre",null,y(i.log),1)]))),128))],512)]))}});const T=h(x,[["__scopeId","data-v-59148842"]]);export{T as default};
import{u as p}from"./useTaskListStore-d857a07d.js";import{d as u,r as d,G as g,ah as f,ai as m,K as t,L as s,V as l,W as k,X as L,U as y,M as D,a0 as h}from"./index-a0825fe1.js";const v={class:"container"},x=u({__name:"logDetail",props:{logDetailId:null},setup(r){const n=r,c=p(),a=d(),o=g(()=>c.taskLogMap.get(n.logDetailId));return f(o,async()=>{await m();const e=a.value;e&&(e.scrollTop=e.scrollHeight)},{deep:!0}),(e,B)=>(t(),s("div",v,[l("ul",{class:"list",ref_key:"logListEl",ref:a},[(t(!0),s(k,null,L(D(o),(i,_)=>(t(),s("li",{key:_},[l("pre",null,y(i.log),1)]))),128))],512)]))}});const T=h(x,[["__scopeId","data-v-59148842"]]);export{T as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3
vue/dist/assets/stackView-5259d939.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{i as Te,I as P,t as Re,f as Oe,C as Ne,a as je,r as ie,E as $e}from"./index-ca5e55e8.js";import{d as K,u as te,G as q,_ as S,a as _,h as g,x as fe,P as ke,r as O,a2 as Ee,bI as Ve,b as _e,c as ne,B as ae,A as De,aj as U,ab as Ge,ah as Me,ai as J,y as He,f as Le,bJ as Ue,bK as Ze,am as Be,af as Ye,H as qe,ae as ee,a6 as ge,D as Ke,i as Qe,bL as oe,bM as We}from"./index-3eae54c8.js";import{i as Xe}from"./index-b363ae13.js";import{B as Je}from"./button-26bad4bf.js";const et=K({compatConfig:{MODE:3},name:"AInputGroup",props:{prefixCls:String,size:{type:String},compact:{type:Boolean,default:void 0},onMouseenter:{type:Function},onMouseleave:{type:Function},onFocus:{type:Function},onBlur:{type:Function}},setup:function(e,t){var a=t.slots,c=te("input-group",e),p=c.prefixCls,f=c.direction,r=q(function(){var o,u=p.value;return o={},S(o,"".concat(u),!0),S(o,"".concat(u,"-lg"),e.size==="large"),S(o,"".concat(u,"-sm"),e.size==="small"),S(o,"".concat(u,"-compact"),e.compact),S(o,"".concat(u,"-rtl"),f.value==="rtl"),o});return function(){var o;return _("span",{class:r.value,onMouseenter:e.onMouseenter,onMouseleave:e.onMouseleave,onFocus:e.onFocus,onBlur:e.onBlur},[(o=a.default)===null||o===void 0?void 0:o.call(a)])}}});var le=/iPhone/i,me=/iPod/i,pe=/iPad/i,ue=/\bAndroid(?:.+)Mobile\b/i,he=/Android/i,Z=/\bAndroid(?:.+)SD4930UR\b/i,X=/\bAndroid(?:.+)(?:KF[A-Z]{2,4})\b/i,V=/Windows Phone/i,be=/\bWindows(?:.+)ARM\b/i,xe=/BlackBerry/i,ye=/BB10/i,Ce=/Opera Mini/i,ze=/\b(CriOS|Chrome)(?:.+)Mobile/i,Se=/Mobile(?:.+)Firefox\b/i;function i(l,e){return l.test(e)}function we(l){var e=l||(typeof navigator<"u"?navigator.userAgent:""),t=e.split("[FBAN");if(typeof t[1]<"u"){var a=t,c=fe(a,1);e=c[0]}if(t=e.split("Twitter"),typeof t[1]<"u"){var p=t,f=fe(p,1);e=f[0]}var r={apple:{phone:i(le,e)&&!i(V,e),ipod:i(me,e),tablet:!i(le,e)&&i(pe,e)&&!i(V,e),device:(i(le,e)||i(me,e)||i(pe,e))&&!i(V,e)},amazon:{phone:i(Z,e),tablet:!i(Z,e)&&i(X,e),device:i(Z,e)||i(X,e)},android:{phone:!i(V,e)&&i(Z,e)||!i(V,e)&&i(ue,e),tablet:!i(V,e)&&!i(Z,e)&&!i(ue,e)&&(i(X,e)||i(he,e)),device:!i(V,e)&&(i(Z,e)||i(X,e)||i(ue,e)||i(he,e))||i(/\bokhttp\b/i,e)},windows:{phone:i(V,e),tablet:i(be,e),device:i(V,e)||i(be,e)},other:{blackberry:i(xe,e),blackberry10:i(ye,e),opera:i(Ce,e),firefox:i(Se,e),chrome:i(ze,e),device:i(xe,e)||i(ye,e)||i(Ce,e)||i(Se,e)||i(ze,e)},any:null,phone:null,tablet:null};return r.any=r.apple.device||r.android.device||r.windows.device||r.other.device,r.phone=r.apple.phone||r.android.phone||r.windows.phone,r.tablet=r.apple.tablet||r.android.tablet||r.windows.tablet,r}var tt=g(g({},we()),{},{isMobile:we});const nt=tt;var at=["disabled","loading","addonAfter","suffix"];const rt=K({compatConfig:{MODE:3},name:"AInputSearch",inheritAttrs:!1,props:g(g({},Te()),{},{inputPrefixCls:String,enterButton:ke.any,onSearch:{type:Function}}),setup:function(e,t){var a=t.slots,c=t.attrs,p=t.expose,f=t.emit,r=O(),o=function(){var s;(s=r.value)===null||s===void 0||s.focus()},u=function(){var s;(s=r.value)===null||s===void 0||s.blur()};p({focus:o,blur:u});var y=function(s){f("update:value",s.target.value),s&&s.target&&s.type==="click"&&f("search",s.target.value,s),f("change",s)},h=function(s){var C;document.activeElement===((C=r.value)===null||C===void 0?void 0:C.input)&&s.preventDefault()},A=function(s){var C;f("search",(C=r.value)===null||C===void 0?void 0:C.stateValue,s),nt.tablet||r.value.focus()},I=te("input-search",e),T=I.prefixCls,$=I.getPrefixCls,N=I.direction,w=I.size,v=q(function(){return $("input",e.inputPrefixCls)});return function(){var m,s,C,M,E,B=e.disabled,j=e.loading,H=e.addonAfter,k=H===void 0?(m=a.addonAfter)===null||m===void 0?void 0:m.call(a):H,Q=e.suffix,W=Q===void 0?(s=a.suffix)===null||s===void 0?void 0:s.call(a):Q,re=Ee(e,at),b=e.enterButton,n=b===void 0?(C=(M=a.enterButton)===null||M===void 0?void 0:M.call(a))!==null&&C!==void 0?C:!1:b;n=n||n==="";var d=typeof n=="boolean"?_(Ve,null,null):null,x="".concat(T.value,"-button"),z=Array.isArray(n)?n[0]:n,R,L=z.type&&Xe(z.type)&&z.type.__ANT_BUTTON;if(L||z.tagName==="button")R=_e(z,g({onMousedown:h,onClick:A,key:"enterButton"},L?{class:x,size:w.value}:{}),!1);else{var D=d&&!n;R=_(Je,{class:x,type:n?"primary":void 0,size:w.value,disabled:B,key:"enterButton",onMousedown:h,onClick:A,loading:j,icon:D?d:null},{default:function(){return[D?null:d||n]}})}k&&(R=[R,k]);var G=ne(T.value,(E={},S(E,"".concat(T.value,"-rtl"),N.value==="rtl"),S(E,"".concat(T.value,"-").concat(w.value),!!w.value),S(E,"".concat(T.value,"-with-button"),!!n),E),c.class);return _(P,g(g(g({ref:r},ae(re,["onUpdate:value","onSearch","enterButton"])),c),{},{onPressEnter:A,size:w.value,prefixCls:v.value,addonAfter:R,suffix:W,onChange:y,class:G,disabled:B}),a)}}});var it=`
import{i as Te,I as P,t as Re,f as Oe,C as Ne,a as je,r as ie,E as $e}from"./index-fa1d0842.js";import{d as K,u as te,G as q,_ as S,a as _,h as g,x as fe,P as ke,r as O,a2 as Ee,bI as Ve,b as _e,c as ne,B as ae,A as De,aj as U,ab as Ge,ah as Me,ai as J,y as He,f as Le,bJ as Ue,bK as Ze,am as Be,af as Ye,H as qe,ae as ee,a6 as ge,D as Ke,i as Qe,bL as oe,bM as We}from"./index-a0825fe1.js";import{i as Xe}from"./index-c245d5a1.js";import{B as Je}from"./button-9350a9f5.js";const et=K({compatConfig:{MODE:3},name:"AInputGroup",props:{prefixCls:String,size:{type:String},compact:{type:Boolean,default:void 0},onMouseenter:{type:Function},onMouseleave:{type:Function},onFocus:{type:Function},onBlur:{type:Function}},setup:function(e,t){var a=t.slots,c=te("input-group",e),p=c.prefixCls,f=c.direction,r=q(function(){var o,u=p.value;return o={},S(o,"".concat(u),!0),S(o,"".concat(u,"-lg"),e.size==="large"),S(o,"".concat(u,"-sm"),e.size==="small"),S(o,"".concat(u,"-compact"),e.compact),S(o,"".concat(u,"-rtl"),f.value==="rtl"),o});return function(){var o;return _("span",{class:r.value,onMouseenter:e.onMouseenter,onMouseleave:e.onMouseleave,onFocus:e.onFocus,onBlur:e.onBlur},[(o=a.default)===null||o===void 0?void 0:o.call(a)])}}});var le=/iPhone/i,me=/iPod/i,pe=/iPad/i,ue=/\bAndroid(?:.+)Mobile\b/i,he=/Android/i,Z=/\bAndroid(?:.+)SD4930UR\b/i,X=/\bAndroid(?:.+)(?:KF[A-Z]{2,4})\b/i,V=/Windows Phone/i,be=/\bWindows(?:.+)ARM\b/i,xe=/BlackBerry/i,ye=/BB10/i,Ce=/Opera Mini/i,ze=/\b(CriOS|Chrome)(?:.+)Mobile/i,Se=/Mobile(?:.+)Firefox\b/i;function i(l,e){return l.test(e)}function we(l){var e=l||(typeof navigator<"u"?navigator.userAgent:""),t=e.split("[FBAN");if(typeof t[1]<"u"){var a=t,c=fe(a,1);e=c[0]}if(t=e.split("Twitter"),typeof t[1]<"u"){var p=t,f=fe(p,1);e=f[0]}var r={apple:{phone:i(le,e)&&!i(V,e),ipod:i(me,e),tablet:!i(le,e)&&i(pe,e)&&!i(V,e),device:(i(le,e)||i(me,e)||i(pe,e))&&!i(V,e)},amazon:{phone:i(Z,e),tablet:!i(Z,e)&&i(X,e),device:i(Z,e)||i(X,e)},android:{phone:!i(V,e)&&i(Z,e)||!i(V,e)&&i(ue,e),tablet:!i(V,e)&&!i(Z,e)&&!i(ue,e)&&(i(X,e)||i(he,e)),device:!i(V,e)&&(i(Z,e)||i(X,e)||i(ue,e)||i(he,e))||i(/\bokhttp\b/i,e)},windows:{phone:i(V,e),tablet:i(be,e),device:i(V,e)||i(be,e)},other:{blackberry:i(xe,e),blackberry10:i(ye,e),opera:i(Ce,e),firefox:i(Se,e),chrome:i(ze,e),device:i(xe,e)||i(ye,e)||i(Ce,e)||i(Se,e)||i(ze,e)},any:null,phone:null,tablet:null};return r.any=r.apple.device||r.android.device||r.windows.device||r.other.device,r.phone=r.apple.phone||r.android.phone||r.windows.phone,r.tablet=r.apple.tablet||r.android.tablet||r.windows.tablet,r}var tt=g(g({},we()),{},{isMobile:we});const nt=tt;var at=["disabled","loading","addonAfter","suffix"];const rt=K({compatConfig:{MODE:3},name:"AInputSearch",inheritAttrs:!1,props:g(g({},Te()),{},{inputPrefixCls:String,enterButton:ke.any,onSearch:{type:Function}}),setup:function(e,t){var a=t.slots,c=t.attrs,p=t.expose,f=t.emit,r=O(),o=function(){var s;(s=r.value)===null||s===void 0||s.focus()},u=function(){var s;(s=r.value)===null||s===void 0||s.blur()};p({focus:o,blur:u});var y=function(s){f("update:value",s.target.value),s&&s.target&&s.type==="click"&&f("search",s.target.value,s),f("change",s)},h=function(s){var C;document.activeElement===((C=r.value)===null||C===void 0?void 0:C.input)&&s.preventDefault()},A=function(s){var C;f("search",(C=r.value)===null||C===void 0?void 0:C.stateValue,s),nt.tablet||r.value.focus()},I=te("input-search",e),T=I.prefixCls,$=I.getPrefixCls,N=I.direction,w=I.size,v=q(function(){return $("input",e.inputPrefixCls)});return function(){var m,s,C,M,E,B=e.disabled,j=e.loading,H=e.addonAfter,k=H===void 0?(m=a.addonAfter)===null||m===void 0?void 0:m.call(a):H,Q=e.suffix,W=Q===void 0?(s=a.suffix)===null||s===void 0?void 0:s.call(a):Q,re=Ee(e,at),b=e.enterButton,n=b===void 0?(C=(M=a.enterButton)===null||M===void 0?void 0:M.call(a))!==null&&C!==void 0?C:!1:b;n=n||n==="";var d=typeof n=="boolean"?_(Ve,null,null):null,x="".concat(T.value,"-button"),z=Array.isArray(n)?n[0]:n,R,L=z.type&&Xe(z.type)&&z.type.__ANT_BUTTON;if(L||z.tagName==="button")R=_e(z,g({onMousedown:h,onClick:A,key:"enterButton"},L?{class:x,size:w.value}:{}),!1);else{var D=d&&!n;R=_(Je,{class:x,type:n?"primary":void 0,size:w.value,disabled:B,key:"enterButton",onMousedown:h,onClick:A,loading:j,icon:D?d:null},{default:function(){return[D?null:d||n]}})}k&&(R=[R,k]);var G=ne(T.value,(E={},S(E,"".concat(T.value,"-rtl"),N.value==="rtl"),S(E,"".concat(T.value,"-").concat(w.value),!!w.value),S(E,"".concat(T.value,"-with-button"),!!n),E),c.class);return _(P,g(g(g({ref:r},ae(re,["onUpdate:value","onSearch","enterButton"])),c),{},{onPressEnter:A,size:w.value,prefixCls:v.value,addonAfter:R,suffix:W,onChange:y,class:G,disabled:B}),a)}}});var it=`
min-height:0 !important;
max-height:none !important;
height:0 !important;

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{cM as r,r as e,J as t,aV as i,cN as d}from"./index-3eae54c8.js";const v=r("useTaskListStore",()=>{const a=e(new Map),n=t(new i),u=e(3),o=e([]),c=t([]),l=e(-1),s=e(null);return{checkBaiduyunInstalled:async()=>(s.value===null&&(s.value=d()),s.value),baiduyunInstalled:s,pollInterval:u,taskLogMap:a,queue:n,tasks:o,showDirAutoCompletedIdx:l,pendingBaiduyunTaskQueue:c}},{persist:{paths:["pollInterval","tasks"],key:"useTaskListStore-v0.0.1"}});export{v as u};
import{cM as r,r as e,J as t,aV as i,cN as d}from"./index-a0825fe1.js";const v=r("useTaskListStore",()=>{const a=e(new Map),n=t(new i),u=e(3),o=e([]),c=t([]),l=e(-1),s=e(null);return{checkBaiduyunInstalled:async()=>(s.value===null&&(s.value=d()),s.value),baiduyunInstalled:s,pollInterval:u,taskLogMap:a,queue:n,tasks:o,showDirAutoCompletedIdx:l,pendingBaiduyunTaskQueue:c}},{persist:{paths:["pollInterval","tasks"],key:"useTaskListStore-v0.0.1"}});export{v as u};

2
vue/dist/index.html vendored
View File

@ -7,7 +7,7 @@
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
<script type="module" crossorigin src="/baidu_netdisk/fe-static/assets/index-3eae54c8.js"></script>
<script type="module" crossorigin src="/baidu_netdisk/fe-static/assets/index-a0825fe1.js"></script>
<link rel="stylesheet" href="/baidu_netdisk/fe-static/assets/index-1930f7ee.css">
</head>

View File

@ -94,7 +94,8 @@ const messages = {
hypernetworks: '超网络模型',
openOnTheRight: "在右边打开",
openInNewTab: '在新标签打开',
loginPrompt: '这个功能要求你先使用BDUSS登录到百度云盘。'
loginPrompt: '这个功能要求你先使用BDUSS登录到百度云盘。',
openWithWalkMode: '使用 Walk 模式打开'
},
"en": {
"errorOccurred": "An error occurred",
@ -188,7 +189,8 @@ const messages = {
hypernetworks: 'hypernetworks',
openOnTheRight: "Open on the right",
openInNewTab: 'Open in a new tab',
loginPrompt: 'This feature requires you to log in to Baidu Cloud Drive using your BDUSS.'
loginPrompt: 'This feature requires you to log in to Baidu Cloud Drive using your BDUSS.',
openWithWalkMode: 'Open with Walk Mode'
}
}

View File

@ -31,7 +31,7 @@ const openInCurrentTab = (type: TabPane['type'], path?: string, walkMode = false
break
case 'local':
case 'netdisk':
pane = { type, name: compCnMap[type]! + (walkMode ? ` (Walk:${global.autoCompletedDirList.find(v => v.dir === path)?.zh ?? path})` :''), key: Date.now() + uniqueId(), target: type, path, walkMode }
pane = { type, name: compCnMap[type]!, key: Date.now() + uniqueId(), target: type, path, walkMode }
}
const tab = global.tabList[props.tabIdx]
tab.panes.splice(props.paneIdx, 1, pane)

View File

@ -20,6 +20,7 @@ import { nextTick } from 'vue'
import { loginByBduss } from '@/api/user'
import { t } from '@/i18n'
import { locale } from '@/i18n'
import { CloudServerOutlined, DatabaseOutlined } from '@/icon'
export const stackCache = new Map<string, Page[]>()
@ -308,6 +309,17 @@ export function useLocation (props: Props) {
watch(currLocation, debounce((loc) => {
const pane = global.tabList[props.tabIdx].panes[props.paneIdx] as FileTransferTabPane
pane.path = loc
const filename = pane.path!.split('/').pop()
const getTitle = () => {
if (!props.walkMode) {
return filename
}
return 'Walk: ' + (global.autoCompletedDirList.find(v => v.dir === walkModePath.value)?.zh ?? filename)
}
pane.name = h('div', { style: 'display:flex;align-items:center' }, [
h(props.target === 'local' ? DatabaseOutlined : CloudServerOutlined),
h('span', { class: 'line-clamp-1', style: 'max-width: 256px' }, getTitle())
]) as any as string
global.recent = global.recent.filter(v => v.key !== pane.key)
global.recent.unshift({ path: loc, target: pane.target, key: pane.key })
if (global.recent.length > 20) {
@ -687,6 +699,22 @@ export function useFileItemActions (props: Props, { openNext }: { openNext: (fil
case 'send2img2img': return copyImgTo('img2img')
case 'send2inpaint': return copyImgTo('inpaint')
case 'send2extras': return copyImgTo('extras')
case 'openWithWalkMode': {
stackCache.set(path, stack.value)
const tab = global.tabList[props.tabIdx]
const pane: FileTransferTabPane = {
type: props.target,
target: props.target,
key: uniqueId(),
path: file.fullpath,
name: props.target === 'local' ? t('local') : t('cloud'),
stackKey: path,
walkMode: true
}
tab.panes.push(pane)
tab.key = pane.key
break
}
case 'openInNewTab': {
stackCache.set(path, stack.value)
const tab = global.tabList[props.tabIdx]

View File

@ -12,8 +12,6 @@ import { isImageFile } from '@/util'
import { RecycleScroller } from 'vue-virtual-scroller'
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'
import { watch } from 'vue'
import { toRaw } from 'vue'
import { cloneDeep } from 'lodash-es'
const global = useGlobalStore()
@ -208,6 +206,7 @@ watch(() => props, () => {
<template v-if="file.type === 'dir'">
<a-menu-item key="openInNewTab">{{ $t('openInNewTab') }}</a-menu-item>
<a-menu-item key="openOnTheRight">{{ $t('openOnTheRight') }}</a-menu-item>
<a-menu-item key="openWithWalkMode">{{ $t('openWithWalkMode') }}</a-menu-item>
</template>
<template v-if="file.type === 'file' && props.target === 'local'">
<a-menu-item key="previewInNewWindow">{{ $t('previewInNewWindow') }}</a-menu-item>