@farris/ui-vue 1.8.0-alpha.0 → 1.8.0-beta.1
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/avatar/index.esm.js +138 -1526
- package/components/avatar/index.umd.cjs +1 -6
- package/components/button/index.css +1 -1
- package/components/button/index.esm.js +15951 -15410
- package/components/button/index.umd.cjs +27 -27
- package/components/calendar/index.esm.js +269 -255
- package/components/calendar/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +243 -229
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +32 -32
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +473 -456
- package/components/comment/index.umd.cjs +6 -6
- package/components/component/index.css +1 -1
- package/components/component/index.esm.js +2503 -2239
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +1064 -954
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-grid/index.esm.js +1 -1
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +3894 -3058
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +91 -77
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +220 -215
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +145 -131
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +336 -329
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +1611 -1536
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +219 -219
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/external-container/index.esm.js +179 -178
- package/components/external-container/index.umd.cjs +1 -1
- package/components/fieldset/index.esm.js +285 -221
- package/components/fieldset/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -0
- package/components/filter-bar/index.esm.js +1512 -1290
- package/components/filter-bar/index.umd.cjs +7 -7
- package/components/filter-condition-editor/index.esm.js +851 -831
- package/components/filter-condition-editor/index.umd.cjs +3 -3
- package/components/flow-canvas/index.esm.js +520 -501
- package/components/flow-canvas/index.umd.cjs +8 -8
- package/components/image/index.esm.js +101 -79
- package/components/image/index.umd.cjs +3 -3
- package/components/language-textbox/index.esm.js +330 -251
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-nav/index.esm.js +399 -313
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/locale/index.esm.js +3 -0
- package/components/locale/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +997 -976
- package/components/lookup/index.umd.cjs +2 -2
- package/components/mapping-editor/index.esm.js +725 -705
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +542 -522
- package/components/message-box/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +95 -308
- package/components/nav/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +115 -107
- package/components/number-range/index.umd.cjs +2 -2
- package/components/order/index.esm.js +56 -54
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +135 -123
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +266 -222
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +402 -375
- package/components/property-panel/index.umd.cjs +4 -4
- package/components/query-solution/index.esm.js +3171 -3061
- package/components/query-solution/index.umd.cjs +7 -7
- package/components/response-toolbar/index.esm.js +1 -1
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +1620 -1608
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/scroll-navbar/index.esm.js +150 -136
- package/components/scroll-navbar/index.umd.cjs +2 -2
- package/components/section/index.esm.js +323 -311
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +850 -830
- package/components/sort-condition-editor/index.umd.cjs +3 -3
- package/components/step/index.esm.js +991 -224
- package/components/step/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +356 -334
- package/components/tabs/index.umd.cjs +1 -1
- package/components/wizard/index.esm.js +159 -162
- package/components/wizard/index.umd.cjs +1 -1
- package/designer/avatar/index.esm.js +1721 -0
- package/designer/avatar/index.umd.cjs +6 -0
- package/designer/button-edit/index.esm.js +2 -1
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +693 -659
- package/designer/data-grid/index.umd.cjs +6 -6
- package/designer/data-view/index.esm.js +90 -78
- package/designer/data-view/index.umd.cjs +2 -2
- package/designer/date-picker/index.esm.js +203 -203
- package/designer/date-picker/index.umd.cjs +1 -1
- package/designer/drawer/index.esm.js +181 -167
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +228 -206
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +10014 -9692
- package/designer/farris-designer.all.umd.cjs +18 -18
- package/designer/index.css +1 -1
- package/designer/input-group/index.esm.js +15 -15
- package/designer/input-group/index.umd.cjs +1 -1
- package/designer/nav/index.esm.js +1719 -0
- package/designer/nav/index.umd.cjs +6 -0
- package/designer/number-spinner/index.esm.js +8 -7
- package/designer/number-spinner/index.umd.cjs +1 -1
- package/designer/radio-group/index.esm.js +133 -125
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +864 -863
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/section/index.esm.js +245 -183
- package/designer/section/index.umd.cjs +1 -1
- package/designer/tabs/index.css +1 -1
- package/designer/tabs/index.esm.js +3667 -2810
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/time-picker/index.esm.js +26 -17
- package/designer/time-picker/index.umd.cjs +2 -2
- package/designer/tree-grid/index.esm.js +69 -37
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/designer/wizard/index.esm.js +110 -110
- package/designer/wizard/index.umd.cjs +3 -3
- package/farris.all.esm.js +39993 -39089
- package/farris.all.umd.cjs +36 -36
- package/index.css +1 -1
- package/locales/filter-bar/ui/en.json +1 -0
- package/locales/filter-bar/ui/zh-CHS.json +1 -0
- package/locales/filter-bar/ui/zh-CHT.json +1 -0
- package/locales/ui/en.json +1 -0
- package/locales/ui/zh-CHS.json +1 -0
- package/locales/ui/zh-CHT.json +1 -0
- package/package.json +1 -1
- package/types/avatar/designer.d.ts +28 -0
- package/types/avatar/index.d.ts +0 -15
- package/types/avatar/src/composition/types.d.ts +3 -0
- package/types/avatar/src/composition/use-file.d.ts +19 -0
- package/types/avatar/src/composition/use-image.d.ts +1 -1
- package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
- package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
- package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
- package/types/components.d.ts +3 -0
- package/types/condition/index.d.ts +18 -6
- package/types/condition/src/condition-fields.component.d.ts +9 -3
- package/types/condition/src/condition-fields.design.component.d.ts +9 -3
- package/types/condition/src/condition-list.component.d.ts +9 -3
- package/types/condition/src/condition.props.d.ts +11 -0
- package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
- package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
- package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
- package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
- package/types/dynamic-view/src/components/maps.d.ts +130 -4
- package/types/filter-bar/src/composition/types.d.ts +2 -0
- package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
- package/types/filter-bar/src/locale/locale.d.ts +2 -1
- package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
- package/types/language-textbox/index.d.ts +65 -2
- package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
- package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
- package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/lookup/src/composition/use-compat.d.ts +28 -0
- package/types/lookup/src/composition/use-state.d.ts +1 -0
- package/types/message-box/src/message-box.service.d.ts +2 -1
- package/types/nav/designer.d.ts +28 -0
- package/types/nav/index.d.ts +24 -20
- package/types/nav/src/designer/nav.design.props.d.ts +29 -0
- package/types/nav/src/designer/use-design-rules.d.ts +3 -0
- package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
- package/types/nav/src/schema/schema-mapper.d.ts +4 -0
- package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
- package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
- package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
- package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
- package/types/section/src/designer/section.design.props.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +39 -0
- package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
- package/types/step/src/designer/use-designer-rules.d.ts +3 -0
- package/types/step/src/designer/use-step-creator.d.ts +6 -0
- package/types/step/src/property-config/step.property-config.d.ts +15 -0
- package/types/step/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +4 -0
- package/types/tabs/src/tabs.props.d.ts +6 -0
- package/types/tooltip/index.d.ts +3 -3
- package/types/tooltip/src/tooltip.component.d.ts +2 -2
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(function(b,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("../../components/common/index.umd.js"),require("vue"),require("../../components/designer-canvas/index.umd.js"),require("lodash-es"),require("../../components/dynamic-resolver/index.umd.js"),require("../../components/locale/index.umd.js"),require("../../components/notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","vue","../../components/designer-canvas/index.umd.js","lodash-es","../../components/dynamic-resolver/index.umd.js","../../components/locale/index.umd.js","../../components/notify/index.umd.js"],E):(b=typeof globalThis<"u"?globalThis:b||self,E(b.avatar={},b.common,b.Vue,b.designerCanvas,b.LodashES,b.dynamicResolver,b.locale,b.notify))})(this,function(b,E,f,l,R,x,w,K){"use strict";var le=Object.defineProperty;var ae=(b,E,f)=>E in b?le(b,E,{enumerable:!0,configurable:!0,writable:!0,value:f}):b[E]=f;var y=(b,E,f)=>ae(b,typeof E!="symbol"?E+"":E,f);function U(g){const{formSchemaUtils:o,formStateMachineUtils:e}=g;function t(s,u=""){return{path:u+s.code,field:s.id,fullPath:s.code}}function i(s,u=""){const d=o.getViewModelById(s);return d?d.states.map(a=>t(a,u)):[]}function n(s){const u=o.getRootViewModelId(),d=i(s);if(s===u)return d;const a=i(u,"root-component.");return[...d,...a]}function r(s){return s.binding&&s.binding.path||s.id||""}function c(){return e&&e.getRenderStates()||[]}return{getVariables:n,getControlName:r,getStateMachines:c}}class D{constructor(o){y(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);y(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});y(this,"getExpressionConverter",(o,e)=>({convertFrom:(t,i,n,r)=>{const c=n.getExpressionRuleValue(o,e||i);return c&&c.value||""},convertTo:(t,i,n,r,c)=>{var s;if(i==="dataPicking"&&(n!=null&&n.target)){const u=`${n.target}_dataPicking`;((s=n.rules)==null?void 0:s.some(a=>a.id===u&&a.value))?t.dictPickingExpressionId=u:delete t.dictPickingExpressionId}r.updateExpression(n)}}));this.formSchemaService=o}getExpressionRule(o,e){const t=this.formSchemaService.getExpressions();if(!t)return"";const i=t.find(r=>r.target===o);if(!i)return"";const n=i.rules.find(r=>r.type===e);return n||""}getContextFormVariables(){const{module:o}=this.formSchemaService.getFormSchema();if(!o.viewmodels||o.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),t=this.formSchemaService.getViewModelById(e);if(!t||!t.states||t.states.length===0)return[];const i=[];return t.states.filter(n=>n.category==="remote").forEach(n=>{i.push({key:n.code,name:n.name,description:n.name,category:n.category})}),i}createTreeNode(o,e,t="label"){return{id:o.id,name:o.name,bindingPath:o[t],parents:e,type:"field"}}buildEntityFieldsTreeData(o=null,e){const t=[];return o==null||o.forEach(i=>{var c;const n=this.createTreeNode(i,e);let r=[];(c=i.type)!=null&&c.fields&&(r=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),t.push({data:n,children:r,expanded:!0})}),t}buildChildEntityTreeData(o=null,e){const t=[];return o==null||o.forEach(i=>{var s,u;const n=this.createTreeNode(i,e);n.type="entity";const r=this.buildEntityFieldsTreeData((s=i.type)==null?void 0:s.fields,[...e,i.label]),c=this.buildChildEntityTreeData((u=i.type)==null?void 0:u.entities,[...e,i.label]);c!=null&&c.length&&(r==null||r.push(...c)),t.push({data:n,children:r||[],expanded:!0})}),t}getEntitiesTreeData(){const o=this.formSchemaService.getSchemaEntities();if(!(o!=null&&o.length))return[];const e=o[0];if(!(e!=null&&e.type))return[];const t=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(t==null||t.push(...i)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:t||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(o,e,t){const i=t==="Field"?o.binding.field:o.id,n=this.getExpressionRule(i,e),r=this.getEntitiesAndVariables(),c={message:["validate","required","dataPicking"].includes(e)&&n?n.message:"",...r};return n.messageType!=null&&(c.messageType=n.messageType),c}buildRule(o,e,t,i){const{expression:n,message:r,messageType:c}=e,s={id:`${o}_${t}`,type:t,value:n};return(t==="validate"||t==="dataPicking"||t==="required")&&(s.message=r),t==="dataPicking"&&(s.messageType=c),t==="validate"&&i&&(s.elementId=i),s}getExpressionData(){const{expressions:o}=this.formSchemaService.getFormSchema().module;return o||[]}updateExpression(o,e,t,i){const n=e==="Field"?o.binding.field:o.id,r=this.buildRule(n,t,i,o.type==="form-group"?o.id:"");let s=this.getExpressionData().find(d=>d.targetType===e&&d.target===n);const u=d=>d.value.trim()==="";if(s){const d=s.rules.find(a=>a.id===r.id);if(d)u(r)?s.rules=s.rules.filter(a=>a.id!==r.id):(Object.assign(d,r),i==="validate"&&o.type==="form-group"&&(d.elementId=o.id));else{if(u(r))return null;s.rules=s.rules||[],s.rules.push(r)}}else{if(u(r))return null;s={target:`${n}`,rules:[r],targetType:e}}return s}getExpressionEditorOptions(o,e,t,i){return t.reduce((n,r)=>{var s,u;const c=e==="Field"?(s=o==null?void 0:o.binding)==null?void 0:s.field:o.id;return n[r]={hide:e==="Field"?!!((u=o==null?void 0:o.binding)!=null&&u.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(c),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(o,r,e),onSubmitModal:d=>{const a=this.updateExpression(o,e,d,r);if(i){const A=this.buildRule(c,d,r);i(A)}return a}}},n},{})}getExpressionInfo(o,e,t){const i=e==="Field"?o.binding.field:o.id,n=this.getExpressionRule(i,t),r={value:n&&n.value,targetId:i,targetType:e,expressionType:t};return n&&n.message&&(r.message=n.message),r}getExpressionConfig(o,e,t=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!o.binding,properties:{...this.getExpressionEditorOptions(o,e,t,i)}}}getExpressionOptions(o,e,t){const i=this.getExpressionInfo(o,e,t);return{dialogTitle:`${this.expressionNames[t]}编辑器`,singleExpand:!1,showMessage:t==="required",beforeOpen:()=>this.onBeforeOpenExpression(o,t,e),expressionInfo:i}}}class L{constructor(o,e){y(this,"componentId");y(this,"viewModelId");y(this,"eventsEditorUtils");y(this,"formSchemaUtils");y(this,"formMetadataConverter");y(this,"designViewModelUtils");y(this,"designViewModelField");y(this,"controlCreatorUtils");y(this,"designerHostService");y(this,"designerContext");y(this,"schemaService",null);y(this,"metadataService",null);y(this,"propertyConfig",{type:"object",categories:{}});var t;this.componentId=o,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((t=this.formSchemaUtils)==null?void 0:t.getViewModelIdByComponentId(o))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var o,e;return(e=(o=this.designerContext)==null?void 0:o.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var o;return(o=this.schemaService)==null?void 0:o.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(o){var t;const e=o.binding&&o.binding.type==="Form"&&o.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(n=>n.id===e)}o.updateOn=(t=this.designViewModelField)==null?void 0:t.updateOn}}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",idField:"value",editable:!1,data:[{value:o.type,name:l.DgControl[o.type]&&l.DgControl[o.type].name}]}}}}}getAppearanceConfig(o=null,e={},t){const i={title:"外观",description:"Appearance"},n={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in e)n[r]=Object.assign(n[r]||{},e[r]);return{...i,properties:{...n},setPropertyRelates(r,c){if(r){switch(r&&r.propertyID){case"class":case"style":{l.canvasChanged.value++;break}}t&&t(r,o,c)}}}}getPropertyEditorParams(o,e=[],t="visible",i={},n={},r=""){const{getVariables:c,getControlName:s,getStateMachines:u}=U(this.designerHostService),d=this.getRealTargetType(o),a=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],A={type:"property-editor",propertyTypes:a};return a.map(m=>{switch(m){case"Const":Object.assign(A,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":A.expressionConfig=this.getExpressionOptions(o,d,r||t);break;case"StateMachine":A.stateMachines=u();break;case"Variable":Object.assign(A,{controlName:s(o),newVariablePrefix:"is",newVariableType:"Boolean",variables:c(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=c(this.viewModelId)}},n),this.designerContext.designerMode==="PC_RTC"&&(A.newVariablePrefix="ext_"+A.newVariablePrefix);break}}),A}getVisibleProperty(o,e=""){var n;let t=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?t=["Const","Expression"]:e==="form-group"&&!((n=o.binding)!=null&&n.field)?t=["Const","Variable","StateMachine"]:(e==="dataGrid"||e==="treeGrid"||e==="wizard")&&(t=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(o,t,"visible")}}}getBehaviorConfig(o,e="",t={},i){const n={title:"行为",description:""},r=this.getVisibleProperty(o,e);for(const s in t)r[s]=Object.assign(r[s]||{},t[s]);const c=this;return{...n,properties:{...r},setPropertyRelates(s,u){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":c.afterMutilEditorChanged(o,s);break}i&&i(s,u)}}}}afterMutilEditorChanged(o,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,o)}updateElementByParentContainer(o,e){const t=e&&e.parent&&e.parent.schema;if(!t)return;const i=t.contents.findIndex(r=>r.id===o),n=R.cloneDeep(t.contents[i]);t.contents.splice(i,1),t.contents.splice(i,0,n),l.refreshCanvas()}addNewVariableToViewModel(o,e){const t=o.propertyValue;if(!(t&&typeof t=="object")||!(t.type==="Variable"&&t.isNewVariable))return;const r={id:t.field,category:"locale",code:t.fullPath,name:t.fullPath,type:t.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete t.newVariableType,delete t.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}updateExpressionValue(o){const e=o.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:n,expressionInfo:r}=e,{targetId:c,targetType:s,expressionType:u,value:d,message:a}=r,A=this.formSchemaUtils.getModule();A.expressions=A.expressions||[];const{expressions:m}=A;let p=m.find(C=>C.target===c);p||(p={target:c,rules:[],targetType:s},m.push(p));const h=p.rules.find(C=>C.type===u);if(h)h.value=d,h.message=a;else{const C={id:n,type:u,value:d,message:a};p.rules.push(C)}delete e.expressionInfo}clearExpression(o,e){const t=o.propertyValue;if(t&&t.type==="Expression")return;const n=o.propertyID,r=this.formSchemaUtils.getExpressions(),c=e.binding?e.binding.field:e.id,s=r.find(u=>u.target===c);!s||!s.rules||(s.rules=s.rules.filter(u=>u.type!==n))}getExpressionOptions(o,e,t){return new D(this.formSchemaUtils).getExpressionOptions(o,e,t)}getRealTargetType(o){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(o.type)>-1?"Button":o.binding&&o.binding.field?"Field":"Container"}createBaseEventProperty(o){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:o,viewSourceHandle:t=>{var i;((i=t.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(t)}}},e}}const F=class F{static getEditorTypesByMDataType(o,e=!1,t=""){if(e)return[{key:l.DgControl["language-textbox"].type,value:l.DgControl["language-textbox"].name}];let i=F.fieldControlTypeMapping[o];if(t==="data-grid-column"&&(i!=null&&i.length)){const n=[l.DgControl["check-group"].type,l.DgControl["radio-group"].type,l.DgControl.image.type,l.DgControl["rich-text-editor"].type];i=i.filter(r=>!n.includes(r.key))}return i}static getAllInputTypes(){const o=[];for(const e in F.fieldControlTypeMapping)F.fieldControlTypeMapping[e].forEach(t=>{o.find(i=>i.key===t.key&&i.value===t.value)||o.push({key:t.key,value:t.value})});return o}static mappingDomPropAndSchemaProp(o,e){var n;const t=(n=o.editor)==null?void 0:n.type,i=[];return(o.type===l.DgControl["data-grid-column"].type||o.type===l.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(t===l.DgControl["input-group"].type||t===l.DgControl.textarea.type||t===l.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),t===l.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(o.type===l.DgControl["data-grid-column"].type||o.type===l.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(t===l.DgControl["combo-list"].type||t===l.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(o.type===l.DgControl["data-grid-column"].type||o.type===l.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),t===l.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),t===l.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),t===l.DgControl.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(o.type===l.DgControl["data-grid-column"].type||o.type===l.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};y(F,"fieldControlTypeMapping",{String:[{key:l.DgControl["input-group"].type,value:l.DgControl["input-group"].name},{key:l.DgControl.lookup.type,value:l.DgControl.lookup.name},{key:l.DgControl.image.type,value:l.DgControl.image.name},{key:l.DgControl["date-picker"].type,value:l.DgControl["date-picker"].name},{key:l.DgControl.switch.type,value:l.DgControl.switch.name},{key:l.DgControl["check-box"].type,value:l.DgControl["check-box"].name},{key:l.DgControl["check-group"].type,value:l.DgControl["check-group"].name},{key:l.DgControl["radio-group"].type,value:l.DgControl["radio-group"].name},{key:l.DgControl["combo-list"].type,value:l.DgControl["combo-list"].name},{key:l.DgControl.textarea.type,value:l.DgControl.textarea.name},{key:l.DgControl["time-picker"].type,value:l.DgControl["time-picker"].name}],Text:[{key:l.DgControl.textarea.type,value:l.DgControl.textarea.name},{key:l.DgControl.lookup.type,value:l.DgControl.lookup.name},{key:l.DgControl.image.type,value:l.DgControl.image.name},{key:l.DgControl.avatar.type,value:l.DgControl.avatar.name},{key:l.DgControl["rich-text-editor"].type,value:l.DgControl["rich-text-editor"].name}],Decimal:[{key:l.DgControl["number-spinner"].type,value:l.DgControl["number-spinner"].name}],Integer:[{key:l.DgControl["number-spinner"].type,value:l.DgControl["number-spinner"].name}],Number:[{key:l.DgControl["number-spinner"].type,value:l.DgControl["number-spinner"].name},{key:l.DgControl.switch.type,value:l.DgControl.switch.name},{key:l.DgControl["check-box"].type,value:l.DgControl["check-box"].name}],BigNumber:[{key:l.DgControl["number-spinner"].type,value:l.DgControl["number-spinner"].name}],Date:[{key:l.DgControl["date-picker"].type,value:l.DgControl["date-picker"].name}],DateTime:[{key:l.DgControl["date-picker"].type,value:l.DgControl["date-picker"].name}],Boolean:[{key:l.DgControl.switch.type,value:l.DgControl.switch.name},{key:l.DgControl["check-box"].type,value:l.DgControl["check-box"].name}],Enum:[{key:l.DgControl["combo-list"].type,value:l.DgControl["combo-list"].name},{key:l.DgControl["radio-group"].type,value:l.DgControl["radio-group"].name}],Object:[{key:l.DgControl.lookup.type,value:l.DgControl.lookup.name},{key:l.DgControl["combo-list"].type,value:l.DgControl["combo-list"].name},{key:l.DgControl["radio-group"].type,value:l.DgControl["radio-group"].name}]});let P=F;var S=(g=>(g.Form="Form",g.Variable="Variable",g))(S||{});class q{constructor(){y(this,"label","");y(this,"id","");y(this,"columnInSM",12);y(this,"columnInMD",6);y(this,"columnInLG",3);y(this,"columnInEL",2);y(this,"displayWidthInSM",1);y(this,"displayWidthInMD",1);y(this,"displayWidthInLG",1);y(this,"displayWidthInEL",1);y(this,"displayColumnCountAtBreakPoint","md");y(this,"tagRow",0);y(this,"showTopBorder",0);y(this,"group",1);y(this,"isSupportedClass",!0);y(this,"fieldSetId","")}}function j(g){let o,e;const t=new Map;let i=[];function n(d,a){const m=d.split(" ").filter(I=>I.startsWith("col-"));if(m.length===0){a.isSupportedClass=!1;return}let p=m.find(I=>/^col-([1-9]|10|11|12)$/.test(I)),h=m.find(I=>/^col-md-([1-9]|10|11|12)$/.test(I)),C=m.find(I=>/^col-xl-([1-9]|10|11|12)$/.test(I)),v=m.find(I=>/^col-el-([1-9]|10|11|12)$/.test(I));p=p||"col-12",a.columnInSM=parseInt(p.replace("col-",""),10),a.displayWidthInSM=a.columnInSM/12,a.displayWidthInSM!==1&&(a.isSupportedClass=!1),h=h||"col-md-"+a.columnInSM,a.columnInMD=parseInt(h.replace("col-md-",""),10),a.displayWidthInMD=a.columnInMD/6,[1,2].includes(a.displayWidthInMD)||(a.isSupportedClass=!1),C=C||"col-xl-"+a.columnInMD,a.columnInLG=parseInt(C.replace("col-xl-",""),10),a.displayWidthInLG=a.columnInLG/3,[1,2,3,4].includes(a.displayWidthInLG)||(a.isSupportedClass=!1),v=v||"col-el-"+a.columnInLG,a.columnInEL=parseInt(v.replace("col-el-",""),10),a.displayWidthInEL=a.columnInEL/2,[1,2,3,4,5,6].includes(a.displayWidthInEL)||(a.isSupportedClass=!1)}function r(d,a,A,m=!1){let p=!1;d.contents.forEach(h=>{if(h.type==="fieldset"){A+=1,r(h,a,A,!0),p=!0;return}p&&(A+=1,p=!1);const C=h.appearance&&h.appearance.class,v=new q;C?n(C,v):v.isSupportedClass=!1,v.label=h.label||h.id,v.id=h.id,v.group=A,m&&(v.fieldSetId=d.id),e===h.id&&(o=A),t.set(h.id,h),a.push(v)})}function c(d){const a=g.getComponentById(d);if(!a||!a.componentType||!a.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const A=g.selectNode(a,m=>m.type===l.DgControl["response-form"].type);return!A||!A.contents||A.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:A}}function s(d,a){a=a||d.id;const{result:A,message:m,formNode:p}=c(a);if(!A)return{result:A,message:m};e=d.id,i=[],t.clear();const h=p.contents[0].type===l.DgControl.fieldset.type?0:1;r(p,i,h);const C=i.find(I=>!I.isSupportedClass);return{defaultState:{defaultGroupNumber:o||1,model:C?"customize":"standard"},importData:i}}function u(d,a){a=a;const{result:A,formNode:m}=c(a);if(!A)return"";const p=[];return d.forEach(h=>{var I;const C=t.get(h.id),v=C.appearance&&C.appearance.class;if(v){const M=v.split(" ").filter(se=>!se.startsWith("col-")),V="col-"+h.columnInSM,ie="col-md-"+h.columnInMD,oe="col-xl-"+h.columnInLG,ne="col-el-"+h.columnInEL,re=[V,ie,oe,ne].concat(M);C.appearance.class=re.join(" ")}if(h.fieldSetId){const k=m.contents.find(V=>V.id===h.fieldSetId),M=p.find(V=>V.id===h.fieldSetId);M?(I=M.contents)==null||I.push(C):(p.push(k),k.contents=[C])}else p.push(C)}),m.contents=p,m.id}return{checkCanFindFormNode:c,checkCanOpenLayoutEditor:s,changeFormControlsByResponseLayoutConfig:u,getResonseFormLayoutConfig:r}}const G=g=>f.createVNode(f.Fragment,null,[f.createVNode("h5",null,[f.createTextVNode("代码示例")]),f.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[f.createVNode("code",null,[`
|
|
2
|
+
<h3>Tips:</h3>
|
|
3
|
+
<span style="color: blue;">
|
|
4
|
+
自定义提示内容
|
|
5
|
+
</span>
|
|
6
|
+
`])])]);class W extends L{constructor(e,t){super(e,t);y(this,"responseLayoutEditorFunction");y(this,"bindingVarible");y(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);y(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=j(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group"),i==="Card"){const n=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...n},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(e.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(e))}}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var u;const n=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:c}=this.getAvailableEditorType(e),s={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:c,readonly:!r}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((u=e.editor)==null?void 0:u.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(d,a,A){if(d)switch(d&&d.propertyID){case"type":{n.changeControlType(e,d,t);break}case"label":{d.needRefreshControlTree=!0;break}case"binding":{n.changeBindingField(e,d,A);break}}}};return i.toLocaleLowerCase()!=="card"&&delete s.properties.showLabelType,s}getExpandProperties(e){const t=this,i=["Const","Variable"],n=this.getPropertyEditorParams(e,i,"expandable"),r=this.getPropertyEditorParams(e,i,"expandDisabled");return{description:"Expand Information",title:"扩展区域",properties:{expandable:{description:"是否启用扩展区域",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:n},expandMode:{description:"扩展模式 text | button",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!e.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展内容",title:"扩展内容",type:"string",visible:!!e.editor.expandable},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否隐藏扩展区域",title:"隐藏扩展区域",editor:r,visible:!!e.editor.expandable}},setPropertyRelates(s,u){if(s)switch(s.propertyID){case"expandable":case"expandDisabled":t.afterMutilEditorChanged(e,s);break}}}}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==E.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var n;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((n=l.DgControl[e.editor.type])==null?void 0:n.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===E.FormSchemaEntityField$Type.SimpleField?i=P.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=P.getEditorTypesByMDataType(this.bindingVarible.type,!1)),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(n,r){if(n)switch(n&&n.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(n.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(n.propertyValue,e.id,this.componentId),l.canvasChanged.value++;break;case"style":{l.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){const n=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const c=r.contents.findIndex(d=>d.id===e.id);if(c===-1)return;const s=r.contents[c];let u;if(this.designViewModelField){const A=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};A.editor||(A.editor={}),A.editor.$type=n,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,A,!1),u=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,n)}u||(u=this.controlCreatorUtils.createFormGroupWithoutField(n)),Object.assign(u,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding}),Object.prototype.hasOwnProperty.call(s,"visible")&&Object.assign(u,{visible:s.visible}),s.editor&&["readonly","required","placeholder"].map(d=>{Object.prototype.hasOwnProperty.call(s.editor,d)&&(u.editor[d]=s.editor[d])}),i!=null&&i.updateContextSchema?i.updateContextSchema(u):(i.schema=Object.assign(s,u),Object.assign(e,u)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(d=>d.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(d=>d.classList.remove("dgComponentFocused")),l.canvasChanged.value++,f.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(e){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(e.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:G},visible:!!e.enableTips}}:{}}getComponentConfig(e,t={},i={},n){var A,m;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),c=(A=e.binding)!=null&&A.field?[]:["Const","Variable","StateMachine"],s=this.getPropertyEditorParams(e,c,"readonly"),u=this.getPropertyEditorParams(e,c,"required"),d={readonly:{description:"",title:"只读",editor:s},required:{description:"",title:"必填",type:"boolean",editor:u,visible:!!((m=e.binding)!=null&&m.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in i)d[p]=Object.assign(d[p]||{},i[p]);const a=this;return{...r,properties:{...d},setPropertyRelates(p,h){if(p){switch(p.propertyID){case"readonly":case"required":a.afterMutilEditorChanged(e,p);break}n&&n.bind(a)(p,e,h)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const n=e.split(" ");let r=n.find(a=>/^col-([1-9]|10|11|12)$/.test(a)),c=n.find(a=>/^col-md-([1-9]|10|11|12)$/.test(a)),s=n.find(a=>/^col-xl-([1-9]|10|11|12)$/.test(a)),u=n.find(a=>/^col-el-([1-9]|10|11|12)$/.test(a));r=r||"col-12",c=c||"col-md-"+r.replace("col-",""),s=s||"col-xl-"+c.replace("col-md-",""),u=u||"col-el-"+s.replace("col-xl-","");const d={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(c.replace("col-md-",""),10),columnInLG:parseInt(s.replace("col-xl-",""),10),columnInEL:parseInt(u.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,d)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const n=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,n,1),t){const p=n.find(h=>h.id===t.id);Object.assign(p||{},t)}const r=n.map(p=>p.columnInSM),c=n.map(p=>p.columnInMD),s=n.map(p=>p.columnInLG),u=n.map(p=>p.columnInEL),d=this.checkIsUniqueColumn(r)?r[0]:null,a=this.checkIsUniqueColumn(c)?c[0]:null,A=this.checkIsUniqueColumn(s)?s[0]:null,m=this.checkIsUniqueColumn(u)?u[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:d,uniqueColClassInMD:a,uniqueColClassInLG:A,uniqueColClassInEL:m})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===E.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===S.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case S.Form:return e.binding.path||e.type;case S.Variable:return e.binding.fullPath||e.type}return e.type}updateLinkedLabel(e,t){if(e.boundEventsList&&e.boundEventsList.length>0){const i=e.boundEventsList.find(n=>n.boundEvents&&n.boundEvents.label==="onClickLabel");t.linkLabel=!!i}else t.linkLabel=!1}getEventPropertyConfig(e,t="card",i,n){const r=this;let c=[...this.formGroupEvents];if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(e.editor.type)&&c.push({lable:"onClear",name:"清空事件"}),i&&(c=c.concat(i)),c.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,c);const u=r.eventsEditorUtils.formProperties(e,r.viewModelId,c);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(u),tabId:"commands",tabName:"交互",setPropertyRelates(A,m){const p=A.propertyValue;delete e[r.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,p.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,p.events,p),r.updateLinkedLabel(p,m)),n&&n(A,m,p);const h=r.designViewModelUtils.getDgViewModel(r.viewModelId);h&&r.designViewModelField&&h.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],n){return new D(this.formSchemaUtils).getExpressionConfig(e,t,i,n)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var n;e.editor[t]!==i?e.editor[t]=i:(n=this.getFormDesignerInstance())==null||n.reloadPropertyPanel()}setBooleanValue(e,t,i){let n=i;this.getBindingDataType()==="string"&&(n=(n||"").trim()||(t==="trueValue"?"true":"false"));const c=t==="trueValue"?"falseValue":"trueValue";e.editor[c]===n&&(n=n+1),this.updatePropertyValue(e,t,n)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class Z extends W{constructor(o,e){super(o,e)}getEditorProperties(o){return this.getComponentConfig(o,{},{placeholder:{visible:!1},maxSize:{description:"允许头像上传的大小,单位MB",title:"允许图片大小 (M)",type:"number"},cover:{description:"",title:"默认封面",type:"string"},title:{description:"鼠标滑过图像时的提示文字",title:"提示文字",type:"string"},avatarWidth:{description:"",title:"头像宽度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},avatarHeight:{description:"",title:"头像高度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},imageType:{description:"允许图片上传的类型",title:"允许图片格式",type:"array",editor:{type:"combo-list",placeholder:"",multiSelect:!0,data:[{id:"png",name:"png"},{id:"jpg",name:"jpg"},{id:"jpeg",name:"jpeg"},{id:"webp",name:"webp"},{id:"svg",name:"svg"},{id:"gif",name:"gif"},{id:"bmp",name:"bmp"}]}}})}}function O(g,o){const e=g.schema;function t(i,n){return new Z(i,o).getPropertyConfig(e,n)}return{getPropsConfig:t}}function Q(g,o,e){return o}const J=new Map([["appearance",x.resolveAppearance],["imageType",x.resolveAppearance]]),z=new Map([["appearance",x.resolveAppearance]]),N={$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"},title:{description:"",type:"string"},avatarHeight:{description:"",type:"number"},readonly:{description:"",type:"boolean",default:!1},cover:{description:"",type:"string"},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},visible:{type:Boolean,default:!0},shape:{type:String,default:"circle"},maxSize:{type:Number,default:1},modelValue:{type:String,default:""},title:{type:String,default:""},imageType:{type:Array,default:[]}},Y=x.createPropsResolver(T,N,J,Q),H=Object.assign({},T,{componentId:{type:String,default:""}}),X=x.createPropsResolver(H,N,z,Q),B=f.defineComponent({name:"FAvatarDesign",props:H,emits:["change","update:modelValue"],setup(g,o){const e=f.ref(),t=f.inject("designer-host-service"),i=f.inject("design-item-context"),n=O(i,t),r=l.useDesignerComponent(e,i,n);f.onMounted(()=>{e.value.componentInstance=r}),o.expose(r.value);const c=f.computed(()=>({"f-avatar":!0,"f-avatar-readonly":g.readonly===!0||g.disabled===!0,"f-avatar-circle":g.shape==="circle","f-avatar-square":g.shape==="square"})),s=f.computed(()=>g.readonly===!1?g.disabled:g.readonly),u=f.computed(()=>({width:g.avatarWidth+"px",height:g.avatarHeight+"px"})),d="data:image/jpeg;base64,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";return()=>f.createVNode("div",{ref:e,class:c.value,style:u.value},[f.createVNode("img",{title:g.title,class:"f-avatar-image",src:d},null),!s.value&&f.createVNode("div",{class:"f-avatar-icon"},[f.createVNode("span",{class:"f-icon f-icon-camera"},null)])])}});function $(g,o,e,t){function i(A){return A.match(/\.(jpeg|jpg|gif|png|svg|bmp|webp)$/)!=null}const n=["image/image","image/webp","image/png","image/svg","image/gif","image/jpg","image/jpeg","image/bmp"];function r(A){return A.indexOf("data:image/")>-1}function c(A){return A?"data:image/jpeg;base64,"+A:""}const s=f.computed(()=>{var m;if(!g.imageType||!g.imageType.length)return n;const A=(m=g.imageType)==null?void 0:m.map(p=>(p==="jpg"&&(p="jpeg"),`image/${p}`));return!A||!A.length?"image/*":A.join(",")}),u=f.computed(()=>i(t.value)||r(t.value)?t.value:c(t.value)),d=f.computed(()=>g.readonly?"":g.title);function a(){g.readonly||e&&e.value&&e.value.click()}return{acceptTypes:s,imageSource:u,imageTitle:d,onClickImage:a}}function _(g,o,e,t,i){const n=new K.FNotifyService;function r(d){t.value=d}function c(d){return new Promise((A,m)=>{const p=new FileReader;p.readAsDataURL(d),p.onload=()=>{A({state:"done",content:p.result})},p.onerror=function(){m({state:"error",content:p.result})}})}function s(d){const a={size:d.size,name:d.name,type:d.type,lastModified:String(d.lastModified)};c(d).then(A=>{A.state==="done"&&(r(A.content),a.state=A.state,a.base64=A.content,o.emit("imageChange",a)),i.value=!1}).catch(A=>{i.value=!1;const m=w.LocaleService.getLocaleValue("avatar.uploadError");n.error({message:m,position:"top-center"})})}function u(d){if(g.readonly)return;const a=d.target,A=a.files;if(!A||!A[0])return;const m=A[0].type,p=A[0].size/1024/1024<g.maxSize;if(e.value&&e.value.split(",").indexOf(m)<0){const h=w.LocaleService.getLocaleValue("avatar.typeError");n.error({message:h,position:"top-center"}),a.value="";return}if(!p){const h=w.LocaleService.getLocaleValue("avatar.sizeError")+g.maxSize+"MB!";n.error({message:h,position:"top-center"}),a.value="";return}i.value=!0,s(A[0]),a.value=""}return{onFileChange:u}}const ee=f.defineComponent({name:"FAvatar",props:T,emits:["change","update:modelValue"],setup(g,o){const e=f.ref(),t="data:image/jpeg;base64,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",i="data:image/jpeg;base64,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",n=f.computed(()=>({"f-avatar":!0,"f-avatar-readonly":g.readonly,"f-avatar-circle":g.shape==="circle","f-avatar-square":g.shape==="square"})),r=f.computed(()=>({width:g.avatarWidth+"px",height:g.avatarHeight+"px"})),c=f.ref(!1),s=f.ref(g.modelValue||t),{acceptTypes:u,imageSource:d,onClickImage:a}=$(g,o,e,s),{onFileChange:A}=_(g,o,u,s,c);f.watch(()=>g.modelValue,p=>{s.value=p||t});function m(){s.value=i}return()=>f.createVNode("div",{class:n.value,style:r.value,onClick:a},[c.value&&f.createVNode("div",{class:"f-avatar-upload-loading"},[f.createVNode("div",{class:"loading-inner"},[w.LocaleService.getLocaleValue("avatar.loading")])]),f.createVNode("img",{title:g.title,class:"f-avatar-image",src:d.value,onError:m},null),!g.readonly&&f.createVNode("div",{class:"f-avatar-icon"},[f.createVNode("span",{class:"f-icon f-icon-camera"},null)]),!g.readonly&&f.createVNode("input",{ref:e,name:"file-input",type:"file",class:"f-avatar-upload",accept:u.value,onChange:A,style:"display: none;"},null)])}});B.register=(g,o,e,t)=>{g.avatar=ee,o.avatar=Y},B.registerDesigner=(g,o,e)=>{g.avatar=B,o.avatar=X};const te=E.withInstall(B);b.FAvatarDesign=B,b.default=te,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1289,7 +1289,8 @@ const ee = /* @__PURE__ */ ue({
|
|
|
1289
1289
|
return () => p("div", he(t.attrs, {
|
|
1290
1290
|
ref: n,
|
|
1291
1291
|
class: g.value,
|
|
1292
|
-
id: e.id ? e.id : void 0
|
|
1292
|
+
id: e.id ? e.id : void 0,
|
|
1293
|
+
style: "pointer-events: none;"
|
|
1293
1294
|
}), [p("div", {
|
|
1294
1295
|
class: x.value
|
|
1295
1296
|
}, [p("input", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(O,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("../../components/common/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("../../components/button-edit/index.umd.js"),require("vue"),require("../../components/locale/index.umd.js"),require("lodash-es"),require("../../components/property-panel/index.umd.js"),require("../../components/button/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../../components/designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/dynamic-resolver/index.umd.js","../../components/button-edit/index.umd.js","vue","../../components/locale/index.umd.js","lodash-es","../../components/property-panel/index.umd.js","../../components/button/index.umd.js","../../components/field-selector/index.umd.js","../../components/designer-canvas/index.umd.js"],T):(O=typeof globalThis<"u"?globalThis:O||self,T(O["button-edit"]={},O.common,O.dynamicResolver,O.FButtonEdit,O.Vue,O.locale,O.LodashES,null,null,null,O.designerCanvas))})(this,function(O,T,q,oe,e,_,pe,it,rt,ut,me){"use strict";var ot=Object.defineProperty;var st=(O,T,q)=>T in O?ot(O,T,{enumerable:!0,configurable:!0,writable:!0,value:q}):O[T]=q;var X=(O,T,q)=>st(O,typeof T!="symbol"?T+"":T,q);const he={id:{type:String,default:""},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:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},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"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},ve={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ye=e.defineComponent({name:"FOverlay",props:ve,emits:["click"],setup(t,n){const l=e.ref(t.popupContentPosition),o=e.ref(t.host),c=e.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function i(r){n.emit("click"),r.preventDefault(),r.stopPropagation()}e.computed(()=>{const r=o.value;if(r){const f=r.getBoundingClientRect(),{left:m,top:C,height:v}=f;return{left:m,top:C+v}}return l.value});const p=e.computed(()=>({}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var r,f;return[e.createVNode("div",{class:"overlay-container",onClick:m=>i(m),style:c.value},[e.createVNode("div",{style:p.value},[(f=(r=n.slots).default)==null?void 0:f.call(r)])])]}})}});function ge(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function be(t){const n=document.createElement("div");n.style.display="contents";let l;const o=t.onClickCallback||(()=>{}),c=()=>{o(),l&&l.unmount()};return l=e.createApp({setup(){e.onUnmounted(()=>{document.body.removeChild(n)});const i=ge(t);return()=>e.createVNode(ye,{"popup-content-position":t.popupPosition,host:t.host,onClick:c,backgroundColor:t.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),l.mount(n),l}class we{static show(n){return be(n)}}const Ce={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showFloatingClose:{type:Boolean,default:!1},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}};class S{constructor(n,l){this.x=n,this.y=l}static getTransformInfo(n){const o=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const c=parseInt(o[4],10),i=parseInt(o[5],10);return{x:c,y:i}}return{x:0,y:0}}static fromEvent(n,l=null){if(this.isMouseEvent(n))return new S(n.clientX,n.clientY);if(l===null||n.changedTouches.length===1)return new S(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let o=0;o<n.changedTouches.length;o++)if(n.changedTouches[o].target===l)return new S(n.changedTouches[o].clientX,n.changedTouches[o].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const l=new S(0,0);if(window){const o=window.getComputedStyle(n);if(o){const c=parseInt(o.getPropertyValue("left"),10),i=parseInt(o.getPropertyValue("top"),10);l.x=isNaN(c)?0:c,l.y=isNaN(i)?0:i}return l}return null}static copy(n){return new S(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class A{constructor(n,l){this.width=n,this.height=l}static getCurrent(n){const l=new A(0,0);if(window){const o=window.getComputedStyle(n);return o&&(l.width=parseInt(o.getPropertyValue("width"),10),l.height=parseInt(o.getPropertyValue("height"),10)),l}return null}static copy(n){return new A(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function xe(t,n){const l=e.ref(),o=e.ref(),c=e.ref(),i=e.ref(),p=e.ref(),r=e.ref(),f=e.ref(),m=e.ref(),C=e.ref(),v=e.ref(),z=e.ref(),g=e.ref(t.resizeable),M=e.ref(),B=e.ref(t.draggable),H=e.ref(!1);function P(){const s=o.value||document.body,u=window.getComputedStyle(s);if(!u||!l.value)return;const x=S.getTransformInfo(l.value),y={};f.value&&(y.deltaL=l.value.offsetLeft-f.value.x,y.deltaT=l.value.offsetTop-f.value.y);const j=u.getPropertyValue("position");y.width=s.clientWidth,y.height=s.clientHeight,y.pr=parseInt(u.getPropertyValue("padding-right"),10),y.pb=parseInt(u.getPropertyValue("padding-bottom"),10),y.position=u.getPropertyValue("position"),j==="static"&&(s.style.position="relative"),y.translateX=x.x,y.translateY=x.y,v.value=y}function k(s){if(l.value){i.value=A.getCurrent(l.value),p.value=S.getCurrent(l.value),r.value=i.value?A.copy(i.value):null,f.value=p.value?S.copy(p.value):null,P();const u=s.target.getAttribute("type")||"";m.value={n:!!u.match(/n/),s:!!u.match(/s/),w:!!u.match(/w/),e:!!u.match(/e/)}}}function F(){var s,u,x,y;if(l.value){const j=l.value;m.value&&((m.value.n||m.value.s)&&((s=r.value)!=null&&s.height)&&(j.style.height=r.value.height+"px"),(m.value.w||m.value.e)&&((u=r.value)!=null&&u.width)&&(j.style.width=r.value.width+"px"),f.value&&((x=f.value)!=null&&x.x&&(j.style.left=f.value.x+"px"),(y=f.value)!=null&&y.y&&(j.style.top=f.value.y+"px")))}}function R(){const s=t.minHeight?t.minHeight:1,u=t.minWidth?t.minWidth:1;r.value&&f.value&&m.value&&i.value&&(r.value.height<s&&(r.value.height=s,m.value.n&&p.value&&(f.value.y=p.value.y+(i.value.height-s))),r.value.width<u&&(r.value.width=u,m.value.w&&p.value&&(f.value.x=p.value.x+(i.value.width-u))),t.maxHeight&&r.value.height>t.maxHeight&&(r.value.height=t.maxHeight,p.value&&m.value.n&&(f.value.y=p.value.y+(i.value.height-t.maxHeight))),t.maxWidth&&r.value.width>t.maxWidth&&(r.value.width=t.maxWidth,m.value.w&&p.value&&(f.value.x=p.value.x+(i.value.width-t.maxWidth))))}function b(){if(o.value){const s=v.value;if(f.value&&r.value&&m.value&&i.value){const u=s.width-s.pr-s.deltaL-s.translateX-f.value.x,x=s.height-s.pb-s.deltaT-s.translateY-f.value.y;m.value.n&&f.value.y+s.translateY<0&&p.value&&(f.value.y=-s.translateY,r.value.height=i.value.height+p.value.y+s.translateY),m.value.w&&f.value.x+s.translateX<0&&p.value&&(f.value.x=-s.translateX,r.value.width=i.value.width+p.value.x+s.translateX),r.value.width>u&&(r.value.width=u),r.value.height>x&&(r.value.height=x)}}}function N(s){if(!c.value||!i.value||!p.value||!m.value)return;s.subtract(c.value);const u=s.x,x=s.y;m.value.n?(f.value.y=p.value.y+x,r.value.height=i.value.height-x):m.value.s&&(r.value.height=i.value.height+x),m.value.e?r.value.width=i.value.width+u:m.value.w&&(r.value.width=i.value.width-u,f.value.x=p.value.x+u),b(),R(),F()}function d(s){if(!C.value)return;const u=S.fromEvent(s);u&&N(u)}function w(){if(l.value){const{width:s,height:u,x,y}=l.value.getBoundingClientRect(),j=S.getTransformInfo(l.value);return{size:{width:s,height:u},position:{x:x-j.x,y:y-j.y}}}return null}function I(s){if(l.value){const u=w();z.value=u}c.value=void 0,i.value=null,p.value=null,r.value=null,f.value=null,m.value=null,C.value=null,document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",I)}function W(){document.addEventListener("mousemove",d),document.addEventListener("mouseup",I)}function E(s){s instanceof MouseEvent&&s.button===2||B.value&&(document.body.click(),s.stopPropagation(),s.preventDefault(),c.value=S.fromEvent(s),C.value=s.target,k(s),W())}function D(s){return l.value=s,g.value&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:u=>E(u)},null)])}function J(s=!0){document.body.click();const u=o.value||document.body,x=A.getCurrent(u),y=l.value;s&&y&&(M.value=w(),M.value.transform=y.style.transform),x&&y&&(r.value=x,r.value.height-=14,r.value.width-=14,y.style.height=r.value.height+"px",y.style.width=r.value.width+"px",y.style.left="7px",y.style.top="7px",y.style.transform="",z.value={size:r.value,position:{x:0,y:0}},B.value=!1,H.value=!0)}function te(){var s,u;if(document.body.click(),M.value){const x={width:M.value.size.width||0,height:M.value.size.height||0},y={x:(window.innerWidth-x.width)/2,y:(window.innerHeight-x.height)/2};(s=r.value)==null||s.set(x),(u=f.value)==null||u.set(y);const j=l.value;j.style.height=x.height+"px",j.style.width=x.width+"px",j.style.left=`${y.x}px`,j.style.top=`${y.y}px`,j.style.transform="",z.value={size:x,position:y},B.value=t.draggable,H.value=!1}}function Z(){if(l.value){const s=A.getCurrent(l.value);if(s){const{width:u,height:x}=s;l.value.style.left=`${(window.innerWidth-u)/2}px`,l.value.style.top=`${(window.innerHeight-x)/2}px`,l.value.style.transform=""}}}function U(){const s=()=>{H.value?J(!1):Z(),document.body.click()};return window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s)}}const ne=U();return{renderResizeBar:D,boundingElement:o,resizedEventParam:z,maximize:J,restore:te,allowDrag:B,isMaximized:H,unWindowResizeHandle:ne,moveToCenter:Z}}function Me(t,n,l){const o=e.ref(),c=e.ref(t.draggable),i=e.ref(t.lockAxis),p=e.ref(),r=e.ref(),f=e.ref(!1),m=e.ref(new S(0,0)),C=e.ref(new S(0,0)),v=e.ref(new S(0,0)),z=e.ref(new S(0,0));e.watch(()=>l.value,d=>{p.value.style.cursor=d?"move":"default"});function g(d,w){if(w.tagName==="BUTTON")return!1;if(w===d)return!0;for(const I in w.children)if(Object.prototype.hasOwnProperty.call(w.children,I)&&g(d,w.children[I]))return!0;return!1}function M(){var W,E;let d=v.value.x+C.value.x,w=v.value.y+C.value.y;i.value==="x"?(d=((W=m.value)==null?void 0:W.x)||0,v.value.x=0):i.value==="y"&&(w=((E=m.value)==null?void 0:E.y)||0,v.value.y=0);const I=`translate3d(${Math.round(d)}px, ${Math.round(w)}px, 0px)`;o.value&&(o.value.style.transform=I),z.value.x=d,z.value.y=w}function B(){if(!r.value||!o.value)return null;const d=r.value.getBoundingClientRect(),w=o.value.getBoundingClientRect(),I={top:d.top<w.top,right:d.right>w.right,bottom:d.bottom>w.bottom,left:d.left<w.left};return I.top||(v.value.y-=w.top-d.top),I.bottom||(v.value.y-=w.bottom-d.bottom),I.right||(v.value.x-=w.right-d.right),I.left||(v.value.x-=w.left-d.left),M(),I}function H(d){d&&(m.value&&d.subtract(m.value),v.value.set(d),M(),B())}function P(d){f.value&&c.value&&(d.stopPropagation(),d.preventDefault(),H(S.fromEvent(d,p.value)))}function k(){var d;f.value&&(f.value=!1,C.value.add(v.value),v.value.reset(),(d=o.value)==null||d.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",k))}function F(){!f.value&&p.value&&(f.value=!0,p.value.classList.add("ng-dragging"),document.addEventListener("mousemove",P),document.addEventListener("mouseup",k))}function R(){if(o.value){const d=S.getTransformInfo(o.value);C.value.set(d);return}C.value.reset()}function b(d){if(!l.value||d instanceof MouseEvent&&d.button===2)return;const w=d.target||d.srcElement;p.value!==void 0&&w&&!g(w,p.value)||c.value!==!1&&(document.body.click(),d.stopPropagation(),d.preventDefault(),m.value=S.fromEvent(d,o.value),R(),F())}function N(d,w,I){if(c.value&&w){if(d)p.value=d;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)p.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const W=w.querySelector(t.dragHandle);W&&(p.value=W)}}o.value=w,r.value=I,p.value?(p.value.classList.add("ng-draggable"),p.value.addEventListener("mousedown",b)):c.value=!1}}return{registerDraggle:N,resetTranslate:R}}function se(t,n){if(t){const l=o=>{o.key.toLowerCase()===t.toLowerCase()&&n({event:o,key:t})};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l)}}}function Be(t,n){const l=e.ref(t.enableEsc);let o=null;return l.value?(o=se("Escape",c=>{n.emit("esc",{event:c.event,type:"esc"})}),{remove:o}):null}function ke(t,n){const l=e.ref(t.enableEnter);let o=null;return l.value?(o=se("Enter",c=>{n.emit("enter",{event:c.event,type:"enter"})}),{remove:o}):null}const G=e.defineComponent({name:"FModal",props:Ce,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(t,n){const l=e.ref(t.width||300),o=e.ref(t.height||200),c=e.ref(t.modelValue),i=e.ref(""),p=e.ref(t.class),r=e.ref(t.fitContent),f=e.ref(t.showHeader),m=e.ref(""),C=e.ref(t.showCloseButton),v=e.ref(t.showMaxButton),z=e.ref(!1),g=e.ref(t.dialogType),M=e.ref(t.src),B=e.ref(""),H=e.ref(t.showButtons),P=e.ref(t.title),k=e.ref(t.containment||null),F=e.ref();P.value==="错误提示"&&(P.value=_.LocaleService.getLocaleValue("messageBox.errorTitle"));const R=e.ref(!1);function b(a,h){const L=h?"accept":"cancel";Promise.resolve().then(()=>{var V;return(V=t.beforeClose)==null?void 0:V.call(t,{closeType:L})}).then(V=>{V&&(c.value=!1,n.emit("update:modelValue",!1),h!=null&&n.emit(h?"accept":"cancel"),n.emit("closed",a))})}const N=[{name:"cancel",text:_.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:a=>{b(a,!1)}},{name:"accept",text:_.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:a=>{b(a,!0)}}],d=e.ref(t.buttons&&t.buttons.length?t.buttons:N),w=e.computed(()=>!!m.value),I=e.computed(()=>!!H.value&&!!d.value),W=e.ref(),E=e.ref(),D=e.ref(!1),{renderResizeBar:J,maximize:te,restore:Z,boundingElement:U,resizedEventParam:ne,allowDrag:s,unWindowResizeHandle:u,moveToCenter:x}=xe(t),{registerDraggle:y}=Me(t,n,s);function j(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Pe(){const a=document.querySelectorAll(".farris-modal").length;(!a||a-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}e.watch(()=>t.title,(a,h)=>{a!==h&&(P.value=a)}),e.watch(()=>t.modelValue,(a,h)=>{a!==h&&(c.value=a,c.value&&t.draggable&&e.nextTick(()=>{E.value&&!k.value&&(k.value=E.value.parentElement,U.value=k.value,y(W.value,E.value,U.value),x())}),a||(k.value&&(k.value=null),Pe())),c.value?R.value=j():(D.value=!1,s.value=t.draggable)}),e.watch(()=>t.showHeader,(a,h)=>{a!==h&&(f.value=a)}),e.watch(()=>t.showButtons,(a,h)=>{a!==h&&(H.value=a)}),e.watch(()=>ne.value,(a,h)=>{const L=a||{},V=h||{};JSON.stringify(L)!==JSON.stringify(V)&&n.emit("resize",{newSize:a,oldSize:h,isMaximized:D.value})}),e.watch([()=>t.width,()=>t.height],(a,h)=>{(a[0]!==h[0]||a[1]!==h[1])&&(l.value=a[0]||500,o.value=a[1]||600)}),e.watch(()=>t.class,(a,h)=>{p.value=a});const Q=e.computed(()=>(c.value&&document.body.classList.add("modal-open"),c.value)),Re=e.computed(()=>{var L;const a={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!t.showFloatingClose};a["f-modal-fitContent"]=!!r.value,a.show=!!Q.value;const h=(L=t.maskClass)==null?void 0:L.split(" ");return h==null||h.reduce((V,$)=>(V[$]=!0,V),a),a}),Le=e.computed(()=>{var L;const a={"modal-dialog":!0},h=(L=p.value)==null?void 0:L.split(" ");return h==null||h.reduce((V,$)=>(V[$]=!0,V),a),a}),Fe=()=>T.isMobilePhone()&&!t.isMessager||!!t.fullscreen,We=e.computed(()=>{const a=document.documentElement.clientWidth,h=document.documentElement.clientHeight,L=Math.min(l.value,a),V=t.position==="right"?"100%":r.value?"auto":`${Math.min(o.value,h-10)}px`,$=`${(window.innerHeight-(V==="100%"||V==="auto"?0:parseInt(V)))/2}px`,lt=t.position==="right"?`${window.innerWidth-L}px`:`${(window.innerWidth-L)/2}px`,fe={position:"absolute",top:$,left:lt,width:`${L}px`,height:V};return t.mask||(fe.pointerEvents="auto"),fe}),ce=e.ref(T.getMaxZIndex()||1050),De=e.computed(()=>{const a={display:"block",overflow:"hidden"};return t.mask||(a.pointerEvents="none",a.backgroundColor="transparent"),R.value&&(a.backgroundColor="transparent"),a.zIndex=ce.value,a}),qe=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value,"is-mobile":Fe()})),Ae=e.computed(()=>{const a={display:f.value?"":"none"};return a["pointer-events"]=s.value?"auto":"none",a}),$e=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:D.value})),Xe=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function Ye(){return{height:`${t.footerHeight||60}px`}}const Ue=e.computed(()=>{const a={textAlgin:B.value},h=Ye();return Object.assign(a,h)});function de(a){if(a==null||a.stopPropagation(),D.value){D.value=!1,Z();return}te(),D.value=!0}async function Ge(a,h){a.handle?await a.handle(h,a)&&n.emit("closed",h):(typeof a.onClick=="string"&&(a.onButtonClick=pe.cloneDeep(a.onClick||""),delete a.onClick),n.emit("buttonClick",{button:a,$event:h}))}function Ke(a){a.width&&(l.value=a.width),a.height&&(o.value=a.height),a.buttons&&(d.value=a.buttons),a.title&&(P.value=a.title)}let ae=null,le=null;e.onBeforeMount(()=>{R.value=j()}),e.onMounted(()=>{E.value&&!k.value&&(k.value=E.value.parentElement,U.value=k.value,y(W.value,E.value,U.value)),Q.value&&document.body.classList.add("modal-open"),ae=Be(t,n),le=ke(t,n)}),e.onUnmounted(()=>{u&&u(),ae&&ae.remove(),le&&le.remove()}),n.expose({modalElementRef:E,updateModalOptions:Ke,close:b,maxDialog:de,isMaximized:D});function _e(){return e.createVNode("div",{class:"action-wrapper",onClick:a=>b(a,!1)},[e.createVNode("span",{class:"close-icon"},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function Je(){return e.createVNode("ul",null,[z.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),v.value&&e.createVNode("li",{onClick:de,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:$e.value},null)]),C.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:a=>b(a,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function Ze(){return e.createVNode("div",{class:"modal-footer",style:Ue.value},[d.value&&d.value.map(a=>{var V;const h=e.ref(a.disabled),L=a.class||((V=a.appearance)==null?void 0:V.class);return e.createVNode("button",{name:a.name,type:"button",disabled:h.value,class:L+(a.iconClass?" btn-icontext":"")+(a.visible===!1?"d-none":""),onClick:$=>{Ge(a,$)}},[!!a.iconClass&&e.createVNode("i",{class:a.iconClass},null),a.text])})])}function Qe(){return e.createVNode("div",{ref:W,class:"modal-header",style:Ae.value},[n.slots.headerTemplate?n.slots.headerTemplate():e.createVNode("div",{class:"modal-title"},[w.value&&e.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[P.value])]),e.createVNode("div",{class:"actions"},[Je()])])}function et(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&Ze()}function tt(a){if(a.stopPropagation(),t.allowClickMaskToClose){if(a.target!==F.value)return;b(a,!1)}}function nt(){var a,h;return e.createVNode("div",{id:i.value,class:Le.value,style:We.value,ref:E},[t.showFloatingClose&&_e(),e.createVNode("div",{class:qe.value},[f.value&&Qe(),e.createVNode("div",{class:Xe.value},[(h=(a=n.slots).default)==null?void 0:h.call(a),g.value==="iframe"&&e.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:M.value},null)]),et()]),!r.value&&E.value&&!D.value&&J(E.value)])}function at(a){return a||"body"}return e.watchEffect(()=>{Q.value&&(ce.value=T.getMaxZIndex()||1050)}),()=>e.createVNode(e.Teleport,{to:at(t.host)},{default:()=>[Q.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>[e.createVNode("div",{ref:F,class:Re.value,style:De.value,onClick:tt},[nt()])]})]})}});function ie(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ee(t){const n=document.createElement("div");n.style.display="contents";const l=e.createApp({setup(o,c){e.onUnmounted(()=>{document.body.removeChild(n)});const i=e.ref(),p=e.ref(t.class||""),r=e.ref(!!t.showButtons),f=e.ref(!!t.showHeader),m=e.ref(t.showCloseButton==null?!0:t.showCloseButton),C=e.ref(!!t.showFloatingClose),v=e.ref(!0),z=e.ref(t.title||""),g=t.acceptCallback||(()=>{}),M=t.rejectCallback||(()=>{}),B=t.closedCallback||(R=>{}),H=t.resizeHandle||(R=>{}),P=t.stopMoveHandle||(R=>{}),k=ie(t),F=R=>{v.value=!1,l.unmount(),B(R)};return e.onMounted(()=>{}),c.expose({modalRef:i}),()=>e.createVNode(G,{ref:i,class:p.value,modelValue:v.value,"onUpdate:modelValue":R=>v.value=R,title:z.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":r.value,"show-close-button":m.value,"show-max-button":!1,showFloatingClose:C.value,onAccept:g,onCancel:M,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:F,onResize:H,onStopMove:P},{default:()=>[k&&k(l)]})}});return document.body.appendChild(n),l.use(_.LocaleService.i18n),l.mount(n),l}class Oe{constructor(n){X(this,"appContext",null);X(this,"modalRef",e.ref());X(this,"activeModalIndex",e.ref(0));X(this,"modalRefs",{});X(this,"isUseEscCloseModal",e.ref(!1));X(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,l){const{width:o,height:c}={width:window.innerWidth,height:window.innerHeight};return o<n&&(n=o-14),c<l&&(l=c-14),{width:n,height:l}}static show(n){const l=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return Ee(l)}close(n){var l,o;n?(o=n.value)==null||o.close():(l=this.getCurrentModal())==null||l.close()}open(n){const l=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const o=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),c=e.ref(!0),i=o.value.acceptCallback||(()=>{}),p=o.value.rejectCallback||(()=>{}),r=o.value.closedCallback||((b,N)=>{}),f=o.value.resizeHandle||(b=>{}),m=n.stopMoveHandle||(b=>{});let C;const v=ie(o.value),z=b=>{var d;c.value=!1;const N=(d=b==null?void 0:b.target)==null?void 0:d.classList.contains("modal_close");r(b,this.isUseEscCloseModal.value?"esc":N?"icon":"button")},g=b=>{z(b),C&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,l),C=null,this.modalRef.value=null,this.modalRefs){const N=Object.keys(this.modalRefs).map(d=>Number(d));N.length>0?this.activeModalIndex.value=Math.max(...N):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},M=b=>{var N;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((N=this.activeModalInstance.value)==null||N.close(b==null?void 0:b.event))},{width:B,height:H}=o.value,P=this.adaptToWindow(B||500,H||320);Object.assign(o.value,P);const k=()=>e.createVNode(G,e.mergeProps({ref:this.modalRef,modelValue:c.value,"onUpdate:modelValue":b=>c.value=b},o.value,{isMessager:o.value.class&&o.value.class.indexOf("modal-message")>-1,onAccept:i,onCancel:p,onClosed:g,onResize:f,onEsc:M,onStopMove:m}),{default:()=>[v&&v(this.app)]});return C=(b=>{const N=e.h(k,b);return N.appContext=this.appContext,e.render(N,l),N})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:b=>{o.value={...o.value,...b},C&&e.render(e.cloneVNode(C,{...o}),l)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const re=Symbol("FModalService");G.install=t=>{t.component(G.name,G);const n=new Oe(t);t.provide(re,n),t.provide("FModalService",n)};function ue(t,n){function l(){const o=t.beforeOpen||t.beforeClickButton||null;let c=Promise.resolve(!0);if(o){const i=o(n.value);if(typeof i>"u")return c;typeof i=="boolean"?c=Promise.resolve(i):c=i}return c}return{judgeCanOpen:l}}function Ve(t,n,l,o,c){const i=e.ref(t.buttonBehavior),p=e.ref(t.popupOnInput),r=e.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=ue(t,c),m=e.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),C=e.inject(re,null),v=e.ref();async function z(B){if(await f()&&m.value){const H=!!n.slots.default;if(i.value==="Modal"){const P=t.modalOptions,k=C==null?void 0:C.open({...P,render:()=>n.slots.default&&n.slots.default()});v.value=k==null?void 0:k.modalRef}i.value==="Overlay"&&we.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),H&&i.value==="Popup"&&o.togglePopup(!0),H&&p.value&&o.hidePopup(),n.emit("clickButton",{origin:B,value:t.modelValue})}}function g(B){n.emit("mouseEnterIcon",B)}function M(B){n.emit("mouseLeaveIcon",B)}return{buttonGroupClass:r,onClickButton:z,onMouseEnterButton:g,onMouseLeaveButton:M,modalRef:v}}const Y="FarrisVue_PopoverInstancesKey";function Se(t,n,l,o){const c=e.ref(),i=e.ref(!1),{judgeCanOpen:p}=ue(t,o);e.watch(()=>c.value,(g,M)=>{window[Y]=window[Y]||new WeakMap,g?window[Y].set(l.value,g):window[Y].delete(l.value)});function r(){if(window[Y]){const g=window[Y];document.querySelectorAll(".f-button-edit,.v-popover").forEach(M=>{const B=g.get(M);B&&M!==l.value&&!l.value.closest(".popover-fitcontent")&&B.hide()})}}function f(){const g=c.value;g&&g.show(l.value)}async function m(g=!1){if(!!n.slots.default){if(!g&&!i.value&&!await p())return;i.value=!i.value,i.value&&(await e.nextTick(),f())}}async function C(g=!1){if(!!n.slots.default){if(!g&&!await p())return;i.value=!0,await e.nextTick(),f()}}function v(){i.value=!1}function z(){i.value=!0,e.nextTick(()=>{f()})}return{hidePopup:v,showPopup:z,popup:C,shouldPopupContent:i,togglePopup:m,popoverRef:c,closeAllPopover:r}}function ze(t,n,l){const{buttonGroupClass:o}=l,c=e.ref(),i=e.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":t.expandMode==="button","input-append-text":t.expandMode==="text"}));return{renderButtonGroup:()=>e.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:o.value},[n.slots.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):t.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:c},null):null,t.expandable&&e.createVNode("div",{class:i.value},[e.createVNode("div",{class:"input-group-text"},[t.expandContent])])]),buttonHandleElement:c}}const K=e.defineComponent({name:"FButtonEdit",props:he,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(t,n){const l=e.ref(),o=e.inject("design-item-context"),c=me.useDesignerComponent(l,o),i=e.ref(t.customClass),p=e.ref(t.modelValue),r=Se(t,n,l,p),f=Ve(t,n,l,r,p),m=e.ref(),C=e.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disabled":!0,"f-state-editable":!1,"f-state-readonly":!0}));e.onMounted(()=>{l.value.componentInstance=c}),n.expose(c.value);const v=e.computed(()=>{const g={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((M,B)=>(M[B]=!0,M),g),g}),{renderButtonGroup:z}=ze(t,n,f);return()=>e.createVNode("div",e.mergeProps(n.attrs,{ref:l,class:v.value,id:t.id?t.id:void 0}),[e.createVNode("div",{class:C.value},[e.createVNode("input",{ref:m,class:"form-control",readonly:!0,placeholder:t.placeholder},null),z()])])}}),Ne=new Map([["appearance",q.resolveAppearance]]);function je(t,n,l){return n}const Ie={$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:""},forcePlaceholder:{description:"",type:"boolean",default:!1},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:"string",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}}},popupClass:{description:"",type:"string",default:""},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Te={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:"右对齐"}]}}}}}},ee=q.createPropsResolver(oe.buttonEditProps,Ie,Ne,je,Te);K.register=(t,n,l,o)=>{t["button-edit"]=oe,n["button-edit"]=ee},K.registerDesigner=(t,n,l)=>{t["button-edit"]=K,n["button-edit"]=ee};const He=T.withInstall(K);O.FButtonEditDesign=K,O.default=He,O.propsResolver=ee,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(O,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("../../components/common/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("../../components/button-edit/index.umd.js"),require("vue"),require("../../components/locale/index.umd.js"),require("lodash-es"),require("../../components/property-panel/index.umd.js"),require("../../components/button/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../../components/designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/dynamic-resolver/index.umd.js","../../components/button-edit/index.umd.js","vue","../../components/locale/index.umd.js","lodash-es","../../components/property-panel/index.umd.js","../../components/button/index.umd.js","../../components/field-selector/index.umd.js","../../components/designer-canvas/index.umd.js"],T):(O=typeof globalThis<"u"?globalThis:O||self,T(O["button-edit"]={},O.common,O.dynamicResolver,O.FButtonEdit,O.Vue,O.locale,O.LodashES,null,null,null,O.designerCanvas))})(this,function(O,T,q,oe,e,_,pe,it,rt,ut,me){"use strict";var ot=Object.defineProperty;var st=(O,T,q)=>T in O?ot(O,T,{enumerable:!0,configurable:!0,writable:!0,value:q}):O[T]=q;var X=(O,T,q)=>st(O,typeof T!="symbol"?T+"":T,q);const he={id:{type:String,default:""},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:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},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"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},ve={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ye=e.defineComponent({name:"FOverlay",props:ve,emits:["click"],setup(t,n){const l=e.ref(t.popupContentPosition),o=e.ref(t.host),c=e.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function i(r){n.emit("click"),r.preventDefault(),r.stopPropagation()}e.computed(()=>{const r=o.value;if(r){const f=r.getBoundingClientRect(),{left:m,top:C,height:v}=f;return{left:m,top:C+v}}return l.value});const p=e.computed(()=>({}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var r,f;return[e.createVNode("div",{class:"overlay-container",onClick:m=>i(m),style:c.value},[e.createVNode("div",{style:p.value},[(f=(r=n.slots).default)==null?void 0:f.call(r)])])]}})}});function ge(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function be(t){const n=document.createElement("div");n.style.display="contents";let l;const o=t.onClickCallback||(()=>{}),c=()=>{o(),l&&l.unmount()};return l=e.createApp({setup(){e.onUnmounted(()=>{document.body.removeChild(n)});const i=ge(t);return()=>e.createVNode(ye,{"popup-content-position":t.popupPosition,host:t.host,onClick:c,backgroundColor:t.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),l.mount(n),l}class we{static show(n){return be(n)}}const Ce={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showFloatingClose:{type:Boolean,default:!1},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}};class S{constructor(n,l){this.x=n,this.y=l}static getTransformInfo(n){const o=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const c=parseInt(o[4],10),i=parseInt(o[5],10);return{x:c,y:i}}return{x:0,y:0}}static fromEvent(n,l=null){if(this.isMouseEvent(n))return new S(n.clientX,n.clientY);if(l===null||n.changedTouches.length===1)return new S(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let o=0;o<n.changedTouches.length;o++)if(n.changedTouches[o].target===l)return new S(n.changedTouches[o].clientX,n.changedTouches[o].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const l=new S(0,0);if(window){const o=window.getComputedStyle(n);if(o){const c=parseInt(o.getPropertyValue("left"),10),i=parseInt(o.getPropertyValue("top"),10);l.x=isNaN(c)?0:c,l.y=isNaN(i)?0:i}return l}return null}static copy(n){return new S(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class A{constructor(n,l){this.width=n,this.height=l}static getCurrent(n){const l=new A(0,0);if(window){const o=window.getComputedStyle(n);return o&&(l.width=parseInt(o.getPropertyValue("width"),10),l.height=parseInt(o.getPropertyValue("height"),10)),l}return null}static copy(n){return new A(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function xe(t,n){const l=e.ref(),o=e.ref(),c=e.ref(),i=e.ref(),p=e.ref(),r=e.ref(),f=e.ref(),m=e.ref(),C=e.ref(),v=e.ref(),z=e.ref(),g=e.ref(t.resizeable),M=e.ref(),B=e.ref(t.draggable),H=e.ref(!1);function P(){const s=o.value||document.body,u=window.getComputedStyle(s);if(!u||!l.value)return;const x=S.getTransformInfo(l.value),y={};f.value&&(y.deltaL=l.value.offsetLeft-f.value.x,y.deltaT=l.value.offsetTop-f.value.y);const j=u.getPropertyValue("position");y.width=s.clientWidth,y.height=s.clientHeight,y.pr=parseInt(u.getPropertyValue("padding-right"),10),y.pb=parseInt(u.getPropertyValue("padding-bottom"),10),y.position=u.getPropertyValue("position"),j==="static"&&(s.style.position="relative"),y.translateX=x.x,y.translateY=x.y,v.value=y}function k(s){if(l.value){i.value=A.getCurrent(l.value),p.value=S.getCurrent(l.value),r.value=i.value?A.copy(i.value):null,f.value=p.value?S.copy(p.value):null,P();const u=s.target.getAttribute("type")||"";m.value={n:!!u.match(/n/),s:!!u.match(/s/),w:!!u.match(/w/),e:!!u.match(/e/)}}}function F(){var s,u,x,y;if(l.value){const j=l.value;m.value&&((m.value.n||m.value.s)&&((s=r.value)!=null&&s.height)&&(j.style.height=r.value.height+"px"),(m.value.w||m.value.e)&&((u=r.value)!=null&&u.width)&&(j.style.width=r.value.width+"px"),f.value&&((x=f.value)!=null&&x.x&&(j.style.left=f.value.x+"px"),(y=f.value)!=null&&y.y&&(j.style.top=f.value.y+"px")))}}function R(){const s=t.minHeight?t.minHeight:1,u=t.minWidth?t.minWidth:1;r.value&&f.value&&m.value&&i.value&&(r.value.height<s&&(r.value.height=s,m.value.n&&p.value&&(f.value.y=p.value.y+(i.value.height-s))),r.value.width<u&&(r.value.width=u,m.value.w&&p.value&&(f.value.x=p.value.x+(i.value.width-u))),t.maxHeight&&r.value.height>t.maxHeight&&(r.value.height=t.maxHeight,p.value&&m.value.n&&(f.value.y=p.value.y+(i.value.height-t.maxHeight))),t.maxWidth&&r.value.width>t.maxWidth&&(r.value.width=t.maxWidth,m.value.w&&p.value&&(f.value.x=p.value.x+(i.value.width-t.maxWidth))))}function b(){if(o.value){const s=v.value;if(f.value&&r.value&&m.value&&i.value){const u=s.width-s.pr-s.deltaL-s.translateX-f.value.x,x=s.height-s.pb-s.deltaT-s.translateY-f.value.y;m.value.n&&f.value.y+s.translateY<0&&p.value&&(f.value.y=-s.translateY,r.value.height=i.value.height+p.value.y+s.translateY),m.value.w&&f.value.x+s.translateX<0&&p.value&&(f.value.x=-s.translateX,r.value.width=i.value.width+p.value.x+s.translateX),r.value.width>u&&(r.value.width=u),r.value.height>x&&(r.value.height=x)}}}function N(s){if(!c.value||!i.value||!p.value||!m.value)return;s.subtract(c.value);const u=s.x,x=s.y;m.value.n?(f.value.y=p.value.y+x,r.value.height=i.value.height-x):m.value.s&&(r.value.height=i.value.height+x),m.value.e?r.value.width=i.value.width+u:m.value.w&&(r.value.width=i.value.width-u,f.value.x=p.value.x+u),b(),R(),F()}function d(s){if(!C.value)return;const u=S.fromEvent(s);u&&N(u)}function w(){if(l.value){const{width:s,height:u,x,y}=l.value.getBoundingClientRect(),j=S.getTransformInfo(l.value);return{size:{width:s,height:u},position:{x:x-j.x,y:y-j.y}}}return null}function I(s){if(l.value){const u=w();z.value=u}c.value=void 0,i.value=null,p.value=null,r.value=null,f.value=null,m.value=null,C.value=null,document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",I)}function W(){document.addEventListener("mousemove",d),document.addEventListener("mouseup",I)}function E(s){s instanceof MouseEvent&&s.button===2||B.value&&(document.body.click(),s.stopPropagation(),s.preventDefault(),c.value=S.fromEvent(s),C.value=s.target,k(s),W())}function D(s){return l.value=s,g.value&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:u=>E(u)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:u=>E(u)},null)])}function J(s=!0){document.body.click();const u=o.value||document.body,x=A.getCurrent(u),y=l.value;s&&y&&(M.value=w(),M.value.transform=y.style.transform),x&&y&&(r.value=x,r.value.height-=14,r.value.width-=14,y.style.height=r.value.height+"px",y.style.width=r.value.width+"px",y.style.left="7px",y.style.top="7px",y.style.transform="",z.value={size:r.value,position:{x:0,y:0}},B.value=!1,H.value=!0)}function te(){var s,u;if(document.body.click(),M.value){const x={width:M.value.size.width||0,height:M.value.size.height||0},y={x:(window.innerWidth-x.width)/2,y:(window.innerHeight-x.height)/2};(s=r.value)==null||s.set(x),(u=f.value)==null||u.set(y);const j=l.value;j.style.height=x.height+"px",j.style.width=x.width+"px",j.style.left=`${y.x}px`,j.style.top=`${y.y}px`,j.style.transform="",z.value={size:x,position:y},B.value=t.draggable,H.value=!1}}function Z(){if(l.value){const s=A.getCurrent(l.value);if(s){const{width:u,height:x}=s;l.value.style.left=`${(window.innerWidth-u)/2}px`,l.value.style.top=`${(window.innerHeight-x)/2}px`,l.value.style.transform=""}}}function U(){const s=()=>{H.value?J(!1):Z(),document.body.click()};return window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s)}}const ne=U();return{renderResizeBar:D,boundingElement:o,resizedEventParam:z,maximize:J,restore:te,allowDrag:B,isMaximized:H,unWindowResizeHandle:ne,moveToCenter:Z}}function Me(t,n,l){const o=e.ref(),c=e.ref(t.draggable),i=e.ref(t.lockAxis),p=e.ref(),r=e.ref(),f=e.ref(!1),m=e.ref(new S(0,0)),C=e.ref(new S(0,0)),v=e.ref(new S(0,0)),z=e.ref(new S(0,0));e.watch(()=>l.value,d=>{p.value.style.cursor=d?"move":"default"});function g(d,w){if(w.tagName==="BUTTON")return!1;if(w===d)return!0;for(const I in w.children)if(Object.prototype.hasOwnProperty.call(w.children,I)&&g(d,w.children[I]))return!0;return!1}function M(){var W,E;let d=v.value.x+C.value.x,w=v.value.y+C.value.y;i.value==="x"?(d=((W=m.value)==null?void 0:W.x)||0,v.value.x=0):i.value==="y"&&(w=((E=m.value)==null?void 0:E.y)||0,v.value.y=0);const I=`translate3d(${Math.round(d)}px, ${Math.round(w)}px, 0px)`;o.value&&(o.value.style.transform=I),z.value.x=d,z.value.y=w}function B(){if(!r.value||!o.value)return null;const d=r.value.getBoundingClientRect(),w=o.value.getBoundingClientRect(),I={top:d.top<w.top,right:d.right>w.right,bottom:d.bottom>w.bottom,left:d.left<w.left};return I.top||(v.value.y-=w.top-d.top),I.bottom||(v.value.y-=w.bottom-d.bottom),I.right||(v.value.x-=w.right-d.right),I.left||(v.value.x-=w.left-d.left),M(),I}function H(d){d&&(m.value&&d.subtract(m.value),v.value.set(d),M(),B())}function P(d){f.value&&c.value&&(d.stopPropagation(),d.preventDefault(),H(S.fromEvent(d,p.value)))}function k(){var d;f.value&&(f.value=!1,C.value.add(v.value),v.value.reset(),(d=o.value)==null||d.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",k))}function F(){!f.value&&p.value&&(f.value=!0,p.value.classList.add("ng-dragging"),document.addEventListener("mousemove",P),document.addEventListener("mouseup",k))}function R(){if(o.value){const d=S.getTransformInfo(o.value);C.value.set(d);return}C.value.reset()}function b(d){if(!l.value||d instanceof MouseEvent&&d.button===2)return;const w=d.target||d.srcElement;p.value!==void 0&&w&&!g(w,p.value)||c.value!==!1&&(document.body.click(),d.stopPropagation(),d.preventDefault(),m.value=S.fromEvent(d,o.value),R(),F())}function N(d,w,I){if(c.value&&w){if(d)p.value=d;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)p.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const W=w.querySelector(t.dragHandle);W&&(p.value=W)}}o.value=w,r.value=I,p.value?(p.value.classList.add("ng-draggable"),p.value.addEventListener("mousedown",b)):c.value=!1}}return{registerDraggle:N,resetTranslate:R}}function se(t,n){if(t){const l=o=>{o.key.toLowerCase()===t.toLowerCase()&&n({event:o,key:t})};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l)}}}function Be(t,n){const l=e.ref(t.enableEsc);let o=null;return l.value?(o=se("Escape",c=>{n.emit("esc",{event:c.event,type:"esc"})}),{remove:o}):null}function ke(t,n){const l=e.ref(t.enableEnter);let o=null;return l.value?(o=se("Enter",c=>{n.emit("enter",{event:c.event,type:"enter"})}),{remove:o}):null}const G=e.defineComponent({name:"FModal",props:Ce,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(t,n){const l=e.ref(t.width||300),o=e.ref(t.height||200),c=e.ref(t.modelValue),i=e.ref(""),p=e.ref(t.class),r=e.ref(t.fitContent),f=e.ref(t.showHeader),m=e.ref(""),C=e.ref(t.showCloseButton),v=e.ref(t.showMaxButton),z=e.ref(!1),g=e.ref(t.dialogType),M=e.ref(t.src),B=e.ref(""),H=e.ref(t.showButtons),P=e.ref(t.title),k=e.ref(t.containment||null),F=e.ref();P.value==="错误提示"&&(P.value=_.LocaleService.getLocaleValue("messageBox.errorTitle"));const R=e.ref(!1);function b(a,h){const L=h?"accept":"cancel";Promise.resolve().then(()=>{var V;return(V=t.beforeClose)==null?void 0:V.call(t,{closeType:L})}).then(V=>{V&&(c.value=!1,n.emit("update:modelValue",!1),h!=null&&n.emit(h?"accept":"cancel"),n.emit("closed",a))})}const N=[{name:"cancel",text:_.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:a=>{b(a,!1)}},{name:"accept",text:_.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:a=>{b(a,!0)}}],d=e.ref(t.buttons&&t.buttons.length?t.buttons:N),w=e.computed(()=>!!m.value),I=e.computed(()=>!!H.value&&!!d.value),W=e.ref(),E=e.ref(),D=e.ref(!1),{renderResizeBar:J,maximize:te,restore:Z,boundingElement:U,resizedEventParam:ne,allowDrag:s,unWindowResizeHandle:u,moveToCenter:x}=xe(t),{registerDraggle:y}=Me(t,n,s);function j(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Pe(){const a=document.querySelectorAll(".farris-modal").length;(!a||a-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}e.watch(()=>t.title,(a,h)=>{a!==h&&(P.value=a)}),e.watch(()=>t.modelValue,(a,h)=>{a!==h&&(c.value=a,c.value&&t.draggable&&e.nextTick(()=>{E.value&&!k.value&&(k.value=E.value.parentElement,U.value=k.value,y(W.value,E.value,U.value),x())}),a||(k.value&&(k.value=null),Pe())),c.value?R.value=j():(D.value=!1,s.value=t.draggable)}),e.watch(()=>t.showHeader,(a,h)=>{a!==h&&(f.value=a)}),e.watch(()=>t.showButtons,(a,h)=>{a!==h&&(H.value=a)}),e.watch(()=>ne.value,(a,h)=>{const L=a||{},V=h||{};JSON.stringify(L)!==JSON.stringify(V)&&n.emit("resize",{newSize:a,oldSize:h,isMaximized:D.value})}),e.watch([()=>t.width,()=>t.height],(a,h)=>{(a[0]!==h[0]||a[1]!==h[1])&&(l.value=a[0]||500,o.value=a[1]||600)}),e.watch(()=>t.class,(a,h)=>{p.value=a});const Q=e.computed(()=>(c.value&&document.body.classList.add("modal-open"),c.value)),Re=e.computed(()=>{var L;const a={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!t.showFloatingClose};a["f-modal-fitContent"]=!!r.value,a.show=!!Q.value;const h=(L=t.maskClass)==null?void 0:L.split(" ");return h==null||h.reduce((V,$)=>(V[$]=!0,V),a),a}),Le=e.computed(()=>{var L;const a={"modal-dialog":!0},h=(L=p.value)==null?void 0:L.split(" ");return h==null||h.reduce((V,$)=>(V[$]=!0,V),a),a}),Fe=()=>T.isMobilePhone()&&!t.isMessager||!!t.fullscreen,We=e.computed(()=>{const a=document.documentElement.clientWidth,h=document.documentElement.clientHeight,L=Math.min(l.value,a),V=t.position==="right"?"100%":r.value?"auto":`${Math.min(o.value,h-10)}px`,$=`${(window.innerHeight-(V==="100%"||V==="auto"?0:parseInt(V)))/2}px`,lt=t.position==="right"?`${window.innerWidth-L}px`:`${(window.innerWidth-L)/2}px`,fe={position:"absolute",top:$,left:lt,width:`${L}px`,height:V};return t.mask||(fe.pointerEvents="auto"),fe}),ce=e.ref(T.getMaxZIndex()||1050),De=e.computed(()=>{const a={display:"block",overflow:"hidden"};return t.mask||(a.pointerEvents="none",a.backgroundColor="transparent"),R.value&&(a.backgroundColor="transparent"),a.zIndex=ce.value,a}),qe=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value,"is-mobile":Fe()})),Ae=e.computed(()=>{const a={display:f.value?"":"none"};return a["pointer-events"]=s.value?"auto":"none",a}),$e=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:D.value})),Xe=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function Ye(){return{height:`${t.footerHeight||60}px`}}const Ue=e.computed(()=>{const a={textAlgin:B.value},h=Ye();return Object.assign(a,h)});function de(a){if(a==null||a.stopPropagation(),D.value){D.value=!1,Z();return}te(),D.value=!0}async function Ge(a,h){a.handle?await a.handle(h,a)&&n.emit("closed",h):(typeof a.onClick=="string"&&(a.onButtonClick=pe.cloneDeep(a.onClick||""),delete a.onClick),n.emit("buttonClick",{button:a,$event:h}))}function Ke(a){a.width&&(l.value=a.width),a.height&&(o.value=a.height),a.buttons&&(d.value=a.buttons),a.title&&(P.value=a.title)}let ae=null,le=null;e.onBeforeMount(()=>{R.value=j()}),e.onMounted(()=>{E.value&&!k.value&&(k.value=E.value.parentElement,U.value=k.value,y(W.value,E.value,U.value)),Q.value&&document.body.classList.add("modal-open"),ae=Be(t,n),le=ke(t,n)}),e.onUnmounted(()=>{u&&u(),ae&&ae.remove(),le&&le.remove()}),n.expose({modalElementRef:E,updateModalOptions:Ke,close:b,maxDialog:de,isMaximized:D});function _e(){return e.createVNode("div",{class:"action-wrapper",onClick:a=>b(a,!1)},[e.createVNode("span",{class:"close-icon"},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function Je(){return e.createVNode("ul",null,[z.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),v.value&&e.createVNode("li",{onClick:de,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:$e.value},null)]),C.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:a=>b(a,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function Ze(){return e.createVNode("div",{class:"modal-footer",style:Ue.value},[d.value&&d.value.map(a=>{var V;const h=e.ref(a.disabled),L=a.class||((V=a.appearance)==null?void 0:V.class);return e.createVNode("button",{name:a.name,type:"button",disabled:h.value,class:L+(a.iconClass?" btn-icontext":"")+(a.visible===!1?"d-none":""),onClick:$=>{Ge(a,$)}},[!!a.iconClass&&e.createVNode("i",{class:a.iconClass},null),a.text])})])}function Qe(){return e.createVNode("div",{ref:W,class:"modal-header",style:Ae.value},[n.slots.headerTemplate?n.slots.headerTemplate():e.createVNode("div",{class:"modal-title"},[w.value&&e.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[P.value])]),e.createVNode("div",{class:"actions"},[Je()])])}function et(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&Ze()}function tt(a){if(a.stopPropagation(),t.allowClickMaskToClose){if(a.target!==F.value)return;b(a,!1)}}function nt(){var a,h;return e.createVNode("div",{id:i.value,class:Le.value,style:We.value,ref:E},[t.showFloatingClose&&_e(),e.createVNode("div",{class:qe.value},[f.value&&Qe(),e.createVNode("div",{class:Xe.value},[(h=(a=n.slots).default)==null?void 0:h.call(a),g.value==="iframe"&&e.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:M.value},null)]),et()]),!r.value&&E.value&&!D.value&&J(E.value)])}function at(a){return a||"body"}return e.watchEffect(()=>{Q.value&&(ce.value=T.getMaxZIndex()||1050)}),()=>e.createVNode(e.Teleport,{to:at(t.host)},{default:()=>[Q.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>[e.createVNode("div",{ref:F,class:Re.value,style:De.value,onClick:tt},[nt()])]})]})}});function ie(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ee(t){const n=document.createElement("div");n.style.display="contents";const l=e.createApp({setup(o,c){e.onUnmounted(()=>{document.body.removeChild(n)});const i=e.ref(),p=e.ref(t.class||""),r=e.ref(!!t.showButtons),f=e.ref(!!t.showHeader),m=e.ref(t.showCloseButton==null?!0:t.showCloseButton),C=e.ref(!!t.showFloatingClose),v=e.ref(!0),z=e.ref(t.title||""),g=t.acceptCallback||(()=>{}),M=t.rejectCallback||(()=>{}),B=t.closedCallback||(R=>{}),H=t.resizeHandle||(R=>{}),P=t.stopMoveHandle||(R=>{}),k=ie(t),F=R=>{v.value=!1,l.unmount(),B(R)};return e.onMounted(()=>{}),c.expose({modalRef:i}),()=>e.createVNode(G,{ref:i,class:p.value,modelValue:v.value,"onUpdate:modelValue":R=>v.value=R,title:z.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":r.value,"show-close-button":m.value,"show-max-button":!1,showFloatingClose:C.value,onAccept:g,onCancel:M,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:F,onResize:H,onStopMove:P},{default:()=>[k&&k(l)]})}});return document.body.appendChild(n),l.use(_.LocaleService.i18n),l.mount(n),l}class Oe{constructor(n){X(this,"appContext",null);X(this,"modalRef",e.ref());X(this,"activeModalIndex",e.ref(0));X(this,"modalRefs",{});X(this,"isUseEscCloseModal",e.ref(!1));X(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,l){const{width:o,height:c}={width:window.innerWidth,height:window.innerHeight};return o<n&&(n=o-14),c<l&&(l=c-14),{width:n,height:l}}static show(n){const l=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return Ee(l)}close(n){var l,o;n?(o=n.value)==null||o.close():(l=this.getCurrentModal())==null||l.close()}open(n){const l=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const o=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),c=e.ref(!0),i=o.value.acceptCallback||(()=>{}),p=o.value.rejectCallback||(()=>{}),r=o.value.closedCallback||((b,N)=>{}),f=o.value.resizeHandle||(b=>{}),m=n.stopMoveHandle||(b=>{});let C;const v=ie(o.value),z=b=>{var d;c.value=!1;const N=(d=b==null?void 0:b.target)==null?void 0:d.classList.contains("modal_close");r(b,this.isUseEscCloseModal.value?"esc":N?"icon":"button")},g=b=>{z(b),C&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,l),C=null,this.modalRef.value=null,this.modalRefs){const N=Object.keys(this.modalRefs).map(d=>Number(d));N.length>0?this.activeModalIndex.value=Math.max(...N):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},M=b=>{var N;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((N=this.activeModalInstance.value)==null||N.close(b==null?void 0:b.event))},{width:B,height:H}=o.value,P=this.adaptToWindow(B||500,H||320);Object.assign(o.value,P);const k=()=>e.createVNode(G,e.mergeProps({ref:this.modalRef,modelValue:c.value,"onUpdate:modelValue":b=>c.value=b},o.value,{isMessager:o.value.class&&o.value.class.indexOf("modal-message")>-1,onAccept:i,onCancel:p,onClosed:g,onResize:f,onEsc:M,onStopMove:m}),{default:()=>[v&&v(this.app)]});return C=(b=>{const N=e.h(k,b);return N.appContext=this.appContext,e.render(N,l),N})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:b=>{o.value={...o.value,...b},C&&e.render(e.cloneVNode(C,{...o}),l)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const re=Symbol("FModalService");G.install=t=>{t.component(G.name,G);const n=new Oe(t);t.provide(re,n),t.provide("FModalService",n)};function ue(t,n){function l(){const o=t.beforeOpen||t.beforeClickButton||null;let c=Promise.resolve(!0);if(o){const i=o(n.value);if(typeof i>"u")return c;typeof i=="boolean"?c=Promise.resolve(i):c=i}return c}return{judgeCanOpen:l}}function Ve(t,n,l,o,c){const i=e.ref(t.buttonBehavior),p=e.ref(t.popupOnInput),r=e.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=ue(t,c),m=e.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),C=e.inject(re,null),v=e.ref();async function z(B){if(await f()&&m.value){const H=!!n.slots.default;if(i.value==="Modal"){const P=t.modalOptions,k=C==null?void 0:C.open({...P,render:()=>n.slots.default&&n.slots.default()});v.value=k==null?void 0:k.modalRef}i.value==="Overlay"&&we.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),H&&i.value==="Popup"&&o.togglePopup(!0),H&&p.value&&o.hidePopup(),n.emit("clickButton",{origin:B,value:t.modelValue})}}function g(B){n.emit("mouseEnterIcon",B)}function M(B){n.emit("mouseLeaveIcon",B)}return{buttonGroupClass:r,onClickButton:z,onMouseEnterButton:g,onMouseLeaveButton:M,modalRef:v}}const Y="FarrisVue_PopoverInstancesKey";function Se(t,n,l,o){const c=e.ref(),i=e.ref(!1),{judgeCanOpen:p}=ue(t,o);e.watch(()=>c.value,(g,M)=>{window[Y]=window[Y]||new WeakMap,g?window[Y].set(l.value,g):window[Y].delete(l.value)});function r(){if(window[Y]){const g=window[Y];document.querySelectorAll(".f-button-edit,.v-popover").forEach(M=>{const B=g.get(M);B&&M!==l.value&&!l.value.closest(".popover-fitcontent")&&B.hide()})}}function f(){const g=c.value;g&&g.show(l.value)}async function m(g=!1){if(!!n.slots.default){if(!g&&!i.value&&!await p())return;i.value=!i.value,i.value&&(await e.nextTick(),f())}}async function C(g=!1){if(!!n.slots.default){if(!g&&!await p())return;i.value=!0,await e.nextTick(),f()}}function v(){i.value=!1}function z(){i.value=!0,e.nextTick(()=>{f()})}return{hidePopup:v,showPopup:z,popup:C,shouldPopupContent:i,togglePopup:m,popoverRef:c,closeAllPopover:r}}function ze(t,n,l){const{buttonGroupClass:o}=l,c=e.ref(),i=e.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":t.expandMode==="button","input-append-text":t.expandMode==="text"}));return{renderButtonGroup:()=>e.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:o.value},[n.slots.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):t.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:c},null):null,t.expandable&&e.createVNode("div",{class:i.value},[e.createVNode("div",{class:"input-group-text"},[t.expandContent])])]),buttonHandleElement:c}}const K=e.defineComponent({name:"FButtonEdit",props:he,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(t,n){const l=e.ref(),o=e.inject("design-item-context"),c=me.useDesignerComponent(l,o),i=e.ref(t.customClass),p=e.ref(t.modelValue),r=Se(t,n,l,p),f=Ve(t,n,l,r,p),m=e.ref(),C=e.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disabled":!0,"f-state-editable":!1,"f-state-readonly":!0}));e.onMounted(()=>{l.value.componentInstance=c}),n.expose(c.value);const v=e.computed(()=>{const g={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((M,B)=>(M[B]=!0,M),g),g}),{renderButtonGroup:z}=ze(t,n,f);return()=>e.createVNode("div",e.mergeProps(n.attrs,{ref:l,class:v.value,id:t.id?t.id:void 0,style:"pointer-events: none;"}),[e.createVNode("div",{class:C.value},[e.createVNode("input",{ref:m,class:"form-control",readonly:!0,placeholder:t.placeholder},null),z()])])}}),Ne=new Map([["appearance",q.resolveAppearance]]);function je(t,n,l){return n}const Ie={$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:""},forcePlaceholder:{description:"",type:"boolean",default:!1},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:"string",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}}},popupClass:{description:"",type:"string",default:""},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Te={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:"右对齐"}]}}}}}},ee=q.createPropsResolver(oe.buttonEditProps,Ie,Ne,je,Te);K.register=(t,n,l,o)=>{t["button-edit"]=oe,n["button-edit"]=ee},K.registerDesigner=(t,n,l)=>{t["button-edit"]=K,n["button-edit"]=ee};const He=T.withInstall(K);O.FButtonEditDesign=K,O.default=He,O.propsResolver=ee,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|