UNPKG

jobsys-newbie

Version:

Enhanced component based on ant-design-vue

3 lines (2 loc) 6.47 kB
import{_ as B,O as p,r as h,a_ as x,az as O,bA as N,bp as P,o as I,c as k,b4 as W,bq as q,ac as z,av as G,d as v}from"./app-e5356031.js";import{b as K}from"./NewbieProvider-45d73778.js";import{b as J,h as D,F as Q}from"./index-16cac109.js";import{S as X,u as Y}from"./network-3dbc60ad.js";import{i as y}from"./isString-dfb8fe43.js";import{m as d}from"./index-b4cb0b96.js";import{a0 as Z,a1 as j,a as w,$ as L,i as ee}from"./compact-item-45f3d050.js";import{i as te}from"./isUndefined-aa0326a0.js";var oe="[object Boolean]";function ne(e){return e===!0||e===!1||Z(e)&&j(e)==oe}const{STATE_CODE_FAIL:ae,STATE_CODE_INFO_NOT_COMPLETE:re,STATE_CODE_NOT_FOUND:le,STATE_CODE_NOT_ALLOWED:se,STATE_CODE_SUCCESS:$}=X;function ie(e,o){const{status:i}=e,l=e.result,t={};t.default="请求失败, 请检查数据并重试",t[ae]="系统错误,请稍候再试",t[le]="请求的内容不存在",t[re]="信息不完整",t[se]="没有权限";const u={[$]:"success"},c=o[i]||o[u[i]]||t[i]||t.def;y(c)?i===$?d.success(c):d.error(l||c):w(c)&&c()}function ue(e,o){ie(e,{success:o})}function Fe(e){e&&e.errorFields?e.errorFields.forEach(o=>{d.error(o.errors.join(" "))}):e&&e.response||d.error("请检查填写项")}function Se(e,o){const i=J(e);o=o||{};const l=t=>{var u,c;for(let n in t){let f;if(D.isDayjs(t[n])?f=t[n]:Object.prototype.toString.call(t[n])==="[object Date]"&&(f=D(t[n])),f&&o.date){y(o.date)?t[n]=f.format(o.date):w(o.date)?t[n]=o.date(f):t[n]=t[n].unix();continue}if(ne(t[n])&&o.boolean){o.boolean===!0?t[n]=t[n]?1:0:Array.isArray(o.boolean)&&(t[n]=t[n]?((u=o.boolean)==null?void 0:u[0])||1:((c=o.boolean)==null?void 0:c[1])||0);continue}if(o.attachment){const a=o.attachment;if(L(t[n])&&y(a)&&!te(t[n][a])){t[n]=t[n][a];continue}else if(L(t[n])&&w(a)){t[n]=a(t[n]);continue}}if(ee(t[n]))for(let a in t[n])t[n][a]=l(t[n][a])}return t};return l(i)}function g(e){let o=`请使用 '@${e}' 事件,不要放在 props 中`;return o+=` Please use '@${e}' event instead of props`,o}const ce=p({props:{mode:{type:String,default:"default"},defaultContent:{type:Array,default:()=>[]},defaultHtml:{type:String,default:""},defaultConfig:{type:Object,default:()=>({})},modelValue:{type:String,default:""}},emits:["update:modelValue","onCreated","onChange","onDestroyed","onMaxLength","onFocus","onBlur","customAlert","customPaste"],setup(e,o){const i=h(null),l=x(null),t=h(""),u=n=>{if(!i.value)return;const f=W(e.defaultContent);n({selector:i.value,mode:e.mode,content:f||[],html:e.defaultHtml||e.modelValue||"",config:{...e.defaultConfig,onCreated(a){if(l.value=a,o.emit("onCreated",a),e.defaultConfig.onCreated){const s=g("onCreated");throw new Error(s)}},onChange(a){const s=a.getHtml();if(t.value=s,o.emit("update:modelValue",s),o.emit("onChange",a),e.defaultConfig.onChange){const m=g("onChange");throw new Error(m)}},onDestroyed(a){if(o.emit("onDestroyed",a),e.defaultConfig.onDestroyed){const s=g("onDestroyed");throw new Error(s)}},onMaxLength(a){if(o.emit("onMaxLength",a),e.defaultConfig.onMaxLength){const s=g("onMaxLength");throw new Error(s)}},onFocus(a){if(o.emit("onFocus",a),e.defaultConfig.onFocus){const s=g("onFocus");throw new Error(s)}},onBlur(a){if(o.emit("onBlur",a),e.defaultConfig.onBlur){const s=g("onBlur");throw new Error(s)}},customAlert(a,s){if(o.emit("customAlert",a,s),e.defaultConfig.customAlert){const m=g("customAlert");throw new Error(m)}},customPaste:(a,s)=>{if(e.defaultConfig.customPaste){const _=g("customPaste");throw new Error(_)}let m;return o.emit("customPaste",a,s,_=>{m=_}),m}}})};function c(n){const f=l.value;f!=null&&f.setHtml(n)}return O(()=>{N(()=>import("./index.esm-e5c14dab.js"),[]).then(n=>{u(n.createEditor)})}),P(()=>e.modelValue,n=>{n!==t.value&&c(n)}),{box:i}}}),fe={ref:"box",style:{height:"100%"}};function de(e,o,i,l,t,u){return I(),k("div",fe,null,512)}const me=B(ce,[["render",de],["__file","WangEditor.vue"]]),ge=p({props:{editor:{type:Object,default:()=>null},mode:{type:String,default:"default"},defaultConfig:{type:Object,default:()=>({})}},setup(e){const o=h(null),i=l=>{if(o.value){if(l==null)throw new Error("Not found instance of Editor when create <Toolbar/> component");N(()=>import("./index.esm-e5c14dab.js"),[]).then(t=>{t.DomEditor.getToolbar(l)||t.createToolbar({editor:l,selector:o.value||"<div></div>",mode:e.mode,config:e.defaultConfig})})}};return O(()=>{q(()=>{const{editor:l}=e;l!=null&&i(l)})}),{selector:o}}}),he={ref:"selector"};function Ce(e,o,i,l,t,u){return I(),k("div",he,null,512)}const _e=B(ge,[["render",Ce],["__file","WangToolbar.vue"]]);const Ae=p({name:"NewbieEditor",props:{value:{type:String,default:""},placeholder:{type:String,default:"请输入内容..."},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},config:{type:Object,default:()=>({toolbarConfig:{},editorConfig:{}})}},emits:["update:value"],setup(e,{emit:o,expose:i}){var F,S;const l=Q.useInjectFormItemContext(),t=x(),u=h(""),c=h({excludeKeys:["group-video","emotion"],...(F=e.config)==null?void 0:F.toolbarConfig}),{uploadUrl:n}=z(K,()=>({})),f=h({placeholder:e.placeholder,readOnly:e.disabled||e.readonly,MENU_CONF:{uploadImage:{async customUpload(r,C){const A=new FormData;A.append("file",r);try{let E=await Y().post(n,A);ue(E,()=>{const{url:U,alt:M,href:R}=E.result;C(U,M,R)})}catch(E){console.log(E)}}}},...(S=e.config)==null?void 0:S.editorConfig}),a=r=>{t.value&&t.value.setHtml(r)};G(()=>{const r=t.value;r!=null&&r.destroy()}),P(()=>e.value,r=>{r!==u.value&&t.value&&a(r)});const s=r=>{t.value=r,a(e.value),r.on("fullScreen",()=>{document.body.classList.add("fullscreen")}),r.on("unFullScreen",()=>{document.body.classList.remove("fullscreen")}),!e.disabled&&!e.readonly&&(T.value=V())},m=r=>{let C=r.getHtml();r.isEmpty()&&(C=""),C!==e.value&&(o("update:value",C),l.onFieldChange())},_=async(r,C)=>{switch(C){case"success":d.success(r);break;case"info":d.info(r);break;case"warning":d.warning(r);break;case"error":d.error(r);break;default:d.info(r);break}};i({setContent:a});const T=h(),b=h(),V=()=>{var r;return(r=t==null?void 0:t.value)!=null&&r.destroy?v(_e,{editor:t.value,defaultConfig:c.value,style:"border-bottom: 1px solid #f0f0f0"},null):v("div",null,null)},H=()=>v(me,{modelValue:u.value,"onUpdate:modelValue":r=>u.value=r,defaultConfig:f.value,style:"height: 400px; overflow-y: hidden",onOnChange:m,onOnCreated:s,onCustomAlert:_},null);return O(()=>{b.value=H()}),()=>v("div",{style:"border: 1px solid #f0f0f0"},[T.value,b.value])}});export{Ae as N,Se as a,Fe as b,ne as i,ue as u};