mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2026-07-11 21:31:26 +08:00
2 lines
7.2 KiB
JavaScript
2 lines
7.2 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{J as x,K as S,P as C,X as w,Z as T,a as E,n as D,o as O,q as k,t as A}from"./index-DMZEnoSO.js";var j=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:{default:()=>E()}},setup(e,{expose:t}){let a=e,{propsService:o,dataSourceService:p,codeBlockService:h,editorService:b}=a.services;r(`services`,a.services);let x=f([]),S=d(`codeOptions`,{}),w=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},T=g(()=>a.category===`code-block`?w(a.value):a.value||{}),E=g(()=>a.category===`code-block`?w(a.lastValue):a.lastValue||{}),O=g(()=>{if(a.height)return{height:a.height,overflow:`auto`}}),k=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,j=({curValue:e,lastValue:t,config:n})=>n?.type===`code-select`&&k(e)&&k(t)?!1:!s(e,t),M=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})}),N=e=>a.extendState(a.baseFormState||e),P=async()=>{switch(a.category){case`node`:return a.type?M(await o.getPropsConfig(a.type,{node:a.value})):[];case`data-source`:return p.getFormConfig(a.type||`base`).map(e=>`type`in e&&e.type===`tab`?{...e,active:`fields`}:e);case`code-block`:return A({paramColConfig:h.getParamsColConfig(),isDataSource:()=>!!a.dataSourceType,dataSourceType:()=>a.dataSourceType,codeOptions:S,editable:!1});default:return[]}},F=async()=>{if(a.loadConfig){x.value=await a.loadConfig({category:a.category,type:a.type,dataSourceType:a.dataSourceType,defaultLoadConfig:P});return}x.value=await P()};u([()=>a.category,()=>a.type,()=>a.dataSourceType,()=>a.loadConfig],()=>{F()},{immediate:!0});let I=m(`form`),L=g(()=>b.get(`stage`));return c(()=>{I.value&&(I.value.formState.stage=L.value,I.value.formState.services=a.services)}),t({form:I,config:x,reload:F}),(t,r)=>(n(),i(`div`,{class:`m-editor-compare-form-wrapper`,style:_(O.value)},[x.value.length?(n(),l(v(D),{key:0,ref:`form`,class:`m-editor-compare-form`,config:x.value,"init-values":T.value,"last-values":E.value,"is-compare":!0,disabled:!0,"label-width":e.labelWidth,"extend-state":N,"show-diff":j,"self-diff-field-types":e.selfDiffFieldTypes},null,8,[`config`,`init-values`,`last-values`,`label-width`,`self-diff-field-types`])):y(`v-if`,!0)],4))}}),M={key:0,class:`m-editor-history-diff-dialog-body`},N={key:0,class:`m-editor-history-diff-dialog-notice`},P={class:`m-editor-history-diff-dialog-header`},F={class:`m-editor-history-diff-dialog-target`},I={class:`m-editor-history-diff-dialog-controls`},L={class:`m-editor-history-diff-dialog-legend`},R={key:0,class:`m-editor-history-diff-dialog-tip`},z=e({name:`MEditorHistoryDiffDialog`,__name:`HistoryDiffDialog`,props:{services:{default:()=>E()},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),E=f(`before`),D=f(`form`),A={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?E.value===`current`?C.value.value:C.value.lastValue:{}),H=g(()=>C.value?E.value===`current`?C.value.currentValue||{}:C.value.value:{}),U=g(()=>E.value===`current`?`该步修改后`:`修改前`),W=g(()=>E.value===`current`?`当前`:`修改后`),G=g(()=>E.value!==`current`||!C.value?!1:s(C.value.value,C.value.currentValue)),K=null,q=()=>{d.onConfirm?.(),K?.(!0),K=null,_.value=!1},J=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(`:`)}),Y=e=>{C.value=e,E.value=`before`,D.value=`form`,_.value=!0},X=e=>(K?.(!1),K=null,new Promise(t=>{K=t,Y(e)})),Z=()=>{_.value=!1};u(_,e=>{e||(C.value=null,K?.(!1),K=null)});let Q=()=>{m(`close`)};return r({open:Y,confirm:X,close:Z}),(r,s)=>(n(),l(v(w),{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:Q},{footer:h(()=>[e.isConfirm?(n(),i(p,{key:0},[t(v(T),{size:`small`,onClick:s[2]||(s[2]=e=>_.value=!1)},{default:h(()=>[...s[10]||(s[10]=[o(`取消`,-1)])]),_:1}),t(v(T),{size:`small`,type:`primary`,onClick:q},{default:h(()=>[...s[11]||(s[11]=[o(`确定回滚`,-1)])]),_:1})],64)):(n(),l(v(T),{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`,M,[e.onConfirm?(n(),i(`div`,N,`仅回滚有差异的字段`)):y(`v-if`,!0),b(`div`,P,[b(`span`,F,a(J.value),1),b(`div`,I,[t(v(k),{modelValue:D.value,"onUpdate:modelValue":s[0]||(s[0]=e=>D.value=e),size:`small`,class:`m-editor-history-diff-dialog-view`},{default:h(()=>[t(v(x),{value:`form`},{default:h(()=>[...s[5]||(s[5]=[o(`表单对比`,-1)])]),_:1}),t(v(x),{value:`code`},{default:h(()=>[...s[6]||(s[6]=[o(`源码对比`,-1)])]),_:1})]),_:1},8,[`modelValue`]),t(v(k),{modelValue:E.value,"onUpdate:modelValue":s[1]||(s[1]=e=>E.value=e),size:`small`,class:`m-editor-history-diff-dialog-mode`},{default:h(()=>[t(v(x),{value:`before`},{default:h(()=>[...s[7]||(s[7]=[o(`与修改前对比`,-1)])]),_:1}),t(v(x),{value:`current`,disabled:!B.value},{default:h(()=>[...s[8]||(s[8]=[o(`与当前对比`,-1)])]),_:1},8,[`disabled`])]),_:1},8,[`modelValue`])])]),b(`div`,L,[t(v(S),{size:`small`,type:`danger`},{default:h(()=>[o(a(U.value),1)]),_:1}),s[9]||(s[9]=b(`span`,{class:`m-editor-history-diff-dialog-arrow`},`→`,-1)),t(v(S),{size:`small`,type:`success`},{default:h(()=>[o(a(W.value),1)]),_:1}),E.value===`current`&&G.value?(n(),i(`span`,R,` 当前值与该步修改后一致,无差异 `)):y(`v-if`,!0)]),D.value===`form`?(n(),l(j,{key:1,category:C.value.category,type:C.value.type,"data-source-type":C.value.dataSourceType,value:H.value,"last-value":V.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(O,{key:2,type:`diff`,language:`json`,"init-values":V.value,"modified-values":H.value,options:A,"disabled-full-screen":``,height:`70vh`},null,8,[`init-values`,`modified-values`]))])):y(`v-if`,!0)]),_:1},8,[`modelValue`,`title`,`width`]))}});export{z as default};
|
||
//# sourceMappingURL=HistoryDiffDialog-DNVKbQtY.js.map
|