@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.
Files changed (193) hide show
  1. package/components/avatar/index.esm.js +138 -1526
  2. package/components/avatar/index.umd.cjs +1 -6
  3. package/components/button/index.css +1 -1
  4. package/components/button/index.esm.js +15951 -15410
  5. package/components/button/index.umd.cjs +27 -27
  6. package/components/calendar/index.esm.js +269 -255
  7. package/components/calendar/index.umd.cjs +3 -3
  8. package/components/collection-property-editor/index.esm.js +243 -229
  9. package/components/collection-property-editor/index.umd.cjs +2 -2
  10. package/components/combo-list/index.esm.js +32 -32
  11. package/components/combo-list/index.umd.cjs +1 -1
  12. package/components/comment/index.esm.js +473 -456
  13. package/components/comment/index.umd.cjs +6 -6
  14. package/components/component/index.css +1 -1
  15. package/components/component/index.esm.js +2503 -2239
  16. package/components/component/index.umd.cjs +2 -2
  17. package/components/condition/index.esm.js +1064 -954
  18. package/components/condition/index.umd.cjs +2 -2
  19. package/components/data-grid/index.esm.js +1 -1
  20. package/components/data-grid/index.umd.cjs +1 -1
  21. package/components/designer-canvas/index.css +1 -1
  22. package/components/designer-canvas/index.esm.js +3894 -3058
  23. package/components/designer-canvas/index.umd.cjs +1 -1
  24. package/components/drawer/index.esm.js +91 -77
  25. package/components/drawer/index.umd.cjs +2 -2
  26. package/components/dynamic-form/index.esm.js +220 -215
  27. package/components/dynamic-form/index.umd.cjs +1 -1
  28. package/components/dynamic-resolver/index.esm.js +145 -131
  29. package/components/dynamic-resolver/index.umd.cjs +2 -2
  30. package/components/dynamic-view/index.esm.js +336 -329
  31. package/components/dynamic-view/index.umd.cjs +1 -1
  32. package/components/events-editor/index.esm.js +1611 -1536
  33. package/components/events-editor/index.umd.cjs +3 -3
  34. package/components/expression-editor/index.esm.js +219 -219
  35. package/components/expression-editor/index.umd.cjs +2 -2
  36. package/components/external-container/index.esm.js +179 -178
  37. package/components/external-container/index.umd.cjs +1 -1
  38. package/components/fieldset/index.esm.js +285 -221
  39. package/components/fieldset/index.umd.cjs +1 -1
  40. package/components/filter-bar/index.css +1 -0
  41. package/components/filter-bar/index.esm.js +1512 -1290
  42. package/components/filter-bar/index.umd.cjs +7 -7
  43. package/components/filter-condition-editor/index.esm.js +851 -831
  44. package/components/filter-condition-editor/index.umd.cjs +3 -3
  45. package/components/flow-canvas/index.esm.js +520 -501
  46. package/components/flow-canvas/index.umd.cjs +8 -8
  47. package/components/image/index.esm.js +101 -79
  48. package/components/image/index.umd.cjs +3 -3
  49. package/components/language-textbox/index.esm.js +330 -251
  50. package/components/language-textbox/index.umd.cjs +2 -2
  51. package/components/list-nav/index.esm.js +399 -313
  52. package/components/list-nav/index.umd.cjs +1 -1
  53. package/components/locale/index.esm.js +3 -0
  54. package/components/locale/index.umd.cjs +1 -1
  55. package/components/lookup/index.esm.js +997 -976
  56. package/components/lookup/index.umd.cjs +2 -2
  57. package/components/mapping-editor/index.esm.js +725 -705
  58. package/components/mapping-editor/index.umd.cjs +1 -1
  59. package/components/message-box/index.esm.js +542 -522
  60. package/components/message-box/index.umd.cjs +1 -1
  61. package/components/nav/index.esm.js +95 -308
  62. package/components/nav/index.umd.cjs +1 -1
  63. package/components/number-range/index.esm.js +115 -107
  64. package/components/number-range/index.umd.cjs +2 -2
  65. package/components/order/index.esm.js +56 -54
  66. package/components/order/index.umd.cjs +1 -1
  67. package/components/page-footer/index.esm.js +135 -123
  68. package/components/page-footer/index.umd.cjs +1 -1
  69. package/components/page-header/index.esm.js +266 -222
  70. package/components/page-header/index.umd.cjs +1 -1
  71. package/components/property-panel/index.esm.js +402 -375
  72. package/components/property-panel/index.umd.cjs +4 -4
  73. package/components/query-solution/index.esm.js +3171 -3061
  74. package/components/query-solution/index.umd.cjs +7 -7
  75. package/components/response-toolbar/index.esm.js +1 -1
  76. package/components/response-toolbar/index.umd.cjs +1 -1
  77. package/components/schema-selector/index.esm.js +1620 -1608
  78. package/components/schema-selector/index.umd.cjs +5 -5
  79. package/components/scroll-navbar/index.esm.js +150 -136
  80. package/components/scroll-navbar/index.umd.cjs +2 -2
  81. package/components/section/index.esm.js +323 -311
  82. package/components/section/index.umd.cjs +2 -2
  83. package/components/sort-condition-editor/index.esm.js +850 -830
  84. package/components/sort-condition-editor/index.umd.cjs +3 -3
  85. package/components/step/index.esm.js +991 -224
  86. package/components/step/index.umd.cjs +1 -1
  87. package/components/tabs/index.esm.js +356 -334
  88. package/components/tabs/index.umd.cjs +1 -1
  89. package/components/wizard/index.esm.js +159 -162
  90. package/components/wizard/index.umd.cjs +1 -1
  91. package/designer/avatar/index.esm.js +1721 -0
  92. package/designer/avatar/index.umd.cjs +6 -0
  93. package/designer/button-edit/index.esm.js +2 -1
  94. package/designer/button-edit/index.umd.cjs +1 -1
  95. package/designer/data-grid/index.esm.js +693 -659
  96. package/designer/data-grid/index.umd.cjs +6 -6
  97. package/designer/data-view/index.esm.js +90 -78
  98. package/designer/data-view/index.umd.cjs +2 -2
  99. package/designer/date-picker/index.esm.js +203 -203
  100. package/designer/date-picker/index.umd.cjs +1 -1
  101. package/designer/drawer/index.esm.js +181 -167
  102. package/designer/drawer/index.umd.cjs +2 -2
  103. package/designer/dynamic-form/index.esm.js +228 -206
  104. package/designer/dynamic-form/index.umd.cjs +2 -2
  105. package/designer/farris-designer.all.esm.js +10014 -9692
  106. package/designer/farris-designer.all.umd.cjs +18 -18
  107. package/designer/index.css +1 -1
  108. package/designer/input-group/index.esm.js +15 -15
  109. package/designer/input-group/index.umd.cjs +1 -1
  110. package/designer/nav/index.esm.js +1719 -0
  111. package/designer/nav/index.umd.cjs +6 -0
  112. package/designer/number-spinner/index.esm.js +8 -7
  113. package/designer/number-spinner/index.umd.cjs +1 -1
  114. package/designer/radio-group/index.esm.js +133 -125
  115. package/designer/radio-group/index.umd.cjs +2 -2
  116. package/designer/response-toolbar/index.esm.js +864 -863
  117. package/designer/response-toolbar/index.umd.cjs +1 -1
  118. package/designer/section/index.esm.js +245 -183
  119. package/designer/section/index.umd.cjs +1 -1
  120. package/designer/tabs/index.css +1 -1
  121. package/designer/tabs/index.esm.js +3667 -2810
  122. package/designer/tabs/index.umd.cjs +2 -2
  123. package/designer/time-picker/index.esm.js +26 -17
  124. package/designer/time-picker/index.umd.cjs +2 -2
  125. package/designer/tree-grid/index.esm.js +69 -37
  126. package/designer/tree-grid/index.umd.cjs +1 -1
  127. package/designer/wizard/index.esm.js +110 -110
  128. package/designer/wizard/index.umd.cjs +3 -3
  129. package/farris.all.esm.js +39993 -39089
  130. package/farris.all.umd.cjs +36 -36
  131. package/index.css +1 -1
  132. package/locales/filter-bar/ui/en.json +1 -0
  133. package/locales/filter-bar/ui/zh-CHS.json +1 -0
  134. package/locales/filter-bar/ui/zh-CHT.json +1 -0
  135. package/locales/ui/en.json +1 -0
  136. package/locales/ui/zh-CHS.json +1 -0
  137. package/locales/ui/zh-CHT.json +1 -0
  138. package/package.json +1 -1
  139. package/types/avatar/designer.d.ts +28 -0
  140. package/types/avatar/index.d.ts +0 -15
  141. package/types/avatar/src/composition/types.d.ts +3 -0
  142. package/types/avatar/src/composition/use-file.d.ts +19 -0
  143. package/types/avatar/src/composition/use-image.d.ts +1 -1
  144. package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
  145. package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
  146. package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
  147. package/types/components.d.ts +3 -0
  148. package/types/condition/index.d.ts +18 -6
  149. package/types/condition/src/condition-fields.component.d.ts +9 -3
  150. package/types/condition/src/condition-fields.design.component.d.ts +9 -3
  151. package/types/condition/src/condition-list.component.d.ts +9 -3
  152. package/types/condition/src/condition.props.d.ts +11 -0
  153. package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
  154. package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
  155. package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
  156. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
  157. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
  158. package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
  159. package/types/dynamic-view/src/components/maps.d.ts +130 -4
  160. package/types/filter-bar/src/composition/types.d.ts +2 -0
  161. package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
  162. package/types/filter-bar/src/locale/locale.d.ts +2 -1
  163. package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
  164. package/types/language-textbox/index.d.ts +65 -2
  165. package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
  166. package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
  167. package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
  168. package/types/lookup/src/components/popup-container.component.d.ts +3 -3
  169. package/types/lookup/src/composition/use-compat.d.ts +28 -0
  170. package/types/lookup/src/composition/use-state.d.ts +1 -0
  171. package/types/message-box/src/message-box.service.d.ts +2 -1
  172. package/types/nav/designer.d.ts +28 -0
  173. package/types/nav/index.d.ts +24 -20
  174. package/types/nav/src/designer/nav.design.props.d.ts +29 -0
  175. package/types/nav/src/designer/use-design-rules.d.ts +3 -0
  176. package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
  177. package/types/nav/src/schema/schema-mapper.d.ts +4 -0
  178. package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
  179. package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
  180. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
  181. package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
  182. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
  183. package/types/section/src/designer/section.design.props.d.ts +4 -0
  184. package/types/section/src/property-config/section.property-config.d.ts +39 -0
  185. package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
  186. package/types/step/src/designer/use-designer-rules.d.ts +3 -0
  187. package/types/step/src/designer/use-step-creator.d.ts +6 -0
  188. package/types/step/src/property-config/step.property-config.d.ts +15 -0
  189. package/types/step/src/schema/schema-resolver.d.ts +2 -1
  190. package/types/tabs/src/composition/types.d.ts +4 -0
  191. package/types/tabs/src/tabs.props.d.ts +6 -0
  192. package/types/tooltip/index.d.ts +3 -3
  193. package/types/tooltip/src/tooltip.component.d.ts +2 -2
