@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 14 kB
JavaScript
(function(V,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):(V=typeof globalThis<"u"?globalThis:V||self,t(V["verify-detail"]={},V.Vue,V.LodashES))})(this,function(V,t,j){"use strict";var se=Object.defineProperty;var ae=(V,t,j)=>t in V?se(V,t,{enumerable:!0,configurable:!0,writable:!0,value:j}):V[t]=j;var U=(V,t,j)=>ae(V,typeof t!="symbol"?t+"":t,j);const H={},F={};function B(r){const{properties:e,title:o,ignore:i}=r,a=i&&Array.isArray(i),p=Object.keys(e).reduce((d,v)=>((!a||!i.find(b=>b===v))&&(d[v]=e[v].type==="object"&&e[v].properties?B(e[v]):j.cloneDeep(e[v].default)),d),{});if(o&&(!a||!i.find(d=>d==="id"))){const d=o.toLowerCase().replace(/-/g,"_");p.id=`${d}_${Math.random().toString().slice(2,6)}`}return p}function W(r){const{properties:e,title:o,required:i}=r;if(i&&Array.isArray(i)){const a=i.reduce((p,d)=>(p[d]=e[d].type==="object"&&e[d].properties?B(e[d]):j.cloneDeep(e[d].default),p),{});if(o&&i.find(p=>p==="id")){const p=o.toLowerCase().replace(/-/g,"_");a.id=`${p}_${Math.random().toString().slice(2,6)}`}return a}return{type:o}}function _(r,e={},o){const i=H[r];if(i){let a=W(i);const p=F[r];return a=p?p({getSchemaByType:_},a,e,o):a,a}return null}function z(r,e){const o=B(e);return Object.keys(o).reduce((i,a)=>(Object.prototype.hasOwnProperty.call(r,a)&&(i[a]&&j.isPlainObject(i[a])&&j.isPlainObject(r[a]||!r[a])?Object.assign(i[a],r[a]||{}):i[a]=r[a]),i),o),o}function C(r,e){return Object.keys(r).filter(i=>r[i]!=null).reduce((i,a)=>{if(e.has(a)){const p=e.get(a);if(typeof p=="string")i[p]=r[a];else{const d=p(a,r[a],r);Object.assign(i,d)}}else i[a]=r[a];return i},{})}function G(r,e,o=new Map){const i=z(r,e);return C(i,o)}function J(r={}){function e(l,u,f,y){if(typeof f=="number")return y[l].length===f;if(typeof f=="object"){const N=Object.keys(f)[0],w=f[N];if(N==="not")return Number(y[l].length)!==Number(w);if(N==="moreThan")return Number(y[l].length)>=Number(w);if(N==="lessThan")return Number(y[l].length)<=Number(w)}return!1}function o(l,u,f,y){return y[l]&&y[l].propertyValue&&String(y[l].propertyValue.value)===String(f)}const i=new Map([["length",e],["getProperty",o]]);Object.keys(r).reduce((l,u)=>(l.set(u,r[u]),l),i);function a(l,u){const f=l;return typeof u=="number"?[{target:f,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:f,operator:"getProperty",param:l,value:!!u}]:typeof u=="object"?Object.keys(u).map(y=>{if(y==="length")return{target:f,operator:"length",param:null,value:u[y]};const N=y,w=u[y];return{target:f,operator:"getProperty",param:N,value:w}}):[]}function p(l){return Object.keys(l).reduce((f,y)=>{const N=a(y,l[y]);return f.push(...N),f},[])}function d(l,u){if(i.has(l.operator)){const f=i.get(l.operator);return f&&f(l.target,l.param,l.value,u)||!1}return!1}function v(l,u){return p(l).reduce((N,w)=>N&&d(w,u),!0)}function b(l,u){const f=Object.keys(l),y=f.includes("allOf"),N=f.includes("anyOf"),w=y||N,O=(w?l[w?y?"allOf":"anyOf":"allOf"]:[l]).map(m=>v(m,u));return y?!O.includes(!1):O.includes(!0)}return{parseValueSchema:b}}const Q={},X={};J();function Y(r,e,o=new Map,i=(d,v,b,l)=>v,a={},p=d=>d){return H[e.title]=e,F[e.title]=i,Q[e.title]=a,X[e.title]=p,(d={},v=!0)=>{if(!v)return C(d,o);const b=G(d,e,o),l=Object.keys(r).reduce((u,f)=>(u[f]=r[f].default,u),{});return Object.assign(l,b)}}function Z(r,e){return{customClass:e.class,customStyle:e.style}}const K=new Map([["appearance",Z]]);function x(r,e,o){return e}const I={$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"]},ee={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:[]}}}}}},E={showType:{type:String,default:""},showList:{type:Boolean,default:!1},verifyList:{type:Array,default:[]},verifyType:{type:Array,default:[]},customClass:{type:String,default:""},maxHeight:{type:Number,default:200},onValidatorClick:{type:Function}},R=Y(E,I,K,x,ee),P=t.defineComponent({name:"FVerifyDetail",props:E,emits:["validatorClick","listshow"],setup(r,e){let o=[];const i=t.ref(r.showList);t.watch(()=>r.showList,()=>{i.value=r.showList});const a=t.ref(r.verifyType);t.watch(()=>r.verifyType,()=>{a.value=r.verifyType});function p(){i.value=!i.value,e.emit("listshow",i.value)}function d(s){var m;!s&&a.value&&a.value.length>0&&(s=a.value[0].type),(m=a.value)==null||m.forEach(T=>{T.active=T.type===s})}function v(s){s=s||o[0].type,o.forEach(m=>{m.show=m.type===s})}function b(s){s.length<=0||(d(s.type),v(s.type))}function l(){i.value=!1,e.emit("listshow",!1)}function u(s){var m;(m=r.onValidatorClick)==null||m.call(r,s)}function f(s){return t.createVNode("li",{class:"f-verify-list",onClick:()=>u(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("div",{class:"list-title",title:s.title},[s.title]),t.createVNode("div",{class:"list-msg",title:s.msg},[s.msg])])])}function y(){return o.map(s=>t.createVNode("ul",{class:["f-verify-list-content",{active:s.show}]},[s.list&&s.list.map(m=>f(m))]))}const N=t.computed(()=>{var s;return((s=r.verifyList)==null?void 0:s.length)>0});function w(s){return{btn:!0,"verify-title-btn":!0,"f-state-selected":s.active,disabled:s.length<=0}}const S=t.computed(()=>{var s;return(s=a.value)==null?void 0:s.map(m=>t.createVNode("button",{class:w(m),onClick:()=>b(m)},[m.title,t.createVNode("span",null,[m.length])]))}),M=t.computed(()=>{var s;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"},[(s=r.verifyList)==null?void 0:s.length])])});function O(){var m;const s=[];a.value&&((m=a.value)!=null&&m.length)&&(a.value.map(T=>{const L={list:T.type==="all"?r.verifyList:[],show:!1,type:T.type};s.push(L)}),s.map((T,L)=>{const $=r.verifyList.filter(k=>k.type===T.type);s[L].list=L!==0?$:s[L].list}),a.value.map((T,L)=>{T.length=s[L].list.length})),o=s}return t.onBeforeMount(()=>{O(),v(r.showType),d(r.showType)}),()=>t.createVNode("div",{class:N.value?`f-verify-detail ${r.customClass}`:""},[N.value?t.createVNode("div",{class:"f-verify-detail-content"},[M.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"},[S.value]),t.createVNode("div",{class:"f-verify-close",onClick:l},[t.createVNode("span",{class:"f-icon f-icon-close"},null)])]),t.createVNode("div",{class:"f-verify-forms-list",style:{maxHeight:r.maxHeight+"px"}},[y()])])])])]):null])}});function te(r,e,o){t.createApp({setup(){return t.onUnmounted(()=>{e&&e()}),()=>t.createVNode(P,r,null)}}).mount(o)}class q{static show(e,o){this.clear();let i=0;this.verifyContainer=document.createElement("div"),o?(i=o.offsetHeight-110,o.appendChild(this.verifyContainer)):(i=document.documentElement.clientHeight-110,document.body.appendChild(this.verifyContainer)),e.maxHeight=e.maxHeight?e.maxHeight:i,te(e,this.clear,this.verifyContainer)}static clear(){let e=this.verifyContainer;e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}U(q,"verifyContainer",null);function ne(r,e,o){var k;const i="",a="",p=t.ref();function d(){return(e==null?void 0:e.schema.componentType)!=="frame"}function v(){return!1}function b(){return(e==null?void 0:e.schema.componentType)!=="frame"}function l(){return(e==null?void 0:e.schema.componentType)==="frame"}function u(n){if(!n||!n.value)return null;if(n.value.schema&&n.value.schema.type==="component")return n.value;const c=t.ref(n==null?void 0:n.value.parent),h=u(c);return h||null}function f(n=e){var D;const{componentInstance:c,designerItemElementRef:h}=n;if(!c||!c.value)return null;const{getCustomButtons:g}=c.value;return c.value.canMove||g&&((D=g())!=null&&D.length)?h:f(n.parent)}function y(n){return!!o}function N(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function w(){}function S(n,c){var h;!n||!c||(h=e==null?void 0:e.setupContext)==null||h.emit("dragEnd")}function M(n,c){const{componentType:h}=n;let g=_(h,n,c);const D=h.toLowerCase().replace(/-/g,"_");return g&&!g.id&&g.type===h&&(g.id=`${D}_${Math.random().toString().slice(2,6)}`),g}function O(n){}function s(...n){}function m(n){if(!n)return;const c=e==null?void 0:e.schema,{formSchemaUtils:h}=n;if(c&&h.getExpressions().length){const g=h.getExpressions().findIndex(D=>D.target===c.id);g>-1&&h.getExpressions().splice(g,1)}}function T(n){m(n),e!=null&&e.schema.contents&&e.schema.contents.map(c=>{let h=c.id;c.type==="component-ref"&&(h=c.component);const g=r.value.querySelectorAll(`#${h}-design-item`);g!=null&&g.length&&Array.from(g).map(D=>{var A;(A=D==null?void 0:D.componentInstance)!=null&&A.value.onRemoveComponent&&D.componentInstance.value.onRemoveComponent(n)})})}function L(){}function $(n){}return p.value={canMove:d(),canSelectParent:v(),canDelete:b(),canNested:!l(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(k=e==null?void 0:e.parent)==null?void 0:k.componentInstance,schema:e==null?void 0:e.schema,styles:i,designerClass:a,canAccepts:y,getBelongedComponentInstance:u,getDraggableDesignItemElement:f,getDraggingDisplayText:N,getPropConfig:s,getDragScopeElement:w,onAcceptMovedChildElement:S,onChildElementMovedOut:O,addNewChildComponentSchema:M,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1),onRemoveComponent:T,getCustomButtons:L,onPropertyChanged:$},p}const re=t.defineComponent({name:"FVerifyDetailDesign",props:E,emits:["validatorClick","listshow"],setup(r,e){let o=[];const i=t.ref(r.showList),a=t.ref(r.maxHeight),p=t.ref(r.verifyList),d=t.ref(r.showType),v=t.ref(r.verifyType),b=t.ref(),l=t.inject("design-item-context"),u=ne(b,l);t.onMounted(()=>{b.value.componentInstance=u}),e.expose(u.value);function f(){i.value=!i.value,e.emit("listshow",i.value)}function y(n){var c;(c=v.value)==null||c.forEach(h=>{h.active=h.type===n})}function N(n){o.forEach(c=>{c.show=c.type===n})}function w(n){n.length<=0||(y(n.type),N(n.type))}function S(){i.value=!1,e.emit("listshow",!1)}function M(n){e.emit("validatorClick",n)}function O(n){return t.createVNode("li",{class:"f-verify-list",onClick:()=>M(n)},[t.createVNode("span",{class:["f-icon f-icon-close-outline list-icon list-error",{"list-warning":n.type==="warn"}]},null),t.createVNode("div",{class:"list-con"},[t.createVNode("p",{class:"list-title",title:n.title},[n.title]),t.createVNode("p",{class:"list-msg",title:n.msg},[n.msg])])])}function s(){return o.map(n=>t.createVNode("ul",{class:["f-verify-list-content",{active:n.show}]},[n.list&&n.list.map(c=>O(c))]))}const m=t.computed(()=>{var n;return((n=p.value)==null?void 0:n.length)>0});function T(n){return{"btn btn-secondary":!0,active:n.active,disabled:n.length<=0}}const L=t.computed(()=>{var n;return(n=v.value)==null?void 0:n.map(c=>t.createVNode("button",{class:T(c),onClick:()=>w(c)},[c.title,t.createVNode("span",null,[c.length])]))}),$=t.computed(()=>{var n;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"},[(n=p.value)==null?void 0:n.length])])});function k(){var c;const n=[];v.value&&((c=v.value)!=null&&c.length)&&(v.value.map(h=>{const g={list:h.type==="all"?p.value:[],show:!1,type:h.type};n.push(g)}),n.map((h,g)=>{const D=p.value.filter(A=>A.type===h.type);n[g].list=g!==0?D:n[g].list}),v.value.map((h,g)=>{h.length=n[g].list.length})),o=n}return t.onBeforeMount(()=>{k(),N(d.value),y(d.value)}),()=>t.createVNode("div",{ref:b},[m.value?t.createVNode("div",{class:"f-verify-detail"},[t.createVNode("div",{class:"f-verify-detail-content"},[$.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:S},[t.createVNode("span",{class:"f-icon f-icon-close"},null)])]),t.createVNode("div",{class:"f-verify-forms-list",style:{maxHeight:a.value+"px"}},[s()])])])])])]):null])}}),ie={install(r){r.component(P.name,P),r.provide("FVerifyDetailService",q)},register(r,e,o,i){r["verify-detail"]=P,e["verify-detail"]=R},registerDesigner(r,e,o){r["verify-detail"]=re,e["verify-detail"]=R}};V.FVerifyDetail=P,V.FVerifyDetailService=q,V.default=ie,V.propsResolver=R,V.verifyDetailProps=E,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});