@farris/ui-vue 1.2.4 → 1.2.6
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/accordion/index.esm.js +58 -58
- package/components/accordion/index.umd.cjs +1 -1
- package/components/accordion/package.json +1 -1
- package/components/avatar/index.esm.js +124 -116
- package/components/avatar/index.umd.cjs +1 -1
- package/components/avatar/package.json +1 -1
- package/components/border-editor/package.json +1 -1
- package/components/button/package.json +1 -1
- package/components/button-edit/index.css +1 -0
- package/components/button-edit/package.json +1 -1
- package/components/button-group/package.json +1 -1
- package/components/calculator/package.json +1 -1
- package/components/calendar/package.json +1 -1
- package/components/capsule/index.esm.js +1 -1
- package/components/capsule/index.umd.cjs +1 -1
- package/components/capsule/package.json +1 -1
- package/components/checkbox/index.esm.js +219 -209
- package/components/checkbox/index.umd.cjs +1 -1
- package/components/checkbox/package.json +1 -1
- package/components/color-picker/package.json +1 -1
- package/components/combo-list/index.esm.js +36 -28
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-list/package.json +1 -1
- package/components/combo-tree/index.esm.js +340 -107
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/combo-tree/package.json +1 -1
- package/components/common/index.esm.js +2 -2
- package/components/common/index.umd.cjs +1 -1
- package/components/common/package.json +1 -1
- package/components/component/index.esm.js +36 -29
- package/components/component/index.umd.cjs +1 -1
- package/components/component/package.json +1 -1
- package/components/condition/index.esm.js +406 -402
- package/components/condition/index.umd.cjs +1 -1
- package/components/condition/package.json +1 -1
- package/components/content-container/index.esm.js +9 -13
- package/components/content-container/index.umd.cjs +1 -1
- package/components/content-container/package.json +1 -1
- package/components/{tree-grid/style.css → data-grid/index.css} +1 -1
- package/components/data-grid/index.esm.js +4439 -4273
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-grid/package.json +1 -1
- package/components/data-view/index.esm.js +2904 -2892
- package/components/data-view/index.umd.cjs +1 -1
- package/components/data-view/package.json +1 -1
- package/components/date-picker/index.esm.js +250 -242
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/date-picker/package.json +1 -1
- package/components/designer-canvas/index.css +1 -0
- package/components/designer-canvas/index.esm.js +24 -21
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/designer-canvas/package.json +1 -1
- package/components/designer-outline/index.esm.js +44 -42
- package/components/designer-outline/index.umd.cjs +1 -1
- package/components/designer-outline/package.json +1 -1
- package/components/designer-toolbox/index.esm.js +28 -467
- package/components/designer-toolbox/index.umd.cjs +1 -1
- package/components/designer-toolbox/package.json +1 -1
- package/components/discussion-editor/package.json +1 -1
- package/components/discussion-list/package.json +1 -1
- package/components/drawer/package.json +1 -1
- package/components/dropdown/index.esm.js +86 -86
- package/components/dropdown/index.umd.cjs +1 -1
- package/components/dropdown/package.json +1 -1
- package/components/dynamic-form/index.esm.js +984 -928
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-form/package.json +1 -1
- package/components/dynamic-resolver/index.esm.js +56 -47
- package/components/dynamic-resolver/index.umd.cjs +1 -1
- package/components/dynamic-resolver/package.json +1 -1
- package/components/dynamic-view/index.esm.js +281 -277
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/dynamic-view/package.json +1 -1
- package/components/enum-editor/package.json +1 -1
- package/components/events-editor/package.json +1 -1
- package/components/expression-editor/package.json +1 -1
- package/components/external-container/index.css +1 -0
- package/components/external-container/index.esm.js +1917 -1901
- package/components/external-container/index.umd.cjs +1 -1
- package/components/external-container/package.json +1 -1
- package/components/field-selector/index.css +1 -0
- package/components/field-selector/index.esm.js +4185 -4023
- package/components/field-selector/index.umd.cjs +1 -1
- package/components/field-selector/package.json +1 -1
- package/components/filter-bar/{style.css → index.css} +1 -1
- package/components/filter-bar/index.esm.js +595 -581
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/filter-bar/package.json +1 -1
- package/components/flow-canvas/index.css +1 -0
- package/components/flow-canvas/index.esm.js +38 -35
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/flow-canvas/package.json +1 -1
- package/components/image-cropper/package.json +1 -1
- package/components/input-group/index.esm.js +256 -248
- package/components/input-group/index.umd.cjs +1 -1
- package/components/input-group/package.json +1 -1
- package/components/layout/package.json +1 -1
- package/components/list-nav/package.json +1 -1
- package/components/list-view/index.esm.js +1522 -1519
- package/components/list-view/index.umd.cjs +1 -1
- package/components/list-view/package.json +1 -1
- package/components/loading/package.json +1 -1
- package/components/locale/package.json +1 -1
- package/components/lookup/index.css +1 -0
- package/components/lookup/index.esm.js +4629 -4410
- package/components/lookup/index.umd.cjs +1 -1
- package/components/lookup/package.json +1 -1
- package/components/mapping-editor/index.css +1 -0
- package/components/mapping-editor/index.esm.js +4454 -4255
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/mapping-editor/package.json +1 -1
- package/components/message-box/index.css +1 -0
- package/components/message-box/index.esm.js +397 -386
- package/components/message-box/index.umd.cjs +1 -1
- package/components/message-box/package.json +1 -1
- package/components/modal/index.css +1 -0
- package/components/modal/index.esm.js +308 -297
- package/components/modal/index.umd.cjs +1 -1
- package/components/modal/package.json +1 -1
- package/components/nav/index.esm.js +511 -469
- package/components/nav/index.umd.cjs +2 -2
- package/components/nav/package.json +1 -1
- package/components/notify/package.json +1 -1
- package/components/order/index.esm.js +972 -920
- package/components/order/index.umd.cjs +1 -1
- package/components/order/package.json +1 -1
- package/components/page-footer/package.json +1 -1
- package/components/page-header/index.esm.js +917 -893
- package/components/page-header/index.umd.cjs +1 -1
- package/components/page-header/package.json +1 -1
- package/components/pagination/index.esm.js +491 -449
- package/components/pagination/index.umd.cjs +1 -1
- package/components/pagination/package.json +1 -1
- package/components/popover/package.json +1 -1
- package/components/progress/package.json +1 -1
- package/components/property-editor/index.esm.js +108 -101
- package/components/property-editor/index.umd.cjs +2 -2
- package/components/property-editor/package.json +1 -1
- package/components/property-panel/index.esm.js +361 -349
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/property-panel/package.json +1 -1
- package/components/radio-button/package.json +1 -1
- package/components/radio-group/index.esm.js +72 -64
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/radio-group/package.json +1 -1
- package/components/rate/package.json +1 -1
- package/components/response-layout/package.json +1 -1
- package/components/response-layout-editor/{style.css → index.css} +1 -1
- package/components/response-layout-editor/index.esm.js +452 -439
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/response-layout-editor/package.json +1 -1
- package/components/response-toolbar/index.esm.js +610 -592
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/response-toolbar/package.json +1 -1
- package/components/schema-selector/index.css +1 -0
- package/components/schema-selector/index.esm.js +4041 -3749
- package/components/schema-selector/index.umd.cjs +8 -1
- package/components/schema-selector/package.json +1 -1
- package/components/search-box/package.json +1 -1
- package/components/section/index.esm.js +21 -14
- package/components/section/index.umd.cjs +1 -1
- package/components/section/package.json +1 -1
- package/components/smoke-detector/package.json +1 -1
- package/components/spacing-editor/package.json +1 -1
- package/components/splitter/package.json +1 -1
- package/components/step/package.json +1 -1
- package/components/switch/index.esm.js +159 -178
- package/components/switch/index.umd.cjs +1 -1
- package/components/switch/package.json +1 -1
- package/components/tabs/index.css +1 -0
- package/components/tabs/index.esm.js +1450 -1408
- package/components/tabs/index.umd.cjs +1 -1
- package/components/tabs/package.json +1 -1
- package/components/tags/package.json +1 -1
- package/components/text/package.json +1 -1
- package/components/textarea/index.esm.js +86 -78
- package/components/textarea/index.umd.cjs +1 -1
- package/components/textarea/package.json +1 -1
- package/components/time-picker/index.css +1 -0
- package/components/time-picker/index.esm.js +387 -379
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/time-picker/package.json +1 -1
- package/components/tooltip/package.json +1 -1
- package/components/transfer/index.esm.js +95 -93
- package/components/transfer/index.umd.cjs +1 -1
- package/components/transfer/package.json +1 -1
- package/components/{data-grid/style.css → tree-grid/index.css} +1 -1
- package/components/tree-grid/index.esm.js +4437 -4271
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-grid/package.json +1 -1
- package/components/tree-view/index.esm.js +1989 -1985
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/tree-view/package.json +1 -1
- package/components/uploader/package.json +1 -1
- package/components/verify-detail/package.json +1 -1
- package/components/video/package.json +1 -1
- package/components/weather/package.json +1 -1
- package/farris.all.esm.js +12989 -12513
- package/farris.all.umd.cjs +9 -9
- package/index.css +1 -0
- package/package.json +2 -2
- package/types/combo-tree/src/combo-tree.props.d.ts +4 -0
- package/types/combo-tree/src/components/tree-container.component.d.ts +13 -3
- package/types/combo-tree/src/components/tree-container.props.d.ts +15 -1
- package/types/combo-tree/src/schema/schema-mapper.d.ts +2 -0
- package/types/combo-tree/src/schema/schema-resolver.d.ts +2 -0
- package/types/components.d.ts +1 -0
- package/types/condition/index.d.ts +60 -1
- package/types/data-grid/index.d.ts +5 -5
- package/types/data-grid/src/data-grid.component.d.ts +2 -2
- package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
- package/types/data-grid/src/property-config/data-grid.property-config.d.ts +1 -1
- package/types/data-view/components/column-setting/column-setting.component.d.ts +2 -1
- package/types/data-view/composition/types.d.ts +2 -0
- package/types/designer-canvas/src/composition/dg-control.d.ts +8 -8
- package/types/designer-canvas/src/composition/types.d.ts +1 -0
- package/types/dynamic-form/src/designer/use-designer-rules.d.ts +3 -3
- package/types/dynamic-form/src/types.d.ts +1 -1
- package/types/dynamic-resolver/index.d.ts +1 -0
- package/types/dynamic-resolver/src/converter/pagination.converter.d.ts +6 -0
- package/types/dynamic-resolver/src/visible-prop-resolver.d.ts +3 -0
- package/types/list-view/src/composition/types.d.ts +1 -1
- package/types/lookup/src/designer/use-lookup-rules.d.ts +3 -0
- package/types/lookup/src/property-config/converters/lookup-property.converter.d.ts +8 -0
- package/types/lookup/src/property-config/lookup.property-config.d.ts +29 -25
- package/types/mapping-editor/src/mapping-editor.props.d.ts +8 -0
- package/types/message-box/index.d.ts +84 -1
- package/types/modal/src/modal.component.d.ts +3 -3
- package/types/modal/src/modal.props.d.ts +3 -5
- package/types/notify/index.d.ts +84 -1
- package/types/page-header/src/page-header.props.d.ts +7 -0
- package/types/page-header/src/property-config/page-header.property-config.d.ts +1 -1
- package/types/property-panel/src/composition/entity/base-property.d.ts +2 -0
- package/types/response-toolbar/index.d.ts +9 -3
- package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -1
- package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -1
- package/types/response-toolbar/src/response-toolbar.component.d.ts +4 -2
- package/types/response-toolbar/src/response-toolbar.props.d.ts +9 -2
- package/types/schema-selector/src/composition/types.d.ts +3 -1
- package/types/schema-selector/src/schema-selector-editor.component.d.ts +5 -1
- package/types/tabs/src/designer/tab-toolbar.design.component.d.ts +1 -1
- package/types/tabs/src/tabs.props.d.ts +8 -0
- package/types/tree-grid/src/schema/column-resolver.d.ts +3 -0
- package/components/button-edit/style.css +0 -1
- package/components/designer-canvas/style.css +0 -1
- package/components/external-container/style.css +0 -1
- package/components/field-selector/style.css +0 -1
- package/components/flow-canvas/style.css +0 -1
- package/components/lookup/style.css +0 -1
- package/components/mapping-editor/style.css +0 -1
- package/components/message-box/style.css +0 -1
- package/components/modal/style.css +0 -1
- package/components/schema-selector/style.css +0 -1
- package/components/tabs/style.css +0 -1
- package/components/time-picker/style.css +0 -1
- package/style.css +0 -1
- package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +0 -19
- /package/components/border-editor/{style.css → index.css} +0 -0
- /package/components/checkbox/{style.css → index.css} +0 -0
- /package/components/date-picker/{style.css → index.css} +0 -0
- /package/components/designer-outline/{style.css → index.css} +0 -0
- /package/components/designer-toolbox/{style.css → index.css} +0 -0
- /package/components/discussion-editor/{style.css → index.css} +0 -0
- /package/components/discussion-list/{style.css → index.css} +0 -0
- /package/components/drawer/{style.css → index.css} +0 -0
- /package/components/events-editor/{style.css → index.css} +0 -0
- /package/components/list-view/{style.css → index.css} +0 -0
- /package/components/order/{style.css → index.css} +0 -0
- /package/components/property-editor/{style.css → index.css} +0 -0
- /package/components/property-panel/{style.css → index.css} +0 -0
- /package/components/radio-button/{style.css → index.css} +0 -0
- /package/components/radio-group/{style.css → index.css} +0 -0
- /package/components/smoke-detector/{style.css → index.css} +0 -0
- /package/components/spacing-editor/{style.css → index.css} +0 -0
- /package/components/splitter/{style.css → index.css} +0 -0
- /package/components/switch/{style.css → index.css} +0 -0
- /package/components/transfer/{style.css → index.css} +0 -0
- /package/components/uploader/{style.css → index.css} +0 -0
- /package/components/weather/{style.css → index.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(O,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("@farris/ui-vue/components/response-toolbar"),require("@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component"),require("@farris/ui-vue/components/common")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","@farris/ui-vue/components/response-toolbar","@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component","@farris/ui-vue/components/common"],t):(O=typeof globalThis<"u"?globalThis:O||self,t(O["page-header"]={},O.Vue,O.LodashES,O.FResponseToolbar$1,O.useDesignerInnerComponent$1,O.common))})(this,function(O,t,H,Me,ae,Ne){"use strict";var dt=Object.defineProperty;var ut=(O,t,H)=>t in O?dt(O,t,{enumerable:!0,configurable:!0,writable:!0,value:H}):O[t]=H;var I=(O,t,H)=>ut(O,typeof t!="symbol"?t+"":t,H);const Z={},ce={};function K(r){const{properties:e,title:n}=r,s=Object.keys(e).reduce((d,g)=>(d[g]=e[g].type==="object"&&e[g].properties?K(e[g]):H.cloneDeep(e[g].default),d),{});return s.id=`${n}-${Date.now()}`,s}function U(r,e={}){const n=Z[r];if(n){let s=K(n);const d=ce[r];return s=d?d({getSchemaByType:U},s,e):s,s}return null}function xe(r,e){const n=K(e);return Object.keys(r).reduce((s,d)=>(s[d]=r[d],s),n),n}function ke(r,e){return Object.keys(r).filter(s=>r[s]!=null).reduce((s,d)=>{if(e.has(d)){const g=e.get(d);if(typeof g=="string")s[g]=r[d];else{const b=g(d,r[d],r);Object.assign(s,b)}}else s[d]=r[d];return s},{})}function Ve(r,e,n=new Map){const s=xe(r,e);return ke(s,n)}function je(r={}){function e(y,T,p,c){if(typeof p=="number")return c[y].length===p;if(typeof p=="object"){const f=Object.keys(p)[0],a=p[f];if(f==="not")return Number(c[y].length)!==Number(a);if(f==="moreThan")return Number(c[y].length)>=Number(a);if(f==="lessThan")return Number(c[y].length)<=Number(a)}return!1}function n(y,T,p,c){return c[y]&&c[y].propertyValue&&String(c[y].propertyValue.value)===String(p)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((y,T)=>(y.set(T,r[T]),y),s);function d(y,T){const p=y;return typeof T=="number"?[{target:p,operator:"length",param:null,value:Number(T)}]:typeof T=="boolean"?[{target:p,operator:"getProperty",param:y,value:!!T}]:typeof T=="object"?Object.keys(T).map(c=>{if(c==="length")return{target:p,operator:"length",param:null,value:T[c]};const f=c,a=T[c];return{target:p,operator:"getProperty",param:f,value:a}}):[]}function g(y){return Object.keys(y).reduce((p,c)=>{const f=d(c,y[c]);return p.push(...f),p},[])}function b(y,T){if(s.has(y.operator)){const p=s.get(y.operator);return p&&p(y.target,y.param,y.value,T)||!1}return!1}function P(y,T){return g(y).reduce((f,a)=>f&&b(a,T),!0)}function M(y,T){const p=Object.keys(y),c=p.includes("allOf"),f=p.includes("anyOf"),a=c||f,N=(a?y[a?c?"allOf":"anyOf":"allOf"]:[y]).map(S=>P(S,T));return c?!N.includes(!1):N.includes(!0)}return{parseValueSchema:M}}const k={Button:{type:"Button",name:"按钮",icon:"Button"},ButtonGroup:{type:"ButtonGroup",name:"按钮组",icon:"ButtonGroup"},ToolBar:{type:"ToolBar",name:"工具栏",icon:"ButtonGroup"},ToolBarItem:{type:"ToolBarItem",name:"工具栏项",icon:"Button"},ContentContainer:{type:"ContentContainer",name:"容器",icon:"ContentContainer"},DisplayField:{type:"DisplayField",name:"标签",icon:"DisplayField"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},FlexLayout:{type:"FlexLayout",name:"弹性布局"},FlowLayout:{type:"FlowLayout",name:"流布局"},ResponseLayout:{type:"ResponseLayout",name:"布局容器",icon:"ResponseLayout3"},ResponseLayoutItem:{type:"ResponseLayoutItem",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},TreeGridField:{type:"TreeGridField",name:"树表格列"},FieldSet:{type:"FieldSet",name:"分组",icon:"FieldSet"},Form:{type:"Form",name:"卡片面板",icon:"Form"},QueryForm:{type:"QueryForm",name:"查询面板",icon:"Form"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},Panel:{type:"Panel",name:"面板",icon:"ContentContainer"},Module:{type:"Module",name:"模块",icon:"Module"},Component:{type:"Component",name:"组件",icon:"Component"},ExternalContainer:{type:"ExternalContainer",name:"外部容器",icon:"ContentContainer"},Image:{type:"Image",name:"图像",icon:"Image"},ImageUpload:{type:"ImageUpload",name:"图片上传",icon:"imageupload"},HiddenContainer:{type:"HiddenContainer",name:"隐藏区域",icon:"ContentContainer"},ModalContainer:{type:"ModalContainer",name:"弹窗容器",icon:"ContentContainer"},RouteContainer:{type:"RouteContainer",name:"路由区域",icon:"ContentContainer"},Tab:{type:"Tab",name:"标签页",icon:"Tab"},TabPage:{type:"TabPage",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},Tag:{type:"Tag",name:"Tag",icon:"Tag"},Sidebar:{type:"Sidebar",name:"侧边栏",icon:"Sidebar"},HtmlTemplate:{type:"HtmlTemplate",name:"模版容器",icon:"HtmlTemplate"},ListView:{type:"ListView",name:"列表",icon:"ListView"},RichTextBox:{type:"RichTextBox",name:"富文本",icon:"RichTextBox"},TimeSpinner:{type:"TimeSpinner",name:"时间调节器",icon:"TimePicker"},TimePicker:{type:"TimePicker",name:"时间选择",icon:"TimePicker"},Section:{type:"Section",name:"分组面板",icon:"Section"},SectionToolbar:{type:"SectionToolbar",name:"分组面板工具栏"},SectionToolbarItem:{type:"SectionToolbarItem",name:"分组面板按钮"},QueryScheme:{type:"QueryScheme",name:"筛选方案",icon:"QueryScheme"},FormHeader:{type:"FormHeader",name:"翻页"},Splitter:{type:"Splitter",name:"分栏面板",icon:"Splitter"},SplitterPane:{type:"SplitterPane",name:"分栏面板项",dependentParentControl:"Splitter"},WizardDetail:{type:"WizardDetail",name:"向导详情页"},WizardDetailContainer:{type:"WizardDetailContainer",name:"向导详情容器"},Wizard:{type:"Wizard",name:"向导",icon:"Wizard"},MultiSelect:{type:"MultiSelect",name:"数据分配",icon:"MultiSelect"},Steps:{type:"Steps",name:"步骤条",icon:"Steps"},avatar:{type:"avatar",name:"头像",icon:"Avatar"},ListFilter:{type:"ListFilter",name:"筛选条",icon:"ListFilter"},ListNav:{type:"ListNav",name:"列表导航",icon:"ListNav"},NumberRange:{type:"NumberRange",name:"数字区间选择",icon:"NumericBox"},Scrollspy:{type:"Scrollspy",name:"滚动监听",icon:"Scrollspy"},LanguageTextBox:{type:"LanguageTextBox",name:"多语言输入框",icon:"LanguageTextBox"},ComponentRef:{type:"ComponentRef",name:"组件引用节点"},FileUpload:{type:"FileUpload",name:"附件上传",icon:"FileUpload"},FilePreview:{type:"FilePreview",name:"附件预览",icon:"FilePreview"},ViewChange:{type:"ViewChange",name:"多视图切换",icon:"Button"},MultiViewContainer:{type:"MultiViewContainer",name:"多视图",icon:"MultiViewContainer"},MultiViewItem:{type:"MultiViewItem",name:"多视图项",dependentParentControl:"MultiViewContainer"},Footer:{type:"Footer",name:"页脚"},DiscussionEditor:{type:"DiscussionEditor",name:"评论编辑区",icon:"DiscussionEditor"},DiscussionList:{type:"DiscussionList",name:"评论列表",icon:"DiscussionList"},NavTab:{type:"NavTab",name:"标签类导航",icon:"NavTab"},Tags:{type:"Tags",name:"标记组",icon:"Tags"},Portlet:{type:"Portlet",name:"小部件",icon:"dingzhi"},Header:{type:"Header",name:"页头",icon:"Header"},ModalFooter:{type:"ModalFooter",name:"弹窗页脚",icon:"ModalFooter"},ScrollCollapsibleArea:{type:"ScrollCollapsibleArea",name:"滚动收折区域",icon:"ScrollCollapsibleArea"},PersonnelSelector:{type:"PersonnelSelector",name:"人员选择",icon:"PersonnelSelector"},Table:{type:"Table",name:"表格",icon:"DataGrid"},LoopContainer:{type:"LoopContainer",name:"循环容器",icon:"ContentContainer"},FileUploadPreview:{type:"FileUploadPreview",name:"附件上传预览",icon:"FileUpload"},DynamicArea:{type:"DynamicArea",name:"动态区域",icon:"ContentContainer"},DynamicAreaItem:{type:"DynamicAreaItem",name:"动态区域项",icon:"ContentContainer"},TabToolbar:{type:"TabToolbar",name:"标签页工具栏",icon:"TabToolbar"},HeaderToolBar:{type:"HeaderToolBar",name:"头部组件工具栏",icon:"HeaderToolBar"},ModalFooterToolBar:{type:"ModalFooterToolBar",name:"底部组件工具栏",icon:"ModalFooterToolBar"},HeaderToolBarItem:{type:"HeaderToolBarItem",name:"头部组件工具栏按钮",icon:"HeaderToolBarItem"},ModalFooterToolBarItem:{type:"ModalFooterToolBarItem",name:"底部组件工具栏按钮",icon:"ModalFooterToolBarItem"},OrganizationSelector:{type:"OrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},AdminOrganizationSelector:{type:"AdminOrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},EmployeeSelector:{type:"EmployeeSelector",name:"人员选择",icon:"PersonnelSelector"},OaRelation:{type:"OaRelation",name:"关联行政审批",icon:"TextBox"},CitySelector:{type:"CitySelector",name:"城市选择",icon:"CitySelector"},ExtIntergration:{type:"ExtIntergration",name:"外部服务集成",icon:"ViewModel"},AppointmentCalendar:{type:"AppointmentCalendar",name:"预约日历",icon:"DateBox"},Charts:{type:"Charts",name:"图表",icon:"Charts"},QdpFramework:{type:"QdpFramework",name:"查询结果工具栏",icon:"QdpFramework"},SpreadSheet:{type:"SpreadSheet",name:"查询表格控件",icon:"Charts"},QdpConditionDialog:{type:"QdpConditionDialog",name:"查询筛选对话框",icon:"ContentContainer"},QdpConditionDialogTab:{type:"QdpConditionDialogTab",name:"查询筛选标签页",icon:"Tab"},ApprovalLogs:{type:"ApprovalLogs",name:"审批记录",icon:"ApprovalLogs"},ApprovalComments:{type:"ApprovalComments",name:"审批意见",icon:"shenpiyijian"}},le={},Ee={};je();function J(r,e,n=new Map,s=(b,P,M)=>P,d={},g=b=>b){return Z[e.title]=e,ce[e.title]=s,le[e.title]=d,Ee[e.title]=g,(b={})=>{const P=Ve(b,e,n),M=Object.keys(r).reduce((y,T)=>(y[T]=r[T].default,y),{});return Object.assign(M,P)}}function Be(r,e){return{customClass:e.class,customStyle:e.style}}function Ae(r,e){return{buttons:e.buttons}}const Ie=new Map([["appearance",Be],["toolbar",Ae]]),Fe={$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:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",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:[]}}},buttonClass:{description:"",type:"string",default:""},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}}};function Re(r,e,n){return e.title="标题",e}const z={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"},buttons:{type:Array,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}},ee=J(z,Fe,Ie,Re),G=t.defineComponent({name:"FPageHeader",props:z,emits:["Click","PrePaginationClick","NextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),s=S=>{e.emit("Click",S)};function d(S,E){S&&E&&E.split(" ").reduce((v,m)=>(v[m]=!0,v),S)}const g=t.computed(()=>{const S={"f-page-header":!0};return d(S,r.customClass),S}),b=t.computed(()=>{const S={"f-title-icon":!0};return d(S,r.iconClass),S}),P=t.computed(()=>{const S={"f-icon":!0};return d(S,r.icon),S}),M=t.computed(()=>{const S={"f-title":!0};return d(S,r.titleContentClass),S}),y=t.computed(()=>{const S={"f-content":!0};return d(S,r.contentClass),S}),T=t.computed(()=>{const S={"f-content":!0};return d(S,r.downContentClass),S}),p=t.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":r.prePaginationDisabled})),c=t.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":r.nextPaginationDisabled}));function f(S){r.prePaginationDisabled||e.emit("PrePaginationClick",S)}function a(S){r.nextPaginationDisabled||e.emit("NextPaginationClick",S)}function C(){return e.slots.titleContent?t.createVNode("div",{class:M.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:b.value},[t.createVNode("i",{class:P.value},null)]):"",t.createVNode("h4",{class:"f-title-text"},[r.title]),r.subTitle?t.createVNode("h5",{class:"f-title-subtitle"},[r.subTitle]):"",r.showPagination?t.createVNode("div",{class:"f-title-pagination"},[t.createVNode("span",{class:p.value,onClick:f},null),t.createVNode("span",{class:c.value,onClick:a},null)]):""])}function w(){return e.slots.content?t.createVNode("div",{class:y.value},[t.createTextVNode(" "),e.slots.content()]):""}function N(){if(r.buttons&&r.buttons.length>0)return t.createVNode(Me,{customClass:r.buttonClass,items:n.value,onClick:s},null)}function A(){return e.slots.downContent?t.createVNode("div",{class:T.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,S=>{n.value=S},{deep:!0}),()=>t.createVNode("div",{class:g.value},[t.createVNode("nav",{class:"f-page-header-base"},[C(),w(),N()]),A()])}});function $e(r,e,n){var F;function s(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}s();const d=n&&n.getStyles&&n.getStyles()||"",g=n&&n.getDesignerClass&&n.getDesignerClass()||"",b=t.ref();function P(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function M(){return!1}function y(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function T(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function p(v){if(!v||!v.value)return null;if(v.value.schema&&v.value.schema.type==="component")return v.value;const m=t.ref(v==null?void 0:v.value.parent),D=p(m);return D||null}function c(v=e){const{componentInstance:m,designerItemElementRef:D}=v;return!m||!m.value?null:m.value.canMove?D:c(v.parent)}function f(v){return!!n&&n.canAccepts(v)}function a(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function C(){}function w(v,m){m&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(m)}function N(v){const{componentType:m}=v;let D=U(m,v);n&&n.onResolveNewComponentSchema&&(D=n.onResolveNewComponentSchema(v,D));const V=m.toLowerCase().replace("-","_");return D&&!D.id&&D.type===m&&(D.id=`${V}_${Math.random().toString().slice(2,6)}`),D}function A(v,m){const D=String(v.getAttribute("data-controltype")),V=v.getAttribute("data-feature"),u=V?JSON.parse(V):{};u.parentComponentInstance=b.value;let i=U(D,u);n&&n.onAcceptNewChildElement&&(i=n.onAcceptNewChildElement(v,m,i));const o=D.toLowerCase().replace("-","_");return i&&!i.id&&i.type===D&&(i.id=`${o}_${Math.random().toString().slice(2,6)}`),i}function S(v){}function E(...v){if(n&&n.getPropsConfig)return n.getPropsConfig(...v)}return b.value={canMove:P(),canSelectParent:M(),canDelete:y(),canNested:!T(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(F=e==null?void 0:e.parent)==null?void 0:F.componentInstance,schema:e==null?void 0:e.schema,styles:d,designerClass:g,canAccepts:f,getBelongedComponentInstance:p,getDraggableDesignItemElement:c,getDraggingDisplayText:a,getPropConfig:E,getDragScopeElement:C,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:S,addNewChildComponentSchema:N,updateDragAndDropRules:s,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},b}class pe{static getEditorTypesByMDataType(e){return this.fieldControlTypeMapping[e]}}I(pe,"fieldControlTypeMapping",{String:[{key:k["input-group"].type,value:k["input-group"].name},{key:k.lookup.type,value:k.lookup.name},{key:k.Image.type,value:k.Image.name},{key:k["date-picker"].type,value:k["date-picker"].name},{key:k["check-box"].type,value:k["check-box"].name},{key:k["radio-group"].type,value:k["radio-group"].name},{key:k["combo-list"].type,value:k["combo-list"].name},{key:k.textarea.type,value:k.textarea.name}],Text:[{key:k.textarea.type,value:k.textarea.name},{key:k.avatar.type,value:k.avatar.name},{key:k.lookup.type,value:k.lookup.name}],Decimal:[{key:k["number-spinner"].type,value:k["number-spinner"].name}],Integer:[{key:k["number-spinner"].type,value:k["number-spinner"].name}],Number:[{key:k["number-spinner"].type,value:k["number-spinner"].name}],BigNumber:[{key:k["number-spinner"].type,value:k["number-spinner"].name}],Date:[{key:k["date-picker"].type,value:k["date-picker"].name}],DateTime:[{key:k["date-picker"].type,value:k["date-picker"].name}],Boolean:[{key:k.switch.type,value:k.switch.name},{key:k["check-box"].type,value:k["check-box"].name}],Enum:[{key:k["combo-list"].type,value:k["combo-list"].name},{key:k["radio-group"].type,value:k["radio-group"].name}],Object:[{key:k.lookup.type,value:k.lookup.name},{key:k["combo-list"].type,value:k["combo-list"].name},{key:k["radio-group"].type,value:k["radio-group"].name}],EmployeeSelector:[{key:k.EmployeeSelector.type,value:k.EmployeeSelector.name}],AdminOrganizationSelector:[{key:k.AdminOrganizationSelector.type,value:k.AdminOrganizationSelector.name}]});class Q{constructor(e,n){I(this,"componentId");I(this,"viewModelId");I(this,"eventsEditorUtils");I(this,"formSchemaUtils");I(this,"formMetadataConverter");I(this,"designViewModelUtils");I(this,"designViewModelField");I(this,"controlCreatorUtils");I(this,"designerHostService");I(this,"metadataService",null);I(this,"propertyConfig",{type:"object",categories:{}});var s;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService}setDesignViewModelField(e){const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const s=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=s.fields.find(d=>d.id===n)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){var n=this;return this.setDesignViewModelField(e),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",data:pe.getEditorTypesByMDataType(n.designViewModelField.type.name)}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"}},setPropertyRelates(s,d){if(s)switch(s&&s.propertyID){case"type":{n.changeControlType(e,s);break}}}}}changeControlType(e,n){var y,T,p,c,f;const s=n.propertyValue,d=this.formSchemaUtils.getComponentById(this.componentId);let g=this.getControlParentContainer(e.id,d);if(!g)return;const b=g.contents.findIndex(a=>a.id===e.id),P=g.contents[b];let M;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),M=this.controlCreatorUtils.setFormFieldProperty("Form",this.designViewModelField,null,s)),Object.assign(M,{id:P.id,appearance:P.appearance,size:P.size,label:P.label}),Object.assign(M.editor,{isTextArea:M.isTextArea&&P.isTextArea,type:s||"",placeHolder:(y=P.editor)==null?void 0:y.placeHolder,holdPlace:(T=P.editor)==null?void 0:T.holdPlace,readonly:(p=P.editor)==null?void 0:p.readonly,require:(c=P.editor)==null?void 0:c.require,visible:(f=P.editor)==null?void 0:f.visible}),g.contents.splice(b,1,M)}getAppearanceConfig(e=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getControlParentContainer(e,n){let s;if(!n||!n.contents||n.contents.length===0)return null;for(const d of n.contents){if(d.id===e)return s=n,n;if(s=this.getControlParentContainer(e,d),s)return s}}getBindingFieldEditorOptions(e){const n=this.formSchemaUtils.getFormMetadataBasicInfo();return{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:e,formBasicInfo:n},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],beforeOpenDialog:s=>{const d=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);s.instance.loadData(d)},textField:"bindingField"}}}class Oe extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,d=s.eventsEditorUtils.formProperties(e,s.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:d}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(g,b){const P=g.propertyValue;delete e[s.viewModelId],P&&(P.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,P.events,P))}}}}function Le(r,e){function n(g){return!1}function s(){return!0}function d(g){return new Oe(g,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:s,getPropsConfig:d}}class de{constructor(e){I(this,"id","");I(this,"class","btn-secondary");I(this,"icon","");I(this,"groupId","");I(this,"order",-1);I(this,"asDropDownTop",!1);I(this,"text","");I(this,"visible",!0);I(this,"responsed",!1);I(this,"tipsEnable",!1);I(this,"tipsText","");I(this,"width",0);I(this,"onClick",()=>{});I(this,"options");this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(s=>n.indexOf(s)>-1).forEach(s=>{this[s]=e[s]})}get enable(){return Object.keys(this.options).indexOf("enable")>-1?this.options.enable:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class _e extends de{constructor(e){super(e)}}function ue(){function r(e){const n=[];return e.reduce((s,d)=>(d.children&&d.children.length>0?s.push(new q(d)):s.push(new _e(d)),s),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:Ue}=ue();class q extends de{constructor(n){super(n);I(this,"placement","");I(this,"dropdownClass","");I(this,"menuClass","");I(this,"split",!1);I(this,"children",[]);I(this,"expanded",!1);const s=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(d=>s.indexOf(d)>-1).forEach(d=>{this[d]=n[d]}),n.children&&n.children.length&&(this.children=Ue(n.children))}}const fe=new Map([["buttons","items"]]);function me(r,e,n){return e}const We={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar.schema.json",title:"response-toolbar",description:"A Farris Toolbar Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}},required:["id","type","buttons"]},te={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},text:{description:"The items of Response Toolbar.",type:"string",default:"新增"},icon:{description:"The icon of response toolbar item.",type:"string",default:""},onClick:{description:"The event of response toolbar item.",type:"string",default:""}},required:["id","type","text"]},ge={title:"response-toolbar-item",description:"A Farris Container Component",type:"object",categories:{basic:{title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}},ne={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};Z[te.title]=te,le[ge.title]=ge;const oe=J(ne,We,fe,me),ye={id:{type:String,default:""},items:{type:Object,default:{}},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""}},He=J(ye,te,fe,me);function he(){function r(n){const s={"f-icon":!0};if(n.icon){const d=n.icon.trim().split(" ");d&&d.length&&d.reduce((g,b)=>(g[b]=!0,g),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function qe(r){function e(p){const c={"dropdown-menu":!0};if(p.class){const f=p.menuClass.split(" ");f&&f.length&&f.reduce((a,C)=>(a[C]=!0,a),c)}return c}function n(p){const c={disabled:!p.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},f=p.dropdownClass.split(" ");return f&&f.length&&f.reduce((a,C)=>(a[C]=!0,a),c),c}function s(p){const c={disabled:!p.enable,"dropdown-item":!0,"f-rt-btn":!0},f=p.class.split(" ");return f&&f.length&&f.reduce((a,C)=>(a[C]=!0,a),c),c}let d;const g=new Map;function b(p,c,f){var C;((C=p.target)==null?void 0:C.id)===c.id&&p.stopPropagation();const a=f?f.id:"__top_item__";if(c.children&&c.children.length&&(c.expanded=!c.expanded,c.expanded?g.set(a,c):g.delete(a)),g.has(a)&&g.get(a)!==c){const w=g.get(a);w&&(w.expanded=!1)}}function P(p,c){document.body.click(),c.enable&&c.onClick(p,c.id)}function M(p){return p.children.map(c=>c.children&&c.children.length?t.createVNode("li",{class:n(c),id:c.id,onClick:f=>c.enable&&b(f,c,p)},[t.createVNode("span",{id:c.id,class:s(c),onMouseover:f=>c.enable&&b(f,c,p)},[c.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),d(c,c)]):t.createVNode("li",{class:s(c),id:c.id,onClick:f=>P(f,c),onMouseover:f=>c.enable&&b(f,c,p)},[r.shouldShowIcon(c)&&t.createVNode("i",{class:r.iconClass(c)},null),c.text]))}function y(p,c,f){const a={display:p.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},C=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=c,N=w==null?void 0:w.getClientRects();if(w&&N&&N.length){const{top:A,width:S,left:E,right:F,height:v}=N[0],m=Math.ceil(v+A);a.top=`${m}px`,a.left=`${E}px`;const D=p.id+"_menu",V=c?c.querySelector("#"+D):null;if(V){a.display==="block"&&(V.style.display="block");const u=V.getBoundingClientRect();if(f){a.top=`${A-6}px`;const i=Math.ceil(S+E);a.left=`${i}px`}C-E-S<u.width&&(a.left=`${(f?E:F)-u.width}px`)}}return a}d=function(p,c){var w,N;const f=t.getCurrentInstance(),a=c?c.id:p.id,C=(N=(w=f==null?void 0:f.exposed)==null?void 0:w.elementRef.value)==null?void 0:N.querySelector("#"+a);return t.createVNode("ul",{class:e(p),style:y(p,C,c),id:p.id+"_menu"},[M(p)])};function T(){g.forEach(p=>{p.expanded=!1}),g.clear()}return{renderDropdownMenu:d,clearAllDropDownMenu:T}}function ze(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:d}=qe(e);function g(T){const p={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left"},c=T.dropdownClass.split(" ");return c&&c.length&&c.reduce((f,a)=>(f[a]=!0,f),p),p}function b(T){const p={btn:!0,disabled:!T.enable,"f-rt-btn":!0,"btn-icontext":!!(T.icon&&T.icon.trim())};if(T.class){const c=T.class.split(" ");c&&c.length&&c.reduce((f,a)=>(f[a]=!0,f),p)}return p}function P(T,p){T.stopPropagation();const c=p.expanded;document.body.click(),p.expanded=!c}function M(T){return t.createVNode("div",{id:T.id,class:g(T)},[t.createVNode("div",{class:b(T),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:p=>T.enable&&P(p,T)},[e.shouldShowIcon(T)&&t.createVNode("i",{class:e.iconClass(T)},null),t.createVNode("span",null,[T.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),s(T)])}function y(){d()}return{renderToolbarDropdown:M,clearAllDropDown:y}}const{buildResponseToolbarItems:be}=ue(),X=t.defineComponent({name:"FResponseToolbar",props:ne,emits:[],setup(r,e){const n=t.ref(be(r.items)),s=t.ref(),d=t.ref(),g=t.ref(),b=t.ref(r.alignment),P={id:"__more_buttons__",text:"更多"},M=t.ref(new q(P)),y=he(),T=t.computed(()=>M.value.children.length>0),p=t.computed(()=>{const m={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};if(r.customClass){const D=r.customClass.split(" ");D&&D.length&&D.reduce((V,u)=>(V[u]=!0,V),m)}return m}),c=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":b.value==="right","justify-content-start":b.value==="left"})),{renderToolbarDropdown:f,clearAllDropDown:a}=ze(r,y);function C(){n.value.filter(m=>m.children&&m.children.length>0).forEach(m=>{m.expanded=!1}),M.value.expanded=!1,a()}function w(m){const D={btn:!0,"f-rt-btn":!0,"f-btn-ml":b.value==="right","f-btn-mr":b.value==="left","btn-icontext":!!(m.icon&&m.icon.trim())};if(m.class){const V=m.class.split(" ");V&&V.length&&V.reduce((u,i)=>(u[i]=!0,u),D)}return D}function N(m,D){document.body.click(),D.onClick(m,D.id)}function A(m){return t.createVNode("button",{type:"button",class:w(m),id:m.id,disabled:!m.enable,onClick:D=>N(D,m)},[y.shouldShowIcon(m)&&t.createVNode("i",{class:y.iconClass(m)},null),m.text])}const S=new Map,E=[];function F(m){const D=g.value;let V=m;const u=Array.from(D.children),i=u[u.length-1].id==="__more_buttons__"?u[u.length-1]:null;if(i){const x=i.computedStyleMap().get("margin-left"),B=i.computedStyleMap().get("margin-right"),L=(x?x.value:0)+i.getBoundingClientRect().width+(B?B.value:0);V-=L}const o=u.filter(x=>x.id!=="__more_buttons__");for(const x of o){const B=x.computedStyleMap().get("margin-left"),L=x.computedStyleMap().get("margin-right"),R=(B?B.value:0)+x.getBoundingClientRect().width+(L?L.value:0);V<R?(S.set(x.id,!0),E.push({id:x.id,width:R})):V-=R}if(E.length)for(let x=E.length-1;x>=0;x--){const B=E[x].width;if(V>=B)V-=B,S.delete(E[x].id),E.pop();else break}const l=Object.assign({},M.value);l.children=[];const h=new q(l),j=n.value.reduce((x,B)=>(S.has(B.id)&&h.children.push(B),B.visible=!S.has(B.id),x.push(B),x),[]);M.value=h,n.value=j}const v=new ResizeObserver(m=>{if(m.length){const V=m[0].contentRect.width,i=g.value.getBoundingClientRect().width;(V<i||E.length)&&(F(V),C())}});return t.onMounted(()=>{const m=d.value;v.observe(m),document.body.addEventListener("click",C),document.body.addEventListener("wheel",C)}),t.onUnmounted(()=>{v.disconnect(),document.body.removeEventListener("click",C),document.body.removeEventListener("wheel",C)}),t.watch(()=>r.items,()=>{n.value=be(r.items)},{deep:!0}),e.expose({elementRef:s}),()=>t.createVNode("div",{class:p.value,ref:s},[t.createVNode("div",{ref:d,class:c.value},[t.createVNode("div",{ref:g,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.filter(m=>m.visible).map(m=>m.children&&m.children.length>0?f(m):A(m)),T.value&&f(M.value)])])])}});function Ge(r,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function d(){s&&s()}function g(i){const o={"dropdown-menu":!0};if(i.class){const l=i.menuClass.split(" ");l&&l.length&&l.reduce((h,j)=>(h[j]=!0,h),o)}return o}function b(i){const o={disabled:!i.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},l=i.dropdownClass.split(" ");return l&&l.length&&l.reduce((h,j)=>(h[j]=!0,h),o),o}function P(i){const o={disabled:!i.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},l=i.class.split(" ");return l&&l.length&&l.reduce((h,j)=>(h[j]=!0,h),o),o}let M;const y=new Map;function T(i,o,l){var j;((j=i.target)==null?void 0:j.id)===o.id&&i.stopPropagation();const h=l?l.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?y.set(h,o):y.delete(h)),y.has(h)&&y.get(h)!==o){const x=y.get(h);x&&(x.expanded=!1)}}function p(i){i&&(i.stopPropagation(),i.preventDefault())}function c(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const i=document.getElementsByClassName("dgComponentSelected");Array.from(i).forEach(o=>o.classList.remove("dgComponentSelected"))}function f(i){i.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function a(i){const{buttons:o=[]}=n.schema;let l=[];o.forEach(x=>{l=l.concat(x.children||[])});const h=l.findIndex(x=>x.id===i),j=h===-1?null:l[h];return{index:h,item:j}}function C(i){const{buttons:o=[]}=n.schema,l=o.findIndex(j=>j.id===i),h=l===-1?null:o[l];return{index:l,item:h}}function w(i){var h;n.schema;const{index:o,item:l}=a(i);(h=n==null?void 0:n.setupContext)==null||h.emit("selectionChange",l==null?void 0:l.type,l)}const N=function(i){const{componentType:o}=i,l=U(o,i),h=o.toLowerCase().replace("-","_");return l&&!l.id&&l.type===o&&(l.id=`${h}_${Math.random().toString().slice(2,6)}`),l},A=function(){const i={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return N(i)};function S(i,o){p(i),c(),f(i),w(o.id)}function E(i,o,l){p(i);const h=o.id,j=l&&l.id,{buttons:x=[]}=n.schema;if(!j)return;const{index:B}=C(j);if(B===-1)return;const{index:L}=a(h);L!==-1&&(x[B].children.splice(L,1),d())}function F(i,o,l){p(i);const h=l&&l.id,{buttons:j=[]}=n.schema;if(!h)return;const{index:x}=C(h);if(x===-1)return;const B=A(),L=Object.assign({},B,{text:o.text});j[x].children.push(L),d()}function v(i,o,l){p(i);const h=l&&l.id,{buttons:j=[]}=n.schema;if(!h)return;const{index:x}=C(h);if(x===-1)return;const B=A(),L=Object.assign({},B,{text:"按钮"});j[x].children.push(L),d()}function m(i,o){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:l=>E(l,i,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:l=>F(l,i,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:l=>v(l,i,o)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增同级")])])])])}function D(i){return i.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:b(o),id:o.id,onClick:l=>o.enable&&T(l,o,i)},[t.createVNode("span",{id:o.id,class:P(o),onMouseover:l=>o.enable&&T(l,o,i)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),M(o,o)]):t.createVNode("li",{class:P(o),id:o.id,onClick:l=>S(l,o)},[m(o,i),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function V(i,o,l){const h={display:i.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},j=document.getElementsByTagName("body")[0].getClientRects()[0].width,x=o,B=x==null?void 0:x.getClientRects();if(x&&B&&B.length){const{top:L,width:R,left:$,right:_,height:W}=B[0],ie=Math.ceil(W+L);h.top=`${ie}px`,h.left=`${$}px`;const lt=i.id+"_menu",se=o?o.querySelector("#"+lt):null;if(se){h.display==="block"&&(se.style.display="block");const De=se.getBoundingClientRect();if(l){h.top=`${L-6}px`;const pt=Math.ceil(R+$);h.left=`${pt}px`}j-$-R<De.width&&(h.left=`${(l?$:_)-De.width}px`)}}return h}M=function(i,o){var x,B;const l=t.getCurrentInstance(),h=o?o.id:i.id,j=(B=(x=l==null?void 0:l.exposed)==null?void 0:x.elementRef.value)==null?void 0:B.querySelector("#"+h);return t.createVNode("ul",{class:g(i),style:V(i,j,o),id:i.id+"_menu"},[D(i)])};function u(){y.forEach(i=>{i.expanded=!1}),y.clear()}return{renderDropdownMenu:M,clearAllDropDownMenu:u}}function Qe(r,e,n){const s=t.ref(r.alignment),{renderDropdownMenu:d,clearAllDropDownMenu:g}=Ge(e,n),b=t.inject("design-item-context"),P=t.inject("toolbar-item-handler",()=>{});function M(){P&&P()}function y(u){const i={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},o=u.dropdownClass.split(" ");return o&&o.length&&o.reduce((l,h)=>(l[h]=!0,l),i),i}function T(u){const i={btn:!0,disabled:!u.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(u.icon&&u.icon.trim())};if(u.class){const o=u.class.split(" ");o&&o.length&&o.reduce((l,h)=>(l[h]=!0,l),i)}return i}function p(u){u&&(u.stopPropagation(),u.preventDefault())}function c(u,i){p(u);const o=i.expanded;document.body.click(),i.expanded=!o}const f=function(u){const{componentType:i}=u,o=U(i,u),l=i.toLowerCase().replace("-","_");return o&&!o.id&&o.type===i&&(o.id=`${l}_${Math.random().toString().slice(2,6)}`),o},a=function(){const u={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return f(u)};function C(u){const i=b.schema.buttons||b.schema.contents,o=i==null?void 0:i.findIndex(h=>h.id===u),l=o===-1?null:i[o];return{index:o,toolbarItem:l}}function w(u,i){var B;const{index:o,toolbarItem:l}=C(i);if(o===-1)return;const h=l.text||"按钮",j=a(),x=Object.assign({},j,{text:h});(B=b.schema.buttons)==null||B.push(x),M()}function N(u,i){const{index:o,toolbarItem:l}=C(i);if(o===-1)return;const h=l.text||"按钮",j=a(),x=Object.assign({},j,{text:h}),B=b.schema.buttons[o].children||[];B.push(x),b.schema.buttons[o].children=B,M()}function A(u,i){const o=b.schema.buttons||b.schema.contents,l=o==null?void 0:o.findIndex(h=>h.id===i);l!==-1&&(o.splice(l,1),M())}function S(u){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:i=>A(i,u)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:i=>w(i,u)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:i=>N(i,u)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增子级")])])])])}function E(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(i=>i.classList.remove("dgComponentFocused"));const u=document.getElementsByClassName("dgComponentSelected");Array.from(u).forEach(i=>i.classList.remove("dgComponentSelected"))}function F(u){u.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function v(u){var h;const i=b.schema.buttons||b.schema.contents,o=i==null?void 0:i.findIndex(j=>j.id===u);if(o===-1)return;const l=i[o];(h=b==null?void 0:b.setupContext)==null||h.emit("selectionChange","response-toolbar-item",l)}function m(u,i){p(u),E(),F(u),p(u),c(u,i),v(i.id)}function D(u){return t.createVNode("div",{id:u.id,class:y(u)},[t.createVNode("div",{class:T(u),style:"display: flex;padding-right: 0.1rem;",onClick:i=>u.enable&&m(i,u)},[S(u.id),e.shouldShowIcon(u)&&t.createVNode("i",{class:e.iconClass(u)},null),t.createVNode("span",null,[u.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),d(u)])}function V(){g()}return{renderToolbarDropdown:D,clearAllDropDown:V}}function Xe(){function r(e){var d,g;if(!e)return!1;const n=((d=e.targetContainer)==null?void 0:d.componentInstance)&&e.targetContainer.componentInstance.value;if(!n)return!1;const s=(g=n.schema.appearance)==null?void 0:g.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const b=n.schema.type,P=(b==="response-form"||b==="content-container")&&s&&s.includes("farris-form");if(n.schema.type!=="response-layout-item"&&!P)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:r}}const Ye={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dragging-rules.schema.json",title:"Dragging Rules",description:"The rules of designer canvas",type:"object",properties:{"f-page":{description:"The root class of page designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-page-header":{description:"The class of page header designed by farris.",type:"string"},"f-page-main":{description:"The class of page body designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-like-card":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-form":{description:"The class of form component which has a hierarchical structure of component -> section -> respnse-form.",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{contents:{type:"object",properties:{"f-form-layout":{description:"The class of reponse form",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}},"f-struct-wrapper":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-tabs":{description:"The class of section which has wrapped sub-grid tabs.",type:"object",properties:{contents:{type:"object",properties:{"f-tabs-in-card":{description:"The class of tabs which contains sub-grid.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-card":{description:"The class of sub-grid component",type:"object",properties:{contents:{type:"object",properties:{"f-grid-is-sub":{description:"The class of sub-grid",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-in-main":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"object",const:{allOf:[{sibling:0,parent:{"f-page-main":!0}}]}}}}}},"f-struct-data-grid":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"object",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-main-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav-extend":{description:"",type:"object"},"f-section-in-nav":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}}}},"f-page-content-main":{description:"",type:"object",properties:{}}}}}},"f-page-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-list-nav":{description:"",type:"object"},"f-list-nav-left":{description:"",type:"object"}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}},"f-page-content-main":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"object",const:{anyOf:[{children:0},{children:{length:{not:1},"f-struct-like-card":!0}},{children:{"scroll-spy":!1,"f-page-content":!1,"f-struct-like-card":!1}}]}},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-footer":{description:"The class of page footer designed by farris.",type:"string"}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-is-managelist":{description:"The root class of mangement list page.",type:"string"},"f-page-card":{description:"",type:"object"},"f-page-is-mainsubcard":{description:"",type:"object"}},required:[]},re=new Map;function Ce(){function r(a,C,w,N){var A;if(typeof w=="number")return((A=N[a])==null?void 0:A.length)===w;if(typeof w=="object"){const S=Object.keys(w)[0],E=w[S];if(S==="not")return Number(N[a].length)!==Number(E);if(S==="moreThan")return Number(N[a].length)>=Number(E);if(S==="lessThan")return Number(N[a].length)<=Number(E)}return!1}function e(a,C,w,N){return typeof w=="boolean"?N.childrenClassList.includes(C)===!!w:!1}function n(a,C,w,N){return typeof w=="boolean"?N.parentClassList.includes(C)===!!w:!1}function s(a,C,w,N){return typeof w=="boolean"?N.parentClassList.includes(C)===!!w:!1}const d=new Map([["length",r],["hasChildren",e],["hasSibling",s],["hasParent",n]]);function g(a,C){const w=a;return typeof C=="number"?[{target:w,operator:"length",param:null,value:Number(C)}]:typeof C=="object"?Object.keys(C).map(N=>{if(N==="length")return{target:w,operator:"length",param:null,value:C[N]};const A=N,S=C[N];return{target:w,operator:a==="children"?"hasChildren":a==="parent"?"hasParent":"hasSibling",param:A,value:S}}):[]}function b(a,C){if(d.has(a.operator)){const w=d.get(a.operator);return w&&w(a.target,a.param,a.value,C)||!1}return!1}function P(a,C){return Object.keys(a).reduce((S,E)=>{const F=g(E,a[E]);return S.push(...F),S},[]).reduce((S,E)=>S&&b(E,C),!0)}function M(a,C){const w=Object.keys(a),N=w.includes("allOf"),A=w.includes("anyOf"),S=N||A,v=(S?a[S?N?"allOf":"anyOf":"allOf"]:[a]).map(D=>P(D,C));return N?!v.includes(!1):v.includes(!0)}function y(a,C){const w=a.const;return w?typeof w=="boolean"?w:typeof w=="object"?M(w,C):!1:!1}function T(a){return C=>{const w={canAccept:!0,fixed:!1,hidePadding:!1};return a&&a.properties&&Object.keys(a.properties).reduce((N,A)=>{const S=a.properties[A];return N[A]=y(S,C),N},w),w}}function p(a,C,w){if(C.type==="object"&&C.properties){const{rules:N,contents:A}=C.properties;w.set(a,T(N)),A&&Object.keys(A.properties).forEach(S=>p(S,A.properties[S],w))}}function c(){const{properties:a}=Ye;Object.keys(a).forEach(C=>{p(C,a[C],re)})}function f(a,C){const w={canAccept:!0,fixed:!1,hidePadding:!0};return re.has(a)?re.get(a)(C):w}return c(),{getRuleValue:f}}class Ze extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}}}}}getBehaviorProperties(e){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},buttons:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function Ke(r,e,n,s){const d=Ce(),g=t.ref(!1),b=t.ref(!1);let P=!0,M=!1,y;function T(v){return y&&y.componentClassList&&y.componentClassList.includes("f-form-layout")&&y.componentClassList.includes("farris-form")?v.sourceType==="control"&&v.controlCategory==="input"||v.sourceType==="move"&&v.controlType==="form-group":!0}function p(v){return!Xe().basalDragulaRuleForContainer(v)||!P||!T(v),!1}function c(){g.value=!1,b.value=!1;const v=r,m=v.appearance&&v.appearance.class||"",D=m.split(" "),V=v.buttons||[],u=V.length?V[0]:null,i=u&&u.appearance?u.appearance.class:"",o=i?i.split(" "):[],l=V.length?V.reduce(($,_)=>{const W=_&&_.appearance?_.appearance.class:"",ie=W?W.split(" "):[];return $.push(...ie),$},[]):[],h=n==null?void 0:n.schema,j=h&&h.appearance&&h.appearance.class||"",x=j?j.split(" "):[];y={componentClass:m,componentClassList:D,childContents:V,firstChildContent:u,firstChildClass:i,firstChildClassList:o,parent:h,parentClass:j,parentClassList:x,children:V,childrenClassList:l};const{canAccept:B,fixed:L,hidePadding:R}=d.getRuleValue(D[0],y);return P=B,M=R,!0}function f(v){}function a(){return r.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function C(v,m){return m.text=v.label,m}function w(v,m,D){const V=r;if((V.appearance&&V.appearance.class||"").split(" ").includes("f-form-layout")){const o=String(v.innerText),l=U("form-group");return l.editor=D,l.label=o,l}return D}function N(){return!1}function A(){return!1}function S(){return!0}function E(){return M}function F(v){return new Ze(v,e).getPropertyConfig(r)}return{canAccepts:p,checkCanAddComponent:S,checkCanDeleteComponent:A,checkCanMoveComponent:N,getStyles:a,hideNestedPaddingInDesginerView:E,onAcceptNewChildElement:w,onAcceptMovedChildElement:f,onResolveNewComponentSchema:C,resolveComponentContext:c,getPropsConfig:F,triggerBelongedComponentToMoveWhenMoved:g,triggerBelongedComponentToDeleteWhenDeleted:b}}const Je={id:{type:String,default:""},componentId:{type:String,default:""},canAdd:{type:Boolean,default:!1},canDelete:{type:Boolean,default:!1},canMove:{type:Boolean,default:!1},contentKey:{type:String,default:"contents"},childLabel:{type:String,default:""},childType:{type:String,default:""},modelValue:{type:Object}},Y=t.ref(0);function et(r,e){const n=e.getBoundingClientRect(),s=r.getBoundingClientRect(),d=s.top>=n.top,g=s.top<=n.bottom;return d&&g}function tt(r){if(!r)return;let e;if(r.className.includes("dgComponentSelected")?e=r:e=r.querySelector(".dgComponentSelected"),!e)return;const n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;const s=e.querySelector(".component-btn-group");if(s){if(!et(e,r)){s.style.display="none";return}s.style.display="";const g=s.getBoundingClientRect(),b=s.querySelector("div");if(b){const P=b.getBoundingClientRect();b.style.top=g.top+"px",b.style.left=g.left-P.width+"px"}}}function nt(r,e,n){var F;function s(){}const d="",g=t.ref();function b(){return!0}function P(){return!1}function M(){return!0}function y(){return!0}function T(){return!0}function p(v){if(!v||!v.value)return null;const m=t.ref(v==null?void 0:v.value.parent),D=p(m);return D||null}function c(v=e){const{componentInstance:m,designerItemElementRef:D}=v;return!m||!m.value?null:m.value.canMove||m.value.canAdd||m.value.canDelete?D:c(v.parent)}function f(v){return!!n}function a(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function C(){}function w(v,m){}function N(v){const{componentType:m}=v;let D=U(m,v);const V=m.toLowerCase().replace("-","_");return D&&!D.id&&D.type===m&&(D.id=`${V}_${Math.random().toString().slice(2,6)}`),D}function A(v,m){const D=String(v.getAttribute("data-controltype")),V=v.getAttribute("data-feature"),u=V?JSON.parse(V):{};u.parentComponentInstance=g.value;let i=U(D,u);const o=D.toLowerCase().replace("-","_");return i&&!i.id&&i.type===D&&(i.id=`${o}_${Math.random().toString().slice(2,6)}`),i}function S(v){}function E(){return[]}return g.value={canMove:b(),canSelectParent:P(),canAdd:y(),canDelete:M(),canNested:!T(),contents:[],elementRef:r,parent:(F=e.parent)==null?void 0:F.componentInstance,schema:e.schema,styles:d,canAccepts:f,getBelongedComponentInstance:p,getDraggableDesignItemElement:c,getDraggingDisplayText:a,getPropConfig:E,getDragScopeElement:C,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:S,addNewChildComponentSchema:N,updateDragAndDropRules:s,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},g}const ve=t.defineComponent({name:"FDesignerInnerItem",props:Je,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),s=t.ref(r.canAdd),d=t.ref(r.canDelete),g=t.ref(!1),b=t.ref(r.contentKey),P=t.ref(r.childType),M=t.ref(r.childLabel),y=t.ref(r.modelValue),T=t.ref(""),p=t.ref(),c=t.inject("canvas-dragula"),f=t.ref(),a=t.inject("design-item-context"),C={designerItemElementRef:p,componentInstance:f,schema:y.value,parent:a,setupContext:e};t.provide("design-item-context",C);const w=t.computed(()=>({"farris-component":!0,"position-relative":n.value||d.value,"farris-nested":g.value,"can-move":n.value,"d-none":p.value&&p.value.classList.contains("d-none")})),N=t.computed(()=>{const o={};return T.value&&T.value.split(";").reduce((l,h)=>{const[j,x]=h.split(":");return j&&(l[j]=x),l},o),o});function A(o,l){if(a&&a.schema[b.value]){const h=a.schema[b.value].findIndex(j=>j.id===l.id);if(h>-1){const j=a.schema[b.value].length,x=a.schema[b.value][h%j];a.designerItemElementRef.value.querySelector(`#${x.id}-design-item`),a.schema[b.value].splice(h,1),a.componentInstance.value.updateDragAndDropRules(),Y.value++,e.emit("removeComponent")}}}function S(o){if(f.value.addNewChildComponentSchema){const l={componentType:P.value,label:M.value,parentComponentInstance:f.value,targetPosition:-1},h=f.value.addNewChildComponentSchema(l);y.value[b.value].push(h),e.emit("addComponent")}}function E(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{S()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function F(o){return d.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(l=>A(l,o),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function v(){return n.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function m(o){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[E(),v(),F(o)])])}t.watch(()=>r.modelValue,o=>{y.value=o,C.schema=o});function D(o){const l=o.target;tt(l)}function V(){var o,l;(l=(o=y.value)==null?void 0:o.contents)!=null&&l.length&&p.value&&p.value.addEventListener("scroll",D)}function u(){const o=p.value,l=t.ref(o.children[1]);return nt(l,C).value}t.onMounted(()=>{if(p.value){const o=p.value.querySelector(`[data-dragref='${y.value.id}-container']`);f.value=o&&o.componentInstance?o.componentInstance.value:u(),c&&o&&c.attachComponents(o,y.value),g.value=f.value.canNested!==void 0?f.value.canNested:g.value,s.value=f.value.canAdd!==void 0?f.value.canAdd:s.value,d.value=f.value.canDelete!==void 0?f.value.canDelete:d.value,n.value=f.value.canMove!==void 0?f.value.canMove:n.value,T.value=f.value.styles||"",p.value&&(p.value.componentInstance=f,p.value.designItemContext=C)}V(),Y.value++}),t.onBeforeUnmount(()=>{p.value&&p.value.removeEventListener("scroll",D)});function i(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(h=>h.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());const l=p.value;if(l){const h=document.getElementsByClassName("dgComponentSelected");if(!(h&&h.length===1&&h[0]===p.value)){Array.from(h).forEach(B=>B.classList.remove("dgComponentSelected")),l.classList.add("dgComponentFocused"),e.emit("selectionChange",y.value.type,y.value,r.componentId,f.value);const x=f.value.getDraggableDesignItemElement(C);x&&x.value&&x.value.classList.add("dgComponentSelected")}}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:p,class:w.value,style:N.value,onClick:i},[m(y.value),e.slots.default&&e.slots.default()])}});class ot extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(n,s){}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}];var s=this;const d=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),g={};g[s.viewModelId]={type:"events-editor",editor:{initialData:d}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:g,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,P){const M=b.propertyValue;delete e[s.viewModelId],M&&(M.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,M.events,M))}}}}class rt extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,d=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),g={};g[s.viewModelId]={type:"events-editor",editor:{initialData:d}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:g,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,P){const M=b.propertyValue;delete e[s.viewModelId],M&&(M.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,M.events,M))}}}}function it(r,e){Ce();const n=t.ref(!1),s=t.ref(!1);let d=!1,g=!1;function b(w){return!1}function P(w){}function M(){return""}function y(w,N){return N.text=w.label,N}function T(w,N,A){const S=r.schema;if((S.appearance&&S.appearance.class||"").split(" ").includes("f-form-layout")){const v=String(w.innerText),m=U("form-group");return m.editor=A,m.label=v,m}return A}function p(){return!1}function c(){return!g}function f(){return!1}function a(){return d}function C(w){let N;switch(r.schema.type){case"tab-toolbar-item":N=new ot(w,e);break;default:N=new rt(w,e)}return N.getPropertyConfig(r.schema)}return{canAccepts:b,checkCanAddComponent:f,checkCanDeleteComponent:c,checkCanMoveComponent:p,getStyles:M,hideNestedPaddingInDesginerView:a,onAcceptNewChildElement:T,onAcceptMovedChildElement:P,onResolveNewComponentSchema:y,getPropsConfig:C,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:s}}const we=t.defineComponent({name:"FResponseToolbarItemDesign",props:ye,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),s={id:"__more_buttons__",text:"More"},d=t.ref(new q(s));t.computed(()=>d.value.children.length>0);const g=t.ref(),b=t.inject("designer-host-service"),P=t.inject("design-item-context"),M=it(P,b),y=ae.useDesignerInnerComponent(g,P,M);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{g.value.componentInstance=y}),e.expose(y.value);function T(){const f={"f-icon":!0};if(r.icon){const a=r.icon.trim().split(" ");a&&a.length&&a.reduce((C,w)=>(C[w]=!0,C),f)}return f}function p(){return!!(r.icon&&r.icon.trim())}function c(){const f={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(r.icon&&r.icon.trim())};if(r.class){const a=r.class.split(" ");a&&a.length&&a.reduce((C,w)=>(C[w]=!0,C),f)}return f}return t.onMounted(()=>{}),t.onUnmounted(()=>{}),()=>t.createVNode("div",{ref:g,"data-dragref":`${P.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:c(),id:r.id},[p()&&t.createVNode("i",{class:T()},null),r.text])])}}),Te=t.defineComponent({name:"FResponseToolbarDesign",props:ne,emits:["Click"],setup(r,e){const n=t.ref(r.items);let s=new Array(n.value.length).fill(t.ref());const d=t.ref(),g=t.ref(),b=t.ref(r.alignment),P={id:"__more_buttons__",text:"More"},M=t.ref(new q(P)),y=he();t.computed(()=>M.value.children.length>0);const T=t.ref(),p=t.inject("designer-host-service"),c=t.inject("design-item-context"),f=Ke(c.schema,p,c),a=ae.useDesignerInnerComponent(T,c,f);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{T.value.componentInstance=a}),e.expose(a.value);const C=t.computed(()=>({"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0})),w=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":b.value==="right","justify-content-start":b.value==="left"})),{renderToolbarDropdown:N,clearAllDropDown:A}=Qe(r,y,a);function S(){n.value.filter(u=>u.children&&u.children.length>0).forEach(u=>{u.expanded=!1}),M.value.expanded=!1,A()}const E=new Map,F=[];function v(u){const i=g.value;let o=u;const l=Array.from(i.children),h=l[l.length-1].id==="__more_buttons__"?l[l.length-1]:null;if(h){const R=h.computedStyleMap().get("margin-left"),$=h.computedStyleMap().get("margin-right"),_=(R?R.value:0)+h.getBoundingClientRect().width+($?$.value:0);o-=_}const j=l.filter(R=>R.id!=="__more_buttons__");for(const R of j){const $=R.computedStyleMap().get("margin-left"),_=R.computedStyleMap().get("margin-right"),W=($?$.value:0)+R.getBoundingClientRect().width+(_?_.value:0);o<W?(E.set(R.id,!0),F.push({id:R.id,width:W})):o-=W}if(F.length)for(let R=F.length-1;R>=0;R--){const $=F[R].width;if(o>=$)o-=$,E.delete(F[R].id),F.pop();else break}const x=Object.assign({},M.value);x.children=[];const B=new q(x),L=n.value.reduce((R,$)=>(E.has($.id)&&B.children.push($),$.visible=!E.has($.id),R.push($),R),[]);M.value=B,n.value=L}const m=new ResizeObserver(u=>{if(u.length){const o=u[0].contentRect.width,h=g.value.getBoundingClientRect().width;(o<h||F.length)&&v(o)}});t.onMounted(()=>{const u=d.value;m.observe(u),document.body.addEventListener("click",S)}),t.onUnmounted(()=>{m.disconnect(),document.body.removeEventListener("click",S)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,u=>{s=new Array(n.value.length).fill(t.ref())});function D(u,i,o,l){c&&c.setupContext&&c.setupContext.emit("selectionChange",u,i,o,l)}function V(){const u=g.value.querySelector(".dgComponentFocused.dgComponentSelected");u==null||u.classList.remove("dgComponentSelected"),u==null||u.classList.remove("dgComponentFocused")}return()=>t.createVNode("div",{ref:T,"data-dragref":`${c.schema.id}-container`,class:C.value},[t.createVNode("div",{ref:d,class:w.value},[t.createVNode("div",{ref:g,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((u,i)=>t.createVNode(ve,{ref:s[i],class:"p-0 display-inline-block",modelValue:u,"onUpdate:modelValue":o=>u=o,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:u.id,id:u.id,style:"padding:0 !important;display:inline-block",onSelectionChange:D,onRemoveComponent:V},{default:()=>[t.createVNode(we,{id:u.id,disable:u.disable,text:u.text,icon:u.icon},null)]}))])])])}}),Se=oe;X.register=(r,e,n)=>{r["response-toolbar"]=X,e["response-toolbar"]=oe},X.registerDesigner=(r,e,n)=>{r["response-toolbar"]=Te,e["response-toolbar"]=oe,r["response-toolbar-item"]=we,e["response-toolbar-item"]=He},Ne.withInstall(X);const st={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},Pe=t.defineComponent({name:"FDesignerTemplateItem",props:st,emits:["selectionChange"],setup(r,e){const n=t.ref(),s=t.computed(()=>({"farris-component":!0}));function d(g){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(P=>P.classList.remove("dgComponentFocused")),g&&(g.preventDefault(),g.stopPropagation());const b=n.value;if(b){const P=document.getElementsByClassName("dgComponentSelected");P&&P.length===1&&P[0]===n.value||(Array.from(P).forEach(y=>y.classList.remove("dgComponentSelected")),b.classList.add("dgComponentFocused"))}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:s.value,onClick:d},[e.slots.default&&e.slots.default()])}}),at=t.defineComponent({name:"FPageHeaderDesign",props:z,emits:["Click"],setup(r,e){const n=t.ref(),s=t.inject("designer-host-service"),d=t.inject("design-item-context"),g=Le(d.schema,s),b=$e(n,d,g),P=t.ref(d.schema.toolbar||{type:"response-toolbar",buttons:[]}),M=t.ref(Se(P.value));t.onMounted(()=>{n.value.componentInstance=b}),t.watch(()=>d.schema.toolbar,()=>{P.value=d.schema.toolbar||{type:"response-toolbar",buttons:[]},M.value=Se(P.value)},{deep:!0});const y=t.computed(()=>[...M.value.items]);function T(p,c,f,a){d&&d.setupContext&&d.setupContext.emit("selectionChange",p,c,f,a)}return e.expose(b.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(Pe,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(Pe,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(ve,{class:"col-5",modelValue:P.value,"onUpdate:modelValue":p=>P.value=p,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:P.value.id,componentId:P.value.id,onSelectionChange:T},{default:()=>[t.createVNode(Te,{items:y.value},null)]})])])}}),ct={install(r){r.component(G.name,G)},register(r,e,n,s){r["page-header"]=G,e["page-header"]=ee},registerDesigner(r,e,n){r["page-header"]=at,e["page-header"]=ee}};O.PageHeader=G,O.default=ct,O.pageHeaderProps=z,O.propsResolver=ee,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function($,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("@farris/ui-vue/components/response-toolbar"),require("@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component"),require("@farris/ui-vue/components/common")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","@farris/ui-vue/components/response-toolbar","@farris/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component","@farris/ui-vue/components/common"],t):($=typeof globalThis<"u"?globalThis:$||self,t($["page-header"]={},$.Vue,$.LodashES,$.FResponseToolbar$1,$.useDesignerInnerComponent$1,$.common))})(this,function($,t,q,ke,ae,xe){"use strict";var ft=Object.defineProperty;var mt=($,t,q)=>t in $?ft($,t,{enumerable:!0,configurable:!0,writable:!0,value:q}):$[t]=q;var I=($,t,q)=>mt($,typeof t!="symbol"?t+"":t,q);const Z={},ce={};function K(r){const{properties:e,title:n}=r,s=Object.keys(e).reduce((d,f)=>(d[f]=e[f].type==="object"&&e[f].properties?K(e[f]):q.cloneDeep(e[f].default),d),{});return s.id=`${n}-${Date.now()}`,s}function U(r,e={}){const n=Z[r];if(n){let s=K(n);const d=ce[r];return s=d?d({getSchemaByType:U},s,e):s,s}return null}function Ne(r,e){const n=K(e);return Object.keys(r).reduce((s,d)=>(s[d]=r[d],s),n),n}function Ve(r,e){return Object.keys(r).filter(s=>r[s]!=null).reduce((s,d)=>{if(e.has(d)){const f=e.get(d);if(typeof f=="string")s[f]=r[d];else{const b=f(d,r[d],r);Object.assign(s,b)}}else s[d]=r[d];return s},{})}function je(r,e,n=new Map){const s=Ne(r,e);return Ve(s,n)}function Ee(r={}){function e(y,T,p,c){if(typeof p=="number")return c[y].length===p;if(typeof p=="object"){const m=Object.keys(p)[0],a=p[m];if(m==="not")return Number(c[y].length)!==Number(a);if(m==="moreThan")return Number(c[y].length)>=Number(a);if(m==="lessThan")return Number(c[y].length)<=Number(a)}return!1}function n(y,T,p,c){return c[y]&&c[y].propertyValue&&String(c[y].propertyValue.value)===String(p)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((y,T)=>(y.set(T,r[T]),y),s);function d(y,T){const p=y;return typeof T=="number"?[{target:p,operator:"length",param:null,value:Number(T)}]:typeof T=="boolean"?[{target:p,operator:"getProperty",param:y,value:!!T}]:typeof T=="object"?Object.keys(T).map(c=>{if(c==="length")return{target:p,operator:"length",param:null,value:T[c]};const m=c,a=T[c];return{target:p,operator:"getProperty",param:m,value:a}}):[]}function f(y){return Object.keys(y).reduce((p,c)=>{const m=d(c,y[c]);return p.push(...m),p},[])}function b(y,T){if(s.has(y.operator)){const p=s.get(y.operator);return p&&p(y.target,y.param,y.value,T)||!1}return!1}function P(y,T){return f(y).reduce((m,a)=>m&&b(a,T),!0)}function M(y,T){const p=Object.keys(y),c=p.includes("allOf"),m=p.includes("anyOf"),a=c||m,k=(a?y[a?c?"allOf":"anyOf":"allOf"]:[y]).map(S=>P(S,T));return c?!k.includes(!1):k.includes(!0)}return{parseValueSchema:M}}const N={Button:{type:"Button",name:"按钮",icon:"Button"},ButtonGroup:{type:"ButtonGroup",name:"按钮组",icon:"ButtonGroup"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"工具栏项",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},DisplayField:{type:"DisplayField",name:"标签",icon:"DisplayField"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},FlexLayout:{type:"FlexLayout",name:"弹性布局"},FlowLayout:{type:"FlowLayout",name:"流布局"},ResponseLayout:{type:"ResponseLayout",name:"布局容器",icon:"ResponseLayout3"},ResponseLayoutItem:{type:"ResponseLayoutItem",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},TreeGridField:{type:"TreeGridField",name:"树表格列"},FieldSet:{type:"FieldSet",name:"分组",icon:"FieldSet"},Form:{type:"Form",name:"卡片面板",icon:"Form"},QueryForm:{type:"QueryForm",name:"查询面板",icon:"Form"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},Panel:{type:"Panel",name:"面板",icon:"ContentContainer"},Module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},ExternalContainer:{type:"ExternalContainer",name:"外部容器",icon:"ContentContainer"},Image:{type:"Image",name:"图像",icon:"Image"},ImageUpload:{type:"ImageUpload",name:"图片上传",icon:"imageupload"},HiddenContainer:{type:"HiddenContainer",name:"隐藏区域",icon:"ContentContainer"},ModalContainer:{type:"ModalContainer",name:"弹窗容器",icon:"ContentContainer"},RouteContainer:{type:"RouteContainer",name:"路由区域",icon:"ContentContainer"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},Tag:{type:"Tag",name:"Tag",icon:"Tag"},Sidebar:{type:"Sidebar",name:"侧边栏",icon:"Sidebar"},HtmlTemplate:{type:"HtmlTemplate",name:"模版容器",icon:"HtmlTemplate"},ListView:{type:"ListView",name:"列表",icon:"ListView"},RichTextBox:{type:"RichTextBox",name:"富文本",icon:"RichTextBox"},TimeSpinner:{type:"TimeSpinner",name:"时间调节器",icon:"TimePicker"},TimePicker:{type:"TimePicker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},SectionToolbar:{type:"SectionToolbar",name:"分组面板工具栏"},SectionToolbarItem:{type:"SectionToolbarItem",name:"分组面板按钮"},QueryScheme:{type:"QueryScheme",name:"筛选方案",icon:"QueryScheme"},FormHeader:{type:"FormHeader",name:"翻页"},Splitter:{type:"Splitter",name:"分栏面板",icon:"Splitter"},SplitterPane:{type:"SplitterPane",name:"分栏面板项",dependentParentControl:"Splitter"},WizardDetail:{type:"WizardDetail",name:"向导详情页"},WizardDetailContainer:{type:"WizardDetailContainer",name:"向导详情容器"},Wizard:{type:"Wizard",name:"向导",icon:"Wizard"},MultiSelect:{type:"MultiSelect",name:"数据分配",icon:"MultiSelect"},Steps:{type:"Steps",name:"步骤条",icon:"Steps"},avatar:{type:"avatar",name:"头像",icon:"Avatar"},ListFilter:{type:"ListFilter",name:"筛选条",icon:"ListFilter"},ListNav:{type:"ListNav",name:"列表导航",icon:"ListNav"},NumberRange:{type:"NumberRange",name:"数字区间选择",icon:"NumericBox"},Scrollspy:{type:"Scrollspy",name:"滚动监听",icon:"Scrollspy"},LanguageTextBox:{type:"LanguageTextBox",name:"多语言输入框",icon:"LanguageTextBox"},ComponentRef:{type:"ComponentRef",name:"组件引用节点"},FileUpload:{type:"FileUpload",name:"附件上传",icon:"FileUpload"},FilePreview:{type:"FilePreview",name:"附件预览",icon:"FilePreview"},ViewChange:{type:"ViewChange",name:"多视图切换",icon:"Button"},MultiViewContainer:{type:"MultiViewContainer",name:"多视图",icon:"MultiViewContainer"},MultiViewItem:{type:"MultiViewItem",name:"多视图项",dependentParentControl:"MultiViewContainer"},Footer:{type:"Footer",name:"页脚"},DiscussionEditor:{type:"DiscussionEditor",name:"评论编辑区",icon:"DiscussionEditor"},DiscussionList:{type:"DiscussionList",name:"评论列表",icon:"DiscussionList"},NavTab:{type:"NavTab",name:"标签类导航",icon:"NavTab"},Tags:{type:"Tags",name:"标记组",icon:"Tags"},Portlet:{type:"Portlet",name:"小部件",icon:"dingzhi"},"page-header":{type:"page-header",name:"页头",icon:"Header"},ModalFooter:{type:"ModalFooter",name:"弹窗页脚",icon:"ModalFooter"},ScrollCollapsibleArea:{type:"ScrollCollapsibleArea",name:"滚动收折区域",icon:"ScrollCollapsibleArea"},PersonnelSelector:{type:"PersonnelSelector",name:"人员选择",icon:"PersonnelSelector"},Table:{type:"Table",name:"表格",icon:"DataGrid"},LoopContainer:{type:"LoopContainer",name:"循环容器",icon:"ContentContainer"},FileUploadPreview:{type:"FileUploadPreview",name:"附件上传预览",icon:"FileUpload"},DynamicArea:{type:"DynamicArea",name:"动态区域",icon:"ContentContainer"},DynamicAreaItem:{type:"DynamicAreaItem",name:"动态区域项",icon:"ContentContainer"},TabToolbar:{type:"TabToolbar",name:"标签页工具栏",icon:"TabToolbar"},HeaderToolBar:{type:"HeaderToolBar",name:"头部组件工具栏",icon:"HeaderToolBar"},ModalFooterToolBar:{type:"ModalFooterToolBar",name:"底部组件工具栏",icon:"ModalFooterToolBar"},HeaderToolBarItem:{type:"HeaderToolBarItem",name:"头部组件工具栏按钮",icon:"HeaderToolBarItem"},ModalFooterToolBarItem:{type:"ModalFooterToolBarItem",name:"底部组件工具栏按钮",icon:"ModalFooterToolBarItem"},OrganizationSelector:{type:"OrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},AdminOrganizationSelector:{type:"AdminOrganizationSelector",name:"组织选择",icon:"OrganizationSelector"},EmployeeSelector:{type:"EmployeeSelector",name:"人员选择",icon:"PersonnelSelector"},OaRelation:{type:"OaRelation",name:"关联行政审批",icon:"TextBox"},CitySelector:{type:"CitySelector",name:"城市选择",icon:"CitySelector"},ExtIntergration:{type:"ExtIntergration",name:"外部服务集成",icon:"ViewModel"},AppointmentCalendar:{type:"AppointmentCalendar",name:"预约日历",icon:"DateBox"},Charts:{type:"Charts",name:"图表",icon:"Charts"},QdpFramework:{type:"QdpFramework",name:"查询结果工具栏",icon:"QdpFramework"},SpreadSheet:{type:"SpreadSheet",name:"查询表格控件",icon:"Charts"},QdpConditionDialog:{type:"QdpConditionDialog",name:"查询筛选对话框",icon:"ContentContainer"},QdpConditionDialogTab:{type:"QdpConditionDialogTab",name:"查询筛选标签页",icon:"Tab"},ApprovalLogs:{type:"ApprovalLogs",name:"审批记录",icon:"ApprovalLogs"},ApprovalComments:{type:"ApprovalComments",name:"审批意见",icon:"shenpiyijian"}},le={},Be={};Ee();function J(r,e,n=new Map,s=(b,P,M)=>P,d={},f=b=>b){return Z[e.title]=e,ce[e.title]=s,le[e.title]=d,Be[e.title]=f,(b={})=>{const P=je(b,e,n),M=Object.keys(r).reduce((y,T)=>(y[T]=r[T].default,y),{});return Object.assign(M,P)}}function Ae(r,e){return{customClass:e.class,customStyle:e.style}}function Ie(r,e){return{buttons:e.buttons}}const Fe=new Map([["appearance",Ae],["toolbar",Ie]]),Re={$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:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",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:[]}}},buttonClass:{description:"",type:"string",default:"col-6"},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}}};function Oe(r,e,n){return e.title="标题",e}const H={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"},buttons:{type:Array,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}},pe=Object.assign({},H,{componentId:{type:String,default:""}}),ee=J(H,Re,Fe,Oe),G=t.defineComponent({name:"FPageHeader",props:H,emits:["Click","PrePaginationClick","NextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),s=(S,j)=>{e.emit("Click",S,j)};function d(S,j){S&&j&&j.split(" ").reduce((C,g)=>(C[g]=!0,C),S)}const f=t.computed(()=>{const S={"f-page-header":!0};return d(S,r.customClass),S}),b=t.computed(()=>{const S={"f-title-icon":!0};return d(S,r.iconClass),S}),P=t.computed(()=>{const S={"f-icon":!0};return d(S,r.icon),S}),M=t.computed(()=>{const S={"f-title":!0};return d(S,r.titleContentClass),S}),y=t.computed(()=>{const S={"f-content":!0};return d(S,r.contentClass),S}),T=t.computed(()=>{const S={"f-content":!0};return d(S,r.downContentClass),S}),p=t.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":r.prePaginationDisabled})),c=t.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":r.nextPaginationDisabled}));function m(S){r.prePaginationDisabled||e.emit("PrePaginationClick",S)}function a(S){r.nextPaginationDisabled||e.emit("NextPaginationClick",S)}function v(){return e.slots.titleContent?t.createVNode("div",{class:M.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:b.value},[t.createVNode("i",{class:P.value},null)]):"",t.createVNode("h4",{class:"f-title-text"},[r.title]),r.subTitle?t.createVNode("h5",{class:"f-title-subtitle"},[r.subTitle]):"",r.showPagination?t.createVNode("div",{class:"f-title-pagination"},[t.createVNode("span",{class:p.value,onClick:m},null),t.createVNode("span",{class:c.value,onClick:a},null)]):""])}function w(){return e.slots.content?t.createVNode("div",{class:y.value},[t.createTextVNode(" "),e.slots.content()]):""}function k(){if(r.buttons&&r.buttons.length>0)return t.createVNode(ke,{customClass:r.buttonClass,items:n.value,onClick:s},null)}function A(){return e.slots.downContent?t.createVNode("div",{class:T.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,S=>{n.value=S},{deep:!0}),()=>t.createVNode("div",{class:f.value},[t.createVNode("nav",{class:"f-page-header-base"},[v(),w(),k()]),A()])}});function $e(r,e,n){var F;function s(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}s();const d=n&&n.getStyles&&n.getStyles()||"",f=n&&n.getDesignerClass&&n.getDesignerClass()||"",b=t.ref();function P(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function M(){return!1}function y(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function T(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function p(C){if(!C||!C.value)return null;if(C.value.schema&&C.value.schema.type==="component")return C.value;const g=t.ref(C==null?void 0:C.value.parent),D=p(g);return D||null}function c(C=e){const{componentInstance:g,designerItemElementRef:D}=C;return!g||!g.value?null:g.value.canMove?D:c(C.parent)}function m(C){return!!n&&n.canAccepts(C)}function a(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function v(){}function w(C,g){g&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(g)}function k(C){const{componentType:g}=C;let D=U(g,C);n&&n.onResolveNewComponentSchema&&(D=n.onResolveNewComponentSchema(C,D));const V=g.toLowerCase().replace("-","_");return D&&!D.id&&D.type===g&&(D.id=`${V}_${Math.random().toString().slice(2,6)}`),D}function A(C,g){const D=String(C.getAttribute("data-controltype")),V=C.getAttribute("data-feature"),u=V?JSON.parse(V):{};u.parentComponentInstance=b.value;let i=U(D,u);n&&n.onAcceptNewChildElement&&(i=n.onAcceptNewChildElement(C,g,i));const o=D.toLowerCase().replace("-","_");return i&&!i.id&&i.type===D&&(i.id=`${o}_${Math.random().toString().slice(2,6)}`),i}function S(C){}function j(...C){if(n&&n.getPropsConfig)return n.getPropsConfig(...C)}return b.value={canMove:P(),canSelectParent:M(),canDelete:y(),canNested:!T(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(F=e==null?void 0:e.parent)==null?void 0:F.componentInstance,schema:e==null?void 0:e.schema,styles:d,designerClass:f,canAccepts:m,getBelongedComponentInstance:p,getDraggableDesignItemElement:c,getDraggingDisplayText:a,getPropConfig:j,getDragScopeElement:v,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:S,addNewChildComponentSchema:k,updateDragAndDropRules:s,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},b}class de{static getEditorTypesByMDataType(e){const n=this.fieldControlTypeMapping[e];return n||[{key:"",value:""}]}}I(de,"fieldControlTypeMapping",{String:[{key:N["input-group"].type,value:N["input-group"].name},{key:N.lookup.type,value:N.lookup.name},{key:N.Image.type,value:N.Image.name},{key:N["date-picker"].type,value:N["date-picker"].name},{key:N["check-box"].type,value:N["check-box"].name},{key:N["radio-group"].type,value:N["radio-group"].name},{key:N["combo-list"].type,value:N["combo-list"].name},{key:N.textarea.type,value:N.textarea.name}],Text:[{key:N.textarea.type,value:N.textarea.name},{key:N.avatar.type,value:N.avatar.name},{key:N.lookup.type,value:N.lookup.name}],Decimal:[{key:N["number-spinner"].type,value:N["number-spinner"].name}],Integer:[{key:N["number-spinner"].type,value:N["number-spinner"].name}],Number:[{key:N["number-spinner"].type,value:N["number-spinner"].name}],BigNumber:[{key:N["number-spinner"].type,value:N["number-spinner"].name}],Date:[{key:N["date-picker"].type,value:N["date-picker"].name}],DateTime:[{key:N["date-picker"].type,value:N["date-picker"].name}],Boolean:[{key:N.switch.type,value:N.switch.name},{key:N["check-box"].type,value:N["check-box"].name}],Enum:[{key:N["combo-list"].type,value:N["combo-list"].name},{key:N["radio-group"].type,value:N["radio-group"].name}],Object:[{key:N.lookup.type,value:N.lookup.name},{key:N["combo-list"].type,value:N["combo-list"].name},{key:N["radio-group"].type,value:N["radio-group"].name}],EmployeeSelector:[{key:N.EmployeeSelector.type,value:N.EmployeeSelector.name}],AdminOrganizationSelector:[{key:N.AdminOrganizationSelector.type,value:N.AdminOrganizationSelector.name}]});class Q{constructor(e,n){I(this,"componentId");I(this,"viewModelId");I(this,"eventsEditorUtils");I(this,"formSchemaUtils");I(this,"formMetadataConverter");I(this,"designViewModelUtils");I(this,"designViewModelField");I(this,"controlCreatorUtils");I(this,"designerHostService");I(this,"schemaService",null);I(this,"metadataService",null);I(this,"propertyConfig",{type:"object",categories:{}});var s;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const s=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=s.fields.find(d=>d.id===n)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){var s,d;var n=this;return this.setDesignViewModelField(e),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",data:de.getEditorTypesByMDataType(((d=(s=n.designViewModelField)==null?void 0:s.type)==null?void 0:d.name)||""),editable:!1}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"}},setPropertyRelates(f,b){if(f)switch(f&&f.propertyID){case"type":{n.changeControlType(e,f);break}}}}}changeControlType(e,n){var y,T,p,c,m;const s=n.propertyValue,d=this.formSchemaUtils.getComponentById(this.componentId);let f=this.getControlParentContainer(e.id,d);if(!f)return;const b=f.contents.findIndex(a=>a.id===e.id),P=f.contents[b];let M;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),M=this.controlCreatorUtils.setFormFieldProperty("Form",this.designViewModelField,null,s)),Object.assign(M,{id:P.id,appearance:P.appearance,size:P.size,label:P.label}),Object.assign(M.editor,{isTextArea:M.isTextArea&&P.isTextArea,type:s||"",placeHolder:(y=P.editor)==null?void 0:y.placeHolder,holdPlace:(T=P.editor)==null?void 0:T.holdPlace,readonly:(p=P.editor)==null?void 0:p.readonly,require:(c=P.editor)==null?void 0:c.require,visible:(m=P.editor)==null?void 0:m.visible}),f.contents.splice(b,1,M)}getAppearanceConfig(e=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!1,editor:{type:"response-layout-editor-setting"},$converter:"/converter/response-form-layout.converter"}}}}getControlParentContainer(e,n){let s;if(!n||!n.contents||n.contents.length===0)return null;for(const d of n.contents){if(d.id===e)return s=n,n;if(s=this.getControlParentContainer(e,d),s)return s}}getBindingFieldEditorOptions(e){const n=this.formSchemaUtils.getFormMetadataBasicInfo();return{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:e,formBasicInfo:n},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],beforeOpenDialog:s=>{const d=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);s.instance.loadData(d)},textField:"bindingField"}}}class Le extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"page-header",value:N["page-header"].name}]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,d=s.eventsEditorUtils.formProperties(e,s.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:d}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,b){const P=f.propertyValue;delete e[s.viewModelId],P&&(P.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,P.events,P))}}}}function _e(r,e){function n(f){return!1}function s(){return!0}function d(f){return new Le(f,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:s,getPropsConfig:d}}class ue{constructor(e){I(this,"id","");I(this,"class","btn-secondary");I(this,"icon","");I(this,"groupId","");I(this,"order",-1);I(this,"asDropDownTop",!1);I(this,"text","");I(this,"visible",!0);I(this,"responsed",!1);I(this,"tipsEnable",!1);I(this,"tipsText","");I(this,"width",0);I(this,"onClick",()=>{});I(this,"options");this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(s=>n.indexOf(s)>-1).forEach(s=>{this[s]=e[s]})}get enable(){return Object.keys(this.options).indexOf("enable")>-1?this.options.enable:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class Ue extends ue{constructor(e){super(e)}}function fe(){function r(e){const n=[];return e.reduce((s,d)=>(d.children&&d.children.length>0?s.push(new z(d)):s.push(new Ue(d)),s),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:We}=fe();class z extends ue{constructor(n){super(n);I(this,"placement","");I(this,"dropdownClass","");I(this,"menuClass","");I(this,"split",!1);I(this,"children",[]);I(this,"expanded",!1);const s=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(d=>s.indexOf(d)>-1).forEach(d=>{this[d]=n[d]}),n.children&&n.children.length&&(this.children=We(n.children))}}const me=new Map([["buttons","items"]]);function ge(r,e,n){return e}const qe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar.schema.json",title:"response-toolbar",description:"A Farris Toolbar Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}},required:["id","type","buttons"]},te={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},text:{description:"The items of Response Toolbar.",type:"string",default:"新增"},icon:{description:"The icon of response toolbar item.",type:"string",default:""},click:{description:"The event of response toolbar item.",type:"string",default:""}},required:["id","type","text"]},ye={title:"response-toolbar-item",description:"A Farris Container Component",type:"object",categories:{basic:{title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}},ne={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};Z[te.title]=te,le[ye.title]=ye;const ze=Object.assign({},ne,{componentId:{type:String,default:""}}),oe=J(ne,qe,me,ge),he={id:{type:String,default:""},items:{type:Object,default:{}},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""}},He=J(he,te,me,ge);function be(){function r(n){const s={"f-icon":!0};if(n.icon){const d=n.icon.trim().split(" ");d&&d.length&&d.reduce((f,b)=>(f[b]=!0,f),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function Ge(r){function e(p){const c={"dropdown-menu":!0};if(p.class){const m=p.menuClass.split(" ");m&&m.length&&m.reduce((a,v)=>(a[v]=!0,a),c)}return c}function n(p){const c={disabled:!p.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},m=p.dropdownClass.split(" ");return m&&m.length&&m.reduce((a,v)=>(a[v]=!0,a),c),c}function s(p){const c={disabled:!p.enable,"dropdown-item":!0,"f-rt-btn":!0},m=p.class.split(" ");return m&&m.length&&m.reduce((a,v)=>(a[v]=!0,a),c),c}let d;const f=new Map;function b(p,c,m){var v;((v=p.target)==null?void 0:v.id)===c.id&&p.stopPropagation();const a=m?m.id:"__top_item__";if(c.children&&c.children.length&&(c.expanded=!c.expanded,c.expanded?f.set(a,c):f.delete(a)),f.has(a)&&f.get(a)!==c){const w=f.get(a);w&&(w.expanded=!1)}}function P(p,c){document.body.click(),c.enable&&c.onClick(p,c.id)}function M(p){return p.children.map(c=>c.children&&c.children.length?t.createVNode("li",{class:n(c),id:c.id,onClick:m=>c.enable&&b(m,c,p)},[t.createVNode("span",{id:c.id,class:s(c),onMouseover:m=>c.enable&&b(m,c,p)},[c.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),d(c,c)]):t.createVNode("li",{class:s(c),id:c.id,onClick:m=>P(m,c),onMouseover:m=>c.enable&&b(m,c,p)},[r.shouldShowIcon(c)&&t.createVNode("i",{class:r.iconClass(c)},null),c.text]))}function y(p,c,m){const a={display:p.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},v=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=c,k=w==null?void 0:w.getClientRects();if(w&&k&&k.length){const{top:A,width:S,left:j,right:F,height:C}=k[0],g=Math.ceil(C+A);a.top=`${g}px`,a.left=`${j}px`;const D=p.id+"_menu",V=c?c.querySelector("#"+D):null;if(V){a.display==="block"&&(V.style.display="block");const u=V.getBoundingClientRect();if(m){a.top=`${A-6}px`;const i=Math.ceil(S+j);a.left=`${i}px`}v-j-S<u.width&&(a.left=`${(m?j:F)-u.width}px`)}}return a}d=function(p,c){var w,k;const m=t.getCurrentInstance(),a=c?c.id:p.id,v=(k=(w=m==null?void 0:m.exposed)==null?void 0:w.elementRef.value)==null?void 0:k.querySelector("#"+a);return t.createVNode("ul",{class:e(p),style:y(p,v,c),id:p.id+"_menu"},[M(p)])};function T(){f.forEach(p=>{p.expanded=!1}),f.clear()}return{renderDropdownMenu:d,clearAllDropDownMenu:T}}function Qe(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:d}=Ge(e);function f(T){const p={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left"},c=T.dropdownClass.split(" ");return c&&c.length&&c.reduce((m,a)=>(m[a]=!0,m),p),p}function b(T){const p={btn:!0,disabled:!T.enable,"f-rt-btn":!0,"btn-icontext":!!(T.icon&&T.icon.trim())};if(T.class){const c=T.class.split(" ");c&&c.length&&c.reduce((m,a)=>(m[a]=!0,m),p)}return p}function P(T,p){T.stopPropagation();const c=p.expanded;document.body.click(),p.expanded=!c}function M(T){return t.createVNode("div",{id:T.id,class:f(T)},[t.createVNode("div",{class:b(T),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:p=>T.enable&&P(p,T)},[e.shouldShowIcon(T)&&t.createVNode("i",{class:e.iconClass(T)},null),t.createVNode("span",null,[T.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),s(T)])}function y(){d()}return{renderToolbarDropdown:M,clearAllDropDown:y}}const{buildResponseToolbarItems:Ce}=fe(),X=t.defineComponent({name:"FResponseToolbar",props:ne,emits:["click"],setup(r,e){const n=t.ref(Ce(r.items)),s=t.ref(),d=t.ref(),f=t.ref(),b=t.ref(r.alignment),P={id:"__more_buttons__",text:"更多"},M=t.ref(new z(P)),y=be(),T=t.computed(()=>M.value.children.length>0),p=t.computed(()=>{const g={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};if(r.customClass){const D=r.customClass.split(" ");D&&D.length&&D.reduce((V,u)=>(V[u]=!0,V),g)}return g}),c=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":b.value==="right","justify-content-start":b.value==="left"})),{renderToolbarDropdown:m,clearAllDropDown:a}=Qe(r,y);function v(){n.value.filter(g=>g.children&&g.children.length>0).forEach(g=>{g.expanded=!1}),M.value.expanded=!1,a()}function w(g){const D={btn:!0,"f-rt-btn":!0,"f-btn-ml":b.value==="right","f-btn-mr":b.value==="left","btn-icontext":!!(g.icon&&g.icon.trim())};if(g.class){const V=g.class.split(" ");V&&V.length&&V.reduce((u,i)=>(u[i]=!0,u),D)}return D}function k(g,D){document.body.click(),D.onClick(g,D.id),e.emit("click",g,D.id)}function A(g){return t.createVNode("button",{type:"button",class:w(g),id:g.id,disabled:!g.enable,onClick:D=>k(D,g)},[y.shouldShowIcon(g)&&t.createVNode("i",{class:y.iconClass(g)},null),g.text])}const S=new Map,j=[];function F(g){const D=f.value;let V=g;const u=Array.from(D.children),i=u[u.length-1].id==="__more_buttons__"?u[u.length-1]:null;if(i){const x=i.computedStyleMap().get("margin-left"),B=i.computedStyleMap().get("margin-right"),L=(x?x.value:0)+i.getBoundingClientRect().width+(B?B.value:0);V-=L}const o=u.filter(x=>x.id!=="__more_buttons__");for(const x of o){const B=x.computedStyleMap().get("margin-left"),L=x.computedStyleMap().get("margin-right"),R=(B?B.value:0)+x.getBoundingClientRect().width+(L?L.value:0);V<R?(S.set(x.id,!0),j.push({id:x.id,width:R})):V-=R}if(j.length)for(let x=j.length-1;x>=0;x--){const B=j[x].width;if(V>=B)V-=B,S.delete(j[x].id),j.pop();else break}const l=Object.assign({},M.value);l.children=[];const h=new z(l),E=n.value.reduce((x,B)=>(S.has(B.id)&&h.children.push(B),B.visible=!S.has(B.id),x.push(B),x),[]);M.value=h,n.value=E}const C=new ResizeObserver(g=>{if(g.length){const V=g[0].contentRect.width,i=f.value.getBoundingClientRect().width;(V<i||j.length)&&(F(V),v())}});return t.onMounted(()=>{const g=d.value;C.observe(g),document.body.addEventListener("click",v),document.body.addEventListener("wheel",v)}),t.onUnmounted(()=>{C.disconnect(),document.body.removeEventListener("click",v),document.body.removeEventListener("wheel",v)}),t.watch(()=>r.items,()=>{n.value=Ce(r.items)},{deep:!0}),e.expose({elementRef:s}),()=>t.createVNode("div",{class:p.value,ref:s},[t.createVNode("div",{ref:d,class:c.value},[t.createVNode("div",{ref:f,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.filter(g=>g.visible).map(g=>g.children&&g.children.length>0?m(g):A(g)),T.value&&m(M.value)])])])}});function Xe(r,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function d(){s&&s()}function f(i){const o={"dropdown-menu":!0};if(i.class){const l=i.menuClass.split(" ");l&&l.length&&l.reduce((h,E)=>(h[E]=!0,h),o)}return o}function b(i){const o={disabled:!i.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},l=i.dropdownClass.split(" ");return l&&l.length&&l.reduce((h,E)=>(h[E]=!0,h),o),o}function P(i){const o={disabled:!i.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},l=i.class.split(" ");return l&&l.length&&l.reduce((h,E)=>(h[E]=!0,h),o),o}let M;const y=new Map;function T(i,o,l){var E;((E=i.target)==null?void 0:E.id)===o.id&&i.stopPropagation();const h=l?l.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?y.set(h,o):y.delete(h)),y.has(h)&&y.get(h)!==o){const x=y.get(h);x&&(x.expanded=!1)}}function p(i){i&&(i.stopPropagation(),i.preventDefault())}function c(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const i=document.getElementsByClassName("dgComponentSelected");Array.from(i).forEach(o=>o.classList.remove("dgComponentSelected"))}function m(i){i.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function a(i){const{buttons:o=[]}=n.schema;let l=[];o.forEach(x=>{l=l.concat(x.children||[])});const h=l.findIndex(x=>x.id===i),E=h===-1?null:l[h];return{index:h,item:E}}function v(i){const{buttons:o=[]}=n.schema,l=o.findIndex(E=>E.id===i),h=l===-1?null:o[l];return{index:l,item:h}}function w(i){var h;n.schema;const{index:o,item:l}=a(i);(h=n==null?void 0:n.setupContext)==null||h.emit("selectionChange",l==null?void 0:l.type,l)}const k=function(i){const{componentType:o}=i,l=U(o,i),h=o.toLowerCase().replace("-","_");return l&&!l.id&&l.type===o&&(l.id=`${h}_${Math.random().toString().slice(2,6)}`),l},A=function(){const i={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return k(i)};function S(i,o){p(i),c(),m(i),w(o.id)}function j(i,o,l){p(i);const h=o.id,E=l&&l.id,{buttons:x=[]}=n.schema;if(!E)return;const{index:B}=v(E);if(B===-1)return;const{index:L}=a(h);L!==-1&&(x[B].children.splice(L,1),d())}function F(i,o,l){p(i);const h=l&&l.id,{buttons:E=[]}=n.schema;if(!h)return;const{index:x}=v(h);if(x===-1)return;const B=A(),L=Object.assign({},B,{text:o.text});E[x].children.push(L),d()}function C(i,o,l){p(i);const h=l&&l.id,{buttons:E=[]}=n.schema;if(!h)return;const{index:x}=v(h);if(x===-1)return;const B=A(),L=Object.assign({},B,{text:"按钮"});E[x].children.push(L),d()}function g(i,o){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:l=>j(l,i,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:l=>F(l,i,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:l=>C(l,i,o)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增同级")])])])])}function D(i){return i.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:b(o),id:o.id,onClick:l=>o.enable&&T(l,o,i)},[t.createVNode("span",{id:o.id,class:P(o),onMouseover:l=>o.enable&&T(l,o,i)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),M(o,o)]):t.createVNode("li",{class:P(o),id:o.id,onClick:l=>S(l,o)},[g(o,i),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function V(i,o,l){const h={display:i.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},E=document.getElementsByTagName("body")[0].getClientRects()[0].width,x=o,B=x==null?void 0:x.getClientRects();if(x&&B&&B.length){const{top:L,width:R,left:O,right:_,height:W}=B[0],ie=Math.ceil(W+L);h.top=`${ie}px`,h.left=`${O}px`;const dt=i.id+"_menu",se=o?o.querySelector("#"+dt):null;if(se){h.display==="block"&&(se.style.display="block");const Me=se.getBoundingClientRect();if(l){h.top=`${L-6}px`;const ut=Math.ceil(R+O);h.left=`${ut}px`}E-O-R<Me.width&&(h.left=`${(l?O:_)-Me.width}px`)}}return h}M=function(i,o){var x,B;const l=t.getCurrentInstance(),h=o?o.id:i.id,E=(B=(x=l==null?void 0:l.exposed)==null?void 0:x.elementRef.value)==null?void 0:B.querySelector("#"+h);return t.createVNode("ul",{class:f(i),style:V(i,E,o),id:i.id+"_menu"},[D(i)])};function u(){y.forEach(i=>{i.expanded=!1}),y.clear()}return{renderDropdownMenu:M,clearAllDropDownMenu:u}}function Ye(r,e,n){const s=t.ref(r.alignment),{renderDropdownMenu:d,clearAllDropDownMenu:f}=Xe(e,n),b=t.inject("design-item-context"),P=t.inject("toolbar-item-handler",()=>{});function M(){P&&P()}function y(u){const i={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},o=u.dropdownClass.split(" ");return o&&o.length&&o.reduce((l,h)=>(l[h]=!0,l),i),i}function T(u){const i={btn:!0,disabled:!u.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(u.icon&&u.icon.trim())};if(u.class){const o=u.class.split(" ");o&&o.length&&o.reduce((l,h)=>(l[h]=!0,l),i)}return i}function p(u){u&&(u.stopPropagation(),u.preventDefault())}function c(u,i){p(u);const o=i.expanded;document.body.click(),i.expanded=!o}const m=function(u){const{componentType:i}=u,o=U(i,u),l=i.toLowerCase().replace("-","_");return o&&!o.id&&o.type===i&&(o.id=`${l}_${Math.random().toString().slice(2,6)}`),o},a=function(){const u={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return m(u)};function v(u){const i=b.schema.buttons||b.schema.contents,o=i==null?void 0:i.findIndex(h=>h.id===u),l=o===-1?null:i[o];return{index:o,toolbarItem:l}}function w(u,i){var B;const{index:o,toolbarItem:l}=v(i);if(o===-1)return;const h=l.text||"按钮",E=a(),x=Object.assign({},E,{text:h});(B=b.schema.buttons)==null||B.push(x),M()}function k(u,i){const{index:o,toolbarItem:l}=v(i);if(o===-1)return;const h=l.text||"按钮",E=a(),x=Object.assign({},E,{text:h}),B=b.schema.buttons[o].children||[];B.push(x),b.schema.buttons[o].children=B,M()}function A(u,i){const o=b.schema.buttons||b.schema.contents,l=o==null?void 0:o.findIndex(h=>h.id===i);l!==-1&&(o.splice(l,1),M())}function S(u){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:i=>A(i,u)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:i=>w(i,u)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:i=>k(i,u)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增子级")])])])])}function j(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(i=>i.classList.remove("dgComponentFocused"));const u=document.getElementsByClassName("dgComponentSelected");Array.from(u).forEach(i=>i.classList.remove("dgComponentSelected"))}function F(u){u.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function C(u){var h;const i=b.schema.buttons||b.schema.contents,o=i==null?void 0:i.findIndex(E=>E.id===u);if(o===-1)return;const l=i[o];(h=b==null?void 0:b.setupContext)==null||h.emit("selectionChange","response-toolbar-item",l)}function g(u,i){p(u),j(),F(u),p(u),c(u,i),C(i.id)}function D(u){return t.createVNode("div",{id:u.id,class:y(u)},[t.createVNode("div",{class:T(u),style:"display: flex;padding-right: 0.1rem;",onClick:i=>u.enable&&g(i,u)},[S(u.id),e.shouldShowIcon(u)&&t.createVNode("i",{class:e.iconClass(u)},null),t.createVNode("span",null,[u.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),d(u)])}function V(){f()}return{renderToolbarDropdown:D,clearAllDropDown:V}}function Ze(){function r(e){var d,f;if(!e)return!1;const n=((d=e.targetContainer)==null?void 0:d.componentInstance)&&e.targetContainer.componentInstance.value;if(!n)return!1;const s=(f=n.schema.appearance)==null?void 0:f.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const b=n.schema.type,P=(b==="response-form"||b==="content-container")&&s&&s.includes("farris-form");if(n.schema.type!=="response-layout-item"&&!P)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:r}}const Ke={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dragging-rules.schema.json",title:"Dragging Rules",description:"The rules of designer canvas",type:"object",properties:{"f-page":{description:"The root class of page designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-page-header":{description:"The class of page header designed by farris.",type:"string"},"f-page-main":{description:"The class of page body designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-like-card":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-form":{description:"The class of form component which has a hierarchical structure of component -> section -> respnse-form.",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{contents:{type:"object",properties:{"f-form-layout":{description:"The class of reponse form",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}},"f-struct-wrapper":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-tabs":{description:"The class of section which has wrapped sub-grid tabs.",type:"object",properties:{contents:{type:"object",properties:{"f-tabs-in-card":{description:"The class of tabs which contains sub-grid.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-card":{description:"The class of sub-grid component",type:"object",properties:{contents:{type:"object",properties:{"f-grid-is-sub":{description:"The class of sub-grid",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-in-main":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"object",const:{allOf:[{sibling:0,parent:{"f-page-main":!0}}]}}}}}},"f-struct-data-grid":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"object",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-main-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav-extend":{description:"",type:"object"},"f-section-in-nav":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}}}},"f-page-content-main":{description:"",type:"object",properties:{}}}}}},"f-page-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-list-nav":{description:"",type:"object"},"f-list-nav-left":{description:"",type:"object"}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}},"f-page-content-main":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"object",const:{anyOf:[{children:0},{children:{length:{not:1},"f-struct-like-card":!0}},{children:{"scroll-spy":!1,"f-page-content":!1,"f-struct-like-card":!1}}]}},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-footer":{description:"The class of page footer designed by farris.",type:"string"}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-is-managelist":{description:"The root class of mangement list page.",type:"string"},"f-page-card":{description:"",type:"object"},"f-page-is-mainsubcard":{description:"",type:"object"}},required:[]},re=new Map;function ve(){function r(a,v,w,k){var A;if(typeof w=="number")return((A=k[a])==null?void 0:A.length)===w;if(typeof w=="object"){const S=Object.keys(w)[0],j=w[S];if(S==="not")return Number(k[a].length)!==Number(j);if(S==="moreThan")return Number(k[a].length)>=Number(j);if(S==="lessThan")return Number(k[a].length)<=Number(j)}return!1}function e(a,v,w,k){return typeof w=="boolean"?k.childrenClassList.includes(v)===!!w:!1}function n(a,v,w,k){return typeof w=="boolean"?k.parentClassList.includes(v)===!!w:!1}function s(a,v,w,k){return typeof w=="boolean"?k.parentClassList.includes(v)===!!w:!1}const d=new Map([["length",r],["hasChildren",e],["hasSibling",s],["hasParent",n]]);function f(a,v){const w=a;return typeof v=="number"?[{target:w,operator:"length",param:null,value:Number(v)}]:typeof v=="object"?Object.keys(v).map(k=>{if(k==="length")return{target:w,operator:"length",param:null,value:v[k]};const A=k,S=v[k];return{target:w,operator:a==="children"?"hasChildren":a==="parent"?"hasParent":"hasSibling",param:A,value:S}}):[]}function b(a,v){if(d.has(a.operator)){const w=d.get(a.operator);return w&&w(a.target,a.param,a.value,v)||!1}return!1}function P(a,v){return Object.keys(a).reduce((S,j)=>{const F=f(j,a[j]);return S.push(...F),S},[]).reduce((S,j)=>S&&b(j,v),!0)}function M(a,v){const w=Object.keys(a),k=w.includes("allOf"),A=w.includes("anyOf"),S=k||A,C=(S?a[S?k?"allOf":"anyOf":"allOf"]:[a]).map(D=>P(D,v));return k?!C.includes(!1):C.includes(!0)}function y(a,v){const w=a.const;return w?typeof w=="boolean"?w:typeof w=="object"?M(w,v):!1:!1}function T(a){return v=>{const w={canAccept:!0,fixed:!1,hidePadding:!1};return a&&a.properties&&Object.keys(a.properties).reduce((k,A)=>{const S=a.properties[A];return k[A]=y(S,v),k},w),w}}function p(a,v,w){if(v.type==="object"&&v.properties){const{rules:k,contents:A}=v.properties;w.set(a,T(k)),A&&Object.keys(A.properties).forEach(S=>p(S,A.properties[S],w))}}function c(){const{properties:a}=Ke;Object.keys(a).forEach(v=>{p(v,a[v],re)})}function m(a,v){const w={canAccept:!0,fixed:!1,hidePadding:!0};return re.has(a)?re.get(a)(v):w}return c(),{getRuleValue:m}}class Je extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:N["response-toolbar"].name}]}}}}}getBehaviorProperties(e){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},buttons:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function et(r,e,n,s){const d=ve(),f=t.ref(!1),b=t.ref(!1);let P=!0,M=!1,y;function T(C){return y&&y.componentClassList&&y.componentClassList.includes("f-form-layout")&&y.componentClassList.includes("farris-form")?C.sourceType==="control"&&C.controlCategory==="input"||C.sourceType==="move"&&C.controlType==="form-group":!0}function p(C){return!Ze().basalDragulaRuleForContainer(C)||!P||!T(C),!1}function c(){f.value=!1,b.value=!1;const C=r,g=C.appearance&&C.appearance.class||"",D=g.split(" "),V=C.buttons||[],u=V.length?V[0]:null,i=u&&u.appearance?u.appearance.class:"",o=i?i.split(" "):[],l=V.length?V.reduce((O,_)=>{const W=_&&_.appearance?_.appearance.class:"",ie=W?W.split(" "):[];return O.push(...ie),O},[]):[],h=n==null?void 0:n.schema,E=h&&h.appearance&&h.appearance.class||"",x=E?E.split(" "):[];y={componentClass:g,componentClassList:D,childContents:V,firstChildContent:u,firstChildClass:i,firstChildClassList:o,parent:h,parentClass:E,parentClassList:x,children:V,childrenClassList:l};const{canAccept:B,fixed:L,hidePadding:R}=d.getRuleValue(D[0],y);return P=B,M=R,!0}function m(C){}function a(){return r.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function v(C,g){return g.text=C.label,g}function w(C,g,D){const V=r;if((V.appearance&&V.appearance.class||"").split(" ").includes("f-form-layout")){const o=String(C.innerText),l=U("form-group");return l.editor=D,l.label=o,l}return D}function k(){return!1}function A(){return!1}function S(){return!0}function j(){return M}function F(C){return new Je(C,e).getPropertyConfig(r)}return{canAccepts:p,checkCanAddComponent:S,checkCanDeleteComponent:A,checkCanMoveComponent:k,getStyles:a,hideNestedPaddingInDesginerView:j,onAcceptNewChildElement:w,onAcceptMovedChildElement:m,onResolveNewComponentSchema:v,resolveComponentContext:c,getPropsConfig:F,triggerBelongedComponentToMoveWhenMoved:f,triggerBelongedComponentToDeleteWhenDeleted:b}}const tt={id:{type:String,default:""},componentId:{type:String,default:""},canAdd:{type:Boolean,default:!1},canDelete:{type:Boolean,default:!1},canMove:{type:Boolean,default:!1},contentKey:{type:String,default:"contents"},childLabel:{type:String,default:""},childType:{type:String,default:""},modelValue:{type:Object}},Y=t.ref(0);function nt(r,e){const n=e.getBoundingClientRect(),s=r.getBoundingClientRect(),d=s.top>=n.top,f=s.top<=n.bottom;return d&&f}function ot(r){if(!r)return;let e;if(r.className.includes("dgComponentSelected")?e=r:e=r.querySelector(".dgComponentSelected"),!e)return;const n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;const s=e.querySelector(".component-btn-group");if(s){if(!nt(e,r)){s.style.display="none";return}s.style.display="";const f=s.getBoundingClientRect(),b=s.querySelector("div");if(b){const P=b.getBoundingClientRect();b.style.top=f.top+"px",b.style.left=f.left-P.width+"px"}}}function rt(r,e,n){var F;function s(){}const d="",f=t.ref();function b(){return!0}function P(){return!1}function M(){return!0}function y(){return!0}function T(){return!0}function p(C){if(!C||!C.value)return null;const g=t.ref(C==null?void 0:C.value.parent),D=p(g);return D||null}function c(C=e){const{componentInstance:g,designerItemElementRef:D}=C;return!g||!g.value?null:g.value.canMove||g.value.canAdd||g.value.canDelete?D:c(C.parent)}function m(C){return!!n}function a(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function v(){}function w(C,g){}function k(C){const{componentType:g}=C;let D=U(g,C);const V=g.toLowerCase().replace("-","_");return D&&!D.id&&D.type===g&&(D.id=`${V}_${Math.random().toString().slice(2,6)}`),D}function A(C,g){const D=String(C.getAttribute("data-controltype")),V=C.getAttribute("data-feature"),u=V?JSON.parse(V):{};u.parentComponentInstance=f.value;let i=U(D,u);const o=D.toLowerCase().replace("-","_");return i&&!i.id&&i.type===D&&(i.id=`${o}_${Math.random().toString().slice(2,6)}`),i}function S(C){}function j(...C){return[]}return f.value={canMove:b(),canSelectParent:P(),canAdd:y(),canDelete:M(),canNested:!T(),contents:[],elementRef:r,parent:(F=e.parent)==null?void 0:F.componentInstance,schema:e.schema,styles:d,canAccepts:m,getBelongedComponentInstance:p,getDraggableDesignItemElement:c,getDraggingDisplayText:a,getPropConfig:j,getDragScopeElement:v,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:S,addNewChildComponentSchema:k,updateDragAndDropRules:s,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},f}const we=t.defineComponent({name:"FDesignerInnerItem",props:tt,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),s=t.ref(r.canAdd),d=t.ref(r.canDelete),f=t.ref(!1),b=t.ref(r.contentKey),P=t.ref(r.childType),M=t.ref(r.childLabel),y=t.ref(r.modelValue),T=t.ref(""),p=t.ref(),c=t.inject("canvas-dragula"),m=t.ref(),a=t.inject("design-item-context"),v={designerItemElementRef:p,componentInstance:m,schema:y.value,parent:a,setupContext:e};t.provide("design-item-context",v);const w=t.computed(()=>({"farris-component":!0,"flex-fill":r.id=="root-component","position-relative":n.value||d.value,"farris-nested":f.value,"can-move":n.value,"d-none":p.value&&p.value.classList.contains("d-none")})),k=t.computed(()=>{const o={};return T.value&&T.value.split(";").reduce((l,h)=>{const[E,x]=h.split(":");return E&&(l[E]=x),l},o),o});function A(o,l){if(a&&a.schema[b.value]){const h=a.schema[b.value].findIndex(E=>E.id===l.id);if(h>-1){const E=a.schema[b.value].length,x=a.schema[b.value][h%E];a.designerItemElementRef.value.querySelector(`#${x.id}-design-item`),a.schema[b.value].splice(h,1),a.componentInstance.value.updateDragAndDropRules(),Y.value++,e.emit("removeComponent")}}}function S(o){if(m.value.addNewChildComponentSchema){const l={componentType:P.value,label:M.value,parentComponentInstance:m.value,targetPosition:-1},h=m.value.addNewChildComponentSchema(l);y.value[b.value].push(h),e.emit("addComponent")}}function j(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{S()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function F(o){return d.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(l=>A(l,o),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function C(){return n.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function g(o){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[j(),C(),F(o)])])}t.watch(()=>r.modelValue,o=>{y.value=o,v.schema=o});function D(o){const l=o.target;ot(l)}function V(){var o,l;(l=(o=y.value)==null?void 0:o.contents)!=null&&l.length&&p.value&&p.value.addEventListener("scroll",D)}function u(){const o=p.value,l=t.ref(o.children[1]);return rt(l,v).value}t.onMounted(()=>{if(p.value){const o=p.value.querySelector(`[data-dragref='${y.value.id}-container']`);m.value=o&&o.componentInstance?o.componentInstance.value:u(),c&&o&&c.attachComponents(o,y.value),f.value=m.value.canNested!==void 0?m.value.canNested:f.value,s.value=m.value.canAdd!==void 0?m.value.canAdd:s.value,d.value=m.value.canDelete!==void 0?m.value.canDelete:d.value,n.value=m.value.canMove!==void 0?m.value.canMove:n.value,T.value=m.value.styles||"",p.value&&(p.value.componentInstance=m,p.value.designItemContext=v)}V(),Y.value++}),t.onBeforeUnmount(()=>{p.value&&p.value.removeEventListener("scroll",D)});function i(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(h=>h.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());const l=p.value;if(l){const h=document.getElementsByClassName("dgComponentSelected");if(!(h&&h.length===1&&h[0]===p.value)){Array.from(h).forEach(B=>B.classList.remove("dgComponentSelected")),l.classList.add("dgComponentFocused"),e.emit("selectionChange",y.value.type,y.value,r.componentId,m.value);const x=m.value.getDraggableDesignItemElement(v);x&&x.value&&x.value.classList.add("dgComponentSelected")}}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:p,class:w.value,style:k.value,onClick:i},[g(y.value),e.slots.default&&e.slots.default()])}});class it extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(n,s){}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}];var s=this;const d=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),f={};f[s.viewModelId]={type:"events-editor",editor:{initialData:d}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:f,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,P){const M=b.propertyValue;delete e[s.viewModelId],M&&(M.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,M.events,M))}}}}class st extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:N["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,d=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),f={};f[s.viewModelId]={type:"events-editor",editor:{initialData:d}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:f,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,P){const M=b.propertyValue;delete e[s.viewModelId],M&&(M.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,M.events,M))}}}}function at(r,e){ve();const n=t.ref(!1),s=t.ref(!1);let d=!1,f=!1;function b(w){return!1}function P(w){}function M(){return""}function y(w,k){return k.text=w.label,k}function T(w,k,A){const S=r.schema;if((S.appearance&&S.appearance.class||"").split(" ").includes("f-form-layout")){const C=String(w.innerText),g=U("form-group");return g.editor=A,g.label=C,g}return A}function p(){return!1}function c(){return!f}function m(){return!1}function a(){return d}function v(w){let k;switch(r.schema.type){case"tab-toolbar-item":k=new it(w,e);break;default:k=new st(w,e)}return k.getPropertyConfig(r.schema)}return{canAccepts:b,checkCanAddComponent:m,checkCanDeleteComponent:c,checkCanMoveComponent:p,getStyles:M,hideNestedPaddingInDesginerView:a,onAcceptNewChildElement:T,onAcceptMovedChildElement:P,onResolveNewComponentSchema:y,getPropsConfig:v,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:s}}const Te=t.defineComponent({name:"FResponseToolbarItemDesign",props:he,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),s={id:"__more_buttons__",text:"More"},d=t.ref(new z(s));t.computed(()=>d.value.children.length>0);const f=t.ref(),b=t.inject("designer-host-service"),P=t.inject("design-item-context"),M=at(P,b),y=ae.useDesignerInnerComponent(f,P,M);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{f.value.componentInstance=y}),e.expose(y.value);function T(){const m={"f-icon":!0};if(r.icon){const a=r.icon.trim().split(" ");a&&a.length&&a.reduce((v,w)=>(v[w]=!0,v),m)}return m}function p(){return!!(r.icon&&r.icon.trim())}function c(){const m={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(r.icon&&r.icon.trim())};if(r.class){const a=r.class.split(" ");a&&a.length&&a.reduce((v,w)=>(v[w]=!0,v),m)}return m}return t.onMounted(()=>{}),t.onUnmounted(()=>{}),()=>t.createVNode("div",{ref:f,"data-dragref":`${P.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:c(),id:r.id},[p()&&t.createVNode("i",{class:T()},null),r.text])])}}),Se=t.defineComponent({name:"FResponseToolbarDesign",props:ze,emits:["Click"],setup(r,e){const n=t.ref(r.items);let s=new Array(n.value.length).fill(t.ref());const d=t.ref(),f=t.ref(),b=t.ref(r.alignment),P={id:"__more_buttons__",text:"More"},M=t.ref(new z(P)),y=be();t.computed(()=>M.value.children.length>0);const T=t.ref(),p=t.inject("designer-host-service"),c=t.inject("design-item-context"),m=et(c.schema,p,c),a=ae.useDesignerInnerComponent(T,c,m);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{T.value.componentInstance=a}),e.expose(a.value);const v=t.computed(()=>({"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0})),w=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":b.value==="right","justify-content-start":b.value==="left"})),{renderToolbarDropdown:k,clearAllDropDown:A}=Ye(r,y,a);function S(){n.value.filter(u=>u.children&&u.children.length>0).forEach(u=>{u.expanded=!1}),M.value.expanded=!1,A()}const j=new Map,F=[];function C(u){const i=f.value;let o=u;const l=Array.from(i.children),h=l[l.length-1].id==="__more_buttons__"?l[l.length-1]:null;if(h){const R=h.computedStyleMap().get("margin-left"),O=h.computedStyleMap().get("margin-right"),_=(R?R.value:0)+h.getBoundingClientRect().width+(O?O.value:0);o-=_}const E=l.filter(R=>R.id!=="__more_buttons__");for(const R of E){const O=R.computedStyleMap().get("margin-left"),_=R.computedStyleMap().get("margin-right"),W=(O?O.value:0)+R.getBoundingClientRect().width+(_?_.value:0);o<W?(j.set(R.id,!0),F.push({id:R.id,width:W})):o-=W}if(F.length)for(let R=F.length-1;R>=0;R--){const O=F[R].width;if(o>=O)o-=O,j.delete(F[R].id),F.pop();else break}const x=Object.assign({},M.value);x.children=[];const B=new z(x),L=n.value.reduce((R,O)=>(j.has(O.id)&&B.children.push(O),O.visible=!j.has(O.id),R.push(O),R),[]);M.value=B,n.value=L}const g=new ResizeObserver(u=>{if(u.length){const o=u[0].contentRect.width,h=f.value.getBoundingClientRect().width;(o<h||F.length)&&C(o)}});t.onMounted(()=>{const u=d.value;g.observe(u),document.body.addEventListener("click",S)}),t.onUnmounted(()=>{g.disconnect(),document.body.removeEventListener("click",S)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,u=>{s=new Array(n.value.length).fill(t.ref())});function D(u,i,o,l){c&&c.setupContext&&c.setupContext.emit("selectionChange",u,i,o,l)}function V(){const u=f.value.querySelector(".dgComponentFocused.dgComponentSelected");u==null||u.classList.remove("dgComponentSelected"),u==null||u.classList.remove("dgComponentFocused")}return()=>t.createVNode("div",{ref:T,"data-dragref":`${c.schema.id}-container`,class:v.value},[t.createVNode("div",{ref:d,class:w.value},[t.createVNode("div",{ref:f,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((u,i)=>t.createVNode(we,{ref:s[i],class:"p-0 display-inline-block",modelValue:u,"onUpdate:modelValue":o=>u=o,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:r.componentId,id:u.id,style:"padding:0 !important;display:inline-block",onSelectionChange:D,onRemoveComponent:V},{default:()=>[t.createVNode(Te,{id:u.id,disable:u.disable,text:u.text,icon:u.icon,componentId:r.componentId},null)]}))])])])}}),Pe=oe;X.register=(r,e,n)=>{r["response-toolbar"]=X,e["response-toolbar"]=oe},X.registerDesigner=(r,e,n)=>{r["response-toolbar"]=Se,e["response-toolbar"]=oe,r["response-toolbar-item"]=Te,e["response-toolbar-item"]=He},xe.withInstall(X);const ct={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},De=t.defineComponent({name:"FDesignerTemplateItem",props:ct,emits:["selectionChange"],setup(r,e){const n=t.ref(),s=t.computed(()=>({"farris-component":!0}));function d(f){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(P=>P.classList.remove("dgComponentFocused")),f&&(f.preventDefault(),f.stopPropagation());const b=n.value;if(b){const P=document.getElementsByClassName("dgComponentSelected");P&&P.length===1&&P[0]===n.value||(Array.from(P).forEach(y=>y.classList.remove("dgComponentSelected")),b.classList.add("dgComponentFocused"))}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:s.value,onClick:d},[e.slots.default&&e.slots.default()])}}),lt=t.defineComponent({name:"FPageHeaderDesign",props:pe,emits:["Click"],setup(r,e){const n=t.ref(),s=t.inject("designer-host-service"),d=t.inject("design-item-context"),f=_e(d.schema,s),b=$e(n,d,f),P=t.ref(d.schema.toolbar||{type:"response-toolbar",buttons:[]}),M=t.ref(Pe(P.value));t.onMounted(()=>{n.value.componentInstance=b}),t.watch(()=>d.schema.toolbar,()=>{P.value=d.schema.toolbar||{type:"response-toolbar",buttons:[]},M.value=Pe(P.value)},{deep:!0});const y=t.computed(()=>[...M.value.items]);function T(p,c,m,a){d&&d.setupContext&&d.setupContext.emit("selectionChange",p,c,m,a)}return e.expose(b.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(De,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(De,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(we,{class:"col-5",modelValue:P.value,"onUpdate:modelValue":p=>P.value=p,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:P.value.id,componentId:r.componentId,onSelectionChange:T},{default:()=>[t.createVNode(Se,{items:y.value,componentId:r.componentId},null)]})])])}}),pt={install(r){r.component(G.name,G)},register(r,e,n,s){r["page-header"]=G,e["page-header"]=ee},registerDesigner(r,e,n){r["page-header"]=lt,e["page-header"]=ee}};$.PageHeader=G,$.default=pt,$.pageHeaderDesignerProps=pe,$.pageHeaderProps=H,$.propsResolver=ee,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|