From e1bc33f5c5660f62591997c1949c887ac7387871 Mon Sep 17 00:00:00 2001 From: Vben Date: Sat, 17 Apr 2021 18:36:49 +0800 Subject: [PATCH] perf: improve flowChart logic --- build/generate/generateModifyVars.ts | 1 + build/vite/plugin/theme.ts | 1 + package.json | 2 +- src/components/FlowChart/index.ts | 13 +- src/components/FlowChart/src/Control.vue | 150 ----------------- src/components/FlowChart/src/DataDialog.vue | 4 +- .../FlowChart/src/FlowChartToolbar.vue | 156 ++++++++++++++++++ src/components/FlowChart/src/NodePanel.vue | 145 ---------------- .../FlowChart/src/adpterForTurbo.ts | 97 +---------- .../src/assets/background/bpmn-end.png | Bin 921 -> 0 bytes .../background/bpmn-exclusiveGateway.png | Bin 830 -> 0 bytes .../src/assets/background/bpmn-start.png | Bin 697 -> 0 bytes .../src/assets/background/bpmn-user.png | Bin 754 -> 0 bytes .../FlowChart/src/assets/background/click.png | Bin 2666 -> 0 bytes .../src/assets/background/download.png | Bin 2028 -> 0 bytes .../FlowChart/src/assets/background/end.png | Bin 4889 -> 0 bytes .../FlowChart/src/assets/background/push.png | Bin 2286 -> 0 bytes .../FlowChart/src/assets/background/start.png | Bin 3950 -> 0 bytes .../FlowChart/src/assets/background/time.png | Bin 2988 -> 0 bytes .../FlowChart/src/assets/background/user.png | Bin 40754 -> 0 bytes .../src/assets/iconfont/iconfont.css | 48 ------ .../src/assets/iconfont/iconfont.eot | Bin 3408 -> 0 bytes .../FlowChart/src/assets/iconfont/iconfont.js | 61 ------- .../src/assets/iconfont/iconfont.json | 58 ------- .../src/assets/iconfont/iconfont.svg | 47 ------ .../src/assets/iconfont/iconfont.ttf | Bin 3240 -> 0 bytes .../src/assets/iconfont/iconfont.woff | Bin 2136 -> 0 bytes .../src/assets/iconfont/iconfont.woff2 | Bin 1652 -> 0 bytes src/components/FlowChart/src/enum.ts | 11 ++ src/components/FlowChart/src/index.vue | 124 ++++++++++++++ src/components/FlowChart/src/types.ts | 14 ++ .../FlowChart/src/useFlowContext.ts | 17 ++ src/components/Table/src/BasicTable.vue | 26 +-- src/components/Tinymce/src/tinymce.ts | 6 +- src/locales/lang/en/routes/demo/comp.ts | 1 - src/locales/lang/en/routes/demo/flow.ts | 4 + src/locales/lang/zh_CN/routes/demo/comp.ts | 1 - src/locales/lang/zh_CN/routes/demo/flow.ts | 4 + src/router/menus/modules/demo/comp.ts | 7 - src/router/menus/modules/demo/flow.ts | 18 ++ src/router/routes/modules/demo/comp.ts | 9 +- src/router/routes/modules/demo/flow.ts | 27 +++ src/views/demo/comp/flow-chart/index.vue | 134 ++------------- yarn.lock | 10 +- 44 files changed, 416 insertions(+), 780 deletions(-) delete mode 100644 src/components/FlowChart/src/Control.vue create mode 100644 src/components/FlowChart/src/FlowChartToolbar.vue delete mode 100644 src/components/FlowChart/src/NodePanel.vue delete mode 100644 src/components/FlowChart/src/assets/background/bpmn-end.png delete mode 100644 src/components/FlowChart/src/assets/background/bpmn-exclusiveGateway.png delete mode 100644 src/components/FlowChart/src/assets/background/bpmn-start.png delete mode 100644 src/components/FlowChart/src/assets/background/bpmn-user.png delete mode 100644 src/components/FlowChart/src/assets/background/click.png delete mode 100644 src/components/FlowChart/src/assets/background/download.png delete mode 100644 src/components/FlowChart/src/assets/background/end.png delete mode 100644 src/components/FlowChart/src/assets/background/push.png delete mode 100644 src/components/FlowChart/src/assets/background/start.png delete mode 100644 src/components/FlowChart/src/assets/background/time.png delete mode 100644 src/components/FlowChart/src/assets/background/user.png delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.css delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.eot delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.js delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.json delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.svg delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.ttf delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.woff delete mode 100644 src/components/FlowChart/src/assets/iconfont/iconfont.woff2 create mode 100644 src/components/FlowChart/src/enum.ts create mode 100644 src/components/FlowChart/src/index.vue create mode 100644 src/components/FlowChart/src/types.ts create mode 100644 src/components/FlowChart/src/useFlowContext.ts create mode 100644 src/locales/lang/en/routes/demo/flow.ts create mode 100644 src/locales/lang/zh_CN/routes/demo/flow.ts create mode 100644 src/router/menus/modules/demo/flow.ts create mode 100644 src/router/routes/modules/demo/flow.ts diff --git a/build/generate/generateModifyVars.ts b/build/generate/generateModifyVars.ts index 8037324b7..bcbc83926 100644 --- a/build/generate/generateModifyVars.ts +++ b/build/generate/generateModifyVars.ts @@ -32,5 +32,6 @@ export function generateModifyVars(dark = false) { 'font-size-base': '14px', // Main font size 'border-radius-base': '2px', // Component/float fillet 'link-color': primary, // Link color + 'content-background': '#fafafa', // Link color }; } diff --git a/build/vite/plugin/theme.ts b/build/vite/plugin/theme.ts index 93bf142a9..9b0eeab42 100644 --- a/build/vite/plugin/theme.ts +++ b/build/vite/plugin/theme.ts @@ -53,6 +53,7 @@ export function configThemePlugin(isBuild: boolean): Plugin[] { 'border-color-base': '#303030', // 'border-color-split': '#30363d', 'item-active-bg': '#111b26', + 'content-background': '#ffffff0a', // Link color }, }), ]; diff --git a/package.json b/package.json index 6d62756fd..8ac74296e 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "prettier": "^2.2.1", "pretty-quick": "^3.1.0", "rimraf": "^3.0.2", - "rollup-plugin-visualizer": "5.3.6", + "rollup-plugin-visualizer": "5.3.4", "stylelint": "^13.12.0", "stylelint-config-prettier": "^8.0.2", "stylelint-config-standard": "^21.0.0", diff --git a/src/components/FlowChart/index.ts b/src/components/FlowChart/index.ts index 61f1cb6b4..a55cff9ad 100644 --- a/src/components/FlowChart/index.ts +++ b/src/components/FlowChart/index.ts @@ -1,17 +1,10 @@ import { App } from 'vue'; -import control from './src/Control.vue'; -import nodePanel from './src/NodePanel.vue'; import dataDialog from './src/DataDialog.vue'; +import flowChart from './src/index.vue'; -export const Control = Object.assign(control, { +export const FlowChart = Object.assign(flowChart, { install(app: App) { - app.component(control.name, control); - }, -}); - -export const NodePanel = Object.assign(nodePanel, { - install(app: App) { - app.component(nodePanel.name, nodePanel); + app.component(flowChart.name, flowChart); }, }); diff --git a/src/components/FlowChart/src/Control.vue b/src/components/FlowChart/src/Control.vue deleted file mode 100644 index a90843155..000000000 --- a/src/components/FlowChart/src/Control.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - - - diff --git a/src/components/FlowChart/src/DataDialog.vue b/src/components/FlowChart/src/DataDialog.vue index a8272e3f6..71be83c4b 100644 --- a/src/components/FlowChart/src/DataDialog.vue +++ b/src/components/FlowChart/src/DataDialog.vue @@ -1,5 +1,5 @@ diff --git a/src/components/FlowChart/src/FlowChartToolbar.vue b/src/components/FlowChart/src/FlowChartToolbar.vue new file mode 100644 index 000000000..9708c2118 --- /dev/null +++ b/src/components/FlowChart/src/FlowChartToolbar.vue @@ -0,0 +1,156 @@ + + + diff --git a/src/components/FlowChart/src/NodePanel.vue b/src/components/FlowChart/src/NodePanel.vue deleted file mode 100644 index 2945b7b48..000000000 --- a/src/components/FlowChart/src/NodePanel.vue +++ /dev/null @@ -1,145 +0,0 @@ - - - - - diff --git a/src/components/FlowChart/src/adpterForTurbo.ts b/src/components/FlowChart/src/adpterForTurbo.ts index 5c0e0411d..b68b276c3 100644 --- a/src/components/FlowChart/src/adpterForTurbo.ts +++ b/src/components/FlowChart/src/adpterForTurbo.ts @@ -7,95 +7,6 @@ const TurboType = { EXCLUSIVE_GATEWAY: 6, }; -function getTurboType(type) { - switch (type) { - case 'bpmn:sequenceFlow': - return TurboType.SEQUENCE_FLOW; - case 'bpmn:startEvent': - return TurboType.START_EVENT; - case 'bpmn:endEvent': - return TurboType.END_EVENT; - case 'bpmn:userTask': - return TurboType.USER_TASK; - case 'bpmn:serviceTask': - return TurboType.SERVICE_TASK; - case 'bpmn:exclusiveGateway': - return TurboType.EXCLUSIVE_GATEWAY; - default: - return type; - } -} - -function convertNodeToTurboElement(node) { - const { id, type, x, y, text = '', properties } = node; - return { - incoming: [], - outgoing: [], - dockers: [], - type: getTurboType(node.type), - properties: { - ...properties, - name: (text && text.value) || '', - x: x, - y: y, - text, - logicFlowType: type, - }, - key: id, - }; -} - -function convertEdgeToTurboElement(edge) { - const { - id, - type, - sourceNodeId, - targetNodeId, - startPoint, - endPoint, - pointsList, - text = '', - properties, - } = edge; - return { - incoming: [sourceNodeId], - outgoing: [targetNodeId], - type: getTurboType(type), - dockers: [], - properties: { - ...properties, - name: (text && text.value) || '', - text, - startPoint, - endPoint, - pointsList, - logicFlowType: type, - }, - key: id, - }; -} - -export function toTurboData(data) { - const nodeMap = new Map(); - const turboData = { - flowElementList: [], - }; - data.nodes.forEach((node) => { - const flowElement = convertNodeToTurboElement(node); - turboData.flowElementList.push(flowElement); - nodeMap.set(node.id, flowElement); - }); - data.edges.forEach((edge) => { - const flowElement = convertEdgeToTurboElement(edge); - const sourceElement = nodeMap.get(edge.sourceNodeId); - sourceElement.outgoing.push(flowElement.key); - const targetElement = nodeMap.get(edge.targetNodeId); - targetElement.incoming.push(flowElement.key); - turboData.flowElementList.push(flowElement); - }); - return turboData; -} - function convertFlowElementToEdge(element) { const { incoming, outgoing, properties, key } = element; const { text, startPoint, endPoint, pointsList, logicFlowType } = properties; @@ -139,8 +50,12 @@ function convertFlowElementToNode(element) { return node; } -export function toLogicflowData(data) { - const lfData = { +export function toLogicFlowData(data) { + const lfData: { + // TODO type + nodes: any[]; + edges: any[]; + } = { nodes: [], edges: [], }; diff --git a/src/components/FlowChart/src/assets/background/bpmn-end.png b/src/components/FlowChart/src/assets/background/bpmn-end.png deleted file mode 100644 index 2263e16c788f7ea4b2e981aa9c6eb85163acbd6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmV;K17`e*P)74Oiy@~_(&V1jT@67i% z18}7J?X2dFg_FWxRiCwPnd-BTP}OgzC3yxopao|jg~S zd$_Fgop+TUQa=MMCX=Z9e#I;j;D!J?)&UjQ!aP<&#Tz2(LmZMjkX~IzOJLFCeAI^G zWq6YjD4gd=uuJQ8pqLBuc)*AosVp#%s|@04WT*gCo*^C2<$L*SJv752C*PD2VLTm4 zhV$}~{C^b`0^Da7_9hZ&2-5}^QFj6fDqayF@2^epnm1Vr6?-x``WAR)*eq-TB$S}G5 z4}}G*twzy) zY@Q=gZ$uR7H%^u-7QF{jmUNn6+ChLK*#cy)BFhyYVa6wYnXJ zL36w2x=k@r52>pcXq%B|r=C)aD_1P`C^2(P;_ebPAcb0b)gv;7+(EK2dODx*P&x0L zUvWZ}jt|2pRfgD3XVYg(>FtQPbblLVP?5m6W`&_yt+tg+dg-*Mb%b5FC70eM*8@L+ zodR*p=%>EbyxoZHIc#JrE?xar9`%HVGrSD@ayeKw{%gwh3Y(xyVf(s6=+zJlQO*54 zFUiq?0T{h8l(Q^O8}S>rUKRE{9AEHFUaw#}=U%AO4lE!KrNKmD0ONevtRC7RzzbEH zwyqZ)p^)y$3vg4dBbh_S<2Hepx>!;uwD2KqrP)1A^Ye7UPSizn=wf5ja^dO1{DF}jB zLA;1fT%!03il9G1Jk^_0Pof7sw1QX_q%D>dF{y~srs?kZzRA926H{;?nK$o!^UXK! zy;&eN4DEc`{;|M<^ADEodcF?u~4z&3UrKV&`Mx77#s_1Z!JVanN1qB9pR1d;hHpE z(S(>e=;N${Gt}hy7>Sui2TS&s9P?9hJX~!tXKPI~JW@v?R(X_EYDSV)li&VA*-lY{ zWAt&krBOsvyy_u<)w2z(_ySrF%oBHOrhy=W$xL7x#I<9j!NGJ8Ok0^~cOCKo28w|_ z(iv=H>BXeJ+_ZA3`FA;R%$sh(A5d3S)xf;79&U)gPx5(7ly9@om5{g(f!UGkx^|Ixzu5gUw}!OF@i4?oA;`&z z&vG6v)hYGO8HW?VkY_Z74;>-@5*6U*vVu|NMml-s8Q2ZJt3zWjdR|MOfmnE zYJiFFB;SlM+fAA7(Roi&1-K`+i|5iphoo3LQivJ7reZqhzpGS%quDJVGynhq07*qo IM6N<$g28HnW&i*H diff --git a/src/components/FlowChart/src/assets/background/bpmn-start.png b/src/components/FlowChart/src/assets/background/bpmn-start.png deleted file mode 100644 index d6da20bec6cacc0c9a7163e663c73601cdd6187d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmV;q0!ICbP)2BMZp#q!NGq(-3%g_MVe=qx^%Mg-u0Z@cW+)o6x$2Q@B7@}*L?s_t>eCm z4jC^Mf75N}JX>qK7efPsenqK~xYI%KhEd;OBAxEI^Zad}c^sutVjCszr^N&%@!4iU@7;SB{J?K#*#ZVI)?0Em|Bd z*&{nh%zFww4fKGtp#{;S%y0l~(3;P&tRLq!B^Flqh~vhxtWmNHZ-m${np(C;Uh}Tc z;G$QkvT zQ*mg~X@|-imn@$At-VVBS&l2L^8x2|DDE~$*ivL6-*Z@MzO*Wmfr8I3{w@Xi0!&2->p< z3U)Il6bX1#v|dEeKcLp$Jg5hI2qNl1L<$jU61Bk}RB20gpWmByme~Xy$h_a*eDmgQ zh_D8IUJ&WYrif-l(%=NMD~(eXsyy&(iQXG4+K?NHk@2}EGASFNY61cn17v(z&4+Q` z6JvC5dCl3#C#A@ow+?T3k~79&+LujYPSVQr!O1hiYZ91XRabR-C9rd3f< z+~x`I?>lbr7VCiBE^1!8hIP6!=kw7RTN@N&sQwm_wE@Vi&o^yXldR|sg_K@drUsl& z8c_%nB-`SQkwxM(JO>g)=NHOq)>fI96GPxtf*$PgC=Zk=9C^+r89AbPGx){c&vKFk zgH+e*2VO02D@{`sEnC~|%U7U%0?FBSK;y{-ZM8`;IXcPP!R1)Y3B%kD&s2i$V@#rp zAn;0UpyQ2e>a!Apo}w#_vZ}fW*$NkUm0knp9%UxD?gm|5rdB|t>l@wcx=BBmU?u3R z;p7HHm$yShFNux;T7?MFqLi^cy4$?2#zpU5Jz!|p2NdqcD;1ksy>JV_Y(MNd+~-TH zta5Hl^r$;x3|Dv*Kx1I@vKvU^81x!qPtn!vP?`6M&t1LDN_+>O@kJC(ZyTV~Z!fFg zQhM0aGY*y467fAFTFmd8rPlo~BhI&$LXFX0O=mN&9<@h4i9k0lVyN7t4 zM*ythxHNvsV_HO0KH@bxQDT>(v}SKAq^t1z=vUu*{2dCPqc?Q`H}JhB6;lr5u?zYk z_(x2hq7JTBEqJ7#Y1L5}vPC5Hf&SRP=&v8pBXXJ#;vZ-Z{rv;LO)`uDPU>F?X&z(I kQ}90r+F*K)s<4RPUslfuaLm=eX#fBK07*qoM6N<$f-(e8SO5S3 diff --git a/src/components/FlowChart/src/assets/background/click.png b/src/components/FlowChart/src/assets/background/click.png deleted file mode 100644 index 9679fb5e798a9d1f8ca0882d5005fb1f427f5078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2666 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 V^C3Ihj`u?XONy=eJ+f!w{{Z@=uJ8Z= diff --git a/src/components/FlowChart/src/assets/background/download.png b/src/components/FlowChart/src/assets/background/download.png deleted file mode 100644 index d28cf951e5b623c31a351b80e5004a7db9e86295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2028 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 R59wcCz~rI@l61i(_CFa}1PTBE diff --git a/src/components/FlowChart/src/assets/background/push.png b/src/components/FlowChart/src/assets/background/push.png deleted file mode 100644 index be493f4d12a25039a26f37682c6ab5199cf61044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2286 zcmVE!XYEKa%AqXMF+SvElcd@q`f>>LE*h*~iMGyqBFBJ`q ztv(?kgfBiw$X`bDwtde%bI!~;ceY8Iwz;!C|L1q-oIA@iV<;(W1;%7;eKDQ_K;{q> z015z^E0DSQv5o-y0owyRn7=1wSun=6?&=qlw+I0Pq#CMH9m^&N~yBXKQ~9 z0O;AK=YC1{3TVW9*Cu-m0DJ~au`#CPS)#ywz^OKRgbu)1;8z<%N}i<@_z;+8qeP*4a@$UtWQ!z(;k$gbu(-z}z|`%IBjhus85V zoi?EZAc{YzGopN+E&!_m3xG|FlN&3L#0Vg(_X1vTYA0A%(=;9EQUv(J?z0P^Za!1urk*}HhK0LcO%v&Wmq!MX*4N(GVzKvu73rimxl zK=4>(lSu~vXPT*87rv7RK;mez=mlW63Z*6hi(OP4Qd!yc60nOy`&j@Webxk?0QAin znJxxqIS4rHqT1fI(4iC20B|I5wxM0SUFWxOoL0V`1P&S@m>vy_90UxZs3yQP5!NO} z0l+oD)uUMVG;l;it5-B5!C__*L;}Q~s`Rn3D|i6vjB5jd7Pn3SzOz{gvr%!#dFnJ8 z)V-hqur;g=1Vi?j*XC_?8m-Y_0cdJe&JZ-!Y9t6j0?^i=Tp?(ymp}*(08MV(=`cX% z2thIctP1FG$A%67sAz5wBm;m>^6E6JkCYPx$pGMc88;UQk^w;9{I`K!eGCDnjvOFJ z3II*hJ`Y~w5~U77QUK_Sd#IVS*R-v#lrjX#0U)PqBzOu~*%tu`|2jw#0Qp@@w}N2x z0>MB9k_A9kE6|f5Si3+_sX)>I$m$v9onV~;!Kex(4}h%R(~Jb;3Ixk3kOcs;TJr;X z9Bfb^SW1Cx0Fc!?8wfTo5G+w3D*$BmPUfA!=V{=W=Lxa{KoD$aMuN@DNI;eV$nRSl z2pUJe8~{y>BSE$R$d4|@S8)&<1TGo`wE#cmtjePaHdz&DaahjiyWJ~+>-%ohqP<=K*w@_2>vM0ug>AuP(Z!TE1k;Ts)>@9t&|zWbG%y;!J zIz+oI+{NfB2j~vs+kAVchx%N!h!Ox7gRA^;9&mdP&g!BG7d@f_z{S`q@y`M7=)yBS z)#;*1Q~*`0Nog(6Ue$c z##cHCc+gj6f!31@04I9>rmDV&0(F|tZY2YN&xjw#0}uODIpDgI0bn2C6%Rrm2R!1T zo>;0#1_0OJv?_lr@MtWa^VH9z0C0ie7~nBaqQ+EBasae};AnGhAtuN9>T8k!G=bnK z6Fl0Npt04HEC4nT9BJYOH+7oIO*ZrBP0NOsKWPA}AovB)lJ5K#-q2x>8%;T@nXndZ z^jRc%03@c)CTau6j>hRao4=@q%I7Y#@iT>A4X*==ncOB>eF4U_sX4$hS`Az_s6%KG zznaSC8Z0{-0JP=1YQMjNJ!lw>E$KZ*{nnw~wkZn$Y@U&Nr}(0+ibE(j$=kMGu)M-%X{=mx(@++&( zDQL_3FjEo$*v#~GDY6!&w6xqbX)3qtFn4u*Dge|eWbyfnz`+*zmd!E__^CxXpG67) z9@Lx#=n9!OX@R+iu}xVYWeNZuRMg2My@#|(znXc1Hf4R3DFAp-QPa+CBB^VtT4jfs zk^n$Eg@zgANlVFXf@crfqtF)=6M)5ajfK7==s@75IwLy%Tp{KZYR)!k@=E&;HnACmdqFAg(ldz>Ps)TYn@SPS^Q){1^I=zQaA z1Devp(DT6V{d8wwE7s>JLI*%r>Ou!C!i11CD=7%HTlZ(vA?;?C(=QKXMerGO@rRXO zF#sS#^cc|NAf%)|jSs}>BX!ZUU+(}`DHZ_M8}W^^GAz?f8ZC7Vj&+I!02!p|RZY!K zv$ig;j5-me$55jb69E4krnvvJ8(Eol=I4y#wQSuu#R!0mTp!rZ{F!3@-`My_3;YOt zY__Dy=|8yG5i0;LHkYy^6es{>jza;U0Fb!?nVVlmfXo5-7bfw&kh<$aTmS$707*qo IM6N<$g3qS_Gynhq diff --git a/src/components/FlowChart/src/assets/background/start.png b/src/components/FlowChart/src/assets/background/start.png deleted file mode 100644 index b1c3a5014f40ee0d63deead370faa7f3d965745a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3950 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', - s = (s = document.getElementsByTagName('script'))[s.length - 1].getAttribute('data-injectcss'); - if (s && !c.__iconfont__svg__cssinject__) { - c.__iconfont__svg__cssinject__ = !0; - try { - document.write( - '' - ); - } catch (c) { - console && console.log(c); - } - } - function h() { - n || ((n = !0), o()); - } - (t = function () { - var c, t, e, o; - ((o = document.createElement('div')).innerHTML = i), - (i = null), - (e = o.getElementsByTagName('svg')[0]) && - (e.setAttribute('aria-hidden', 'true'), - (e.style.position = 'absolute'), - (e.style.width = 0), - (e.style.height = 0), - (e.style.overflow = 'hidden'), - (c = e), - (t = document.body).firstChild - ? ((o = c), (e = t.firstChild).parentNode.insertBefore(o, e)) - : t.appendChild(c)); - }), - document.addEventListener - ? ~['complete', 'loaded', 'interactive'].indexOf(document.readyState) - ? setTimeout(t, 0) - : ((e = function () { - document.removeEventListener('DOMContentLoaded', e, !1), t(); - }), - document.addEventListener('DOMContentLoaded', e, !1)) - : document.attachEvent && - ((o = t), - (a = c.document), - (n = !1), - (l = function () { - try { - a.documentElement.doScroll('left'); - } catch (c) { - return void setTimeout(l, 50); - } - h(); - })(), - (a.onreadystatechange = function () { - 'complete' == a.readyState && ((a.onreadystatechange = null), h()); - })); -})(window); diff --git a/src/components/FlowChart/src/assets/iconfont/iconfont.json b/src/components/FlowChart/src/assets/iconfont/iconfont.json deleted file mode 100644 index 6f91abb60..000000000 --- a/src/components/FlowChart/src/assets/iconfont/iconfont.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": "2491438", - "name": "liu'c'tu", - "font_family": "iconfont", - "css_prefix_text": "icon-", - "description": "", - "glyphs": [ - { - "icon_id": "755619", - "name": "自适应图标", - "font_class": "full-screen-hs", - "unicode": "e656", - "unicode_decimal": 58966 - }, - { - "icon_id": "14445801", - "name": "查看", - "font_class": "watch-hs", - "unicode": "e766", - "unicode_decimal": 59238 - }, - { - "icon_id": "9712640", - "name": "下载", - "font_class": "download-hs", - "unicode": "e6af", - "unicode_decimal": 59055 - }, - { - "icon_id": "1029099", - "name": "放大", - "font_class": "enlarge-hs", - "unicode": "e765", - "unicode_decimal": 59237 - }, - { - "icon_id": "20017362", - "name": "上一步", - "font_class": "previous-hs", - "unicode": "e84c", - "unicode_decimal": 59468 - }, - { - "icon_id": "1010015", - "name": "缩小", - "font_class": "zoom-out-hs", - "unicode": "e744", - "unicode_decimal": 59204 - }, - { - "icon_id": "20017363", - "name": "下一步", - "font_class": "next-step-hs", - "unicode": "e84b", - "unicode_decimal": 59467 - } - ] -} diff --git a/src/components/FlowChart/src/assets/iconfont/iconfont.svg b/src/components/FlowChart/src/assets/iconfont/iconfont.svg deleted file mode 100644 index 657d7c73f..000000000 --- a/src/components/FlowChart/src/assets/iconfont/iconfont.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/components/FlowChart/src/assets/iconfont/iconfont.ttf b/src/components/FlowChart/src/assets/iconfont/iconfont.ttf deleted file mode 100644 index b332ae7da76f676ca4423391844bbe32f343007b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3240 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 diff --git a/src/components/FlowChart/src/enum.ts b/src/components/FlowChart/src/enum.ts new file mode 100644 index 000000000..8ea134ca5 --- /dev/null +++ b/src/components/FlowChart/src/enum.ts @@ -0,0 +1,11 @@ +export enum ToolbarTypeEnum { + ZOOM_IN = 'zoomIn', + ZOOM_OUT = 'zoomOut', + RESET_ZOOM = 'resetZoom', + + UNDO = 'undo', + REDO = 'redo', + + SNAPSHOT = 'snapshot', + VIEW_DATA = 'viewData', +} diff --git a/src/components/FlowChart/src/index.vue b/src/components/FlowChart/src/index.vue new file mode 100644 index 000000000..8b7161d74 --- /dev/null +++ b/src/components/FlowChart/src/index.vue @@ -0,0 +1,124 @@ + + diff --git a/src/components/FlowChart/src/types.ts b/src/components/FlowChart/src/types.ts new file mode 100644 index 000000000..94992ba1a --- /dev/null +++ b/src/components/FlowChart/src/types.ts @@ -0,0 +1,14 @@ +import { NodeConfig } from '@logicflow/core'; +import { ToolbarTypeEnum } from './enum'; + +export interface NodeItem extends NodeConfig { + icon: string; +} + +export interface ToolbarConfig { + type?: string | ToolbarTypeEnum; + tooltip?: string | boolean; + icon?: string; + disabled?: boolean; + separate?: boolean; +} diff --git a/src/components/FlowChart/src/useFlowContext.ts b/src/components/FlowChart/src/useFlowContext.ts new file mode 100644 index 000000000..7d15f3b34 --- /dev/null +++ b/src/components/FlowChart/src/useFlowContext.ts @@ -0,0 +1,17 @@ +import type LogicFlow from '@logicflow/core'; + +import { provide, inject } from 'vue'; + +const key = Symbol('flow-chart'); + +type Instance = { + logicFlow: LogicFlow; +}; + +export function createFlowChartContext(instance: Instance) { + provide(key, instance); +} + +export function useFlowChartContext(): Instance { + return inject(key) as Instance; +} diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue index 21a24a86f..c306839e0 100644 --- a/src/components/Table/src/BasicTable.vue +++ b/src/components/Table/src/BasicTable.vue @@ -298,27 +298,13 @@ @prefix-cls: ~'@{namespace}-basic-table'; - html[data-theme='light'] { - .@{prefix-cls} { - &-row__striped { - td { - background-color: #fafafa; - } - } - } - } - - html[data-theme='dark'] { - .@{prefix-cls} { - &-row__striped { - td { - background-color: rgb(255 255 255 / 4%); - } - } - } - } - .@{prefix-cls} { + &-row__striped { + td { + background-color: content-background; + } + } + &-form-container { padding: 16px; diff --git a/src/components/Tinymce/src/tinymce.ts b/src/components/Tinymce/src/tinymce.ts index 443b9aa89..ff36766b7 100644 --- a/src/components/Tinymce/src/tinymce.ts +++ b/src/components/Tinymce/src/tinymce.ts @@ -25,7 +25,7 @@ import 'tinymce/plugins/save'; import 'tinymce/plugins/searchreplace'; import 'tinymce/plugins/spellchecker'; import 'tinymce/plugins/tabfocus'; -import 'tinymce/plugins/table'; +// import 'tinymce/plugins/table'; import 'tinymce/plugins/template'; import 'tinymce/plugins/textpattern'; import 'tinymce/plugins/visualblocks'; @@ -38,12 +38,12 @@ import 'tinymce/plugins/wordcount'; // colorpicker/contextmenu/textcolor plugin is now built in to the core editor, please remove it from your editor configuration export const plugins = [ - 'advlist anchor autolink autosave code codesample directionality fullscreen hr insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textpattern visualblocks visualchars wordcount', + 'advlist anchor autolink autosave code codesample directionality fullscreen hr insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus template textpattern visualblocks visualchars wordcount', ]; export const toolbar = [ 'fontsizeselect lineheight searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample', - 'hr bullist numlist link preview anchor pagebreak insertdatetime media table forecolor backcolor fullscreen', + 'hr bullist numlist link preview anchor pagebreak insertdatetime media forecolor backcolor fullscreen', ]; export { tinymce }; diff --git a/src/locales/lang/en/routes/demo/comp.ts b/src/locales/lang/en/routes/demo/comp.ts index 11bbfc8e9..c68ea5cd9 100644 --- a/src/locales/lang/en/routes/demo/comp.ts +++ b/src/locales/lang/en/routes/demo/comp.ts @@ -35,5 +35,4 @@ export default { time: 'Relative Time', cropperImage: 'Cropper Image', - flowChart: 'Flow Chart', }; diff --git a/src/locales/lang/en/routes/demo/flow.ts b/src/locales/lang/en/routes/demo/flow.ts new file mode 100644 index 000000000..e4fbb9c2b --- /dev/null +++ b/src/locales/lang/en/routes/demo/flow.ts @@ -0,0 +1,4 @@ +export default { + name: 'Graphics editor', + flowChart: 'FlowChart', +}; diff --git a/src/locales/lang/zh_CN/routes/demo/comp.ts b/src/locales/lang/zh_CN/routes/demo/comp.ts index 291c8c415..2bd3614a1 100644 --- a/src/locales/lang/zh_CN/routes/demo/comp.ts +++ b/src/locales/lang/zh_CN/routes/demo/comp.ts @@ -34,5 +34,4 @@ export default { time: '相对时间', cropperImage: '图片裁剪', - flowChart: '流程图', }; diff --git a/src/locales/lang/zh_CN/routes/demo/flow.ts b/src/locales/lang/zh_CN/routes/demo/flow.ts new file mode 100644 index 000000000..f87c3e12b --- /dev/null +++ b/src/locales/lang/zh_CN/routes/demo/flow.ts @@ -0,0 +1,4 @@ +export default { + name: '图形编辑器', + flowChart: '流程图', +}; diff --git a/src/router/menus/modules/demo/comp.ts b/src/router/menus/modules/demo/comp.ts index c9909ea60..15e91f434 100644 --- a/src/router/menus/modules/demo/comp.ts +++ b/src/router/menus/modules/demo/comp.ts @@ -123,13 +123,6 @@ const menu: MenuModule = { content: 'new', }, }, - { - path: 'flowChart', - name: t('routes.demo.comp.flowChart'), - tag: { - content: 'new', - }, - }, { path: 'countTo', name: t('routes.demo.comp.countTo'), diff --git a/src/router/menus/modules/demo/flow.ts b/src/router/menus/modules/demo/flow.ts new file mode 100644 index 000000000..7cbd6a2b6 --- /dev/null +++ b/src/router/menus/modules/demo/flow.ts @@ -0,0 +1,18 @@ +import type { MenuModule } from '/@/router/types'; +import { t } from '/@/hooks/web/useI18n'; + +const menu: MenuModule = { + orderNo: 5000, + menu: { + name: t('routes.demo.flow.name'), + path: '/flow', + + children: [ + { + path: 'flowChart', + name: t('routes.demo.flow.flowChart'), + }, + ], + }, +}; +export default menu; diff --git a/src/router/routes/modules/demo/comp.ts b/src/router/routes/modules/demo/comp.ts index 47c70eaaa..d5f0dcd71 100644 --- a/src/router/routes/modules/demo/comp.ts +++ b/src/router/routes/modules/demo/comp.ts @@ -240,14 +240,7 @@ const comp: AppRouteModule = { title: t('routes.demo.comp.cropperImage'), }, }, - { - path: 'flowChart', - name: 'flowChartDemo', - component: () => import('/@/views/demo/comp/flow-chart/index.vue'), - meta: { - title: t('routes.demo.comp.flowChart'), - }, - }, + { path: 'timestamp', name: 'TimeDemo', diff --git a/src/router/routes/modules/demo/flow.ts b/src/router/routes/modules/demo/flow.ts new file mode 100644 index 000000000..c4bc8911c --- /dev/null +++ b/src/router/routes/modules/demo/flow.ts @@ -0,0 +1,27 @@ +import type { AppRouteModule } from '/@/router/types'; + +import { LAYOUT } from '/@/router/constant'; +import { t } from '/@/hooks/web/useI18n'; + +const charts: AppRouteModule = { + path: '/flow', + name: 'FlowDemo', + component: LAYOUT, + redirect: '/flow/flowChart', + meta: { + icon: 'tabler:chart-dots', + title: t('routes.demo.flow.name'), + }, + children: [ + { + path: 'flowChart', + name: 'flowChartDemo', + component: () => import('/@/views/demo/comp/flow-chart/index.vue'), + meta: { + title: t('routes.demo.flow.flowChart'), + }, + }, + ], +}; + +export default charts; diff --git a/src/views/demo/comp/flow-chart/index.vue b/src/views/demo/comp/flow-chart/index.vue index 273d95d9f..4d28c4f09 100644 --- a/src/views/demo/comp/flow-chart/index.vue +++ b/src/views/demo/comp/flow-chart/index.vue @@ -1,133 +1,23 @@ - - diff --git a/yarn.lock b/yarn.lock index 96f956fc3..4d123a9e8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7719,17 +7719,17 @@ rollup-plugin-terser@^7.0.0: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup-plugin-visualizer@5.3.6: - version "5.3.6" - resolved "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.3.6.tgz#df6317b242f4aa58b6a03261335dbc64ea6fe0df" - integrity sha512-USIyYkzRuvIJZyUoFWSvejy/c8F9jm9mHbyB+01oE7m0Vc0Ll67HlZgRsY59IqU/j/qF1adPsXKSDkEXS6tzfg== +rollup-plugin-visualizer@5.3.4: + version "5.3.4" + resolved "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.3.4.tgz#216300acca6e31b139be92eed98280c5662a5818" + integrity sha512-n3wYwKrZ3nhYJj8apzFuxmiu4y+ygDNJYLqQCOxludg3Pnhkql9WYc8iupgsMI+jGREA0dFsfDlzDAKcmXZIMQ== dependencies: nanoid "^3.1.22" open "^7.4.2" source-map "^0.7.3" yargs "^16.2.0" -rollup@^2.25.0, rollup@^2.38.5, rollup@^2.44.0, rollup@^2.45.2: +rollup@^2.25.0, rollup@^2.38.5, rollup@^2.44.0: version "2.45.2" resolved "https://registry.npmjs.org/rollup/-/rollup-2.45.2.tgz#8fb85917c9f35605720e92328f3ccbfba6f78b48" integrity sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==