UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 14 kB
(function(N,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],t):(N=typeof globalThis<"u"?globalThis:N||self,t(N["verify-detail"]={},N.Vue,N.LodashES))})(this,function(N,t,T){"use strict";var se=Object.defineProperty;var ae=(N,t,T)=>t in N?se(N,t,{enumerable:!0,configurable:!0,writable:!0,value:T}):N[t]=T;var F=(N,t,T)=>ae(N,typeof t!="symbol"?t+"":t,T);const E={},H={};function A(n){const{properties:e,title:l,ignore:i}=n,c=i&&Array.isArray(i),u=Object.keys(e).reduce((h,y)=>((!c||!i.find(w=>w===y))&&(h[y]=e[y].type==="object"&&e[y].properties?A(e[y]):T.cloneDeep(e[y].default)),h),{});if(l&&(!c||!i.find(h=>h==="id"))){const h=l.toLowerCase().replace(/-/g,"_");u.id=`${h}_${Math.random().toString().slice(2,6)}`}return u}function C(n){const{properties:e,title:l,required:i}=n;if(i&&Array.isArray(i)){const c=i.reduce((u,h)=>(u[h]=e[h].type==="object"&&e[h].properties?A(e[h]):T.cloneDeep(e[h].default),u),{});if(l&&i.find(u=>u==="id")){const u=l.toLowerCase().replace(/-/g,"_");c.id=`${u}_${Math.random().toString().slice(2,6)}`}return c}return{type:l}}function q(n,e={},l){const i=E[n];if(i){let c=C(i);const u=H[n];return c=u?u({getSchemaByType:q},c,e,l):c,c}return null}function W(n,e){const l=A(e);return Object.keys(l).reduce((i,c)=>(Object.prototype.hasOwnProperty.call(n,c)&&(i[c]&&T.isPlainObject(i[c])&&T.isPlainObject(n[c]||!n[c])?Object.assign(i[c],n[c]||{}):i[c]=n[c]),i),l),l}function _(n,e){return Object.keys(n).filter(i=>n[i]!=null).reduce((i,c)=>{if(e.has(c)){const u=e.get(c);if(typeof u=="string")i[u]=n[c];else{const h=u(c,n[c],n);Object.assign(i,h)}}else i[c]=n[c];return i},{})}function U(n,e,l=new Map){const i=W(n,e);return _(i,l)}function z(n={}){function e(f,d,p,m){if(typeof p=="number")return m[f].length===p;if(typeof p=="object"){const g=Object.keys(p)[0],b=p[g];if(g==="not")return Number(m[f].length)!==Number(b);if(g==="moreThan")return Number(m[f].length)>=Number(b);if(g==="lessThan")return Number(m[f].length)<=Number(b)}return!1}function l(f,d,p,m){return m[f]&&m[f].propertyValue&&String(m[f].propertyValue.value)===String(p)}const i=new Map([["length",e],["getProperty",l]]);Object.keys(n).reduce((f,d)=>(f.set(d,n[d]),f),i);function c(f,d){const p=f;return typeof d=="number"?[{target:p,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:p,operator:"getProperty",param:f,value:!!d}]:typeof d=="object"?Object.keys(d).map(m=>{if(m==="length")return{target:p,operator:"length",param:null,value:d[m]};const g=m,b=d[m];return{target:p,operator:"getProperty",param:g,value:b}}):[]}function u(f){return Object.keys(f).reduce((p,m)=>{const g=c(m,f[m]);return p.push(...g),p},[])}function h(f,d){if(i.has(f.operator)){const p=i.get(f.operator);return p&&p(f.target,f.param,f.value,d)||!1}return!1}function y(f,d){return u(f).reduce((g,b)=>g&&h(b,d),!0)}function w(f,d){const p=Object.keys(f),m=p.includes("allOf"),g=p.includes("anyOf"),b=m||g,D=(b?f[b?m?"allOf":"anyOf":"allOf"]:[f]).map(L=>y(L,d));return m?!D.includes(!1):D.includes(!0)}return{parseValueSchema:w}}const G={},J={};z();function Q(n,e,l=new Map,i=(h,y,w,f)=>y,c={},u=h=>h){return E[e.title]=e,H[e.title]=i,G[e.title]=c,J[e.title]=u,(h={},y=!0)=>{if(!y)return _(h,l);const w=U(h,e,l),f=Object.keys(n).reduce((d,p)=>(d[p]=n[p].default,d),{});return Object.assign(f,w)}}function X(n,e){return{customClass:e.class,customStyle:e.style}}const Y=new Map([["appearance",X]]);function Z(n,e,l){return e}const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/verify-detail.schema.json",title:"verify-detail",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for verify-detail",type:"string"},type:{description:"The type string of verify-detail",type:"string",default:"verify-detail"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},x={title:"verify-detail",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},$={showType:{type:String,default:""},showList:{type:Boolean,default:!1},verifyList:{type:Array,default:[{id:"111",title:"单据信息[销售组织]",msg:"字段值不能为空",type:"empty"},{id:"222",title:"单据信息[销售组织]",msg:"字段值不能为空",type:"empty"}]},verifyType:{type:Array,default:[{id:"vertifyType1",type:"all",title:"全部"},{id:"vertifyType3",type:"empty",title:"值为空"}]},customClass:{type:String,default:""},maxHeight:{type:Number,default:200}},B=Q($,K,Y,Z,x),M=t.defineComponent({name:"FVerifyDetail",props:$,emits:["validatorClick","listshow"],setup(n,e){let l=[];const i=t.ref(n.showList),c=t.ref(n.maxHeight),u=t.ref(n.verifyList),h=t.ref(n.showType),y=t.ref(n.verifyType),w=t.ref(n.customClass);function f(){i.value=!i.value,e.emit("listshow",i.value)}function d(s){var a;!s&&y.value&&y.value.length>0&&(s=y.value[0].type),(a=y.value)==null||a.forEach(r=>{r.active=r.type===s})}function p(s){s=s||l[0].type,l.forEach(a=>{a.show=a.type===s})}function m(s){s.length<=0||(d(s.type),p(s.type))}function g(){i.value=!1,e.emit("listshow",!1)}function b(s){e.emit("validatorClick",s)}function j(s){return t.createVNode("li",{class:"f-verify-list",onClick:()=>b(s)},[t.createVNode("span",{class:["f-icon f-icon-close-outline list-icon list-error",{"list-warning":s.type==="warn"}]},null),t.createVNode("div",{class:"list-con"},[t.createVNode("p",{class:"list-title",title:s.title},[s.title]),t.createVNode("p",{class:"list-msg",title:s.msg},[s.msg])])])}function O(){return l.map(s=>t.createVNode("ul",{class:["f-verify-list-content",{active:s.show}]},[s.list&&s.list.map(a=>j(a))]))}const D=t.computed(()=>{var s;return((s=u.value)==null?void 0:s.length)>0});function S(s){return{btn:!0,"verify-title-btn":!0,"f-state-selected":s.active,disabled:s.length<=0}}const L=t.computed(()=>{var s;return(s=y.value)==null?void 0:s.map(a=>t.createVNode("button",{class:S(a),onClick:()=>m(a)},[a.title,t.createVNode("span",null,[a.length])]))}),k=t.computed(()=>{var s;return t.createVNode("div",{class:"f-verify-nums",onClick:f},[t.createVNode("span",{class:"nums-icon f-icon f-icon-warning"},null),t.createVNode("span",{class:"nums-count"},[(s=u.value)==null?void 0:s.length])])});function P(){var a;const s=[];y.value&&((a=y.value)!=null&&a.length)&&(y.value.map(r=>{const o={list:r.type==="all"?u.value:[],show:!1,type:r.type};s.push(o)}),s.map((r,o)=>{const v=u.value.filter(V=>V.type===r.type);s[o].list=o!==0?v:s[o].list}),y.value.map((r,o)=>{r.length=s[o].list.length})),l=s}return t.onBeforeMount(()=>{P(),p(h.value),d(h.value)}),()=>t.createVNode("div",{class:D.value?`f-verify-detail ${w.value}`:""},[D.value?t.createVNode("div",{class:"f-verify-detail-content"},[k.value,t.createVNode("div",{class:"f-verify-form-main",hidden:!i.value},[t.createVNode("div",{class:"f-verify-form-content"},[t.createVNode("div",{class:"f-verify-form-content-arrow"},null),t.createVNode("div",{class:"f-verify-form-content-list"},[t.createVNode("div",{class:"f-verify-forms-title"},[t.createVNode("div",{class:"btn-group"},[L.value]),t.createVNode("div",{class:"f-verify-close",onClick:g},[t.createVNode("span",{class:"f-icon f-icon-close"},null)])]),t.createVNode("div",{class:"f-verify-forms-list",style:{maxHeight:c.value+"px"}},[O()])])])])]):null])}});function I(n,e,l){t.createApp({setup(){return t.onUnmounted(()=>{e&&e()}),()=>t.createVNode(M,n,null)}}).mount(l)}class R{static show(e,l){this.clear();let i=0;this.verifyContainer=document.createElement("div"),l?(i=l.offsetHeight-110,l.appendChild(this.verifyContainer)):(i=document.documentElement.clientHeight-110,document.body.appendChild(this.verifyContainer)),e.maxHeight=e.maxHeight?e.maxHeight:i,I(e,this.clear,this.verifyContainer)}static clear(){let e=this.verifyContainer;e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}F(R,"verifyContainer",null);function ee(n,e,l){var s;const i="",c="",u=t.ref();function h(){return(e==null?void 0:e.schema.componentType)!=="frame"}function y(){return!1}function w(){return(e==null?void 0:e.schema.componentType)!=="frame"}function f(){return(e==null?void 0:e.schema.componentType)==="frame"}function d(a){if(!a||!a.value)return null;if(a.value.schema&&a.value.schema.type==="component")return a.value;const r=t.ref(a==null?void 0:a.value.parent),o=d(r);return o||null}function p(a=e){var V;const{componentInstance:r,designerItemElementRef:o}=a;if(!r||!r.value)return null;const{getCustomButtons:v}=r.value;return r.value.canMove||v&&((V=v())!=null&&V.length)?o:p(a.parent)}function m(a){return!!l}function g(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function b(){}function j(a,r){var o;!a||!r||(o=e==null?void 0:e.setupContext)==null||o.emit("dragEnd")}function O(a,r){const{componentType:o}=a;let v=q(o,a,r);const V=o.toLowerCase().replace(/-/g,"_");return v&&!v.id&&v.type===o&&(v.id=`${V}_${Math.random().toString().slice(2,6)}`),v}function D(a){}function S(...a){}function L(){e!=null&&e.schema.contents&&e.schema.contents.map(a=>{let r=a.id;a.type==="component-ref"&&(r=a.component);const o=n.value.querySelectorAll(`#${r}-design-item`);o!=null&&o.length&&Array.from(o).map(v=>{var V;(V=v==null?void 0:v.componentInstance)!=null&&V.value.onRemoveComponent&&v.componentInstance.value.onRemoveComponent()})})}function k(){}function P(a){}return u.value={canMove:h(),canSelectParent:y(),canDelete:w(),canNested:!f(),contents:e==null?void 0:e.schema.contents,elementRef:n,parent:(s=e==null?void 0:e.parent)==null?void 0:s.componentInstance,schema:e==null?void 0:e.schema,styles:i,designerClass:c,canAccepts:m,getBelongedComponentInstance:d,getDraggableDesignItemElement:p,getDraggingDisplayText:g,getPropConfig:S,getDragScopeElement:b,onAcceptMovedChildElement:j,onChildElementMovedOut:D,addNewChildComponentSchema:O,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1),onRemoveComponent:L,getCustomButtons:k,onPropertyChanged:P},u}const te=t.defineComponent({name:"FVerifyDetailDesign",props:$,emits:["validatorClick","listshow"],setup(n,e){let l=[];const i=t.ref(n.showList),c=t.ref(n.maxHeight),u=t.ref(n.verifyList),h=t.ref(n.showType),y=t.ref(n.verifyType),w=t.ref(),f=t.inject("design-item-context"),d=ee(w,f);t.onMounted(()=>{w.value.componentInstance=d}),e.expose(d.value);function p(){i.value=!i.value,e.emit("listshow",i.value)}function m(r){var o;(o=y.value)==null||o.forEach(v=>{v.active=v.type===r})}function g(r){l.forEach(o=>{o.show=o.type===r})}function b(r){r.length<=0||(m(r.type),g(r.type))}function j(){i.value=!1,e.emit("listshow",!1)}function O(r){e.emit("validatorClick",r)}function D(r){return t.createVNode("li",{class:"f-verify-list",onClick:()=>O(r)},[t.createVNode("span",{class:["f-icon f-icon-close-outline list-icon list-error",{"list-warning":r.type==="warn"}]},null),t.createVNode("div",{class:"list-con"},[t.createVNode("p",{class:"list-title",title:r.title},[r.title]),t.createVNode("p",{class:"list-msg",title:r.msg},[r.msg])])])}function S(){return l.map(r=>t.createVNode("ul",{class:["f-verify-list-content",{active:r.show}]},[r.list&&r.list.map(o=>D(o))]))}const L=t.computed(()=>{var r;return((r=u.value)==null?void 0:r.length)>0});function k(r){return{"btn btn-secondary":!0,active:r.active,disabled:r.length<=0}}const P=t.computed(()=>{var r;return(r=y.value)==null?void 0:r.map(o=>t.createVNode("button",{class:k(o),onClick:()=>b(o)},[o.title,t.createVNode("span",null,[o.length])]))}),s=t.computed(()=>{var r;return t.createVNode("div",{class:"f-verify-nums",onClick:p},[t.createVNode("span",{class:"nums-icon f-icon f-icon-warning"},null),t.createVNode("span",{class:"nums-count"},[(r=u.value)==null?void 0:r.length])])});function a(){var o;const r=[];y.value&&((o=y.value)!=null&&o.length)&&(y.value.map(v=>{const V={list:v.type==="all"?u.value:[],show:!1,type:v.type};r.push(V)}),r.map((v,V)=>{const ne=u.value.filter(ie=>ie.type===v.type);r[V].list=V!==0?ne:r[V].list}),y.value.map((v,V)=>{v.length=r[V].list.length})),l=r}return t.onBeforeMount(()=>{a(),g(h.value),m(h.value)}),()=>t.createVNode("div",{ref:w},[L.value?t.createVNode("div",{class:"f-verify-detail"},[t.createVNode("div",{class:"f-verify-detail-content"},[s.value,t.createVNode("div",{class:"f-verify-form-main",hidden:!i.value},[t.createVNode("div",{class:"f-verify-form-content"},[t.createVNode("div",{class:"f-verify-form-content-arrow"},null),t.createVNode("div",{class:"f-verify-form-content-list"},[t.createVNode("div",{class:"f-verify-forms-title"},[t.createVNode("div",{class:"btn-group"},[P.value]),t.createVNode("div",{class:"f-verify-close",onClick:j},[t.createVNode("span",{class:"f-icon f-icon-close"},null)])]),t.createVNode("div",{class:"f-verify-forms-list",style:{maxHeight:c.value+"px"}},[S()])])])])])]):null])}}),re={install(n){n.component(M.name,M),n.provide("FVerifyDetailService",R)},register(n,e,l,i){n["verify-detail"]=M,e["verify-detail"]=B},registerDesigner(n,e,l){n["verify-detail"]=te,e["verify-detail"]=B}};N.FVerifyDetail=M,N.FVerifyDetailService=R,N.default=re,N.propsResolver=B,N.verifyDetailProps=$,Object.defineProperties(N,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});