@@ -1 +1 @@
1
- (function(m,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../../designer/response-toolbar/index.umd.js"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../response-toolbar/index.umd.js","../designer-canvas/index.umd.js","../../designer/response-toolbar/index.umd.js","lodash-es"],o):(m=typeof globalThis<"u"?globalThis:m||self,o(m["page-footer"]={},m.Vue,m.dynamicResolver,m.FResponseToolbar,m.designerCanvas,m.FResponseToolbarDesignComponent,m.LodashES))})(this,function(m,o,w,J,P,k,Q){"use strict";var le=Object.defineProperty;var de=(m,o,w)=>o in m?le(m,o,{enumerable:!0,configurable:!0,writable:!0,value:w}):m[o]=w;var C=(m,o,w)=>de(m,typeof o!="symbol"?o+"":o,w);const z=new Map([["appearance",w.resolveAppearance],["toolbar",w.resolveToolbar]]),_={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-footer.schema.json",title:"page-footer",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a page-footer",type:"string"},type:{description:"The type string of page-footer component",type:"string",default:"page-footer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},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}}}},required:["id","type"]};function G(l,e,t){return e}const N={customClass:{type:String,default:""},enableCollapse:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!0},collapsedText:{type:String,default:"More"},expandedText:{type:String,default:"More"},contentClass:{type:String,default:""},headerClass:{type:String,default:""},headerContentClass:{type:String,default:""},headerToolbarClass:{type:String,default:""},showHeader:{type:String,default:!1},buttonClass:{type:String,default:"col-6"},toolbarId:{type:String,default:""},buttons:{type:Array,default:[]},buttonSize:{type:String,default:""}},D=w.createPropsResolver(N,_,z,G),L=w.createPageHeaderEventHandlerResolver(),A=Object.assign({},N,{componentId:{type:String,default:""}}),K=w.createPropsResolver(A,_,z,G),F=o.defineComponent({name:"FPageFooter",props:N,emits:["click"],setup(l,e){const t=o.ref(l.collapsed),s=o.computed(()=>l.collapsedText),i=o.ref(l.contentClass),r=o.computed(()=>l.enableCollapse),n=o.computed(()=>l.expandedText),d=o.ref(l.headerClass),a=o.ref(l.headerContentClass),c=o.ref(l.headerToolbarClass),p=o.computed(()=>l.showHeader),h=o.ref(l.customClass),f=o.ref(l.buttons),S=(g,M)=>{e.emit("click",g,M)};function V(g){g&&g.stopImmediatePropagation(),t.value=!t.value}function T(){return r.value&&o.createVNode("div",{class:"toolbar--collapse",onClick:g=>V(g)},[o.createVNode("span",{class:"toobar--collapse-text"},[t.value?n.value:s.value]),o.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const x=o.computed(()=>{const g={"f-toolbar":!0};return c.value.split(" ").reduce((y,E)=>(y[E]=!0,y),g),g});function R(){return o.createVNode("div",{class:x.value},[e.slots.headerToolbar&&e.slots.headerToolbar(),!e.slots.headerToolbar&&T()])}const j=o.computed(()=>{const g={"f-content":!0};return a.value.split(" ").reduce((y,E)=>(y[E]=!0,y),g),g});function U(){return o.createVNode(o.Fragment,null,[e.slots.headerContent&&o.createVNode("div",{class:j.value},[e.slots.headerContent()]),R()])}const O=o.computed(()=>{const g={"f-cmp-footer-header":!0};return d.value.split(" ").reduce((y,E)=>(y[E]=!0,y),g),g});function B(){if(l.buttons&&l.buttons.length>0)return o.createVNode("div",{style:" display: flex; align-items: center; justify-content: flex-end; flex-shrink: 0; background: #fff;box-shadow: none;"},[o.createVNode(J,{id:l.toolbarId,customClass:l.buttonClass,visible:l.buttonsVisible,items:f.value,onClick:S,buttonSize:l.buttonSize},null)])}function H(){return o.createVNode("header",{class:O.value},[e.slots.header&&e.slots.header(),!e.slots.header&&U()])}const q=o.computed(()=>{const g={"f-cmp-footer":!0,"f-state-collapse":r.value&&t.value,"f-cmp-footer-accordion":r.value};return h.value.split(" ").reduce((y,E)=>(y[E]=!0,y),g),g}),$=o.computed(()=>{const g={"f-cmp-footer-content":!0};return i.value.split(" ").reduce((y,E)=>(y[E]=!0,y),g),g});return o.watch(()=>l.buttons,g=>{f.value=g},{deep:!0}),()=>o.createVNode("div",{class:q.value},[o.createVNode("footer",{class:"f-cmp-footer-container"},[p.value&&H(),B(),o.createVNode("div",{class:$.value},[e.slots.default&&e.slots.default()])])])}});function W(l){const{formSchemaUtils:e,formStateMachineUtils:t}=l;function s(a,c=""){return{path:c+a.code,field:a.id,fullPath:a.code}}function i(a,c=""){const p=e.getViewModelById(a);return p?p.states.map(h=>s(h,c)):[]}function r(a){const c=e.getRootViewModelId(),p=i(a);if(a===c)return p;const h=i(c,"root-component.");return[...p,...h]}function n(a){return a.binding&&a.binding.path||a.id||""}function d(){return t&&t.getRenderStates()||[]}return{getVariables:r,getControlName:n,getStateMachines:d}}class X{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:(s,i,r,n)=>{const d=r.getExpressionRuleValue(e,t||i);return d&&d.value||""},convertTo:(s,i,r,n,d)=>{var a;if(i==="dataPicking"&&(r!=null&&r.target)){const c=`${r.target}_dataPicking`;((a=r.rules)==null?void 0:a.some(h=>h.id===c&&h.value))?s.dictPickingExpressionId=c:delete s.dictPickingExpressionId}n.updateExpression(r)}}));this.formSchemaService=e}getExpressionRule(e,t){const s=this.formSchemaService.getExpressions();if(!s)return"";const i=s.find(n=>n.target===e);if(!i)return"";const r=i.rules.find(n=>n.type===t);return r||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),s=this.formSchemaService.getViewModelById(t);if(!s||!s.states||s.states.length===0)return[];const i=[];return s.states.filter(r=>r.category==="remote").forEach(r=>{i.push({key:r.code,name:r.name,description:r.name,category:r.category})}),i}createTreeNode(e,t,s="label"){return{id:e.id,name:e.name,bindingPath:e[s],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const s=[];return e==null||e.forEach(i=>{var d;const r=this.createTreeNode(i,t);let n=[];(d=i.type)!=null&&d.fields&&(n=this.buildEntityFieldsTreeData(i.type.fields,[...t,i.label])),s.push({data:r,children:n,expanded:!0})}),s}buildChildEntityTreeData(e=null,t){const s=[];return e==null||e.forEach(i=>{var a,c;const r=this.createTreeNode(i,t);r.type="entity";const n=this.buildEntityFieldsTreeData((a=i.type)==null?void 0:a.fields,[...t,i.label]),d=this.buildChildEntityTreeData((c=i.type)==null?void 0:c.entities,[...t,i.label]);d!=null&&d.length&&(n==null||n.push(...d)),s.push({data:r,children:n||[],expanded:!0})}),s}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const s=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),i=this.buildChildEntityTreeData(t.type.entities,[t.code]);return i!=null&&i.length&&(s==null||s.push(...i)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:s||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,s){const i=s==="Field"?e.binding.field:e.id,r=this.getExpressionRule(i,t),n=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(t)&&r?r.message:"",...n};return r.messageType!=null&&(d.messageType=r.messageType),d}buildRule(e,t,s,i){const{expression:r,message:n,messageType:d}=t,a={id:`${e}_${s}`,type:s,value:r};return(s==="validate"||s==="dataPicking"||s==="required")&&(a.message=n),s==="dataPicking"&&(a.messageType=d),s==="validate"&&i&&(a.elementId=i),a}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,s,i){const r=t==="Field"?e.binding.field:e.id,n=this.buildRule(r,s,i,e.type==="form-group"?e.id:"");let a=this.getExpressionData().find(p=>p.targetType===t&&p.target===r);const c=p=>p.value.trim()==="";if(a){const p=a.rules.find(h=>h.id===n.id);if(p)c(n)?a.rules=a.rules.filter(h=>h.id!==n.id):(Object.assign(p,n),i==="validate"&&e.type==="form-group"&&(p.elementId=e.id));else{if(c(n))return null;a.rules=a.rules||[],a.rules.push(n)}}else{if(c(n))return null;a={target:`${r}`,rules:[n],targetType:t}}return a}getExpressionEditorOptions(e,t,s,i){return s.reduce((r,n)=>{var a,c;const d=t==="Field"?(a=e==null?void 0:e.binding)==null?void 0:a.field:e.id;return r[n]={hide:t==="Field"?!!((c=e==null?void 0:e.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[n],type:"string",$converter:this.getExpressionConverter(d),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[n]}编辑器`,showMessage:n==="validate"||n==="dataPicking"||n==="required",showMessageType:n==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,n,t),onSubmitModal:p=>{const h=this.updateExpression(e,t,p,n);if(i){const f=this.buildRule(d,p,n);i(f)}return h}}},r},{})}getExpressionInfo(e,t,s){const i=t==="Field"?e.binding.field:e.id,r=this.getExpressionRule(i,s),n={value:r&&r.value,targetId:i,targetType:t,expressionType:s};return r&&r.message&&(n.message=r.message),n}getExpressionConfig(e,t,s=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,s,i)}}}getExpressionOptions(e,t,s){const i=this.getExpressionInfo(e,t,s);return{dialogTitle:`${this.expressionNames[s]}编辑器`,singleExpand:!1,showMessage:s==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,s,t),expressionInfo:i}}}class Y{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 s;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.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 s;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(r=>r.id===t)}e.updateOn=(s=this.designViewModelField)==null?void 0:s.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={},s){const i={title:"外观",description:"Appearance"},r={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 n in t)r[n]=Object.assign(r[n]||{},t[n]);return{...i,properties:{...r},setPropertyRelates(n,d){if(n){switch(n&&n.propertyID){case"class":case"style":{P.canvasChanged.value++;break}}s&&s(n,e,d)}}}}getPropertyEditorParams(e,t=[],s="visible",i={},r={},n=""){const{getVariables:d,getControlName:a,getStateMachines:c}=W(this.designerHostService),p=this.getRealTargetType(e),h=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:h};return h.map(S=>{switch(S){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,p,n||s);break;case"StateMachine":f.stateMachines=c();break;case"Variable":Object.assign(f,{controlName:a(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:V=>{V.value=d(this.viewModelId)}},r),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,t=""){var r;let s=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?s=["Const","Expression"]:t==="form-group"&&!((r=e.binding)!=null&&r.field)?s=["Const","Variable","StateMachine"]:(t==="dataGrid"||t==="treeGrid"||t==="wizard")&&(s=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,s,"visible")}}}getBehaviorConfig(e,t="",s={},i){const r={title:"行为",description:""},n=this.getVisibleProperty(e,t);for(const a in s)n[a]=Object.assign(n[a]||{},s[a]);const d=this;return{...r,properties:{...n},setPropertyRelates(a,c){if(a){switch(a.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,a);break}i&&i(a,c)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const s=t&&t.parent&&t.parent.schema;if(!s)return;const i=s.contents.findIndex(n=>n.id===e),r=Q.cloneDeep(s.contents[i]);s.contents.splice(i,1),s.contents.splice(i,0,r),P.refreshCanvas()}addNewVariableToViewModel(e,t){const s=e.propertyValue;if(!(s&&typeof s=="object")||!(s.type==="Variable"&&s.isNewVariable))return;const n={id:s.field,category:"locale",code:s.fullPath,name:s.fullPath,type:s.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete s.newVariableType,delete s.isNewVariable,this.formSchemaUtils.getVariableByCode(n.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(n)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:r,expressionInfo:n}=t,{targetId:d,targetType:a,expressionType:c,value:p,message:h}=n,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:S}=f;let V=S.find(x=>x.target===d);V||(V={target:d,rules:[],targetType:a},S.push(V));const T=V.rules.find(x=>x.type===c);if(T)T.value=p,T.message=h;else{const x={id:r,type:c,value:p,message:h};V.rules.push(x)}delete t.expressionInfo}clearExpression(e,t){const s=e.propertyValue;if(s&&s.type==="Expression")return;const r=e.propertyID,n=this.formSchemaUtils.getExpressions(),d=t.binding?t.binding.field:t.id,a=n.find(c=>c.target===d);!a||!a.rules||(a.rules=a.rules.filter(c=>c.type!==r))}getExpressionOptions(e,t,s){return new X(this.formSchemaUtils).getExpressionOptions(e,t,s)}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:s=>{var i;((i=s.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(s)}}},t}}class Z extends Y{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){return{title:"外观",description:"",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式"}}}}}function ee(l,e){function t(d){return!1}function s(){return!1}function i(){return!1}function r(){return!0}function n(d){return new Z(d,e).getPropertyConfig(l)}return{canAccepts:t,hideNestedPaddingInDesginerView:r,getPropsConfig:n,checkCanDeleteComponent:s,checkCanMoveComponent:i}}const te=o.defineComponent({name:"FPageFooterDesign",props:A,emits:[],setup(l,e){const t=o.ref(l.collapsed),s=o.ref(l.collapsedText),i=o.ref(l.contentClass),r=o.ref(l.enableCollapse),n=o.ref(l.expandedText),d=o.ref(l.headerClass),a=o.ref(l.headerContentClass),c=o.ref(l.headerToolbarClass),p=o.ref(l.showHeader),h=o.ref(),f=o.inject("design-item-context"),S=o.inject("designer-host-service"),V=ee(f.schema,S),T=P.useDesignerComponent(h,f,V),x=o.ref(f.schema.toolbar||{type:"response-toolbar",buttons:[]}),R=o.ref(k.responseToolbarResolver(x.value));o.onMounted(()=>{h.value.componentInstance=T}),e.expose(T.value),o.watch(()=>f.schema.toolbar,()=>{x.value=f.schema.toolbar||{type:"response-toolbar",buttons:[]},R.value=k.responseToolbarResolver(x.value)},{deep:!0});const j=o.computed(()=>[...R.value.items]);function U(u){u&&u.stopImmediatePropagation(),t.value=!t.value}function O(){return r.value&&o.createVNode("div",{class:"toolbar--collapse",onClick:u=>U(u)},[o.createVNode("span",{class:"toobar--collapse-text"},[t.value?n.value:s.value]),o.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const B=o.computed(()=>{const u={"f-toolbar":!0};return c.value.split(" ").reduce((b,v)=>(b[v]=!0,b),u),u});function H(){return o.createVNode("div",{class:B.value},[e.slots.headerToolbar&&e.slots.headerToolbar(),!e.slots.headerToolbar&&O()])}const q=o.computed(()=>{const u={"f-content":!0};return a.value.split(" ").reduce((b,v)=>(b[v]=!0,b),u),u});function $(){return o.createVNode(o.Fragment,null,[e.slots.headerContent&&o.createVNode("div",{class:q.value},[e.slots.headerContent()]),H()])}const g=o.computed(()=>{const u={"f-cmp-footer-header":!0};return d.value.split(" ").reduce((b,v)=>(b[v]=!0,b),u),u});function M(u,I){u&&I&&I.split(" ").reduce((v,ae)=>(v[ae]=!0,v),u)}const y=o.computed(()=>{const u={"text-right":!0,"col-6":!0};return M(u,l.buttonClass||""),u});function E(u,I,b,v){f&&f.setupContext&&f.setupContext.emit("selectionChange",u,I,b,v)}function oe(){return o.createVNode("header",{class:g.value},[e.slots.header&&e.slots.header(),!e.slots.header&&$()])}const re=o.computed(()=>{const u={"f-cmp-footer":!0,"f-state-collapse":r.value&&t.value,"f-cmp-footer-accordion":r.value};return d.value.split(" ").reduce((b,v)=>(b[v]=!0,b),u),u}),ne=o.computed(()=>{const u={"f-cmp-footer-content":!0};return i.value.split(" ").reduce((b,v)=>(b[v]=!0,b),u),u});function ie(){return o.createVNode("div",{style:" display: flex; align-items: center; justify-content: flex-end; flex-shrink: 0; background: #fff;box-shadow: none;"},[o.createVNode(P.FDesignerInnerItem,{class:y.value,modelValue:x.value,"onUpdate:modelValue":u=>x.value=u,canAdd:!1,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:x.value.id,componentId:l.componentId,onSelectionChange:E},{default:()=>[o.createVNode(k,{id:x.value.id,customClass:"w-100",items:j.value,componentId:l.componentId,buttonSize:l.buttonSize},null)]})])}return()=>o.createVNode("div",{ref:h,class:re.value},[o.createVNode("footer",{class:"f-cmp-footer-container"},[p.value&&oe(),ie(),o.createVNode("div",{class:ne.value},[e.slots.default&&e.slots.default()])])])}}),se={install(l){l.component(F.name,F)},register(l,e,t,s){l["page-footer"]=F,e["page-footer"]=D,s["page-footer"]={eventHandlerResolver:L}},registerDesigner(l,e,t){l["page-footer"]=te,e["page-footer"]=K}};m.FPageFooter=F,m.default=se,m.eventHandlerResolver=L,m.pageFooterDesignerProps=A,m.pageFooterProps=N,m.propsDesignResolver=K,m.propsResolver=D,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(m,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../../designer/response-toolbar/index.umd.js"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../response-toolbar/index.umd.js","../designer-canvas/index.umd.js","../../designer/response-toolbar/index.umd.js","lodash-es"],o):(m=typeof globalThis<"u"?globalThis:m||self,o(m["page-footer"]={},m.Vue,m.dynamicResolver,m.FResponseToolbar,m.designerCanvas,m.FResponseToolbarDesignComponent,m.LodashES))})(this,function(m,o,E,J,P,A,Q){"use strict";var le=Object.defineProperty;var de=(m,o,E)=>o in m?le(m,o,{enumerable:!0,configurable:!0,writable:!0,value:E}):m[o]=E;var C=(m,o,E)=>de(m,typeof o!="symbol"?o+"":o,E);const z=new Map([["appearance",E.resolveAppearance],["toolbar",E.resolveToolbar]]),D={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-footer.schema.json",title:"page-footer",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a page-footer",type:"string"},type:{description:"The type string of page-footer component",type:"string",default:"page-footer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},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}}}},required:["id","type"]};function _(l,e,t){return e.appearance={class:"f-page-is-footer"},e.toolbar={id:`${e.id}-toolbar`,type:"response-toolbar",buttons:[]},e}const N={customClass:{type:String,default:""},enableCollapse:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!0},collapsedText:{type:String,default:"More"},expandedText:{type:String,default:"More"},contentClass:{type:String,default:""},headerClass:{type:String,default:""},headerContentClass:{type:String,default:""},headerToolbarClass:{type:String,default:""},showHeader:{type:String,default:!1},buttonClass:{type:String,default:"col-6"},toolbarId:{type:String,default:""},buttons:{type:Array,default:[]},buttonSize:{type:String,default:""},visible:{type:Boolean,default:!0}},G=E.createPropsResolver(N,D,z,_),L=E.createPageHeaderEventHandlerResolver(),k=Object.assign({},N,{componentId:{type:String,default:""}}),K=E.createPropsResolver(k,D,z,_),F=o.defineComponent({name:"FPageFooter",props:N,emits:["click"],setup(l,e){const t=o.ref(l.collapsed),s=o.computed(()=>l.collapsedText),i=o.ref(l.contentClass),r=o.computed(()=>l.enableCollapse),n=o.computed(()=>l.expandedText),d=o.ref(l.headerClass),a=o.ref(l.headerContentClass),c=o.ref(l.headerToolbarClass),u=o.computed(()=>l.showHeader),h=o.ref(l.customClass),f=o.ref(l.buttons),S=(g,M)=>{e.emit("click",g,M)};function V(g){g&&g.stopImmediatePropagation(),t.value=!t.value}function T(){return r.value&&o.createVNode("div",{class:"toolbar--collapse",onClick:g=>V(g)},[o.createVNode("span",{class:"toobar--collapse-text"},[t.value?n.value:s.value]),o.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const x=o.computed(()=>{const g={"f-toolbar":!0};return c.value.split(" ").reduce((y,w)=>(y[w]=!0,y),g),g});function R(){return o.createVNode("div",{class:x.value},[e.slots.headerToolbar&&e.slots.headerToolbar(),!e.slots.headerToolbar&&T()])}const j=o.computed(()=>{const g={"f-content":!0};return a.value.split(" ").reduce((y,w)=>(y[w]=!0,y),g),g});function U(){return o.createVNode(o.Fragment,null,[e.slots.headerContent&&o.createVNode("div",{class:j.value},[e.slots.headerContent()]),R()])}const O=o.computed(()=>{const g={"f-cmp-footer-header":!0};return d.value.split(" ").reduce((y,w)=>(y[w]=!0,y),g),g});function B(){if(l.buttons&&l.buttons.length>0)return o.createVNode("div",{style:" display: flex; align-items: center; justify-content: flex-end; flex-shrink: 0; background: #fff;box-shadow: none;"},[o.createVNode(J,{id:l.toolbarId,customClass:l.buttonClass,visible:l.buttonsVisible,items:f.value,onClick:S,buttonSize:l.buttonSize},null)])}function H(){return o.createVNode("header",{class:O.value},[e.slots.header&&e.slots.header(),!e.slots.header&&U()])}const q=o.computed(()=>{const g={"f-cmp-footer":!0,"f-state-collapse":r.value&&t.value,"f-cmp-footer-accordion":r.value};return h.value.split(" ").reduce((y,w)=>(y[w]=!0,y),g),g}),$=o.computed(()=>{const g={"f-cmp-footer-content":!0};return i.value.split(" ").reduce((y,w)=>(y[w]=!0,y),g),g});return o.watch(()=>l.buttons,g=>{f.value=g},{deep:!0}),()=>l.visible?o.createVNode("div",{class:q.value},[o.createVNode("footer",{class:"f-cmp-footer-container"},[u.value&&H(),B(),o.createVNode("div",{class:$.value},[e.slots.default&&e.slots.default()])])]):null}});function W(l){const{formSchemaUtils:e,formStateMachineUtils:t}=l;function s(a,c=""){return{path:c+a.code,field:a.id,fullPath:a.code}}function i(a,c=""){const u=e.getViewModelById(a);return u?u.states.map(h=>s(h,c)):[]}function r(a){const c=e.getRootViewModelId(),u=i(a);if(a===c)return u;const h=i(c,"root-component.");return[...u,...h]}function n(a){return a.binding&&a.binding.path||a.id||""}function d(){return t&&t.getRenderStates()||[]}return{getVariables:r,getControlName:n,getStateMachines:d}}class X{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:(s,i,r,n)=>{const d=r.getExpressionRuleValue(e,t||i);return d&&d.value||""},convertTo:(s,i,r,n,d)=>{var a;if(i==="dataPicking"&&(r!=null&&r.target)){const c=`${r.target}_dataPicking`;((a=r.rules)==null?void 0:a.some(h=>h.id===c&&h.value))?s.dictPickingExpressionId=c:delete s.dictPickingExpressionId}n.updateExpression(r)}}));this.formSchemaService=e}getExpressionRule(e,t){const s=this.formSchemaService.getExpressions();if(!s)return"";const i=s.find(n=>n.target===e);if(!i)return"";const r=i.rules.find(n=>n.type===t);return r||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),s=this.formSchemaService.getViewModelById(t);if(!s||!s.states||s.states.length===0)return[];const i=[];return s.states.filter(r=>r.category==="remote").forEach(r=>{i.push({key:r.code,name:r.name,description:r.name,category:r.category})}),i}createTreeNode(e,t,s="label"){return{id:e.id,name:e.name,bindingPath:e[s],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const s=[];return e==null||e.forEach(i=>{var d;const r=this.createTreeNode(i,t);let n=[];(d=i.type)!=null&&d.fields&&(n=this.buildEntityFieldsTreeData(i.type.fields,[...t,i.label])),s.push({data:r,children:n,expanded:!0})}),s}buildChildEntityTreeData(e=null,t){const s=[];return e==null||e.forEach(i=>{var a,c;const r=this.createTreeNode(i,t);r.type="entity";const n=this.buildEntityFieldsTreeData((a=i.type)==null?void 0:a.fields,[...t,i.label]),d=this.buildChildEntityTreeData((c=i.type)==null?void 0:c.entities,[...t,i.label]);d!=null&&d.length&&(n==null||n.push(...d)),s.push({data:r,children:n||[],expanded:!0})}),s}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const s=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),i=this.buildChildEntityTreeData(t.type.entities,[t.code]);return i!=null&&i.length&&(s==null||s.push(...i)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:s||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,s){const i=s==="Field"?e.binding.field:e.id,r=this.getExpressionRule(i,t),n=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(t)&&r?r.message:"",...n};return r.messageType!=null&&(d.messageType=r.messageType),d}buildRule(e,t,s,i){const{expression:r,message:n,messageType:d}=t,a={id:`${e}_${s}`,type:s,value:r};return(s==="validate"||s==="dataPicking"||s==="required")&&(a.message=n),s==="dataPicking"&&(a.messageType=d),s==="validate"&&i&&(a.elementId=i),a}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,s,i){const r=t==="Field"?e.binding.field:e.id,n=this.buildRule(r,s,i,e.type==="form-group"?e.id:"");let a=this.getExpressionData().find(u=>u.targetType===t&&u.target===r);const c=u=>u.value.trim()==="";if(a){const u=a.rules.find(h=>h.id===n.id);if(u)c(n)?a.rules=a.rules.filter(h=>h.id!==n.id):(Object.assign(u,n),i==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(c(n))return null;a.rules=a.rules||[],a.rules.push(n)}}else{if(c(n))return null;a={target:`${r}`,rules:[n],targetType:t}}return a}getExpressionEditorOptions(e,t,s,i){return s.reduce((r,n)=>{var a,c;const d=t==="Field"?(a=e==null?void 0:e.binding)==null?void 0:a.field:e.id;return r[n]={hide:t==="Field"?!!((c=e==null?void 0:e.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[n],type:"string",$converter:this.getExpressionConverter(d),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[n]}编辑器`,showMessage:n==="validate"||n==="dataPicking"||n==="required",showMessageType:n==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,n,t),onSubmitModal:u=>{const h=this.updateExpression(e,t,u,n);if(i){const f=this.buildRule(d,u,n);i(f)}return h}}},r},{})}getExpressionInfo(e,t,s){const i=t==="Field"?e.binding.field:e.id,r=this.getExpressionRule(i,s),n={value:r&&r.value,targetId:i,targetType:t,expressionType:s};return r&&r.message&&(n.message=r.message),n}getExpressionConfig(e,t,s=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,s,i)}}}getExpressionOptions(e,t,s){const i=this.getExpressionInfo(e,t,s);return{dialogTitle:`${this.expressionNames[s]}编辑器`,singleExpand:!1,showMessage:s==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,s,t),expressionInfo:i}}}class Y{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 s;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.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 s;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(r=>r.id===t)}e.updateOn=(s=this.designViewModelField)==null?void 0:s.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={},s){const i={title:"外观",description:"Appearance"},r={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 n in t)r[n]=Object.assign(r[n]||{},t[n]);return{...i,properties:{...r},setPropertyRelates(n,d){if(n){switch(n&&n.propertyID){case"class":case"style":{P.canvasChanged.value++;break}}s&&s(n,e,d)}}}}getPropertyEditorParams(e,t=[],s="visible",i={},r={},n=""){const{getVariables:d,getControlName:a,getStateMachines:c}=W(this.designerHostService),u=this.getRealTargetType(e),h=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:h};return h.map(S=>{switch(S){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,u,n||s);break;case"StateMachine":f.stateMachines=c();break;case"Variable":Object.assign(f,{controlName:a(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:V=>{V.value=d(this.viewModelId)}},r),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,t=""){var r;let s=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?s=["Const","Expression"]:t==="form-group"&&!((r=e.binding)!=null&&r.field)?s=["Const","Variable","StateMachine"]:(t==="dataGrid"||t==="treeGrid"||t==="wizard")&&(s=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,s,"visible")}}}getBehaviorConfig(e,t="",s={},i){const r={title:"行为",description:""},n=this.getVisibleProperty(e,t);for(const a in s)n[a]=Object.assign(n[a]||{},s[a]);const d=this;return{...r,properties:{...n},setPropertyRelates(a,c){if(a){switch(a.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,a);break}i&&i(a,c)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const s=t&&t.parent&&t.parent.schema;if(!s)return;const i=s.contents.findIndex(n=>n.id===e),r=Q.cloneDeep(s.contents[i]);s.contents.splice(i,1),s.contents.splice(i,0,r),P.refreshCanvas()}addNewVariableToViewModel(e,t){const s=e.propertyValue;if(!(s&&typeof s=="object")||!(s.type==="Variable"&&s.isNewVariable))return;const n={id:s.field,category:"locale",code:s.fullPath,name:s.fullPath,type:s.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete s.newVariableType,delete s.isNewVariable,this.formSchemaUtils.getVariableByCode(n.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(n)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:r,expressionInfo:n}=t,{targetId:d,targetType:a,expressionType:c,value:u,message:h}=n,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:S}=f;let V=S.find(x=>x.target===d);V||(V={target:d,rules:[],targetType:a},S.push(V));const T=V.rules.find(x=>x.type===c);if(T)T.value=u,T.message=h;else{const x={id:r,type:c,value:u,message:h};V.rules.push(x)}delete t.expressionInfo}clearExpression(e,t){const s=e.propertyValue;if(s&&s.type==="Expression")return;const r=e.propertyID,n=this.formSchemaUtils.getExpressions(),d=t.binding?t.binding.field:t.id,a=n.find(c=>c.target===d);!a||!a.rules||(a.rules=a.rules.filter(c=>c.type!==r))}getExpressionOptions(e,t,s){return new X(this.formSchemaUtils).getExpressionOptions(e,t,s)}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:s=>{var i;((i=s.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(s)}}},t}}class Z extends Y{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){return{title:"外观",description:"",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式"}}}}}function ee(l,e){const t=new P.UseTemplateDragAndDropRules;function s(a){return!1}function i(){const{canMove:a}=t.getTemplateRule(l,e);return a}function r(){const{canDelete:a}=t.getTemplateRule(l,e);return a}function n(){return!0}function d(a){const c=new Z(a,e),{schema:u}=l;return c.getPropertyConfig(u)}return{canAccepts:s,hideNestedPaddingInDesginerView:n,getPropsConfig:d,checkCanDeleteComponent:r,checkCanMoveComponent:i}}const te=o.defineComponent({name:"FPageFooterDesign",props:k,emits:[],setup(l,e){const t=o.ref(l.collapsed),s=o.ref(l.collapsedText),i=o.ref(l.contentClass),r=o.ref(l.enableCollapse),n=o.ref(l.expandedText),d=o.ref(l.headerClass),a=o.ref(l.headerContentClass),c=o.ref(l.headerToolbarClass),u=o.ref(l.showHeader),h=o.ref(),f=o.inject("design-item-context"),S=o.inject("designer-host-service"),V=ee(f,S),T=P.useDesignerComponent(h,f,V),x=o.ref(f.schema.toolbar||{type:"response-toolbar",buttons:[]}),R=o.ref(A.responseToolbarResolver(x.value));o.onMounted(()=>{h.value.componentInstance=T}),e.expose(T.value),o.watch(()=>f.schema.toolbar,()=>{x.value=f.schema.toolbar||{type:"response-toolbar",buttons:[]},R.value=A.responseToolbarResolver(x.value)},{deep:!0});const j=o.computed(()=>[...R.value.items]);function U(p){p&&p.stopImmediatePropagation(),t.value=!t.value}function O(){return r.value&&o.createVNode("div",{class:"toolbar--collapse",onClick:p=>U(p)},[o.createVNode("span",{class:"toobar--collapse-text"},[t.value?n.value:s.value]),o.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const B=o.computed(()=>{const p={"f-toolbar":!0};return c.value.split(" ").reduce((b,v)=>(b[v]=!0,b),p),p});function H(){return o.createVNode("div",{class:B.value},[e.slots.headerToolbar&&e.slots.headerToolbar(),!e.slots.headerToolbar&&O()])}const q=o.computed(()=>{const p={"f-content":!0};return a.value.split(" ").reduce((b,v)=>(b[v]=!0,b),p),p});function $(){return o.createVNode(o.Fragment,null,[e.slots.headerContent&&o.createVNode("div",{class:q.value},[e.slots.headerContent()]),H()])}const g=o.computed(()=>{const p={"f-cmp-footer-header":!0};return d.value.split(" ").reduce((b,v)=>(b[v]=!0,b),p),p});function M(p,I){p&&I&&I.split(" ").reduce((v,ae)=>(v[ae]=!0,v),p)}const y=o.computed(()=>{const p={"text-right":!0,"col-6":!0};return M(p,l.buttonClass||""),p});function w(p,I,b,v){f&&f.setupContext&&f.setupContext.emit("selectionChange",p,I,b,v)}function oe(){return o.createVNode("header",{class:g.value},[e.slots.header&&e.slots.header(),!e.slots.header&&$()])}const re=o.computed(()=>{const p={"f-cmp-footer":!0,"f-state-collapse":r.value&&t.value,"f-cmp-footer-accordion":r.value};return d.value.split(" ").reduce((b,v)=>(b[v]=!0,b),p),p}),ne=o.computed(()=>{const p={"f-cmp-footer-content":!0};return i.value.split(" ").reduce((b,v)=>(b[v]=!0,b),p),p});function ie(){return o.createVNode("div",{style:" display: flex; align-items: center; justify-content: flex-end; flex-shrink: 0; background: #fff;box-shadow: none;"},[o.createVNode(P.FDesignerInnerItem,{class:y.value,modelValue:x.value,"onUpdate:modelValue":p=>x.value=p,canAdd:!1,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:x.value.id,componentId:l.componentId,onSelectionChange:w},{default:()=>[o.createVNode(A,{id:x.value.id,customClass:"w-100",items:j.value,componentId:l.componentId,buttonSize:l.buttonSize},null)]})])}return()=>o.createVNode("div",{ref:h,class:re.value},[o.createVNode("footer",{class:"f-cmp-footer-container"},[u.value&&oe(),ie(),o.createVNode("div",{class:ne.value},[e.slots.default&&e.slots.default()])])])}}),se={install(l){l.component(F.name,F)},register(l,e,t,s){l["page-footer"]=F,e["page-footer"]=G,s["page-footer"]={eventHandlerResolver:L}},registerDesigner(l,e,t){l["page-footer"]=te,e["page-footer"]=K}};m.FPageFooter=F,m.default=se,m.eventHandlerResolver=L,m.pageFooterDesignerProps=k,m.pageFooterProps=N,m.propsDesignResolver=K,m.propsResolver=G,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});