mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2026-07-09 11:21:10 +08:00
2 lines
7.4 KiB
JavaScript
2 lines
7.4 KiB
JavaScript
import{Dt as e,Et as t,Gt as n,Kt as r,St as i,Tn as a,Tt as o,a as s,an as c,bt as l,in as u,jt as d,mn as f,mt as p,nn as m,on as h,vt as g,wn as _,xn as v,xt as y,yt as b}from"./_baseUniq-C6SS-2C0.js";import{G as x,K as S,N as C,X as w,Y as T,a as E,n as D,q as O,t as k}from"./index-C0itqHWB.js";var A=e({name:`MEditorCompareForm`,__name:`CompareForm`,props:{value:{},lastValue:{},type:{},category:{default:`node`},dataSourceType:{},labelWidth:{default:`120px`},height:{},extendState:{type:Function,default:e=>e},baseFormState:{},selfDiffFieldTypes:{},loadConfig:{},services:{}},setup(e,{expose:t}){let a=e;r(`services`,a.services);let o=f([]),p=d(`codeOptions`,{}),h=e=>{if(!e)return{};let t={...e};if(t.content&&typeof t.content!=`string`)try{t.content=t.content.toString()}catch{t.content=``}return t},b=g(()=>a.category===`code-block`?h(a.value):a.value||{}),x=g(()=>a.category===`code-block`?h(a.lastValue):a.lastValue||{}),S=g(()=>{if(a.height)return{height:a.height,overflow:`auto`}}),w=e=>e===``||e==null||Array.isArray(e)&&e.length===0?!0:typeof e==`object`&&e.hookType===C.CODE&&Array.isArray(e.hookData)&&e.hookData.length===0,T=({curValue:e,lastValue:t,config:n})=>n?.type===`code-select`&&w(e)&&w(t)?!1:!s(e,t),E=e=>e.map(e=>!(`type`in e)||e?.type!==`tab`||!Array.isArray(e.items)?e:{...e,items:e.items.map(e=>e?.title!==`样式`||!Array.isArray(e.items)?e:{...e,display:!0})}),O=e=>a.extendState(a.baseFormState||e),A=async()=>{if(!a.services)return[];switch(a.category){case`node`:return a.type?E(await a.services.propsService.getPropsConfig(a.type,{node:a.value})):[];case`data-source`:return a.services.dataSourceService.getFormConfig(a.type||`base`).map(e=>`type`in e&&e.type===`tab`?{...e,active:`fields`}:e);case`code-block`:return k({paramColConfig:a.services.codeBlockService.getParamsColConfig(),isDataSource:()=>!!a.dataSourceType,dataSourceType:()=>a.dataSourceType,codeOptions:p,editable:!1});default:return[]}},j=async()=>{if(a.loadConfig){o.value=await a.loadConfig({category:a.category,type:a.type,dataSourceType:a.dataSourceType,defaultLoadConfig:A});return}o.value=await A()};u([()=>a.category,()=>a.type,()=>a.dataSourceType,()=>a.loadConfig],()=>{j()},{immediate:!0});let M=m(`form`);return c(()=>{M.value&&a.services&&(M.value.formState.stage=a.services.editorService.get(`stage`),M.value.formState.services=a.services)}),t({form:M,config:o,reload:j}),(t,r)=>(n(),i(`div`,{class:`m-editor-compare-form-wrapper`,style:_(S.value)},[o.value.length?(n(),l(v(D),{key:0,ref:`form`,class:`m-editor-compare-form`,config:o.value,"init-values":b.value,"last-values":x.value,"is-compare":!0,disabled:!0,"label-width":e.labelWidth,"extend-state":O,"show-diff":T,"self-diff-field-types":e.selfDiffFieldTypes},null,8,[`config`,`init-values`,`last-values`,`label-width`,`self-diff-field-types`])):y(`v-if`,!0)],4))}}),j={key:0,class:`m-editor-history-diff-dialog-body`},M={key:0,class:`m-editor-history-diff-dialog-notice`},N={class:`m-editor-history-diff-dialog-header`},P={class:`m-editor-history-diff-dialog-target`},F={class:`m-editor-history-diff-dialog-controls`},I={class:`m-editor-history-diff-dialog-legend`},L={key:0,class:`m-editor-history-diff-dialog-tip`},R=e({name:`MEditorHistoryDiffDialog`,__name:`HistoryDiffDialog`,props:{services:{},extendState:{},loadConfig:{},width:{default:`900px`},isConfirm:{type:Boolean},onConfirm:{},selfDiffFieldTypes:{},compareFormState:{}},emits:[`close`],setup(e,{expose:r,emit:c}){let d=e,m=c,_=f(!1),C=f(null),D=f(`before`),k=f(`form`),R={readOnly:!0,tabSize:2,minimap:{enabled:!1},renderSideBySide:!0,useInlineViewWhenSpaceIsLimited:!1,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0}},z=g(()=>d.onConfirm?`确认回滚`:`查看修改差异`),B=g(()=>C.value?.currentValue!==void 0&&C.value?.currentValue!==null),V=g(()=>C.value?.value!==void 0&&C.value?.value!==null),H=e=>e===`current`?B.value:V.value,U=e=>e&&H(e)?e:!V.value&&B.value?`current`:`before`,W=g(()=>C.value?D.value===`current`?C.value.value:C.value.lastValue:{}),G=g(()=>C.value?D.value===`current`?C.value.currentValue||{}:C.value.value:{}),K=g(()=>D.value===`current`?`该步修改后`:`修改前`),q=g(()=>D.value===`current`?`当前`:`修改后`),J=g(()=>D.value!==`current`||!C.value?!1:s(C.value.value,C.value.currentValue)),Y=null,X=()=>{d.onConfirm?.(),Y?.(!0),Y=null,_.value=!1},Z=g(()=>{if(!C.value)return``;let e={node:`节点`,"data-source":`数据源`,"code-block":`代码块`},{category:t}=C.value,n=t?e[t]:``,r=C.value.targetLabel||C.value.type||``,{id:i}=C.value;return[n,i!==void 0&&i!==``?`${r}(${i})`:r].filter(Boolean).join(`:`)}),Q=e=>{C.value=e,D.value=U(e.mode),k.value=`form`,_.value=!0},$=e=>(Y?.(!1),Y=null,new Promise(t=>{Y=t,Q(e)})),ee=()=>{_.value=!1};u(_,e=>{e||(C.value=null,Y?.(!1),Y=null)});let te=()=>{m(`close`)};return r({open:Q,confirm:$,close:ee}),(r,s)=>(n(),l(v(T),{modelValue:_.value,"onUpdate:modelValue":s[4]||(s[4]=e=>_.value=e),class:`m-editor-history-diff-dialog`,title:z.value,top:`5vh`,"destroy-on-close":``,"append-to-body":``,width:e.width,onClose:te},{footer:h(()=>[e.isConfirm?(n(),i(p,{key:0},[t(v(w),{size:`small`,onClick:s[2]||(s[2]=e=>_.value=!1)},{default:h(()=>[...s[10]||(s[10]=[o(`取消`,-1)])]),_:1}),t(v(w),{size:`small`,type:`primary`,onClick:X},{default:h(()=>[...s[11]||(s[11]=[o(`确定回滚`,-1)])]),_:1})],64)):(n(),l(v(w),{key:1,size:`small`,onClick:s[3]||(s[3]=e=>_.value=!1)},{default:h(()=>[...s[12]||(s[12]=[o(`关闭`,-1)])]),_:1}))]),default:h(()=>[C.value&&_.value?(n(),i(`div`,j,[e.onConfirm?(n(),i(`div`,M,`仅回滚有差异的字段`)):y(`v-if`,!0),b(`div`,N,[b(`span`,P,a(Z.value),1),b(`div`,F,[t(v(S),{modelValue:k.value,"onUpdate:modelValue":s[0]||(s[0]=e=>k.value=e),size:`small`,class:`m-editor-history-diff-dialog-view`},{default:h(()=>[t(v(O),{value:`form`},{default:h(()=>[...s[5]||(s[5]=[o(`表单对比`,-1)])]),_:1}),t(v(O),{value:`code`},{default:h(()=>[...s[6]||(s[6]=[o(`源码对比`,-1)])]),_:1})]),_:1},8,[`modelValue`]),t(v(S),{modelValue:D.value,"onUpdate:modelValue":s[1]||(s[1]=e=>D.value=e),size:`small`,class:`m-editor-history-diff-dialog-mode`},{default:h(()=>[t(v(O),{value:`before`,disabled:!V.value},{default:h(()=>[...s[7]||(s[7]=[o(`与修改前对比`,-1)])]),_:1},8,[`disabled`]),t(v(O),{value:`current`,disabled:!B.value},{default:h(()=>[...s[8]||(s[8]=[o(`与当前对比`,-1)])]),_:1},8,[`disabled`])]),_:1},8,[`modelValue`])])]),b(`div`,I,[t(v(x),{size:`small`,type:`danger`},{default:h(()=>[o(a(K.value),1)]),_:1}),s[9]||(s[9]=b(`span`,{class:`m-editor-history-diff-dialog-arrow`},`→`,-1)),t(v(x),{size:`small`,type:`success`},{default:h(()=>[o(a(q.value),1)]),_:1}),D.value===`current`&&J.value?(n(),i(`span`,L,` 当前值与该步修改后一致,无差异 `)):y(`v-if`,!0)]),k.value===`form`?(n(),l(A,{key:1,category:C.value.category,type:C.value.type,"data-source-type":C.value.dataSourceType,value:G.value,"last-value":W.value,"base-form-state":e.compareFormState,"extend-state":e.extendState,"load-config":e.loadConfig,"self-diff-field-types":e.selfDiffFieldTypes,services:d.services,height:`70vh`},null,8,[`category`,`type`,`data-source-type`,`value`,`last-value`,`base-form-state`,`extend-state`,`load-config`,`self-diff-field-types`,`services`])):(n(),l(E,{key:2,type:`diff`,language:`json`,"init-values":W.value,"modified-values":G.value,options:R,"disabled-full-screen":``,height:`70vh`},null,8,[`init-values`,`modified-values`]))])):y(`v-if`,!0)]),_:1},8,[`modelValue`,`title`,`width`]))}});export{R as default};
|
||
//# sourceMappingURL=HistoryDiffDialog-DQ9VUUNo.js.map
|