@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 8.88 kB
JavaScript
(function(b,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],d):(b=typeof globalThis<"u"?globalThis:b||self,d(b["smoke-detector"]={},b.Vue,b.LodashES))})(this,function(b,d,D){"use strict";const $={},j={};function w(r){const{properties:e,title:s,ignore:t}=r,o=t&&Array.isArray(t),l=Object.keys(e).reduce((u,h)=>((!o||!t.find(P=>P===h))&&(u[h]=e[h].type==="object"&&e[h].properties?w(e[h]):D.cloneDeep(e[h].default)),u),{});if(s&&(!o||!t.find(u=>u==="id"))){const u=s.toLowerCase().replace(/-/g,"_");l.id=`${u}_${Math.random().toString().slice(2,6)}`}return l}function F(r){const{properties:e,title:s,required:t}=r;if(t&&Array.isArray(t)){const o=t.reduce((l,u)=>(l[u]=e[u].type==="object"&&e[u].properties?w(e[u]):D.cloneDeep(e[u].default),l),{});if(s&&t.find(l=>l==="id")){const l=s.toLowerCase().replace(/-/g,"_");o.id=`${l}_${Math.random().toString().slice(2,6)}`}return o}return{type:s}}function B(r,e={},s){const t=$[r];if(t){let o=F(t);const l=j[r];return o=l?l({getSchemaByType:B},o,e,s):o,o}return null}function L(r,e){const s=w(e);return Object.keys(s).reduce((t,o)=>(Object.prototype.hasOwnProperty.call(r,o)&&(t[o]&&D.isPlainObject(t[o])&&D.isPlainObject(r[o]||!r[o])?Object.assign(t[o],r[o]||{}):t[o]=r[o]),t),s),s}function N(r,e){return Object.keys(r).filter(t=>r[t]!=null).reduce((t,o)=>{if(e.has(o)){const l=e.get(o);if(typeof l=="string")t[l]=r[o];else{const u=l(o,r[o],r);Object.assign(t,u)}}else t[o]=r[o];return t},{})}function W(r,e,s=new Map){const t=L(r,e);return N(t,s)}function U(r={}){function e(n,a,c,p){if(typeof c=="number")return p[n].length===c;if(typeof c=="object"){const g=Object.keys(c)[0],v=c[g];if(g==="not")return Number(p[n].length)!==Number(v);if(g==="moreThan")return Number(p[n].length)>=Number(v);if(g==="lessThan")return Number(p[n].length)<=Number(v)}return!1}function s(n,a,c,p){return p[n]&&p[n].propertyValue&&String(p[n].propertyValue.value)===String(c)}const t=new Map([["length",e],["getProperty",s]]);Object.keys(r).reduce((n,a)=>(n.set(a,r[a]),n),t);function o(n,a){const c=n;return typeof a=="number"?[{target:c,operator:"length",param:null,value:Number(a)}]:typeof a=="boolean"?[{target:c,operator:"getProperty",param:n,value:!!a}]:typeof a=="object"?Object.keys(a).map(p=>{if(p==="length")return{target:c,operator:"length",param:null,value:a[p]};const g=p,v=a[p];return{target:c,operator:"getProperty",param:g,value:v}}):[]}function l(n){return Object.keys(n).reduce((c,p)=>{const g=o(p,n[p]);return c.push(...g),c},[])}function u(n,a){if(t.has(n.operator)){const c=t.get(n.operator);return c&&c(n.target,n.param,n.value,a)||!1}return!1}function h(n,a){return l(n).reduce((g,v)=>g&&u(v,a),!0)}function P(n,a){const c=Object.keys(n),p=c.includes("allOf"),g=c.includes("anyOf"),v=p||g,S=(v?n[v?p?"allOf":"anyOf":"allOf"]:[n]).map(R=>h(R,a));return p?!S.includes(!1):S.includes(!0)}return{parseValueSchema:P}}const z={},G={};U();function J(r,e,s=new Map,t=(u,h,P,n)=>h,o={},l=u=>u){return $[e.title]=e,j[e.title]=t,z[e.title]=o,G[e.title]=l,(u={},h=!0)=>{if(!h)return N(u,s);const P=W(u,e,s),n=Object.keys(r).reduce((a,c)=>(a[c]=r[c].default,a),{});return Object.assign(n,P)}}function Q(r,e){return{customClass:e.class,customStyle:e.style}}const X=new Map([["appearance",Q]]);function Y(r,e,s){return e}const Z={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/smoke-detector.schema.json",title:"smoke-detector",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for smoke-detector",type:"string"},type:{description:"The type string of smoke-detector",type:"string",default:"smoke-detector"},voltageA:{description:"A相电压",type:"number",default:-1},voltageB:{description:"B相电压",type:"number",default:-1},voltageC:{description:"C相电压",type:"number",default:-1},forwardActiveTotalPower:{description:"正向有功总电量",type:"number",default:-1},totalPositiveReactivePower:{description:"正向无功总电量",type:"number",default:-1},reverseTotalActivePower:{description:"反向有功总电量",type:"number",default:-1},reverseTotalReactivePower:{description:"反向无功总电量",type:"number",default:-1},toDeliverData:{description:"下发数据",type:"string"}},required:["id","type"]},H={title:"smoke-detector",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:[]}}}},bussinessProperties:{description:"",title:"业务属性",properties:{voltageA:{description:"A相电压",type:"number",title:"A相电压",default:-1},voltageB:{description:"B相电压",type:"number",title:"B相电压",default:-1},voltageC:{description:"C相电压",type:"number",title:"C相电压",default:-1},forwardActiveTotalPower:{description:"正向有功总电量",type:"number",title:"正向有功总电量",default:-1},totalPositiveReactivePower:{description:"正向无功总电量",type:"number",title:"正向无功总电量",default:-1},reverseTotalActivePower:{description:"反向有功总电量",type:"number",title:"反向有功总电量",default:-1},reverseTotalReactivePower:{description:"反向无功总电量",type:"number",title:"反向无功总电量",default:-1},toDeliverData:{description:"下发数据",type:"string",title:"下发数据"}}}}},T={},A=J(T,Z,X,Y,H),M=d.defineComponent({name:"FSmokeDetector",props:T,emits:[""],setup(r){return()=>d.createVNode("div",{class:"f-smoke-detector"},[d.createVNode("img",{title:"smoke-detector",src:"./image/smoke-detector-2.png"},null)])}});function K(r,e,s){var V;const t="",o="",l=d.ref();function u(){return(e==null?void 0:e.schema.componentType)!=="frame"}function h(){return!1}function P(){return(e==null?void 0:e.schema.componentType)!=="frame"}function n(){return(e==null?void 0:e.schema.componentType)==="frame"}function a(i){if(!i||!i.value)return null;if(i.value.schema&&i.value.schema.type==="component")return i.value;const m=d.ref(i==null?void 0:i.value.parent),f=a(m);return f||null}function c(i=e){var k;const{componentInstance:m,designerItemElementRef:f}=i;if(!m||!m.value)return null;const{getCustomButtons:y}=m.value;return m.value.canMove||y&&((k=y())!=null&&k.length)?f:c(i.parent)}function p(i){return!!s}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 v(){}function O(i,m){var f;!i||!m||(f=e==null?void 0:e.setupContext)==null||f.emit("dragEnd")}function E(i,m){const{componentType:f}=i;let y=B(f,i,m);const k=f.toLowerCase().replace(/-/g,"_");return y&&!y.id&&y.type===f&&(y.id=`${k}_${Math.random().toString().slice(2,6)}`),y}function S(i){}function q(...i){}function R(i){if(!i)return;const m=e==null?void 0:e.schema,{formSchemaUtils:f}=i;if(m&&f.getExpressions().length){const y=f.getExpressions().findIndex(k=>k.target===m.id);y>-1&&f.getExpressions().splice(y,1)}}function I(i){R(i),e!=null&&e.schema.contents&&e.schema.contents.map(m=>{let f=m.id;m.type==="component-ref"&&(f=m.component);const y=r.value.querySelectorAll(`#${f}-design-item`);y!=null&&y.length&&Array.from(y).map(k=>{var _;(_=k==null?void 0:k.componentInstance)!=null&&_.value.onRemoveComponent&&k.componentInstance.value.onRemoveComponent(i)})})}function ee(){}function re(i){}return l.value={canMove:u(),canSelectParent:h(),canDelete:P(),canNested:!n(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(V=e==null?void 0:e.parent)==null?void 0:V.componentInstance,schema:e==null?void 0:e.schema,styles:t,designerClass:o,canAccepts:p,getBelongedComponentInstance:a,getDraggableDesignItemElement:c,getDraggingDisplayText:g,getPropConfig:q,getDragScopeElement:v,onAcceptMovedChildElement:O,onChildElementMovedOut:S,addNewChildComponentSchema:E,triggerBelongedComponentToMoveWhenMoved:d.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:d.ref(!1),onRemoveComponent:I,getCustomButtons:ee,onPropertyChanged:re},l}const C=d.defineComponent({name:"FSmokeDetectorDesign",props:T,emits:[""],setup(r,e){const s=d.ref(),t=d.inject("design-item-context"),o=K(s,t);return d.onMounted(()=>{s.value.componentInstance=o}),e.expose(o.value),()=>d.createVNode("div",{ref:s,class:"f-smoke-detector"},[d.createVNode("img",{title:"smoke-detector",src:"../image/smoke-detector-2.png"},null)])}}),x={install(r){r.component(M.name,M)},register(r,e,s,t){r["smoke-detector"]=M,e["smoke-detector"]=A},registerDesigner(r,e,s){r["smoke-detector"]=C,e["smoke-detector"]=A}};b.SmokeDetector=M,b.default=x,b.propsResolver=A,b.smokeDetectorProps=T,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});