@next-bricks/diagram 0.10.1 → 0.10.2
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/dist/bricks.json +1 -1
- package/dist/chunks/{4180.e1bb97aa.js → 5476.649929a0.js} +2 -2
- package/dist/chunks/5476.649929a0.js.map +1 -0
- package/dist/chunks/6466.ab3e9384.js +3 -0
- package/dist/chunks/6466.ab3e9384.js.map +1 -0
- package/dist/chunks/9393.2d6a1ab3.js +2 -0
- package/dist/chunks/9393.2d6a1ab3.js.map +1 -0
- package/dist/chunks/eo-diagram.f5c3d3b7.js +2 -0
- package/dist/chunks/eo-diagram.f5c3d3b7.js.map +1 -0
- package/dist/chunks/main.e93685b6.js +2 -0
- package/dist/chunks/{main.bbea6758.js.map → main.e93685b6.js.map} +1 -1
- package/dist/examples.json +1 -1
- package/dist/index.3d7ac197.js +2 -0
- package/dist/{index.aae74ff4.js.map → index.3d7ac197.js.map} +1 -1
- package/dist-types/diagram/index.d.ts +1 -1
- package/dist-types/diagram/processors/handleKeyboard.d.ts +2 -3
- package/dist-types/diagram/processors/sameTarget.d.ts +2 -0
- package/dist-types/diagram/processors/sameTarget.spec.d.ts +1 -0
- package/docs/eo-diagram.md +19 -72
- package/package.json +2 -2
- package/dist/chunks/266.7e221e82.js +0 -3
- package/dist/chunks/266.7e221e82.js.map +0 -1
- package/dist/chunks/4180.e1bb97aa.js.map +0 -1
- package/dist/chunks/9393.760bb836.js +0 -2
- package/dist/chunks/9393.760bb836.js.map +0 -1
- package/dist/chunks/eo-diagram.8f82fc1b.js +0 -2
- package/dist/chunks/eo-diagram.8f82fc1b.js.map +0 -1
- package/dist/chunks/main.bbea6758.js +0 -2
- package/dist/index.aae74ff4.js +0 -2
- /package/dist/chunks/{266.7e221e82.js.LICENSE.txt → 6466.ab3e9384.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9393],{9393:(e,t,a)=>{a.r(t);var n,l,i,s,r,o,c,u,h,d,b,v,p,g,w,Z,f,m,k,y,M,E,W,x,C,L,N,R,S,z,D,T,B,P,A,O,H,K,I,V,_,X,Y,$,q,U,j,F,G,J,Q,ee,te,ae,ne,le,ie,se,re,oe,ce=a(3395),ue=a(1815),he=a(381),de=a(687),be=a(5066),ve=a(8657),pe=a.n(ve),ge=a(5727),we=a(305),Ze=(a(928),a(1105)),fe=a(3725),me=a(2779),ke=a.n(me),ye=a(1211),Me=a(7209),Ee=a(2370),We=a(5702),xe=a(7441),Ce=a(2846),Le=a(4880),Ne=a(7853),Re=a(6462),Se=a(9575),ze=a(2260),De=a(7587),Te=a(1251),Be=a(4126),Pe=a(542),Ae=a(5318),Oe=a(2359),He=a(7271),Ke=a(6436),Ie=a(8116),Ve=a(8330),{defineElement:_e,property:Xe,event:Ye,method:$e}=(0,ge.createDecorators)(),qe=(0,ve.forwardRef)(Vt);l=_e("eo-diagram",{styleTexts:[Ke.Z]}),i=Xe({type:String}),r=Xe({attribute:!1}),c=Xe({attribute:!1}),h=Xe({attribute:!1}),b=Xe({attribute:!1}),p=Xe({attribute:!1}),w=Xe({attribute:!1}),f=Xe({type:Boolean}),k=Xe({attribute:!1}),M=Xe({attribute:!1}),W=Xe({attribute:!1}),C=Xe({type:Boolean}),N=Xe({type:Boolean}),S=Xe({type:Boolean}),D=Xe({attribute:!1}),B=Ye({type:"activeTarget.change"}),H=Ye({type:"node.delete"}),_=Ye({type:"edge.delete"}),q=Ye({type:"line.click"}),G=Ye({type:"line.dblclick"}),te=Ye({type:"nodes.connect"}),ie=$e();var Ue=new WeakMap,je=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Qe=new WeakMap,et=new WeakMap,tt=new WeakMap,at=new WeakMap,nt=new WeakMap,lt=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,ot=new WeakMap,ct=new WeakMap,ut=new WeakMap,ht=new WeakMap,dt=new WeakMap,bt=new WeakMap,vt=new WeakMap,pt=new WeakMap,gt=new WeakMap,wt=new WeakMap,Zt=new WeakMap,ft=new WeakMap,mt=new WeakMap,kt=new WeakMap,yt=new WeakMap,Mt=new WeakMap,Et=new WeakMap,Wt=new WeakMap,xt=new WeakMap,Ct=new WeakMap,Lt=new WeakMap;class Nt extends we.ReactNextElement{constructor(){super(...arguments),(0,ce.Z)(this,Wt,{get:It,set:Kt}),(0,ce.Z)(this,yt,{get:Ht,set:Ot}),(0,ce.Z)(this,ft,{get:At,set:Pt}),(0,ce.Z)(this,gt,{get:Bt,set:Tt}),(0,ce.Z)(this,bt,{get:Dt,set:zt}),(0,ce.Z)(this,ut,{get:St,set:Rt}),(0,ce.Z)(this,Ue,{writable:!0,value:(se(this),s(this))}),(0,ce.Z)(this,je,{writable:!0,value:o(this)}),(0,ce.Z)(this,Fe,{writable:!0,value:u(this)}),(0,ce.Z)(this,Ge,{writable:!0,value:d(this)}),(0,ce.Z)(this,Je,{writable:!0,value:v(this)}),(0,ce.Z)(this,Qe,{writable:!0,value:g(this)}),(0,ce.Z)(this,et,{writable:!0,value:Z(this)}),(0,ce.Z)(this,tt,{writable:!0,value:m(this)}),(0,ce.Z)(this,at,{writable:!0,value:y(this)}),(0,ce.Z)(this,nt,{writable:!0,value:E(this)}),(0,ce.Z)(this,lt,{writable:!0,value:x(this)}),(0,ce.Z)(this,it,{writable:!0,value:L(this,!0)}),(0,ce.Z)(this,st,{writable:!0,value:R(this,!0)}),(0,ce.Z)(this,rt,{writable:!0,value:z(this,!0)}),(0,ce.Z)(this,ot,{writable:!0,value:T(this)}),(0,ce.Z)(this,ct,{writable:!0,value:P(this)}),(0,ce.Z)(this,ht,{writable:!0,value:e=>{(0,de.Z)(this,ut).emit(e)}}),(0,ce.Z)(this,dt,{writable:!0,value:K(this)}),(0,ce.Z)(this,vt,{writable:!0,value:e=>{(0,de.Z)(this,bt).emit(e)}}),(0,ce.Z)(this,pt,{writable:!0,value:X(this)}),(0,ce.Z)(this,wt,{writable:!0,value:e=>{(0,de.Z)(this,gt).emit(e)}}),(0,ce.Z)(this,Zt,{writable:!0,value:U(this)}),(0,ce.Z)(this,mt,{writable:!0,value:e=>{(0,de.Z)(this,ft).emit(e)}}),(0,ce.Z)(this,kt,{writable:!0,value:J(this)}),(0,ce.Z)(this,Mt,{writable:!0,value:e=>{(0,de.Z)(this,yt).emit(e)}}),(0,ce.Z)(this,Et,{writable:!0,value:ae(this)}),(0,ce.Z)(this,xt,{writable:!0,value:e=>{(0,de.Z)(this,Wt).emit(e)}}),(0,ce.Z)(this,Ct,{writable:!0,value:e=>{(0,Ve.N)(e,this.activeTarget)||(this.activeTarget=e)}}),(0,ce.Z)(this,Lt,{writable:!0,value:(0,ve.createRef)()})}get layout(){return(0,de.Z)(this,Ue)}set layout(e){(0,he.Z)(this,Ue,e)}get nodes(){return(0,de.Z)(this,je)}set nodes(e){(0,he.Z)(this,je,e)}get edges(){return(0,de.Z)(this,Fe)}set edges(e){(0,he.Z)(this,Fe,e)}get nodeBricks(){return(0,de.Z)(this,Ge)}set nodeBricks(e){(0,he.Z)(this,Ge,e)}get lines(){return(0,de.Z)(this,Je)}set lines(e){(0,he.Z)(this,Je,e)}get layoutOptions(){return(0,de.Z)(this,Qe)}set layoutOptions(e){(0,he.Z)(this,Qe,e)}get activeTarget(){return(0,de.Z)(this,et)}set activeTarget(e){(0,he.Z)(this,et,e)}get disableKeyboardAction(){return(0,de.Z)(this,tt)}set disableKeyboardAction(e){(0,he.Z)(this,tt,e)}get connectNodes(){return(0,de.Z)(this,at)}set connectNodes(e){(0,he.Z)(this,at,e)}get nodesConnect(){return(0,de.Z)(this,nt)}set nodesConnect(e){(0,he.Z)(this,nt,e)}get dragNodes(){return(0,de.Z)(this,lt)}set dragNodes(e){(0,he.Z)(this,lt,e)}get zoomable(){return(0,de.Z)(this,it)}set zoomable(e){(0,he.Z)(this,it,e)}get scrollable(){return(0,de.Z)(this,st)}set scrollable(e){(0,he.Z)(this,st,e)}get pannable(){return(0,de.Z)(this,rt)}set pannable(e){(0,he.Z)(this,rt,e)}get scaleRange(){return(0,de.Z)(this,ot)}set scaleRange(e){(0,he.Z)(this,ot,e)}callOnLineLabel(e,t){for(var a,n=arguments.length,l=new Array(n>2?n-2:0),i=2;i<n;i++)l[i-2]=arguments[i];null===(a=(0,de.Z)(this,Lt).current)||void 0===a||a.callOnLineLabel(e,t,...l)}render(){var e;return pe().createElement(qe,{ref:(0,de.Z)(this,Lt),layout:this.layout,nodes:this.nodes,edges:this.edges,nodeBricks:this.nodeBricks,lines:this.lines,layoutOptions:this.layoutOptions,connectNodes:null!==(e=this.connectNodes)&&void 0!==e?e:this.nodesConnect,dragNodes:this.dragNodes,activeTarget:this.activeTarget,disableKeyboardAction:this.disableKeyboardAction,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:(0,de.Z)(this,ht),onSwitchActiveTarget:(0,de.Z)(this,Ct),onNodeDelete:(0,de.Z)(this,vt),onEdgeDelete:(0,de.Z)(this,wt),onLineClick:(0,de.Z)(this,mt),onLineDoubleClick:(0,de.Z)(this,Mt),onNodesConnect:(0,de.Z)(this,xt)})}}function Rt(e){O(this,e)}function St(){return A(this)}function zt(e){V(this,e)}function Dt(){return I(this)}function Tt(e){$(this,e)}function Bt(){return Y(this)}function Pt(e){F(this,e)}function At(){return j(this)}function Ot(e){ee(this,e)}function Ht(){return Q(this)}function Kt(e){le(this,e)}function It(){return ne(this)}function Vt(e,t){var{layout:a,nodes:n,edges:l,nodeBricks:i,lines:s,layoutOptions:r,connectNodes:o,dragNodes:c,activeTarget:u,disableKeyboardAction:h,zoomable:d,scrollable:b,pannable:v,scaleRange:p,onActiveTargetChange:g,onSwitchActiveTarget:w,onNodeDelete:Z,onEdgeDelete:f,onLineClick:m,onLineDoubleClick:k,onNodesConnect:y}=e,[M,E]=(0,ve.useState)(!1),[W,x]=(0,ve.useState)(0),[C,L]=(0,ve.useState)(null),[N,R]=(0,ve.useState)(!1),[S,z]=(0,ve.useState)(0),[D,T]=(0,ve.useState)(null),[B,P]=(0,ve.useState)([]),[A,O]=(0,ve.useState)(!1),[H,K]=(0,ve.useState)({k:1,x:0,y:0}),I=(0,ve.useRef)(new Map),V=(0,ve.useRef)(null),_=(0,ve.useRef)(null),[X,Y]=(0,ve.useState)(!1),{userViewReady:$,userViewNodesMap:q,saveUserView:U}=(0,Ie.k)(null==c?void 0:c.save),[j,F]=(0,ve.useState)([0,0]),[G,J]=(0,ve.useState)(null),[Q,ee]=(0,ve.useState)("initial"),[te,ae]=(0,ve.useState)(null);(0,ve.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var a,n=arguments.length,l=new Array(n>2?n-2:0),i=2;i<n;i++)l[i-2]=arguments[i];null==D||null===(a=D.get(e))||void 0===a||null===(a=a.firstElementChild)||void 0===a||a[t](...l)}}))),(0,ve.useEffect)((()=>{var e=e=>{(0,Pe.w)(e,{nodes:n,nodesRefRepository:C,connectNodes:o,dragNodes:c,scale:H.k,setConnectLineState:J,setConnectLineTo:F,setManualLayoutStatus:ee,setNodeMovement:ae,onSwitchActiveTarget:w,onNodesConnect:y})},t=_.current;return null==t||t.addEventListener("mousedown",e),()=>{null==t||t.removeEventListener("mousedown",e)}}),[n,o,c,H.k,C,y,w]);var{normalizedLines:ne,normalizedLinesMap:le,markers:ie}=(0,ve.useMemo)((()=>(0,Le.c)(l,s)),[l,s]),se=(0,ve.useMemo)((()=>ne.flatMap((e=>{var t,a,{line:{text:n,label:l,$id:i},edge:s}=e;return n||l?(l?(t="label",a=[].concat(l)):(t="text",a=[].concat(n)),a.map((e=>{var a;return{[t]:e,id:"".concat(i,"-").concat(null!==(a=e.placement)&&void 0!==a?a:"center"),edge:s}}))):[]}))),[ne]),{nodes:re,edges:oe}=(0,Oe.n)({layout:a,nodes:n,edges:l,manualLayoutStatus:Q,userViewReady:$,userViewNodesMap:q,nodeMovement:te,nodesRefRepository:C,lineLabelsRefRepository:D,normalizedLinesMap:le,layoutOptions:r,nodesRenderId:W,lineLabelsRenderId:S});(0,ve.useEffect)((()=>{"finished"===Q&&U(re.map((e=>({id:e.id,x:e.x,y:e.y}))))}),[Q]);var ce=(0,ve.useMemo)((()=>(0,Ce.s)(oe,ne)),[ne,oe]),ue=null!=u?u:null,[he,de]=(0,ve.useState)(ue);(0,ve.useEffect)((()=>{de((e=>(0,Ve.N)(e,ue)?e:ue))}),[ue]);var be=(0,ve.useRef)(!1);(0,ve.useEffect)((()=>{be.current?null==g||g(he):be.current=!0}),[n,he,g]),(0,ve.useEffect)((()=>{var e=V.current;if(e&&!h){var t=e=>{var t=(0,We.p)(e,{renderedNodes:re,activeTarget:he});"delete-node"===(null==t?void 0:t.action)?null==Z||Z(t.node):"delete-edge"===(null==t?void 0:t.action)?null==f||f(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==w||w({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[he,re,h,w,Z,f]);var ge=(0,ve.useCallback)((e=>{e&&(x((e=>e+1)),L(e)),E((t=>t||!!e))}),[]),we=(0,ve.useCallback)((e=>{e&&(z((e=>e+1)),T(e)),R((t=>t||!!e))}),[]),me=(0,ve.useMemo)((()=>null!=p?p:[Ae.oh,Ae.rN]),[p]),Ke=(0,ve.useMemo)((()=>(0,fe.sP)()),[]);(0,ve.useEffect)((()=>{var e=!1;Ke.scaleExtent(d?me:[1,1]).on("start",(()=>{e=!1,O(!0)})).on("zoom",(t=>{e=!0,K(t.transform)})).on("end",(()=>{O(!1),e||null==w||w(null)}))}),[w,me,d,Ke]),(0,ve.useEffect)((()=>{var e=V.current;if(e){var t=(0,Ze.Z)(e),a=()=>{t.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(d||b||v)return(d||b)&&t.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),b&&(e.preventDefault(),Ke.translateBy(t,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),t.call(Ke).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null),v||t.on("mousedown.zoom",null).on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),a;a()}}),[v,b,d,Ke]),(0,ve.useEffect)((()=>{var e=V.current;if(0!==re.length&&e&&!X){var{k:t,x:a,y:n}=(0,xe.i)(re,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:d?me:void 0});Ke.transform((0,Ze.Z)(e),new fe.ax(t,a,n)),Y(!0)}}),[X,re,me,d,Ke]);var _e=(0,ve.useMemo)((()=>"".concat((0,ye.uniqueId)("diagram-"),"-")),[]),Xe="".concat(_e,"line-arrow-"),Ye="".concat(_e,"clip-path-"),$e="".concat(_e,"active-line-");(0,ve.useEffect)((()=>{P((e=>(0,Be.K)(e,ce,I.current)))}),[ce]);var[qe,Ue]=pe().useState([]);return(0,ve.useEffect)((()=>{if(D){(0,He.b)(B,D);var e=new Me.Z((()=>{Ue((0,Te.i)(B,D))}));for(var t of D.values())e.observe(t);return()=>{e.disconnect()}}}),[S,D,B]),"dagre"!==a&&"force"!==a?pe().createElement("div",null,'Diagram layout not supported: "'.concat(a,'"')):pe().createElement("div",{className:ke()("diagram",{ready:M&&X,grabbing:A,pannable:v}),tabIndex:-1,ref:V},pe().createElement("svg",{width:"100%",height:"100%",className:"lines"},pe().createElement("defs",null,ie.map(((e,t)=>{var{strokeColor:a}=e;return pe().createElement(Se.C,{key:t,id:"".concat(Xe).concat(t),strokeColor:a})})),qe.map((e=>pe().createElement(ze.K,{key:e.lineId,clipPath:e,clipPathPrefix:Ye,renderedLineLabels:B}))),pe().createElement("marker",{id:"".concat($e,"start"),viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},pe().createElement("path",{d:"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"})),pe().createElement("marker",{id:"".concat($e,"end"),viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},pe().createElement("path",{d:"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z",stroke:"var(--palette-blue-3)",strokeWidth:1,fill:"var(--palette-blue-3)"}),pe().createElement("path",{d:"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"}))),pe().createElement("g",{transform:"translate(".concat(H.x," ").concat(H.y,") scale(").concat(H.k,")")},ce.map((e=>pe().createElement(Re.y,{key:e.line.$id,line:e,linePaths:I.current,clipPathList:qe,markerPrefix:Xe,clipPathPrefix:Ye,activeLineMarkerPrefix:$e,activeEdge:"edge"===(null==he?void 0:he.type)?he.edge:null,onLineClick:m,onLineDoubleClick:k}))))),pe().createElement("div",{className:ke()("line-labels",{ready:N}),style:{left:H.x,top:H.y,transform:"scale(".concat(H.k,")")}},pe().createElement(Ne.L8,{labels:se,onRendered:we})),pe().createElement("div",{className:"nodes",ref:_,style:{left:H.x,top:H.y,transform:"scale(".concat(H.k,")")}},pe().createElement(Ee.n,{nodes:n,nodeBricks:i,onRendered:ge})),pe().createElement(De.f,{connectLineState:G,connectLineTo:j,markerPrefix:Xe}))}re=Nt,({e:[s,o,u,d,v,g,Z,m,y,E,x,L,R,z,T,P,A,O,K,I,V,X,Y,$,U,j,F,J,Q,ee,ae,ne,le,se],c:[oe,n]}=(0,be.Z)(re,[[i,1,"layout"],[r,1,"nodes"],[c,1,"edges"],[h,1,"nodeBricks"],[b,1,"lines"],[p,1,"layoutOptions"],[w,1,"activeTarget"],[f,1,"disableKeyboardAction"],[k,1,"connectNodes"],[M,1,"nodesConnect"],[W,1,"dragNodes"],[C,1,"zoomable"],[N,1,"scrollable"],[S,1,"pannable"],[D,1,"scaleRange"],[B,1,"activeTargetChangeEvent",e=>(0,de.Z)(e,ct),(e,t)=>(0,he.Z)(e,ct,t)],[H,1,"nodeDelete",e=>(0,de.Z)(e,dt),(e,t)=>(0,he.Z)(e,dt,t)],[_,1,"edgeDelete",e=>(0,de.Z)(e,pt),(e,t)=>(0,he.Z)(e,pt,t)],[q,1,"lineClick",e=>(0,de.Z)(e,Zt),(e,t)=>(0,he.Z)(e,Zt,t)],[G,1,"lineDoubleClick",e=>(0,de.Z)(e,kt),(e,t)=>(0,he.Z)(e,kt,t)],[te,1,"connectNodes",e=>(0,de.Z)(e,Et),(e,t)=>(0,he.Z)(e,Et,t)],[ie,2,"callOnLineLabel"]],[l],0,(e=>Lt.has((0,ue.Z)(e))),we.ReactNextElement)),n();var _t,Xt,Yt,$t,qt,Ut,jt,Ft,Gt,Jt,Qt,ea,ta,aa,na,la,ia,sa,ra=a(8074),{defineElement:oa,property:ca,event:ua,method:ha}=(0,ge.createDecorators)(),da=(0,ve.forwardRef)(Ca);Xt=oa("diagram.editable-label",{styleTexts:[ra.Z]}),Yt=ca(),qt=ca({render:!1}),jt=ua({type:"label.editing.change"}),Qt=ua({type:"label.change"}),na=ha();var ba=new WeakMap,va=new WeakMap,pa=new WeakMap,ga=new WeakMap,wa=new WeakMap,Za=new WeakMap,fa=new WeakMap,ma=new WeakMap,ka=new WeakMap;class ya extends we.ReactNextElement{constructor(){super(...arguments),(0,ce.Z)(this,fa,{get:xa,set:Wa}),(0,ce.Z)(this,ga,{get:Ea,set:Ma}),(0,ce.Z)(this,ba,{writable:!0,value:(la(this),$t(this))}),(0,ce.Z)(this,va,{writable:!0,value:Ut(this)}),(0,ce.Z)(this,pa,{writable:!0,value:Ft(this)}),(0,ce.Z)(this,wa,{writable:!0,value:e=>{(0,de.Z)(this,ga).emit(e)}}),(0,ce.Z)(this,Za,{writable:!0,value:ea(this)}),(0,ce.Z)(this,ma,{writable:!0,value:e=>{(0,de.Z)(this,fa).emit(e)}}),(0,ce.Z)(this,ka,{writable:!0,value:(0,ve.createRef)()})}get label(){return(0,de.Z)(this,ba)}set label(e){(0,he.Z)(this,ba,e)}get type(){return(0,de.Z)(this,va)}set type(e){(0,he.Z)(this,va,e)}enableEditing(){var e;null===(e=(0,de.Z)(this,ka).current)||void 0===e||e.enableEditing()}render(){return pe().createElement(da,{ref:(0,de.Z)(this,ka),label:this.label,onLabelEditingChange:(0,de.Z)(this,wa),onLabelChange:(0,de.Z)(this,ma)})}}function Ma(e){Jt(this,e)}function Ea(){return Gt(this)}function Wa(e){aa(this,e)}function xa(){return ta(this)}function Ca(e,t){var{label:a,onLabelChange:n,onLabelEditingChange:l}=e,i=null!=a?a:"",[s,r]=(0,ve.useState)(i),[o,c]=(0,ve.useState)(!1),u=(0,ve.useRef)(!1),[h,d]=(0,ve.useState)(!1),b=(0,ve.useRef)(null);(0,ve.useImperativeHandle)(t,(()=>({enableEditing(){c(!0)}}))),(0,ve.useEffect)((()=>{r(i)}),[i]);var v=(0,ve.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c(!0)}),[]);(0,ve.useEffect)((()=>{var e,t;o&&(null===(e=b.current)||void 0===e||e.focus({preventScroll:!0}),null===(t=b.current)||void 0===t||t.select())}),[o]),(0,ve.useEffect)((()=>{u.current?null==l||l(o):u.current=!0}),[o,l]);var p=(0,ve.useCallback)((e=>{r(e.target.value)}),[]),g=(0,ve.useCallback)((e=>{var t,a=e.key||e.keyCode||e.which;"Enter"!==a&&13!==a||null===(t=b.current)||void 0===t||t.blur()}),[]),w=(0,ve.useCallback)((()=>{c(!1),d(!0)}),[]);(0,ve.useEffect)((()=>{h&&(null==n||n(s),d(!1))}),[s,n,h]);var Z=(0,ve.useCallback)((e=>{e.stopPropagation()}),[]);return pe().createElement("div",{className:ke()("label",{editing:o,empty:!s}),onDoubleClick:Z,onMouseDown:Z},pe().createElement("input",{className:"label-input",value:s,ref:b,onChange:p,onKeyDown:g,onBlur:w}),pe().createElement("div",{className:"label-text",onDoubleClick:v},s))}ia=ya,({e:[$t,Ut,Ft,Gt,Jt,ea,ta,aa,la],c:[sa,_t]}=(0,be.Z)(ia,[[Yt,1,"label"],[qt,1,"type"],[jt,1,"labelEditingChange",e=>(0,de.Z)(e,pa),(e,t)=>(0,he.Z)(e,pa,t)],[Qt,1,"labelChange",e=>(0,de.Z)(e,Za),(e,t)=>(0,he.Z)(e,Za,t)],[na,2,"enableEditing"]],[Xt],0,(e=>ka.has((0,ue.Z)(e))),we.ReactNextElement)),_t()},8074:(e,t,a)=>{a.d(t,{Z:()=>r});var n=a(9601),l=a.n(n),i=a(2609),s=a.n(i)()(l());s.push([e.id,':host{display:block;--local-label-line-height:inherit;--local-label-font-size:inherit;--local-label-color:inherit;--local-label-font-weight:inherit}:host([hidden]){display:none}:host([type="line"]){--local-label-line-height:18px;--local-label-font-size:11px;--local-label-color:var(--color-secondary-text);--local-label-font-weight:400}*{box-sizing:border-box}.label{max-width:168px;margin:-3px}.label-text,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:var(--local-label-line-height);font-size:var(--local-label-font-size);color:var(--local-label-color);font-weight:var(--local-label-font-weight);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.label-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label.editing .label-text,\n.label.empty:not(.editing) .label-text,\n.label:not(.editing) .label-input{display:none}',""]);const r=s.toString()}}]);
|
|
2
|
+
//# sourceMappingURL=9393.2d6a1ab3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/9393.2d6a1ab3.js","mappings":"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","sources":["webpack:///./src/diagram/index.tsx","webpack:///./src/editable-label/index.tsx","webpack:///./src/editable-label/styles.shadow.css"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { select } from \"d3-selection\";\nimport { ZoomTransform, zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\nimport { uniqueId } from \"lodash\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n DiagramEdge,\n DiagramNode,\n LayoutOptions,\n LineConf,\n NodeBrickConf,\n PositionTuple,\n RefRepository,\n RenderedLineLabel,\n LineTextClipPath,\n TransformLiteral,\n LineTarget,\n ConnectLineDetail,\n ConnectNodesOptions,\n ConnectLineState,\n ActiveTarget,\n RangeTuple,\n LineLabel,\n LineLabelConf,\n TextOptions,\n DragNodesOptions,\n NodeMovement,\n ManualLayoutStatus,\n} from \"./interfaces\";\nimport { NodeComponentGroup } from \"./NodeComponent\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { transformToCenter } from \"./processors/transformToCenter\";\nimport { getRenderedLines } from \"./processors/getRenderedLines\";\nimport { normalizeLinesAndMarkers } from \"./processors/normalizeLinesAndMarkers\";\nimport { LineLabelComponentGroup } from \"./LineLabelComponent\";\nimport { LineComponent } from \"./LineComponent\";\nimport { MarkerComponent } from \"./MarkerComponent\";\nimport { ClipPathComponent } from \"./ClipPathComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { getClipPathList } from \"./processors/getClipPathList\";\nimport { getRenderedLineLabels } from \"./processors/getRenderedLineLabels\";\nimport { handleNodesMouseDown } from \"./processors/handleNodesMouseDown\";\nimport { DEFAULT_SCALE_RANGE_MAX, DEFAULT_SCALE_RANGE_MIN } from \"./constants\";\nimport { useRenderedDiagram } from \"./hooks/useRenderedDiagram\";\nimport { adjustLineLabels } from \"./processors/adjustLineLabels\";\nimport styleText from \"./styles.shadow.css\";\nimport { useUserView } from \"./hooks/useUserView\";\nimport { sameTarget } from \"./processors/sameTarget\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EoDiagramProps {\n layout?: \"dagre\" | \"force\";\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n nodeBricks?: NodeBrickConf[];\n lines?: LineConf[];\n layoutOptions?: LayoutOptions;\n connectNodes?: ConnectNodesOptions;\n dragNodes?: DragNodesOptions;\n activeTarget?: ActiveTarget | null;\n disableKeyboardAction?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n scaleRange?: RangeTuple;\n}\n\nexport interface DiagramRef {\n callOnLineLabel(id: string, method: string, ...args: unknown[]): void;\n}\n\nexport const EoDiagramComponent = forwardRef(LegacyEoDiagramComponent);\n\n/**\n * 构件 `eo-diagram`\n */\nexport\n@defineElement(\"eo-diagram\", {\n styleTexts: [styleText],\n})\nclass EoDiagram extends ReactNextElement implements EoDiagramProps {\n /**\n * @required\n */\n @property({ type: String })\n accessor layout: \"dagre\" | \"force\" | undefined;\n\n @property({ attribute: false })\n accessor nodes: DiagramNode[] | undefined;\n\n @property({ attribute: false })\n accessor edges: DiagramEdge[] | undefined;\n\n @property({ attribute: false })\n accessor nodeBricks: NodeBrickConf[] | undefined;\n\n @property({ attribute: false })\n accessor lines: LineConf[] | undefined;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptions | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n @property({ type: Boolean })\n accessor disableKeyboardAction: boolean | undefined;\n\n @property({ attribute: false })\n accessor connectNodes: ConnectNodesOptions | undefined;\n\n /**\n * @deprecated use `connectNodes` instead\n */\n @property({ attribute: false })\n accessor nodesConnect: ConnectNodesOptions | undefined;\n\n @property({ attribute: false })\n accessor dragNodes: DragNodesOptions | undefined;\n\n @property({ type: Boolean })\n accessor zoomable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor scrollable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor pannable: boolean | undefined = true;\n\n @property({ attribute: false })\n accessor scaleRange: RangeTuple | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<ActiveTarget | null>;\n\n #handleActiveTargetChange = (target: ActiveTarget | null) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<DiagramNode>;\n\n #handleNodeDelete = (node: DiagramNode) => {\n this.#nodeDelete.emit(node);\n };\n\n @event({ type: \"edge.delete\" })\n accessor #edgeDelete!: EventEmitter<DiagramEdge>;\n\n #handleEdgeDelete = (edge: DiagramEdge) => {\n this.#edgeDelete.emit(edge);\n };\n\n @event({ type: \"line.click\" })\n accessor #lineClick!: EventEmitter<LineTarget>;\n\n #handleLineClick = (line: LineTarget) => {\n this.#lineClick.emit(line);\n };\n\n @event({ type: \"line.dblclick\" })\n accessor #lineDoubleClick!: EventEmitter<LineTarget>;\n\n #handleLineDoubleClick = (line: LineTarget) => {\n this.#lineDoubleClick.emit(line);\n };\n\n @event({ type: \"nodes.connect\" })\n accessor #connectNodes!: EventEmitter<ConnectLineDetail>;\n\n #handleNodesConnect = (detail: ConnectLineDetail) => {\n this.#connectNodes.emit(detail);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n if (!sameTarget(target, this.activeTarget)) {\n this.activeTarget = target;\n }\n };\n\n #diagramRef = createRef<DiagramRef>();\n\n @method()\n callOnLineLabel(id: string, method: string, ...args: unknown[]) {\n this.#diagramRef.current?.callOnLineLabel(id, method, ...args);\n }\n\n render() {\n return (\n <EoDiagramComponent\n ref={this.#diagramRef}\n layout={this.layout}\n nodes={this.nodes}\n edges={this.edges}\n nodeBricks={this.nodeBricks}\n lines={this.lines}\n layoutOptions={this.layoutOptions}\n connectNodes={this.connectNodes ?? this.nodesConnect}\n dragNodes={this.dragNodes}\n activeTarget={this.activeTarget}\n disableKeyboardAction={this.disableKeyboardAction}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n scaleRange={this.scaleRange}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onNodeDelete={this.#handleNodeDelete}\n onEdgeDelete={this.#handleEdgeDelete}\n onLineClick={this.#handleLineClick}\n onLineDoubleClick={this.#handleLineDoubleClick}\n onNodesConnect={this.#handleNodesConnect}\n />\n );\n }\n}\n\nexport interface EoDiagramComponentProps extends EoDiagramProps {\n onActiveTargetChange?(target: ActiveTarget | null): void;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n onNodeDelete?(node: DiagramNode): void;\n onEdgeDelete?(edge: DiagramEdge): void;\n onLineClick?(line: LineTarget): void;\n onLineDoubleClick?(line: LineTarget): void;\n onNodesConnect?(detail: ConnectLineDetail): void;\n}\n\nexport function LegacyEoDiagramComponent(\n {\n layout,\n nodes,\n edges,\n nodeBricks,\n lines,\n layoutOptions,\n connectNodes,\n dragNodes,\n activeTarget: _activeTarget,\n disableKeyboardAction,\n zoomable,\n scrollable,\n pannable,\n scaleRange: _scaleRange,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n onLineClick,\n onLineDoubleClick,\n onNodesConnect,\n }: EoDiagramComponentProps,\n ref: React.Ref<DiagramRef>\n) {\n const [nodesReady, setNodesReady] = useState(false);\n const [nodesRenderId, setNodesRenderId] = useState(0);\n const [nodesRefRepository, setNodesRefRepository] =\n useState<RefRepository | null>(null);\n const [lineLabelsReady, setLineLabelsReady] = useState(false);\n const [lineLabelsRenderId, setLineLabelsRenderId] = useState(0);\n const [lineLabelsRefRepository, setLineLabelsRefRepository] =\n useState<RefRepository | null>(null);\n const [renderedLineLabels, setRenderedLineLabels] = useState<\n RenderedLineLabel[]\n >([]);\n\n const [grabbing, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n\n const linePathsRef = useRef(new Map<string, SVGPathElement | null>());\n\n const rootRef = useRef<HTMLDivElement>(null);\n const nodesRef = useRef<HTMLDivElement>(null);\n const [centered, setCentered] = useState(false);\n\n const { userViewReady, userViewNodesMap, saveUserView } = useUserView(\n dragNodes?.save\n );\n\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple>([0, 0]);\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n const [manualLayoutStatus, setManualLayoutStatus] =\n useState<ManualLayoutStatus>(\"initial\");\n const [nodeMovement, setNodeMovement] = useState<NodeMovement | null>(null);\n\n useImperativeHandle(ref, () => ({\n callOnLineLabel(id, method, ...args) {\n (\n lineLabelsRefRepository?.get(id)\n ?.firstElementChild as unknown as Record<string, Function>\n )?.[method](...args);\n },\n }));\n\n useEffect(() => {\n const onNodesMouseDown = (event: MouseEvent) => {\n handleNodesMouseDown(event, {\n nodes,\n nodesRefRepository,\n connectNodes,\n dragNodes,\n scale: transform.k,\n setConnectLineState,\n setConnectLineTo,\n setManualLayoutStatus,\n setNodeMovement,\n onSwitchActiveTarget,\n onNodesConnect,\n });\n };\n // Bind mousedown event manually, since the React event handler can't work with\n // d3-zoom inside shadow DOM.\n const nodesContainer = nodesRef.current;\n nodesContainer?.addEventListener(\"mousedown\", onNodesMouseDown);\n return () => {\n nodesContainer?.removeEventListener(\"mousedown\", onNodesMouseDown);\n };\n }, [\n nodes,\n connectNodes,\n dragNodes,\n transform.k,\n nodesRefRepository,\n onNodesConnect,\n onSwitchActiveTarget,\n ]);\n\n const { normalizedLines, normalizedLinesMap, markers } = useMemo(\n () => normalizeLinesAndMarkers(edges, lines),\n [edges, lines]\n );\n\n const lineLabels = useMemo(() => {\n return normalizedLines.flatMap(({ line: { text, label, $id }, edge }) => {\n if (!text && !label) {\n return [] as LineLabel[];\n }\n\n let key: \"label\" | \"text\";\n let list: LineLabelConf[] | TextOptions[];\n if (label) {\n key = \"label\";\n list = ([] as LineLabelConf[]).concat(label);\n } else {\n key = \"text\";\n list = ([] as TextOptions[]).concat(text!);\n }\n\n return list.map<LineLabel>((item) => ({\n [key as \"label\"]: item as LineLabelConf,\n id: `${$id}-${item.placement ?? \"center\"}`,\n edge,\n }));\n });\n }, [normalizedLines]);\n\n const { nodes: renderedNodes, edges: renderedEdges } = useRenderedDiagram({\n layout,\n nodes,\n edges,\n manualLayoutStatus,\n userViewReady,\n userViewNodesMap,\n nodeMovement,\n nodesRefRepository,\n lineLabelsRefRepository,\n normalizedLinesMap,\n layoutOptions,\n nodesRenderId,\n lineLabelsRenderId,\n });\n\n useEffect(\n () => {\n if (manualLayoutStatus === \"finished\") {\n saveUserView(\n renderedNodes.map((node) => ({\n id: node.id,\n x: node.x,\n y: node.y,\n }))\n );\n }\n },\n // Only save user view when manual layout is just finished.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [manualLayoutStatus]\n );\n\n const renderedLines = useMemo(\n () => getRenderedLines(renderedEdges, normalizedLines),\n [normalizedLines, renderedEdges]\n );\n\n const newActiveTarget = _activeTarget ?? null;\n const [activeTarget, setActiveTarget] = useState<ActiveTarget | null>(\n newActiveTarget\n );\n\n useEffect(() => {\n setActiveTarget((previous) =>\n sameTarget(previous, newActiveTarget) ? previous : newActiveTarget\n );\n }, [newActiveTarget]);\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange?.(activeTarget);\n }, [nodes, activeTarget, onActiveTargetChange]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || disableKeyboardAction) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n renderedNodes,\n activeTarget,\n });\n\n if (action?.action === \"delete-node\") {\n onNodeDelete?.(action.node);\n } else if (action?.action === \"delete-edge\") {\n onEdgeDelete?.(action.edge);\n } else if (action?.action === \"switch-active-node\" && action.node) {\n onSwitchActiveTarget?.({ type: \"node\", nodeId: action.node.id });\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [\n activeTarget,\n renderedNodes,\n disableKeyboardAction,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n ]);\n\n const handleNodesRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setNodesRenderId((previous) => previous + 1);\n setNodesRefRepository(refRepository);\n }\n setNodesReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const handleLineLabelsRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setLineLabelsRenderId((previous) => previous + 1);\n setLineLabelsRefRepository(refRepository);\n }\n setLineLabelsReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const scaleRange = useMemo(\n () =>\n _scaleRange ??\n ([DEFAULT_SCALE_RANGE_MIN, DEFAULT_SCALE_RANGE_MAX] as RangeTuple),\n [_scaleRange]\n );\n\n const zoomer = useMemo(() => zoom<HTMLDivElement, unknown>(), []);\n\n useEffect(() => {\n let moved = false;\n zoomer\n .scaleExtent(zoomable ? scaleRange : [1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e: { transform: TransformLiteral }) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n }, [onSwitchActiveTarget, scaleRange, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) {\n return;\n }\n\n const rootSelection = select(root);\n\n const unsetZoom = () => {\n rootSelection\n .on(\".zoom\", null)\n .on(\".zoom.custom\", null)\n .on(\"wheel\", null);\n };\n\n if (!(zoomable || scrollable || pannable)) {\n unsetZoom();\n return;\n }\n\n if (zoomable || scrollable) {\n // Do not override default d3 zoom handler.\n // Only handles *panning*\n rootSelection.on(\n \"wheel.zoom.custom\",\n (e: WheelEvent & { wheelDeltaX: number; wheelDeltaY: number }) => {\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n // Stop immediate propagation for default d3 zoom handler\n e.stopImmediatePropagation();\n if (scrollable) {\n e.preventDefault();\n zoomer.translateBy(\n rootSelection,\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n }\n // zoomer.scaleBy(rootSelection, Math.pow(2, defaultWheelDelta(e)))\n }\n );\n }\n\n rootSelection\n .call(zoomer)\n .on(\"wheel\", (e: WheelEvent) => e.preventDefault())\n .on(\"dblclick.zoom\", null);\n\n if (!pannable) {\n rootSelection\n .on(\"mousedown.zoom\", null)\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n return unsetZoom;\n }, [pannable, scrollable, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (renderedNodes.length === 0 || !root || centered) {\n return;\n }\n const { k, x, y } = transformToCenter(renderedNodes, {\n canvasWidth: root.clientWidth,\n canvasHeight: root.clientHeight,\n scaleRange: zoomable ? scaleRange : undefined,\n });\n zoomer.transform(select(root), new ZoomTransform(k, x, y));\n setCentered(true);\n }, [centered, renderedNodes, scaleRange, zoomable, zoomer]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const clipPathPrefix = `${defPrefix}clip-path-`;\n const activeLineMarkerPrefix = `${defPrefix}active-line-`;\n\n useEffect(() => {\n setRenderedLineLabels((previous) =>\n getRenderedLineLabels(previous, renderedLines, linePathsRef.current)\n );\n }, [renderedLines]);\n\n const [clipPathList, setClipPathList] = React.useState<LineTextClipPath[]>(\n []\n );\n\n useEffect(() => {\n if (!lineLabelsRefRepository) {\n return;\n }\n const updateClipPathList = () => {\n setClipPathList(\n getClipPathList(renderedLineLabels, lineLabelsRefRepository)\n );\n };\n\n adjustLineLabels(renderedLineLabels, lineLabelsRefRepository);\n\n const observer = new ResizeObserver(updateClipPathList);\n for (const lineLabel of lineLabelsRefRepository.values()) {\n observer.observe(lineLabel);\n }\n return () => {\n observer.disconnect();\n };\n }, [lineLabelsRenderId, lineLabelsRefRepository, renderedLineLabels]);\n\n if (layout !== \"dagre\" && layout !== \"force\") {\n return <div>{`Diagram layout not supported: \"${layout}\"`}</div>;\n }\n\n return (\n <div\n className={classNames(\"diagram\", {\n ready: nodesReady && centered,\n grabbing,\n pannable,\n })}\n tabIndex={-1}\n ref={rootRef}\n >\n <svg width=\"100%\" height=\"100%\" className=\"lines\">\n <defs>\n {markers.map(({ strokeColor }, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n strokeColor={strokeColor}\n />\n ))}\n {clipPathList.map((clipPath) => (\n <ClipPathComponent\n key={clipPath.lineId}\n clipPath={clipPath}\n clipPathPrefix={clipPathPrefix}\n renderedLineLabels={renderedLineLabels}\n />\n ))}\n <marker\n id={`${activeLineMarkerPrefix}start`}\n viewBox=\"0 0 8 8\"\n refX={4}\n refY={4}\n markerWidth={8}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n <marker\n id={`${activeLineMarkerPrefix}end`}\n viewBox=\"0 0 14 8\"\n refX={3}\n refY={4}\n markerWidth={14}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z\"\n stroke=\"var(--palette-blue-3)\"\n strokeWidth={1}\n fill=\"var(--palette-blue-3)\"\n />\n <path\n d=\"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n </defs>\n <g\n transform={`translate(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n {renderedLines.map((line) => (\n <LineComponent\n key={line.line.$id}\n line={line}\n linePaths={linePathsRef.current}\n clipPathList={clipPathList}\n markerPrefix={markerPrefix}\n clipPathPrefix={clipPathPrefix}\n activeLineMarkerPrefix={activeLineMarkerPrefix}\n activeEdge={\n activeTarget?.type === \"edge\" ? activeTarget.edge : null\n }\n onLineClick={onLineClick}\n onLineDoubleClick={onLineDoubleClick}\n />\n ))}\n </g>\n </svg>\n <div\n className={classNames(\"line-labels\", { ready: lineLabelsReady })}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <LineLabelComponentGroup\n labels={lineLabels}\n onRendered={handleLineLabelsRendered}\n />\n </div>\n <div\n className=\"nodes\"\n ref={nodesRef}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <NodeComponentGroup\n nodes={nodes}\n nodeBricks={nodeBricks}\n // nodePositions={nodePositions}\n onRendered={handleNodesRendered}\n />\n </div>\n <ConnectLineComponent\n connectLineState={connectLineState}\n connectLineTo={connectLineTo}\n markerPrefix={markerPrefix}\n />\n </div>\n );\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EditableLabelProps {\n label?: string;\n type?: LabelType;\n}\n\nexport type LabelType = \"line\" | \"default\";\n\nexport interface EditableLabelRef {\n enableEditing(): void;\n}\n\nexport const EditableLabelComponent = forwardRef(LegacyEditableLabelComponent);\n\n/**\n * 构件 `diagram.editable-label`\n */\nexport\n@defineElement(\"diagram.editable-label\", {\n styleTexts: [styleText],\n})\nclass EditableLabel extends ReactNextElement implements EditableLabelProps {\n @property()\n accessor label: string | undefined;\n\n @property({ render: false })\n accessor type: LabelType | undefined;\n\n @event({ type: \"label.editing.change\" })\n accessor #labelEditingChange!: EventEmitter<boolean>;\n\n #handleLabelEditingChange = (value: boolean) => {\n this.#labelEditingChange.emit(value);\n };\n\n @event({ type: \"label.change\" })\n accessor #labelChange!: EventEmitter<string>;\n\n #handleLabelChange = (value: string) => {\n this.#labelChange.emit(value);\n };\n\n @method()\n enableEditing() {\n this.#editableLabelRef.current?.enableEditing();\n }\n\n #editableLabelRef = createRef<EditableLabelRef>();\n\n render() {\n return (\n <EditableLabelComponent\n ref={this.#editableLabelRef}\n label={this.label}\n onLabelEditingChange={this.#handleLabelEditingChange}\n onLabelChange={this.#handleLabelChange}\n />\n );\n }\n}\n\nexport interface EditableLabelComponentProps extends EditableLabelProps {\n onLabelEditingChange?(value: boolean): void;\n onLabelChange?(value: string): void;\n}\n\nexport function LegacyEditableLabelComponent(\n {\n label: _label,\n onLabelChange,\n onLabelEditingChange,\n }: EditableLabelComponentProps,\n ref: React.Ref<EditableLabelRef>\n) {\n const label = _label ?? \"\";\n const [currentLabel, setCurrentLabel] = useState<string>(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const labelInputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => ({\n enableEditing() {\n setEditingLabel(true);\n },\n }));\n\n useEffect(() => {\n setCurrentLabel(label);\n }, [label]);\n\n const handleEditLabel = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n if (editingLabel) {\n // Prevent scroll when focusing.\n // Otherwise the diagram svg may be clipped in Chrome.\n labelInputRef.current?.focus({ preventScroll: true });\n labelInputRef.current?.select();\n }\n }, [editingLabel]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onLabelEditingChange?.(editingLabel);\n } else {\n editingLabelInitialized.current = true;\n }\n }, [editingLabel, onLabelEditingChange]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentLabel(event.target.value);\n },\n []\n );\n\n const handleInputKeydown = useCallback((event: React.KeyboardEvent) => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Enter\" || key === 13) {\n labelInputRef.current?.blur();\n }\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onLabelChange?.(currentLabel);\n setShouldEmitLabelChange(false);\n }\n }, [currentLabel, onLabelChange, shouldEmitLabelChange]);\n\n const stopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n return (\n <div\n className={classNames(\"label\", {\n editing: editingLabel,\n empty: !currentLabel,\n })}\n onDoubleClick={stopPropagation}\n onMouseDown={stopPropagation}\n >\n <input\n className=\"label-input\"\n value={currentLabel}\n ref={labelInputRef}\n onChange={handleInputChange}\n onKeyDown={handleInputKeydown}\n onBlur={handleInputBlur}\n />\n <div className=\"label-text\" onDoubleClick={handleEditLabel}>\n {currentLabel}\n </div>\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-label-line-height:inherit;--local-label-font-size:inherit;--local-label-color:inherit;--local-label-font-weight:inherit}:host([hidden]){display:none}:host([type=\"line\"]){--local-label-line-height:18px;--local-label-font-size:11px;--local-label-color:var(--color-secondary-text);--local-label-font-weight:400}*{box-sizing:border-box}.label{max-width:168px;margin:-3px}.label-text,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:var(--local-label-line-height);font-size:var(--local-label-font-size);color:var(--local-label-color);font-weight:var(--local-label-font-weight);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.label-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label.editing .label-text,\n.label.empty:not(.editing) .label-text,\n.label:not(.editing) .label-input{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_EoDiagram","defineElement","property","event","method","createDecorators","EoDiagramComponent","forwardRef","LegacyEoDiagramComponent","_dec","styleTexts","styleText","_dec2","type","String","_dec3","attribute","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","Boolean","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_activeTargetChangeEvent","_handleActiveTargetChange","_Q","_nodeDelete","_handleNodeDelete","_R","_edgeDelete","_handleEdgeDelete","_S","_lineClick","_handleLineClick","_T","_lineDoubleClick","_handleLineDoubleClick","_U","_connectNodes","_handleNodesConnect","_handleSwitchActiveTarget","_diagramRef","EoDiagram","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_connectNodes2","set","_set_connectNodes2","_get_lineDoubleClick2","_set_lineDoubleClick2","_get_lineClick2","_set_lineClick2","_get_edgeDelete2","_set_edgeDelete2","_get_nodeDelete2","_set_nodeDelete2","_get_activeTargetChangeEvent2","_set_activeTargetChangeEvent2","writable","value","_initProto","_init_layout","_init_nodes","_init_edges","_init_nodeBricks","_init_lines","_init_layoutOptions","_init_activeTarget","_init_disableKeyboardAction","_init_connectNodes","_init_nodesConnect","_init_dragNodes","_init_zoomable","_init_scrollable","_init_pannable","_init_scaleRange","_init_activeTargetChangeEvent","target","_classPrivateFieldGet","this","emit","_init_nodeDelete","node","_init_edgeDelete","edge","_init_lineClick","line","_init_lineDoubleClick","_init_connectNodes2","detail","sameTarget","activeTarget","createRef","layout","v","_classPrivateFieldSet","nodes","edges","nodeBricks","lines","layoutOptions","disableKeyboardAction","connectNodes","nodesConnect","dragNodes","zoomable","scrollable","pannable","scaleRange","callOnLineLabel","id","_classPrivateFieldGet2","_len","length","args","Array","_key","current","render","_this$connectNodes","React","ref","onActiveTargetChange","onSwitchActiveTarget","onNodeDelete","onEdgeDelete","onLineClick","onLineDoubleClick","onNodesConnect","_set_activeTargetChangeEvent","_get_activeTargetChangeEvent","_set_nodeDelete","_get_nodeDelete","_set_edgeDelete","_get_edgeDelete","_set_lineClick","_get_lineClick","_set_lineDoubleClick","_get_lineDoubleClick","_set_connectNodes","_get_connectNodes","_ref","_activeTarget","_scaleRange","nodesReady","setNodesReady","useState","nodesRenderId","setNodesRenderId","nodesRefRepository","setNodesRefRepository","lineLabelsReady","setLineLabelsReady","lineLabelsRenderId","setLineLabelsRenderId","lineLabelsRefRepository","setLineLabelsRefRepository","renderedLineLabels","setRenderedLineLabels","grabbing","setGrabbing","transform","setTransform","k","x","y","linePathsRef","useRef","Map","rootRef","nodesRef","centered","setCentered","userViewReady","userViewNodesMap","saveUserView","useUserView","save","connectLineTo","setConnectLineTo","connectLineState","setConnectLineState","manualLayoutStatus","setManualLayoutStatus","nodeMovement","setNodeMovement","useImperativeHandle","_lineLabelsRefReposit","_len2","_key2","firstElementChild","useEffect","onNodesMouseDown","handleNodesMouseDown","scale","nodesContainer","addEventListener","removeEventListener","normalizedLines","normalizedLinesMap","markers","useMemo","normalizeLinesAndMarkers","lineLabels","flatMap","_ref2","key","list","text","label","$id","concat","map","item","_item$placement","placement","renderedNodes","renderedEdges","useRenderedDiagram","renderedLines","getRenderedLines","newActiveTarget","setActiveTarget","previous","activeTargetChangeInitialized","root","onKeydown","action","handleKeyboard","nodeId","handleNodesRendered","useCallback","refRepository","handleLineLabelsRendered","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","zoomer","zoom","moved","scaleExtent","on","e","rootSelection","select","unsetZoom","ctrlKey","stopImmediatePropagation","preventDefault","translateBy","wheelDeltaX","wheelDeltaY","call","transformToCenter","canvasWidth","clientWidth","canvasHeight","clientHeight","undefined","ZoomTransform","defPrefix","uniqueId","markerPrefix","clipPathPrefix","activeLineMarkerPrefix","getRenderedLineLabels","clipPathList","setClipPathList","adjustLineLabels","observer","ResizeObserver","updateClipPathList","getClipPathList","lineLabel","values","observe","disconnect","className","classNames","ready","tabIndex","width","height","_ref3","index","strokeColor","MarkerComponent","clipPath","ClipPathComponent","lineId","viewBox","refX","refY","markerWidth","markerHeight","orient","d","stroke","strokeWidth","fill","LineComponent","linePaths","activeEdge","style","left","top","LineLabelComponentGroup","labels","onRendered","NodeComponentGroup","ConnectLineComponent","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS","_EditableLabel","EditableLabelComponent","LegacyEditableLabelComponent","_labelEditingChange","_handleLabelEditingChange","_labelChange","_handleLabelChange","_editableLabelRef","EditableLabel","_get_labelChange2","_set_labelChange2","_get_labelEditingChange2","_set_labelEditingChange2","_init_label","_init_type","_init_labelEditingChange","_init_labelChange","enableEditing","onLabelEditingChange","onLabelChange","_set_labelEditingChange","_get_labelEditingChange","_set_labelChange","_get_labelChange","_label","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","labelInputRef","handleEditLabel","stopPropagation","_labelInputRef$curren","_labelInputRef$curren2","focus","preventScroll","handleInputChange","handleInputKeydown","_labelInputRef$curren3","keyCode","which","blur","handleInputBlur","editing","empty","onDoubleClick","onMouseDown","onChange","onKeyDown","onBlur","___CSS_LOADER_EXPORT___","push","module","toString"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9016],{2715:(e,t,a)=>{a.r(t),a.d(t,{EoDiagram:()=>oe,EoDiagramComponent:()=>qe,LegacyEoDiagramComponent:()=>Vt});var n,i,s,l,r,o,c,u,d,h,v,p,g,m,b,Z,w,k,f,y,M,E,W,L,N,C,R,x,S,z,D,T,B,A,P,O,H,K,I,V,_,X,Y,$,q,U,j,F,G,J,Q,ee,te,ae,ne,ie,se,le,re,oe,ce=a(3395),ue=a(1815),de=a(381),he=a(687),ve=a(5066),pe=a(8657),ge=a.n(pe),me=a(5727),be=a(305),Ze=(a(928),a(1105)),we=a(3725),ke=a(2779),fe=a.n(ke),ye=a(1211),Me=a(7209),Ee=a(2370),We=a(5702),Le=a(7441),Ne=a(2846),Ce=a(4880),Re=a(7853),xe=a(6462),Se=a(9575),ze=a(2260),De=a(7587),Te=a(1251),Be=a(4126),Ae=a(542),Pe=a(5318),Oe=a(2359),He=a(7271),Ke=a(6436),Ie=a(8116),Ve=a(8330),{defineElement:_e,property:Xe,event:Ye,method:$e}=(0,me.createDecorators)(),qe=(0,pe.forwardRef)(Vt);i=_e("eo-diagram",{styleTexts:[Ke.Z]}),s=Xe({type:String}),r=Xe({attribute:!1}),c=Xe({attribute:!1}),d=Xe({attribute:!1}),v=Xe({attribute:!1}),g=Xe({attribute:!1}),b=Xe({attribute:!1}),w=Xe({type:Boolean}),f=Xe({attribute:!1}),M=Xe({attribute:!1}),W=Xe({attribute:!1}),N=Xe({type:Boolean}),R=Xe({type:Boolean}),S=Xe({type:Boolean}),D=Xe({attribute:!1}),B=Ye({type:"activeTarget.change"}),H=Ye({type:"node.delete"}),_=Ye({type:"edge.delete"}),q=Ye({type:"line.click"}),G=Ye({type:"line.dblclick"}),te=Ye({type:"nodes.connect"}),se=$e();var Ue=new WeakMap,je=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Qe=new WeakMap,et=new WeakMap,tt=new WeakMap,at=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap,lt=new WeakMap,rt=new WeakMap,ot=new WeakMap,ct=new WeakMap,ut=new WeakMap,dt=new WeakMap,ht=new WeakMap,vt=new WeakMap,pt=new WeakMap,gt=new WeakMap,mt=new WeakMap,bt=new WeakMap,Zt=new WeakMap,wt=new WeakMap,kt=new WeakMap,ft=new WeakMap,yt=new WeakMap,Mt=new WeakMap,Et=new WeakMap,Wt=new WeakMap,Lt=new WeakMap,Nt=new WeakMap,Ct=new WeakMap;class Rt extends be.ReactNextElement{constructor(){super(...arguments),(0,ce.Z)(this,Wt,{get:It,set:Kt}),(0,ce.Z)(this,yt,{get:Ht,set:Ot}),(0,ce.Z)(this,wt,{get:Pt,set:At}),(0,ce.Z)(this,mt,{get:Bt,set:Tt}),(0,ce.Z)(this,vt,{get:Dt,set:zt}),(0,ce.Z)(this,ut,{get:St,set:xt}),(0,ce.Z)(this,Ue,{writable:!0,value:(le(this),l(this))}),(0,ce.Z)(this,je,{writable:!0,value:o(this)}),(0,ce.Z)(this,Fe,{writable:!0,value:u(this)}),(0,ce.Z)(this,Ge,{writable:!0,value:h(this)}),(0,ce.Z)(this,Je,{writable:!0,value:p(this)}),(0,ce.Z)(this,Qe,{writable:!0,value:m(this)}),(0,ce.Z)(this,et,{writable:!0,value:Z(this)}),(0,ce.Z)(this,tt,{writable:!0,value:k(this)}),(0,ce.Z)(this,at,{writable:!0,value:y(this)}),(0,ce.Z)(this,nt,{writable:!0,value:E(this)}),(0,ce.Z)(this,it,{writable:!0,value:L(this)}),(0,ce.Z)(this,st,{writable:!0,value:C(this,!0)}),(0,ce.Z)(this,lt,{writable:!0,value:x(this,!0)}),(0,ce.Z)(this,rt,{writable:!0,value:z(this,!0)}),(0,ce.Z)(this,ot,{writable:!0,value:T(this)}),(0,ce.Z)(this,ct,{writable:!0,value:A(this)}),(0,ce.Z)(this,dt,{writable:!0,value:e=>{(0,he.Z)(this,ut).emit(e)}}),(0,ce.Z)(this,ht,{writable:!0,value:K(this)}),(0,ce.Z)(this,pt,{writable:!0,value:e=>{(0,he.Z)(this,vt).emit(e)}}),(0,ce.Z)(this,gt,{writable:!0,value:X(this)}),(0,ce.Z)(this,bt,{writable:!0,value:e=>{(0,he.Z)(this,mt).emit(e)}}),(0,ce.Z)(this,Zt,{writable:!0,value:U(this)}),(0,ce.Z)(this,kt,{writable:!0,value:e=>{(0,he.Z)(this,wt).emit(e)}}),(0,ce.Z)(this,ft,{writable:!0,value:J(this)}),(0,ce.Z)(this,Mt,{writable:!0,value:e=>{(0,he.Z)(this,yt).emit(e)}}),(0,ce.Z)(this,Et,{writable:!0,value:ae(this)}),(0,ce.Z)(this,Lt,{writable:!0,value:e=>{(0,he.Z)(this,Wt).emit(e)}}),(0,ce.Z)(this,Nt,{writable:!0,value:e=>{(0,Ve.N)(e,this.activeTarget)||(this.activeTarget=e)}}),(0,ce.Z)(this,Ct,{writable:!0,value:(0,pe.createRef)()})}get layout(){return(0,he.Z)(this,Ue)}set layout(e){(0,de.Z)(this,Ue,e)}get nodes(){return(0,he.Z)(this,je)}set nodes(e){(0,de.Z)(this,je,e)}get edges(){return(0,he.Z)(this,Fe)}set edges(e){(0,de.Z)(this,Fe,e)}get nodeBricks(){return(0,he.Z)(this,Ge)}set nodeBricks(e){(0,de.Z)(this,Ge,e)}get lines(){return(0,he.Z)(this,Je)}set lines(e){(0,de.Z)(this,Je,e)}get layoutOptions(){return(0,he.Z)(this,Qe)}set layoutOptions(e){(0,de.Z)(this,Qe,e)}get activeTarget(){return(0,he.Z)(this,et)}set activeTarget(e){(0,de.Z)(this,et,e)}get disableKeyboardAction(){return(0,he.Z)(this,tt)}set disableKeyboardAction(e){(0,de.Z)(this,tt,e)}get connectNodes(){return(0,he.Z)(this,at)}set connectNodes(e){(0,de.Z)(this,at,e)}get nodesConnect(){return(0,he.Z)(this,nt)}set nodesConnect(e){(0,de.Z)(this,nt,e)}get dragNodes(){return(0,he.Z)(this,it)}set dragNodes(e){(0,de.Z)(this,it,e)}get zoomable(){return(0,he.Z)(this,st)}set zoomable(e){(0,de.Z)(this,st,e)}get scrollable(){return(0,he.Z)(this,lt)}set scrollable(e){(0,de.Z)(this,lt,e)}get pannable(){return(0,he.Z)(this,rt)}set pannable(e){(0,de.Z)(this,rt,e)}get scaleRange(){return(0,he.Z)(this,ot)}set scaleRange(e){(0,de.Z)(this,ot,e)}callOnLineLabel(e,t){for(var a,n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];null===(a=(0,he.Z)(this,Ct).current)||void 0===a||a.callOnLineLabel(e,t,...i)}render(){var e;return ge().createElement(qe,{ref:(0,he.Z)(this,Ct),layout:this.layout,nodes:this.nodes,edges:this.edges,nodeBricks:this.nodeBricks,lines:this.lines,layoutOptions:this.layoutOptions,connectNodes:null!==(e=this.connectNodes)&&void 0!==e?e:this.nodesConnect,dragNodes:this.dragNodes,activeTarget:this.activeTarget,disableKeyboardAction:this.disableKeyboardAction,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:(0,he.Z)(this,dt),onSwitchActiveTarget:(0,he.Z)(this,Nt),onNodeDelete:(0,he.Z)(this,pt),onEdgeDelete:(0,he.Z)(this,bt),onLineClick:(0,he.Z)(this,kt),onLineDoubleClick:(0,he.Z)(this,Mt),onNodesConnect:(0,he.Z)(this,Lt)})}}function xt(e){O(this,e)}function St(){return P(this)}function zt(e){V(this,e)}function Dt(){return I(this)}function Tt(e){$(this,e)}function Bt(){return Y(this)}function At(e){F(this,e)}function Pt(){return j(this)}function Ot(e){ee(this,e)}function Ht(){return Q(this)}function Kt(e){ie(this,e)}function It(){return ne(this)}function Vt(e,t){var{layout:a,nodes:n,edges:i,nodeBricks:s,lines:l,layoutOptions:r,connectNodes:o,dragNodes:c,activeTarget:u,disableKeyboardAction:d,zoomable:h,scrollable:v,pannable:p,scaleRange:g,onActiveTargetChange:m,onSwitchActiveTarget:b,onNodeDelete:Z,onEdgeDelete:w,onLineClick:k,onLineDoubleClick:f,onNodesConnect:y}=e,[M,E]=(0,pe.useState)(!1),[W,L]=(0,pe.useState)(0),[N,C]=(0,pe.useState)(null),[R,x]=(0,pe.useState)(!1),[S,z]=(0,pe.useState)(0),[D,T]=(0,pe.useState)(null),[B,A]=(0,pe.useState)([]),[P,O]=(0,pe.useState)(!1),[H,K]=(0,pe.useState)({k:1,x:0,y:0}),I=(0,pe.useRef)(new Map),V=(0,pe.useRef)(null),_=(0,pe.useRef)(null),[X,Y]=(0,pe.useState)(!1),{userViewReady:$,userViewNodesMap:q,saveUserView:U}=(0,Ie.k)(null==c?void 0:c.save),[j,F]=(0,pe.useState)([0,0]),[G,J]=(0,pe.useState)(null),[Q,ee]=(0,pe.useState)("initial"),[te,ae]=(0,pe.useState)(null);(0,pe.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var a,n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];null==D||null===(a=D.get(e))||void 0===a||null===(a=a.firstElementChild)||void 0===a||a[t](...i)}}))),(0,pe.useEffect)((()=>{var e=e=>{(0,Ae.w)(e,{nodes:n,nodesRefRepository:N,connectNodes:o,dragNodes:c,scale:H.k,setConnectLineState:J,setConnectLineTo:F,setManualLayoutStatus:ee,setNodeMovement:ae,onSwitchActiveTarget:b,onNodesConnect:y})},t=_.current;return null==t||t.addEventListener("mousedown",e),()=>{null==t||t.removeEventListener("mousedown",e)}}),[n,o,c,H.k,N,y,b]);var{normalizedLines:ne,normalizedLinesMap:ie,markers:se}=(0,pe.useMemo)((()=>(0,Ce.c)(i,l)),[i,l]),le=(0,pe.useMemo)((()=>ne.flatMap((e=>{var t,a,{line:{text:n,label:i,$id:s},edge:l}=e;return n||i?(i?(t="label",a=[].concat(i)):(t="text",a=[].concat(n)),a.map((e=>{var a;return{[t]:e,id:"".concat(s,"-").concat(null!==(a=e.placement)&&void 0!==a?a:"center"),edge:l}}))):[]}))),[ne]),{nodes:re,edges:oe}=(0,Oe.n)({layout:a,nodes:n,edges:i,manualLayoutStatus:Q,userViewReady:$,userViewNodesMap:q,nodeMovement:te,nodesRefRepository:N,lineLabelsRefRepository:D,normalizedLinesMap:ie,layoutOptions:r,nodesRenderId:W,lineLabelsRenderId:S});(0,pe.useEffect)((()=>{"finished"===Q&&U(re.map((e=>({id:e.id,x:e.x,y:e.y}))))}),[Q]);var ce=(0,pe.useMemo)((()=>(0,Ne.s)(oe,ne)),[ne,oe]),ue=null!=u?u:null,[de,he]=(0,pe.useState)(ue);(0,pe.useEffect)((()=>{he((e=>(0,Ve.N)(e,ue)?e:ue))}),[ue]);var ve=(0,pe.useRef)(!1);(0,pe.useEffect)((()=>{ve.current?null==m||m(de):ve.current=!0}),[n,de,m]),(0,pe.useEffect)((()=>{var e=V.current;if(e&&!d){var t=e=>{var t=(0,We.p)(e,{renderedNodes:re,activeTarget:de});"delete-node"===(null==t?void 0:t.action)?null==Z||Z(t.node):"delete-edge"===(null==t?void 0:t.action)?null==w||w(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==b||b({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[de,re,d,b,Z,w]);var me=(0,pe.useCallback)((e=>{e&&(L((e=>e+1)),C(e)),E((t=>t||!!e))}),[]),be=(0,pe.useCallback)((e=>{e&&(z((e=>e+1)),T(e)),x((t=>t||!!e))}),[]),ke=(0,pe.useMemo)((()=>null!=g?g:[Pe.oh,Pe.rN]),[g]),Ke=(0,pe.useMemo)((()=>(0,we.sP)()),[]);(0,pe.useEffect)((()=>{var e=!1;Ke.scaleExtent(h?ke:[1,1]).on("start",(()=>{e=!1,O(!0)})).on("zoom",(t=>{e=!0,K(t.transform)})).on("end",(()=>{O(!1),e||null==b||b(null)}))}),[b,ke,h,Ke]),(0,pe.useEffect)((()=>{var e=V.current;if(e){var t=(0,Ze.Z)(e),a=()=>{t.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(h||v||p)return(h||v)&&t.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),v&&(e.preventDefault(),Ke.translateBy(t,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),t.call(Ke).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null),p||t.on("mousedown.zoom",null).on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),a;a()}}),[p,v,h,Ke]),(0,pe.useEffect)((()=>{var e=V.current;if(0!==re.length&&e&&!X){var{k:t,x:a,y:n}=(0,Le.i)(re,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:h?ke:void 0});Ke.transform((0,Ze.Z)(e),new we.ax(t,a,n)),Y(!0)}}),[X,re,ke,h,Ke]);var _e=(0,pe.useMemo)((()=>"".concat((0,ye.uniqueId)("diagram-"),"-")),[]),Xe="".concat(_e,"line-arrow-"),Ye="".concat(_e,"clip-path-"),$e="".concat(_e,"active-line-");(0,pe.useEffect)((()=>{A((e=>(0,Be.K)(e,ce,I.current)))}),[ce]);var[qe,Ue]=ge().useState([]);return(0,pe.useEffect)((()=>{if(D){(0,He.b)(B,D);var e=new Me.Z((()=>{Ue((0,Te.i)(B,D))}));for(var t of D.values())e.observe(t);return()=>{e.disconnect()}}}),[S,D,B]),"dagre"!==a&&"force"!==a?ge().createElement("div",null,'Diagram layout not supported: "'.concat(a,'"')):ge().createElement("div",{className:fe()("diagram",{ready:M&&X,grabbing:P,pannable:p}),tabIndex:-1,ref:V},ge().createElement("svg",{width:"100%",height:"100%",className:"lines"},ge().createElement("defs",null,se.map(((e,t)=>{var{strokeColor:a}=e;return ge().createElement(Se.C,{key:t,id:"".concat(Xe).concat(t),strokeColor:a})})),qe.map((e=>ge().createElement(ze.K,{key:e.lineId,clipPath:e,clipPathPrefix:Ye,renderedLineLabels:B}))),ge().createElement("marker",{id:"".concat($e,"start"),viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},ge().createElement("path",{d:"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"})),ge().createElement("marker",{id:"".concat($e,"end"),viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},ge().createElement("path",{d:"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z",stroke:"var(--palette-blue-3)",strokeWidth:1,fill:"var(--palette-blue-3)"}),ge().createElement("path",{d:"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"}))),ge().createElement("g",{transform:"translate(".concat(H.x," ").concat(H.y,") scale(").concat(H.k,")")},ce.map((e=>ge().createElement(xe.y,{key:e.line.$id,line:e,linePaths:I.current,clipPathList:qe,markerPrefix:Xe,clipPathPrefix:Ye,activeLineMarkerPrefix:$e,activeEdge:"edge"===(null==de?void 0:de.type)?de.edge:null,onLineClick:k,onLineDoubleClick:f}))))),ge().createElement("div",{className:fe()("line-labels",{ready:R}),style:{left:H.x,top:H.y,transform:"scale(".concat(H.k,")")}},ge().createElement(Re.L8,{labels:le,onRendered:be})),ge().createElement("div",{className:"nodes",ref:_,style:{left:H.x,top:H.y,transform:"scale(".concat(H.k,")")}},ge().createElement(Ee.n,{nodes:n,nodeBricks:s,onRendered:me})),ge().createElement(De.f,{connectLineState:G,connectLineTo:j,markerPrefix:Xe}))}re=Rt,({e:[l,o,u,h,p,m,Z,k,y,E,L,C,x,z,T,A,P,O,K,I,V,X,Y,$,U,j,F,J,Q,ee,ae,ne,ie,le],c:[oe,n]}=(0,ve.Z)(re,[[s,1,"layout"],[r,1,"nodes"],[c,1,"edges"],[d,1,"nodeBricks"],[v,1,"lines"],[g,1,"layoutOptions"],[b,1,"activeTarget"],[w,1,"disableKeyboardAction"],[f,1,"connectNodes"],[M,1,"nodesConnect"],[W,1,"dragNodes"],[N,1,"zoomable"],[R,1,"scrollable"],[S,1,"pannable"],[D,1,"scaleRange"],[B,1,"activeTargetChangeEvent",e=>(0,he.Z)(e,ct),(e,t)=>(0,de.Z)(e,ct,t)],[H,1,"nodeDelete",e=>(0,he.Z)(e,ht),(e,t)=>(0,de.Z)(e,ht,t)],[_,1,"edgeDelete",e=>(0,he.Z)(e,gt),(e,t)=>(0,de.Z)(e,gt,t)],[q,1,"lineClick",e=>(0,he.Z)(e,Zt),(e,t)=>(0,de.Z)(e,Zt,t)],[G,1,"lineDoubleClick",e=>(0,he.Z)(e,ft),(e,t)=>(0,de.Z)(e,ft,t)],[te,1,"connectNodes",e=>(0,he.Z)(e,Et),(e,t)=>(0,de.Z)(e,Et,t)],[se,2,"callOnLineLabel"]],[i],0,(e=>Ct.has((0,ue.Z)(e))),be.ReactNextElement)),n()}}]);
|
|
2
|
+
//# sourceMappingURL=eo-diagram.f5c3d3b7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/eo-diagram.f5c3d3b7.js","mappings":"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","sources":["webpack:///./src/diagram/index.tsx"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { select } from \"d3-selection\";\nimport { ZoomTransform, zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\nimport { uniqueId } from \"lodash\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n DiagramEdge,\n DiagramNode,\n LayoutOptions,\n LineConf,\n NodeBrickConf,\n PositionTuple,\n RefRepository,\n RenderedLineLabel,\n LineTextClipPath,\n TransformLiteral,\n LineTarget,\n ConnectLineDetail,\n ConnectNodesOptions,\n ConnectLineState,\n ActiveTarget,\n RangeTuple,\n LineLabel,\n LineLabelConf,\n TextOptions,\n DragNodesOptions,\n NodeMovement,\n ManualLayoutStatus,\n} from \"./interfaces\";\nimport { NodeComponentGroup } from \"./NodeComponent\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { transformToCenter } from \"./processors/transformToCenter\";\nimport { getRenderedLines } from \"./processors/getRenderedLines\";\nimport { normalizeLinesAndMarkers } from \"./processors/normalizeLinesAndMarkers\";\nimport { LineLabelComponentGroup } from \"./LineLabelComponent\";\nimport { LineComponent } from \"./LineComponent\";\nimport { MarkerComponent } from \"./MarkerComponent\";\nimport { ClipPathComponent } from \"./ClipPathComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { getClipPathList } from \"./processors/getClipPathList\";\nimport { getRenderedLineLabels } from \"./processors/getRenderedLineLabels\";\nimport { handleNodesMouseDown } from \"./processors/handleNodesMouseDown\";\nimport { DEFAULT_SCALE_RANGE_MAX, DEFAULT_SCALE_RANGE_MIN } from \"./constants\";\nimport { useRenderedDiagram } from \"./hooks/useRenderedDiagram\";\nimport { adjustLineLabels } from \"./processors/adjustLineLabels\";\nimport styleText from \"./styles.shadow.css\";\nimport { useUserView } from \"./hooks/useUserView\";\nimport { sameTarget } from \"./processors/sameTarget\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EoDiagramProps {\n layout?: \"dagre\" | \"force\";\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n nodeBricks?: NodeBrickConf[];\n lines?: LineConf[];\n layoutOptions?: LayoutOptions;\n connectNodes?: ConnectNodesOptions;\n dragNodes?: DragNodesOptions;\n activeTarget?: ActiveTarget | null;\n disableKeyboardAction?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n scaleRange?: RangeTuple;\n}\n\nexport interface DiagramRef {\n callOnLineLabel(id: string, method: string, ...args: unknown[]): void;\n}\n\nexport const EoDiagramComponent = forwardRef(LegacyEoDiagramComponent);\n\n/**\n * 构件 `eo-diagram`\n */\nexport\n@defineElement(\"eo-diagram\", {\n styleTexts: [styleText],\n})\nclass EoDiagram extends ReactNextElement implements EoDiagramProps {\n /**\n * @required\n */\n @property({ type: String })\n accessor layout: \"dagre\" | \"force\" | undefined;\n\n @property({ attribute: false })\n accessor nodes: DiagramNode[] | undefined;\n\n @property({ attribute: false })\n accessor edges: DiagramEdge[] | undefined;\n\n @property({ attribute: false })\n accessor nodeBricks: NodeBrickConf[] | undefined;\n\n @property({ attribute: false })\n accessor lines: LineConf[] | undefined;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptions | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n @property({ type: Boolean })\n accessor disableKeyboardAction: boolean | undefined;\n\n @property({ attribute: false })\n accessor connectNodes: ConnectNodesOptions | undefined;\n\n /**\n * @deprecated use `connectNodes` instead\n */\n @property({ attribute: false })\n accessor nodesConnect: ConnectNodesOptions | undefined;\n\n @property({ attribute: false })\n accessor dragNodes: DragNodesOptions | undefined;\n\n @property({ type: Boolean })\n accessor zoomable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor scrollable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor pannable: boolean | undefined = true;\n\n @property({ attribute: false })\n accessor scaleRange: RangeTuple | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<ActiveTarget | null>;\n\n #handleActiveTargetChange = (target: ActiveTarget | null) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<DiagramNode>;\n\n #handleNodeDelete = (node: DiagramNode) => {\n this.#nodeDelete.emit(node);\n };\n\n @event({ type: \"edge.delete\" })\n accessor #edgeDelete!: EventEmitter<DiagramEdge>;\n\n #handleEdgeDelete = (edge: DiagramEdge) => {\n this.#edgeDelete.emit(edge);\n };\n\n @event({ type: \"line.click\" })\n accessor #lineClick!: EventEmitter<LineTarget>;\n\n #handleLineClick = (line: LineTarget) => {\n this.#lineClick.emit(line);\n };\n\n @event({ type: \"line.dblclick\" })\n accessor #lineDoubleClick!: EventEmitter<LineTarget>;\n\n #handleLineDoubleClick = (line: LineTarget) => {\n this.#lineDoubleClick.emit(line);\n };\n\n @event({ type: \"nodes.connect\" })\n accessor #connectNodes!: EventEmitter<ConnectLineDetail>;\n\n #handleNodesConnect = (detail: ConnectLineDetail) => {\n this.#connectNodes.emit(detail);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n if (!sameTarget(target, this.activeTarget)) {\n this.activeTarget = target;\n }\n };\n\n #diagramRef = createRef<DiagramRef>();\n\n @method()\n callOnLineLabel(id: string, method: string, ...args: unknown[]) {\n this.#diagramRef.current?.callOnLineLabel(id, method, ...args);\n }\n\n render() {\n return (\n <EoDiagramComponent\n ref={this.#diagramRef}\n layout={this.layout}\n nodes={this.nodes}\n edges={this.edges}\n nodeBricks={this.nodeBricks}\n lines={this.lines}\n layoutOptions={this.layoutOptions}\n connectNodes={this.connectNodes ?? this.nodesConnect}\n dragNodes={this.dragNodes}\n activeTarget={this.activeTarget}\n disableKeyboardAction={this.disableKeyboardAction}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n scaleRange={this.scaleRange}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onNodeDelete={this.#handleNodeDelete}\n onEdgeDelete={this.#handleEdgeDelete}\n onLineClick={this.#handleLineClick}\n onLineDoubleClick={this.#handleLineDoubleClick}\n onNodesConnect={this.#handleNodesConnect}\n />\n );\n }\n}\n\nexport interface EoDiagramComponentProps extends EoDiagramProps {\n onActiveTargetChange?(target: ActiveTarget | null): void;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n onNodeDelete?(node: DiagramNode): void;\n onEdgeDelete?(edge: DiagramEdge): void;\n onLineClick?(line: LineTarget): void;\n onLineDoubleClick?(line: LineTarget): void;\n onNodesConnect?(detail: ConnectLineDetail): void;\n}\n\nexport function LegacyEoDiagramComponent(\n {\n layout,\n nodes,\n edges,\n nodeBricks,\n lines,\n layoutOptions,\n connectNodes,\n dragNodes,\n activeTarget: _activeTarget,\n disableKeyboardAction,\n zoomable,\n scrollable,\n pannable,\n scaleRange: _scaleRange,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n onLineClick,\n onLineDoubleClick,\n onNodesConnect,\n }: EoDiagramComponentProps,\n ref: React.Ref<DiagramRef>\n) {\n const [nodesReady, setNodesReady] = useState(false);\n const [nodesRenderId, setNodesRenderId] = useState(0);\n const [nodesRefRepository, setNodesRefRepository] =\n useState<RefRepository | null>(null);\n const [lineLabelsReady, setLineLabelsReady] = useState(false);\n const [lineLabelsRenderId, setLineLabelsRenderId] = useState(0);\n const [lineLabelsRefRepository, setLineLabelsRefRepository] =\n useState<RefRepository | null>(null);\n const [renderedLineLabels, setRenderedLineLabels] = useState<\n RenderedLineLabel[]\n >([]);\n\n const [grabbing, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n\n const linePathsRef = useRef(new Map<string, SVGPathElement | null>());\n\n const rootRef = useRef<HTMLDivElement>(null);\n const nodesRef = useRef<HTMLDivElement>(null);\n const [centered, setCentered] = useState(false);\n\n const { userViewReady, userViewNodesMap, saveUserView } = useUserView(\n dragNodes?.save\n );\n\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple>([0, 0]);\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n const [manualLayoutStatus, setManualLayoutStatus] =\n useState<ManualLayoutStatus>(\"initial\");\n const [nodeMovement, setNodeMovement] = useState<NodeMovement | null>(null);\n\n useImperativeHandle(ref, () => ({\n callOnLineLabel(id, method, ...args) {\n (\n lineLabelsRefRepository?.get(id)\n ?.firstElementChild as unknown as Record<string, Function>\n )?.[method](...args);\n },\n }));\n\n useEffect(() => {\n const onNodesMouseDown = (event: MouseEvent) => {\n handleNodesMouseDown(event, {\n nodes,\n nodesRefRepository,\n connectNodes,\n dragNodes,\n scale: transform.k,\n setConnectLineState,\n setConnectLineTo,\n setManualLayoutStatus,\n setNodeMovement,\n onSwitchActiveTarget,\n onNodesConnect,\n });\n };\n // Bind mousedown event manually, since the React event handler can't work with\n // d3-zoom inside shadow DOM.\n const nodesContainer = nodesRef.current;\n nodesContainer?.addEventListener(\"mousedown\", onNodesMouseDown);\n return () => {\n nodesContainer?.removeEventListener(\"mousedown\", onNodesMouseDown);\n };\n }, [\n nodes,\n connectNodes,\n dragNodes,\n transform.k,\n nodesRefRepository,\n onNodesConnect,\n onSwitchActiveTarget,\n ]);\n\n const { normalizedLines, normalizedLinesMap, markers } = useMemo(\n () => normalizeLinesAndMarkers(edges, lines),\n [edges, lines]\n );\n\n const lineLabels = useMemo(() => {\n return normalizedLines.flatMap(({ line: { text, label, $id }, edge }) => {\n if (!text && !label) {\n return [] as LineLabel[];\n }\n\n let key: \"label\" | \"text\";\n let list: LineLabelConf[] | TextOptions[];\n if (label) {\n key = \"label\";\n list = ([] as LineLabelConf[]).concat(label);\n } else {\n key = \"text\";\n list = ([] as TextOptions[]).concat(text!);\n }\n\n return list.map<LineLabel>((item) => ({\n [key as \"label\"]: item as LineLabelConf,\n id: `${$id}-${item.placement ?? \"center\"}`,\n edge,\n }));\n });\n }, [normalizedLines]);\n\n const { nodes: renderedNodes, edges: renderedEdges } = useRenderedDiagram({\n layout,\n nodes,\n edges,\n manualLayoutStatus,\n userViewReady,\n userViewNodesMap,\n nodeMovement,\n nodesRefRepository,\n lineLabelsRefRepository,\n normalizedLinesMap,\n layoutOptions,\n nodesRenderId,\n lineLabelsRenderId,\n });\n\n useEffect(\n () => {\n if (manualLayoutStatus === \"finished\") {\n saveUserView(\n renderedNodes.map((node) => ({\n id: node.id,\n x: node.x,\n y: node.y,\n }))\n );\n }\n },\n // Only save user view when manual layout is just finished.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [manualLayoutStatus]\n );\n\n const renderedLines = useMemo(\n () => getRenderedLines(renderedEdges, normalizedLines),\n [normalizedLines, renderedEdges]\n );\n\n const newActiveTarget = _activeTarget ?? null;\n const [activeTarget, setActiveTarget] = useState<ActiveTarget | null>(\n newActiveTarget\n );\n\n useEffect(() => {\n setActiveTarget((previous) =>\n sameTarget(previous, newActiveTarget) ? previous : newActiveTarget\n );\n }, [newActiveTarget]);\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange?.(activeTarget);\n }, [nodes, activeTarget, onActiveTargetChange]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || disableKeyboardAction) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n renderedNodes,\n activeTarget,\n });\n\n if (action?.action === \"delete-node\") {\n onNodeDelete?.(action.node);\n } else if (action?.action === \"delete-edge\") {\n onEdgeDelete?.(action.edge);\n } else if (action?.action === \"switch-active-node\" && action.node) {\n onSwitchActiveTarget?.({ type: \"node\", nodeId: action.node.id });\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [\n activeTarget,\n renderedNodes,\n disableKeyboardAction,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n ]);\n\n const handleNodesRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setNodesRenderId((previous) => previous + 1);\n setNodesRefRepository(refRepository);\n }\n setNodesReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const handleLineLabelsRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setLineLabelsRenderId((previous) => previous + 1);\n setLineLabelsRefRepository(refRepository);\n }\n setLineLabelsReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const scaleRange = useMemo(\n () =>\n _scaleRange ??\n ([DEFAULT_SCALE_RANGE_MIN, DEFAULT_SCALE_RANGE_MAX] as RangeTuple),\n [_scaleRange]\n );\n\n const zoomer = useMemo(() => zoom<HTMLDivElement, unknown>(), []);\n\n useEffect(() => {\n let moved = false;\n zoomer\n .scaleExtent(zoomable ? scaleRange : [1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e: { transform: TransformLiteral }) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n }, [onSwitchActiveTarget, scaleRange, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) {\n return;\n }\n\n const rootSelection = select(root);\n\n const unsetZoom = () => {\n rootSelection\n .on(\".zoom\", null)\n .on(\".zoom.custom\", null)\n .on(\"wheel\", null);\n };\n\n if (!(zoomable || scrollable || pannable)) {\n unsetZoom();\n return;\n }\n\n if (zoomable || scrollable) {\n // Do not override default d3 zoom handler.\n // Only handles *panning*\n rootSelection.on(\n \"wheel.zoom.custom\",\n (e: WheelEvent & { wheelDeltaX: number; wheelDeltaY: number }) => {\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n // Stop immediate propagation for default d3 zoom handler\n e.stopImmediatePropagation();\n if (scrollable) {\n e.preventDefault();\n zoomer.translateBy(\n rootSelection,\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n }\n // zoomer.scaleBy(rootSelection, Math.pow(2, defaultWheelDelta(e)))\n }\n );\n }\n\n rootSelection\n .call(zoomer)\n .on(\"wheel\", (e: WheelEvent) => e.preventDefault())\n .on(\"dblclick.zoom\", null);\n\n if (!pannable) {\n rootSelection\n .on(\"mousedown.zoom\", null)\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n return unsetZoom;\n }, [pannable, scrollable, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (renderedNodes.length === 0 || !root || centered) {\n return;\n }\n const { k, x, y } = transformToCenter(renderedNodes, {\n canvasWidth: root.clientWidth,\n canvasHeight: root.clientHeight,\n scaleRange: zoomable ? scaleRange : undefined,\n });\n zoomer.transform(select(root), new ZoomTransform(k, x, y));\n setCentered(true);\n }, [centered, renderedNodes, scaleRange, zoomable, zoomer]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const clipPathPrefix = `${defPrefix}clip-path-`;\n const activeLineMarkerPrefix = `${defPrefix}active-line-`;\n\n useEffect(() => {\n setRenderedLineLabels((previous) =>\n getRenderedLineLabels(previous, renderedLines, linePathsRef.current)\n );\n }, [renderedLines]);\n\n const [clipPathList, setClipPathList] = React.useState<LineTextClipPath[]>(\n []\n );\n\n useEffect(() => {\n if (!lineLabelsRefRepository) {\n return;\n }\n const updateClipPathList = () => {\n setClipPathList(\n getClipPathList(renderedLineLabels, lineLabelsRefRepository)\n );\n };\n\n adjustLineLabels(renderedLineLabels, lineLabelsRefRepository);\n\n const observer = new ResizeObserver(updateClipPathList);\n for (const lineLabel of lineLabelsRefRepository.values()) {\n observer.observe(lineLabel);\n }\n return () => {\n observer.disconnect();\n };\n }, [lineLabelsRenderId, lineLabelsRefRepository, renderedLineLabels]);\n\n if (layout !== \"dagre\" && layout !== \"force\") {\n return <div>{`Diagram layout not supported: \"${layout}\"`}</div>;\n }\n\n return (\n <div\n className={classNames(\"diagram\", {\n ready: nodesReady && centered,\n grabbing,\n pannable,\n })}\n tabIndex={-1}\n ref={rootRef}\n >\n <svg width=\"100%\" height=\"100%\" className=\"lines\">\n <defs>\n {markers.map(({ strokeColor }, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n strokeColor={strokeColor}\n />\n ))}\n {clipPathList.map((clipPath) => (\n <ClipPathComponent\n key={clipPath.lineId}\n clipPath={clipPath}\n clipPathPrefix={clipPathPrefix}\n renderedLineLabels={renderedLineLabels}\n />\n ))}\n <marker\n id={`${activeLineMarkerPrefix}start`}\n viewBox=\"0 0 8 8\"\n refX={4}\n refY={4}\n markerWidth={8}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n <marker\n id={`${activeLineMarkerPrefix}end`}\n viewBox=\"0 0 14 8\"\n refX={3}\n refY={4}\n markerWidth={14}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z\"\n stroke=\"var(--palette-blue-3)\"\n strokeWidth={1}\n fill=\"var(--palette-blue-3)\"\n />\n <path\n d=\"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n </defs>\n <g\n transform={`translate(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n {renderedLines.map((line) => (\n <LineComponent\n key={line.line.$id}\n line={line}\n linePaths={linePathsRef.current}\n clipPathList={clipPathList}\n markerPrefix={markerPrefix}\n clipPathPrefix={clipPathPrefix}\n activeLineMarkerPrefix={activeLineMarkerPrefix}\n activeEdge={\n activeTarget?.type === \"edge\" ? activeTarget.edge : null\n }\n onLineClick={onLineClick}\n onLineDoubleClick={onLineDoubleClick}\n />\n ))}\n </g>\n </svg>\n <div\n className={classNames(\"line-labels\", { ready: lineLabelsReady })}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <LineLabelComponentGroup\n labels={lineLabels}\n onRendered={handleLineLabelsRendered}\n />\n </div>\n <div\n className=\"nodes\"\n ref={nodesRef}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <NodeComponentGroup\n nodes={nodes}\n nodeBricks={nodeBricks}\n // nodePositions={nodePositions}\n onRendered={handleNodesRendered}\n />\n </div>\n <ConnectLineComponent\n connectLineState={connectLineState}\n connectLineTo={connectLineTo}\n markerPrefix={markerPrefix}\n />\n </div>\n );\n}\n"],"names":["_EoDiagram","defineElement","property","event","method","createDecorators","EoDiagramComponent","forwardRef","LegacyEoDiagramComponent","_dec","styleTexts","styleText","_dec2","type","String","_dec3","attribute","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","Boolean","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_activeTargetChangeEvent","_handleActiveTargetChange","_Q","_nodeDelete","_handleNodeDelete","_R","_edgeDelete","_handleEdgeDelete","_S","_lineClick","_handleLineClick","_T","_lineDoubleClick","_handleLineDoubleClick","_U","_connectNodes","_handleNodesConnect","_handleSwitchActiveTarget","_diagramRef","EoDiagram","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_connectNodes2","set","_set_connectNodes2","_get_lineDoubleClick2","_set_lineDoubleClick2","_get_lineClick2","_set_lineClick2","_get_edgeDelete2","_set_edgeDelete2","_get_nodeDelete2","_set_nodeDelete2","_get_activeTargetChangeEvent2","_set_activeTargetChangeEvent2","writable","value","_initProto","_init_layout","_init_nodes","_init_edges","_init_nodeBricks","_init_lines","_init_layoutOptions","_init_activeTarget","_init_disableKeyboardAction","_init_connectNodes","_init_nodesConnect","_init_dragNodes","_init_zoomable","_init_scrollable","_init_pannable","_init_scaleRange","_init_activeTargetChangeEvent","target","_classPrivateFieldGet","this","emit","_init_nodeDelete","node","_init_edgeDelete","edge","_init_lineClick","line","_init_lineDoubleClick","_init_connectNodes2","detail","sameTarget","activeTarget","createRef","layout","v","_classPrivateFieldSet","nodes","edges","nodeBricks","lines","layoutOptions","disableKeyboardAction","connectNodes","nodesConnect","dragNodes","zoomable","scrollable","pannable","scaleRange","callOnLineLabel","id","_classPrivateFieldGet2","_len","length","args","Array","_key","current","render","_this$connectNodes","React","ref","onActiveTargetChange","onSwitchActiveTarget","onNodeDelete","onEdgeDelete","onLineClick","onLineDoubleClick","onNodesConnect","_set_activeTargetChangeEvent","_get_activeTargetChangeEvent","_set_nodeDelete","_get_nodeDelete","_set_edgeDelete","_get_edgeDelete","_set_lineClick","_get_lineClick","_set_lineDoubleClick","_get_lineDoubleClick","_set_connectNodes","_get_connectNodes","_ref","_activeTarget","_scaleRange","nodesReady","setNodesReady","useState","nodesRenderId","setNodesRenderId","nodesRefRepository","setNodesRefRepository","lineLabelsReady","setLineLabelsReady","lineLabelsRenderId","setLineLabelsRenderId","lineLabelsRefRepository","setLineLabelsRefRepository","renderedLineLabels","setRenderedLineLabels","grabbing","setGrabbing","transform","setTransform","k","x","y","linePathsRef","useRef","Map","rootRef","nodesRef","centered","setCentered","userViewReady","userViewNodesMap","saveUserView","useUserView","save","connectLineTo","setConnectLineTo","connectLineState","setConnectLineState","manualLayoutStatus","setManualLayoutStatus","nodeMovement","setNodeMovement","useImperativeHandle","_lineLabelsRefReposit","_len2","_key2","firstElementChild","useEffect","onNodesMouseDown","handleNodesMouseDown","scale","nodesContainer","addEventListener","removeEventListener","normalizedLines","normalizedLinesMap","markers","useMemo","normalizeLinesAndMarkers","lineLabels","flatMap","_ref2","key","list","text","label","$id","concat","map","item","_item$placement","placement","renderedNodes","renderedEdges","useRenderedDiagram","renderedLines","getRenderedLines","newActiveTarget","setActiveTarget","previous","activeTargetChangeInitialized","root","onKeydown","action","handleKeyboard","nodeId","handleNodesRendered","useCallback","refRepository","handleLineLabelsRendered","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","zoomer","zoom","moved","scaleExtent","on","e","rootSelection","select","unsetZoom","ctrlKey","stopImmediatePropagation","preventDefault","translateBy","wheelDeltaX","wheelDeltaY","call","transformToCenter","canvasWidth","clientWidth","canvasHeight","clientHeight","undefined","ZoomTransform","defPrefix","uniqueId","markerPrefix","clipPathPrefix","activeLineMarkerPrefix","getRenderedLineLabels","clipPathList","setClipPathList","adjustLineLabels","observer","ResizeObserver","updateClipPathList","getClipPathList","lineLabel","values","observe","disconnect","className","classNames","ready","tabIndex","width","height","_ref3","index","strokeColor","MarkerComponent","clipPath","ClipPathComponent","lineId","viewBox","refX","refY","markerWidth","markerHeight","orient","d","stroke","strokeWidth","fill","LineComponent","linePaths","activeEdge","style","left","top","LineLabelComponentGroup","labels","onRendered","NodeComponentGroup","ConnectLineComponent","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var e,t,r,n,a,o,l,i,c,u,d,s,f,h,p,m,b,v,g,x,y,P,k={8691:(e,t,r)=>{Promise.all([r.e(6466),r.e(8657),r.e(5727),r.e(8842),r.e(9464),r.e(5476),r.e(9393)]).then(r.bind(r,9393))}},w={};function j(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,j),r.loaded=!0,r.exports}j.m=k,j.c=w,j.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return j.d(t,{a:t}),t},j.d=(e,t)=>{for(var r in t)j.o(t,r)&&!j.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((t,r)=>(j.f[r](e,t),t)),[])),j.u=e=>"chunks/"+e+"."+{488:"5e90153b",628:"ae14642a",1303:"92b02bb2",1502:"bee3a64c",1646:"6589b358",1874:"85ba64ca",2024:"53d97685",2108:"9bb5ebe7",2573:"0baab81f",2754:"cbea5866",2784:"70c3fd78",2993:"ec4c251f",3458:"a63a4d80",4031:"e35a7582",4049:"6256a178",4275:"7315c167",4504:"996b5ffa",4717:"34d53aaa",4795:"21023f5e",4936:"954f2abc",5151:"614d7062",5178:"018c624e",5381:"8f21ae30",5476:"649929a0",5628:"c306b668",5725:"78b21531",5727:"73c569d3",5932:"98a700e0",6205:"414655fa",6315:"b7be1d21",6466:"ab3e9384",6473:"ca92cfbd",6635:"41cb938a",6653:"e9c85257",6660:"d75fdf74",7067:"19be203a",7110:"8a578af6",7164:"6d67a26b",7672:"15496b7a",7746:"98303035",7915:"26a8005c",8008:"5a59b5bb",8065:"ef94b24a",8316:"19210606",8498:"bafea53d",8657:"318e9117",8691:"2d98de11",8842:"2ca363e7",8874:"96dfb1e5",9393:"2d6a1ab3",9407:"2a5cb037",9431:"968072ff",9464:"2876e79a",9549:"09d4fb2e",9758:"50558c06"}[e]+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/diagram:",j.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+a){l=d;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,j.nc&&l.setAttribute("nonce",j.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var s=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},f=setTimeout(s.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=s.bind(null,l.onerror),l.onload=s.bind(null,l.onload),i&&document.head.appendChild(l)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},j.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{j.S={};var e={},t={};j.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];j.o(j.S,r)||(j.S[r]={});var o=j.S[r],l="@next-bricks/diagram",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.23.6",(()=>j.e(1874).then((()=>()=>j(1874))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([j.e(4031),j.e(9758)]).then((()=>()=>j(4031))))),i("@next-core/cook","2.2.11",(()=>Promise.all([j.e(5151),j.e(2573)]).then((()=>()=>j(5151))))),i("@next-core/element","1.2.1",(()=>j.e(9549).then((()=>()=>j(9549))))),i("@next-core/http","1.1.8",(()=>j.e(7067).then((()=>()=>j(7067))))),i("@next-core/i18n","1.0.36",(()=>Promise.all([j.e(5932),j.e(4936),j.e(7164)]).then((()=>()=>j(7164))))),i("@next-core/inject","1.0.26",(()=>Promise.all([j.e(5178),j.e(1502),j.e(7672)]).then((()=>()=>j(7672))))),i("@next-core/loader","1.5.3",(()=>j.e(8498).then((()=>()=>j(8498))))),i("@next-core/pipes","2.0.15",(()=>j.e(4275).then((()=>()=>j(4275))))),i("@next-core/react-element","1.0.20",(()=>Promise.all([j.e(8657),j.e(5727),j.e(8065),j.e(1646)]).then((()=>()=>j(1646))))),i("@next-core/react-runtime","1.1.45",(()=>Promise.all([j.e(8657),j.e(9464),j.e(6660)]).then((()=>()=>j(6660))))),i("@next-core/runtime","1.29.1",(()=>Promise.all([j.e(4504),j.e(5178),j.e(5932),j.e(8874),j.e(488),j.e(6315),j.e(4795)]).then((()=>()=>j(4504))))),i("@next-core/supply","2.1.10",(()=>Promise.all([j.e(5178),j.e(1502),j.e(8874),j.e(4049)]).then((()=>()=>j(4049))))),i("@next-core/theme","1.4.8",(()=>Promise.all([j.e(2108),j.e(5628)]).then((()=>()=>j(2108))))),i("@next-core/utils/general","1.6.8",(()=>j.e(7110).then((()=>()=>j(7110))))),i("@next-core/utils/storyboard","1.6.8",(()=>Promise.all([j.e(488),j.e(628),j.e(3458)]).then((()=>()=>j(3458))))),i("history","4.10.1",(()=>j.e(2024).then((()=>()=>j(2024))))),i("i18next-browser-languagedetector","7.2.0",(()=>j.e(2754).then((()=>()=>j(2754))))),i("i18next","22.5.1",(()=>j.e(2993).then((()=>()=>j(2993))))),i("js-yaml","3.14.1",(()=>j.e(9431).then((()=>()=>j(9431))))),i("lodash","4.17.21",(()=>j.e(6635).then((()=>()=>j(6635))))),i("moment/locale/zh-cn.js","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),i("moment","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([j.e(8316),j.e(8657)]).then((()=>()=>j(8316))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>j.e(2784).then((()=>()=>j(2784)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;j.g.importScripts&&(e=j.g.location+"");var t=j.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!e;)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),j.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var u,d,s=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(d=(typeof(u=t[l]))[0]))return!c||("u"==s?i>n&&!a:""==s!=a);if("u"==d){if(!c||"u"!=s)return!1}else if(c)if(s==d)if(i<=n){if(u!=e[i])return!1}else{if(a?u>e[i]:u<e[i])return!1;u!=e[i]&&(c=!1)}else if("s"!=s&&"n"!=s){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||d<s!=a)return!1;c=!1}else"s"!=s&&"n"!=s&&(c=!1,i--)}}var f=[],h=f.pop.bind(f);for(l=1;l<e.length;l++){var p=e[l];f.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},i=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},c=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",u=(e,t,r,n)=>{var a=i(e,r);return h(e[r][a])},d=(e,t,r,n)=>{var a=i(e,r);return o(n,a)||f(c(e,r,a,n)),h(e[r][a])},s=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},f=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},h=e=>(e.loaded=1,e.get()),m=(p=e=>function(t,r,n,a){var o=j.I(t);return o&&o.then?o.then(e.bind(e,t,j.S[t],r,n,a)):e(t,j.S[t],r,n,a)})(((e,t,r,n)=>t&&j.o(t,r)?h(l(t,r)):n())),b=p(((e,t,r,n)=>t&&j.o(t,r)?u(t,0,r):n())),v=p(((e,t,r,n,a)=>t&&j.o(t,r)?d(t,0,r,n):a())),g=p(((e,t,r,n,a)=>{var o=t&&j.o(t,r)&&s(t,r,n);return o?h(o):a()})),x={},y={8657:()=>g("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(2784).then((()=>()=>j(2784))))),5727:()=>g("default","@next-core/element",[1,1,2,1],(()=>j.e(4717).then((()=>()=>j(9549))))),305:()=>g("default","@next-core/react-element",[1,1,0,20],(()=>Promise.all([j.e(8065),j.e(7746)]).then((()=>()=>j(1646))))),928:()=>v("default","@next-core/theme",[1,1,4,8],(()=>j.e(2108).then((()=>()=>j(2108))))),9464:()=>v("default","@next-core/runtime",[1,1,29,1],(()=>Promise.all([j.e(4504),j.e(5178),j.e(5932),j.e(8874),j.e(488),j.e(6315)]).then((()=>()=>j(4504))))),1211:()=>b("default","lodash",(()=>j.e(6635).then((()=>()=>j(6635))))),9494:()=>g("default","@next-core/react-runtime",[1,1,1,45],(()=>j.e(5381).then((()=>()=>j(6660))))),9751:()=>v("default","@next-core/http",[1,1,0,6],(()=>j.e(1303).then((()=>()=>j(7067))))),5872:()=>v("default","moment",[1,2,27,0],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),5899:()=>v("default","js-yaml",[1,3,14,0],(()=>j.e(9431).then((()=>()=>j(9431))))),6976:()=>v("default","lodash",[1,4,17,19],(()=>j.e(6635).then((()=>()=>j(6635))))),2573:()=>v("default","@babel/parser",[1,7,23,6],(()=>j.e(1874).then((()=>()=>j(1874))))),1065:()=>v("default","@next-core/i18n",[1,1,0,36],(()=>Promise.all([j.e(4936),j.e(6205)]).then((()=>()=>j(7164))))),1935:()=>v("default","@next-core/utils/general",[1,1,6,8],(()=>j.e(7110).then((()=>()=>j(7110))))),3239:()=>v("default","i18next",[1,22,5,1],(()=>j.e(2993).then((()=>()=>j(2993))))),7207:()=>v("default","i18next-browser-languagedetector",[1,7,2,0],(()=>j.e(2754).then((()=>()=>j(2754))))),5178:()=>v("default","lodash",[1,4,17,21],(()=>j.e(6635).then((()=>()=>j(6635))))),1502:()=>v("default","@next-core/pipes",[1,2,0,15],(()=>j.e(4275).then((()=>()=>j(4275))))),5454:()=>v("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([j.e(4031),j.e(9758)]).then((()=>()=>j(4031))))),2484:()=>g("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(8316).then((()=>()=>j(8316))))),6650:()=>m("default","react-dom",(()=>j.e(8316).then((()=>()=>j(8316))))),8874:()=>v("default","moment",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),488:()=>v("default","@next-core/cook",[1,2,2,11],(()=>Promise.all([j.e(5151),j.e(2573)]).then((()=>()=>j(5151))))),815:()=>v("default","@next-core/inject",[1,1,0,26],(()=>Promise.all([j.e(1502),j.e(5725)]).then((()=>()=>j(7672))))),4699:()=>v("default","@next-core/utils/storyboard",[1,1,6,8],(()=>Promise.all([j.e(628),j.e(8691)]).then((()=>()=>j(3458))))),5932:()=>v("default","@next-core/http",[1,1,1,8],(()=>j.e(9407).then((()=>()=>j(7067))))),6974:()=>v("default","@next-core/loader",[1,1,5,3],(()=>j.e(6653).then((()=>()=>j(8498))))),7857:()=>v("default","history",[1,4,10,1],(()=>j.e(2024).then((()=>()=>j(2024))))),7941:()=>v("default","@next-core/supply",[1,2,1,10],(()=>Promise.all([j.e(1502),j.e(6473)]).then((()=>()=>j(4049))))),8525:()=>v("default","moment/locale/zh-cn.js",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),628:()=>b("default","@next-core/utils/general",(()=>j.e(7110).then((()=>()=>j(7110)))))},P={488:[488],628:[628],1502:[1502],2573:[2573],4275:[5454],4936:[3239,7207],5178:[5178],5476:[1211,9494,9751],5727:[5727],5932:[1065,1935],6315:[815,4699,5932,6974,7857,7941,8525],8065:[2484,6650],8657:[8657],8842:[305,928],8874:[8874],9464:[9464],9758:[5872,5899,6976]},j.f.consumes=(e,t)=>{j.o(P,e)&&P[e].forEach((e=>{if(j.o(x,e))return t.push(x[e]);var r=t=>{x[e]=0,j.m[e]=r=>{delete j.c[e],r.exports=t()}},n=t=>{delete x[e],j.m[e]=r=>{throw delete j.c[e],t}};try{var a=y[e]();a.then?t.push(x[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}))},(()=>{var e={179:0};j.f.j=(t,r)=>{var n=j.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(5(178|727|932)|8(065|657|842|874)|(48|62|975)8|1502|2573|4936|6315|9464)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=j.p+j.u(t),l=new Error;j.l(o,(r=>{if(j.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)j.o(l,n)&&(j.m[n]=l[n]);i&&i(j)}for(t&&t(r);c<o.length;c++)a=o[c],j.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),j.nc=void 0,j(8691)})();
|
|
2
|
+
//# sourceMappingURL=main.e93685b6.js.map
|