You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
2.6 KiB
2 lines
2.6 KiB
var O=(r,u,s)=>new Promise((i,l)=>{var d=a=>{try{e(s.next(a))}catch(t){l(t)}},n=a=>{try{e(s.throw(a))}catch(t){l(t)}},e=a=>a.done?i(a.value):Promise.resolve(a.value).then(d,n);e((s=s.apply(r,u)).next())});import{d as w,bY as h,bL as k,r as x,G as v,u as c,J as F,a3 as I,aT as g,aU as b,o as p,g as m,F as C,bt as N,b as T,w as D,h as S,t as B,x as y,i as E,aP as U,a as Z}from"./index-f4658ae7.js";import{D as $}from"./index-0e56c5c3.js";import{useFlowChartContext as A}from"./useFlowContext-049ea229.js";import{ToolbarTypeEnum as o}from"./enum-e55d455c.js";const M=w({name:"FlowChartToolbar",components:{Icon:h,Divider:$,Tooltip:k},props:{prefixCls:String},emits:["view-data"],setup(r,{emit:u}){const s=x([{type:o.ZOOM_IN,icon:"codicon:zoom-out",tooltip:"\u7F29\u5C0F"},{type:o.ZOOM_OUT,icon:"codicon:zoom-in",tooltip:"\u653E\u5927"},{type:o.RESET_ZOOM,icon:"codicon:screen-normal",tooltip:"\u91CD\u7F6E\u6BD4\u4F8B"},{separate:!0},{type:o.UNDO,icon:"ion:arrow-undo-outline",tooltip:"\u540E\u9000",disabled:!0},{type:o.REDO,icon:"ion:arrow-redo-outline",tooltip:"\u524D\u8FDB",disabled:!0},{separate:!0},{type:o.SNAPSHOT,icon:"ion:download-outline",tooltip:"\u4E0B\u8F7D"},{type:o.VIEW_DATA,icon:"carbon:document-view",tooltip:"\u67E5\u770B\u6570\u636E"}]),{logicFlow:i}=A();function l({data:{undoAble:n,redoAble:e}}){const a=c(s),t=a.findIndex(f=>f.type===o.UNDO),_=a.findIndex(f=>f.type===o.REDO);t!==-1&&(c(s)[t].disabled=!n),_!==-1&&(c(s)[_].disabled=!e)}const d=n=>{const e=c(i);if(e)switch(n.type){case o.ZOOM_IN:e.zoom();break;case o.ZOOM_OUT:e.zoom(!0);break;case o.RESET_ZOOM:e.resetZoom();break;case o.UNDO:e.undo();break;case o.REDO:e.redo();break;case o.SNAPSHOT:e.getSnapshot();break;case o.VIEW_DATA:u("view-data");break}};return v(()=>O(this,null,function*(){var n;c(i)&&(yield F(),(n=c(i))==null||n.on("history:change",l))})),I(()=>{var n;(n=c(i))==null||n.off("history:change",l)}),{toolbarItemList:s,onControl:d}}});const z=["onClick"];function L(r,u,s,i,l,d){const n=b("Icon"),e=b("Tooltip"),a=b("Divider");return p(),m("div",{class:y([`${r.prefixCls}-toolbar`,"flex items-center px-2 py-1"])},[(p(!0),m(C,null,N(r.toolbarItemList,t=>(p(),m(C,{key:t.type},[T(e,U({placement:"bottom"},t.disabled?{visible:!1}:{}),{title:D(()=>[S(B(t.tooltip),1)]),default:D(()=>[t.icon?(p(),m("span",{key:0,class:y(`${r.prefixCls}-toolbar__icon`),onClick:_=>r.onControl(t)},[T(n,{icon:t.icon,class:y(t.disabled?"cursor-not-allowed disabeld":"cursor-pointer")},null,8,["icon","class"])],10,z)):E("",!0)]),_:2},1040),t.separate?(p(),Z(a,{key:0,type:"vertical"})):E("",!0)],64))),128))],2)}const G=g(M,[["render",L]]);export{G as default};
|