@farris/ui-vue 1.3.5 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/index.esm.js +16 -16
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +65 -65
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +13 -13
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +504 -490
- package/components/calendar/index.umd.cjs +1 -1
- package/components/capsule/index.esm.js +247 -233
- package/components/capsule/index.umd.cjs +1 -1
- package/components/checkbox/index.esm.js +356 -344
- package/components/checkbox/index.umd.cjs +1 -1
- package/components/color-picker/index.esm.js +159 -145
- package/components/color-picker/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +127 -128
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +15 -15
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/component/index.esm.js +101 -87
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +7 -5
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +181 -167
- package/components/content-container/index.umd.cjs +1 -1
- package/components/data-grid/index.esm.js +4057 -4304
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +2450 -2467
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +789 -777
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +3593 -3585
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/dropdown/index.esm.js +257 -243
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +322 -306
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +177 -163
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/event-parameter/index.esm.js +163 -2643
- package/components/event-parameter/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +500 -486
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +37 -37
- package/components/expression-editor/index.umd.cjs +1 -1
- package/components/external-container/index.esm.js +485 -470
- package/components/external-container/index.umd.cjs +1 -1
- package/components/field-selector/index.esm.js +2611 -2623
- package/components/field-selector/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +3825 -3837
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +3720 -3712
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +402 -388
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/input-group/index.esm.js +201 -202
- package/components/input-group/index.umd.cjs +1 -1
- package/components/layout/index.esm.js +264 -245
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +157 -143
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.esm.js +312 -296
- package/components/list-view/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +4748 -4992
- package/components/lookup/index.umd.cjs +1 -1
- package/components/mapping-editor/index.esm.js +4215 -4462
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +169 -155
- package/components/nav/index.umd.cjs +2 -2
- package/components/number-range/index.esm.js +150 -137
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +207 -194
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/order/index.esm.js +427 -414
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +22 -22
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +510 -492
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +192 -178
- package/components/pagination/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +234 -220
- package/components/progress/index.umd.cjs +3 -3
- package/components/property-editor/index.esm.js +288 -277
- package/components/property-editor/index.umd.cjs +2 -2
- package/components/property-panel/index.esm.js +62 -61
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +3015 -3027
- package/components/query-solution/index.umd.cjs +5 -5
- package/components/radio-button/index.esm.js +64 -64
- package/components/radio-button/index.umd.cjs +1 -1
- package/components/radio-group/index.esm.js +293 -280
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/rate/index.esm.js +222 -208
- package/components/rate/index.umd.cjs +1 -1
- package/components/response-layout/index.esm.js +187 -173
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +554 -542
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +483 -469
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +632 -617
- package/components/schema-selector/index.umd.cjs +2 -2
- package/components/search-box/index.esm.js +228 -214
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +419 -406
- package/components/section/index.umd.cjs +1 -1
- package/components/smoke-detector/index.esm.js +162 -148
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/splitter/index.esm.js +308 -284
- package/components/splitter/index.umd.cjs +1 -1
- package/components/step/index.esm.js +279 -265
- package/components/step/index.umd.cjs +1 -1
- package/components/switch/index.esm.js +183 -170
- package/components/switch/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +307 -294
- package/components/tabs/index.umd.cjs +1 -1
- package/components/tags/index.esm.js +320 -306
- package/components/tags/index.umd.cjs +1 -1
- package/components/text/index.esm.js +245 -231
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +260 -247
- package/components/textarea/index.umd.cjs +1 -1
- package/components/time-picker/index.esm.js +409 -396
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/transfer/index.esm.js +424 -410
- package/components/transfer/index.umd.cjs +1 -1
- package/components/tree-grid/index.esm.js +2994 -3006
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +749 -733
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +325 -311
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +304 -290
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +99 -85
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +947 -933
- package/components/weather/index.umd.cjs +4 -4
- package/farris.all.esm.js +7750 -7990
- package/farris.all.umd.cjs +12 -12
- package/package.json +1 -1
- package/types/data-view/composition/types.d.ts +0 -1
- package/types/entity-binding-selector/composition/use-entity-tree.d.ts +3 -0
- package/types/entity-binding-selector/composition/use-field-tree.d.ts +1 -0
- package/components/event-parameter/index.css +0 -1
- package/types/data-grid/src/components/data/data-grid-area.component.d.ts +0 -8
- package/types/data-grid/src/components/data/data-grid-area.props.d.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(C,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],m):(C=typeof globalThis<"u"?globalThis:C||self,m(C.avatar={},C.Vue,C.LodashES,C.dynamicResolver,C.designerCanvas,C.common))})(this,function(C,m,B,L,P,q){"use strict";var ce=Object.defineProperty;var de=(C,m,B)=>m in C?ce(C,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):C[m]=B;var h=(C,m,B)=>de(C,typeof m!="symbol"?m+"":m,B);const j={},D={};function N(i){const{properties:o,title:e,ignore:n}=i,r=n&&Array.isArray(n),s=Object.keys(o).reduce((l,y)=>((!r||!n.find(f=>f===y))&&(l[y]=o[y].type==="object"&&o[y].properties?N(o[y]):B.cloneDeep(o[y].default)),l),{});if(e&&(!r||!n.find(l=>l==="id"))){const l=e.toLowerCase().replace(/-/g,"_");s.id=`${l}_${Math.random().toString().slice(2,6)}`}return s}function H(i,o){const e=N(o);return Object.keys(e).reduce((n,r)=>(n[r]&&B.isPlainObject(n[r])&&B.isPlainObject(i[r]||!i[r])?Object.assign(n[r],i[r]||{}):n[r]=i[r],n),e),e}function U(i,o){return Object.keys(i).filter(n=>i[n]!=null).reduce((n,r)=>{if(o.has(r)){const s=o.get(r);if(typeof s=="string")n[s]=i[r];else{const l=s(r,i[r],i);Object.assign(n,l)}}else n[r]=i[r];return n},{})}function R(i,o,e=new Map){const n=H(i,o);return U(n,e)}function Q(i={}){function o(a,d,t,u){if(typeof t=="number")return u[a].length===t;if(typeof t=="object"){const c=Object.keys(t)[0],A=t[c];if(c==="not")return Number(u[a].length)!==Number(A);if(c==="moreThan")return Number(u[a].length)>=Number(A);if(c==="lessThan")return Number(u[a].length)<=Number(A)}return!1}function e(a,d,t,u){return u[a]&&u[a].propertyValue&&String(u[a].propertyValue.value)===String(t)}const n=new Map([["length",o],["getProperty",e]]);Object.keys(i).reduce((a,d)=>(a.set(d,i[d]),a),n);function r(a,d){const t=a;return typeof d=="number"?[{target:t,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:t,operator:"getProperty",param:a,value:!!d}]:typeof d=="object"?Object.keys(d).map(u=>{if(u==="length")return{target:t,operator:"length",param:null,value:d[u]};const c=u,A=d[u];return{target:t,operator:"getProperty",param:c,value:A}}):[]}function s(a){return Object.keys(a).reduce((t,u)=>{const c=r(u,a[u]);return t.push(...c),t},[])}function l(a,d){if(n.has(a.operator)){const t=n.get(a.operator);return t&&t(a.target,a.param,a.value,d)||!1}return!1}function y(a,d){return s(a).reduce((c,A)=>c&&l(A,d),!0)}function f(a,d){const t=Object.keys(a),u=t.includes("allOf"),c=t.includes("anyOf"),A=u||c,b=(A?a[A?u?"allOf":"anyOf":"allOf"]:[a]).map(k=>y(k,d));return u?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const p={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},W={},G={};Q();function O(i,o,e=new Map,n=(l,y,f,a)=>y,r={},s=l=>l){return j[o.title]=o,D[o.title]=n,W[o.title]=r,G[o.title]=s,(l={})=>{const y=R(l,o,e),f=Object.keys(i).reduce((a,d)=>(a[d]=i[d].default,a),{});return Object.assign(f,y)}}function Z(i,o,e){return o}const z=new Map([["appearance",L.resolveAppearance]]),K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/avatar.schema.json",title:"avatar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for avatar",type:"string"},type:{description:"The type string of avatar",type:"string",default:"avatar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},avatarWidth:{description:"",type:"number",default:100},avatarHeight:{description:"",type:"number",default:100},readonly:{description:"",type:"boolean",default:!1},cover:{description:"",type:"string",default:""},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding","visible"]},T={avatarWidth:{type:Number,default:100},avatarHeight:{type:Number,default:100},cover:{type:String},readonly:{type:Boolean,default:!1},shape:{type:String,default:"circle"},maxSize:{type:Number,default:1},modelValue:{type:String,default:""},title:{type:String,default:""},imageType:{type:Array,default:["jpeg"]}},V=O(T,K,z,Z);function x(i,o,e,n){const r="data:image/jpeg;base64,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",s=m.ref(i.readonly);function l(c){return c.match(/\.(jpeg|jpg|gif|png|svg|bmp|webp)$/)!=null}function y(c){return c.indexOf("data:image/")>-1}function f(c){return c?"data:image/jpeg;base64,"+c:""}const a=m.computed(()=>{var A;if(!i.imageType||!i.imageType.length)return"";const c=(A=i.imageType)==null?void 0:A.map(g=>(g==="jpg"&&(g="jpeg"),`image/${g}`));return!c||!c.length?"image/*":c.join(",")}),d=m.computed(()=>{const c=n.value||i.cover||r;return l(c)||y(c)?c:f(c)}),t=m.computed(()=>s.value?"":i.title);function u(){s.value||e&&e.value&&e.value.click()}return{acceptTypes:a,imageSource:d,imageTitle:t,onClickImage:u}}const M=m.defineComponent({name:"FAvatar",props:T,emits:["change","update:modelValue"],setup(i,o){const e=m.computed(()=>({"f-avatar":!0,"f-avatar-readonly":i.readonly,"f-avatar-circle":i.shape==="circle","f-avatar-square":i.shape==="square"})),n=m.ref(i.modelValue),r=m.computed(()=>({width:i.avatarWidth+"px",height:i.avatarHeight+"px"})),s=!1;function l(){return""}function y(){}const f=m.ref(null),{acceptTypes:a,imageSource:d,onClickImage:t}=x(i,o,f,n);return()=>m.createVNode("div",{class:e.value,style:r.value,onClick:t},[s,m.createVNode("img",{title:i.title,class:"f-avatar-image",src:d.value,onError:l},null),!i.readonly&&m.createVNode("div",{class:"f-avatar-icon"},[m.createVNode("span",{class:"f-icon f-icon-camera"},null)]),m.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:a.value,onChange:y,style:"display: none;"},null)])}});class J{constructor(o,e){h(this,"componentId");h(this,"viewModelId");h(this,"eventsEditorUtils");h(this,"formSchemaUtils");h(this,"formMetadataConverter");h(this,"designViewModelUtils");h(this,"designViewModelField");h(this,"controlCreatorUtils");h(this,"designerHostService");h(this,"schemaService",null);h(this,"metadataService",null);h(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=o,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(o))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var o;return(o=this.schemaService)==null?void 0:o.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(o){var n;const e=o.binding&&o.binding.type==="Form"&&o.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(s=>s.id===e)}o.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}changeFieldEditorType(o,e){}getBasicPropConfig(o){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:o.type,name:p[o.type].name}]}}}}}getAppearanceConfig(o=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(o,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(l=>l.id===o),s=B.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,s)}}const S=class S{static getEditorTypesByMDataType(o){const e=S.fieldControlTypeMapping[o];return e||[{key:"",value:""}]}static getAllInputTypes(){const o=[];for(const e in S.fieldControlTypeMapping)S.fieldControlTypeMapping[e].forEach(n=>{o.find(r=>r.key===n.key&&r.value===n.value)||o.push({key:n.key,value:n.value})});return o}};h(S,"fieldControlTypeMapping",{String:[{key:p["input-group"].type,value:p["input-group"].name},{key:p.lookup.type,value:p.lookup.name},{key:p["date-picker"].type,value:p["date-picker"].name},{key:p["check-box"].type,value:p["check-box"].name},{key:p["check-group"].type,value:p["check-group"].name},{key:p["radio-group"].type,value:p["radio-group"].name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p.textarea.type,value:p.textarea.name}],Text:[{key:p.textarea.type,value:p.textarea.name},{key:p.lookup.type,value:p.lookup.name}],Decimal:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Integer:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Number:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],BigNumber:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Date:[{key:p["date-picker"].type,value:p["date-picker"].name}],DateTime:[{key:p["date-picker"].type,value:p["date-picker"].name}],Boolean:[{key:p.switch.type,value:p.switch.name},{key:p["check-box"].type,value:p["check-box"].name}],Enum:[{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}],Object:[{key:p.lookup.type,value:p.lookup.name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}]});let w=S;const X=m.ref(0);class Y{constructor(){h(this,"label","");h(this,"id","");h(this,"columnInSM",12);h(this,"columnInMD",6);h(this,"columnInLG",3);h(this,"columnInEL",2);h(this,"displayWidthInSM",1);h(this,"displayWidthInMD",1);h(this,"displayWidthInLG",1);h(this,"displayWidthInEL",1);h(this,"displayColumnCountAtBreakPoint","md");h(this,"tagRow",0);h(this,"showTopBorder",0);h(this,"group",1);h(this,"isSupportedClass",!0);h(this,"fieldSetId","")}}function $(i){let o,e;const n=new Map;let r=[];function s(d,t){const c=d.split(" ").filter(I=>I.startsWith("col-"));if(c.length===0){t.isSupportedClass=!1;return}let A=c.find(I=>/^col-([1-9]|10|11|12)$/.test(I)),g=c.find(I=>/^col-md-([1-9]|10|11|12)$/.test(I)),v=c.find(I=>/^col-xl-([1-9]|10|11|12)$/.test(I)),b=c.find(I=>/^col-el-([1-9]|10|11|12)$/.test(I));A=A||"col-12",t.columnInSM=parseInt(A.replace("col-",""),10),t.displayWidthInSM=t.columnInSM/12,t.displayWidthInSM!==1&&(t.isSupportedClass=!1),g=g||"col-md-"+t.columnInSM,t.columnInMD=parseInt(g.replace("col-md-",""),10),t.displayWidthInMD=t.columnInMD/6,[1,2].includes(t.displayWidthInMD)||(t.isSupportedClass=!1),v=v||"col-xl-"+t.columnInMD,t.columnInLG=parseInt(v.replace("col-xl-",""),10),t.displayWidthInLG=t.columnInLG/3,[1,2,3,4].includes(t.displayWidthInLG)||(t.isSupportedClass=!1),b=b||"col-el-"+t.columnInLG,t.columnInEL=parseInt(b.replace("col-el-",""),10),t.displayWidthInEL=t.columnInEL/2,[1,2,3,4,5,6].includes(t.displayWidthInEL)||(t.isSupportedClass=!1)}function l(d,t,u,c=!1){let A=!1;d.contents.forEach(g=>{if(g.type==="fieldset"){u+=1,l(g,t,u,!0),A=!0;return}A&&(u+=1,A=!1);const v=g.appearance&&g.appearance.class,b=new Y;v?s(v,b):b.isSupportedClass=!1,b.label=g.label||g.id,b.id=g.id,b.group=u,c&&(b.fieldSetId=d.id),e===g.id&&(o=u),n.set(g.id,g),t.push(b)})}function y(d){const t=i.getComponentById(d);if(!t||!t.componentType||!t.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const u=i.selectNode(t,c=>c.type===P.DgControl["response-form"].type);return!u||!u.contents||u.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:u}}function f(d,t){t=t||d.id;const{result:u,message:c,formNode:A}=y(t);if(!u)return{result:u,message:c};e=d.id,r=[],n.clear();const g=A.contents[0].type===P.DgControl.fieldset.type?0:1;l(A,r,g);const v=r.find(I=>!I.isSupportedClass);return{defaultState:{defaultGroupNumber:o||1,model:v?"customize":"standard"},importData:r}}function a(d,t){t=t;const{result:u,formNode:c}=y(t);if(!u)return"";const A=[];return d.forEach(g=>{var I;const v=n.get(g.id),b=v.appearance&&v.appearance.class;if(b){const E=b.split(" ").filter(le=>!le.startsWith("col-")),F="col-"+g.columnInSM,oe="col-md-"+g.columnInMD,ie="col-xl-"+g.columnInLG,ae="col-el-"+g.columnInEL,se=[F,oe,ie,ae].concat(E);v.appearance.class=se.join(" ")}if(g.fieldSetId){const k=c.contents.find(F=>F.id===g.fieldSetId),E=A.find(F=>F.id===g.fieldSetId);E?(I=E.contents)==null||I.push(v):(A.push(k),k.contents=[v])}else A.push(v)}),c.contents=A,c.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:l}}class _ extends J{constructor(e,n){super(e,n);h(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=$(this.formSchemaUtils)}getPropertyConfig(e,n){return this.propertyConfig.categories.basic=this.getBasicProperties(e,n),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,n){var s;const r=this;return this.setDesignViewModelField(e),this.formSchemaUtils.getFormMetadataBasicInfo(),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:r.designViewModelField?w.getEditorTypesByMDataType((s=r.designViewModelField.type)==null?void 0:s.name):w.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(l,y){if(l)switch(l&&l.propertyID){case"type":{r.changeControlType(e,l,n);break}case"label":{l.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,n){const r=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(s,l){if(s)switch(s&&s.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(s.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(s.propertyValue,e.id,this.componentId),r.updateElementByParentContainer(e.id,n);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,r){var d,t,u,c;const s=n.propertyValue,l=r&&r.parent&&r.parent.schema;if(!l)return;const y=l.contents.findIndex(A=>A.id===e.id),f=l.contents[y];let a;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,s)),a||(a=this.controlCreatorUtils.createFormGroupWithoutField(s)),Object.assign(a,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(a.editor,{isTextArea:a.isTextArea&&f.isTextArea,placeholder:(d=f.editor)==null?void 0:d.placeholder,holdPlace:(t=f.editor)==null?void 0:t.holdPlace,readonly:(u=f.editor)==null?void 0:u.readonly,require:(c=f.editor)==null?void 0:c.require}),l.contents.splice(y,1),l.contents.splice(y,0,a),r.schema=Object.assign(f,a),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(A=>A.classList.remove("dgComponentSelected")),X.value++}getComponentConfig(e,n={},r={}){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},n),l=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},r);return{...s,properties:{...l}}}updateUnifiedLayoutAfterControlChanged(e,n,r){const s=e.split(" ");let l=s.find(t=>/^col-([1-9]|10|11|12)$/.test(t)),y=s.find(t=>/^col-md-([1-9]|10|11|12)$/.test(t)),f=s.find(t=>/^col-xl-([1-9]|10|11|12)$/.test(t)),a=s.find(t=>/^col-el-([1-9]|10|11|12)$/.test(t));l=l||"col-12",y=y||"col-md-"+l.replace("col-",""),f=f||"col-xl-"+y.replace("col-md-",""),a=a||"col-el-"+f.replace("col-xl-","");const d={id:n,columnInSM:parseInt(l.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,d)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const s=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,s,1),n){const A=s.find(g=>g.id===n.id);Object.assign(A||{},n)}const l=s.map(A=>A.columnInSM),y=s.map(A=>A.columnInMD),f=s.map(A=>A.columnInLG),a=s.map(A=>A.columnInEL),d=this.checkIsUniqueColumn(l)?l[0]:null,t=this.checkIsUniqueColumn(y)?y[0]:null,u=this.checkIsUniqueColumn(f)?f[0]:null,c=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:d,uniqueColClassInMD:t,uniqueColClassInLG:u,uniqueColClassInEL:c})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}}class ee extends _{constructor(o,e){super(o,e)}getEditorProperties(o){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}function te(i,o){const e=i.schema;function n(r,s){return new ee(r,o).getPropertyConfig(e,s)}return{getPropsConfig:n}}const ne=m.defineComponent({name:"FAvatarDesign",props:T,emits:["change","update:modelValue"],setup(i,o){const e=m.ref(),n=m.inject("designer-host-service"),r=m.inject("design-item-context"),s=te(r,n),l=P.useDesignerComponent(e,r,s);m.onMounted(()=>{e.value.componentInstance=l}),o.expose(l.value);const y=m.computed(()=>({"f-avatar":!0,"f-avatar-readonly":i.readonly,"f-avatar-circle":i.shape==="circle","f-avatar-square":i.shape==="square"})),f=m.ref(i.modelValue),a=m.computed(()=>({width:i.avatarWidth+"px",height:i.avatarHeight+"px"})),d=!1;function t(){return""}function u(){}const c=m.ref(null),{acceptTypes:A,imageSource:g,onClickImage:v}=x(i,o,c,f);return()=>m.createVNode("div",{ref:e,class:y.value,style:a.value,onClick:v},[d,m.createVNode("img",{title:i.title,class:"f-avatar-image",src:g.value,onError:t},null),!i.readonly&&m.createVNode("div",{class:"f-avatar-icon"},[m.createVNode("span",{class:"f-icon f-icon-camera"},null)]),m.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:A.value,onChange:u,style:"display: none;"},null)])}});M.register=(i,o,e,n)=>{i.avatar=M,o.avatar=V},M.registerDesigner=(i,o,e)=>{i.avatar=ne,o.avatar=V};const re=q.withInstall(M);C.FAvatar=M,C.avatarProps=T,C.default=re,C.propsResolver=V,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(C,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],m):(C=typeof globalThis<"u"?globalThis:C||self,m(C.avatar={},C.Vue,C.LodashES,C.dynamicResolver,C.designerCanvas,C.common))})(this,function(C,m,B,L,P,q){"use strict";var ce=Object.defineProperty;var de=(C,m,B)=>m in C?ce(C,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):C[m]=B;var h=(C,m,B)=>de(C,typeof m!="symbol"?m+"":m,B);const j={},D={};function N(i){const{properties:o,title:e,ignore:n}=i,r=n&&Array.isArray(n),s=Object.keys(o).reduce((l,y)=>((!r||!n.find(f=>f===y))&&(l[y]=o[y].type==="object"&&o[y].properties?N(o[y]):B.cloneDeep(o[y].default)),l),{});if(e&&(!r||!n.find(l=>l==="id"))){const l=e.toLowerCase().replace(/-/g,"_");s.id=`${l}_${Math.random().toString().slice(2,6)}`}return s}function H(i,o){const e=N(o);return Object.keys(e).reduce((n,r)=>(Object.prototype.hasOwnProperty.call(i,r)&&(n[r]&&B.isPlainObject(n[r])&&B.isPlainObject(i[r]||!i[r])?Object.assign(n[r],i[r]||{}):n[r]=i[r]),n),e),e}function U(i,o){return Object.keys(i).filter(n=>i[n]!=null).reduce((n,r)=>{if(o.has(r)){const s=o.get(r);if(typeof s=="string")n[s]=i[r];else{const l=s(r,i[r],i);Object.assign(n,l)}}else n[r]=i[r];return n},{})}function R(i,o,e=new Map){const n=H(i,o);return U(n,e)}function Q(i={}){function o(a,d,t,u){if(typeof t=="number")return u[a].length===t;if(typeof t=="object"){const c=Object.keys(t)[0],A=t[c];if(c==="not")return Number(u[a].length)!==Number(A);if(c==="moreThan")return Number(u[a].length)>=Number(A);if(c==="lessThan")return Number(u[a].length)<=Number(A)}return!1}function e(a,d,t,u){return u[a]&&u[a].propertyValue&&String(u[a].propertyValue.value)===String(t)}const n=new Map([["length",o],["getProperty",e]]);Object.keys(i).reduce((a,d)=>(a.set(d,i[d]),a),n);function r(a,d){const t=a;return typeof d=="number"?[{target:t,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:t,operator:"getProperty",param:a,value:!!d}]:typeof d=="object"?Object.keys(d).map(u=>{if(u==="length")return{target:t,operator:"length",param:null,value:d[u]};const c=u,A=d[u];return{target:t,operator:"getProperty",param:c,value:A}}):[]}function s(a){return Object.keys(a).reduce((t,u)=>{const c=r(u,a[u]);return t.push(...c),t},[])}function l(a,d){if(n.has(a.operator)){const t=n.get(a.operator);return t&&t(a.target,a.param,a.value,d)||!1}return!1}function y(a,d){return s(a).reduce((c,A)=>c&&l(A,d),!0)}function f(a,d){const t=Object.keys(a),u=t.includes("allOf"),c=t.includes("anyOf"),A=u||c,b=(A?a[A?u?"allOf":"anyOf":"allOf"]:[a]).map(k=>y(k,d));return u?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const p={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},W={},G={};Q();function O(i,o,e=new Map,n=(l,y,f,a)=>y,r={},s=l=>l){return j[o.title]=o,D[o.title]=n,W[o.title]=r,G[o.title]=s,(l={})=>{const y=R(l,o,e),f=Object.keys(i).reduce((a,d)=>(a[d]=i[d].default,a),{});return Object.assign(f,y)}}function Z(i,o,e){return o}const z=new Map([["appearance",L.resolveAppearance]]),J={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/avatar.schema.json",title:"avatar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for avatar",type:"string"},type:{description:"The type string of avatar",type:"string",default:"avatar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},avatarWidth:{description:"",type:"number",default:100},avatarHeight:{description:"",type:"number",default:100},readonly:{description:"",type:"boolean",default:!1},cover:{description:"",type:"string",default:""},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding","visible"]},T={avatarWidth:{type:Number,default:100},avatarHeight:{type:Number,default:100},cover:{type:String},readonly:{type:Boolean,default:!1},shape:{type:String,default:"circle"},maxSize:{type:Number,default:1},modelValue:{type:String,default:""},title:{type:String,default:""},imageType:{type:Array,default:["jpeg"]}},V=O(T,J,z,Z);function x(i,o,e,n){const r="data:image/jpeg;base64,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",s=m.ref(i.readonly);function l(c){return c.match(/\.(jpeg|jpg|gif|png|svg|bmp|webp)$/)!=null}function y(c){return c.indexOf("data:image/")>-1}function f(c){return c?"data:image/jpeg;base64,"+c:""}const a=m.computed(()=>{var A;if(!i.imageType||!i.imageType.length)return"";const c=(A=i.imageType)==null?void 0:A.map(g=>(g==="jpg"&&(g="jpeg"),`image/${g}`));return!c||!c.length?"image/*":c.join(",")}),d=m.computed(()=>{const c=n.value||i.cover||r;return l(c)||y(c)?c:f(c)}),t=m.computed(()=>s.value?"":i.title);function u(){s.value||e&&e.value&&e.value.click()}return{acceptTypes:a,imageSource:d,imageTitle:t,onClickImage:u}}const M=m.defineComponent({name:"FAvatar",props:T,emits:["change","update:modelValue"],setup(i,o){const e=m.computed(()=>({"f-avatar":!0,"f-avatar-readonly":i.readonly,"f-avatar-circle":i.shape==="circle","f-avatar-square":i.shape==="square"})),n=m.ref(i.modelValue),r=m.computed(()=>({width:i.avatarWidth+"px",height:i.avatarHeight+"px"})),s=!1;function l(){return""}function y(){}const f=m.ref(null),{acceptTypes:a,imageSource:d,onClickImage:t}=x(i,o,f,n);return()=>m.createVNode("div",{class:e.value,style:r.value,onClick:t},[s,m.createVNode("img",{title:i.title,class:"f-avatar-image",src:d.value,onError:l},null),!i.readonly&&m.createVNode("div",{class:"f-avatar-icon"},[m.createVNode("span",{class:"f-icon f-icon-camera"},null)]),m.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:a.value,onChange:y,style:"display: none;"},null)])}});class K{constructor(o,e){h(this,"componentId");h(this,"viewModelId");h(this,"eventsEditorUtils");h(this,"formSchemaUtils");h(this,"formMetadataConverter");h(this,"designViewModelUtils");h(this,"designViewModelField");h(this,"controlCreatorUtils");h(this,"designerHostService");h(this,"schemaService",null);h(this,"metadataService",null);h(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=o,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(o))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var o;return(o=this.schemaService)==null?void 0:o.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(o){var n;const e=o.binding&&o.binding.type==="Form"&&o.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(s=>s.id===e)}o.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}changeFieldEditorType(o,e){}getBasicPropConfig(o){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:o.type,name:p[o.type].name}]}}}}}getAppearanceConfig(o=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(o,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(l=>l.id===o),s=B.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,s)}}const S=class S{static getEditorTypesByMDataType(o){const e=S.fieldControlTypeMapping[o];return e||[{key:"",value:""}]}static getAllInputTypes(){const o=[];for(const e in S.fieldControlTypeMapping)S.fieldControlTypeMapping[e].forEach(n=>{o.find(r=>r.key===n.key&&r.value===n.value)||o.push({key:n.key,value:n.value})});return o}};h(S,"fieldControlTypeMapping",{String:[{key:p["input-group"].type,value:p["input-group"].name},{key:p.lookup.type,value:p.lookup.name},{key:p["date-picker"].type,value:p["date-picker"].name},{key:p["check-box"].type,value:p["check-box"].name},{key:p["check-group"].type,value:p["check-group"].name},{key:p["radio-group"].type,value:p["radio-group"].name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p.textarea.type,value:p.textarea.name}],Text:[{key:p.textarea.type,value:p.textarea.name},{key:p.lookup.type,value:p.lookup.name}],Decimal:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Integer:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Number:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],BigNumber:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Date:[{key:p["date-picker"].type,value:p["date-picker"].name}],DateTime:[{key:p["date-picker"].type,value:p["date-picker"].name}],Boolean:[{key:p.switch.type,value:p.switch.name},{key:p["check-box"].type,value:p["check-box"].name}],Enum:[{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}],Object:[{key:p.lookup.type,value:p.lookup.name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}]});let w=S;const X=m.ref(0);class Y{constructor(){h(this,"label","");h(this,"id","");h(this,"columnInSM",12);h(this,"columnInMD",6);h(this,"columnInLG",3);h(this,"columnInEL",2);h(this,"displayWidthInSM",1);h(this,"displayWidthInMD",1);h(this,"displayWidthInLG",1);h(this,"displayWidthInEL",1);h(this,"displayColumnCountAtBreakPoint","md");h(this,"tagRow",0);h(this,"showTopBorder",0);h(this,"group",1);h(this,"isSupportedClass",!0);h(this,"fieldSetId","")}}function $(i){let o,e;const n=new Map;let r=[];function s(d,t){const c=d.split(" ").filter(I=>I.startsWith("col-"));if(c.length===0){t.isSupportedClass=!1;return}let A=c.find(I=>/^col-([1-9]|10|11|12)$/.test(I)),g=c.find(I=>/^col-md-([1-9]|10|11|12)$/.test(I)),v=c.find(I=>/^col-xl-([1-9]|10|11|12)$/.test(I)),b=c.find(I=>/^col-el-([1-9]|10|11|12)$/.test(I));A=A||"col-12",t.columnInSM=parseInt(A.replace("col-",""),10),t.displayWidthInSM=t.columnInSM/12,t.displayWidthInSM!==1&&(t.isSupportedClass=!1),g=g||"col-md-"+t.columnInSM,t.columnInMD=parseInt(g.replace("col-md-",""),10),t.displayWidthInMD=t.columnInMD/6,[1,2].includes(t.displayWidthInMD)||(t.isSupportedClass=!1),v=v||"col-xl-"+t.columnInMD,t.columnInLG=parseInt(v.replace("col-xl-",""),10),t.displayWidthInLG=t.columnInLG/3,[1,2,3,4].includes(t.displayWidthInLG)||(t.isSupportedClass=!1),b=b||"col-el-"+t.columnInLG,t.columnInEL=parseInt(b.replace("col-el-",""),10),t.displayWidthInEL=t.columnInEL/2,[1,2,3,4,5,6].includes(t.displayWidthInEL)||(t.isSupportedClass=!1)}function l(d,t,u,c=!1){let A=!1;d.contents.forEach(g=>{if(g.type==="fieldset"){u+=1,l(g,t,u,!0),A=!0;return}A&&(u+=1,A=!1);const v=g.appearance&&g.appearance.class,b=new Y;v?s(v,b):b.isSupportedClass=!1,b.label=g.label||g.id,b.id=g.id,b.group=u,c&&(b.fieldSetId=d.id),e===g.id&&(o=u),n.set(g.id,g),t.push(b)})}function y(d){const t=i.getComponentById(d);if(!t||!t.componentType||!t.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const u=i.selectNode(t,c=>c.type===P.DgControl["response-form"].type);return!u||!u.contents||u.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:u}}function f(d,t){t=t||d.id;const{result:u,message:c,formNode:A}=y(t);if(!u)return{result:u,message:c};e=d.id,r=[],n.clear();const g=A.contents[0].type===P.DgControl.fieldset.type?0:1;l(A,r,g);const v=r.find(I=>!I.isSupportedClass);return{defaultState:{defaultGroupNumber:o||1,model:v?"customize":"standard"},importData:r}}function a(d,t){t=t;const{result:u,formNode:c}=y(t);if(!u)return"";const A=[];return d.forEach(g=>{var I;const v=n.get(g.id),b=v.appearance&&v.appearance.class;if(b){const E=b.split(" ").filter(le=>!le.startsWith("col-")),F="col-"+g.columnInSM,oe="col-md-"+g.columnInMD,ie="col-xl-"+g.columnInLG,ae="col-el-"+g.columnInEL,se=[F,oe,ie,ae].concat(E);v.appearance.class=se.join(" ")}if(g.fieldSetId){const k=c.contents.find(F=>F.id===g.fieldSetId),E=A.find(F=>F.id===g.fieldSetId);E?(I=E.contents)==null||I.push(v):(A.push(k),k.contents=[v])}else A.push(v)}),c.contents=A,c.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:l}}class _ extends K{constructor(e,n){super(e,n);h(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=$(this.formSchemaUtils)}getPropertyConfig(e,n){return this.propertyConfig.categories.basic=this.getBasicProperties(e,n),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,n){var s;const r=this;return this.setDesignViewModelField(e),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:r.designViewModelField?w.getEditorTypesByMDataType((s=r.designViewModelField.type)==null?void 0:s.name):w.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(l,y){if(l)switch(l&&l.propertyID){case"type":{r.changeControlType(e,l,n);break}case"label":{l.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,n){const r=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(s,l){if(s)switch(s&&s.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(s.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(s.propertyValue,e.id,this.componentId),r.updateElementByParentContainer(e.id,n);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,r){var d,t,u,c;const s=n.propertyValue,l=r&&r.parent&&r.parent.schema;if(!l)return;const y=l.contents.findIndex(A=>A.id===e.id),f=l.contents[y];let a;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,s)),a||(a=this.controlCreatorUtils.createFormGroupWithoutField(s)),Object.assign(a,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(a.editor,{isTextArea:a.isTextArea&&f.isTextArea,placeholder:(d=f.editor)==null?void 0:d.placeholder,holdPlace:(t=f.editor)==null?void 0:t.holdPlace,readonly:(u=f.editor)==null?void 0:u.readonly,require:(c=f.editor)==null?void 0:c.require}),l.contents.splice(y,1),l.contents.splice(y,0,a),r.schema=Object.assign(f,a),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(A=>A.classList.remove("dgComponentSelected")),X.value++}getComponentConfig(e,n={},r={}){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},n),l=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},r);return{...s,properties:{...l}}}updateUnifiedLayoutAfterControlChanged(e,n,r){const s=e.split(" ");let l=s.find(t=>/^col-([1-9]|10|11|12)$/.test(t)),y=s.find(t=>/^col-md-([1-9]|10|11|12)$/.test(t)),f=s.find(t=>/^col-xl-([1-9]|10|11|12)$/.test(t)),a=s.find(t=>/^col-el-([1-9]|10|11|12)$/.test(t));l=l||"col-12",y=y||"col-md-"+l.replace("col-",""),f=f||"col-xl-"+y.replace("col-md-",""),a=a||"col-el-"+f.replace("col-xl-","");const d={id:n,columnInSM:parseInt(l.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,d)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const s=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,s,1),n){const A=s.find(g=>g.id===n.id);Object.assign(A||{},n)}const l=s.map(A=>A.columnInSM),y=s.map(A=>A.columnInMD),f=s.map(A=>A.columnInLG),a=s.map(A=>A.columnInEL),d=this.checkIsUniqueColumn(l)?l[0]:null,t=this.checkIsUniqueColumn(y)?y[0]:null,u=this.checkIsUniqueColumn(f)?f[0]:null,c=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:d,uniqueColClassInMD:t,uniqueColClassInLG:u,uniqueColClassInEL:c})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}}class ee extends _{constructor(o,e){super(o,e)}getEditorProperties(o){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}function te(i,o){const e=i.schema;function n(r,s){return new ee(r,o).getPropertyConfig(e,s)}return{getPropsConfig:n}}const ne=m.defineComponent({name:"FAvatarDesign",props:T,emits:["change","update:modelValue"],setup(i,o){const e=m.ref(),n=m.inject("designer-host-service"),r=m.inject("design-item-context"),s=te(r,n),l=P.useDesignerComponent(e,r,s);m.onMounted(()=>{e.value.componentInstance=l}),o.expose(l.value);const y=m.computed(()=>({"f-avatar":!0,"f-avatar-readonly":i.readonly,"f-avatar-circle":i.shape==="circle","f-avatar-square":i.shape==="square"})),f=m.ref(i.modelValue),a=m.computed(()=>({width:i.avatarWidth+"px",height:i.avatarHeight+"px"})),d=!1;function t(){return""}function u(){}const c=m.ref(null),{acceptTypes:A,imageSource:g,onClickImage:v}=x(i,o,c,f);return()=>m.createVNode("div",{ref:e,class:y.value,style:a.value,onClick:v},[d,m.createVNode("img",{title:i.title,class:"f-avatar-image",src:g.value,onError:t},null),!i.readonly&&m.createVNode("div",{class:"f-avatar-icon"},[m.createVNode("span",{class:"f-icon f-icon-camera"},null)]),m.createVNode("input",{ref:"file",name:"file-input",type:"file",class:"f-avatar-upload",accept:A.value,onChange:u,style:"display: none;"},null)])}});M.register=(i,o,e,n)=>{i.avatar=M,o.avatar=V},M.registerDesigner=(i,o,e)=>{i.avatar=ne,o.avatar=V};const re=q.withInstall(M);C.FAvatar=M,C.avatarProps=T,C.default=re,C.propsResolver=V,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as I, ref as y, computed as h, createVNode as v, Teleport as q, createApp as U, onUnmounted as X, inject as D, watch as R, nextTick as L, onMounted as F, withDirectives as z, vShow as J, Fragment as Q, mergeProps as A } from "vue";
|
|
2
2
|
import { isPlainObject as V, cloneDeep as Y } from "lodash-es";
|
|
3
3
|
import { resolveAppearance as Z } from "../dynamic-resolver/index.esm.js";
|
|
4
4
|
import K from "../tags/index.esm.js";
|
|
@@ -16,7 +16,7 @@ function N(e) {
|
|
|
16
16
|
}
|
|
17
17
|
function ae(e, t) {
|
|
18
18
|
const o = N(t);
|
|
19
|
-
return Object.keys(o).reduce((u, n) => (u[n] && V(u[n]) && V(e[n] || !e[n]) ? Object.assign(u[n], e[n] || {}) : u[n] = e[n], u), o), o;
|
|
19
|
+
return Object.keys(o).reduce((u, n) => (Object.prototype.hasOwnProperty.call(e, n) && (u[n] && V(u[n]) && V(e[n] || !e[n]) ? Object.assign(u[n], e[n] || {}) : u[n] = e[n]), u), o), o;
|
|
20
20
|
}
|
|
21
21
|
function le(e, t) {
|
|
22
22
|
return Object.keys(e).filter((u) => e[u] != null).reduce((u, n) => {
|
|
@@ -499,7 +499,7 @@ const be = "https://json-schema.org/draft/2020-12/schema", ge = "https://farris-
|
|
|
499
499
|
popupContentPosition: { type: Object, default: { left: 0, top: 0 } },
|
|
500
500
|
host: { type: Object },
|
|
501
501
|
backgroundColor: { type: String, default: "" }
|
|
502
|
-
}, Pe = /* @__PURE__ */
|
|
502
|
+
}, Pe = /* @__PURE__ */ I({
|
|
503
503
|
name: "FOverlay",
|
|
504
504
|
props: Ee,
|
|
505
505
|
emits: ["click"],
|
|
@@ -553,7 +553,7 @@ function Me(e) {
|
|
|
553
553
|
if (e.render && typeof e.render == "function")
|
|
554
554
|
return e.render;
|
|
555
555
|
}
|
|
556
|
-
function
|
|
556
|
+
function je(e) {
|
|
557
557
|
const t = document.createElement("div");
|
|
558
558
|
t.style.display = "contents";
|
|
559
559
|
let o;
|
|
@@ -578,9 +578,9 @@ function Ie(e) {
|
|
|
578
578
|
}
|
|
579
579
|
}), document.body.appendChild(t), o.mount(t), o;
|
|
580
580
|
}
|
|
581
|
-
class
|
|
581
|
+
class Ie {
|
|
582
582
|
static show(t) {
|
|
583
|
-
return
|
|
583
|
+
return je(t);
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
586
|
const Re = Symbol("FModalService");
|
|
@@ -613,7 +613,7 @@ function H(e, t, o, u, n) {
|
|
|
613
613
|
});
|
|
614
614
|
i.value = O == null ? void 0 : O.modalRef;
|
|
615
615
|
}
|
|
616
|
-
l.value === "Overlay" &&
|
|
616
|
+
l.value === "Overlay" && Ie.show({
|
|
617
617
|
// host: buttonEditRef.value,
|
|
618
618
|
host: document.body,
|
|
619
619
|
backgroundColor: "rgba(0,0,0,.15)",
|
|
@@ -713,7 +713,7 @@ function Se(e, t, o, u, n) {
|
|
|
713
713
|
function w(d) {
|
|
714
714
|
t.emit("keydown", d);
|
|
715
715
|
}
|
|
716
|
-
function
|
|
716
|
+
function j(d) {
|
|
717
717
|
d.key === "Enter" && (l.value || s.value) && n.hidePopup(), t.emit("keyup", d);
|
|
718
718
|
}
|
|
719
719
|
function E(d) {
|
|
@@ -734,7 +734,7 @@ function Se(e, t, o, u, n) {
|
|
|
734
734
|
onFocusTextBox: T,
|
|
735
735
|
onInput: k,
|
|
736
736
|
onKeyDownTextBox: w,
|
|
737
|
-
onKeyUpTextBox:
|
|
737
|
+
onKeyUpTextBox: j,
|
|
738
738
|
onMouseDownTextBox: M,
|
|
739
739
|
onTextBoxValueChange: E
|
|
740
740
|
};
|
|
@@ -885,7 +885,7 @@ function Ae(e, t, o) {
|
|
|
885
885
|
}
|
|
886
886
|
});
|
|
887
887
|
}
|
|
888
|
-
const P = /* @__PURE__ */
|
|
888
|
+
const P = /* @__PURE__ */ I({
|
|
889
889
|
name: "FButtonEdit",
|
|
890
890
|
props: S,
|
|
891
891
|
emits: ["updateExtendInfo", "clear", "change", "click", "clickButton", "blur", "focus", "mouseEnterIcon", "mouseLeaveIcon", "keyup", "keydown", "inputClick", "input", "update:modelValue"],
|
|
@@ -919,7 +919,7 @@ const P = /* @__PURE__ */ j({
|
|
|
919
919
|
const {
|
|
920
920
|
renderButtonGroup: M,
|
|
921
921
|
buttonHandleElement: w
|
|
922
|
-
} = De(e, t, a, m),
|
|
922
|
+
} = De(e, t, a, m), j = Ae(e, t, l), E = {
|
|
923
923
|
commitValue: f,
|
|
924
924
|
elementRef: o,
|
|
925
925
|
hidePopup: r,
|
|
@@ -946,7 +946,7 @@ const P = /* @__PURE__ */ j({
|
|
|
946
946
|
class: g.value,
|
|
947
947
|
onMouseenter: x,
|
|
948
948
|
onMouseleave: C
|
|
949
|
-
}, [k(), M()])]), s.value &&
|
|
949
|
+
}, [k(), M()])]), s.value && j()]);
|
|
950
950
|
}
|
|
951
951
|
});
|
|
952
952
|
function Ne(e, t, o) {
|
|
@@ -967,7 +967,7 @@ function Ne(e, t, o) {
|
|
|
967
967
|
buttonHandleElement: n
|
|
968
968
|
};
|
|
969
969
|
}
|
|
970
|
-
const Ge = /* @__PURE__ */
|
|
970
|
+
const Ge = /* @__PURE__ */ I({
|
|
971
971
|
name: "FButtonEdit",
|
|
972
972
|
props: S,
|
|
973
973
|
emits: ["updateExtendInfo", "clear", "change", "click", "clickButton", "blur", "focus", "mouseEnterIcon", "mouseLeaveIcon", "keyup", "keydown", "inputClick", "input", "update:modelValue"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],n):(h=typeof globalThis<"u"?globalThis:h||self,n(h["button-edit"]={},h.Vue,h.LodashES,h.dynamicResolver,h.FTags,h.FPopover,h.designerCanvas,h.common))})(this,function(h,n,P,L,D,A,$,G){"use strict";const q={},H={};function R(e){const{properties:t,title:a,ignore:u}=e,o=u&&Array.isArray(u),i=Object.keys(t).reduce((c,s)=>((!o||!u.find(g=>g===s))&&(c[s]=t[s].type==="object"&&t[s].properties?R(t[s]):P.cloneDeep(t[s].default)),c),{});if(a&&(!o||!u.find(c=>c==="id"))){const c=a.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}function W(e,t){const a=R(t);return Object.keys(a).reduce((u,o)=>(u[o]&&P.isPlainObject(u[o])&&P.isPlainObject(e[o]||!e[o])?Object.assign(u[o],e[o]||{}):u[o]=e[o],u),a),a}function _(e,t){return Object.keys(e).filter(u=>e[u]!=null).reduce((u,o)=>{if(t.has(o)){const i=t.get(o);if(typeof i=="string")u[i]=e[o];else{const c=i(o,e[o],e);Object.assign(u,c)}}else u[o]=e[o];return u},{})}function U(e,t,a=new Map){const u=W(e,t);return _(u,a)}function X(e={}){function t(l,d,r,f){if(typeof r=="number")return f[l].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],b=r[m];if(m==="not")return Number(f[l].length)!==Number(b);if(m==="moreThan")return Number(f[l].length)>=Number(b);if(m==="lessThan")return Number(f[l].length)<=Number(b)}return!1}function a(l,d,r,f){return f[l]&&f[l].propertyValue&&String(f[l].propertyValue.value)===String(r)}const u=new Map([["length",t],["getProperty",a]]);Object.keys(e).reduce((l,d)=>(l.set(d,e[d]),l),u);function o(l,d){const r=l;return typeof d=="number"?[{target:r,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:r,operator:"getProperty",param:l,value:!!d}]:typeof d=="object"?Object.keys(d).map(f=>{if(f==="length")return{target:r,operator:"length",param:null,value:d[f]};const m=f,b=d[f];return{target:r,operator:"getProperty",param:m,value:b}}):[]}function i(l){return Object.keys(l).reduce((r,f)=>{const m=o(f,l[f]);return r.push(...m),r},[])}function c(l,d){if(u.has(l.operator)){const r=u.get(l.operator);return r&&r(l.target,l.param,l.value,d)||!1}return!1}function s(l,d){return i(l).reduce((m,b)=>m&&c(b,d),!0)}function g(l,d){const r=Object.keys(l),f=r.includes("allOf"),m=r.includes("anyOf"),b=f||m,C=(b?l[b?f?"allOf":"anyOf":"allOf"]:[l]).map(v=>s(v,d));return f?!C.includes(!1):C.includes(!0)}return{parseValueSchema:g}}const z={},J={};X();function Q(e,t,a=new Map,u=(c,s,g,l)=>s,o={},i=c=>c){return q[t.title]=t,H[t.title]=u,z[t.title]=o,J[t.title]=i,(c={})=>{const s=U(c,t,a),g=Object.keys(e).reduce((l,d)=>(l[d]=e[d].default,l),{});return Object.assign(g,s)}}const Y=new Map([["appearance",L.resolveAppearance]]);function Z(e,t,a){return t}const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},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},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},require:{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:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ee={title:"buttonEdit",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:"右对齐"}]}}}}}},k={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}},M=Q(k,K,Y,Z,ee),te={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ne=n.defineComponent({name:"FOverlay",props:te,emits:["click"],setup(e,t){const a=n.ref(e.popupContentPosition),u=n.ref(e.host),o=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=u.value;if(s){const g=s.getBoundingClientRect(),{left:l,top:d,height:r}=g;return{left:l,top:d+r}}return a.value});const c=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,g;return[n.createVNode("div",{class:"overlay-container",onClick:l=>i(l),style:o.value},[n.createVNode("div",{style:c.value},[(g=(s=t.slots).default)==null?void 0:g.call(s)])])]}})}});function oe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function ae(e){const t=document.createElement("div");t.style.display="contents";let a;const u=e.onClickCallback||(()=>{}),o=()=>{u(),a&&a.unmount()};return a=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const i=oe(e);return()=>n.createVNode(ne,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(t),a.mount(t),a}class ue{static show(t){return ae(t)}}const le=Symbol("FModalService");function N(e,t){function a(){const u=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(u){const i=u(t.value);if(typeof i>"u")return o;typeof i=="boolean"?o=Promise.resolve(i):o=i}return o}return{judgeCanOpen:a}}function F(e,t,a,u,o){const i=n.ref(e.buttonBehavior),c=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:g}=N(e,o),l=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),d=n.inject(le,null),r=n.ref();async function f(y){if(await g()&&l.value){const x=!!t.slots.default;if(i.value==="Modal"){const C=e.modalOptions,O=d==null?void 0:d.open({...C,render:()=>t.slots.default&&t.slots.default()});r.value=O==null?void 0:O.modalRef}i.value==="Overlay"&&ue.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),x&&i.value==="Popup"&&u.togglePopup(!0),x&&c.value&&u.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function m(y){t.emit("mouseEnterIcon",y)}function b(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:b,modalRef:r}}function ie(e,t,a,u,o,i){const c=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:g}=i;function l(m){c.value=m}n.watch(o,()=>{l(!!o.value)});function d(m){const b=!e.readonly&&!e.disable&&e.editable,y=!e.editable;m.stopPropagation(),(b||y)&&(g("",!1),l(!c.value),t.emit("clear"))}function r(m){if(s.value){if(!a.value){l(!1);return}!e.disable&&!e.readonly&&l(!0)}}function f(m){s.value&&l(!1)}return{enableClearButton:s,showClearButton:c,onClearValue:d,onMouseEnterTextBox:r,onMouseLeaveTextBox:f}}function re(e,t,a,u,o){const i=n.computed(()=>e.popupOnInput),c=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,g=n.computed(()=>e.enableTitle?a.value:""),l=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),d=n.computed(()=>e.readonly||!e.editable),r=n.ref(!1),f=n.computed(()=>!e.disable&&r.value),m=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),b=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function y(p,B=!0){a.value!==p&&(a.value=p,B&&(t.emit("change",p),t.emit("update:modelValue",p)))}function x(p){s.value=!1,y(p,!0)}n.watch(()=>e.modelValue,p=>{a.value=p});function C(p){r.value=!1,t.emit("blur",p),p.stopPropagation()}function O(p){t.emit("click",p)}function v(p){e.disable||(r.value=!0,d.value||(t.emit("focus",p),c.value&&!s.value&&o.popup()))}function w(p){t.emit("input",p.target.value);const B=p.target.value;u.value=B,a.value!==B&&y(B,e.updateOn==="change"),i.value&&!s.value&&o.popup()}function V(p){p.target.tagName!=="INPUT"&&p.preventDefault(),p.stopPropagation()}function j(p){t.emit("keydown",p)}function I(p){p.key==="Enter"&&(i.value||c.value)&&o.hidePopup(),t.emit("keyup",p)}function E(p){const B=p.target.value;p.stopPropagation(),y(B)}return{hasFocusedTextBox:f,isTextBoxReadonly:d,textBoxClass:m,textBoxPlaceholder:l,textBoxTitle:g,inputGroupClass:b,changeTextBoxValue:y,commitValue:x,onBlurTextBox:C,onClickTextBox:O,onFocusTextBox:v,onInput:w,onKeyDownTextBox:j,onKeyUpTextBox:I,onMouseDownTextBox:V,onTextBoxValueChange:E}}function S(e,t,a,u){const o=n.ref(),i=n.ref(!1),{judgeCanOpen:c}=N(e,u);function s(){const r=o.value;r&&r.show(a.value)}async function g(r=!1){if(!!t.slots.default){if(!r&&!i.value&&!await c())return;i.value=!i.value,await n.nextTick(),s()}}async function l(r=!1){if(!!t.slots.default){if(!r&&!await c())return;i.value=!0,await n.nextTick(),s()}}function d(){i.value=!1}return{hidePopup:d,popup:l,shouldPopupContent:i,togglePopup:g,popoverRef:o}}function se(e,t,a){const u=n.ref(),{isTextBoxReadonly:o,textBoxClass:i,textBoxPlaceholder:c,textBoxTitle:s,onBlurTextBox:g,onClickTextBox:l,onFocusTextBox:d,onInput:r,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:b,onTextBoxValueChange:y}=a;return n.onMounted(()=>{var x,C;e.selectOnCreated&&((x=u.value)==null||x.select()),e.focusOnCreated&&((C=u.value)==null||C.focus())}),()=>n.createVNode("input",{ref:u,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:c.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:g,onChange:y,onClick:l,onFocus:d,onInput:r,onKeydown:f,onKeyup:m,onMousedown:b},null)}function ce(e,t,a){const u=n.ref(e.separator),{changeTextBoxValue:o}=a,i=n.computed(()=>t.value?t.value.split(u.value).map(s=>({name:s,selectable:!0})):[]);function c(s){o(s.map(g=>g.name).join(u.value),!0)}return()=>n.createVNode(D,{id:`${e.id}-tag-editor`,class:"form-control",data:i.value,showClose:!0,showInput:!0,onChange:c},null)}function de(e,t,a,u){const{buttonGroupClass:o,onClickButton:i,onMouseEnterButton:c,onMouseLeaveButton:s}=a,{enableClearButton:g,showClearButton:l,onClearValue:d}=u,r=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[g.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:d},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,l.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:i,onMouseenter:c,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:r,onClick:i,onMouseenter:c,onMouseleave:s},null):null]),buttonHandleElement:r}}function pe(e,t,a){const u=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:i}=a;return()=>n.createVNode(A,{id:`${e.id}-popover`,ref:i,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:u.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var c,s;return[(s=(c=t.slots).default)==null?void 0:s.call(c)]}})}const T=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const a=n.ref(),u=n.ref(e.customClass),o=n.ref(e.modelValue),i=S(e,t,a,o),{shouldPopupContent:c,hidePopup:s,togglePopup:g}=i,l=F(e,t,a,i,o),d=n.ref(""),r=re(e,t,o,d,i),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:b}=r,y=ie(e,t,o,f,d,r),{onMouseEnterTextBox:x,onMouseLeaveTextBox:C}=y,O=n.computed(()=>{const p={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return u.value&&u.value.split(" ").reduce((B,be)=>(B[be]=!0,B),p),p});function v(){return e.multiSelect&&e.inputType==="tag"?ce(e,o,r):se(e,o,r)}let w=v();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{w=v()});const{renderButtonGroup:V,buttonHandleElement:j}=de(e,t,l,y),I=pe(e,t,i),E={commitValue:m,elementRef:a,hidePopup:s,shouldPopupContent:c,togglePopup:g,openDialog:()=>{j.value&&e.buttonBehavior==="Modal"&&j.value.click()},getModal:()=>{var p;return e.buttonBehavior==="Modal"?(p=l.modalRef.value)==null?void 0:p.value:null}};return n.onMounted(()=>{a.value.componentInstance=E,window.onresize=()=>{document.body.click()}}),t.expose(E),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:O.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:b.value,onMouseenter:x,onMouseleave:C},[w(),V()])]),c.value&&I()])}});function fe(e,t,a){const{buttonGroupClass:u}=a,o=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:u.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:o},null):null]),buttonHandleElement:o}}const me=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const a=n.ref(),u=n.inject("design-item-context"),o=$.useDesignerComponent(a,u),i=n.ref(e.customClass),c=n.ref(e.modelValue),s=S(e,t,a,c),g=F(e,t,a,s,c),l=n.ref(),d=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{a.value.componentInstance=o}),t.expose(o.value);const r=n.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((b,y)=>(b[y]=!0,b),m),m}),{renderButtonGroup:f}=fe(e,t,g);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:r.value,id:e.id}),[n.createVNode("div",{class:d.value},[n.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});T.register=(e,t,a,u)=>{e["button-edit"]=T,t["button-edit"]=M},T.registerDesigner=(e,t,a)=>{e["button-edit"]=me,t["button-edit"]=M};const ge=G.withInstall(T);h.FButtonEdit=T,h.buttonEditProps=k,h.default=ge,h.propsResolver=M,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(h,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],n):(h=typeof globalThis<"u"?globalThis:h||self,n(h["button-edit"]={},h.Vue,h.LodashES,h.dynamicResolver,h.FTags,h.FPopover,h.designerCanvas,h.common))})(this,function(h,n,E,L,D,A,$,G){"use strict";const q={},H={};function R(e){const{properties:t,title:a,ignore:u}=e,o=u&&Array.isArray(u),i=Object.keys(t).reduce((c,s)=>((!o||!u.find(g=>g===s))&&(c[s]=t[s].type==="object"&&t[s].properties?R(t[s]):E.cloneDeep(t[s].default)),c),{});if(a&&(!o||!u.find(c=>c==="id"))){const c=a.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}function W(e,t){const a=R(t);return Object.keys(a).reduce((u,o)=>(Object.prototype.hasOwnProperty.call(e,o)&&(u[o]&&E.isPlainObject(u[o])&&E.isPlainObject(e[o]||!e[o])?Object.assign(u[o],e[o]||{}):u[o]=e[o]),u),a),a}function _(e,t){return Object.keys(e).filter(u=>e[u]!=null).reduce((u,o)=>{if(t.has(o)){const i=t.get(o);if(typeof i=="string")u[i]=e[o];else{const c=i(o,e[o],e);Object.assign(u,c)}}else u[o]=e[o];return u},{})}function U(e,t,a=new Map){const u=W(e,t);return _(u,a)}function X(e={}){function t(l,d,r,f){if(typeof r=="number")return f[l].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],b=r[m];if(m==="not")return Number(f[l].length)!==Number(b);if(m==="moreThan")return Number(f[l].length)>=Number(b);if(m==="lessThan")return Number(f[l].length)<=Number(b)}return!1}function a(l,d,r,f){return f[l]&&f[l].propertyValue&&String(f[l].propertyValue.value)===String(r)}const u=new Map([["length",t],["getProperty",a]]);Object.keys(e).reduce((l,d)=>(l.set(d,e[d]),l),u);function o(l,d){const r=l;return typeof d=="number"?[{target:r,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:r,operator:"getProperty",param:l,value:!!d}]:typeof d=="object"?Object.keys(d).map(f=>{if(f==="length")return{target:r,operator:"length",param:null,value:d[f]};const m=f,b=d[f];return{target:r,operator:"getProperty",param:m,value:b}}):[]}function i(l){return Object.keys(l).reduce((r,f)=>{const m=o(f,l[f]);return r.push(...m),r},[])}function c(l,d){if(u.has(l.operator)){const r=u.get(l.operator);return r&&r(l.target,l.param,l.value,d)||!1}return!1}function s(l,d){return i(l).reduce((m,b)=>m&&c(b,d),!0)}function g(l,d){const r=Object.keys(l),f=r.includes("allOf"),m=r.includes("anyOf"),b=f||m,C=(b?l[b?f?"allOf":"anyOf":"allOf"]:[l]).map(v=>s(v,d));return f?!C.includes(!1):C.includes(!0)}return{parseValueSchema:g}}const z={},J={};X();function Q(e,t,a=new Map,u=(c,s,g,l)=>s,o={},i=c=>c){return q[t.title]=t,H[t.title]=u,z[t.title]=o,J[t.title]=i,(c={})=>{const s=U(c,t,a),g=Object.keys(e).reduce((l,d)=>(l[d]=e[d].default,l),{});return Object.assign(g,s)}}const Y=new Map([["appearance",L.resolveAppearance]]);function Z(e,t,a){return t}const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},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},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},require:{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:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ee={title:"buttonEdit",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:"右对齐"}]}}}}}},k={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}},M=Q(k,K,Y,Z,ee),te={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ne=n.defineComponent({name:"FOverlay",props:te,emits:["click"],setup(e,t){const a=n.ref(e.popupContentPosition),u=n.ref(e.host),o=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=u.value;if(s){const g=s.getBoundingClientRect(),{left:l,top:d,height:r}=g;return{left:l,top:d+r}}return a.value});const c=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,g;return[n.createVNode("div",{class:"overlay-container",onClick:l=>i(l),style:o.value},[n.createVNode("div",{style:c.value},[(g=(s=t.slots).default)==null?void 0:g.call(s)])])]}})}});function oe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function ae(e){const t=document.createElement("div");t.style.display="contents";let a;const u=e.onClickCallback||(()=>{}),o=()=>{u(),a&&a.unmount()};return a=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const i=oe(e);return()=>n.createVNode(ne,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(t),a.mount(t),a}class ue{static show(t){return ae(t)}}const le=Symbol("FModalService");function N(e,t){function a(){const u=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(u){const i=u(t.value);if(typeof i>"u")return o;typeof i=="boolean"?o=Promise.resolve(i):o=i}return o}return{judgeCanOpen:a}}function F(e,t,a,u,o){const i=n.ref(e.buttonBehavior),c=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:g}=N(e,o),l=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),d=n.inject(le,null),r=n.ref();async function f(y){if(await g()&&l.value){const x=!!t.slots.default;if(i.value==="Modal"){const C=e.modalOptions,O=d==null?void 0:d.open({...C,render:()=>t.slots.default&&t.slots.default()});r.value=O==null?void 0:O.modalRef}i.value==="Overlay"&&ue.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),x&&i.value==="Popup"&&u.togglePopup(!0),x&&c.value&&u.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function m(y){t.emit("mouseEnterIcon",y)}function b(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:b,modalRef:r}}function ie(e,t,a,u,o,i){const c=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:g}=i;function l(m){c.value=m}n.watch(o,()=>{l(!!o.value)});function d(m){const b=!e.readonly&&!e.disable&&e.editable,y=!e.editable;m.stopPropagation(),(b||y)&&(g("",!1),l(!c.value),t.emit("clear"))}function r(m){if(s.value){if(!a.value){l(!1);return}!e.disable&&!e.readonly&&l(!0)}}function f(m){s.value&&l(!1)}return{enableClearButton:s,showClearButton:c,onClearValue:d,onMouseEnterTextBox:r,onMouseLeaveTextBox:f}}function re(e,t,a,u,o){const i=n.computed(()=>e.popupOnInput),c=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,g=n.computed(()=>e.enableTitle?a.value:""),l=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),d=n.computed(()=>e.readonly||!e.editable),r=n.ref(!1),f=n.computed(()=>!e.disable&&r.value),m=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),b=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function y(p,B=!0){a.value!==p&&(a.value=p,B&&(t.emit("change",p),t.emit("update:modelValue",p)))}function x(p){s.value=!1,y(p,!0)}n.watch(()=>e.modelValue,p=>{a.value=p});function C(p){r.value=!1,t.emit("blur",p),p.stopPropagation()}function O(p){t.emit("click",p)}function v(p){e.disable||(r.value=!0,d.value||(t.emit("focus",p),c.value&&!s.value&&o.popup()))}function w(p){t.emit("input",p.target.value);const B=p.target.value;u.value=B,a.value!==B&&y(B,e.updateOn==="change"),i.value&&!s.value&&o.popup()}function V(p){p.target.tagName!=="INPUT"&&p.preventDefault(),p.stopPropagation()}function j(p){t.emit("keydown",p)}function I(p){p.key==="Enter"&&(i.value||c.value)&&o.hidePopup(),t.emit("keyup",p)}function P(p){const B=p.target.value;p.stopPropagation(),y(B)}return{hasFocusedTextBox:f,isTextBoxReadonly:d,textBoxClass:m,textBoxPlaceholder:l,textBoxTitle:g,inputGroupClass:b,changeTextBoxValue:y,commitValue:x,onBlurTextBox:C,onClickTextBox:O,onFocusTextBox:v,onInput:w,onKeyDownTextBox:j,onKeyUpTextBox:I,onMouseDownTextBox:V,onTextBoxValueChange:P}}function S(e,t,a,u){const o=n.ref(),i=n.ref(!1),{judgeCanOpen:c}=N(e,u);function s(){const r=o.value;r&&r.show(a.value)}async function g(r=!1){if(!!t.slots.default){if(!r&&!i.value&&!await c())return;i.value=!i.value,await n.nextTick(),s()}}async function l(r=!1){if(!!t.slots.default){if(!r&&!await c())return;i.value=!0,await n.nextTick(),s()}}function d(){i.value=!1}return{hidePopup:d,popup:l,shouldPopupContent:i,togglePopup:g,popoverRef:o}}function se(e,t,a){const u=n.ref(),{isTextBoxReadonly:o,textBoxClass:i,textBoxPlaceholder:c,textBoxTitle:s,onBlurTextBox:g,onClickTextBox:l,onFocusTextBox:d,onInput:r,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:b,onTextBoxValueChange:y}=a;return n.onMounted(()=>{var x,C;e.selectOnCreated&&((x=u.value)==null||x.select()),e.focusOnCreated&&((C=u.value)==null||C.focus())}),()=>n.createVNode("input",{ref:u,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:c.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:g,onChange:y,onClick:l,onFocus:d,onInput:r,onKeydown:f,onKeyup:m,onMousedown:b},null)}function ce(e,t,a){const u=n.ref(e.separator),{changeTextBoxValue:o}=a,i=n.computed(()=>t.value?t.value.split(u.value).map(s=>({name:s,selectable:!0})):[]);function c(s){o(s.map(g=>g.name).join(u.value),!0)}return()=>n.createVNode(D,{id:`${e.id}-tag-editor`,class:"form-control",data:i.value,showClose:!0,showInput:!0,onChange:c},null)}function de(e,t,a,u){const{buttonGroupClass:o,onClickButton:i,onMouseEnterButton:c,onMouseLeaveButton:s}=a,{enableClearButton:g,showClearButton:l,onClearValue:d}=u,r=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[g.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:d},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,l.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:i,onMouseenter:c,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:r,onClick:i,onMouseenter:c,onMouseleave:s},null):null]),buttonHandleElement:r}}function pe(e,t,a){const u=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:i}=a;return()=>n.createVNode(A,{id:`${e.id}-popover`,ref:i,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:u.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var c,s;return[(s=(c=t.slots).default)==null?void 0:s.call(c)]}})}const T=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const a=n.ref(),u=n.ref(e.customClass),o=n.ref(e.modelValue),i=S(e,t,a,o),{shouldPopupContent:c,hidePopup:s,togglePopup:g}=i,l=F(e,t,a,i,o),d=n.ref(""),r=re(e,t,o,d,i),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:b}=r,y=ie(e,t,o,f,d,r),{onMouseEnterTextBox:x,onMouseLeaveTextBox:C}=y,O=n.computed(()=>{const p={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return u.value&&u.value.split(" ").reduce((B,be)=>(B[be]=!0,B),p),p});function v(){return e.multiSelect&&e.inputType==="tag"?ce(e,o,r):se(e,o,r)}let w=v();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{w=v()});const{renderButtonGroup:V,buttonHandleElement:j}=de(e,t,l,y),I=pe(e,t,i),P={commitValue:m,elementRef:a,hidePopup:s,shouldPopupContent:c,togglePopup:g,openDialog:()=>{j.value&&e.buttonBehavior==="Modal"&&j.value.click()},getModal:()=>{var p;return e.buttonBehavior==="Modal"?(p=l.modalRef.value)==null?void 0:p.value:null}};return n.onMounted(()=>{a.value.componentInstance=P,window.onresize=()=>{document.body.click()}}),t.expose(P),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:O.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:b.value,onMouseenter:x,onMouseleave:C},[w(),V()])]),c.value&&I()])}});function fe(e,t,a){const{buttonGroupClass:u}=a,o=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:u.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:o},null):null]),buttonHandleElement:o}}const me=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const a=n.ref(),u=n.inject("design-item-context"),o=$.useDesignerComponent(a,u),i=n.ref(e.customClass),c=n.ref(e.modelValue),s=S(e,t,a,c),g=F(e,t,a,s,c),l=n.ref(),d=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{a.value.componentInstance=o}),t.expose(o.value);const r=n.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((b,y)=>(b[y]=!0,b),m),m}),{renderButtonGroup:f}=fe(e,t,g);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:r.value,id:e.id}),[n.createVNode("div",{class:d.value},[n.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});T.register=(e,t,a,u)=>{e["button-edit"]=T,t["button-edit"]=M},T.registerDesigner=(e,t,a)=>{e["button-edit"]=me,t["button-edit"]=M};const ge=G.withInstall(T);h.FButtonEdit=T,h.buttonEditProps=k,h.default=ge,h.propsResolver=M,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|