useSync.hook-4ea0eef2.js 4.5 KB

1
  1. var D=Object.defineProperty,G=Object.defineProperties;var k=Object.getOwnPropertyDescriptors;var _=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var M=(t,e,n)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,g=(t,e)=>{for(var n in e||(e={}))H.call(e,n)&&M(t,n,e[n]);if(_)for(var n of _(e))J.call(e,n)&&M(t,n,e[n]);return t},T=(t,e)=>G(t,k(e));var p=(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 K,as as $,aI as u,aV as E,cy as x,cz as j,I as U,aH as q,a4 as z,cA as Q,X,cr as P,aR as I,aS as O}from"./index-044fcea6.js";import{u as W,a as Y,P as C,f as S,C as N,g as Z}from"./chartEditStore-5b626e9c.js";import{u as b,C as F}from"./chartLayoutStore-fd1db715.js";import{f as tt,d as et,e as at}from"./index-1ad9294e.js";import{b as ot,u as nt,s as rt,f as it}from"./project.api-d0c67421.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:{[I.ON_CLICK]:void 0,[I.ON_DBL_CLICK]:void 0,[I.ON_MOUSE_ENTER]:void 0,[I.ON_MOUSE_LEAVE]:void 0},advancedEvents:{[O.VNODE_MOUNTED]:void 0,[O.VNODE_BEFORE_MOUNT]:void 0},interactEvents:[]}),t}}catch(n){return t}},l=(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})},vt=()=>{const t=W(),e=Y();K();const n=b(),s=(a,d=!1,f=!1)=>p(void 0,null,function*(){d&&(t.componentList=[],e.clearBackStack(),e.clearForwardStack()),a.editCanvasConfig=st(a.editCanvasConfig),a.componentList.forEach(o=>p(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)=>p(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?l(r,T(g({},o),{id:U()})):l(r,o)):f?t.addComponentList(l(r,T(g({},o),{id:U()})),!1,!0):t.addComponentList(l(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 v=new Z;f?v=l(v,T(g({},h),{id:U()})):v=l(v,h);const w=[];for(const V of h.groupList)yield c(V,B=>{w.push(B)});v.groupList=w,t.addComponentList(v,!1,!0)}else yield c(h);R===100&&(e.clearBackStack(),e.clearForwardStack())}}else(o===N.EDIT_CANVAS_CONFIG||o===N.REQUEST_GLOBAL_CONFIG)&&l(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=()=>p(void 0,null,function*(){t.componentList=[],t.setEditCanvas(S.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(S.SAVE_STATUS,E.SUCCESS)},1e3),t.setEditCanvas(S.SAVE_STATUS,E.FAILURE)}catch(a){t.setEditCanvas(S.SAVE_STATUS,E.FAILURE),z()}}),A=$((a=!1)=>p(void 0,null,function*(){if(!u())return;let d=t.getProjectInfo[C.PROJECT_ID];if(d===null||d===""){window.$message.error("数据初未始化成功,请刷新页面!");return}t.setEditCanvas(S.SAVE_STATUS,E.START);try{if(a){const c=document.querySelector(".go-edit-range"),o=yield x(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(S.SAVE_STATUS,E.SUCCESS)},1e3)}).catch(()=>{t.setEditCanvas(S.SAVE_STATUS,E.FAILURE)})}),3e3);return{updateComponent:s,updateStoreInfo:m,dataSyncFetch:L,dataSyncUpdate:A,intervalDataSyncUpdate:()=>{const a=setInterval(()=>{A()},Q*1e3);X(()=>{clearInterval(a)})}}};export{vt as u};