@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(x,v){typeof exports=="object"&&typeof module<"u"?v(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")):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"],v):(x=typeof globalThis<"u"?globalThis:x||self,v(x.nav={},x.common,x.Vue,x.designerCanvas,x.LodashES,x.dynamicResolver))})(this,function(x,v,f,d,A,w){"use strict";var oe=Object.defineProperty;var re=(x,v,f)=>v in x?oe(x,v,{enumerable:!0,configurable:!0,writable:!0,value:f}):x[v]=f;var y=(x,v,f)=>re(x,typeof v!="symbol"?v+"":v,f);function $(g){const{formSchemaUtils:n,formStateMachineUtils:e}=g;function t(s,p=""){return{path:p+s.code,field:s.id,fullPath:s.code}}function i(s,p=""){const a=n.getViewModelById(s);return a?a.states.map(l=>t(l,p)):[]}function o(s){const p=n.getRootViewModelId(),a=i(s);if(s===p)return a;const l=i(p,"root-component.");return[...a,...l]}function r(s){return s.binding&&s.binding.path||s.id||""}function c(){return e&&e.getRenderStates()||[]}return{getVariables:o,getControlName:r,getStateMachines:c}}class D{constructor(n){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",(n,e)=>({convertFrom:(t,i,o,r)=>{const c=o.getExpressionRuleValue(n,e||i);return c&&c.value||""},convertTo:(t,i,o,r,c)=>{var s;if(i==="dataPicking"&&(o!=null&&o.target)){const p=`${o.target}_dataPicking`;((s=o.rules)==null?void 0:s.some(l=>l.id===p&&l.value))?t.dictPickingExpressionId=p:delete t.dictPickingExpressionId}r.updateExpression(o)}}));this.formSchemaService=n}getExpressionRule(n,e){const t=this.formSchemaService.getExpressions();if(!t)return"";const i=t.find(r=>r.target===n);if(!i)return"";const o=i.rules.find(r=>r.type===e);return o||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.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(o=>o.category==="remote").forEach(o=>{i.push({key:o.code,name:o.name,description:o.name,category:o.category})}),i}createTreeNode(n,e,t="label"){return{id:n.id,name:n.name,bindingPath:n[t],parents:e,type:"field"}}buildEntityFieldsTreeData(n=null,e){const t=[];return n==null||n.forEach(i=>{var c;const o=this.createTreeNode(i,e);let r=[];(c=i.type)!=null&&c.fields&&(r=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),t.push({data:o,children:r,expanded:!0})}),t}buildChildEntityTreeData(n=null,e){const t=[];return n==null||n.forEach(i=>{var s,p;const o=this.createTreeNode(i,e);o.type="entity";const r=this.buildEntityFieldsTreeData((s=i.type)==null?void 0:s.fields,[...e,i.label]),c=this.buildChildEntityTreeData((p=i.type)==null?void 0:p.entities,[...e,i.label]);c!=null&&c.length&&(r==null||r.push(...c)),t.push({data:o,children:r||[],expanded:!0})}),t}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const e=n[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(n,e,t){const i=t==="Field"?n.binding.field:n.id,o=this.getExpressionRule(i,e),r=this.getEntitiesAndVariables(),c={message:["validate","required","dataPicking"].includes(e)&&o?o.message:"",...r};return o.messageType!=null&&(c.messageType=o.messageType),c}buildRule(n,e,t,i){const{expression:o,message:r,messageType:c}=e,s={id:`${n}_${t}`,type:t,value:o};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:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,e,t,i){const o=e==="Field"?n.binding.field:n.id,r=this.buildRule(o,t,i,n.type==="form-group"?n.id:"");let s=this.getExpressionData().find(a=>a.targetType===e&&a.target===o);const p=a=>a.value.trim()==="";if(s){const a=s.rules.find(l=>l.id===r.id);if(a)p(r)?s.rules=s.rules.filter(l=>l.id!==r.id):(Object.assign(a,r),i==="validate"&&n.type==="form-group"&&(a.elementId=n.id));else{if(p(r))return null;s.rules=s.rules||[],s.rules.push(r)}}else{if(p(r))return null;s={target:`${o}`,rules:[r],targetType:e}}return s}getExpressionEditorOptions(n,e,t,i){return t.reduce((o,r)=>{var s,p;const c=e==="Field"?(s=n==null?void 0:n.binding)==null?void 0:s.field:n.id;return o[r]={hide:e==="Field"?!!((p=n==null?void 0:n.binding)!=null&&p.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(n,r,e),onSubmitModal:a=>{const l=this.updateExpression(n,e,a,r);if(i){const m=this.buildRule(c,a,r);i(m)}return l}}},o},{})}getExpressionInfo(n,e,t){const i=e==="Field"?n.binding.field:n.id,o=this.getExpressionRule(i,t),r={value:o&&o.value,targetId:i,targetType:e,expressionType:t};return o&&o.message&&(r.message=o.message),r}getExpressionConfig(n,e,t=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!n.binding,properties:{...this.getExpressionEditorOptions(n,e,t,i)}}}getExpressionOptions(n,e,t){const i=this.getExpressionInfo(n,e,t);return{dialogTitle:`${this.expressionNames[t]}编辑器`,singleExpand:!1,showMessage:t==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,t,e),expressionInfo:i}}}class R{constructor(n,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=n,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(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var n,e;return(e=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var t;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(o=>o.id===e)}n.updateOn=(t=this.designViewModelField)==null?void 0:t.updateOn}}getBasicPropConfig(n){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:n.type,name:d.DgControl[n.type]&&d.DgControl[n.type].name}]}}}}}getAppearanceConfig(n=null,e={},t){const i={title:"外观",description:"Appearance"},o={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)o[r]=Object.assign(o[r]||{},e[r]);return{...i,properties:{...o},setPropertyRelates(r,c){if(r){switch(r&&r.propertyID){case"class":case"style":{d.canvasChanged.value++;break}}t&&t(r,n,c)}}}}getPropertyEditorParams(n,e=[],t="visible",i={},o={},r=""){const{getVariables:c,getControlName:s,getStateMachines:p}=$(this.designerHostService),a=this.getRealTargetType(n),l=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],m={type:"property-editor",propertyTypes:l};return l.map(b=>{switch(b){case"Const":Object.assign(m,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":m.expressionConfig=this.getExpressionOptions(n,a,r||t);break;case"StateMachine":m.stateMachines=p();break;case"Variable":Object.assign(m,{controlName:s(n),newVariablePrefix:"is",newVariableType:"Boolean",variables:c(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:u=>{u.value=c(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(m.newVariablePrefix="ext_"+m.newVariablePrefix);break}}),m}getVisibleProperty(n,e=""){var o;let t=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?t=["Const","Expression"]:e==="form-group"&&!((o=n.binding)!=null&&o.field)?t=["Const","Variable","StateMachine"]:(e==="dataGrid"||e==="treeGrid"||e==="wizard")&&(t=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,t,"visible")}}}getBehaviorConfig(n,e="",t={},i){const o={title:"行为",description:""},r=this.getVisibleProperty(n,e);for(const s in t)r[s]=Object.assign(r[s]||{},t[s]);const c=this;return{...o,properties:{...r},setPropertyRelates(s,p){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":c.afterMutilEditorChanged(n,s);break}i&&i(s,p)}}}}afterMutilEditorChanged(n,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,n)}updateElementByParentContainer(n,e){const t=e&&e.parent&&e.parent.schema;if(!t)return;const i=t.contents.findIndex(r=>r.id===n),o=A.cloneDeep(t.contents[i]);t.contents.splice(i,1),t.contents.splice(i,0,o),d.refreshCanvas()}addNewVariableToViewModel(n,e){const t=n.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(n){const e=n.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:o,expressionInfo:r}=e,{targetId:c,targetType:s,expressionType:p,value:a,message:l}=r,m=this.formSchemaUtils.getModule();m.expressions=m.expressions||[];const{expressions:b}=m;let u=b.find(C=>C.target===c);u||(u={target:c,rules:[],targetType:s},b.push(u));const h=u.rules.find(C=>C.type===p);if(h)h.value=a,h.message=l;else{const C={id:o,type:p,value:a,message:l};u.rules.push(C)}delete e.expressionInfo}clearExpression(n,e){const t=n.propertyValue;if(t&&t.type==="Expression")return;const o=n.propertyID,r=this.formSchemaUtils.getExpressions(),c=e.binding?e.binding.field:e.id,s=r.find(p=>p.target===c);!s||!s.rules||(s.rules=s.rules.filter(p=>p.type!==o))}getExpressionOptions(n,e,t){return new D(this.formSchemaUtils).getExpressionOptions(n,e,t)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:t=>{var i;((i=t.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(t)}}},e}}const I=class I{static getEditorTypesByMDataType(n,e=!1,t=""){if(e)return[{key:d.DgControl["language-textbox"].type,value:d.DgControl["language-textbox"].name}];let i=I.fieldControlTypeMapping[n];if(t==="data-grid-column"&&(i!=null&&i.length)){const o=[d.DgControl["check-group"].type,d.DgControl["radio-group"].type,d.DgControl.image.type,d.DgControl["rich-text-editor"].type];i=i.filter(r=>!o.includes(r.key))}return i}static getAllInputTypes(){const n=[];for(const e in I.fieldControlTypeMapping)I.fieldControlTypeMapping[e].forEach(t=>{n.find(i=>i.key===t.key&&i.value===t.value)||n.push({key:t.key,value:t.value})});return n}static mappingDomPropAndSchemaProp(n,e){var o;const t=(o=n.editor)==null?void 0:o.type,i=[];return(n.type===d.DgControl["data-grid-column"].type||n.type===d.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===d.DgControl["input-group"].type||t===d.DgControl.textarea.type||t===d.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),t===d.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(n.type===d.DgControl["data-grid-column"].type||n.type===d.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(t===d.DgControl["combo-list"].type||t===d.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(n.type===d.DgControl["data-grid-column"].type||n.type===d.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),t===d.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),t===d.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),t===d.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"}),(n.type===d.DgControl["data-grid-column"].type||n.type===d.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};y(I,"fieldControlTypeMapping",{String:[{key:d.DgControl["input-group"].type,value:d.DgControl["input-group"].name},{key:d.DgControl.lookup.type,value:d.DgControl.lookup.name},{key:d.DgControl.image.type,value:d.DgControl.image.name},{key:d.DgControl["date-picker"].type,value:d.DgControl["date-picker"].name},{key:d.DgControl.switch.type,value:d.DgControl.switch.name},{key:d.DgControl["check-box"].type,value:d.DgControl["check-box"].name},{key:d.DgControl["check-group"].type,value:d.DgControl["check-group"].name},{key:d.DgControl["radio-group"].type,value:d.DgControl["radio-group"].name},{key:d.DgControl["combo-list"].type,value:d.DgControl["combo-list"].name},{key:d.DgControl.textarea.type,value:d.DgControl.textarea.name},{key:d.DgControl["time-picker"].type,value:d.DgControl["time-picker"].name}],Text:[{key:d.DgControl.textarea.type,value:d.DgControl.textarea.name},{key:d.DgControl.lookup.type,value:d.DgControl.lookup.name},{key:d.DgControl.image.type,value:d.DgControl.image.name},{key:d.DgControl.avatar.type,value:d.DgControl.avatar.name},{key:d.DgControl["rich-text-editor"].type,value:d.DgControl["rich-text-editor"].name}],Decimal:[{key:d.DgControl["number-spinner"].type,value:d.DgControl["number-spinner"].name}],Integer:[{key:d.DgControl["number-spinner"].type,value:d.DgControl["number-spinner"].name}],Number:[{key:d.DgControl["number-spinner"].type,value:d.DgControl["number-spinner"].name},{key:d.DgControl.switch.type,value:d.DgControl.switch.name},{key:d.DgControl["check-box"].type,value:d.DgControl["check-box"].name}],BigNumber:[{key:d.DgControl["number-spinner"].type,value:d.DgControl["number-spinner"].name}],Date:[{key:d.DgControl["date-picker"].type,value:d.DgControl["date-picker"].name}],DateTime:[{key:d.DgControl["date-picker"].type,value:d.DgControl["date-picker"].name}],Boolean:[{key:d.DgControl.switch.type,value:d.DgControl.switch.name},{key:d.DgControl["check-box"].type,value:d.DgControl["check-box"].name}],Enum:[{key:d.DgControl["combo-list"].type,value:d.DgControl["combo-list"].name},{key:d.DgControl["radio-group"].type,value:d.DgControl["radio-group"].name}],Object:[{key:d.DgControl.lookup.type,value:d.DgControl.lookup.name},{key:d.DgControl["combo-list"].type,value:d.DgControl["combo-list"].name},{key:d.DgControl["radio-group"].type,value:d.DgControl["radio-group"].name}]});let k=I;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 G(g){let n,e;const t=new Map;let i=[];function o(a,l){const b=a.split(" ").filter(E=>E.startsWith("col-"));if(b.length===0){l.isSupportedClass=!1;return}let u=b.find(E=>/^col-([1-9]|10|11|12)$/.test(E)),h=b.find(E=>/^col-md-([1-9]|10|11|12)$/.test(E)),C=b.find(E=>/^col-xl-([1-9]|10|11|12)$/.test(E)),F=b.find(E=>/^col-el-([1-9]|10|11|12)$/.test(E));u=u||"col-12",l.columnInSM=parseInt(u.replace("col-",""),10),l.displayWidthInSM=l.columnInSM/12,l.displayWidthInSM!==1&&(l.isSupportedClass=!1),h=h||"col-md-"+l.columnInSM,l.columnInMD=parseInt(h.replace("col-md-",""),10),l.displayWidthInMD=l.columnInMD/6,[1,2].includes(l.displayWidthInMD)||(l.isSupportedClass=!1),C=C||"col-xl-"+l.columnInMD,l.columnInLG=parseInt(C.replace("col-xl-",""),10),l.displayWidthInLG=l.columnInLG/3,[1,2,3,4].includes(l.displayWidthInLG)||(l.isSupportedClass=!1),F=F||"col-el-"+l.columnInLG,l.columnInEL=parseInt(F.replace("col-el-",""),10),l.displayWidthInEL=l.columnInEL/2,[1,2,3,4,5,6].includes(l.displayWidthInEL)||(l.isSupportedClass=!1)}function r(a,l,m,b=!1){let u=!1;a.contents.forEach(h=>{if(h.type==="fieldset"){m+=1,r(h,l,m,!0),u=!0;return}u&&(m+=1,u=!1);const C=h.appearance&&h.appearance.class,F=new q;C?o(C,F):F.isSupportedClass=!1,F.label=h.label||h.id,F.id=h.id,F.group=m,b&&(F.fieldSetId=a.id),e===h.id&&(n=m),t.set(h.id,h),l.push(F)})}function c(a){const l=g.getComponentById(a);if(!l||!l.componentType||!l.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const m=g.selectNode(l,b=>b.type===d.DgControl["response-form"].type);return!m||!m.contents||m.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:m}}function s(a,l){l=l||a.id;const{result:m,message:b,formNode:u}=c(l);if(!m)return{result:m,message:b};e=a.id,i=[],t.clear();const h=u.contents[0].type===d.DgControl.fieldset.type?0:1;r(u,i,h);const C=i.find(E=>!E.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:C?"customize":"standard"},importData:i}}function p(a,l){l=l;const{result:m,formNode:b}=c(l);if(!m)return"";const u=[];return a.forEach(h=>{var E;const C=t.get(h.id),F=C.appearance&&C.appearance.class;if(F){const P=F.split(" ").filter(ne=>!ne.startsWith("col-")),M="col-"+h.columnInSM,K="col-md-"+h.columnInMD,ee="col-xl-"+h.columnInLG,te="col-el-"+h.columnInEL,ie=[M,K,ee,te].concat(P);C.appearance.class=ie.join(" ")}if(h.fieldSetId){const N=b.contents.find(M=>M.id===h.fieldSetId),P=u.find(M=>M.id===h.fieldSetId);P?(E=P.contents)==null||E.push(C):(u.push(N),N.contents=[C])}else u.push(C)}),b.contents=u,b.id}return{checkCanFindFormNode:c,checkCanOpenLayoutEditor:s,changeFormControlsByResponseLayoutConfig:p,getResonseFormLayoutConfig:r}}const O=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 j extends R{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=G(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 o=this.getTipsConfig(e);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...o},["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 p;const o=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:((p=e.editor)==null?void 0:p.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(a,l,m){if(a)switch(a&&a.propertyID){case"type":{o.changeControlType(e,a,t);break}case"label":{a.needRefreshControlTree=!0;break}case"binding":{o.changeBindingField(e,a,m);break}}}};return i.toLocaleLowerCase()!=="card"&&delete s.properties.showLabelType,s}getExpandProperties(e){const t=this,i=["Const","Variable"],o=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:o},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,p){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!==v.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var o;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((o=d.DgControl[e.editor.type])==null?void 0:o.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===v.FormSchemaEntityField$Type.SimpleField?i=k.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=k.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(o,r){if(o)switch(o&&o.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(o.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(o.propertyValue,e.id,this.componentId),d.canvasChanged.value++;break;case"style":{d.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){const o=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const c=r.contents.findIndex(a=>a.id===e.id);if(c===-1)return;const s=r.contents[c];let p;if(this.designViewModelField){const m=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(u=>u.id===this.designViewModelField.id).fieldSchema||{};m.editor||(m.editor={}),m.editor.$type=o,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,m,!1),p=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,o)}p||(p=this.controlCreatorUtils.createFormGroupWithoutField(o)),Object.assign(p,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding}),Object.prototype.hasOwnProperty.call(s,"visible")&&Object.assign(p,{visible:s.visible}),s.editor&&["readonly","required","placeholder"].map(a=>{Object.prototype.hasOwnProperty.call(s.editor,a)&&(p.editor[a]=s.editor[a])}),i!=null&&i.updateContextSchema?i.updateContextSchema(p):(i.schema=Object.assign(s,p),Object.assign(e,p)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(a=>a.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(a=>a.classList.remove("dgComponentFocused")),d.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:O},visible:!!e.enableTips}}:{}}getComponentConfig(e,t={},i={},o){var m,b;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),c=(m=e.binding)!=null&&m.field?[]:["Const","Variable","StateMachine"],s=this.getPropertyEditorParams(e,c,"readonly"),p=this.getPropertyEditorParams(e,c,"required"),a={readonly:{description:"",title:"只读",editor:s},required:{description:"",title:"必填",type:"boolean",editor:p,visible:!!((b=e.binding)!=null&&b.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const u in i)a[u]=Object.assign(a[u]||{},i[u]);const l=this;return{...r,properties:{...a},setPropertyRelates(u,h){if(u){switch(u.propertyID){case"readonly":case"required":l.afterMutilEditorChanged(e,u);break}o&&o.bind(l)(u,e,h)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const o=e.split(" ");let r=o.find(l=>/^col-([1-9]|10|11|12)$/.test(l)),c=o.find(l=>/^col-md-([1-9]|10|11|12)$/.test(l)),s=o.find(l=>/^col-xl-([1-9]|10|11|12)$/.test(l)),p=o.find(l=>/^col-el-([1-9]|10|11|12)$/.test(l));r=r||"col-12",c=c||"col-md-"+r.replace("col-",""),s=s||"col-xl-"+c.replace("col-md-",""),p=p||"col-el-"+s.replace("col-xl-","");const a={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(c.replace("col-md-",""),10),columnInLG:parseInt(s.replace("col-xl-",""),10),columnInEL:parseInt(p.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,a)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const o=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,o,1),t){const u=o.find(h=>h.id===t.id);Object.assign(u||{},t)}const r=o.map(u=>u.columnInSM),c=o.map(u=>u.columnInMD),s=o.map(u=>u.columnInLG),p=o.map(u=>u.columnInEL),a=this.checkIsUniqueColumn(r)?r[0]:null,l=this.checkIsUniqueColumn(c)?c[0]:null,m=this.checkIsUniqueColumn(s)?s[0]:null,b=this.checkIsUniqueColumn(p)?p[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:a,uniqueColClassInMD:l,uniqueColClassInLG:m,uniqueColClassInEL:b})}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===v.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(o=>o.boundEvents&&o.boundEvents.label==="onClickLabel");t.linkLabel=!!i}else t.linkLabel=!1}getEventPropertyConfig(e,t="card",i,o){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 p=r.eventsEditorUtils.formProperties(e,r.viewModelId,c);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(p),tabId:"commands",tabName:"交互",setPropertyRelates(m,b){const u=m.propertyValue;delete e[r.viewModelId],u&&(u.setPropertyRelates=this.setPropertyRelates,u.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,u.events,u),r.updateLinkedLabel(u,b)),o&&o(m,b,u);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"],o){return new D(this.formSchemaUtils).getExpressionConfig(e,t,i,o)}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 o;e.editor[t]!==i?e.editor[t]=i:(o=this.getFormDesignerInstance())==null||o.reloadPropertyPanel()}setBooleanValue(e,t,i){let o=i;this.getBindingDataType()==="string"&&(o=(o||"").trim()||(t==="trueValue"?"true":"false"));const c=t==="trueValue"?"falseValue":"trueValue";e.editor[c]===o&&(o=o+1),this.updatePropertyValue(e,t,o)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class W extends j{getPropertyConfig(n,e){this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.appearance=this.getAppearanceConfig(n,{horizontal:{description:"布局方向",title:"布局方向",type:"enum",editor:{type:"combo-list",data:[{id:!0,name:"水平"},{id:!1,name:"垂直"}]}}});const t=this,i=this.getPropertyEditorParams(n,["Variable"],"",{},{newVariablePrefix:"",newVariableType:"Object"});return this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"",{dataSourceType:{description:"若要配置标签数值,请使用动态数据源。",title:"数据源类型",type:"enum",visible:!0,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},bindDataSource:{description:"动态类型绑定数据源选择",title:"绑定数据源",visible:(n==null?void 0:n.dataSourceType)==="dynamic",type:"object",editor:i},navData:{description:"静态类型数据源选择",title:"数据源",type:"array",visible:!(n!=null&&n.dataSourceType)||n.dataSourceType==="static",...t.getItemCollectionEditor(n,n.idField||"id",n.displayField||"text"),refreshPanelAfterChanged:!0},maxNum:{description:"超过最大值后以【maxNum+】显示,仅支持动态数据源场景。",title:"显示数字最大值",min:0,useThousands:!1,needValid:!0,visible:n.dataSourceType==="dynamic"}},(o,r)=>{switch(o.propertyID){case"bindDataSource":t.afterMutilEditorChanged(n,o);break}}),this.getEventPropConfig(n),this.propertyConfig}getEventPropConfig(n){const e=[{label:"onNav",name:"切换事件"}],t=this,i=t.eventsEditorUtils.formProperties(n,t.viewModelId,e),o=t.createBaseEventProperty(i);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:o,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,c){const s=r.propertyValue;delete n[t.viewModelId],s&&(s.setPropertyRelates=this.setPropertyRelates,t.eventsEditorUtils.saveRelatedParameters(n,t.viewModelId,s.events,s)),n.remoteSort=!!n.columnSorted}}}}function z(g,n){function e(r,c){const s=g.schema;return new W(r,n).getPropertyConfig(s,c)}function t(){return!1}function i(){return!1}function o(){return!1}return{getPropsConfig:e,canAccepts:t,checkCanDeleteComponent:i,checkCanMoveComponent:o}}function _(g,n,e){return n==="dynamic"?{navData:Array.isArray(e.bindDataSource)?e.bindDataSource||[]:[]}:{navData:e.navData}}const X=new Map([["appearance",w.resolveAppearance],["dataSourceType",_]]),H=new Map([["appearance",w.resolveAppearance]]);function L(g,n,e){return n}const B={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/nav.schema.json",title:"nav",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a nav",type:"string"},type:{description:"The type string of nav component",type:"string",default:"nav"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},activeNavId:{description:"",type:"string",default:""},displayField:{description:"",type:"string",default:"text"},disableField:{description:"",type:"string",default:"disable"},horizontal:{description:"",type:"boolean",default:!0},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"num"},maxNum:{description:"",type:"number"},navData:{description:"",type:"array",default:[]},dataSourceType:{description:"",type:"string",default:"static"},bindDataSource:{description:"",type:"object"},navPicking:{description:"",type:"function"}},required:["id","type"]},T={activeNavId:{Type:String,default:""},displayField:{Type:String,default:"text"},disableField:{Type:String,default:"disable"},horizontal:{Type:Boolean,default:!0},idField:{Type:String,default:"id"},maxNum:{Type:Number,default:99},navData:{Type:Array,default:[]},navPicking:{type:Function,default:()=>g=>!0},valueField:{Type:String,default:"num"},visible:{Type:Boolean,default:!0},customClass:{Type:String,default:""},customStyle:{Type:String,default:""}},J=w.createPropsResolver(T,B,X,L),U=Object.assign({},T,{componentId:{type:String,default:""},dataSourceType:{Type:String,default:"static"}}),Q=w.createPropsResolver(U,B,H,L),V=f.defineComponent({name:"FNavDesign",props:U,emits:["nav"],setup(g,n){const e=f.ref(g.activeNavId),t=[{id:"1",text:"全部"},{id:"2",text:"已回复"},{id:"3",text:"待回复",num:200},{id:"4",text:"@我",num:33}],i=f.ref(g.navData&&g.navData.length===0?t:g.navData),o=f.ref(),r=f.inject("design-item-context"),c=f.inject("designer-host-service"),s=z(r,c),p=d.useDesignerComponent(o,r,s);f.onMounted(()=>{o.value.componentInstance=p}),n.expose(p.value),f.watch(()=>g.navData,u=>{i.value=u&&u.length===0?t:u,a()});function a(){if(i.value&&i.value.length&&!e.value){const u=i.value.find(h=>!h.disable);u&&(e.value=u.id)}}function l(u){u.id!==e.value&&(e.value=u.id)}const m=f.computed(()=>{const u={"farris-nav":!0,"farris-nav-vertical":!g.horizontal};return v.getCustomClass(u,g.customClass)}),b=f.computed(()=>{const u={};return v.getCustomStyle(u,g.customStyle)});return()=>{var u;return f.createVNode("div",{ref:o,class:m.value,style:b.value},[(u=i.value)==null?void 0:u.map(h=>f.createVNode("div",{class:["farris-nav-item",{active:h.id===e.value}],onClick:()=>l(h)},[f.createVNode("div",{class:"farris-nav-item-link"},[f.createVNode("span",{class:"farris-nav-item-link-text"},[h.text,g.dataSourceType==="dynamic"&&h.num&&f.createVNode("div",{class:"farris-nav-item-tag"},[h.num<=g.maxNum&&f.createVNode("span",{class:"tag-text"},[h.num]),h.num>g.maxNum&&f.createVNode("span",{class:"tag-text"},[g.maxNum,f.createTextVNode("+")])])])])]))])}}}),Y=f.defineComponent({name:"FNav",props:T,emits:["nav","update:activeNavId"],setup(g,n){const e=f.ref(g.activeNavId),t=f.ref(g.navData),i=f.ref(g.navPicking),o=f.computed(()=>({paddingTop:"1rem"}));function r(a){if(t.value&&t.value.length){let l=t.value.find(m=>m[g.idField]===a&&m[g.disableField]!==!0);l||(l=t.value.find(m=>m[g.disableField]!==!0)),l&&e.value!==l.id&&(e.value=a,n.emit("nav",l))}}f.watch([g.activeNavId,g.navData],([a,l])=>{t.value=l,r(a)});function c(a){a.disable||a.id===e.value||Promise.resolve().then(()=>i.value(a)).then(l=>{l&&(e.value=a.id,n.emit("update:activeNavId",a.id),n.emit("nav",a))})}const s=f.computed(()=>{const a={"farris-nav":!0,"farris-nav-vertical":!g.horizontal};return v.getCustomClass(a,g.customClass)}),p=f.computed(()=>{const a={};return v.getCustomStyle(a,g.customStyle)});return()=>{var a;return f.createVNode("div",{class:s.value,style:p.value},[(a=t.value)==null?void 0:a.map(l=>f.createVNode("div",{class:["farris-nav-item",{active:l[g.idField]===e.value},{disabled:l[g.disableField]}],onClick:()=>c(l)},[f.createVNode("div",{class:"farris-nav-item-link",style:o.value},[f.createVNode("span",{class:"farris-nav-item-link-text"},[typeof l[g.displayField]=="function"?l[g.displayField]():l[g.displayField],l[g.valueField]&&f.createVNode("div",{class:"farris-nav-item-tag"},[l[g.valueField]<=g.maxNum&&f.createVNode("span",{class:"tag-text"},[l[g.valueField]]),l[g.valueField]>g.maxNum&&f.createVNode("span",{class:"tag-text"},[g.maxNum,f.createTextVNode("+")])])]),f.createVNode("div",{class:"farris-nav-item-bottom-line"},null)])]))])}}});V.registerDesigner=(g,n,e,t)=>{g.nav=V,n.nav=Q},V.register=(g,n,e)=>{g.nav=Y,n.nav=J};const Z=v.withInstall(V);x.FNavDesign=V,x.default=Z,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FormSchemaEntityFieldTypeName as F, withInstall as V } from "../../components/common/index.esm.js";
|
|
2
2
|
import j, { numberSpinnerProps as P } from "../../components/number-spinner/index.esm.js";
|
|
3
|
-
import { computed as b, ref as N, createVNode as p, Fragment as B, defineComponent as R, inject as
|
|
3
|
+
import { computed as b, ref as N, createVNode as p, Fragment as B, defineComponent as R, inject as v, onMounted as O } from "vue";
|
|
4
4
|
import { resolveAppearance as M, createPropsResolver as I } from "../../components/dynamic-resolver/index.esm.js";
|
|
5
5
|
import g from "bignumber.js";
|
|
6
6
|
import { useDesignerComponent as A } from "../../components/designer-canvas/index.esm.js";
|
|
@@ -183,9 +183,9 @@ const T = /* @__PURE__ */ new Map([
|
|
|
183
183
|
function K(e, n, o) {
|
|
184
184
|
return n;
|
|
185
185
|
}
|
|
186
|
-
const
|
|
186
|
+
const w = Object.assign({}, P, {
|
|
187
187
|
readonly: {}
|
|
188
|
-
}), C = I(
|
|
188
|
+
}), C = I(w, J, T, K);
|
|
189
189
|
function Q(e, n, o) {
|
|
190
190
|
const l = b(() => ({
|
|
191
191
|
prefix: e.prefix,
|
|
@@ -423,19 +423,20 @@ function Y(e, n) {
|
|
|
423
423
|
}
|
|
424
424
|
const x = /* @__PURE__ */ R({
|
|
425
425
|
name: "FNumberSpinnerDesign",
|
|
426
|
-
props:
|
|
426
|
+
props: w,
|
|
427
427
|
emits: ["update:modelValue", "valueChange", "change", "blur", "focus", "click", "input"],
|
|
428
428
|
setup(e, n) {
|
|
429
429
|
const o = U(e, n);
|
|
430
430
|
Q(e, n, o);
|
|
431
|
-
const l = W(e), u = N(), d =
|
|
431
|
+
const l = W(e), u = N(), d = v("designer-host-service"), c = v("design-item-context"), a = Y(c, d), m = A(u, c, a);
|
|
432
432
|
O(() => {
|
|
433
433
|
u.value.componentInstance = m;
|
|
434
434
|
}), n.expose(m.value);
|
|
435
435
|
const i = N();
|
|
436
436
|
return () => p("div", {
|
|
437
437
|
ref: u,
|
|
438
|
-
class: "f-cmp-inputgroup input-group flex-row f-cmp-number-spinner"
|
|
438
|
+
class: "f-cmp-inputgroup input-group flex-row f-cmp-number-spinner",
|
|
439
|
+
style: "pointer-events: none;"
|
|
439
440
|
}, [p("input", {
|
|
440
441
|
ref: i,
|
|
441
442
|
class: "form-control",
|
|
@@ -454,6 +455,6 @@ const oe = V(x);
|
|
|
454
455
|
export {
|
|
455
456
|
x as FNumberSpinnerDesign,
|
|
456
457
|
oe as default,
|
|
457
|
-
|
|
458
|
+
w as numberSpinnerDesignProps,
|
|
458
459
|
C as propsResolver
|
|
459
460
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(l,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("../../components/common/index.umd.js"),require("../../components/number-spinner/index.umd.js"),require("vue"),require("../../components/dynamic-resolver/index.umd.js"),require("bignumber.js"),require("../../components/designer-canvas/index.umd.js"),require("../../components/property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/number-spinner/index.umd.js","vue","../../components/dynamic-resolver/index.umd.js","bignumber.js","../../components/designer-canvas/index.umd.js","../../components/property-panel/index.umd.js"],g):(l=typeof globalThis<"u"?globalThis:l||self,g(l["number-spinner"]={},l.common,l.FNumberSpinner,l.Vue,l.dynamicResolver,l.BigNumber,l.designerCanvas,l.propertyPanel))})(this,function(l,g,w,t,V,h,F,P){"use strict";const R=new Map([["appearance",V.resolveAppearance]]),
|
|
1
|
+
(function(l,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("../../components/common/index.umd.js"),require("../../components/number-spinner/index.umd.js"),require("vue"),require("../../components/dynamic-resolver/index.umd.js"),require("bignumber.js"),require("../../components/designer-canvas/index.umd.js"),require("../../components/property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/number-spinner/index.umd.js","vue","../../components/dynamic-resolver/index.umd.js","bignumber.js","../../components/designer-canvas/index.umd.js","../../components/property-panel/index.umd.js"],g):(l=typeof globalThis<"u"?globalThis:l||self,g(l["number-spinner"]={},l.common,l.FNumberSpinner,l.Vue,l.dynamicResolver,l.BigNumber,l.designerCanvas,l.propertyPanel))})(this,function(l,g,w,t,V,h,F,P){"use strict";const R=new Map([["appearance",V.resolveAppearance]]),v={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/number-spinner.schema.json",title:"number-spinner",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a number spinner",type:"string"},type:{description:"The type string of number spinner component",type:"string",default:"number-spinner"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:"请输入数字"},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},precision:{description:"",type:"number",default:0},min:{description:"",type:"number"},step:{description:"",type:"number",default:1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},nullable:{description:"",type:"boolean",default:!1},max:{description:"",type:"number"},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},showZero:{description:"",type:"boolean",default:!0},useThousands:{description:"",type:"boolean",default:!0},keyboard:{description:"",type:"boolean",default:!0},bigNumber:{description:"",type:"boolean",default:!1},updateOn:{description:"",type:"string",default:"blur"},showButton:{description:"",type:"boolean",default:!0},needValid:{description:"",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"]};function M(e,n,s){return n}const N=Object.assign({},w.numberSpinnerProps,{readonly:{}}),S=V.createPropsResolver(N,v,R,M);function O(e,n,s){const c=t.computed(()=>({prefix:e.prefix,suffix:e.suffix,decimalSeparator:e.decimalSeparator,groupSeparator:e.useThousands?e.groupSeparator:"",groupSize:e.groupSize})),{getValidNumberObject:d,precision:m}=s;function a(r){return r=r==null||r===""?"":String(r),r=r.replace(new RegExp(e.prefix,"g"),"").replace(new RegExp(e.suffix,"g"),"").replace(/,/g,""),e.groupSeparator&&e.groupSeparator!==","&&(r=r.replace(new RegExp(`\\${e.groupSeparator}`,"g"),"")),e.decimalSeparator&&e.decimalSeparator!=="."&&(r=r.replace(new RegExp(`\\${e.decimalSeparator}`,"g"),".")),r}function p(r,b){return e.precision!==null&&e.precision!==void 0?r.toFormat(m.value,b):r.toFormat(b)}function f(r,b=!0){const o=a(r),u=new h(o,10);let i=u;return b&&(i=d(u)),i.valueOf()==="0"&&!e.showZero||i.isNaN()?"":e.formatter?e.formatter(i.toNumber()):p(i,c.value)}return{cleanFormat:a,format:f}}function q(e,n){const s=t.ref(""),c=t.ref(e.modelValue),d=t.computed(()=>Number(e.precision)||0),m=t.ref(e.bigNumber);function a(o){return o.toFixed(d.value)}function p(o){return isNaN(o)||o===null||o===void 0||o===""}function f(o){const u=p(e.max)?null:new h(String(e.max),10),i=p(e.min)?null:new h(String(e.min),10);return u&&o.gt(u)?u:i&&o.lt(i)?i:o}function r(o,u=!0){if(e.parser)return isNaN(Number(o))?e.parser(o):o;let i=new h(o,10);if(u&&(i=f(i)),i.isNaN()){if(e.nullable)return null;if(e.showZero&&u)return 0;if(!u)return null;const j=new h(""+e.min,10),C=new h(""+e.max,10);if(!j.isNaN())i=j;else if(!C.isNaN())i=C;else return 0}return a(i)}function b(o){let u=m.value?o:Number(o);e.nullable&&o===null&&(u=null),u!==e.modelValue&&(n.emit("update:modelValue",u),n.emit("valueChange",u),n.emit("change",u))}return{displayValue:s,getRealValue:r,modelValue:c,isEmpty:p,onNumberValueChanged:b,precision:d,getValidNumberObject:f,toFixed:a}}function B(e){const n=t.computed(()=>({"btn-group":!0,"btn-group-number":!0})),s=t.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),c=t.computed(()=>({cursor:"pointer","margin-left":0})),d=t.computed(()=>({cursor:"pointer","margin-left":0})),m=t.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":e.expandMode==="button","input-append-text":e.expandMode==="text"}));return()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{class:n.value},[t.createVNode("button",{class:s.value,style:c.value},[t.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),t.createVNode("button",{class:s.value,style:d.value},[t.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])]),e.expandable&&t.createVNode("div",{class:m.value},[t.createVNode("div",{class:"input-group-text"},[e.expandContent])])])}class I extends P.InputBaseProperty{constructor(n,s){super(n,s)}getEditorProperties(n){var m,a,p,f,r,b,o,u;let s,c=!1;if(((m=n==null?void 0:n.binding)==null?void 0:m.type)==="Form"){const i=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(a=i==null?void 0:i.schemaField)!=null&&a.type&&(s=i.schemaField.type.precision,c=i.schemaField.type.name==="BigNumber")}return this.getComponentConfig(n,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:s===0,min:0,max:s,needValid:!0},refreshPanelAfterChanged:!0},step:{description:"",title:"步长",type:"number",editor:{min:0,needValid:!0,precision:(p=n==null?void 0:n.editor)==null?void 0:p.precision}},min:{description:"",title:"最小值",type:"number",editor:{nullable:!0,max:(f=n==null?void 0:n.editor)==null?void 0:f.max,precision:(r=n==null?void 0:n.editor)==null?void 0:r.precision,bigNumber:c,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((b=n==null?void 0:n.editor)==null?void 0:b.min)===void 0||(o=n==null?void 0:n.editor)==null?void 0:o.min,precision:(u=n==null?void 0:n.editor)==null?void 0:u.precision,bigNumber:c,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{editable:!1,data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},bigNumber:{description:"",title:"支持大数字",type:"boolean",readonly:!0,visible:c},showZero:{description:"",title:"显示0值",type:"boolean"},nullable:{description:"允许设置为 null",title:"允许为空",type:"boolean"},useThousands:{description:"",title:"启用千分位",type:"boolean"},showButton:{description:"",title:"显示加减按钮",type:"boolean"}},function(i,y,j){if(i)switch(i.propertyID){case"precision":{y.formatter&&(y.formatter.precision=i.propertyValue);break}}})}changeBindingField(n,s,c){var m;super.changeBindingField(n,s);const d=c;n.editor&&((m=d==null?void 0:d.type)==null?void 0:m.name)===g.FormSchemaEntityFieldTypeName.Number&&(n.editor.precision=d.type.precision)}}function T(e,n){const s=e.schema;function c(d,m){return new I(d,n).getPropertyConfig(s,m)}return{getPropsConfig:c}}const x=t.defineComponent({name:"FNumberSpinnerDesign",props:N,emits:["update:modelValue","valueChange","change","blur","focus","click","input"],setup(e,n){const s=q(e,n);O(e,n,s);const c=B(e),d=t.ref(),m=t.inject("designer-host-service"),a=t.inject("design-item-context"),p=T(a,m),f=F.useDesignerComponent(d,a,p);t.onMounted(()=>{d.value.componentInstance=f}),n.expose(f.value);const r=t.ref();return()=>t.createVNode("div",{ref:d,class:"f-cmp-inputgroup input-group flex-row f-cmp-number-spinner",style:"pointer-events: none;"},[t.createVNode("input",{ref:r,class:"form-control",readonly:!0,placeholder:e.placeholder},null),c()])}});x.register=(e,n,s,c)=>{e["number-spinner"]=w,n["number-spinner"]=S},x.registerDesigner=(e,n,s)=>{e["number-spinner"]=x,n["number-spinner"]=S};const A=g.withInstall(x);l.FNumberSpinnerDesign=x,l.default=A,l.numberSpinnerDesignProps=N,l.propsResolver=S,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|