@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 9.97 kB
JavaScript
(function(h,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../designer-canvas/index.umd.js"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../designer-canvas/index.umd.js","../dynamic-form/index.umd.js"],e):(h=typeof globalThis<"u"?globalThis:h||self,e(h["page-footer"]={},h.Vue,h.LodashES,h.designerCanvas,h.dynamicForm))})(this,function(h,e,v,I,E){"use strict";const L={},B={};function k(r){const{properties:t,title:l,ignore:n}=r,a=n&&Array.isArray(n),f=Object.keys(t).reduce((u,m)=>((!a||!n.find(j=>j===m))&&(u[m]=t[m].type==="object"&&t[m].properties?k(t[m]):v.cloneDeep(t[m].default)),u),{});if(l&&(!a||!n.find(u=>u==="id"))){const u=l.toLowerCase().replace(/-/g,"_");f.id=`${u}_${Math.random().toString().slice(2,6)}`}return f}function D(r,t){const l=k(t);return Object.keys(l).reduce((n,a)=>(Object.prototype.hasOwnProperty.call(r,a)&&(n[a]&&v.isPlainObject(n[a])&&v.isPlainObject(r[a]||!r[a])?Object.assign(n[a],r[a]||{}):n[a]=r[a]),n),l),l}function q(r,t){return Object.keys(r).filter(n=>r[n]!=null).reduce((n,a)=>{if(t.has(a)){const f=t.get(a);if(typeof f=="string")n[f]=r[a];else{const u=f(a,r[a],r);Object.assign(n,u)}}else n[a]=r[a];return n},{})}function _(r,t,l=new Map){const n=D(r,t);return q(n,l)}function W(r={}){function t(o,c,s,i){if(typeof s=="number")return i[o].length===s;if(typeof s=="object"){const g=Object.keys(s)[0],C=s[g];if(g==="not")return Number(i[o].length)!==Number(C);if(g==="moreThan")return Number(i[o].length)>=Number(C);if(g==="lessThan")return Number(i[o].length)<=Number(C)}return!1}function l(o,c,s,i){return i[o]&&i[o].propertyValue&&String(i[o].propertyValue.value)===String(s)}const n=new Map([["length",t],["getProperty",l]]);Object.keys(r).reduce((o,c)=>(o.set(c,r[c]),o),n);function a(o,c){const s=o;return typeof c=="number"?[{target:s,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:s,operator:"getProperty",param:o,value:!!c}]:typeof c=="object"?Object.keys(c).map(i=>{if(i==="length")return{target:s,operator:"length",param:null,value:c[i]};const g=i,C=c[i];return{target:s,operator:"getProperty",param:g,value:C}}):[]}function f(o){return Object.keys(o).reduce((s,i)=>{const g=a(i,o[i]);return s.push(...g),s},[])}function u(o,c){if(n.has(o.operator)){const s=n.get(o.operator);return s&&s(o.target,o.param,o.value,c)||!1}return!1}function m(o,c){return f(o).reduce((g,C)=>g&&u(C,c),!0)}function j(o,c){const s=Object.keys(o),i=s.includes("allOf"),g=s.includes("anyOf"),C=i||g,N=(C?o[C?i?"allOf":"anyOf":"allOf"]:[o]).map(F=>m(F,c));return i?!N.includes(!1):N.includes(!0)}return{parseValueSchema:j}}const z={},G={};W();function J(r,t,l=new Map,n=(u,m,j,o)=>m,a={},f=u=>u){return L[t.title]=t,B[t.title]=n,z[t.title]=a,G[t.title]=f,(u={},m=!0)=>{if(!m)return q(u,l);const j=_(u,t,l),o=Object.keys(r).reduce((c,s)=>(c[s]=r[s].default,c),{});return Object.assign(o,j)}}function Q(r,t){return{customClass:t.class,customStyle:t.style}}const U=new Map([["appearance",Q]]),X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-footer.schema.json",title:"page-footer",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a page-footer",type:"string"},type:{description:"The type string of page-footer component",type:"string",default:"page-footer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function Y(r,t,l){return t}const Z={title:"page-footer",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:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},P={customClass:{type:String,default:""},enableCollapse:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!0},collapsedText:{type:String,default:"More"},expandedText:{type:String,default:"More"},contentClass:{type:String,default:""},headerClass:{type:String,default:""},headerContentClass:{type:String,default:""},headerToolbarClass:{type:String,default:""},showHeader:{type:String,default:!1}},w=J(P,X,U,Y,Z),H=e.defineComponent({name:"FPageFooter",props:P,emits:[],setup(r,t){const l=e.ref(r.collapsed),n=e.computed(()=>r.collapsedText),a=e.ref(r.contentClass),f=e.computed(()=>r.enableCollapse),u=e.computed(()=>r.expandedText),m=e.ref(r.headerClass),j=e.ref(r.headerContentClass),o=e.ref(r.headerToolbarClass),c=e.computed(()=>r.showHeader),s=e.ref(r.customClass);function i(d){d&&d.stopImmediatePropagation(),l.value=!l.value}function g(){return f.value&&e.createVNode("div",{class:"toolbar--collapse",onClick:d=>i(d)},[e.createVNode("span",{class:"toobar--collapse-text"},[l.value?u.value:n.value]),e.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const C=e.computed(()=>{const d={"f-toolbar":!0};return o.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function A(){return e.createVNode("div",{class:C.value},[t.slots.headerToolbar&&t.slots.headerToolbar(),!t.slots.headerToolbar&&g()])}const M=e.computed(()=>{const d={"f-content":!0};return j.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function N(){return e.createVNode(e.Fragment,null,[t.slots.headerContent&&e.createVNode("div",{class:M.value},[t.slots.headerContent()]),A()])}const x=e.computed(()=>{const d={"f-cmp-footer-header":!0};return m.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function F(){return e.createVNode("header",{class:x.value},[t.slots.header&&t.slots.header(),!t.slots.header&&N()])}const R=e.computed(()=>{const d={"f-cmp-footer":!0,"f-state-collapse":f.value&&l.value,"f-cmp-footer-accordion":f.value};return s.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d}),$=e.computed(()=>{const d={"f-cmp-footer-content":!0};return a.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});return()=>e.createVNode("div",{class:R.value},[e.createVNode("footer",{class:"f-cmp-footer-container"},[c.value&&F(),e.createVNode("div",{class:$.value},[t.slots.default&&t.slots.default()])])])}}),K=e.defineComponent({name:"FPageFooterDesign",props:P,emits:[],setup(r,t){const l=e.ref(r.collapsed),n=e.ref(r.collapsedText),a=e.ref(r.contentClass),f=e.ref(r.enableCollapse),u=e.ref(r.expandedText),m=e.ref(r.headerClass),j=e.ref(r.headerContentClass),o=e.ref(r.headerToolbarClass),c=e.ref(r.showHeader),s=e.ref(),i=e.inject("design-item-context"),g=e.inject("designer-host-service"),C=E.useDesignerRules(i,g),A=I.useDesignerComponent(s,i,C);e.onMounted(()=>{s.value.componentInstance=A}),t.expose(A.value);function M(p){p&&p.stopImmediatePropagation(),l.value=!l.value}function N(){return f.value&&e.createVNode("div",{class:"toolbar--collapse",onClick:p=>M(p)},[e.createVNode("span",{class:"toobar--collapse-text"},[l.value?u.value:n.value]),e.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const x=e.computed(()=>{const p={"f-toolbar":!0};return o.value.split(" ").reduce((b,O)=>(b[O]=!0,b),p),p});function F(){return e.createVNode("div",{class:x.value},[t.slots.headerToolbar&&t.slots.headerToolbar(),!t.slots.headerToolbar&&N()])}const R=e.computed(()=>{const p={"f-content":!0};return j.value.split(" ").reduce((b,O)=>(b[O]=!0,b),p),p});function $(){return e.createVNode(e.Fragment,null,[t.slots.headerContent&&e.createVNode("div",{class:R.value},[t.slots.headerContent()]),F()])}const d=e.computed(()=>{const p={"f-cmp-footer-header":!0};return m.value.split(" ").reduce((b,O)=>(b[O]=!0,b),p),p});function V(){return e.createVNode("header",{class:d.value},[t.slots.header&&t.slots.header(),!t.slots.header&&$()])}const y=e.computed(()=>{const p={"f-cmp-footer":!0,"f-state-collapse":f.value&&l.value,"f-cmp-footer-accordion":f.value};return m.value.split(" ").reduce((b,O)=>(b[O]=!0,b),p),p}),T=e.computed(()=>{const p={"f-cmp-footer-content":!0};return a.value.split(" ").reduce((b,O)=>(b[O]=!0,b),p),p});return()=>e.createVNode("div",{ref:s,class:y.value},[e.createVNode("footer",{class:"f-cmp-footer-container"},[c.value&&V(),e.createVNode("div",{class:T.value},[t.slots.default&&t.slots.default()])])])}}),ee={install(r){r.component(H.name,H)},register(r,t,l,n){r["page-footer"]=H,t["page-footer"]=w},registerDesigner(r,t,l){r["page-footer"]=K,t["page-footer"]=w}};h.FPageFooter=H,h.default=ee,h.pageFooterProps=P,h.propsResolver=w,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});