import{createReandomId}from"../../tools/algorithm/random";import{createCanvas,createCanvasParent}from"../../tools/dom/create";import MxDrawObject from"../MxDrawObject";import store from"../store";import useCanvasResizeListener from"../useCanvasResizeListener";import MrxDbgUiPrPoint from"../MrxDbgUiPrPoint";import mxDefaultUiData from"../loadCoreCode/mxUiData";import MxDbDatabase from"../MxDbDatabase";import MxCADObject from"../MxCADObject";let mxUiData=mxDefaultUiData;class MxFunClass{constructor(){this.listenForUpdateCursor=(e=>{mxUiData.mountUpdateCursorFun(e)})}createMxObject({canvasId:e=createReandomId(),cadFile:t="",callback:r,isNewFile:n=!1,useWebsocket:o=!1,isAutoResize:a=!0,mapBox:s,isMxCAD:u=!1,userIdentitySign:i="emptyUserIdentity",isCPPMxCAD:d=!1}){if(this.initUiDataObject(mxUiData),!o&&n&&(n=!1),s){const e=s.canvas;store.state.MxFun.createMxObject(e,t,t=>{let n=new MxDrawObject(t);t.setIniset({EnableOsnapFunction:!0}),r&&r(n,{canvas:e,canvasParent:void 0})},void 0,n,o,s)}else if(d){const t=createCanvas(e),n=createCanvasParent(t);n.parentNode&&11!=n.parentNode.nodeType||document.body.appendChild(n);let o=!0;store.state.MxFun.createMxObject(e,"",e=>{let o=new MxDrawObject(e);e.setMouseRightRotate(!1),e.setIniset({EnableOsnapFunction:!0}),e.addEvent("onResize",()=>(n.tabindex=3,{width:n.clientWidth,height:n.clientHeight})),a&&useCanvasResizeListener(o,t),r&&r(o,{canvas:t,canvasParent:n})},o,!1,!1,void 0,d)}else{const s=createCanvas(e),d=createCanvasParent(s);d.parentNode&&11!=d.parentNode.nodeType||document.body.appendChild(d);let c=void 0;u&&(c=!0,o=!0),store.state.MxFun.createMxObject(e,t,e=>{let t=new MxDrawObject(e);if(u){const t=2;0==i.length&&(i="invalidUserIdentity"),e.initRunMode(t),e.initUserLoginData(i,"")}e.setMouseRightRotate(!1),e.setIniset({EnableOsnapFunction:!0}),e.addEvent("onResize",()=>(d.tabindex=3,{width:d.clientWidth,height:d.clientHeight})),a&&useCanvasResizeListener(t,s),r&&r(t,{canvas:s,canvasParent:d})},c,n,o,void 0)}}setMxServer(e="ws://localhost:5090"){store.state.MxFun.setMxServer(e)}enablStaticLoad(e){store.state.MxFun.enablStaticLoad(e)}setStaticServer(e){store.state.MxFun.setStaticServer(e)}addCommand(e,t){store.state.MxFun.addCommand(e,t)}sendStringToExecute(e,...t){return store.state.MxFun.sendStringToExecute(e,...t)}call(e,t,r){return store.state.MxFun.call(e,t,r)}getCurrentDraw(){return new MxDrawObject(store.state.MxFun.getCurrentDraw())}getCurrentDatabase(){let e=store.state.MxFun.getCurrentDraw();return new MxDbDatabase(e.getMxDatabase())}screenCoordLong2World(e){return store.state.MxFun.screenCoordLong2World(e)}screenCoordLong2Doc(e){return store.state.MxFun.screenCoordLong2Doc(e)}docCoordLong2Screen(e){return store.state.MxFun.docCoordLong2Screen(e)}worldCoordLong2Doc(e){return store.state.MxFun.worldCoordLong2Doc(e)}docCoordLong2World(e){return store.state.MxFun.docCoordLong2World(e)}screenCoord2World(e,t,r){return store.state.MxFun.screenCoord2World(e,t,r)}worldCoord2Screen(e,t,r){return store.state.MxFun.worldCoord2Screen(e,t,r)}docCoord2World(e,t,r){return store.state.MxFun.docCoord2World(e,t,r)}worldCoord2Doc(e,t,r){return store.state.MxFun.worldCoord2Doc(e,t,r)}screenCoord2Doc(e,t){return store.state.MxFun.screenCoord2Doc(e,t,0)}docCoord2Screen(e,t){return store.state.MxFun.docCoord2Screen(e,t,0)}updateDisplay(){return store.state.MxFun.updateDisplay()}addWindowsEvent(e){return store.state.MxFun.addWindowsEvent(e)}isRunningCommand(){return store.state.MxFun.isRunningCommand()}zoomW(e,t,r,n,o){return store.state.MxFun.zoomW(e,t,r,n,o)}showLayer(e,t,r){return store.state.MxFun.showLayer(e,t,r)}getCurrentMxCAD(){let e=store.state.MxFun.getCurrentMxCAD();return new MxCADObject(e)}getQueryString(e){return store.state.MxFun.getQueryString(e)}setIniset(e){return store.state.MxFun.setIniset(e)}upDisplayForLayerData(e){return store.state.MxFun.upDisplayForLayerData(e)}initUiDataObject(e){return mxUiData=e,store.state.MxFun.initUiDataObject(e)}getUIData(){return mxUiData}testMX(e){return 11}loadImageMaterial(e,t){return t?(store.state.MxFun.loadImageMaterial(e,t),new Promise((e,t)=>{e(null)})):new Promise((t,r)=>{store.state.MxFun.loadImageMaterial(e,e=>{t(e||null)})})}openFile(e,t=!1){return store.state.MxFun.openFile(e,t)}addToCurrentSpace(e){return this.getCurrentDraw().addMxEntity(e)}selectEnt(e,t=null){return new Promise((r,n)=>{const o=new MrxDbgUiPrPoint;o.setMessage(e),o.go(e=>{if(0!=e)return void r(0);const n=o.value();let a=this.getCurrentDraw().findMxEntityAtPoint(n),s=0;for(;0!=a.length;){let e=a.length;for(let r=0;r