@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
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(m,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js","lodash-es","../dynamic-form/index.umd.js"],l):(m=typeof globalThis<"u"?globalThis:m||self,l(m.fieldset={},m.Vue,m.dynamicResolver,m.designerCanvas,m.propertyPanel,m.LodashES,m.dynamicForm))})(this,function(m,l,F,I,B,L,U){"use strict";var te=Object.defineProperty;var ne=(m,l,F)=>l in m?te(m,l,{enumerable:!0,configurable:!0,writable:!0,value:F}):m[l]=F;var b=(m,l,F)=>ne(m,typeof l!="symbol"?l+"":l,F);const A=new Map([["appearance",F.resolveAppearance]]),O={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/fieldset.schema.json",title:"fieldset",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a fieldset",type:"string"},type:{description:"The type string of fieldset component",type:"string",default:"fieldset"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},title:{description:"The title for a fieldset",type:"string"},contents:{description:"",type:"array",default:[]}},required:["id","type","contents"]};function j(p,e,t){return Object.assign(e,{appearance:{class:"col-12 px-0"},title:"分组标题"}),e}const T={customClass:{type:String,default:""},customStyle:{type:String,default:""},title:{type:String,default:""}},D=Object.assign({},T,{componentId:{type:String,default:""}}),W=F.createPropsResolver(T,O,A,j),k=F.getPropsResolverGenerator(T,O,A,j),R=l.defineComponent({name:"FFieldset",props:T,emits:[],setup(p,e){const t=l.ref(!0);function n(a,r){a&&r&&r.split(" ").reduce((u,f)=>(u[f]=!0,u),a)}const i=l.computed(()=>{const a={"f-section-formgroup":!0,"f-state-collapse":!t.value};return n(a,p.customClass),a}),o=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":t.value}));function s(){t.value=!t.value}return()=>l.createVNode("fieldset",{class:i.value,style:p.customStyle},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:s},[p.title]),l.createVNode("div",{class:"f-toolbar",onClick:s},[l.createVNode("button",{class:o.value},null)])])]),l.createVNode("div",{class:"f-section-formgroup-inputs"},[e.slots.default&&e.slots.default()])])}});function J(p){const{formSchemaUtils:e,formStateMachineUtils:t}=p;function n(r,d=""){return{path:d+r.code,field:r.id,fullPath:r.code}}function i(r,d=""){const u=e.getViewModelById(r);return u?u.states.map(f=>n(f,d)):[]}function o(r){const d=e.getRootViewModelId(),u=i(r);if(r===d)return u;const f=i(d,"root-component.");return[...u,...f]}function s(r){return r.binding&&r.binding.path||r.id||""}function a(){return t&&t.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:a}}class K{constructor(e){b(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'"}]);b(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});b(this,"getExpressionConverter",(e,t)=>({convertFrom:(n,i,o,s)=>{const a=o.getExpressionRuleValue(e,t||i);return a&&a.value||""},convertTo:(n,i,o,s,a)=>{var r;if(i==="dataPicking"&&(o!=null&&o.target)){const d=`${o.target}_dataPicking`;((r=o.rules)==null?void 0:r.some(f=>f.id===d&&f.value))?n.dictPickingExpressionId=d:delete n.dictPickingExpressionId}s.updateExpression(o)}}));this.formSchemaService=e}getExpressionRule(e,t){const n=this.formSchemaService.getExpressions();if(!n)return"";const i=n.find(s=>s.target===e);if(!i)return"";const o=i.rules.find(s=>s.type===t);return o||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(t);if(!n||!n.states||n.states.length===0)return[];const i=[];return n.states.filter(o=>o.category==="remote").forEach(o=>{i.push({key:o.code,name:o.name,description:o.name,category:o.category})}),i}createTreeNode(e,t,n="label"){return{id:e.id,name:e.name,bindingPath:e[n],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const n=[];return e==null||e.forEach(i=>{var a;const o=this.createTreeNode(i,t);let s=[];(a=i.type)!=null&&a.fields&&(s=this.buildEntityFieldsTreeData(i.type.fields,[...t,i.label])),n.push({data:o,children:s,expanded:!0})}),n}buildChildEntityTreeData(e=null,t){const n=[];return e==null||e.forEach(i=>{var r,d;const o=this.createTreeNode(i,t);o.type="entity";const s=this.buildEntityFieldsTreeData((r=i.type)==null?void 0:r.fields,[...t,i.label]),a=this.buildChildEntityTreeData((d=i.type)==null?void 0:d.entities,[...t,i.label]);a!=null&&a.length&&(s==null||s.push(...a)),n.push({data:o,children:s||[],expanded:!0})}),n}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const n=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),i=this.buildChildEntityTreeData(t.type.entities,[t.code]);return i!=null&&i.length&&(n==null||n.push(...i)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,n){const i=n==="Field"?e.binding.field:e.id,o=this.getExpressionRule(i,t),s=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(t)&&o?o.message:"",...s};return o.messageType!=null&&(a.messageType=o.messageType),a}buildRule(e,t,n,i){const{expression:o,message:s,messageType:a}=t,r={id:`${e}_${n}`,type:n,value:o};return(n==="validate"||n==="dataPicking"||n==="required")&&(r.message=s),n==="dataPicking"&&(r.messageType=a),n==="validate"&&i&&(r.elementId=i),r}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,n,i){const o=t==="Field"?e.binding.field:e.id,s=this.buildRule(o,n,i,e.type==="form-group"?e.id:"");let r=this.getExpressionData().find(u=>u.targetType===t&&u.target===o);const d=u=>u.value.trim()==="";if(r){const u=r.rules.find(f=>f.id===s.id);if(u)d(s)?r.rules=r.rules.filter(f=>f.id!==s.id):(Object.assign(u,s),i==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(d(s))return null;r.rules=r.rules||[],r.rules.push(s)}}else{if(d(s))return null;r={target:`${o}`,rules:[s],targetType:t}}return r}getExpressionEditorOptions(e,t,n,i){return n.reduce((o,s)=>{var r,d;const a=t==="Field"?(r=e==null?void 0:e.binding)==null?void 0:r.field:e.id;return o[s]={hide:t==="Field"?!!((d=e==null?void 0:e.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(a),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,s,t),onSubmitModal:u=>{const f=this.updateExpression(e,t,u,s);if(i){const y=this.buildRule(a,u,s);i(y)}return f}}},o},{})}getExpressionInfo(e,t,n){const i=t==="Field"?e.binding.field:e.id,o=this.getExpressionRule(i,n),s={value:o&&o.value,targetId:i,targetType:t,expressionType:n};return o&&o.message&&(s.message=o.message),s}getExpressionConfig(e,t,n=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,n,i)}}}getExpressionOptions(e,t,n){const i=this.getExpressionInfo(e,t,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,n,t),expressionInfo:i}}}class Q{constructor(e,t){b(this,"componentId");b(this,"viewModelId");b(this,"eventsEditorUtils");b(this,"formSchemaUtils");b(this,"formMetadataConverter");b(this,"designViewModelUtils");b(this,"designViewModelField");b(this,"controlCreatorUtils");b(this,"designerHostService");b(this,"designerContext");b(this,"schemaService",null);b(this,"metadataService",null);b(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var n;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(o=>o.id===t)}e.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(e){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:e.type,name:I.DgControl[e.type]&&I.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},n){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 s in t)o[s]=Object.assign(o[s]||{},t[s]);return{...i,properties:{...o},setPropertyRelates(s,a){if(s){switch(s&&s.propertyID){case"class":case"style":{I.canvasChanged.value++;break}}n&&n(s,e,a)}}}}getPropertyEditorParams(e,t=[],n="visible",i={},o={},s=""){const{getVariables:a,getControlName:r,getStateMachines:d}=J(this.designerHostService),u=this.getRealTargetType(e),f=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],y={type:"property-editor",propertyTypes:f};return f.map(S=>{switch(S){case"Const":Object.assign(y,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":y.expressionConfig=this.getExpressionOptions(e,u,s||n);break;case"StateMachine":y.stateMachines=d();break;case"Variable":Object.assign(y,{controlName:r(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:x=>{x.value=a(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(y.newVariablePrefix="ext_"+y.newVariablePrefix);break}}),y}getVisibleProperty(e,t=""){var o;let n=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?n=["Const","Expression"]:t==="form-group"&&!((o=e.binding)!=null&&o.field)?n=["Const","Variable","StateMachine"]:(t==="dataGrid"||t==="treeGrid"||t==="wizard")&&(n=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,n,"visible")}}}getBehaviorConfig(e,t="",n={},i){const o={title:"行为",description:""},s=this.getVisibleProperty(e,t);for(const r in n)s[r]=Object.assign(s[r]||{},n[r]);const a=this;return{...o,properties:{...s},setPropertyRelates(r,d){if(r){switch(r.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(e,r);break}i&&i(r,d)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const n=t&&t.parent&&t.parent.schema;if(!n)return;const i=n.contents.findIndex(s=>s.id===e),o=L.cloneDeep(n.contents[i]);n.contents.splice(i,1),n.contents.splice(i,0,o),I.refreshCanvas()}addNewVariableToViewModel(e,t){const n=e.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const s={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(s.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(s)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:o,expressionInfo:s}=t,{targetId:a,targetType:r,expressionType:d,value:u,message:f}=s,y=this.formSchemaUtils.getModule();y.expressions=y.expressions||[];const{expressions:S}=y;let x=S.find(P=>P.target===a);x||(x={target:a,rules:[],targetType:r},S.push(x));const V=x.rules.find(P=>P.type===d);if(V)V.value=u,V.message=f;else{const P={id:o,type:d,value:u,message:f};x.rules.push(P)}delete t.expressionInfo}clearExpression(e,t){const n=e.propertyValue;if(n&&n.type==="Expression")return;const o=e.propertyID,s=this.formSchemaUtils.getExpressions(),a=t.binding?t.binding.field:t.id,r=s.find(d=>d.target===a);!r||!r.rules||(r.rules=r.rules.filter(d=>d.type!==o))}getExpressionOptions(e,t,n){return new K(this.formSchemaUtils).getExpressionOptions(e,t,n)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:n=>{var i;((i=n.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},t}}class X extends Q{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e),this.propertyConfig}getAppearanceProperties(e){const t=this;return this.getAppearanceConfig(e,{title:{title:"标题",type:"string",description:"标题"}},(i,o,s)=>{switch(i&&i.propertyID){case"title":{i.needRefreshControlTree=!0,t.changeGroupNameInViewModel(o.id,i.propertyValue);break}}})}changeGroupNameInViewModel(e,t){var o;const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);n&&n.changeGroupName(e,t);const i=this.formSchemaUtils.getViewModelById(this.viewModelId);(o=i==null?void 0:i.fields)!=null&&o.length&&i.fields.forEach(s=>{s.groupId===e&&(s.groupName=t)})}}function Y(p,e){const t=new I.UseTemplateDragAndDropRules,{canAccept:n}=t.getTemplateRule(p,e),i=p.schema;function o(){return"f-section-formgroup"}function s(){return!0}function a(){return!0}function r(){return!1}function d(c){const{sourceElement:g}=c,{componentInstance:w}=g,h=e==null?void 0:e.formSchemaUtils;if(!h)return!0;const M=h.getComponentById(w.value.belongedComponentId),C=h.getViewModelById(M.viewModel),v=h.getComponentById(p.componentInstance.value.belongedComponentId),E=h.getViewModelById(v.viewModel);return C!=null&&C.id&&(E!=null&&E.id)&&C.id!==E.id?C.bindTo===E.bindTo:!0}function u(c){const{bindingTargetId:g}=c;if(!e)return;const{formSchemaUtils:w,schemaService:h}=e,M=w.getComponentById(p.componentInstance.value.belongedComponentId),C=h.getFieldByIDAndVMID(g,M.viewModel);return!!(C!=null&&C.schemaField)}function f(c){return c.sourceType==="control"&&c.componentCategory==="input"?!0:c.sourceType==="move"&&c.componentType==="form-group"?d(c):c.sourceType==="field"&&c.componentCategory==="input"?u(c):!1}function y(c){return!(!I.useDragulaCommonRule().basalDragulaRuleForContainer(c,e)||!n||!f(c))}function S(c){return new X(c,e).getPropertyConfig(i)}function x(c){var E,N,$,q,G;if(!e)return;const{formSchemaUtils:g,designViewModelUtils:w}=e,h=c.componentInstance,M=h.value.parent,C=g.getComponentById(h.value.belongedComponentId),v=w.getDgViewModel(C.viewModel);switch(M&&((E=M.schema)==null?void 0:E.type)){case I.DgControl.fieldset.type:case I.DgControl["response-form"].type:case I.DgControl["response-layout-item"].type:{const _={groupId:i.id,groupName:i.title},ee=($=(N=h.value.schema)==null?void 0:N.binding)==null?void 0:$.type,z=(G=(q=h.value.schema)==null?void 0:q.binding)==null?void 0:G.field;switch(ee){case B.FormBindingType.Form:{v.changeField(z,_);break}case B.FormBindingType.Variable:{g.modifyViewModelFieldById(C.viewModel,z,_,!0);break}}break}}}function V(c){if(!c||!c.componentInstance||!e)return;const g=c.componentInstance,w=g.value.schema;if(!w.binding||!w.binding.field)return;x(c);const{formSchemaUtils:h}=e,M=h.getViewModelIdByComponentId(g.value.belongedComponentId),C=h.getViewModelIdByComponentId(p.componentInstance.value.belongedComponentId);M!==C&&U.useDesignerRules(p,e).moveInputBetweenComponent(c)}function P(c,g){var w,h,M;if(c.componentCategory==="input"){const{label:C}=c;let v;const E=e==null?void 0:e.controlCreatorUtils;(w=c.bindingSourceContext)!=null&&w.entityFieldNode?v=E.setFormFieldProperty((h=c.bindingSourceContext)==null?void 0:h.entityFieldNode,g==null?void 0:g.type):(v=E.createFormGroupWithoutField(g==null?void 0:g.type),v.label=C);const N=U.useDesignerRules(p,e);return N.resolveFormGroupAppearance(v),N.syncFieldToViewModel(c,(M=v.editor)==null?void 0:M.type,i.id,i.title),v}return g}return{canAccepts:y,hideNestedPaddingInDesginerView:r,getPropsConfig:S,checkCanDeleteComponent:s,checkCanMoveComponent:a,onAcceptMovedChildElement:V,onResolveNewComponentSchema:P,getDesignerClass:o}}const Z=l.defineComponent({name:"FFieldsetDesign",props:D,emits:[],setup(p,e){const t=l.ref(),n=l.ref(),i=l.inject("design-item-context"),o=l.inject("designer-host-service"),s=Y(i,o),a=I.useDesignerComponent(n,i,s);e.expose(a.value);const{designerContext:r}=o;l.onMounted(()=>{n.value.componentInstance=a});const d=l.ref(!0);function u(V,P){V&&P&&P.split(" ").reduce((g,w)=>(g[w]=!0,g),V)}const f=l.computed(()=>{const V={"f-section-formgroup":!0,"f-state-collapse":!d.value};return u(V,p.customClass),V}),y=l.computed(()=>{const V=r&&r.designerMode==="Mobile";return{display:d.value?"flex":"none","flex-wrap":"wrap","flex-direction":V?"column":"row"}}),S=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":d.value}));function x(V){V.stopPropagation(),d.value=!d.value,l.nextTick(()=>{I.setPositionOfSelectedComponentBtnGroup()})}return()=>l.createVNode("fieldset",{class:f.value,ref:t},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:x},[p.title]),l.createVNode("div",{class:"f-toolbar",onClick:x},[l.createVNode("button",{class:S.value},null)])])]),l.createVNode("div",{"data-dragref":`${i.schema.id}-container`,ref:n,class:"f-section-formgroup-inputs drag-container",style:y.value},[e.slots.default&&e.slots.default()])])}}),H={install(p){p.component(R.name,R)},register(p,e,t,n,i){p.fieldset=R,e.fieldset=k(i)},registerDesigner(p,e,t,n){p.fieldset=Z,e.fieldset=k(n)}};m.Fieldset=R,m.default=H,m.fieldsetDesignerProps=D,m.fieldsetProps=T,m.propsResolver=W,m.propsResolverGenerator=k,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(m,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js","lodash-es","../dynamic-form/index.umd.js"],l):(m=typeof globalThis<"u"?globalThis:m||self,l(m.fieldset={},m.Vue,m.dynamicResolver,m.designerCanvas,m.propertyPanel,m.LodashES,m.dynamicForm))})(this,function(m,l,F,I,k,z,U){"use strict";var te=Object.defineProperty;var ie=(m,l,F)=>l in m?te(m,l,{enumerable:!0,configurable:!0,writable:!0,value:F}):m[l]=F;var y=(m,l,F)=>ie(m,typeof l!="symbol"?l+"":l,F);const A=new Map([["appearance",F.resolveAppearance]]),O={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/fieldset.schema.json",title:"fieldset",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a fieldset",type:"string"},type:{description:"The type string of fieldset component",type:"string",default:"fieldset"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},title:{description:"The title for a fieldset",type:"string"},expandStatus:{description:"The expanded status for a fieldset",type:"boolean",default:!0},expandLabel:{description:"The expanded label for a fieldset",type:"string"},collapseLabel:{description:"The collapsed label for a fieldset",type:"string"},contents:{description:"",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0},sectionCollapseVisible:{description:"",type:"boolean",default:!1}},required:["id","type","contents"]};function j(c,e,t){return Object.assign(e,{appearance:{class:"col-12 px-0"},title:"分组标题"}),e}const T={customClass:{type:String,default:""},customStyle:{type:String,default:""},title:{type:String,default:""},expandStatus:{type:Boolean,default:!0},expandLabel:{type:String,default:""},collapseLabel:{type:String,default:""},visible:{type:Boolean,default:!0},sectionCollapseVisible:{type:Boolean,default:!1}},D=Object.assign({},T,{componentId:{type:String,default:""}}),W=F.createPropsResolver(T,O,A,j),R=F.getPropsResolverGenerator(T,O,A,j),B=l.defineComponent({name:"FFieldset",props:T,emits:[],setup(c,e){const t=l.ref(c.expandStatus);function i(a,r){a&&r&&r.split(" ").reduce((p,f)=>(p[f]=!0,p),a)}const n=l.computed(()=>{const a={"f-section-formgroup":!0,"f-state-collapse":!t.value,"f-state-visible":c.sectionCollapseVisible};return i(a,c.customClass),a}),o=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":t.value}));function s(){t.value=!t.value}return l.watch(()=>c.expandStatus,(a,r)=>{a!==r&&(t.value=a)}),()=>c.visible?l.createVNode("fieldset",{class:n.value,style:c.customStyle},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:s},[c.title]),l.createVNode("div",{class:"f-toolbar",onClick:s},[l.createVNode("button",{class:o.value},[l.createVNode("span",null,[t.value?c.collapseLabel:c.expandLabel])])])])]),l.createVNode("div",{class:"f-section-formgroup-inputs"},[e.slots.default&&e.slots.default()])]):null}});function J(c){const{formSchemaUtils:e,formStateMachineUtils:t}=c;function i(r,d=""){return{path:d+r.code,field:r.id,fullPath:r.code}}function n(r,d=""){const p=e.getViewModelById(r);return p?p.states.map(f=>i(f,d)):[]}function o(r){const d=e.getRootViewModelId(),p=n(r);if(r===d)return p;const f=n(d,"root-component.");return[...p,...f]}function s(r){return r.binding&&r.binding.path||r.id||""}function a(){return t&&t.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:a}}class K{constructor(e){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",(e,t)=>({convertFrom:(i,n,o,s)=>{const a=o.getExpressionRuleValue(e,t||n);return a&&a.value||""},convertTo:(i,n,o,s,a)=>{var r;if(n==="dataPicking"&&(o!=null&&o.target)){const d=`${o.target}_dataPicking`;((r=o.rules)==null?void 0:r.some(f=>f.id===d&&f.value))?i.dictPickingExpressionId=d:delete i.dictPickingExpressionId}s.updateExpression(o)}}));this.formSchemaService=e}getExpressionRule(e,t){const i=this.formSchemaService.getExpressions();if(!i)return"";const n=i.find(s=>s.target===e);if(!n)return"";const o=n.rules.find(s=>s.type===t);return o||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(t);if(!i||!i.states||i.states.length===0)return[];const n=[];return i.states.filter(o=>o.category==="remote").forEach(o=>{n.push({key:o.code,name:o.name,description:o.name,category:o.category})}),n}createTreeNode(e,t,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const i=[];return e==null||e.forEach(n=>{var a;const o=this.createTreeNode(n,t);let s=[];(a=n.type)!=null&&a.fields&&(s=this.buildEntityFieldsTreeData(n.type.fields,[...t,n.label])),i.push({data:o,children:s,expanded:!0})}),i}buildChildEntityTreeData(e=null,t){const i=[];return e==null||e.forEach(n=>{var r,d;const o=this.createTreeNode(n,t);o.type="entity";const s=this.buildEntityFieldsTreeData((r=n.type)==null?void 0:r.fields,[...t,n.label]),a=this.buildChildEntityTreeData((d=n.type)==null?void 0:d.entities,[...t,n.label]);a!=null&&a.length&&(s==null||s.push(...a)),i.push({data:o,children:s||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const i=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),n=this.buildChildEntityTreeData(t.type.entities,[t.code]);return n!=null&&n.length&&(i==null||i.push(...n)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,i){const n=i==="Field"?e.binding.field:e.id,o=this.getExpressionRule(n,t),s=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(t)&&o?o.message:"",...s};return o.messageType!=null&&(a.messageType=o.messageType),a}buildRule(e,t,i,n){const{expression:o,message:s,messageType:a}=t,r={id:`${e}_${i}`,type:i,value:o};return(i==="validate"||i==="dataPicking"||i==="required")&&(r.message=s),i==="dataPicking"&&(r.messageType=a),i==="validate"&&n&&(r.elementId=n),r}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,i,n){const o=t==="Field"?e.binding.field:e.id,s=this.buildRule(o,i,n,e.type==="form-group"?e.id:"");let r=this.getExpressionData().find(p=>p.targetType===t&&p.target===o);const d=p=>p.value.trim()==="";if(r){const p=r.rules.find(f=>f.id===s.id);if(p)d(s)?r.rules=r.rules.filter(f=>f.id!==s.id):(Object.assign(p,s),n==="validate"&&e.type==="form-group"&&(p.elementId=e.id));else{if(d(s))return null;r.rules=r.rules||[],r.rules.push(s)}}else{if(d(s))return null;r={target:`${o}`,rules:[s],targetType:t}}return r}getExpressionEditorOptions(e,t,i,n){return i.reduce((o,s)=>{var r,d;const a=t==="Field"?(r=e==null?void 0:e.binding)==null?void 0:r.field:e.id;return o[s]={hide:t==="Field"?!!((d=e==null?void 0:e.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(a),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,s,t),onSubmitModal:p=>{const f=this.updateExpression(e,t,p,s);if(n){const b=this.buildRule(a,p,s);n(b)}return f}}},o},{})}getExpressionInfo(e,t,i){const n=t==="Field"?e.binding.field:e.id,o=this.getExpressionRule(n,i),s={value:o&&o.value,targetId:n,targetType:t,expressionType:i};return o&&o.message&&(s.message=o.message),s}getExpressionConfig(e,t,i=["compute","dependency","validate"],n){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,i,n)}}}getExpressionOptions(e,t,i){const n=this.getExpressionInfo(e,t,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,t),expressionInfo:n}}}class Q{constructor(e,t){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 i;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(o=>o.id===t)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){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:e.type,name:I.DgControl[e.type]&&I.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},i){const n={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 s in t)o[s]=Object.assign(o[s]||{},t[s]);return{...n,properties:{...o},setPropertyRelates(s,a){if(s){switch(s&&s.propertyID){case"class":case"style":{I.canvasChanged.value++;break}}i&&i(s,e,a)}}}}getPropertyEditorParams(e,t=[],i="visible",n={},o={},s=""){const{getVariables:a,getControlName:r,getStateMachines:d}=J(this.designerHostService),p=this.getRealTargetType(e),f=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],b={type:"property-editor",propertyTypes:f};return f.map(S=>{switch(S){case"Const":Object.assign(b,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},n);break;case"Expression":b.expressionConfig=this.getExpressionOptions(e,p,s||i);break;case"StateMachine":b.stateMachines=d();break;case"Variable":Object.assign(b,{controlName:r(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:w=>{w.value=a(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(b.newVariablePrefix="ext_"+b.newVariablePrefix);break}}),b}getVisibleProperty(e,t=""){var o;let i=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?i=["Const","Expression"]:t==="form-group"&&!((o=e.binding)!=null&&o.field)?i=["Const","Variable","StateMachine"]:(t==="dataGrid"||t==="treeGrid"||t==="wizard")&&(i=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,t="",i={},n){const o={title:"行为",description:""},s=this.getVisibleProperty(e,t);for(const r in i)s[r]=Object.assign(s[r]||{},i[r]);const a=this;return{...o,properties:{...s},setPropertyRelates(r,d){if(r){switch(r.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(e,r);break}n&&n(r,d)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const i=t&&t.parent&&t.parent.schema;if(!i)return;const n=i.contents.findIndex(s=>s.id===e),o=z.cloneDeep(i.contents[n]);i.contents.splice(n,1),i.contents.splice(n,0,o),I.refreshCanvas()}addNewVariableToViewModel(e,t){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const s={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(s.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(s)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:o,expressionInfo:s}=t,{targetId:a,targetType:r,expressionType:d,value:p,message:f}=s,b=this.formSchemaUtils.getModule();b.expressions=b.expressions||[];const{expressions:S}=b;let w=S.find(P=>P.target===a);w||(w={target:a,rules:[],targetType:r},S.push(w));const x=w.rules.find(P=>P.type===d);if(x)x.value=p,x.message=f;else{const P={id:o,type:d,value:p,message:f};w.rules.push(P)}delete t.expressionInfo}clearExpression(e,t){const i=e.propertyValue;if(i&&i.type==="Expression")return;const o=e.propertyID,s=this.formSchemaUtils.getExpressions(),a=t.binding?t.binding.field:t.id,r=s.find(d=>d.target===a);!r||!r.rules||(r.rules=r.rules.filter(d=>d.type!==o))}getExpressionOptions(e,t,i){return new K(this.formSchemaUtils).getExpressionOptions(e,t,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var n;((n=i.controller)==null?void 0:n.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},t}}class X extends Q{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,""),this.propertyConfig}getAppearanceProperties(e){const t=this;return this.getAppearanceConfig(e,{title:{title:"标题",type:"string",description:"标题"},expandStatus:{title:"默认状态",type:"boolean",description:"默认面板是展开还是收起",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{name:"展开",value:!0},{name:"收起",value:!1}],enableClear:!1}},expandLabel:{title:"展开文本",type:"string",description:"展开文本"},collapseLabel:{title:"收起文本",type:"string",description:"收起文本"}},(n,o,s)=>{switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0,t.changeGroupNameInViewModel(o.id,n.propertyValue);break}}})}changeGroupNameInViewModel(e,t){var o;const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);i&&i.changeGroupName(e,t);const n=this.formSchemaUtils.getViewModelById(this.viewModelId);(o=n==null?void 0:n.fields)!=null&&o.length&&n.fields.forEach(s=>{s.groupId===e&&(s.groupName=t)})}}function Y(c,e){const t=new I.UseTemplateDragAndDropRules,{canAccept:i}=t.getTemplateRule(c,e),n=c.schema;function o(){return"f-section-formgroup"}function s(){return!0}function a(){return!0}function r(){return!1}function d(u){const{sourceElement:g}=u,{componentInstance:V}=g,h=e==null?void 0:e.formSchemaUtils;if(!h)return!0;const v=h.getComponentById(V.value.belongedComponentId),C=h.getViewModelById(v.viewModel),M=h.getComponentById(c.componentInstance.value.belongedComponentId),E=h.getViewModelById(M.viewModel);return C!=null&&C.id&&(E!=null&&E.id)&&C.id!==E.id?C.bindTo===E.bindTo:!0}function p(u){const{bindingTargetId:g}=u;if(!e)return;const{formSchemaUtils:V,schemaService:h}=e,v=V.getComponentById(c.componentInstance.value.belongedComponentId),C=h.getFieldByIDAndVMID(g,v.viewModel);return!!(C!=null&&C.schemaField)}function f(u){return u.sourceType==="control"&&u.componentCategory==="input"?!0:u.sourceType==="move"&&u.componentType==="form-group"?d(u):u.sourceType==="field"&&u.componentCategory==="input"?p(u):!1}function b(u){return!(!I.useDragulaCommonRule().basalDragulaRuleForContainer(u,e)||!i||!f(u))}function S(u){return new X(u,e).getPropertyConfig(n)}function w(u){var E,N,$,q,G;if(!e)return;const{formSchemaUtils:g,designViewModelUtils:V}=e,h=u.componentInstance,v=h.value.parent,C=g.getComponentById(h.value.belongedComponentId),M=V.getDgViewModel(C.viewModel);switch(v&&((E=v.schema)==null?void 0:E.type)){case I.DgControl.fieldset.type:case I.DgControl["response-form"].type:case I.DgControl["response-layout-item"].type:{const L={groupId:n.id,groupName:n.title},ee=($=(N=h.value.schema)==null?void 0:N.binding)==null?void 0:$.type,_=(G=(q=h.value.schema)==null?void 0:q.binding)==null?void 0:G.field;switch(ee){case k.FormBindingType.Form:{M.changeField(_,L);break}case k.FormBindingType.Variable:{g.modifyViewModelFieldById(C.viewModel,_,L,!0);break}}break}}}function x(u){if(!u||!u.componentInstance||!e)return;const g=u.componentInstance,V=g.value.schema;if(!V.binding||!V.binding.field)return;w(u);const{formSchemaUtils:h}=e,v=h.getViewModelIdByComponentId(g.value.belongedComponentId),C=h.getViewModelIdByComponentId(c.componentInstance.value.belongedComponentId);v!==C&&U.useDesignerRules(c,e).moveInputBetweenComponent(u)}function P(u,g){var V,h,v;if(u.componentCategory==="input"){const{label:C}=u;let M;const E=e==null?void 0:e.controlCreatorUtils;(V=u.bindingSourceContext)!=null&&V.entityFieldNode?M=E.setFormFieldProperty((h=u.bindingSourceContext)==null?void 0:h.entityFieldNode,g==null?void 0:g.type):(M=E.createFormGroupWithoutField(g==null?void 0:g.type),M.label=C);const N=U.useDesignerRules(c,e);return N.resolveFormGroupAppearance(M),N.syncFieldToViewModel(u,(v=M.editor)==null?void 0:v.type,n.id,n.title),M}return g}return{canAccepts:b,hideNestedPaddingInDesginerView:r,getPropsConfig:S,checkCanDeleteComponent:s,checkCanMoveComponent:a,onAcceptMovedChildElement:x,onResolveNewComponentSchema:P,getDesignerClass:o}}const Z=l.defineComponent({name:"FFieldsetDesign",props:D,emits:[],setup(c,e){const t=l.ref(),i=l.ref(),n=l.inject("design-item-context"),o=l.inject("designer-host-service"),s=Y(n,o),a=I.useDesignerComponent(i,n,s);e.expose(a.value);const{designerContext:r}=o;l.onMounted(()=>{i.value.componentInstance=a});const d=l.ref(!0);function p(x,P){x&&P&&P.split(" ").reduce((g,V)=>(g[V]=!0,g),x)}const f=l.computed(()=>{const x={"f-section-formgroup":!0,"f-state-collapse":!d.value};return p(x,c.customClass),x}),b=l.computed(()=>{const x=r&&r.designerMode==="Mobile";return{display:d.value?"flex":"none","flex-wrap":"wrap","flex-direction":x?"column":"row"}}),S=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":d.value}));function w(x){x.stopPropagation(),d.value=!d.value,l.nextTick(()=>{I.setPositionOfSelectedComponentBtnGroup()})}return()=>l.createVNode("fieldset",{class:f.value,ref:t},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:w},[c.title]),l.createVNode("div",{class:"f-toolbar",onClick:w},[l.createVNode("button",{class:S.value},[l.createVNode("span",null,[d.value?c.collapseLabel:c.expandLabel])])])])]),l.createVNode("div",{"data-dragref":`${n.schema.id}-container`,ref:i,class:"f-section-formgroup-inputs drag-container",style:b.value},[e.slots.default&&e.slots.default()])])}}),H={install(c){c.component(B.name,B)},register(c,e,t,i,n){c.fieldset=B,e.fieldset=R(n)},registerDesigner(c,e,t,i){c.fieldset=Z,e.fieldset=R(i)}};m.Fieldset=B,m.default=H,m.fieldsetDesignerProps=D,m.fieldsetProps=T,m.propsResolver=W,m.propsResolverGenerator=R,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.f-list-filter .filter-search-btn-reset{padding-left:4px;padding-right:4px;color:#000000a6}.f-list-filter .filter-search-btn--filter{margin:0 0 0 12px}.f-list-filter .filter-input-list .form-group{display:block}.f-list-filter .farris-form-controls-inline .filter-input-list .form-group{display:flex}.f-list-filter .filter-inputs-main-basis-wrapper{width:100%;overflow:hidden}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list{padding-left:0}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .common-group{min-width:200px;margin-bottom:0}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .form-group--has-number-range,.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .form-group--has-date-range{min-width:280px}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .form-group--has-datetime-range{min-width:300px}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .form-group--has-radio-group{width:auto}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .farris-checkradio-hor{flex-wrap:nowrap!important}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .farris-checkradio-hor .custom-control{flex-shrink:0}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .farris-checkradio-hor .custom-checkbox,.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .farris-checkradio-hor .custom-radio{max-width:177px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .farris-checkradio-hor .custom-checkbox:last-child,.f-list-filter .filter-inputs-main-basis-wrapper .filter-input-list .farris-checkradio-hor .custom-radio:last-child{padding-right:0}.f-list-filter .filter-inputs-main-basis-wrapper.justify-content-end .filter-input-list:not(.filter-input-list-checkbox){flex:auto}.f-list-filter .filter-item-wrap .col-form-label{width:auto!important;max-width:6rem}.f-list-filter .filter-item-hiddenlabel{padding-left:14px}.filter-item-wrap .col-form-label{width:auto!important;max-width:6rem}.list-filter--all-in-one .filter-item-wrap{padding-right:8px}.list-filter--all-in-one .all-in-one--item-fill .filter-item-wrap{flex:1 1 0;width:auto}.list-filter--aline .farris-input-wrap.farris-checkradio-hor,.list-filter--multiline .farris-input-wrap.farris-checkradio-hor{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;width:100%}
|