@farris/ui-vue 1.2.8 → 1.3.0
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 +180 -180
- package/components/accordion/index.umd.cjs +1 -0
- package/components/avatar/index.esm.js +419 -331
- package/components/avatar/index.umd.cjs +1 -0
- package/components/border-editor/index.umd.cjs +1 -0
- package/components/button/index.umd.cjs +1 -0
- package/components/button-edit/index.css +1 -1
- package/components/button-edit/index.esm.js +346 -326
- package/components/button-edit/index.umd.cjs +1 -0
- package/components/button-group/index.umd.cjs +1 -0
- package/components/calculator/index.umd.cjs +1 -0
- package/components/calendar/index.esm.js +384 -384
- package/components/calendar/index.umd.cjs +1 -0
- package/components/capsule/index.esm.js +205 -205
- package/components/capsule/index.umd.cjs +1 -0
- package/components/checkbox/index.esm.js +555 -467
- package/components/checkbox/index.umd.cjs +1 -0
- package/components/color-picker/index.esm.js +239 -239
- package/components/color-picker/index.umd.cjs +3 -0
- package/components/combo-list/index.css +1 -0
- package/components/combo-list/index.esm.js +1072 -364
- package/components/combo-list/index.umd.cjs +1 -0
- package/components/combo-tree/index.esm.js +129 -129
- package/components/combo-tree/index.umd.cjs +1 -0
- package/components/common/index.esm.js +778 -700
- package/components/common/index.umd.cjs +1 -0
- package/components/component/index.esm.js +582 -327
- package/components/component/index.umd.cjs +1 -0
- package/components/condition/index.css +1 -0
- package/components/condition/index.esm.js +2433 -1134
- package/components/condition/index.umd.cjs +1 -0
- package/components/content-container/index.esm.js +307 -234
- package/components/content-container/index.umd.cjs +1 -0
- package/components/data-grid/index.css +1 -1
- package/components/data-grid/index.esm.js +6762 -4946
- package/components/data-grid/index.umd.cjs +1 -0
- package/components/data-view/index.css +1 -0
- package/components/data-view/index.esm.js +4977 -3489
- package/components/data-view/index.umd.cjs +1 -0
- package/components/date-picker/index.css +1 -1
- package/components/date-picker/index.esm.js +3525 -2811
- package/components/date-picker/index.umd.cjs +1 -0
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +938 -928
- package/components/designer-canvas/index.umd.cjs +1 -0
- package/components/designer-outline/index.css +1 -1
- package/components/designer-outline/index.esm.js +38 -37
- package/components/designer-outline/index.umd.cjs +1 -0
- package/components/designer-toolbox/index.esm.js +36 -12
- package/components/designer-toolbox/index.umd.cjs +1 -0
- package/components/discussion-editor/index.umd.cjs +3 -0
- package/components/discussion-list/index.umd.cjs +1 -0
- package/components/drawer/index.umd.cjs +1 -0
- package/components/dropdown/index.esm.js +282 -282
- package/components/dropdown/index.umd.cjs +2 -0
- package/components/dynamic-form/index.css +1 -0
- package/components/dynamic-form/index.esm.js +2684 -1039
- package/components/dynamic-form/index.umd.cjs +1 -0
- package/components/dynamic-resolver/index.esm.js +149 -101
- package/components/dynamic-resolver/index.umd.cjs +1 -0
- package/components/dynamic-view/index.esm.js +303 -290
- package/components/dynamic-view/index.umd.cjs +1 -0
- package/components/enum-editor/index.umd.cjs +1 -0
- package/components/events-editor/index.esm.js +573 -518
- package/components/events-editor/index.umd.cjs +1 -0
- package/components/expression-editor/index.esm.js +99 -99
- package/components/expression-editor/index.umd.cjs +1 -0
- package/components/external-container/index.css +1 -1
- package/components/external-container/index.esm.js +3607 -2799
- package/components/external-container/index.umd.cjs +1 -0
- package/components/field-selector/index.css +1 -1
- package/components/field-selector/index.esm.js +5438 -8236
- package/components/field-selector/index.umd.cjs +1 -0
- package/components/filter-bar/index.css +1 -1
- package/components/filter-bar/index.esm.js +1679 -1759
- package/components/filter-bar/index.umd.cjs +1 -0
- package/components/flow-canvas/index.css +1 -1
- package/components/flow-canvas/index.esm.js +1062 -1052
- package/components/flow-canvas/index.umd.cjs +1 -0
- package/components/image-cropper/index.esm.js +421 -421
- package/components/image-cropper/index.umd.cjs +1 -0
- package/components/input-group/index.esm.js +677 -593
- package/components/input-group/index.umd.cjs +1 -0
- package/components/layout/index.esm.js +326 -326
- package/components/layout/index.umd.cjs +1 -0
- package/components/list-nav/index.esm.js +272 -199
- package/components/list-nav/index.umd.cjs +1 -0
- package/components/list-view/index.css +1 -1
- package/components/list-view/index.esm.js +3739 -2273
- package/components/list-view/index.umd.cjs +1 -0
- package/components/loading/index.umd.cjs +8 -0
- package/components/locale/index.umd.cjs +1 -0
- package/components/lookup/index.css +1 -1
- package/components/lookup/index.esm.js +11255 -9004
- package/components/lookup/index.umd.cjs +1 -0
- package/components/mapping-editor/index.css +1 -1
- package/components/mapping-editor/index.esm.js +6046 -5314
- package/components/mapping-editor/index.umd.cjs +1 -0
- package/components/message-box/index.css +1 -1
- package/components/message-box/index.esm.js +511 -471
- package/components/message-box/index.umd.cjs +1 -0
- package/components/modal/index.css +1 -1
- package/components/modal/index.esm.js +438 -398
- package/components/modal/index.umd.cjs +1 -0
- package/components/nav/index.esm.js +588 -444
- package/components/nav/index.umd.cjs +3 -0
- package/components/notify/index.esm.js +59 -53
- package/components/notify/index.umd.cjs +1 -0
- package/components/number-range/index.esm.js +568 -485
- package/components/number-range/index.umd.cjs +1 -0
- package/components/number-spinner/index.esm.js +542 -454
- package/components/number-spinner/index.umd.cjs +1 -0
- package/components/order/index.css +1 -1
- package/components/order/index.esm.js +1967 -1105
- package/components/order/index.umd.cjs +1 -0
- package/components/page-footer/index.esm.js +160 -160
- package/components/page-footer/index.umd.cjs +1 -0
- package/components/page-header/index.esm.js +1282 -1151
- package/components/page-header/index.umd.cjs +1 -0
- package/components/pagination/index.esm.js +705 -555
- package/components/pagination/index.umd.cjs +1 -0
- package/components/popover/index.esm.js +71 -70
- package/components/popover/index.umd.cjs +1 -0
- package/components/progress/index.esm.js +270 -270
- package/components/progress/index.umd.cjs +3 -0
- package/components/property-editor/index.css +1 -1
- package/components/property-editor/index.esm.js +2231 -1517
- package/components/property-editor/index.umd.cjs +3 -0
- package/components/property-panel/index.esm.js +813 -909
- package/components/property-panel/index.umd.cjs +1 -0
- package/components/query-solution/index.css +1 -1
- package/components/query-solution/index.esm.js +3781 -2566
- package/components/query-solution/index.umd.cjs +1 -0
- package/components/radio-button/index.esm.js +101 -101
- package/components/radio-button/index.umd.cjs +1 -0
- package/components/radio-group/index.esm.js +538 -450
- package/components/radio-group/index.umd.cjs +1 -0
- package/components/rate/index.esm.js +238 -233
- package/components/rate/index.umd.cjs +1 -0
- package/components/response-layout/index.esm.js +155 -155
- package/components/response-layout/index.umd.cjs +1 -0
- package/components/response-layout-editor/index.css +1 -1
- package/components/response-layout-editor/index.esm.js +1243 -1180
- package/components/response-layout-editor/index.umd.cjs +1 -0
- package/components/response-toolbar/index.esm.js +988 -877
- package/components/response-toolbar/index.umd.cjs +1 -0
- package/components/schema-selector/index.css +1 -1
- package/components/schema-selector/index.esm.js +5413 -4867
- package/components/schema-selector/index.umd.cjs +8 -0
- package/components/search-box/index.esm.js +199 -199
- package/components/search-box/index.umd.cjs +1 -0
- package/components/section/index.esm.js +646 -503
- package/components/section/index.umd.cjs +1 -0
- package/components/smoke-detector/index.esm.js +144 -144
- package/components/smoke-detector/index.umd.cjs +1 -0
- package/components/spacing-editor/index.umd.cjs +1 -0
- package/components/splitter/index.esm.js +464 -391
- package/components/splitter/index.umd.cjs +1 -0
- package/components/step/index.esm.js +249 -249
- package/components/step/index.umd.cjs +1 -0
- package/components/switch/index.esm.js +483 -394
- package/components/switch/index.umd.cjs +1 -0
- package/components/tabs/index.css +1 -1
- package/components/tabs/index.esm.js +2366 -2208
- package/components/tabs/index.umd.cjs +1 -0
- package/components/tags/index.esm.js +397 -399
- package/components/tags/index.umd.cjs +1 -0
- package/components/text/index.esm.js +394 -394
- package/components/text/index.umd.cjs +1 -0
- package/components/textarea/index.esm.js +451 -367
- package/components/textarea/index.umd.cjs +1 -0
- package/components/time-picker/index.css +1 -1
- package/components/time-picker/index.esm.js +1252 -1144
- package/components/time-picker/index.umd.cjs +1 -0
- package/components/tooltip/index.umd.cjs +1 -0
- package/components/transfer/index.css +1 -1
- package/components/transfer/index.esm.js +510 -499
- package/components/transfer/index.umd.cjs +1 -0
- package/components/tree-grid/index.css +1 -1
- package/components/tree-grid/index.esm.js +5463 -9330
- package/components/tree-grid/index.umd.cjs +1 -0
- package/components/tree-view/index.css +1 -0
- package/components/tree-view/index.esm.js +4058 -2597
- package/components/tree-view/index.umd.cjs +1 -0
- package/components/uploader/index.esm.js +510 -504
- package/components/uploader/index.umd.cjs +2 -0
- package/components/verify-detail/index.esm.js +220 -220
- package/components/verify-detail/index.umd.cjs +1 -0
- package/components/video/index.esm.js +653 -394
- package/components/video/index.umd.cjs +1 -0
- package/components/weather/index.esm.js +1028 -1028
- package/components/weather/index.umd.cjs +16 -0
- package/farris.all.esm.js +20407 -18556
- package/farris.all.umd.cjs +8 -8
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
- package/types/capsule/src/capsule.props.d.ts +2 -2
- package/types/combo-list/src/components/list-container.props.d.ts +1 -1
- package/types/common/entity/entity-schema.d.ts +258 -0
- package/types/common/index.d.ts +1 -0
- package/types/common/types.d.ts +1 -1
- package/types/common/utils/encrypt.d.ts +2 -0
- package/types/component/src/component-ref.props.d.ts +4 -0
- package/types/component/src/component.props.d.ts +7 -0
- package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
- package/types/component/src/designer/use-designer-rules.d.ts +2 -2
- package/types/component/src/property-config/component.property-config.d.ts +9 -0
- package/types/components.d.ts +1 -0
- package/types/data-grid/index.d.ts +8 -2
- package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
- package/types/data-grid/src/data-grid.component.d.ts +3 -1
- package/types/data-grid/src/data-grid.props.d.ts +3 -2
- package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
- package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
- package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
- package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
- package/types/data-view/components/column-format/date.component.d.ts +4 -0
- package/types/data-view/components/column-format/enum.component.d.ts +4 -0
- package/types/data-view/components/column-format/number.component.d.ts +4 -0
- package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
- package/types/data-view/composition/types.d.ts +36 -7
- package/types/data-view/composition/use-edit.d.ts +2 -1
- package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
- package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
- package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
- package/types/designer-canvas/src/composition/types.d.ts +1 -1
- package/types/designer-canvas/src/types.d.ts +2 -2
- package/types/dynamic-form/index.d.ts +2 -1
- package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
- package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
- package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
- package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
- package/types/dynamic-form/src/designer/use-designer-rules.d.ts +2 -2
- package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
- package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
- package/types/dynamic-form/src/schema/schema-resolver.d.ts +3 -1
- package/types/dynamic-form/src/types.d.ts +12 -1
- package/types/dynamic-resolver/index.d.ts +1 -0
- package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
- package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
- package/types/dynamic-resolver/src/types.d.ts +12 -2
- package/types/dynamic-view/index.d.ts +1 -0
- package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
- package/types/index.d.ts +2 -0
- package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
- package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
- package/types/lookup/src/components/modal-container.component.d.ts +25 -0
- package/types/lookup/src/components/modal-container.props.d.ts +29 -0
- package/types/lookup/src/composition/types.d.ts +8 -0
- package/types/lookup/src/composition/use-check-props.d.ts +9 -2
- package/types/lookup/src/composition/use-dialog.d.ts +5 -1
- package/types/lookup/src/composition/use-favorite.d.ts +12 -0
- package/types/lookup/src/composition/use-http.d.ts +9 -5
- package/types/lookup/src/composition/use-input-change.d.ts +3 -0
- package/types/lookup/src/composition/use-user-data.d.ts +24 -0
- package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
- package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
- package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
- package/types/modal/src/composition/use-draggable.d.ts +2 -1
- package/types/modal/src/composition/use-shortcut.d.ts +6 -0
- package/types/modal/src/modal.component.d.ts +3 -0
- package/types/modal/src/modal.props.d.ts +4 -0
- package/types/page-header/src/page-header.props.d.ts +1 -0
- package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
- package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
- package/types/response-layout-editor/src/type.d.ts +21 -0
- package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
- package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +93 -0
- package/types/section/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +2 -2
- package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
- package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
- package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/tabs.props.d.ts +1 -0
- package/types/tags/index.d.ts +36 -5
- package/types/tree-grid/index.d.ts +8 -2
- package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
- package/types/modal/src/composition/use-esc.d.ts +0 -1
- package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
- package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function($,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js"],t):($=typeof globalThis<"u"?globalThis:$||self,t($["page-header"]={},$.Vue,$.LodashES,$.FResponseToolbar$1,$.common,$.designerCanvas))})(this,function($,t,L,xe,H,ae){"use strict";var ht=Object.defineProperty;var bt=($,t,L)=>t in $?ht($,t,{enumerable:!0,configurable:!0,writable:!0,value:L}):$[t]=L;var B=($,t,L)=>bt($,typeof t!="symbol"?t+"":t,L);const Z={},le={};function K(r){const{properties:e,title:n,ignore:i}=r,l=i&&Array.isArray(i),h=Object.keys(e).reduce((f,P)=>((!l||!i.find(j=>j==P))&&(f[P]=e[P].type==="object"&&e[P].properties?K(e[P]):L.cloneDeep(e[P].default)),f),{});return(!l||!i.find(f=>f=="id"))&&(h.id=`${n}-${Date.now()}`),h}function W(r,e={},n){const i=Z[r];if(i){let l=K(i);const h=le[r];return l=h?h({getSchemaByType:W},l,e,n):l,l}return null}function Me(r,e){const n=K(e);return Object.keys(r).reduce((i,l)=>(i[l]&&L.isPlainObject(i[l])&&L.isPlainObject(r[l])?Object.assign(i[l],r[l]):i[l]=r[l],i),n),n}function Ee(r,e){return Object.keys(r).filter(i=>r[i]!=null).reduce((i,l)=>{if(e.has(l)){const h=e.get(l);if(typeof h=="string")i[h]=r[l];else{const f=h(l,r[l],r);Object.assign(i,f)}}else i[l]=r[l];return i},{})}function ke(r,e,n=new Map){const i=Me(r,e);return Ee(i,n)}function Ve(r={}){function e(y,T,d,c){if(typeof d=="number")return c[y].length===d;if(typeof d=="object"){const m=Object.keys(d)[0],p=d[m];if(m==="not")return Number(c[y].length)!==Number(p);if(m==="moreThan")return Number(c[y].length)>=Number(p);if(m==="lessThan")return Number(c[y].length)<=Number(p)}return!1}function n(y,T,d,c){return c[y]&&c[y].propertyValue&&String(c[y].propertyValue.value)===String(d)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((y,T)=>(y.set(T,r[T]),y),i);function l(y,T){const d=y;return typeof T=="number"?[{target:d,operator:"length",param:null,value:Number(T)}]:typeof T=="boolean"?[{target:d,operator:"getProperty",param:y,value:!!T}]:typeof T=="object"?Object.keys(T).map(c=>{if(c==="length")return{target:d,operator:"length",param:null,value:T[c]};const m=c,p=T[c];return{target:d,operator:"getProperty",param:m,value:p}}):[]}function h(y){return Object.keys(y).reduce((d,c)=>{const m=l(c,y[c]);return d.push(...m),d},[])}function f(y,T){if(i.has(y.operator)){const d=i.get(y.operator);return d&&d(y.target,y.param,y.value,T)||!1}return!1}function P(y,T){return h(y).reduce((m,p)=>m&&f(p,T),!0)}function j(y,T){const d=Object.keys(y),c=d.includes("allOf"),m=d.includes("anyOf"),p=c||m,S=(p?y[p?c?"allOf":"anyOf":"allOf"]:[y]).map(D=>P(D,T));return c?!S.includes(!1):S.includes(!0)}return{parseValueSchema:j}}const z={button:{type:"button",name:"按钮",icon:"Button"},"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"},"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"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},pe={},Ae={};Ve();function ee(r,e,n=new Map,i=(f,P,j)=>P,l={},h=f=>f){return Z[e.title]=e,le[e.title]=i,pe[e.title]=l,Ae[e.title]=h,(f={})=>{const P=ke(f,e,n),j=Object.keys(r).reduce((y,T)=>(y[T]=r[T].default,y),{});return Object.assign(j,P)}}function de(r,e){return{customClass:e.class,customStyle:e.style}}function Be(r,e){return{buttons:e.buttons}}function Re(){function r(e,n){var P;const i=(P=e.toolbar)==null?void 0:P.buttons;if(!i||i.length<1)return null;const[l,h]=n.payloads,f=i.find(j=>j.id===h);return f?f.onClick||f.click:null}return{resolve:r}}const Ie=new Map([["appearance",de],["toolbar",Be]]),$e={$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 G={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}},ue=Object.assign({},G,{componentId:{type:String,default:""}}),te=ee(G,$e,Ie,Oe),fe=Re(),J=t.defineComponent({name:"FPageHeader",props:G,emits:["Click","PrePaginationClick","NextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),i=(D,E)=>{e.emit("Click",D,E)};function l(D,E){D&&E&&E.split(" ").reduce((C,g)=>(C[g]=!0,C),D)}const h=t.computed(()=>{const D={"f-page-header":!0};return l(D,r.customClass),D}),f=t.computed(()=>{const D={"f-title-icon":!0};return l(D,r.iconClass),D}),P=t.computed(()=>{const D={"f-icon":!0};return l(D,r.icon),D}),j=t.computed(()=>{const D={"f-title":!0};return l(D,r.titleContentClass),D}),y=t.computed(()=>{const D={"f-content":!0};return l(D,r.contentClass),D}),T=t.computed(()=>{const D={"f-content":!0};return l(D,r.downContentClass),D}),d=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(D){r.prePaginationDisabled||e.emit("PrePaginationClick",D)}function p(D){r.nextPaginationDisabled||e.emit("NextPaginationClick",D)}function v(){return e.slots.titleContent?t.createVNode("div",{class:j.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:f.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:d.value,onClick:m},null),t.createVNode("span",{class:c.value,onClick:p},null)]):""])}function w(){return e.slots.content?t.createVNode("div",{class:y.value},[t.createTextVNode(" "),e.slots.content()]):""}function S(){if(r.buttons&&r.buttons.length>0)return t.createVNode(xe,{customClass:r.buttonClass,items:n.value,onClick:i},null)}function A(){return e.slots.downContent?t.createVNode("div",{class:T.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,D=>{n.value=D},{deep:!0}),()=>t.createVNode("div",{class:h.value},[t.createVNode("nav",{class:"f-page-header-base"},[v(),w(),S()]),A()])}});function _e(r,e,n){var R;function i(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}i();const l=n&&n.getStyles&&n.getStyles()||"",h=n&&n.getDesignerClass&&n.getDesignerClass()||"",f=t.ref();function P(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function j(){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 d(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),N=d(g);return N||null}function c(C=e){const{componentInstance:g,designerItemElementRef:N}=C;return!g||!g.value?null:g.value.canMove?N:c(C.parent)}function m(C){return!!n&&n.canAccepts(C)}function p(){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 S(C,g){const{componentType:N}=C;let M=W(N,C,g);n&&n.onResolveNewComponentSchema&&(M=n.onResolveNewComponentSchema(C,M));const u=N.toLowerCase().replace("-","_");return M&&!M.id&&M.type===N&&(M.id=`${u}_${Math.random().toString().slice(2,6)}`),M}function A(C,g){const N=String(C.getAttribute("data-controltype")),M=C.getAttribute("data-feature"),u=M?JSON.parse(M):{};u.parentComponentInstance=f.value;let s=W(N,u);n&&n.onAcceptNewChildElement&&(s=n.onAcceptNewChildElement(C,g,s));const o=N.toLowerCase().replace("-","_");return s&&!s.id&&s.type===N&&(s.id=`${o}_${Math.random().toString().slice(2,6)}`),s}function D(C){}function E(...C){if(n&&n.getPropsConfig)return n.getPropsConfig(...C)}return f.value={canMove:P(),canSelectParent:j(),canDelete:y(),canNested:!T(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(R=e==null?void 0:e.parent)==null?void 0:R.componentInstance,schema:e==null?void 0:e.schema,styles:l,designerClass:h,canAccepts:m,getBelongedComponentInstance:d,getDraggableDesignItemElement:c,getDraggingDisplayText:p,getPropConfig:E,getDragScopeElement:v,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:D,addNewChildComponentSchema:S,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},f}class Q{constructor(e,n){B(this,"componentId");B(this,"viewModelId");B(this,"eventsEditorUtils");B(this,"formSchemaUtils");B(this,"formMetadataConverter");B(this,"designViewModelUtils");B(this,"designViewModelField");B(this,"controlCreatorUtils");B(this,"designerHostService");B(this,"schemaService",null);B(this,"metadataService",null);B(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.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 i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(l=>l.id===n)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:e.type,name:z[e.type].name}]}}}}}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"}}}}updateElementByParentContainer(e,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const l=i.contents.findIndex(f=>f.id===e),h=L.cloneDeep(i.contents[l]);i.contents.splice(l,1),i.contents.splice(l,0,h)}}class Fe 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:z["page-header"].name}]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(n,i){if(n)switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0;break}}}}}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:"点击事件"}],i=this,l=i.eventsEditorUtils.formProperties(e,i.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:l}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(h,f){const P=h.propertyValue;delete e[i.viewModelId],P&&(P.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,P.events,P))}}}}function Le(r,e){function n(P){return!1}function i(){return!1}function l(){return!1}function h(){return!0}function f(P){return new Fe(P,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:h,getPropsConfig:f,checkCanDeleteComponent:i,checkCanMoveComponent:l}}class me{constructor(e){B(this,"id","");B(this,"class","btn-secondary");B(this,"icon","");B(this,"groupId","");B(this,"order",-1);B(this,"asDropDownTop",!1);B(this,"text","");B(this,"visible",!0);B(this,"responsed",!1);B(this,"tipsEnable",!1);B(this,"tipsText","");B(this,"width",0);B(this,"onClick",()=>{});B(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(i=>n.indexOf(i)>-1).forEach(i=>{this[i]=e[i]})}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 We extends me{constructor(e){super(e)}}function ge(){function r(e){const n=[];return e.reduce((i,l)=>(l.children&&l.children.length>0?i.push(new q(l)):i.push(new We(l)),i),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:Ue}=ge();class q extends me{constructor(n){super(n);B(this,"placement","");B(this,"dropdownClass","");B(this,"menuClass","");B(this,"split",!1);B(this,"children",[]);B(this,"expanded",!1);const i=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(l=>i.indexOf(l)>-1).forEach(l=>{this[l]=n[l]}),n.children&&n.children.length&&(this.children=Ue(n.children))}}const qe=new Map([["buttons","items"],["appearance",de]]),He=new Map([["appearance",ze]]);function ze(r,e){return{class:e.class,style:e.style}}function he(r,e,n){return e}const Ge={$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"]},ne={$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",default:"btn-primary"},style:{type:"string"}},default:{}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"新增"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},be={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:""}}}}},oe={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};Z[ne.title]=ne,pe[be.title]=be;const Je=Object.assign({},oe,{componentId:{type:String,default:""}}),re=ee(oe,Ge,qe,he),ye={id:{type:String,default:""},items:{type:Object,default:{}},class:{type:String,default:""},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""},alignment:{Type:String,default:"right"}},Qe=ee(ye,ne,He,he);function Ce(){function r(n){const i={"f-icon":!0};if(n.icon){const l=n.icon.trim().split(" ");l&&l.length&&l.reduce((h,f)=>(h[f]=!0,h),i)}return i}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function Xe(r){function e(d){const c={"dropdown-menu":!0};if(d.class){const m=d.menuClass.split(" ");m&&m.length&&m.reduce((p,v)=>(p[v]=!0,p),c)}return c}function n(d){const c={disabled:!d.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},m=d.dropdownClass.split(" ");return m&&m.length&&m.reduce((p,v)=>(p[v]=!0,p),c),c}function i(d){const c={disabled:!d.enable,"dropdown-item":!0,"f-rt-btn":!0},m=d.class.split(" ");return m&&m.length&&m.reduce((p,v)=>(p[v]=!0,p),c),c}let l;const h=new Map;function f(d,c,m){var v;((v=d.target)==null?void 0:v.id)===c.id&&d.stopPropagation();const p=m?m.id:"__top_item__";if(c.children&&c.children.length&&(c.expanded=!c.expanded,c.expanded?h.set(p,c):h.delete(p)),h.has(p)&&h.get(p)!==c){const w=h.get(p);w&&(w.expanded=!1)}}function P(d,c){document.body.click(),c.enable&&c.onClick(d,c.id)}function j(d){return d.children.map(c=>c.children&&c.children.length?t.createVNode("li",{class:n(c),id:c.id,onClick:m=>c.enable&&f(m,c,d)},[t.createVNode("span",{id:c.id,class:i(c),onMouseover:m=>c.enable&&f(m,c,d)},[c.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),l(c,c)]):t.createVNode("li",{class:i(c),id:c.id,onClick:m=>P(m,c),onMouseover:m=>c.enable&&f(m,c,d)},[r.shouldShowIcon(c)&&t.createVNode("i",{class:r.iconClass(c)},null),c.text]))}function y(d,c,m){const p={display:d.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},v=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=c,S=w==null?void 0:w.getClientRects();if(w&&S&&S.length){const{top:A,width:D,left:E,right:R,height:C}=S[0],g=Math.ceil(C+A);p.top=`${g}px`,p.left=`${E}px`;const N=d.id+"_menu",M=c?c.querySelector("#"+N):null;if(M){p.display==="block"&&(M.style.display="block");const u=M.getBoundingClientRect();if(m){p.top=`${A-6}px`;const s=Math.ceil(D+E);p.left=`${s}px`}v-E-D<u.width&&(p.left=`${(m?E:R)-u.width}px`)}}return p}l=function(d,c){var w,S;const m=t.getCurrentInstance(),p=c?c.id:d.id,v=(S=(w=m==null?void 0:m.exposed)==null?void 0:w.elementRef.value)==null?void 0:S.querySelector("#"+p);return t.createVNode("ul",{class:e(d),style:y(d,v,c),id:d.id+"_menu"},[j(d)])};function T(){h.forEach(d=>{d.expanded=!1}),h.clear()}return{renderDropdownMenu:l,clearAllDropDownMenu:T}}function Ye(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:i,clearAllDropDownMenu:l}=Xe(e);function h(T){const d={"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,p)=>(m[p]=!0,m),d),d}function f(T){const d={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,p)=>(m[p]=!0,m),d)}return d}function P(T,d){T.stopPropagation();const c=d.expanded;document.body.click(),d.expanded=!c}function j(T){return t.createVNode("div",{id:T.id,class:h(T)},[t.createVNode("div",{class:f(T),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:d=>T.enable&&P(d,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)]),i(T)])}function y(){l()}return{renderToolbarDropdown:j,clearAllDropDown:y}}const{buildResponseToolbarItems:ve}=ge(),X=t.defineComponent({name:"FResponseToolbar",props:oe,emits:["click"],setup(r,e){const n=t.ref(ve(r.items)),i=t.ref(),l=t.ref(),h=t.ref(),f=t.ref(r.alignment),P={id:"__more_buttons__",text:"更多"},j=t.ref(new q(P)),y=Ce(),T=t.computed(()=>j.value.children.length>0),d=t.computed(()=>{const g={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return H.getCustomClass(g,r.customClass)}),c=t.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":f.value==="right","justify-content-start":f.value==="left"})),{renderToolbarDropdown:m,clearAllDropDown:p}=Ye(r,y);function v(){n.value.filter(g=>g.children&&g.children.length>0).forEach(g=>{g.expanded=!1}),j.value.expanded=!1,p()}function w(g){const N={btn:!0,"f-rt-btn":!0,"f-btn-ml":f.value==="right","f-btn-mr":f.value==="left","btn-icontext":!!(g.icon&&g.icon.trim())};if(g.class){const M=g.class.split(" ");M&&M.length&&M.reduce((u,s)=>(u[s]=!0,u),N)}return N}function S(g,N){document.body.click(),typeof N.onClick=="function"&&N.onClick(g,N.id),e.emit("click",g,N.id)}function A(g){return t.createVNode("button",{type:"button",class:w(g),id:g.id,disabled:!g.enable,onClick:N=>S(N,g)},[y.shouldShowIcon(g)&&t.createVNode("i",{class:y.iconClass(g)},null),g.text])}const D=new Map,E=[];function R(g){const N=h.value;let M=g;const u=Array.from(N.children),s=u[u.length-1].id==="__more_buttons__"?u[u.length-1]:null;if(s){const x=s.computedStyleMap().get("margin-left"),V=s.computedStyleMap().get("margin-right"),_=(x?x.value:0)+s.getBoundingClientRect().width+(V?V.value:0);M-=_}const o=u.filter(x=>x.id!=="__more_buttons__");for(const x of o){const V=x.computedStyleMap().get("margin-left"),_=x.computedStyleMap().get("margin-right"),I=(V?V.value:0)+x.getBoundingClientRect().width+(_?_.value:0);M<I?(D.set(x.id,!0),E.push({id:x.id,width:I})):M-=I}if(E.length)for(let x=E.length-1;x>=0;x--){const V=E[x].width;if(M>=V)M-=V,D.delete(E[x].id),E.pop();else break}const a=Object.assign({},j.value);a.children=[];const b=new q(a),k=n.value.reduce((x,V)=>(D.has(V.id)&&b.children.push(V),V.visible=!D.has(V.id),x.push(V),x),[]);j.value=b,n.value=k}const C=new ResizeObserver(g=>{if(g.length){const M=g[0].contentRect.width,s=h.value.getBoundingClientRect().width;(M<s||E.length)&&(R(M),v())}});return t.onMounted(()=>{const g=l.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=ve(r.items)},{deep:!0}),e.expose({elementRef:i}),()=>t.createVNode("div",{class:d.value,ref:i},[t.createVNode("div",{ref:l,class:c.value},[t.createVNode("div",{ref:h,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(j.value)])])])}});function Ze(r,e){const n=t.inject("design-item-context"),i=t.inject("toolbar-item-handler",()=>{});function l(){i&&i()}function h(s){const o={"dropdown-menu":!0};if(s.class){const a=s.menuClass.split(" ");a&&a.length&&a.reduce((b,k)=>(b[k]=!0,b),o)}return o}function f(s){const o={disabled:!s.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},a=s.dropdownClass.split(" ");return a&&a.length&&a.reduce((b,k)=>(b[k]=!0,b),o),o}function P(s){const o={disabled:!s.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},a=s.class.split(" ");return a&&a.length&&a.reduce((b,k)=>(b[k]=!0,b),o),o}let j;const y=new Map;function T(s,o,a){var k;((k=s.target)==null?void 0:k.id)===o.id&&s.stopPropagation();const b=a?a.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?y.set(b,o):y.delete(b)),y.has(b)&&y.get(b)!==o){const x=y.get(b);x&&(x.expanded=!1)}}function d(s){s&&(s.stopPropagation(),s.preventDefault())}function c(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const s=document.getElementsByClassName("dgComponentSelected");Array.from(s).forEach(o=>o.classList.remove("dgComponentSelected"))}function m(s){s.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function p(s){const{buttons:o=[]}=n.schema;let a=[];o.forEach(x=>{a=a.concat(x.children||[])});const b=a.findIndex(x=>x.id===s),k=b===-1?null:a[b];return{index:b,item:k}}function v(s){const{buttons:o=[]}=n.schema,a=o.findIndex(k=>k.id===s),b=a===-1?null:o[a];return{index:a,item:b}}function w(s){var b;n.schema;const{index:o,item:a}=p(s);(b=n==null?void 0:n.setupContext)==null||b.emit("selectionChange",a==null?void 0:a.type,a)}const S=function(s){const{componentType:o}=s,a=W(o,s),b=o.toLowerCase().replace("-","_");return a&&!a.id&&a.type===o&&(a.id=`${b}_${Math.random().toString().slice(2,6)}`),a},A=function(){const s={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return S(s)};function D(s,o){d(s),c(),m(s),w(o.id)}function E(s,o,a){d(s);const b=o.id,k=a&&a.id,{buttons:x=[]}=n.schema;if(!k)return;const{index:V}=v(k);if(V===-1)return;const{index:_}=p(b);_!==-1&&(x[V].children.splice(_,1),l())}function R(s,o,a){d(s);const b=a&&a.id,{buttons:k=[]}=n.schema;if(!b)return;const{index:x}=v(b);if(x===-1)return;const V=A(),_=Object.assign({},V,{text:o.text});k[x].children.push(_),l()}function C(s,o,a){d(s);const b=a&&a.id,{buttons:k=[]}=n.schema;if(!b)return;const{index:x}=v(b);if(x===-1)return;const V=A(),_=Object.assign({},V,{text:"按钮"});k[x].children.push(_),l()}function g(s,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:a=>E(a,s,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:a=>R(a,s,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:a=>C(a,s,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 N(s){return s.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:f(o),id:o.id,onClick:a=>o.enable&&T(a,o,s)},[t.createVNode("span",{id:o.id,class:P(o),onMouseover:a=>o.enable&&T(a,o,s)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),j(o,o)]):t.createVNode("li",{class:P(o),id:o.id,onClick:a=>D(a,o)},[g(o,s),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function M(s,o,a){const b={display:s.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},k=document.getElementsByTagName("body")[0].getClientRects()[0].width,x=o,V=x==null?void 0:x.getClientRects();if(x&&V&&V.length){const{top:_,width:I,left:O,right:F,height:U}=V[0],ie=Math.ceil(U+_);b.top=`${ie}px`,b.left=`${O}px`;const mt=s.id+"_menu",ce=o?o.querySelector("#"+mt):null;if(ce){b.display==="block"&&(ce.style.display="block");const Ne=ce.getBoundingClientRect();if(a){b.top=`${_-6}px`;const gt=Math.ceil(I+O);b.left=`${gt}px`}k-O-I<Ne.width&&(b.left=`${(a?O:F)-Ne.width}px`)}}return b}j=function(s,o){var x,V;const a=t.getCurrentInstance(),b=o?o.id:s.id,k=(V=(x=a==null?void 0:a.exposed)==null?void 0:x.elementRef.value)==null?void 0:V.querySelector("#"+b);return t.createVNode("ul",{class:h(s),style:M(s,k,o),id:s.id+"_menu"},[N(s)])};function u(){y.forEach(s=>{s.expanded=!1}),y.clear()}return{renderDropdownMenu:j,clearAllDropDownMenu:u}}function Ke(r,e,n){const i=t.ref(r.alignment),{renderDropdownMenu:l,clearAllDropDownMenu:h}=Ze(e,n),f=t.inject("design-item-context"),P=t.inject("toolbar-item-handler",()=>{});function j(){P&&P()}function y(u){const s={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":i.value==="right","f-btn-mr":i.value==="left"},o=u.dropdownClass.split(" ");return o&&o.length&&o.reduce((a,b)=>(a[b]=!0,a),s),s}function T(u){const s={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((a,b)=>(a[b]=!0,a),s)}return s}function d(u){u&&(u.stopPropagation(),u.preventDefault())}function c(u,s){d(u);const o=s.expanded;document.body.click(),s.expanded=!o}const m=function(u){const{componentType:s}=u,o=W(s,u),a=s.toLowerCase().replace("-","_");return o&&!o.id&&o.type===s&&(o.id=`${a}_${Math.random().toString().slice(2,6)}`),o},p=function(){const u={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return m(u)};function v(u){const s=f.schema.buttons||f.schema.contents,o=s==null?void 0:s.findIndex(b=>b.id===u),a=o===-1?null:s[o];return{index:o,toolbarItem:a}}function w(u,s){var V;const{index:o,toolbarItem:a}=v(s);if(o===-1)return;const b=a.text||"按钮",k=p(),x=Object.assign({},k,{text:b});(V=f.schema.buttons)==null||V.push(x),j()}function S(u,s){const{index:o,toolbarItem:a}=v(s);if(o===-1)return;const b=a.text||"按钮",k=p(),x=Object.assign({},k,{text:b}),V=f.schema.buttons[o].children||[];V.push(x),f.schema.buttons[o].children=V,j()}function A(u,s){const o=f.schema.buttons||f.schema.contents,a=o==null?void 0:o.findIndex(b=>b.id===s);a!==-1&&(o.splice(a,1),j())}function D(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:s=>A(s,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:s=>w(s,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:s=>S(s,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(s=>s.classList.remove("dgComponentFocused"));const u=document.getElementsByClassName("dgComponentSelected");Array.from(u).forEach(s=>s.classList.remove("dgComponentSelected"))}function R(u){u.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function C(u){var b;const s=f.schema.buttons||f.schema.contents,o=s==null?void 0:s.findIndex(k=>k.id===u);if(o===-1)return;const a=s[o];(b=f==null?void 0:f.setupContext)==null||b.emit("selectionChange","response-toolbar-item",a)}function g(u,s){d(u),E(),R(u),d(u),c(u,s),C(s.id)}function N(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:s=>u.enable&&g(s,u)},[D(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)]),l(u)])}function M(){h()}return{renderToolbarDropdown:N,clearAllDropDown:M}}function et(){function r(e){var l,h;if(!e)return!1;const n=((l=e.targetContainer)==null?void 0:l.componentInstance)&&e.targetContainer.componentInstance.value;if(!n)return!1;const i=(h=n.schema.appearance)==null?void 0:h.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const f=n.schema.type,P=(f==="response-form"||f==="content-container")&&i&&i.includes("farris-form");if(n.schema.type!=="response-layout-item"&&!P)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:r}}const tt={$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"},"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-grid":{description:"",type:"object",properties:{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}}}}}}}},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"}}},se=new Map;function we(){function r(p,v,w,S){var A;if(typeof w=="number")return((A=S[p])==null?void 0:A.length)===w;if(typeof w=="object"){const D=Object.keys(w)[0],E=w[D];if(D==="not")return Number(S[p].length)!==Number(E);if(D==="moreThan")return Number(S[p].length)>=Number(E);if(D==="lessThan")return Number(S[p].length)<=Number(E)}return!1}function e(p,v,w,S){return typeof w=="boolean"?S.childrenClassList.includes(v)===!!w:!1}function n(p,v,w,S){return typeof w=="boolean"?S.parentClassList.includes(v)===!!w:!1}function i(p,v,w,S){return typeof w=="boolean"?S.parentClassList.includes(v)===!!w:!1}const l=new Map([["length",r],["hasChildren",e],["hasSibling",i],["hasParent",n]]);function h(p,v){const w=p;return typeof v=="number"?[{target:w,operator:"length",param:null,value:Number(v)}]:typeof v=="object"?Object.keys(v).map(S=>{if(S==="length")return{target:w,operator:"length",param:null,value:v[S]};const A=S,D=v[S];return{target:w,operator:p==="children"?"hasChildren":p==="parent"?"hasParent":"hasSibling",param:A,value:D}}):[]}function f(p,v){if(l.has(p.operator)){const w=l.get(p.operator);return w&&w(p.target,p.param,p.value,v)||!1}return!1}function P(p,v){return Object.keys(p).reduce((D,E)=>{const R=h(E,p[E]);return D.push(...R),D},[]).reduce((D,E)=>D&&f(E,v),!0)}function j(p,v){const w=Object.keys(p),S=w.includes("allOf"),A=w.includes("anyOf"),D=S||A,C=(D?p[D?S?"allOf":"anyOf":"allOf"]:[p]).map(N=>P(N,v));return S?!C.includes(!1):C.includes(!0)}function y(p,v){const w=p.const;return w?typeof w=="boolean"?w:typeof w=="object"?j(w,v):!1:!1}function T(p){return v=>{const w={canAccept:!0,fixed:!1,hidePadding:!1};return p&&p.properties&&Object.keys(p.properties).reduce((S,A)=>{const D=p.properties[A];return S[A]=y(D,v),S},w),w}}function d(p,v,w){if(v.type==="object"&&v.properties){const{rules:S,contents:A}=v.properties;w.set(p,T(S)),A&&Object.keys(A.properties).forEach(D=>d(D,A.properties[D],w))}}function c(){const{properties:p}=tt;Object.keys(p).forEach(v=>{d(v,p[v],se)})}function m(p,v){const w={canAccept:!0,fixed:!1,hidePadding:!0};return se.has(p)?se.get(p)(v):w}return c(),{getRuleValue:m}}class nt 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:z["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 ot(r,e,n,i){const l=we(),h=t.ref(!1),f=t.ref(!1);let P=!0,j=!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 d(C){return!et().basalDragulaRuleForContainer(C)||!P||!T(C),!1}function c(){h.value=!1,f.value=!1;const C=r,g=C.appearance&&C.appearance.class||"",N=g.split(" "),M=C.buttons||[],u=M.length?M[0]:null,s=u&&u.appearance?u.appearance.class:"",o=s?s.split(" "):[],a=M.length?M.reduce((O,F)=>{const U=F&&F.appearance?F.appearance.class:"",ie=U?U.split(" "):[];return O.push(...ie),O},[]):[],b=n==null?void 0:n.schema,k=b&&b.appearance&&b.appearance.class||"",x=k?k.split(" "):[];y={componentClass:g,componentClassList:N,childContents:M,firstChildContent:u,firstChildClass:s,firstChildClassList:o,parent:b,parentClass:k,parentClassList:x,children:M,childrenClassList:a};const{canAccept:V,fixed:_,hidePadding:I}=l.getRuleValue(N[0],y);return P=V,j=I,!0}function m(C){}function p(){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,N){const M=r;if((M.appearance&&M.appearance.class||"").split(" ").includes("f-form-layout")){const o=String(C.innerText),a=W("form-group");return a.editor=N,a.label=o,a}return N}function S(){return!1}function A(){return!1}function D(){return!0}function E(){return j}function R(C){return new nt(C,e).getPropertyConfig(r)}return{canAccepts:d,checkCanAddComponent:D,checkCanDeleteComponent:A,checkCanMoveComponent:S,getStyles:p,hideNestedPaddingInDesginerView:E,onAcceptNewChildElement:w,onAcceptMovedChildElement:m,onResolveNewComponentSchema:v,resolveComponentContext:c,getPropsConfig:R,triggerBelongedComponentToMoveWhenMoved:h,triggerBelongedComponentToDeleteWhenDeleted:f}}const rt={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 st(r,e){const n=e.getBoundingClientRect(),i=r.getBoundingClientRect(),l=i.top>=n.top,h=i.top<=n.bottom;return l&&h}function it(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 i=e.querySelector(".component-btn-group");if(i){if(!st(e,r)){i.style.display="none";return}i.style.display="";const h=i.getBoundingClientRect(),f=i.querySelector("div");if(f){const P=f.getBoundingClientRect();f.style.top=h.top+"px",f.style.left=h.left-P.width+"px"}}}function ct(r,e,n){var R;function i(){}const l="",h=t.ref();function f(){return!0}function P(){return!1}function j(){return!0}function y(){return!0}function T(){return!0}function d(C){if(!C||!C.value)return null;const g=t.ref(C==null?void 0:C.value.parent),N=d(g);return N||null}function c(C=e){const{componentInstance:g,designerItemElementRef:N}=C;return!g||!g.value?null:g.value.canMove||g.value.canAdd||g.value.canDelete?N:c(C.parent)}function m(C){return!!n}function p(){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 S(C){const{componentType:g}=C;let N=W(g,C);const M=g.toLowerCase().replace("-","_");return N&&!N.id&&N.type===g&&(N.id=`${M}_${Math.random().toString().slice(2,6)}`),N}function A(C,g){const N=String(C.getAttribute("data-controltype")),M=C.getAttribute("data-feature"),u=M?JSON.parse(M):{};u.parentComponentInstance=h.value;let s=W(N,u);const o=N.toLowerCase().replace("-","_");return s&&!s.id&&s.type===N&&(s.id=`${o}_${Math.random().toString().slice(2,6)}`),s}function D(C){}function E(...C){return[]}return h.value={canMove:f(),canSelectParent:P(),canAdd:y(),canDelete:j(),canNested:!T(),contents:[],elementRef:r,parent:(R=e.parent)==null?void 0:R.componentInstance,schema:e.schema,styles:l,canAccepts:m,getBelongedComponentInstance:d,getDraggableDesignItemElement:c,getDraggingDisplayText:p,getPropConfig:E,getDragScopeElement:v,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:D,addNewChildComponentSchema:S,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},h}const Pe=t.defineComponent({name:"FDesignerInnerItem",props:rt,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),i=t.ref(r.canAdd),l=t.ref(r.canDelete),h=t.ref(!1),f=t.ref(r.contentKey),P=t.ref(r.childType),j=t.ref(r.childLabel),y=t.ref(r.modelValue),T=t.ref(""),d=t.ref(),c=t.inject("canvas-dragula"),m=t.ref(),p=t.inject("design-item-context"),v={designerItemElementRef:d,componentInstance:m,schema:y.value,parent:p,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||l.value,"farris-nested":h.value,"can-move":n.value,"d-none":d.value&&d.value.classList.contains("d-none")})),S=t.computed(()=>{const o={};return T.value&&T.value.split(";").reduce((a,b)=>{const[k,x]=b.split(":");return k&&(a[k]=x),a},o),o});function A(o,a){if(p&&p.schema[f.value]){const b=p.schema[f.value].findIndex(k=>k.id===a.id);if(b>-1){const k=p.schema[f.value].length,x=p.schema[f.value][b%k];p.designerItemElementRef.value.querySelector(`#${x.id}-design-item`),p.schema[f.value].splice(b,1),p.componentInstance.value.updateDragAndDropRules(),Y.value++,e.emit("removeComponent")}}}function D(o){if(m.value.addNewChildComponentSchema){const a={componentType:P.value,label:j.value,parentComponentInstance:m.value,targetPosition:-1},b=m.value.addNewChildComponentSchema(a);y.value[f.value].push(b),e.emit("addComponent")}}function E(){return i.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{D()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function R(o){return l.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(a=>A(a,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,[E(),C(),R(o)])])}t.watch(()=>r.modelValue,o=>{y.value=o,v.schema=o});function N(o){const a=o.target;it(a)}function M(){var o,a;(a=(o=y.value)==null?void 0:o.contents)!=null&&a.length&&d.value&&d.value.addEventListener("scroll",N)}function u(){const o=d.value,a=t.ref(o.children[1]);return ct(a,v).value}t.onMounted(()=>{if(d.value){const o=d.value.querySelector(`[data-dragref='${y.value.id}-container']`);m.value=o&&o.componentInstance?o.componentInstance.value:u(),c&&o&&c.attachComponents(o,y.value),h.value=m.value.canNested!==void 0?m.value.canNested:h.value,i.value=m.value.canAdd!==void 0?m.value.canAdd:i.value,l.value=m.value.canDelete!==void 0?m.value.canDelete:l.value,n.value=m.value.canMove!==void 0?m.value.canMove:n.value,T.value=m.value.styles||"",d.value&&(d.value.componentInstance=m,d.value.designItemContext=v)}M(),Y.value++}),t.onBeforeUnmount(()=>{d.value&&d.value.removeEventListener("scroll",N)});function s(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(b=>b.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());const a=d.value;if(a){const b=document.getElementsByClassName("dgComponentSelected");if(!(b&&b.length===1&&b[0]===d.value)){Array.from(b).forEach(V=>V.classList.remove("dgComponentSelected")),a.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:d,class:w.value,style:S.value,onClick:s},[g(y.value),e.slots.default&&e.slots.default()])}});class at 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,i){}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}];var i=this;const l=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),h={};h[i.viewModelId]={type:"events-editor",editor:{initialData:l}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:h,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,P){const j=f.propertyValue;delete e[i.viewModelId],j&&(j.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,j.events,j))}}}}class lt 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:z["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{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:"onClick",name:"点击事件"}],i=this,l=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),h={};h[i.viewModelId]={type:"events-editor",editor:{initialData:l}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:h,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,P){const j=f.propertyValue;delete e[i.viewModelId],j&&(j.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,j.events,j))}}}}function pt(r,e){we();const n=t.ref(!1),i=t.ref(!1);let l=!1,h=!1;function f(w){return!1}function P(w){}function j(){return""}function y(w,S){return S.text=w.label,S}function T(w,S,A){const D=r.schema;if((D.appearance&&D.appearance.class||"").split(" ").includes("f-form-layout")){const C=String(w.innerText),g=W("form-group");return g.editor=A,g.label=C,g}return A}function d(){return!1}function c(){return!h}function m(){return!1}function p(){return l}function v(w){let S;switch(r.schema.type){case"tab-toolbar-item":S=new at(w,e);break;default:S=new lt(w,e)}return S.getPropertyConfig(r.schema)}return{canAccepts:f,checkCanAddComponent:m,checkCanDeleteComponent:c,checkCanMoveComponent:d,getStyles:j,hideNestedPaddingInDesginerView:p,onAcceptNewChildElement:T,onAcceptMovedChildElement:P,onResolveNewComponentSchema:y,getPropsConfig:v,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:i}}const Te=t.defineComponent({name:"FResponseToolbarItemDesign",props:ye,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),i={id:"__more_buttons__",text:"More"},l=t.ref(new q(i));t.computed(()=>l.value.children.length>0);const h=t.ref(),f=t.inject("designer-host-service"),P=t.inject("design-item-context"),j=pt(P,f),y=ae.useDesignerInnerComponent(h,P,j);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{h.value.componentInstance=y}),e.expose(y.value);function T(){const m={"f-icon":!0},p=r.icon?r.icon.trim():"";return H.getCustomClass(m,p)}function d(){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())};return H.getCustomClass(m,r.class)}return t.onMounted(()=>{}),t.onUnmounted(()=>{}),()=>t.createVNode("div",{ref:h,"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},[d()&&t.createVNode("i",{class:T()},null),r.text])])}}),De=t.defineComponent({name:"FResponseToolbarDesign",props:Je,emits:["Click"],setup(r,e){const n=t.ref(r.items);let i=new Array(n.value.length).fill(t.ref());const l=t.ref(),h=t.ref(),f=t.ref(r.alignment),P={id:"__more_buttons__",text:"More"},j=t.ref(new q(P)),y=Ce();t.computed(()=>j.value.children.length>0);const T=t.ref(),d=t.inject("designer-host-service"),c=t.inject("design-item-context"),m=ot(c.schema,d,c),p=ae.useDesignerInnerComponent(T,c,m);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{T.value.componentInstance=p}),e.expose(p.value);const v=t.computed(()=>{const u={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return H.getCustomClass(u,r.customClass)}),w=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":f.value==="right","justify-content-start":f.value==="left"})),{renderToolbarDropdown:S,clearAllDropDown:A}=Ke(r,y,p);function D(){n.value.filter(u=>u.children&&u.children.length>0).forEach(u=>{u.expanded=!1}),j.value.expanded=!1,A()}const E=new Map,R=[];function C(u){const s=h.value;let o=u;const a=Array.from(s.children),b=a[a.length-1].id==="__more_buttons__"?a[a.length-1]:null;if(b){const I=b.computedStyleMap().get("margin-left"),O=b.computedStyleMap().get("margin-right"),F=(I?I.value:0)+b.getBoundingClientRect().width+(O?O.value:0);o-=F}const k=a.filter(I=>I.id!=="__more_buttons__");for(const I of k){const O=I.computedStyleMap().get("margin-left"),F=I.computedStyleMap().get("margin-right"),U=(O?O.value:0)+I.getBoundingClientRect().width+(F?F.value:0);o<U?(E.set(I.id,!0),R.push({id:I.id,width:U})):o-=U}if(R.length)for(let I=R.length-1;I>=0;I--){const O=R[I].width;if(o>=O)o-=O,E.delete(R[I].id),R.pop();else break}const x=Object.assign({},j.value);x.children=[];const V=new q(x),_=n.value.reduce((I,O)=>(E.has(O.id)&&V.children.push(O),O.visible=!E.has(O.id),I.push(O),I),[]);j.value=V,n.value=_}const g=new ResizeObserver(u=>{if(u.length){const o=u[0].contentRect.width,b=h.value.getBoundingClientRect().width;(o<b||R.length)&&C(o)}});t.onMounted(()=>{const u=l.value;g.observe(u),document.body.addEventListener("click",D)}),t.onUnmounted(()=>{g.disconnect(),document.body.removeEventListener("click",D)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,u=>{i=new Array(n.value.length).fill(t.ref())});function N(u,s,o,a){c&&c.setupContext&&c.setupContext.emit("selectionChange",u,s,o,a)}function M(){const u=h.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:l,class:w.value},[t.createVNode("div",{ref:h,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((u,s)=>t.createVNode(Pe,{ref:i[s],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:N,onRemoveComponent:M},{default:()=>{var o;return[t.createVNode(Te,{id:u.id,disable:u.disable,text:u.text,icon:u.icon,class:((o=u.appearance)==null?void 0:o.class)||"btn-secondary",alignment:r.alignment||"right",componentId:r.componentId},null)]}}))])])])}}),je=re;X.register=(r,e,n)=>{r["response-toolbar"]=X,e["response-toolbar"]=re},X.registerDesigner=(r,e,n)=>{r["response-toolbar"]=De,e["response-toolbar"]=re,r["response-toolbar-item"]=Te,e["response-toolbar-item"]=Qe},H.withInstall(X);const dt={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}},Se=t.defineComponent({name:"FDesignerTemplateItem",props:dt,emits:["selectionChange"],setup(r,e){const n=t.ref(),i=t.computed(()=>({"farris-component":!0}));function l(h){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(P=>P.classList.remove("dgComponentFocused")),h&&(h.preventDefault(),h.stopPropagation());const f=n.value;if(f){const P=document.getElementsByClassName("dgComponentSelected");P&&P.length===1&&P[0]===n.value||(Array.from(P).forEach(y=>y.classList.remove("dgComponentSelected")),f.classList.add("dgComponentFocused"))}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:i.value,onClick:l},[e.slots.default&&e.slots.default()])}}),ut=t.defineComponent({name:"FPageHeaderDesign",props:ue,emits:["Click"],setup(r,e){const n=t.ref(),i=t.inject("designer-host-service"),l=t.inject("design-item-context"),h=Le(l.schema,i),f=_e(n,l,h),P=t.ref(l.schema.toolbar||{type:"response-toolbar",buttons:[]}),j=t.ref(je(P.value));t.onMounted(()=>{n.value.componentInstance=f}),t.watch(()=>l.schema.toolbar,()=>{P.value=l.schema.toolbar||{type:"response-toolbar",buttons:[]},j.value=je(P.value)},{deep:!0});const y=t.computed(()=>[...j.value.items]);function T(d,c,m,p){l&&l.setupContext&&l.setupContext.emit("selectionChange",d,c,m,p)}return e.expose(f.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(Se,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(Se,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(Pe,{class:"col-6 text-right",modelValue:P.value,"onUpdate:modelValue":d=>P.value=d,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:P.value.id,componentId:r.componentId,onSelectionChange:T},{default:()=>[t.createVNode(De,{customClass:"w-100",items:y.value,componentId:r.componentId},null)]})])])}}),ft={install(r){r.component(J.name,J)},register(r,e,n,i){r["page-header"]=J,e["page-header"]=te,i["page-header"]={eventHandlerResolver:fe}},registerDesigner(r,e,n){r["page-header"]=ut,e["page-header"]=te}};$.PageHeader=J,$.default=ft,$.eventHandlerResolver=fe,$.pageHeaderDesignerProps=ue,$.pageHeaderProps=G,$.propsResolver=te,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|