@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(u,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../../designer/response-toolbar/index.umd.js"),require("../designer-canvas/index.umd.js"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../response-toolbar/index.umd.js","../common/index.umd.js","../../designer/response-toolbar/index.umd.js","../designer-canvas/index.umd.js","lodash-es"],r):(u=typeof globalThis<"u"?globalThis:u||self,r(u["page-header"]={},u.Vue,u.dynamicResolver,u.FResponseToolbar,u.common,u.FResponseToolbarDesignComponent,u.designerCanvas,u.LodashES))})(this,function(u,r,b,q,x,k,P,D){"use strict";var Z=Object.defineProperty;var ee=(u,r,b)=>r in u?Z(u,r,{enumerable:!0,configurable:!0,writable:!0,value:b}):u[r]=b;var C=(u,r,b)=>ee(u,typeof r!="symbol"?r+"":r,b);const I=new Map([["appearance",b.resolveAppearance],["toolbar",b.resolveToolbar]]),S={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:"col-6"}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0}}},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},titleContentHtml:{description:"",type:"string",default:""},titleRenderFunction:{description:"",type:"function",default:null},contentHtml:{description:"",type:"string",default:""},contentRenderFunction:{description:"",type:"function",default:null},downContentHtml:{description:"",type:"string",default:""},downContentRenderFunction:{description:"",type:"function",default:null}},required:["id","type"]};function M(a,e,t){return e.title="标题",e}const E={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},toolbarId:{type:String,default:""},buttons:{type:Array,default:[]},buttonSize:{type:String,default:""},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},buttonsVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function},contentRenderFunction:{type:Function},downContentRenderFunction:{type:Function}},T=Object.assign({},E,{componentId:{type:String,default:""},titleContentHtml:{type:String,default:""},contentHtml:{type:String,default:""},downContentHtml:{type:String,default:""}}),$=b.createPropsResolver(E,S,I,M),G=b.createPropsResolver(T,S,I,M),B=b.createPageHeaderEventHandlerResolver(),U=b.getPropsResolverGenerator(E,S,I,M),O=b.getPropsResolverGenerator(T,S,I,M),N=r.defineComponent({name:"FPageHeader",props:E,emits:["click","prePaginationClick","nextPaginationClick"],setup(a,e){const t=r.ref(a.buttons),n=(f,j)=>{e.emit("click",f,j)},i=r.computed(()=>{const f={"f-page-header":!0,"d-none":!a.visible};return x.getCustomClass(f,a.customClass)}),o=r.computed(()=>{const f={"f-title-icon":!0};return x.getCustomClass(f,a.iconClass)}),s=r.computed(()=>{const f={"f-icon":!0};return x.getCustomClass(f,a.icon)}),d=r.computed(()=>{const f={"f-title":!0};return x.getCustomClass(f,a.titleContentClass)}),l=r.computed(()=>{const f={"f-content":!0};return x.getCustomClass(f,a.contentClass)}),c=r.computed(()=>{const f={"f-page-header-extend":!0};return x.getCustomClass(f,a.downContentClass)}),p=r.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":a.prePaginationDisabled})),g=r.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":a.nextPaginationDisabled}));function h(f){a.prePaginationDisabled||e.emit("prePaginationClick",f)}function w(f){a.nextPaginationDisabled||e.emit("nextPaginationClick",f)}function y(){return e.slots.titleContent?r.createVNode("div",{class:d.value},[r.createTextVNode(" "),e.slots.titleContent()]):a.titleRenderFunction?r.createVNode("div",{class:d.value},[a.titleRenderFunction()]):r.createVNode("div",{class:"f-title"},[a.showIcon&&a.icon?r.createVNode("span",{class:o.value},[r.createVNode("i",{class:s.value},null)]):"",r.createVNode("h4",{class:"f-title-text"},[a.title]),a.subTitle?r.createVNode("h5",{class:"f-title-subtitle"},[a.subTitle]):"",a.showPagination?r.createVNode("div",{class:"f-title-pagination"},[r.createVNode("span",{class:p.value,onClick:h},null),r.createVNode("span",{class:g.value,onClick:w},null)]):""])}function v(){return e.slots.content?r.createVNode("div",{class:l.value},[r.createTextVNode(" "),e.slots.content()]):a.contentRenderFunction?r.createVNode("div",{class:l.value},[a.contentRenderFunction()]):null}function V(){if(a.buttons&&a.buttons.length>0)return r.createVNode(q,{id:a.toolbarId,customClass:a.buttonClass,visible:a.buttonsVisible,items:t.value,onClick:n,buttonSize:a.buttonSize},null)}function H(){return e.slots.downContent?r.createVNode("div",{class:c.value},[r.createTextVNode(" "),e.slots.downContent()]):a.downContentRenderFunction?r.createVNode("div",{class:c.value},[a.downContentRenderFunction()]):null}return r.watch(()=>a.buttons,f=>{t.value=f},{deep:!0}),()=>a.visible?r.createVNode("div",{class:i.value},[r.createVNode("nav",{class:"f-page-header-base"},[y(),v(),V()]),H()]):null}});function z(a){const{formSchemaUtils:e,formStateMachineUtils:t}=a;function n(l,c=""){return{path:c+l.code,field:l.id,fullPath:l.code}}function i(l,c=""){const p=e.getViewModelById(l);return p?p.states.map(g=>n(g,c)):[]}function o(l){const c=e.getRootViewModelId(),p=i(l);if(l===c)return p;const g=i(c,"root-component.");return[...p,...g]}function s(l){return l.binding&&l.binding.path||l.id||""}function d(){return t&&t.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:d}}class L{constructor(e){C(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'"}]);C(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});C(this,"getExpressionConverter",(e,t)=>({convertFrom:(n,i,o,s)=>{const d=o.getExpressionRuleValue(e,t||i);return d&&d.value||""},convertTo:(n,i,o,s,d)=>{var l;if(i==="dataPicking"&&(o!=null&&o.target)){const c=`${o.target}_dataPicking`;((l=o.rules)==null?void 0:l.some(g=>g.id===c&&g.value))?n.dictPickingExpressionId=c: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 d;const o=this.createTreeNode(i,t);let s=[];(d=i.type)!=null&&d.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 l,c;const o=this.createTreeNode(i,t);o.type="entity";const s=this.buildEntityFieldsTreeData((l=i.type)==null?void 0:l.fields,[...t,i.label]),d=this.buildChildEntityTreeData((c=i.type)==null?void 0:c.entities,[...t,i.label]);d!=null&&d.length&&(s==null||s.push(...d)),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(),d={message:["validate","required","dataPicking"].includes(t)&&o?o.message:"",...s};return o.messageType!=null&&(d.messageType=o.messageType),d}buildRule(e,t,n,i){const{expression:o,message:s,messageType:d}=t,l={id:`${e}_${n}`,type:n,value:o};return(n==="validate"||n==="dataPicking"||n==="required")&&(l.message=s),n==="dataPicking"&&(l.messageType=d),n==="validate"&&i&&(l.elementId=i),l}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 l=this.getExpressionData().find(p=>p.targetType===t&&p.target===o);const c=p=>p.value.trim()==="";if(l){const p=l.rules.find(g=>g.id===s.id);if(p)c(s)?l.rules=l.rules.filter(g=>g.id!==s.id):(Object.assign(p,s),i==="validate"&&e.type==="form-group"&&(p.elementId=e.id));else{if(c(s))return null;l.rules=l.rules||[],l.rules.push(s)}}else{if(c(s))return null;l={target:`${o}`,rules:[s],targetType:t}}return l}getExpressionEditorOptions(e,t,n,i){return n.reduce((o,s)=>{var l,c;const d=t==="Field"?(l=e==null?void 0:e.binding)==null?void 0:l.field:e.id;return o[s]={hide:t==="Field"?!!((c=e==null?void 0:e.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(d),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 g=this.updateExpression(e,t,p,s);if(i){const h=this.buildRule(d,p,s);i(h)}return g}}},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 _{constructor(e,t){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"designerContext");C(this,"schemaService",null);C(this,"metadataService",null);C(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:P.DgControl[e.type]&&P.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,d){if(s){switch(s&&s.propertyID){case"class":case"style":{P.canvasChanged.value++;break}}n&&n(s,e,d)}}}}getPropertyEditorParams(e,t=[],n="visible",i={},o={},s=""){const{getVariables:d,getControlName:l,getStateMachines:c}=z(this.designerHostService),p=this.getRealTargetType(e),g=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],h={type:"property-editor",propertyTypes:g};return g.map(w=>{switch(w){case"Const":Object.assign(h,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":h.expressionConfig=this.getExpressionOptions(e,p,s||n);break;case"StateMachine":h.stateMachines=c();break;case"Variable":Object.assign(h,{controlName:l(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:y=>{y.value=d(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(h.newVariablePrefix="ext_"+h.newVariablePrefix);break}}),h}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 l in n)s[l]=Object.assign(s[l]||{},n[l]);const d=this;return{...o,properties:{...s},setPropertyRelates(l,c){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,l);break}i&&i(l,c)}}}}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=D.cloneDeep(n.contents[i]);n.contents.splice(i,1),n.contents.splice(i,0,o),P.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:d,targetType:l,expressionType:c,value:p,message:g}=s,h=this.formSchemaUtils.getModule();h.expressions=h.expressions||[];const{expressions:w}=h;let y=w.find(V=>V.target===d);y||(y={target:d,rules:[],targetType:l},w.push(y));const v=y.rules.find(V=>V.type===c);if(v)v.value=p,v.message=g;else{const V={id:o,type:c,value:p,message:g};y.rules.push(V)}delete t.expressionInfo}clearExpression(e,t){const n=e.propertyValue;if(n&&n.type==="Expression")return;const o=e.propertyID,s=this.formSchemaUtils.getExpressions(),d=t.binding?t.binding.field:t.id,l=s.find(c=>c.target===d);!l||!l.rules||(l.rules=l.rules.filter(c=>c.type!==o))}getExpressionOptions(e,t,n){return new L(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 K extends _{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.template=this.getTemplateConfig(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e),this.propertyConfig}getAppearanceProperties(e){return{title:"外观",description:"",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式"},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(t,n){if(t)switch(t&&t.propertyID){case"title":{t.needRefreshControlTree=!0;break}}}}}getTemplateConfig(e){return{title:"模板配置",description:"",properties:{titleContentClass:{title:"标题模板class",type:"string",description:"标题模板外层容器的自定义样式"},titleContentHtml:{title:"标题模板",type:"string",description:"设置标题HTML模板,替代图标和标题文字区域",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},contentClass:{title:"内容模板class",type:"string",description:"内容模板外层容器的自定义样式"},contentHtml:{title:"内容模板",type:"string",description:"设置页头中间区域的模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},downContentClass:{title:"扩展模板class",type:"string",description:"扩展模板外层容器的自定义样式"},downContentHtml:{title:"扩展模板",type:"string",description:"设置页头下方区域的模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}}}}}}function J(a,e){function t(d){return!1}function n(){return!1}function i(){return!1}function o(){return!0}function s(d){return new K(d,e).getPropertyConfig(a)}return{canAccepts:t,hideNestedPaddingInDesginerView:o,getPropsConfig:s,checkCanDeleteComponent:n,checkCanMoveComponent:i}}const Q=r.defineComponent({name:"FPageHeaderDesign",props:T,emits:["click"],setup(a,e){const t=r.ref(),n=r.inject("designer-host-service"),i=r.inject("design-item-context"),o=J(i.schema,n),s=P.useDesignerComponent(t,i,o),d=r.ref(i.schema.toolbar||{type:"response-toolbar",buttons:[]}),l=r.ref(k.responseToolbarResolver(d.value));r.onMounted(()=>{t.value.componentInstance=s}),r.watch(()=>i.schema.toolbar,()=>{d.value=i.schema.toolbar||{type:"response-toolbar",buttons:[]},l.value=k.responseToolbarResolver(d.value)},{deep:!0});const c=r.computed(()=>[...l.value.items]);function p(m,R,A,F){i&&i.setupContext&&i.setupContext.emit("selectionChange",m,R,A,F)}e.expose(s.value);function g(m,R){m&&R&&R.split(" ").reduce((F,Y)=>(F[Y]=!0,F),m)}const h=r.computed(()=>{const m={"f-title-icon":!0};return g(m,a.iconClass),m}),w=r.computed(()=>{const m={"f-icon":!0};return g(m,a.icon),m}),y=r.computed(()=>{const m={"text-right":!0,"col-6":!0};return g(m,a.buttonClass||""),m}),v=r.computed(()=>{const m={"f-title":!0};return x.getCustomClass(m,a.titleContentClass)}),V=r.computed(()=>{const m={"f-content":!0};return x.getCustomClass(m,a.contentClass)}),H=r.computed(()=>{const m={"f-page-header-extend":!0};return x.getCustomClass(m,a.downContentClass)});function f(){return a.titleContentHtml?r.createVNode("div",{class:v.value,innerHTML:a.titleContentHtml},null):r.createVNode("div",{class:"f-title"},[a.showIcon&&a.icon?r.createVNode("span",{class:h.value},[r.createVNode("i",{class:w.value},null)]):"",r.createVNode("h4",{class:"f-title-text"},[a.title])])}function j(){return a.contentHtml?r.createVNode("div",{class:V.value,innerHTML:a.contentHtml},null):null}function X(){return a.downContentHtml?r.createVNode("div",{class:H.value,innerHTML:a.downContentHtml},null):null}return()=>r.createVNode("div",{ref:t},[r.createVNode("nav",{class:"f-page-header-base"},[f(),j(),r.createVNode(P.FDesignerInnerItem,{class:y.value,modelValue:d.value,"onUpdate:modelValue":m=>d.value=m,canAdd:!1,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:d.value.id,componentId:a.componentId,onSelectionChange:p},{default:()=>[r.createVNode(k,{id:d.value.id,customClass:"w-100",items:c.value,componentId:a.componentId,buttonSize:a.buttonSize},null)]})]),X()])}}),W={install(a){a.component(N.name,N)},register(a,e,t,n,i){a["page-header"]=N,e["page-header"]=U(i),n["page-header"]={eventHandlerResolver:B}},registerDesigner(a,e,t,n){a["page-header"]=Q,e["page-header"]=O(n)}};u.PageHeader=N,u.default=W,u.eventHandlerResolver=B,u.pageHeaderDesignerProps=T,u.pageHeaderProps=E,u.propsDesignResolver=G,u.propsDesignResolverGenerator=O,u.propsResolver=$,u.propsResolverGenerator=U,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(p,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../../designer/response-toolbar/index.umd.js"),require("../designer-canvas/index.umd.js"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../response-toolbar/index.umd.js","../common/index.umd.js","../../designer/response-toolbar/index.umd.js","../designer-canvas/index.umd.js","lodash-es"],r):(p=typeof globalThis<"u"?globalThis:p||self,r(p["page-header"]={},p.Vue,p.dynamicResolver,p.FResponseToolbar,p.common,p.FResponseToolbarDesignComponent,p.designerCanvas,p.LodashES))})(this,function(p,r,C,D,x,F,V,q){"use strict";var Z=Object.defineProperty;var ee=(p,r,C)=>r in p?Z(p,r,{enumerable:!0,configurable:!0,writable:!0,value:C}):p[r]=C;var b=(p,r,C)=>ee(p,typeof r!="symbol"?r+"":r,C);const I=new Map([["appearance",C.resolveAppearance],["toolbar",C.resolveToolbar]]),S={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:"col-6"}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0}}},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},titleContentHtml:{description:"",type:"string",default:""},titleRenderFunction:{description:"",type:"function",default:null},contentHtml:{description:"",type:"string",default:""},contentRenderFunction:{description:"",type:"function",default:null},downContentHtml:{description:"",type:"string",default:""},downContentRenderFunction:{description:"",type:"function",default:null}},required:["id","type"]};function M(a,e,t){return e.title="标题",e.appearance={class:"f-page-header"},e.toolbar={id:`${e.id}-toolbar`,type:"response-toolbar",buttons:[]},e}const E={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},toolbarId:{type:String,default:""},buttons:{type:Array,default:[]},buttonSize:{type:String,default:""},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},buttonsVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function},contentRenderFunction:{type:Function},downContentRenderFunction:{type:Function}},T=Object.assign({},E,{componentId:{type:String,default:""},titleContentHtml:{type:String,default:""},contentHtml:{type:String,default:""},downContentHtml:{type:String,default:""}}),$=C.createPropsResolver(E,S,I,M),G=C.createPropsResolver(T,S,I,M),B=C.createPageHeaderEventHandlerResolver(),U=C.getPropsResolverGenerator(E,S,I,M),A=C.getPropsResolverGenerator(T,S,I,M),R=r.defineComponent({name:"FPageHeader",props:E,emits:["click","prePaginationClick","nextPaginationClick"],setup(a,e){const t=r.ref(a.buttons),n=(f,j)=>{e.emit("click",f,j)},i=r.computed(()=>{const f={"f-page-header":!0,"d-none":!a.visible};return x.getCustomClass(f,a.customClass)}),o=r.computed(()=>{const f={"f-title-icon":!0};return x.getCustomClass(f,a.iconClass)}),s=r.computed(()=>{const f={"f-icon":!0};return x.getCustomClass(f,a.icon)}),d=r.computed(()=>{const f={"f-title":!0};return x.getCustomClass(f,a.titleContentClass)}),l=r.computed(()=>{const f={"f-content":!0};return x.getCustomClass(f,a.contentClass)}),c=r.computed(()=>{const f={"f-page-header-extend":!0};return x.getCustomClass(f,a.downContentClass)}),u=r.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":a.prePaginationDisabled})),g=r.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":a.nextPaginationDisabled}));function m(f){a.prePaginationDisabled||e.emit("prePaginationClick",f)}function w(f){a.nextPaginationDisabled||e.emit("nextPaginationClick",f)}function y(){return e.slots.titleContent?r.createVNode("div",{class:d.value},[r.createTextVNode(" "),e.slots.titleContent()]):a.titleRenderFunction?r.createVNode("div",{class:d.value},[a.titleRenderFunction()]):r.createVNode("div",{class:"f-title"},[a.showIcon&&a.icon?r.createVNode("span",{class:o.value},[r.createVNode("i",{class:s.value},null)]):"",r.createVNode("h4",{class:"f-title-text"},[a.title]),a.subTitle?r.createVNode("h5",{class:"f-title-subtitle"},[a.subTitle]):"",a.showPagination?r.createVNode("div",{class:"f-title-pagination"},[r.createVNode("span",{class:u.value,onClick:m},null),r.createVNode("span",{class:g.value,onClick:w},null)]):""])}function P(){return e.slots.content?r.createVNode("div",{class:l.value},[r.createTextVNode(" "),e.slots.content()]):a.contentRenderFunction?r.createVNode("div",{class:l.value},[a.contentRenderFunction()]):null}function v(){if(a.buttons&&a.buttons.length>0)return r.createVNode(D,{id:a.toolbarId,customClass:a.buttonClass,visible:a.buttonsVisible,items:t.value,onClick:n,buttonSize:a.buttonSize},null)}function H(){return e.slots.downContent?r.createVNode("div",{class:c.value},[r.createTextVNode(" "),e.slots.downContent()]):a.downContentRenderFunction?r.createVNode("div",{class:c.value},[a.downContentRenderFunction()]):null}return r.watch(()=>a.buttons,f=>{t.value=f},{deep:!0}),()=>a.visible?r.createVNode("div",{class:i.value},[r.createVNode("nav",{class:"f-page-header-base"},[y(),P(),v()]),H()]):null}});function z(a){const{formSchemaUtils:e,formStateMachineUtils:t}=a;function n(l,c=""){return{path:c+l.code,field:l.id,fullPath:l.code}}function i(l,c=""){const u=e.getViewModelById(l);return u?u.states.map(g=>n(g,c)):[]}function o(l){const c=e.getRootViewModelId(),u=i(l);if(l===c)return u;const g=i(c,"root-component.");return[...u,...g]}function s(l){return l.binding&&l.binding.path||l.id||""}function d(){return t&&t.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:d}}class L{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 d=o.getExpressionRuleValue(e,t||i);return d&&d.value||""},convertTo:(n,i,o,s,d)=>{var l;if(i==="dataPicking"&&(o!=null&&o.target)){const c=`${o.target}_dataPicking`;((l=o.rules)==null?void 0:l.some(g=>g.id===c&&g.value))?n.dictPickingExpressionId=c: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 d;const o=this.createTreeNode(i,t);let s=[];(d=i.type)!=null&&d.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 l,c;const o=this.createTreeNode(i,t);o.type="entity";const s=this.buildEntityFieldsTreeData((l=i.type)==null?void 0:l.fields,[...t,i.label]),d=this.buildChildEntityTreeData((c=i.type)==null?void 0:c.entities,[...t,i.label]);d!=null&&d.length&&(s==null||s.push(...d)),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(),d={message:["validate","required","dataPicking"].includes(t)&&o?o.message:"",...s};return o.messageType!=null&&(d.messageType=o.messageType),d}buildRule(e,t,n,i){const{expression:o,message:s,messageType:d}=t,l={id:`${e}_${n}`,type:n,value:o};return(n==="validate"||n==="dataPicking"||n==="required")&&(l.message=s),n==="dataPicking"&&(l.messageType=d),n==="validate"&&i&&(l.elementId=i),l}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 l=this.getExpressionData().find(u=>u.targetType===t&&u.target===o);const c=u=>u.value.trim()==="";if(l){const u=l.rules.find(g=>g.id===s.id);if(u)c(s)?l.rules=l.rules.filter(g=>g.id!==s.id):(Object.assign(u,s),i==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(c(s))return null;l.rules=l.rules||[],l.rules.push(s)}}else{if(c(s))return null;l={target:`${o}`,rules:[s],targetType:t}}return l}getExpressionEditorOptions(e,t,n,i){return n.reduce((o,s)=>{var l,c;const d=t==="Field"?(l=e==null?void 0:e.binding)==null?void 0:l.field:e.id;return o[s]={hide:t==="Field"?!!((c=e==null?void 0:e.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(d),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 g=this.updateExpression(e,t,u,s);if(i){const m=this.buildRule(d,u,s);i(m)}return g}}},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 _{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:V.DgControl[e.type]&&V.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,d){if(s){switch(s&&s.propertyID){case"class":case"style":{V.canvasChanged.value++;break}}n&&n(s,e,d)}}}}getPropertyEditorParams(e,t=[],n="visible",i={},o={},s=""){const{getVariables:d,getControlName:l,getStateMachines:c}=z(this.designerHostService),u=this.getRealTargetType(e),g=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],m={type:"property-editor",propertyTypes:g};return g.map(w=>{switch(w){case"Const":Object.assign(m,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":m.expressionConfig=this.getExpressionOptions(e,u,s||n);break;case"StateMachine":m.stateMachines=c();break;case"Variable":Object.assign(m,{controlName:l(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:y=>{y.value=d(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(m.newVariablePrefix="ext_"+m.newVariablePrefix);break}}),m}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 l in n)s[l]=Object.assign(s[l]||{},n[l]);const d=this;return{...o,properties:{...s},setPropertyRelates(l,c){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,l);break}i&&i(l,c)}}}}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=q.cloneDeep(n.contents[i]);n.contents.splice(i,1),n.contents.splice(i,0,o),V.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:d,targetType:l,expressionType:c,value:u,message:g}=s,m=this.formSchemaUtils.getModule();m.expressions=m.expressions||[];const{expressions:w}=m;let y=w.find(v=>v.target===d);y||(y={target:d,rules:[],targetType:l},w.push(y));const P=y.rules.find(v=>v.type===c);if(P)P.value=u,P.message=g;else{const v={id:o,type:c,value:u,message:g};y.rules.push(v)}delete t.expressionInfo}clearExpression(e,t){const n=e.propertyValue;if(n&&n.type==="Expression")return;const o=e.propertyID,s=this.formSchemaUtils.getExpressions(),d=t.binding?t.binding.field:t.id,l=s.find(c=>c.target===d);!l||!l.rules||(l.rules=l.rules.filter(c=>c.type!==o))}getExpressionOptions(e,t,n){return new L(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 K extends _{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.template=this.getTemplateConfig(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e),this.propertyConfig}getAppearanceProperties(e){return{title:"外观",description:"",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式"},title:{title:"主标题",type:"string",description:"标题"},subTitle:{title:"副标题",type:"string",description:"副标题"},showIcon:{title:"是否显示图标",type:"boolean",description:"是否显示图标",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:"图标",visible:e.showIcon},iconClass:{title:"图标所属单据类别",type:"string",description:"定义图标的样式,例如颜色、背景等",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:[{key:"f-title-icon f-text-orna-bill",value:"单据类"},{key:"f-title-icon f-text-orna-dict",value:"字典类"},{key:"f-title-icon f-text-orna-manage",value:"管理类"},{key:"f-title-icon f-text-orna-query",value:"查询报表类"},{key:"f-title-icon f-text-orna-param",value:"系统参数类"}]},visible:e.showIcon}},setPropertyRelates(t,n){if(t)switch(t&&t.propertyID){case"title":{t.needRefreshControlTree=!0;break}}}}}getTemplateConfig(e){return{title:"模板配置",description:"",properties:{titleContentClass:{title:"标题模板class",type:"string",description:"标题模板外层容器的自定义样式"},titleContentHtml:{title:"标题模板",type:"string",description:"设置标题HTML模板,替代图标和标题文字区域",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},contentClass:{title:"内容模板class",type:"string",description:"内容模板外层容器的自定义样式"},contentHtml:{title:"内容模板",type:"string",description:"设置页头中间区域的模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},downContentClass:{title:"扩展模板class",type:"string",description:"扩展模板外层容器的自定义样式"},downContentHtml:{title:"扩展模板",type:"string",description:"设置页头下方区域的模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}}}}}}function J(a,e){const t=new V.UseTemplateDragAndDropRules;function n(l){return!1}function i(){const{canMove:l}=t.getTemplateRule(a,e);return l}function o(){const{canDelete:l}=t.getTemplateRule(a,e);return l}function s(){return!0}function d(l){const c=new K(l,e),{schema:u}=a;return c.getPropertyConfig(u)}return{canAccepts:n,hideNestedPaddingInDesginerView:s,getPropsConfig:d,checkCanDeleteComponent:o,checkCanMoveComponent:i}}const Q=r.defineComponent({name:"FPageHeaderDesign",props:T,emits:["click"],setup(a,e){const t=r.ref(),n=r.inject("designer-host-service"),i=r.inject("design-item-context"),o=J(i,n),s=V.useDesignerComponent(t,i,o),d=r.ref(i.schema.toolbar||{type:"response-toolbar",buttons:[]}),l=r.ref(F.responseToolbarResolver(d.value));r.onMounted(()=>{t.value.componentInstance=s}),r.watch(()=>i.schema.toolbar,()=>{d.value=i.schema.toolbar||{type:"response-toolbar",buttons:[]},l.value=F.responseToolbarResolver(d.value)},{deep:!0});const c=r.computed(()=>[...l.value.items]);function u(h,N,O,k){i&&i.setupContext&&i.setupContext.emit("selectionChange",h,N,O,k)}e.expose(s.value);function g(h,N){h&&N&&N.split(" ").reduce((k,Y)=>(k[Y]=!0,k),h)}const m=r.computed(()=>{const h={"f-title-icon":!0};return g(h,a.iconClass),h}),w=r.computed(()=>{const h={"f-icon":!0};return g(h,a.icon),h}),y=r.computed(()=>{const h={"text-right":!0,"col-6":!0};return g(h,a.buttonClass||""),h}),P=r.computed(()=>{const h={"f-title":!0};return x.getCustomClass(h,a.titleContentClass)}),v=r.computed(()=>{const h={"f-content":!0};return x.getCustomClass(h,a.contentClass)}),H=r.computed(()=>{const h={"f-page-header-extend":!0};return x.getCustomClass(h,a.downContentClass)});function f(){return a.titleContentHtml?r.createVNode("div",{class:P.value,innerHTML:a.titleContentHtml},null):r.createVNode("div",{class:"f-title"},[a.showIcon&&a.icon?r.createVNode("span",{class:m.value},[r.createVNode("i",{class:w.value},null)]):"",r.createVNode("h4",{class:"f-title-text"},[a.title]),a.subTitle?r.createVNode("h5",{class:"f-title-subtitle"},[a.subTitle]):""])}function j(){return a.contentHtml?r.createVNode("div",{class:v.value,innerHTML:a.contentHtml},null):null}function X(){return a.downContentHtml?r.createVNode("div",{class:H.value,innerHTML:a.downContentHtml},null):null}return()=>r.createVNode("div",{ref:t},[r.createVNode("nav",{class:"f-page-header-base"},[f(),j(),r.createVNode(V.FDesignerInnerItem,{class:y.value,modelValue:d.value,"onUpdate:modelValue":h=>d.value=h,canAdd:!1,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:d.value.id,componentId:a.componentId,onSelectionChange:u},{default:()=>[r.createVNode(F,{id:d.value.id,customClass:"w-100",items:c.value,componentId:a.componentId,buttonSize:a.buttonSize},null)]})]),X()])}}),W={install(a){a.component(R.name,R)},register(a,e,t,n,i){a["page-header"]=R,e["page-header"]=U(i),n["page-header"]={eventHandlerResolver:B}},registerDesigner(a,e,t,n){a["page-header"]=Q,e["page-header"]=A(n)}};p.PageHeader=R,p.default=W,p.eventHandlerResolver=B,p.pageHeaderDesignerProps=T,p.pageHeaderProps=E,p.propsDesignResolver=G,p.propsDesignResolverGenerator=A,p.propsResolver=$,p.propsResolverGenerator=U,Object.defineProperties(p,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|