var G=Object.defineProperty,D=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var _=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var M=(t,e,n)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,g=(t,e)=>{for(var n in e||(e={}))k.call(e,n)&&M(t,n,e[n]);if(_)for(var n of _(e))x.call(e,n)&&M(t,n,e[n]);return t},T=(t,e)=>D(t,H(e));var v=(t,e,n)=>new Promise((s,m)=>{var L=a=>{try{y(n.next(a))}catch(d){m(d)}},A=a=>{try{y(n.throw(a))}catch(d){m(d)}},y=a=>a.done?s(a.value):Promise.resolve(a.value).then(L,A);y((n=n.apply(t,e)).next())});import{j as J,ar as K,aH as u,aU as E,cx as $,cy as j,H as I,aG as Q,a3 as q,cz as z,W,cp as P,aQ as U,aR as O}from"./index-7f9b3dc0.js";import{u as X,a as Y,P as C,f as l,C as N,g as Z}from"./chartEditStore-a7c7155c.js";import{u as b,C as F}from"./chartLayoutStore-02530a25.js";import{f as tt,d as et,e as at}from"./index-1a7a69bd.js";import{b as ot,u as nt,s as rt,f as it}from"./project.api-ce920c4d.js";const st=t=>t,dt=(t,e)=>{try{if(e.id){const n="vnodeBeforeMount"in e.events,s="vnodeMounted"in e.events;return n&&(t.events.advancedEvents.vnodeBeforeMount=e==null?void 0:e.events.vnodeBeforeMount),s&&(t.events.advancedEvents.vnodeMounted=e==null?void 0:e.events.vnodeMounted),(n||s)&&(e.events={baseEvent:{[U.ON_CLICK]:void 0,[U.ON_DBL_CLICK]:void 0,[U.ON_MOUSE_ENTER]:void 0,[U.ON_MOUSE_LEAVE]:void 0},advancedEvents:{[O.VNODE_MOUNTED]:void 0,[O.VNODE_BEFORE_MOUNT]:void 0},interactEvents:[]}),t}}catch(n){return t}},S=(t,e,n=!1)=>{if(dt(t,e),n)return P(t,e);const s=e.option;if(!s)return P(t,e);if(e.option=void 0,s)return T(g({},P(t,e)),{option:s})},pt=()=>{const t=X(),e=Y();J();const n=b(),s=(a,d=!1,f=!1)=>v(void 0,null,function*(){d&&(t.componentList=[],e.clearBackStack(),e.clearForwardStack()),a.editCanvasConfig=st(a.editCanvasConfig),a.componentList.forEach(o=>v(void 0,null,function*(){const i=r=>{window.$vue.component(r.chartConfig.chartKey)||(window.$vue.component(r.chartConfig.chartKey,tt(r.chartConfig)),window.$vue.component(r.chartConfig.conKey,et(r.chartConfig)))};o.isGroup?o.groupList.forEach(r=>{i(r)}):i(o)}));const c=(o,i)=>v(void 0,null,function*(){let r=yield at(o.chartConfig);o.chartConfig.redirectComponent&&(o.chartConfig.dataset&&(r.option.dataset=o.chartConfig.dataset),r.chartConfig.title=o.chartConfig.title,r.chartConfig.chartFrame=o.chartConfig.chartFrame),i?i(f?S(r,T(g({},o),{id:I()})):S(r,o)):f?t.addComponentList(S(r,T(g({},o),{id:I()})),!1,!0):t.addComponentList(S(r,o),!1,!0)});for(const o in a)if(o===N.COMPONENT_LIST){let i=0;const r=a[o].length;for(const h of a[o]){let R=parseInt((parseFloat(`${++i/r}`)*100).toString());if(n.setItemUnHandle(F.PERCENTAGE,R),h.isGroup){let p=new Z;f?p=S(p,T(g({},h),{id:I()})):p=S(p,h);const w=[];for(const V of h.groupList)yield c(V,B=>{w.push(B)});p.groupList=w,t.addComponentList(p,!1,!0)}else yield c(h);R===100&&(e.clearBackStack(),e.clearForwardStack())}}else(o===N.EDIT_CANVAS_CONFIG||o===N.REQUEST_GLOBAL_CONFIG)&&S(t[o],a[o],!0);n.setItemUnHandle(F.PERCENTAGE,0)}),m=a=>{const{id:d,projectName:f,remarks:c,indexImage:o,state:i}=a;t.setProjectInfo(C.PROJECT_ID,d),t.setProjectInfo(C.PROJECT_NAME,f),t.setProjectInfo(C.REMARKS,c),t.setProjectInfo(C.THUMBNAIL,o),t.setProjectInfo(C.RELEASE,i===1)},L=()=>v(void 0,null,function*(){t.componentList=[],t.setEditCanvas(l.SAVE_STATUS,E.START);try{const a=yield it({id:u()});if(a){m(a),yield s(Q(a.content));return}else t.setProjectInfo(C.PROJECT_ID,u());return setTimeout(()=>{t.setEditCanvas(l.SAVE_STATUS,E.SUCCESS)},1e3),t.setEditCanvas(l.SAVE_STATUS,E.FAILURE)}catch(a){t.setEditCanvas(l.SAVE_STATUS,E.FAILURE),q()}}),A=K((a=!1)=>v(void 0,null,function*(){if(!u())return;let d=t.getProjectInfo[C.PROJECT_ID];if(d===null||d===""){window.$message.error("数据初未始化成功,请刷新页面!");return}t.setEditCanvas(l.SAVE_STATUS,E.START);try{if(a){const c=document.querySelector(".go-edit-range"),o=yield $(c,{backgroundColor:null,allowTaint:!0,useCORS:!0});let i=new FormData;i.append("file",j(o.toDataURL(),`${u()}_index_preview.png`));const{path:r}=yield ot(i);r&&(yield nt({id:u(),indexImage:r}))}}catch(c){console.log(c)}let f=new FormData;f.append("projectId",u()),f.append("content",JSON.stringify(t.getStorageInfo()||{})),yield rt(f).then(()=>{setTimeout(()=>{t.setEditCanvas(l.SAVE_STATUS,E.SUCCESS)},1e3)}).catch(()=>{t.setEditCanvas(l.SAVE_STATUS,E.FAILURE)})}),3e3);return{updateComponent:s,updateStoreInfo:m,dataSyncFetch:L,dataSyncUpdate:A,intervalDataSyncUpdate:()=>{const a=setInterval(()=>{A()},z*1e3);W(()=>{clearInterval(a)})}}};export{pt as u};