UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 16.9 kB
(function(r,R){typeof exports=="object"&&typeof module<"u"?R(exports,require("vue"),require("lodash-es"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../../designer/checkbox/index.umd.js"),require("../../designer/checkbox-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../../designer/data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../events-editor/index.umd.js"),require("../filter-bar/index.umd.js"),require("../field-selector/index.umd.js"),require("../binding-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../../designer/input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../order/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../pagination/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../../designer/radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../transfer/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../event-parameter/index.umd.js"),require("../filter-condition-editor/index.umd.js"),require("../fieldset/index.umd.js"),require("../sort-condition-editor/index.umd.js"),require("../menu-lookup/index.umd.js"),require("../drawer/index.umd.js"),require("../json-editor/index.umd.js"),require("../property-editor/index.umd.js"),require("../expression-editor/index.umd.js"),require("../code-editor/index.umd.js"),require("../html-template/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../accordion/index.umd.js","../avatar/index.umd.js","../../designer/button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../../designer/checkbox/index.umd.js","../../designer/checkbox-group/index.umd.js","../combo-list/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../../designer/data-grid/index.umd.js","../dropdown/index.umd.js","../dynamic-form/index.umd.js","../events-editor/index.umd.js","../filter-bar/index.umd.js","../field-selector/index.umd.js","../binding-selector/index.umd.js","../image-cropper/index.umd.js","../../designer/input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../number-spinner/index.umd.js","../order/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../pagination/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../../designer/radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../transfer/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../tree-grid/index.umd.js","../event-parameter/index.umd.js","../filter-condition-editor/index.umd.js","../fieldset/index.umd.js","../sort-condition-editor/index.umd.js","../menu-lookup/index.umd.js","../drawer/index.umd.js","../json-editor/index.umd.js","../property-editor/index.umd.js","../expression-editor/index.umd.js","../code-editor/index.umd.js","../html-template/index.umd.js"],R):(r=typeof globalThis<"u"?globalThis:r||self,R(r["dynamic-view"]={},r.Vue,r.LodashES,r.FAccordion,r.FAvatar,r.FButtonEdit,r.FButtonGroup,r.FCalendar,r.FCapsule,r.FCheckbox,r.FCheckboxGroup,r.FComboList,r.FComboTree,r.FComponent,r.FColorPicker,r.FContentContainer,r.FDatePicker,r.FDataGrid,r.FDropdown,r.FDynamicForm,r.FEventsEditor,r.FFilterBar,r.FFieldSelector,r.FBindingSelector,r.FImageCropper,r.FInputGroup,r.FLayout,r.FListNav,r.FListView,r.FLookup,r.FMappingEditor,r.FNav,r.FNumberRange,r.FNumberSpinner,r.FOrder,r.FPageHeader,r.FPageFooter,r.FPagination,r.FProgress,r.FQuerySolution,r.FRadioGroup,r.FRate,r.FResponseToolbar,r.FResponseLayout,r.FResponseLayoutEditorSetting,r.FSearchBox,r.FSection,r.FSmokeDetector,r.FSplitter,r.FStep,r.FSwitch,r.FTabs,r.FTags,r.FText,r.FTimePicker,r.FTransfer,r.FTreeview,r.FUploader,r.FVerifyDetail,r.FVideo,r.FTextArea,r.FSchemaSelector,r.FTreeGrid,r.FEventParameter,r.FFilterConditionEditor,r.FFieldset,r.FSortConditionEditor,r.FMenuLookup,r.FDrawer,r.FJsonEditor,r.FPropertyEditor,r.FExpressionEditor,r.FCodeEditor,r.FHtmlTemplate))})(this,function(r,R,A,Y,Z,w,S,ee,re,U,H,ne,te,ie,se,oe,ue,de,ce,pe,me,ae,fe,le,je,xe,ge,ye,Fe,qe,ve,Pe,Ee,Ce,ke,Ve,Re,Te,Me,he,Oe,be,Ae,De,Ke,Ie,Le,Ne,Be,$e,Ge,Ue,He,We,_e,Je,Qe,ze,Xe,Ye,Ze,we,Se,er,rr,nr,tr,ir,sr,or,ur,dr,cr,pr){"use strict";const W={schema:{type:Object,default:null},modelValue:{type:Object,default:null},callback:{type:Function,default:()=>{}}},t={},i={},s={},n={};let _=!1;function J(){_||(_=!0,Z.register(t,i,s,n),Y.register(t,i,s,n),w.register(t,i,s,n),S.register(t,i,s,n),ee.register(t,i,s,n),re.register(t,i,s,n),U.register(t,i,s,n),H.register(t,i,s,n),U.register(t,i,s,n),H.register(t,i,s,n),ne.register(t,i,s,n),te.register(t,i,s,n),ie.register(t,i,s,n),oe.register(t,i,s,n),se.register(t,i,s,n),ue.register(t,i,s,n),de.register(t,i,s,n),ce.register(t,i,s,n),pe.register(t,i,s,n),me.register(t,i,s,n),dr.register(t,i,s,n),ae.register(t,i,s,n),fe.register(t,i,s,n),rr.register(t,i,s,n),je.register(t,i,s,n),xe.register(t,i,s,n),ge.register(t,i,s,n),Fe.register(t,i,s,n),ye.register(t,i,s,n),qe.register(t,i,s,n),ve.register(t,i,s,n),Pe.register(t,i,s,n),Ee.register(t,i,s,n),Ce.register(t,i,s,n),ke.register(t,i,s,n),Ve.register(t,i,s,n),Re.register(t,i,s,n),Te.register(t,i,s,n),Me.register(t,i,s,n),he.register(t,i,s,n),Oe.register(t,i,s,n),be.register(t,i,s,n),De.register(t,i,s,n),Ke.register(t,i,s,n),Ae.register(t,i,s,n),we.register(t,i,s),Ie.register(t,i,s,n),Le.register(t,i,s,n),Ne.register(t,i,s,n),Be.register(t,i,s,n),$e.register(t,i,s,n),Ge.register(t,i,s,n),tr.register(t,i,s,n),Ue.register(t,i,s,n),He.register(t,i,s,n),We.register(t,i,s,n),_e.register(t,i,s,n),Je.register(t,i,s,n),Qe.register(t,i,s,n),Xe.register(t,i,s,n),ze.register(t,i,s,n),Ye.register(t,i,s,n),Ze.register(t,i,s,n),Se.register(t,i,s,n),le.register(t,i,s,n),er.register(t,i,s,n),nr.register(t,i,s,n),ir.register(t,i,s,n),sr.register(t,i,s,n),or.register(t,i,s,n),ur.register(t,i,s,n),cr.register(t,i,s,n),pr.register(t,i,s,n))}function mr(m={}){function y(c,f,j,x){if(typeof j=="number")return x[c].length===j;if(typeof j=="object"){const V=Object.keys(j)[0],T=j[V];if(V==="not")return Number(x[c].length)!==Number(T);if(V==="moreThan")return Number(x[c].length)>=Number(T);if(V==="lessThan")return Number(x[c].length)<=Number(T)}return!1}function g(c,f,j,x){return x[c]&&x[c].propertyValue&&String(x[c].propertyValue.value)===String(j)}const F=new Map([["length",y],["getProperty",g]]);Object.keys(m).reduce((c,f)=>(c.set(f,m[f]),c),F);function C(c,f){const j=c;return typeof f=="number"?[{target:j,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:j,operator:"getProperty",param:c,value:!!f}]:typeof f=="object"?Object.keys(f).map(x=>{if(x==="length")return{target:j,operator:"length",param:null,value:f[x]};const V=x,T=f[x];return{target:j,operator:"getProperty",param:V,value:T}}):[]}function a(c){return Object.keys(c).reduce((j,x)=>{const V=C(x,c[x]);return j.push(...V),j},[])}function l(c,f){if(F.has(c.operator)){const j=F.get(c.operator);return j&&j(c.target,c.param,c.value,f)||!1}return!1}function E(c,f){return a(c).reduce((V,T)=>V&&l(T,f),!0)}function q(c,f){const j=Object.keys(c),x=j.includes("allOf"),V=j.includes("anyOf"),T=x||V,b=(T?c[T?x?"allOf":"anyOf":"allOf"]:[c]).map(B=>E(B,f));return x?!b.includes(!1):b.includes(!0)}return{parseValueSchema:q}}mr();function ar(){function m(y,g){const{id:F}=y||{},{field:C}=y.binding||{};return{modelValue:g.getValue(F),"onUpdate:modelValue":a=>{g.setValue(F,C,a)}}}return{resolve:m}}function fr(){return(m,y,g)=>{const F=y.id,{type:C}=y,a=m.emits;return a?a.filter(l=>l!=="update:modelValue").reduce((l,E)=>{const q=`on${E.charAt(0).toUpperCase()}${E.slice(1)}`;return l[q]=(...c)=>{g.dispatch(F,E,C,c)},l},{}):{}}}function lr(m,y){function g(F,C,a,l){m.emit("event",{token:F,name:C,type:a,payloads:l,schema:y})}return{dispatch:g}}function jr(){const m=new Map;function y(q,c){m.set(q,c)}function g(q){const c=m.get(q);return c||(console.warn(`Instance with id ${q} not found`),null)}function F(q){m.delete(q)}function C(q,c){if(!m.has(q)){console.warn(`Instance with id ${q} not found`);return}m.set(q,c)}function a(q){return m.has(q)}function l(){return new Map(m)}function E(){m.clear()}return{register:y,get:g,remove:F,update:C,has:a,getAll:l,clear:E}}function xr(m,y){function g(C){return m.value&&m.value[C]}function F(C,a,l){m.value&&(m.value[C]=l),y.emit("update:modelValue",{elementId:C,field:a,value:l,modelValue:m.value})}return{getValue:g,setValue:F}}function Q(m){function y(){var g,F;return((F=(g=m==null?void 0:m.module)==null?void 0:g.entity[0])==null?void 0:F.entities[0])||{}}return{getSchemaEntity:y}}function gr(m){const{getSchemaEntity:y}=Q(m);function g(a){const l=y();return C(l,a)}function F(a){var f,j;const l=[];function E(x,V){var K;const T=[...V,x.label];(((K=a==null?void 0:a.type)==null?void 0:K.primary)||null)&&l.push({bindingPaths:T,primaryKey:x.type.primary,label:x.label}),x.type.entities.forEach(b=>{E(b,T)})}return(((f=a==null?void 0:a.type)==null?void 0:f.primary)||null)&&(l.push({bindingPaths:[],primaryKey:a.type.primary,label:a.label}),(((j=a==null?void 0:a.type)==null?void 0:j.entities)||[]).forEach(x=>{E(x,[])})),l}function C(a,l,E=!0){const q=E?[]:[a.label];if(a.label===l)return{bindingPaths:q,primaryKey:a.type.primary,label:a.label};for(const c of a.type.entities){const f=C(c,l,!1);if(f)return{bindingPaths:[...q,...f.bindingPaths],primaryKey:f.primaryKey,label:f.label}}return null}return{resolveEntityByDataSource:g,resolveEntity:C,resolveEntities:F}}function yr(m){const y={},{getSchemaEntity:g}=Q(m),{resolveEntities:F}=gr(m);function C(){const l=g();F(l).forEach(q=>{const c="/"+q.bindingPaths.join("/"),{primaryKey:f}=q,j={primaryKey:f,bindingPath:c,label:q.label,currentId:null};y[c]=j})}function a(l){return Array.isArray(l)?l="/"+l.join("/"):l="/"+l.split("/").filter(E=>E).join("/"),y[l]}return{setup:C,get:a}}function Fr(m){function y(g,F){return m(g,F)}return{call:y}}const L=R.defineComponent({name:"FDynamicView",props:W,emits:["update:modelValue","event","componentReady"],setup(m,y){const g=R.ref(m.schema),F=R.ref(m.modelValue),C=R.ref(m.callback),a=new Map,l=new Map;J();const E=jr(),q=xr(F,y),c=yr(g.value);c.setup();const f=new Map;function j(e){const o=e.type,{dataSource:u,binding:p}=e;if(!u&&!p)return{};u&&l.set(u,e);const d=n[o];return(d&&d.bindingResolver?d.bindingResolver:ar()).resolve(e,q)}function x(e){const o={};return e&&Object.entries(e).forEach(([u,p])=>{o[u]=()=>Array.isArray(p)?p.map(d=>b(d)):b(p)}),o}function V(e){const o=e.type,u=n[o];if(!u||Object.keys(u).length<1)return{};const{callbackResolver:p,editorResolver:d}=u,v=Fr(C.value);if(d){const h=d.resolve(e).type,O=n[h],{callbackResolver:M}=O||{};return M?M.resolve(e,v):{}}return p?p.resolve(e,v):{}}function T(e){const o=e.type,u=lr(y,e),p=t[o],d=fr(),v=n[o],P=v?v.editorResolver:null;if(P){const M=P.resolve(e).type,k=t[M];return d?d(k,e,u):{}}return d?d(p,e,u):{}}function I(e){return{}}function K(e){const o=e.type,u=i[o],p=u?u(e):{},d={...T(e)},v={...V(e)};return{props:{...{...p,...j(e),...I()},key:e.id,ref:O=>{O&&e.id&&!E.has(e.id)&&(E.register(e.id,O),y.emit("componentReady",{ref:R.ref(O),id:e.id,type:e.type}))}},eventProps:d,callbackProps:v}}function b(e){var P,h,O;const o=e.type;if(o==="component-ref"){const M=(h=(P=g.value)==null?void 0:P.module)==null?void 0:h.components.find(k=>k.id===e.component);if(M)return b(M)}e.id&&a.set(e.id,e);const u=t[o];if(!u)return null;const p=()=>e.contents?typeof e.contents=="string"?e.contents:e.contents.map(M=>b(M)):null,d=(M,k,D)=>D&&D.length>0?R.createVNode(M,{...k},D):R.createVNode(M,{...k},null),v=((O=f.get(e.id))==null?void 0:O.props)||{};return e.contents&&e.contents.length>0?d(u,v,[p()]):e.slots?d(u,v,[...Object.values(x(e.slots))]):d(u,v)}function N(e){e.$forceUpdate&&e.$forceUpdate()}function B(e){return a.get(e)}function vr(e,o){const u=a.get(e);if(!u)return;const p=E.get(e);if(!p)return;A.merge(u,o);const d=u.type,v=n[d],P=v?v.updateColumnsResolver:null;P&&P.updateColumns(p,u),N(p)}function Pr(e){var o;return(o=f.get(e))==null?void 0:o.props}function Er(e,o){const u=f.get(e);A.mergeWith(u==null?void 0:u.props,o,X)}function Cr(e,o,...u){const p=E.get(e);if(p){if(!p||typeof p[o]!="function")throw new Error(`Method ${o} not found on instance ${e}`);return p[o](...u)}}function kr(e,o){const u=c.get(e);if(!u)return;const p=u.label,d=l.get(p);if(!d)return;const v=d.type,P=n[v],h=P?P.selectionItemResolver:null;if(h){const O=E.get(d.id);h.selectItemById(O,o)}}function $(e){var O,M;const o=e.type;if(o==="component-ref"){const k=(M=(O=g.value)==null?void 0:O.module)==null?void 0:M.components.find(D=>D.id===e.component);if(k)return $(k)}if(!t[o])return;const{props:p,eventProps:d,callbackProps:v}=K(e),P=n[o],h=P?P.editorResolver:null;if(h){const k=h.resolve(e);Object.assign(k,d,v)}else Object.assign(p,d,v);if(p&&Object.keys(p).length>0){const k=f.get(e.id);k?A.merge(k==null?void 0:k.props,p):f.set(e.id,R.reactive({props:p}))}!e.contents||!Array.isArray(e.contents)||e.contents.forEach(k=>$(k))}function Vr(e,o){const u=i[e];return u?u(o,!1):{}}function G(e){var d,v;const o=e.type;if(o==="component-ref"){const P=(v=(d=g.value)==null?void 0:d.module)==null?void 0:v.components.find(h=>h.id===e.component);if(P)return G(P)}if(!t[o])return;const p=j(e);if(p&&Object.keys(p).length>0){const P=f.get(e.id);P?A.merge(P==null?void 0:P.props,p):f.set(e.id,R.reactive({props:p}))}!e.contents||!Array.isArray(e.contents)||e.contents.forEach(P=>G(P))}function z(){var u,p;const e=(p=(u=g.value)==null?void 0:u.module)==null?void 0:p.components;if(!e||e.length<1)return null;const o=e.find(d=>d.componentType&&d.componentType.toLowerCase()==="frame");return o||null}function X(e,o){if(Array.isArray(e)&&Array.isArray(o)){const u=new Map;return e.forEach(d=>{d.id!=null&&u.set(d.id,d)}),o.forEach(d=>{if(d.id!=null){const v=u.get(d.id);v?u.set(d.id,A.mergeWith(v,d,X)):u.set(d.id,A.cloneDeep(d))}}),Array.from(u.values())}}return R.watch(()=>m.modelValue,e=>{F.value=e;const o=z();o&&G(o)}),R.watch(()=>m.schema,e=>{g.value=e;const o=z();o&&$(o)}),y.expose({componentManager:E,rerender:N,getProps:Pr,invoke:Cr,setProps:Er,selectItemById:kr,getSchema:B,setSchema:vr,convertPartialSchemaToProps:Vr}),()=>{var u,p;const e=(p=(u=g.value)==null?void 0:u.module)==null?void 0:p.components;if(!e||e.length<1)return null;const o=e.find(d=>d.componentType&&d.componentType.toLowerCase()==="frame");return o?b(o):null}}}),qr={install(m){m.component(L.name,L)}};r.FDynamicView=L,r.componentMap=t,r.componentPropsConverter=i,r.default=qr,r.dynamicViewProps=W,r.loadRegister=J,r.resolverMap=n,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});