@farris/ui-vue 1.5.7 → 1.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/avatar/index.esm.js +5 -5
- package/components/avatar/index.umd.cjs +1 -1
- package/components/component/index.esm.js +5 -5
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +5 -5
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +5 -5
- package/components/content-container/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +1082 -1421
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +908 -897
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/dynamic-form/index.esm.js +5 -5
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-view/index.esm.js +5 -5
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +5 -5
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +13 -12
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +5 -5
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +5 -5
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +5 -5
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +862 -3625
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +5 -5
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +77 -76
- package/components/query-solution/index.umd.cjs +6 -6
- package/components/response-layout/index.esm.js +5 -5
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +500 -3662
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +3008 -7347
- package/components/schema-selector/index.umd.cjs +6 -6
- package/components/section/index.esm.js +117 -7544
- package/components/section/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +545 -4943
- package/components/tabs/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +100 -5841
- package/components/textarea/index.umd.cjs +2 -2
- package/components/time-picker/index.esm.js +5 -5
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/video/index.esm.js +5 -5
- package/components/video/index.umd.cjs +1 -1
- package/designer/button-edit/index.css +1 -0
- package/designer/button-edit/index.esm.js +1556 -0
- package/designer/button-edit/index.umd.cjs +1 -0
- package/designer/checkbox/index.esm.js +207 -0
- package/designer/checkbox/index.umd.cjs +1 -0
- package/designer/checkbox-group/index.esm.js +377 -0
- package/designer/checkbox-group/index.umd.cjs +1 -0
- package/designer/data-grid/index.css +1 -0
- package/designer/data-grid/index.esm.js +14332 -0
- package/designer/data-grid/index.umd.cjs +20 -0
- package/designer/data-view/index.esm.js +271 -0
- package/designer/data-view/index.umd.cjs +1 -0
- package/designer/date-picker/index.esm.js +1879 -0
- package/designer/date-picker/index.umd.cjs +1 -0
- package/designer/drawer/index.css +1 -0
- package/designer/drawer/index.esm.js +463 -0
- package/designer/drawer/index.umd.cjs +1 -0
- package/designer/farris-designer.all.esm.js +16827 -0
- package/designer/farris-designer.all.umd.cjs +32 -0
- package/designer/index.css +1 -0
- package/designer/input-group/index.esm.js +647 -0
- package/designer/input-group/index.umd.cjs +1 -0
- package/designer/radio-group/index.esm.js +6959 -0
- package/designer/radio-group/index.umd.cjs +1 -0
- package/designer/response-toolbar/index.esm.js +3015 -0
- package/designer/response-toolbar/index.umd.cjs +1 -0
- package/designer/section/index.esm.js +744 -0
- package/designer/section/index.umd.cjs +1 -0
- package/designer/tabs/index.esm.js +2200 -0
- package/designer/tabs/index.umd.cjs +1 -0
- package/designer/textarea/index.esm.js +249 -0
- package/designer/textarea/index.umd.cjs +1 -0
- package/designer/tree-grid/index.css +1 -0
- package/designer/tree-grid/index.esm.js +1673 -0
- package/designer/tree-grid/index.umd.cjs +1 -0
- package/farris.all.esm.js +30447 -30444
- package/farris.all.umd.cjs +16 -16
- package/package.json +1 -1
- package/types/date-picker/designer.d.ts +29 -0
- package/types/date-picker/index.d.ts +2 -1
- package/types/date-picker/src/date-picker.props.d.ts +0 -5
- package/types/date-picker/src/designer/date-picker.design.props.d.ts +22 -0
- package/types/designer-canvas/index.d.ts +2 -2
- package/types/response-toolbar/designer.d.ts +37 -0
- package/types/response-toolbar/index.d.ts +6 -5
- package/types/response-toolbar/src/composition/toolbar-item-dragula.d.ts +1 -2
- package/types/response-toolbar/src/composition/types.d.ts +1 -1
- package/types/response-toolbar/src/designer/response-toolbar.design.props.d.ts +13 -0
- package/types/response-toolbar/src/designer/use-designer-item-rules.d.ts +1 -2
- package/types/response-toolbar/src/designer/use-designer-rules.d.ts +1 -2
- 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.props.d.ts +0 -12
- package/types/response-toolbar/src/schema/schema-resolver.d.ts +1 -1
- package/types/section/designer.d.ts +26 -0
- package/types/section/index.d.ts +1 -0
- package/types/section/src/designer/section-header.design.component.d.ts +2 -2
- package/types/section/src/designer/section-toolbar-item.design.props.d.ts +16 -0
- package/types/section/src/designer/section-toolbar-item.props.d.ts +0 -1
- package/types/section/src/designer/section-toolbar.design.component.d.ts +2 -2
- package/types/section/src/designer/section.design.props.d.ts +11 -0
- package/types/section/src/designer/use-designer-rules.d.ts +1 -2
- package/types/section/src/property-config/section.property-config.d.ts +1 -1
- package/types/section/src/schema/schema-resolver.d.ts +1 -1
- package/types/section/src/section.props.d.ts +0 -10
- package/types/tabs/designer.d.ts +28 -0
- package/types/tabs/index.d.ts +1 -0
- package/types/tabs/src/components/tab-page.props.d.ts +0 -1
- package/types/tabs/src/designer/tab-page.design.props.d.ts +1 -0
- package/types/tabs/src/designer/tabs.design.props.d.ts +12 -0
- package/types/tabs/src/tabs.props.d.ts +0 -11
- package/types/textarea/designer.d.ts +28 -0
- package/types/textarea/index.d.ts +0 -15
- package/types/textarea/src/designer/textarea.design.props.d.ts +6 -0
- package/types/textarea/src/designer/use-design-rules.d.ts +1 -2
- package/types/textarea/src/property-config/textarea.property-config.d.ts +1 -1
- package/types/textarea/src/schema/schema-resolver.d.ts +1 -1
- package/types/textarea/src/textarea.props.d.ts +0 -5
- package/components/textarea/index.css +0 -1
- /package/{components/section → designer/radio-group}/index.css +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(J,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("vue"),require("lodash-es"),require("bignumber.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","bignumber.js","../common/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js"],u):(J=typeof globalThis<"u"?globalThis:J||self,u(J["response-toolbar"]={},J.Vue,J.LodashES,J.BigNumber,J.common,J.designerCanvas,J.propertyPanel))})(this,function(J,u,oe,Mn,le,Oe,ft){"use strict";var In=Object.defineProperty;var Pn=(J,u,oe)=>u in J?In(J,u,{enumerable:!0,configurable:!0,writable:!0,value:oe}):J[u]=oe;var U=(J,u,oe)=>Pn(J,typeof u!="symbol"?u+"":u,oe);class Ae{constructor(t){U(this,"id","");U(this,"class","btn-secondary");U(this,"icon","");U(this,"groupId","");U(this,"order",-1);U(this,"asDropDownTop",!1);U(this,"text","");U(this,"visible",!0);U(this,"shown",!0);U(this,"responsed",!1);U(this,"tipsEnable",!1);U(this,"tipsText","");U(this,"width",0);U(this,"dropdownClass","");U(this,"onClick",()=>{});U(this,"options");var n,r;this.options=t;const e=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","dropdownClass","onClick"];Object.keys(t).filter(i=>e.indexOf(i)>-1).forEach(i=>{i==="visible"?this[i]=t[i]===void 0?!0:t[i]:this[i]=t[i]}),this.shown=this.visible,(n=t.appearance)!=null&&n.class&&(this.class=(r=t.appearance)==null?void 0:r.class)}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:u.computed(()=>!0)}setWidth(t){this.width=parseInt(t,10)}getWidth(){return this.visible?this.width:!1}}class je extends Ae{constructor(t){super(t)}}function _e(){function o(t){const e=[];return t.reduce((n,r)=>(r.children&&r.children.length>0?n.push(new ge(r)):n.push(new je(r)),n),e),e}return{buildResponseToolbarItems:o}}const{buildResponseToolbarItems:pt}=_e();class ge extends Ae{constructor(e){super(e);U(this,"placement","");U(this,"visible",!0);U(this,"dropdownClass","");U(this,"menuClass","");U(this,"split",!1);U(this,"children",[]);U(this,"expanded",!1);U(this,"shown",!0);const n=["visible","icon","isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(e).filter(r=>n.indexOf(r)>-1).forEach(r=>{r==="visible"?this[r]=e[r]===void 0?!0:e[r]:this[r]=e[r]}),this.shown=this.visible,e.children&&e.children.length&&(this.children=pt(e.children))}}class gt{constructor(t,e){U(this,"id");U(this,"name");U(this,"presetId",[]);U(this,"responsedIndex",[]);U(this,"width");this.id=t,this.name=e,this.width=0}setWidth(t){this.width=parseInt(t+"",10)}getWidth(){return this.width}setPreset(t){Array.isArray(t)?this.presetId=this.presetId.concat(t):this.presetId.push(t)}delPreset(){this.presetId=[]}removeResponsed(t){this.responsedIndex.splice(t,1)}setResponsed(t){Array.isArray(t)?this.responsedIndex=this.responsedIndex.concat(t):this.responsedIndex.push(t)}isResponsing(){return this.responsedIndex.length>0}isResponsed(){return this.presetId.length===this.responsedIndex.length}}const $e={},Fe={};function ye(o){const{properties:t,title:e,ignore:n}=o,r=n&&Array.isArray(n),i=Object.keys(t).reduce((a,h)=>((!r||!n.find(d=>d===h))&&(a[h]=t[h].type==="object"&&t[h].properties?ye(t[h]):oe.cloneDeep(t[h].default)),a),{});if(e&&(!r||!n.find(a=>a==="id"))){const a=e.toLowerCase().replace(/-/g,"_");i.id=`${a}_${Math.random().toString().slice(2,6)}`}return i}function ht(o){const{properties:t,title:e,required:n}=o;if(n&&Array.isArray(n)){const r=n.reduce((i,a)=>(i[a]=t[a].type==="object"&&t[a].properties?ye(t[a]):oe.cloneDeep(t[a].default),i),{});if(e&&n.find(i=>i==="id")){const i=e.toLowerCase().replace(/-/g,"_");r.id=`${i}_${Math.random().toString().slice(2,6)}`}return r}return{type:e}}function he(o,t={},e){const n=$e[o];if(n){let r=ht(n);const i=Fe[o];return r=i?i({getSchemaByType:he},r,t,e):r,r}return null}function mt(o,t){const e=ye(t);return Object.keys(e).reduce((n,r)=>(Object.prototype.hasOwnProperty.call(o,r)&&(n[r]&&oe.isPlainObject(n[r])&&oe.isPlainObject(o[r]||!o[r])?Object.assign(n[r],o[r]||{}):n[r]=o[r]),n),e),e}function Le(o,t){return Object.keys(o).filter(n=>o[n]!=null).reduce((n,r)=>{if(t.has(r)){const i=t.get(r);if(typeof i=="string")n[i]=o[r];else{const a=i(r,o[r],o);Object.assign(n,a)}}else n[r]=o[r];return n},{})}function bt(o,t,e=new Map){const n=mt(o,t);return Le(n,e)}function vt(o={}){function t(f,v,g,b){if(typeof g=="number")return b[f].length===g;if(typeof g=="object"){const m=Object.keys(g)[0],c=g[m];if(m==="not")return Number(b[f].length)!==Number(c);if(m==="moreThan")return Number(b[f].length)>=Number(c);if(m==="lessThan")return Number(b[f].length)<=Number(c)}return!1}function e(f,v,g,b){return b[f]&&b[f].propertyValue&&String(b[f].propertyValue.value)===String(g)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(o).reduce((f,v)=>(f.set(v,o[v]),f),n);function r(f,v){const g=f;return typeof v=="number"?[{target:g,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:g,operator:"getProperty",param:f,value:!!v}]:typeof v=="object"?Object.keys(v).map(b=>{if(b==="length")return{target:g,operator:"length",param:null,value:v[b]};const m=b,c=v[b];return{target:g,operator:"getProperty",param:m,value:c}}):[]}function i(f){return Object.keys(f).reduce((g,b)=>{const m=r(b,f[b]);return g.push(...m),g},[])}function a(f,v){if(n.has(f.operator)){const g=n.get(f.operator);return g&&g(f.target,f.param,f.value,v)||!1}return!1}function h(f,v){return i(f).reduce((m,c)=>m&&a(c,v),!0)}function d(f,v){const g=Object.keys(f),b=g.includes("allOf"),m=g.includes("anyOf"),c=b||m,_=(c?f[c?b?"allOf":"anyOf":"allOf"]:[f]).map(N=>h(N,v));return b?!_.includes(!1):_.includes(!0)}return{parseValueSchema:d}}const yt={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"filter-bar":{type:"filter-bar",name:"筛选条"}},Ct={},wt={};vt();function qe(o,t,e=new Map,n=(a,h,d,f)=>h,r={},i=a=>a){return $e[t.title]=t,Fe[t.title]=n,Ct[t.title]=r,wt[t.title]=i,(a={},h=!0)=>{if(!h)return Le(a,e);const d=bt(a,t,e),f=Object.keys(o).reduce((v,g)=>(v[g]=o[g].default,v),{});return Object.assign(f,d)}}function xt(o,t){return{customClass:t.class,customStyle:t.style}}function Tt(o,t){if(!o||o.length<1)return null;for(const e of o){if(e.id===t)return e;if(e.children){const n=e.children.find(r=>r.id===t);if(n)return n}}return null}function St(){function o(t,e){const n=t.buttons;if(!n||n.length<1)return null;const[r,i]=e.payloads,a=Tt(n,i);return a?a.onClick||a.click:null}return{resolve:o}}const Et=new Map([["buttons","items"],["appearance",xt]]);function We(o,t,e){return t}const It={$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",default:""}}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]},buttonSize:{type:"string",default:""},visible:{description:"",type:"boolean",default:!0}},required:["id","type","buttons"],events:{onClick:"点击事件"}},Pt={$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:""}}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},onClick:{description:"点击事件",type:"string",default:""},tipsEnable:{description:"",type:"boolean",default:!1},tipsText:{description:"",type:"string",default:""},dropdownClass:{description:"处于下拉菜单时的样式",type:"string",default:""},split:{description:"",type:"boolean",default:!1}},required:["id","type","text"]},Ce={id:{type:String,default:""},customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]},visible:{type:Boolean,default:!0}},Mt=Object.assign({},Ce,{componentId:{type:String,default:""}}),we=qe(Ce,It,Et,We),Ue={id:{type:String,default:""},item:{type:Object,default:{}},items:{type:Object,default:{}},class:{type:String,default:"btn-secondary"},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""},expanded:{type:Boolean,default:!1},alignment:{Type:String,default:"right"},split:{type:Boolean,default:!1},isDP:{type:Boolean,default:!1},isDPItem:{type:Boolean,default:!1}},kt=qe(Ue,Pt,void 0,We),Dt=St();function xe(){function o(e){const n={"f-icon":!0};if(e.icon){const r=e.icon.trim().split(" ");r&&r.length&&r.reduce((i,a)=>(i[a]=!0,i),n)}return n}function t(e){return!!(e.icon&&e.icon.trim())}return{iconClass:o,shouldShowIcon:t}}const Vt=["moz","ms","webkit"];function Nt(){let o=0;return t=>{const e=new Date().getTime(),n=Math.max(0,16-(e-o)),r=setTimeout(()=>{t(e+n)},n);return o=e+n,r}}function Bt(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const o=Vt.filter(t=>`${t}RequestAnimationFrame`in window)[0];return o?window[`${o}RequestAnimationFrame`]:Nt()}Bt();function de(o,t){return((t==null?void 0:t.split(" "))||[]).reduce((n,r)=>(r&&(n[r]=!0),n),o),o}function Rt(o,t){function e(p){return de({"dropdown-menu":!0},p.menuClass)}function n(p){const s={disabled:!p.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0,"text-truncate":!0};return de(s,p.dropdownClass)}function r(p){const s={disabled:!p.enable,"dropdown-item":!0,"f-rt-btn":!0,"text-truncate":!0};return de(s,p.dropdownClass)}function i(p){const s={disabled:!p.enable,"dropdown-item":!0,"f-rt-btn":!0,"text-truncate":!0,"f-rt-toggle":!p.split,"btn-icontext":!!(p.icon&&p.icon.trim()),"dropdown-toggle":!p.split};return de(s,p.dropdownClass)}function a(p){const s={"f-rt-btn":!0,"text-truncate":!0,"btn-icontext":!!(p.icon&&p.icon.trim()),"d-block":!0};return de(s,p.dropdownClass)}let h;const d=new Map;function f(p,s,x){p.stopPropagation();const T=x?x.id:"__top_item__";if(s.children&&s.children.length&&(s.expanded=!s.expanded,s.expanded)){if(d.has(T)&&d.get(T)!==s){const D=d.get(T);D&&(D.expanded=!1,d.delete(T))}d.set(T,s)}}function v(p,s){document.body.click(),s.enable&&(p.stopPropagation(),typeof s.onClick=="function"&&s.onClick(p,s.id),o.emit("click",p,s.id))}function g(p,s){const x=p.target;x.className.indexOf("dropdown-item")<0||(x.title=x.scrollWidth>x.clientWidth?s:"")}function b(p,s,x){if(s.tipsEnable&&s.tipsText){const T=u.reactive({content:s.tipsText,enable:s.tipsEnable});return u.withDirectives(u.createVNode("li",{class:r(s),id:s.id,key:s.id+"_"+x,onClick:D=>v(D,s)},[u.createVNode("span",{class:a(s)},[t.shouldShowIcon(s)&&u.createVNode("i",{class:t.iconClass(s)},null),s.text])]),[[u.resolveDirective("tooltip"),T]])}return u.createVNode("li",{class:r(s),id:s.id,onClick:T=>v(T,s)},[u.createVNode("span",{class:a(s),onMouseenter:T=>g(T,s.text)},[t.shouldShowIcon(s)&&u.createVNode("i",{class:t.iconClass(s)},null),s.text])])}function m(p,s,x){s.enable&&(typeof s.onClick=="function"&&x.onClick(p,s.id),o.emit("click",p,s.id),x.split||f(p,s,x))}function c(p,s,x){p&&p.stopPropagation(),f(p,s,x)}function E(p,s){p.stopPropagation();const x=s.id;if(s.children&&s.children.length&&s.expanded&&d.has(x)){const T=d.get(x);T&&(T.expanded=!1,d.delete(x))}}function j(p,s,x){if(s.tipsEnable&&s.tipsText){const T=u.reactive({content:s.tipsText,enable:s.tipsEnable});return u.createVNode("li",{class:n(s),id:s.id,key:s.id+"_"+x,onClick:D=>m(D,s,p)},[u.withDirectives(u.createVNode("span",{class:i(s)},[t.shouldShowIcon(s)&&u.createVNode("i",{class:t.iconClass(s)},null),s.text]),[[u.resolveDirective("tooltip"),T]]),s.split&&u.createVNode("span",{class:"dropdown-toggle dropdown-toggle-split f-rt-toggle",onClick:D=>c(D,s,p)},null),h(s,s)])}return u.createVNode("li",{class:n(s),id:s.id,onClick:T=>m(T,s,p),onMouseenter:T=>g(T,s.text)},[u.createVNode("span",{class:i(s)},[t.shouldShowIcon(s)&&u.createVNode("i",{class:t.iconClass(s)},null),s.text]),s.split&&u.createVNode("span",{class:"dropdown-toggle dropdown-toggle-split f-rt-toggle",onClick:T=>c(T,s,p)},null),h(s,s)])}function _(p){return p.children.filter(s=>s.visible).map((s,x)=>s.children&&s.children.length?j(p,s,x):b(p,s,x))}function R(p,s,x){const T={display:p.expanded?"block":"none",position:"fixed",maxWidth:"300px",minWidth:"120px",zIndex:1040,overflowY:"auto",maxHeight:"none"},D=window.innerWidth,H=window.innerHeight,w=s,l=w==null?void 0:w.getClientRects();if(w&&l&&l.length){const{top:I,width:M,left:C,right:P,height:V}=l[0],S=Math.ceil(V+I);T.top=`${S}px`,T.left=`${C}px`;const q=p.id+"_menu",L=s?s.querySelector("#"+q):null;if(L){L.style.visibility="hidden",L.style.display="block";const O=L.offsetHeight;T.display==="block"&&(L.style.display="block");const A=L.getBoundingClientRect();if(x){T.top=`${I-6}px`;const G=Math.ceil(M+C);T.left=`${G}px`}D-C-M<A.width&&(T.left=`${(x?C:P)-A.width}px`),H-I-V<O?I>O?(T.top=`${I-O-6}px`,T.maxHeight=`${I-16}px`):(T.maxHeight=`${H-S}px`,I>H-I-V&&(T.top="10px",T.maxHeight=`${I-16}px`)):T.maxHeight=`${H-S}px`,L.style.visibility="visible"}}return T}h=function(p,s){var H,w;const x=u.getCurrentInstance(),T=s?s.id:p.id,D=(w=(H=x==null?void 0:x.exposed)==null?void 0:H.elementRef.value)==null?void 0:w.querySelector("#"+T);return u.createVNode("ul",{class:e(p),style:R(p,D,s),id:p.id+"_menu",onWheel:l=>E(l,p)},[_(p)])};function N(){d.forEach(p=>{p.expanded=!1}),d.clear()}return{renderDropdownMenu:h,clearAllDropDownMenu:N}}function Ot(o,t,e){const n=u.ref(o.alignment),{renderDropdownMenu:r,clearAllDropDownMenu:i}=Rt(t,e);function a(c){const E={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right"||n.value==="center","f-btn-mr":n.value==="left"};return de(E,c.dropdownClass)}function h(c){const E={btn:!0,disabled:!c.enable,"f-rt-btn":!0,"btn-icontext":!!(c.icon&&c.icon.trim()),"f-rt-toggle":!c.split,"dropdown-toggle":!c.split};return de(E,c.class)}function d(c){return de({btn:!0,"dropdown-toggle":!0,"dropdown-toggle-split":!0},c.class)}function f(c){return c.split?{display:"flex"}:{display:"flex","border-radius":"6px"}}function v(c,E){c.stopPropagation();const j=E.expanded;document.body.click(),typeof E.onClick=="function"&&E.onClick(c,E.id),t.emit("click",c,E.id),E.split||(E.expanded=!j)}function g(c,E){c.stopPropagation();const j=E.expanded;document.body.click(),E.expanded=!j}function b(c,E=!0){if(c.tipsEnable&&c.tipsText){const j=u.reactive({content:c.tipsText,enable:c.tipsEnable});return u.createVNode("div",{id:c.id,class:a(c)},[u.withDirectives(u.createVNode("div",{class:h(c),style:f(c),onClick:_=>c.enable&&v(_,c)},[e.shouldShowIcon(c)&&u.createVNode("i",{class:e.iconClass(c)},null),u.createVNode("span",null,[c.text])]),[[u.resolveDirective("tooltip"),j]]),c.split&&u.createVNode("button",{class:d(c),style:"border-radius:0 6px 6px 0;",onClick:_=>g(_,c)},null),E&&r(c)])}return u.createVNode("div",{id:c.id,class:a(c)},[u.createVNode("div",{class:h(c),style:f(c),onClick:j=>c.enable&&v(j,c)},[e.shouldShowIcon(c)&&u.createVNode("i",{class:e.iconClass(c)},null),u.createVNode("span",null,[c.text])]),c.split&&u.createVNode("button",{class:d(c),style:"border-radius:0 6px 6px 0;",onClick:j=>g(j,c)},null),E&&r(c)])}function m(){i()}return{renderToolbarDropdown:b,clearAllDropDown:m}}const{buildResponseToolbarItems:He}=_e(),me=u.defineComponent({name:"FResponseToolbar",props:Ce,emits:["click"],setup(o,t){const e=u.ref(He(o.items)),n=u.ref(),r=u.ref(),i=u.ref(),a={id:"__more_buttons__",text:"更多"},h=u.ref(new ge(a)),d={id:a.id+"width",text:a.text},f=u.ref(-1),v=xe();let g=!1;const b=u.computed(()=>h.value.children.length>0),m=u.computed(()=>{const S={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0,"f-response-toolbar-sm":o.buttonSize==="sm","f-response-toolbar-lg":o.buttonSize==="lg","d-none":!o.visible};return le.getCustomClass(S,o.customClass)}),c=u.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":o.alignment==="right","justify-content-start":o.alignment==="left","justify-content-center":o.alignment==="center"})),{renderToolbarDropdown:E,clearAllDropDown:j}=Ot(o,t,v);function _(S){S&&S.target.closest("ul.dropdown-menu")&&S.type==="wheel"||(e.value.filter(q=>q.children&&q.children.length>0).forEach(q=>{q.expanded=!1}),h.value.expanded=!1,j())}function R(S,q){var A;const L={btn:!0,"f-rt-btn":!0,"f-btn-ml":o.alignment==="right"||q>0&&o.alignment==="center","f-btn-mr":o.alignment==="left","btn-icontext":!!(S.icon&&S.icon.trim())},O=((A=S==null?void 0:S.appearance)==null?void 0:A.class)||S.class||"btn-secondary";return le.getCustomClass(L,O)}function N(S,q){document.body.click(),typeof q.onClick=="function"&&q.onClick(S,q.id),t.emit("click",S,q.id)}function p(S,q){if(S.tipsEnable&&S.tipsText){const L=u.reactive({content:S.tipsText,enable:S.tipsEnable});return u.withDirectives(u.createVNode("button",{type:"button",class:R(S,q),id:S.id,disabled:!S.enable,onClick:O=>N(O,S)},[v.shouldShowIcon(S)&&u.createVNode("i",{class:v.iconClass(S)},null),S.text]),[[u.resolveDirective("tooltip"),L]])}return u.createVNode("button",{type:"button",class:R(S,q),id:S.id,disabled:!S.enable,onClick:L=>N(L,S)},[v.shouldShowIcon(S)&&u.createVNode("i",{class:v.iconClass(S)},null),S.text])}let s=new Map,x=[];function T(S){const q=Math.ceil(parseFloat(getComputedStyle(S).getPropertyValue("margin-left"))),L=Math.ceil(parseFloat(getComputedStyle(S).getPropertyValue("margin-right")));return(q||0)+S.getBoundingClientRect().width+(L||0)}function D(S,q,L){if(q<f.value){let O=L-1;for(;O>=0;O--){const A=S[O],G=T(A);if(q+=G,q>=f.value)break}L=O}return q-=f.value,{start:L,space:q}}function H(S){const q=i.value;let L=S;const A=Array.from(q.children).filter(ee=>ee.id!=="__more_buttons__"),G=A.length;let z=!1,Y=0;for(;Y<G;Y++){const ee=A[Y],ie=T(ee);if(ie<=L)L-=ie;else{const Z=D(A,L,Y);Y=Z.start,L=Z.space,z=!0;break}}if(!z&&x.length>0){const ee=D(A,L,Y);Y=ee.start,L=ee.space}const W=x.length>0;for(;Y<G;Y++){const ee=A[Y],ie=T(ee);s.set(ee.id,!0),x[W?"unshift":"push"]({id:ee.id,width:ie})}return L}function w(S){let q=H(S);if(x.length){let G=0;for(;G<x.length;G++){const z=o.items.find(Y=>Y.id===x[G].id);if(z&&z.visible!==!1){const Y=x[G].width;if(q>=Y||G===x.length-1&&q+f.value>=Y)q-=Y;else break}}for(let z=0;z<G;z++)s.delete(x[z].id);x.splice(0,G-1)}const L=Object.assign({},h.value);L.children=[];const O=new ge(L),A=e.value.reduce((G,z)=>{const Y=o.items.find(W=>W.id===z.id);return s.has(z.id)?(O.children.push(z),z.shown=!1):z.shown=Y.visible!==!1,G.push(z),G},[]);h.value=O,e.value=A}function l(S=-1){if(S===0||!i.value||!r.value)return;S<0&&(S=r.value.getBoundingClientRect().width);const q=i.value.getBoundingClientRect().width;(S>=0&&S<q||x.length)&&(w(S),_())}function I(){return f.value<0&&u.createVNode("div",{style:"position:absolute;top:-30px;visibility:hidden;"},[E(new ge(d))])}const M=new ResizeObserver(S=>{if(S.length){const L=S[0].contentRect.width;l(L)}});function C(){s=new Map,x=[]}function P(){r.value&&!g&&(M.observe(r.value),g=!0)}function V(){if(n.value&&f.value<0){const S=n.value.querySelector("#"+d.id);S&&(f.value=T(S))}}return u.onMounted(()=>{V(),l(),P(),document.body.addEventListener("click",_),document.body.addEventListener("wheel",_)}),u.onUnmounted(()=>{M.disconnect(),document.body.removeEventListener("click",_),document.body.removeEventListener("wheel",_)}),u.watch(()=>o.items,()=>{e.value=He(o.items),h.value.children=[],u.nextTick(()=>{C(),l()})},{deep:!0}),u.watch(()=>o.visible,S=>{S&&u.nextTick(()=>{V(),l(),P()})}),t.expose({elementRef:n}),()=>u.createVNode("div",{class:m.value,id:o.id,ref:n,style:{"overflow-y":f.value<0?"hidden":"initial"}},[o.visible&&I(),o.visible&&u.createVNode("div",{ref:r,class:c.value},[u.createVNode("div",{ref:i,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[e.value.filter(S=>S.shown).map((S,q)=>S.children&&S.children.length>0?E(S):p(S,q)),b.value&&E(h.value)])])])}}),At=u.ref(0);function jt(){At.value++}const be=u.ref(0);function _t(o,t){const e=t.getBoundingClientRect(),n=o.getBoundingClientRect(),r=n.top>=e.top,i=n.top<=e.bottom;return r&&i}function ze(o){const t=o.querySelector(".component-btn-group");if(!t)return;t.style.display="";const e=t.getBoundingClientRect();if(!(e.top===0&&e.left===0)){const n=t.querySelector("div");if(n){const r=n.getBoundingClientRect();n.style.top=e.top+"px";let i=e.left-r.width;const a=document.querySelector(".editorDiv");if(a){const h=a.getBoundingClientRect();i<h.left&&({left:i}=o.getBoundingClientRect())}n.style.left=i+"px"}}}function $t(o){if(!window.scrollContainerList)return;const t=Array.from(window.scrollContainerList);if(t.length&&t.length===1){const e=t[0],n=document.querySelector(`[id=${e}]`);if(n&&n.contains(o))return n}}function Ge(o){if(!o)return;const t=o.getBoundingClientRect();if(t.width===0&&t.height===0)return;const e=o.querySelector(".component-btn-group");if(e){let n=!0;const r=$t(o);if(r&&(n=_t(o,r)),!n){e.style.display="none";return}ze(o)}}function Ft(o){if(!o)return;let t;o.className.includes("dgComponentSelected")?t=o:t=o.querySelector(".dgComponentSelected"),t&&Ge(t)}function Lt(o){const{formSchemaUtils:t,formStateMachineUtils:e}=o;function n(d,f=""){return{path:f+d.code,field:d.id,fullPath:d.code}}function r(d,f=""){return t.getViewModelById(d).states.map(g=>n(g,f))}function i(d){const f=t.getRootViewModelId(),v=r(d);if(d===f)return v;const g=r(f,"root-component.");return[...v,...g]}function a(d){return d.binding&&d.binding.path||d.id||""}function h(){return e&&e.getRenderStates()||[]}return{getVariables:i,getControlName:a,getStateMachines:h}}class qt{constructor(t){U(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);U(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});U(this,"getExpressionConverter",(t,e)=>({convertFrom:(n,r,i,a)=>{const h=i.getExpressionRuleValue(t,e||r);return h&&h.value||""},convertTo:(n,r,i,a,h)=>{var d;if(r==="dataPicking"&&(i!=null&&i.target)){const f=`${i.target}_dataPicking`;((d=i.rules)==null?void 0:d.some(g=>g.id===f&&g.value))?n.dictPickingExpressionId=f:delete n.dictPickingExpressionId}a.updateExpression(i)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.formSchemaService.getExpressions();if(!n)return"";const r=n.find(a=>a.target===t);if(!r)return"";const i=r.rules.find(a=>a.type===e);return i||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(e);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.forEach(i=>{r.push({key:i.code,name:i.name,description:i.name,category:i.category})}),r}createTreeNode(t,e,n="label"){return{id:t.id,name:t.name,bindingPath:t[n],parents:e}}buildEntityFieldsTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var h;const i=this.createTreeNode(r,e);let a=[];(h=r.type)!=null&&h.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:i,children:a,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var d,f;const i=this.createTreeNode(r,e),a=this.buildEntityFieldsTreeData((d=r.type)==null?void 0:d.fields,[...e,r.label]),h=this.buildChildEntityTreeData((f=r.type)==null?void 0:f.entities,[...e,r.label]);h!=null&&h.length&&(a==null||a.push(...h)),n.push({data:i,children:a||[],expanded:!0})}),n}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const n=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,n){const r=n==="Field"?t.binding.field:t.id,i=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),h={message:["validate","required","dataPicking"].includes(e)&&i?i.message:"",...a};return i.messageType!=null&&(h.messageType=i.messageType),h}buildRule(t,e,n,r){const{expression:i,message:a,messageType:h}=e,d={id:`${t}_${n}`,type:n,value:i};return(n==="validate"||n==="dataPicking"||n==="required")&&(d.message=a),n==="dataPicking"&&(d.messageType=h),n==="validate"&&r&&(d.elementId=r),d}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,r){const i=e==="Field"?t.binding.field:t.id,a=this.buildRule(i,n,r,t.type==="form-group"?t.id:"");let d=this.getExpressionData().find(v=>v.targetType===e&&v.target===i);const f=v=>v.value.trim()==="";if(d){const v=d.rules.find(g=>g.id===a.id);if(v)f(a)?d.rules=d.rules.filter(g=>g.id!==a.id):(Object.assign(v,a),r==="validate"&&t.type==="form-group"&&(v.elementId=t.id));else{if(f(a))return null;d.rules=d.rules||[],d.rules.push(a)}}else{if(f(a))return null;d={target:`${i}`,rules:[a],targetType:e}}return d}getExpressionEditorOptions(t,e,n,r){return n.reduce((i,a)=>{var d,f;const h=e==="Field"?(d=t==null?void 0:t.binding)==null?void 0:d.field:t.id;return i[a]={hide:e==="Field"?!!((f=t==null?void 0:t.binding)!=null&&f.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(h),editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,a,e),onSubmitModal:v=>{const g=this.updateExpression(t,e,v,a);if(r){const b=this.buildRule(h,v,a);r(b)}return g}}},i},{})}getExpressionInfo(t,e,n){const r=e==="Field"?t.binding.field:t.id,i=this.getExpressionRule(r,n),a={value:i&&i.value,targetId:r,targetType:e,expressionType:n};return i&&i.message&&(a.message=i.message),a}getExpressionConfig(t,e,n=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",properties:{...this.getExpressionEditorOptions(t,e,n,r)}}}getExpressionOptions(t,e,n){const r=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:r}}}class Ye{constructor(t,e){U(this,"componentId");U(this,"viewModelId");U(this,"eventsEditorUtils");U(this,"formSchemaUtils");U(this,"formMetadataConverter");U(this,"designViewModelUtils");U(this,"designViewModelField");U(this,"controlCreatorUtils");U(this,"designerHostService");U(this,"schemaService",null);U(this,"metadataService",null);U(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(i=>i.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:t.type,name:yt[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const r={title:"外观",description:"Appearance"},i={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}};for(const a in e)i[a]=Object.assign(i[a]||{},e[a]);return{...r,properties:{...i},setPropertyRelates(a,h){if(a){switch(a&&a.propertyID){case"class":case"style":{be.value++;break}}n&&n(a,t,h)}}}}getPropertyEditorParams(t,e=[],n="visible",r={},i={}){const{getVariables:a,getControlName:h,getStateMachines:d}=Lt(this.designerHostService),f=this.getRealTargetType(t),v=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],g={type:"property-editor",propertyTypes:v};return v.map(b=>{switch(b){case"Const":Object.assign(g,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":g.expressionConfig=this.getExpressionOptions(t,f,n);break;case"StateMachine":g.stateMachines=d();break;case"Variable":Object.assign(g,{controlName:h(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),onBeforeOpenVariables:m=>{m.value=a(this.viewModelId)}},i);break}}),g}getVisibleProperty(t,e=""){return{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,e==="gridFieldEditor"?["Const","Expression"]:["Const","Variable","StateMachine","Expression"],"visible")}}}getBehaviorConfig(t,e="",n={},r){const i={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const d in n)a[d]=Object.assign(a[d]||{},n[d]);const h=this;return{...i,properties:{...a},setPropertyRelates(d,f){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":h.afterMutilEditorChanged(t,d);break}r&&r(d,f)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(a=>a.id===t),i=oe.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,i),jt()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const a={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String"};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById(e).states.push(a)}updateExpressionValue(t){const e=t.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:i,expressionInfo:a}=e,{targetId:h,targetType:d,expressionType:f,value:v,message:g}=a,b=this.formSchemaUtils.getModule();b.expressions??(b.expressions=[]);const{expressions:m}=b;let c=m.find(j=>j.target===h);c||(c={target:h,rules:[],targetType:d},m.push(c));const E=c.rules.find(j=>j.type===f);if(E)E.value=v,E.message=g;else{const j={id:i,type:f,value:v,message:g};c.rules.push(j)}delete e.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const i=t.propertyID,a=this.formSchemaUtils.getExpressions(),h=e.binding?e.binding.field:e.id,d=a.find(f=>f.target===h);!d||!d.rules||(d.rules=d.rules.filter(f=>f.type!==i))}getExpressionOptions(t,e,n){return new qt(this.formSchemaUtils).getExpressionOptions(t,e,n)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}}class Wt extends Ye{constructor(e,n,r="response-toolbar"){super(e,n);U(this,"toolbarType","response-toolbar");this.toolbarType=r}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.toolbarType!=="tab-toolbar"&&this.getAppearancePropConfig(e),this.toolbarType==="response-toolbar"&&(this.propertyConfig.categories.behavior=this.getBehaviorConfig(e)),this.propertyConfig}getAppearancePropConfig(e){this.propertyConfig.categories.appearance={title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBehaviorProperties(e){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"在工具栏区域内按钮组的位置",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}}function Ut(o,t,e){const n=o.schema;function r(){var E;let c=((E=o.parent)==null?void 0:E.schema.type)||"";["page-header","tabs","section"].findIndex(j=>j===c)===-1&&(c=""),e.toolbarPosition=c}r();function i(c){return!1}function a(c,E){return E.text=c.label,E}function h(){return!1}function d(){return!1}function f(){return!1}function v(){return!0}function g(c){return new Wt(c,t,n.type).getPropertyConfig(n)}function b(c){var R;c&&(c.stopPropagation(),c.preventDefault());const{schema:E}=o;E.buttons||(E.buttons=[]);let j="";if(E.type)j=E.type+"-item";else{const N=(R=o.parent)==null?void 0:R.schema.type;j=N==="tabs"?"tab-toolbar-item":N==="section"?"section-toolbar-item":"response-toolbar-item"}const _=he(j);_.id=`toolbar_item_${Math.random().toString().slice(2,6)}`,E.buttons.push(_),e.updateToolbarItems(),e.changeSelectedId("")}function m(){return[{id:"appendItem",title:"新增按钮",text:"",icon:"f-icon f-icon-plus-circle text-white",onClick:c=>b(c)}]}return{canAccepts:i,checkCanAddComponent:f,checkCanDeleteComponent:d,checkCanMoveComponent:h,hideNestedPaddingInDesginerView:v,onResolveNewComponentSchema:a,getPropsConfig:g,getCustomButtons:m}}var ue=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ht(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}function ve(o){throw new Error('Could not dynamically require "'+o+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Xe={exports:{}};(function(o,t){(function(e){o.exports=e()})(function(){return function(){function e(n,r,i){function a(f,v){if(!r[f]){if(!n[f]){var g=typeof ve=="function"&&ve;if(!v&&g)return g(f,!0);if(h)return h(f,!0);var b=new Error("Cannot find module '"+f+"'");throw b.code="MODULE_NOT_FOUND",b}var m=r[f]={exports:{}};n[f][0].call(m.exports,function(c){var E=n[f][1][c];return a(E||c)},m,m.exports,e,n,r,i)}return r[f].exports}for(var h=typeof ve=="function"&&ve,d=0;d<i.length;d++)a(i[d]);return a}return e}()({1:[function(e,n,r){var i={},a="(?:^|\\s)",h="(?:\\s|$)";function d(g){var b=i[g];return b?b.lastIndex=0:i[g]=b=new RegExp(a+g+h,"g"),b}function f(g,b){var m=g.className;m.length?d(b).test(m)||(g.className+=" "+b):g.className=b}function v(g,b){g.className=g.className.replace(d(b)," ").trim()}n.exports={add:f,rm:v}},{}],2:[function(e,n,r){(function(i){var a=e("contra/emitter"),h=e("crossvent"),d=e("./classes"),f=document,v=f.documentElement;function g(l,I){var M=arguments.length;M===1&&Array.isArray(l)===!1&&(I=l,l=[]);var C,P,V,S,q,L,O,A,G,z=null,Y,W,ee=!1,ie=0,Z,$=I||{};$.moves===void 0&&($.moves=R),$.accepts===void 0&&($.accepts=R),$.invalid===void 0&&($.invalid=fn),$.containers===void 0&&($.containers=l||[]),$.isContainer===void 0&&($.isContainer=_),$.copy===void 0&&($.copy=!1),$.copySortSource===void 0&&($.copySortSource=!1),$.revertOnSpill===void 0&&($.revertOnSpill=!1),$.removeOnSpill===void 0&&($.removeOnSpill=!1),$.direction===void 0&&($.direction="vertical"),$.ignoreInputTextSelection===void 0&&($.ignoreInputTextSelection=!0),$.mirrorContainer===void 0&&($.mirrorContainer=f.body);var K=a({containers:$.containers,start:un,end:rt,cancel:lt,remove:at,destroy:an,canMove:dn,dragging:!1});return $.removeOnSpill===!0&&K.on("over",gn).on("out",hn),et(),K;function Ee(y){return K.containers.indexOf(y)!==-1||$.isContainer(y)}function et(y){var k=y?"remove":"add";c(v,k,"mousedown",ln),c(v,k,"mouseup",Me)}function Ie(y){var k=y?"remove":"add";c(v,k,"mousemove",cn)}function tt(y){var k=y?"remove":"add";h[k](v,"selectstart",nt),h[k](v,"click",nt)}function an(){et(!0),Me({})}function nt(y){Y&&y.preventDefault()}function ln(y){S=y.clientX,q=y.clientY;var k=E(y)!==1||y.metaKey||y.ctrlKey;if(!k){var B=y.target,F=Pe(B);F&&(Y=F,Ie(),y.type==="mousedown"&&(x(B)?B.focus():y.preventDefault()))}}function cn(y){if(Y){if(E(y)===0){Me({});return}if(!(y.clientX!==void 0&&Math.abs(y.clientX-S)<=($.slideFactorX||0)&&y.clientY!==void 0&&Math.abs(y.clientY-q)<=($.slideFactorY||0))){if($.ignoreInputTextSelection){var k=w("clientX",y)||0,B=w("clientY",y)||0,F=f.elementFromPoint(k,B);if(x(F))return}var X=Y;Ie(!0),tt(),rt(),ot(X),d.add(A||V,"gu-transit"),bn(),mn(),ie=0,Ve(y)}}}function Pe(y){if(!(K.dragging&&C)&&!Ee(y)){for(var k=y;s(y)&&Ee(s(y))===!1;)if($.invalid(y,k)||(y=s(y),!y))return;var B=s(y);if(B&&!$.invalid(y,k)){var F=$.moves(y,B,k,D(y));if(F)return{item:y,source:B}}}}function dn(y){return!!Pe(y)}function un(y){var k=Pe(y);k&&ot(k)}function ot(y){En(y.item,y.source)&&(A=y.item.cloneNode(!0),K.emit("cloned",A,y.item,"copy")),P=y.source,V=y.item,L=O=D(y.item),K.dragging=!0,K.emit("drag",V,P)}function fn(){return!1}function rt(){if(K.dragging){var y=A||V;st(y,s(y))}}function it(){Y=!1,Ie(!0),tt(!0)}function Me(y){if(it(),!!K.dragging){var k=A||V,B=w("clientX",y)||0,F=w("clientY",y)||0,X=j(C,B,F),Q=ct(X,B,F);Q&&(A&&$.copySortSource||!A||Q!==P)?st(k,Q):$.removeOnSpill?at():lt()}}function st(y,k){var B=s(y);A&&$.copySortSource&&k===P&&B.removeChild(V),De(k)?K.emit("cancel",y,P):K.emit("drop",y,k,P,O),ke()}function at(){if(K.dragging){var y=A||V,k=s(y);k&&k.removeChild(y),K.emit(A?"cancel":"remove",y,k,P),ke()}}function lt(y){if(K.dragging){var k=arguments.length>0?y:$.revertOnSpill,B=A||V,F=s(B),X=De(F);X===!1&&k&&(A?F&&F.removeChild(A):P.insertBefore(B,L)),X||k?K.emit("cancel",B,P,P):K.emit("drop",B,F,P,O),ke()}}function ke(){var y=A||V;it(),vn(),yn(),y&&d.rm(y,"gu-transit"),G&&clearTimeout(G),K.dragging=!1,z&&K.emit("out",y,z,P),K.emit("dragend",y,ie),P=V=A=L=O=G=z=null}function De(y,k){var B;return k!==void 0?B=k:C?B=O:B=D(A||V),y===P&&B===L}function ct(y,k,B){for(var F=y;F&&!X();)F=s(F);return F;function X(){var Q=Ee(F);if(Q===!1)return!1;var ce=dt(F,y),re=ut(F,ce,k,B),ae=De(F,re);return ae?!0:$.accepts(V,F,P,re)}}function Ve(y){if(!C)return;y.preventDefault();var k=w("clientX",y)||0,B=w("clientY",y)||0;C.style.left=k-2+"px",C.style.top=B-2+"px";var F=A||V,X=j(C,k,B),Q=ct(X,k,B),ce=Q!==null&&Q!==z;(ce||Q===null)&&(se(),z=Q,pe()),Sn(X,B);var re=s(F);if(Q===P&&A&&!$.copySortSource){re&&re.removeChild(F);return}var ae,fe=dt(Q,X);if(ee=Cn(fe,Q),fe!==null)ae=ut(Q,fe,k,B);else if($.revertOnSpill===!0&&!A)ae=L,Q=P;else{A&&re&&re.removeChild(F),A&&W&&(W.style.display="none");return}W.style.display="block",pn(ae,F,ce),ae?xn(fe,ae):Tn(Q);function te(ne){K.emit(ne,F,z,P)}function pe(){ce&&te("over")}function se(){z&&te("out")}}function pn(y,k,B){(y===k||y===D(k))&&(O=D(k)),(y===null&&B||y!==k&&y!==D(k))&&(O=y)}function gn(y){d.rm(y,"gu-hide")}function hn(y){K.dragging&&d.add(y,"gu-hide")}function mn(){C||(C=document.createElement("div"),C.style="background: grey; color: white; height: 24px; text-align: center; padding: 3px 10px; min-width: 100px;border-radius: 4px; box-shadow: 0 0 6px grey;",C.innerHTML=$.getMirrorText&&$.getMirrorText(V)||"控件",d.add(C,"gu-mirror"),$.mirrorContainer.appendChild(C),c(v,"add","mousemove",Ve),d.add($.mirrorContainer,"gu-unselectable"),K.emit("cloned",C,V,"mirror"))}function bn(){if(W=document.createElement("div"),d.add(W,"gu-insertion"),V){var y=V.getBoundingClientRect();W.style.left=y.left+"px",W.style.top=y.top+"px"}ee=!1,$.mirrorContainer.appendChild(W)}function vn(){C&&(d.rm($.mirrorContainer,"gu-unselectable"),c(v,"remove","mousemove",Ve),s(C).removeChild(C),C=null)}function yn(){W&&(s(W).removeChild(W),W=null)}function dt(y,k){for(var B=k;B!==y&&s(B)!==y;)B=s(B);return B===v?null:B}function Cn(y,k){if(!k)return ee;var B=y||k&&k.lastElementChild;if(!B)return!0;var F=getComputedStyle(y),X=/^inline/.test(F.getPropertyValue("display"))||/^(left|right)$/.test(F.getPropertyValue("float"));if(X)return!0;if(k){var Q=getComputedStyle(k),ce=Q.getPropertyValue("display");if(/flex$/.test(ce)){var re=Q.getPropertyValue("flex-direction")||"row";if(re==="row"||re==="row-reverse")return!wn(k)}return!1}return!0}function wn(y){if(!y.children||!y.children.length)return!1;for(const k of Array.from(y.children)){const F=(k.className&&k.className.split(" ")||[]).filter(X=>/^col(-md|-xl|-el){0,1}-([1-9]|10|11|12)$/.test(X));if(!F.length)return!1;for(const X of F){const Q=X.slice(X.lastIndexOf("-")+1);if(parseInt(Q,10)!==12)return!1}}return!0}function xn(y,k){const B=k.getBoundingClientRect();if(W.style.left=B.left+"px",W.style.top=B.top+"px",ee){if(W.style.height=B.height+"px",W.style.width="4px",y){const F=y.getBoundingClientRect();F.top!==B.top&&(W.style.left=F.right+"px",W.style.top=F.top+"px",W.style.height=F.height+"px")}}else if(W.style.height="4px",W.style.width=B.width+"px",Z){const F=Z.getBoundingClientRect();B.top<F.top&&(W.style.display="none")}k===V&&V&&(W.style.display="none")}function Tn(y){O=null;var k=y.lastElementChild;if(k){var B=k.getBoundingClientRect();ee?(W.style.left=B.right+"px",W.style.top=B.top+"px",W.style.height=B.height+"px",W.style.width="4px"):(W.style.left=B.left+"px",W.style.top=B.bottom+"px",W.style.height="4px",W.style.width=B.width+"px"),k===V&&V&&(W.style.display="none")}else W.style.display="none"}function Sn(y,k){if(!$.mirrorContainer.contains(y)||!window.scrollContainerList||!Array.from(window.scrollContainerList).length||(Z=b(y),!Z||!Z.contains(y)))return;const B=document.querySelector(".dgComponentSelected"),F=Z.getBoundingClientRect();if(k-30<F.top&&Z.scrollTop>0){let X=Z.scrollTop<10?Z.scrollTop:10;Z.scrollBy(0,-1*X),B&&Z.contains(B)&&(ie=ie+-1*X)}if(k+30>F.bottom&&Z.scrollTop<Z.scrollHeight-Z.clientHeight){const X=Z.scrollHeight-Z.clientHeight-Z.scrollTop;let Q=X<10?X:10;Z.scrollBy(0,Q),B&&Z.contains(B)&&(ie=ie+Q)}}function ut(y,k,B,F){var X=$.direction==="horizontal",Q=$.direction==="mixed",ce=k!==y?ae():re();return ce;function re(){var te=y.children.length,pe,se,ne;for(pe=0;pe<te;pe++)if(se=y.children[pe],ne=se.getBoundingClientRect(),X&&ne.left+ne.width/2>B||!Q&&!X&&ne.top+ne.height/2>F||Q&&ne.left+ne.width>B&&ne.top+ne.height>F)return se;return null}function ae(){var te=k.getBoundingClientRect();if(Q){var pe=F-te.top,se=B-te.left,ne=te.bottom-F,Ne=te.right-B,Be=Math.min(se,Ne,pe,ne),Re;return ee?Re=Ne<se:Re=ne===Be||Ne===Be||se===Be,fe(Re)}return fe(X?B>te.left+N(te)/2:F>te.top+p(te)/2)}function fe(te){return te?D(k):k}}function En(y,k){return typeof $.copy=="boolean"?$.copy:$.copy(y,k)}}function b(l){const I=Array.from(window.scrollContainerList);if(I.length===1){const C=Array.from(window.scrollContainerList)[0];return document.getElementById(C)}const M=m(I);for(const C of M)if(C.contains(l))return C;return null}function m(l){const I=[];return l.forEach(M=>{const C=document.getElementById(M);C&&I.push(C)}),I.sort((M,C)=>M.contains(C)?1:C.contains(M)?-1:0),I}function c(l,I,M,C){var P={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},V={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},S={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};i.navigator.pointerEnabled?h[I](l,V[M],C):i.navigator.msPointerEnabled?h[I](l,S[M],C):(h[I](l,P[M],C),h[I](l,M,C))}function E(l){if(l.touches!==void 0)return l.touches.length;if(l.which!==void 0&&l.which!==0)return l.which;if(l.buttons!==void 0)return l.buttons;var I=l.button;if(I!==void 0)return I&1?1:I&2?3:I&4?2:0}function j(l,I,M){l=l||{};var C=l.className||"",P;return l.className+=" gu-hide",P=f.elementFromPoint(I,M),l.className=C,P}function _(){return!1}function R(){return!0}function N(l){return l.width||l.right-l.left}function p(l){return l.height||l.bottom-l.top}function s(l){return l.parentNode===f?null:l.parentNode}function x(l){return l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.tagName==="SELECT"||T(l)}function T(l){return!l||l.contentEditable==="false"?!1:l.contentEditable==="true"?!0:T(s(l))}function D(l){return l.nextElementSibling||I();function I(){var M=l;do M=M.nextSibling;while(M&&M.nodeType!==1);return M}}function H(l){return l.targetTouches&&l.targetTouches.length?l.targetTouches[0]:l.changedTouches&&l.changedTouches.length?l.changedTouches[0]:l}function w(l,I){var M=H(I),C={pageX:"clientX",pageY:"clientY"};return l in C&&!(l in M)&&C[l]in M&&(l=C[l]),M[l]}n.exports=g}).call(this,typeof ue<"u"?ue:typeof self<"u"?self:typeof window<"u"?window:{})},{"./classes":1,"contra/emitter":5,crossvent:6}],3:[function(e,n,r){n.exports=function(a,h){return Array.prototype.slice.call(a,h)}},{}],4:[function(e,n,r){var i=e("ticky");n.exports=function(h,d,f){h&&i(function(){h.apply(f||null,d||[])})}},{ticky:10}],5:[function(e,n,r){var i=e("atoa"),a=e("./debounce");n.exports=function(d,f){var v=f||{},g={};return d===void 0&&(d={}),d.on=function(b,m){return g[b]?g[b].push(m):g[b]=[m],d},d.once=function(b,m){return m._once=!0,d.on(b,m),d},d.off=function(b,m){var c=arguments.length;if(c===1)delete g[b];else if(c===0)g={};else{var E=g[b];if(!E)return d;E.splice(E.indexOf(m),1)}return d},d.emit=function(){var b=i(arguments);return d.emitterSnapshot(b.shift()).apply(this,b)},d.emitterSnapshot=function(b){var m=(g[b]||[]).slice(0);return function(){var c=i(arguments),E=this||d;if(b==="error"&&v.throws!==!1&&!m.length)throw c.length===1?c[0]:c;return m.forEach(function(_){v.async?a(_,c,E):_.apply(E,c),_._once&&d.off(b,_)}),d}},d}},{"./debounce":4,atoa:3}],6:[function(e,n,r){(function(i){var a=e("custom-event"),h=e("./eventmap"),d=i.document,f=b,v=c,g=[];i.addEventListener||(f=m,v=E),n.exports={add:f,remove:v,fabricate:j};function b(s,x,T,D){return s.addEventListener(x,T,D)}function m(s,x,T){return s.attachEvent("on"+x,R(s,x,T))}function c(s,x,T,D){return s.removeEventListener(x,T,D)}function E(s,x,T){var D=N(s,x,T);if(D)return s.detachEvent("on"+x,D)}function j(s,x,T){var D=h.indexOf(x)===-1?w():H();s.dispatchEvent?s.dispatchEvent(D):s.fireEvent("on"+x,D);function H(){var l;return d.createEvent?(l=d.createEvent("Event"),l.initEvent(x,!0,!0)):d.createEventObject&&(l=d.createEventObject()),l}function w(){return new a(x,{detail:T})}}function _(s,x,T){return function(H){var w=H||i.event;w.target=w.target||w.srcElement,w.preventDefault=w.preventDefault||function(){w.returnValue=!1},w.stopPropagation=w.stopPropagation||function(){w.cancelBubble=!0},w.which=w.which||w.keyCode,T.call(s,w)}}function R(s,x,T){var D=N(s,x,T)||_(s,x,T);return g.push({wrapper:D,element:s,type:x,fn:T}),D}function N(s,x,T){var D=p(s,x,T);if(D){var H=g[D].wrapper;return g.splice(D,1),H}}function p(s,x,T){var D,H;for(D=0;D<g.length;D++)if(H=g[D],H.element===s&&H.type===x&&H.fn===T)return D}}).call(this,typeof ue<"u"?ue:typeof self<"u"?self:typeof window<"u"?window:{})},{"./eventmap":7,"custom-event":8}],7:[function(e,n,r){(function(i){var a=[],h="",d=/^on/;for(h in i)d.test(h)&&a.push(h.slice(2));n.exports=a}).call(this,typeof ue<"u"?ue:typeof self<"u"?self:typeof window<"u"?window:{})},{}],8:[function(e,n,r){(function(i){var a=i.CustomEvent;function h(){try{var d=new a("cat",{detail:{foo:"bar"}});return d.type==="cat"&&d.detail.foo==="bar"}catch{}return!1}n.exports=h()?a:typeof document<"u"&&typeof document.createEvent=="function"?function(f,v){var g=document.createEvent("CustomEvent");return v?g.initCustomEvent(f,v.bubbles,v.cancelable,v.detail):g.initCustomEvent(f,!1,!1,void 0),g}:function(f,v){var g=document.createEventObject();return g.type=f,v?(g.bubbles=!!v.bubbles,g.cancelable=!!v.cancelable,g.detail=v.detail):(g.bubbles=!1,g.cancelable=!1,g.detail=void 0),g}}).call(this,typeof ue<"u"?ue:typeof self<"u"?self:typeof window<"u"?window:{})},{}],9:[function(e,n,r){var i=n.exports={},a,h;function d(){throw new Error("setTimeout has not been defined")}function f(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?a=setTimeout:a=d}catch{a=d}try{typeof clearTimeout=="function"?h=clearTimeout:h=f}catch{h=f}})();function v(p){if(a===setTimeout)return setTimeout(p,0);if((a===d||!a)&&setTimeout)return a=setTimeout,setTimeout(p,0);try{return a(p,0)}catch{try{return a.call(null,p,0)}catch{return a.call(this,p,0)}}}function g(p){if(h===clearTimeout)return clearTimeout(p);if((h===f||!h)&&clearTimeout)return h=clearTimeout,clearTimeout(p);try{return h(p)}catch{try{return h.call(null,p)}catch{return h.call(this,p)}}}var b=[],m=!1,c,E=-1;function j(){!m||!c||(m=!1,c.length?b=c.concat(b):E=-1,b.length&&_())}function _(){if(!m){var p=v(j);m=!0;for(var s=b.length;s;){for(c=b,b=[];++E<s;)c&&c[E].run();E=-1,s=b.length}c=null,m=!1,g(p)}}i.nextTick=function(p){var s=new Array(arguments.length-1);if(arguments.length>1)for(var x=1;x<arguments.length;x++)s[x-1]=arguments[x];b.push(new R(p,s)),b.length===1&&!m&&v(_)};function R(p,s){this.fun=p,this.array=s}R.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={};function N(){}i.on=N,i.addListener=N,i.once=N,i.off=N,i.removeListener=N,i.removeAllListeners=N,i.emit=N,i.prependListener=N,i.prependOnceListener=N,i.listeners=function(p){return[]},i.binding=function(p){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(p){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],10:[function(e,n,r){(function(i){var a=typeof i=="function",h;a?h=function(d){i(d)}:h=function(d){setTimeout(d,0)},n.exports=h}).call(this,e("timers").setImmediate)},{timers:11}],11:[function(e,n,r){(function(i,a){var h=e("process/browser.js").nextTick,d=Function.prototype.apply,f=Array.prototype.slice,v={},g=0;r.setTimeout=function(){return new b(d.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new b(d.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(m){m.close()};function b(m,c){this._id=m,this._clearFn=c}b.prototype.unref=b.prototype.ref=function(){},b.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(m,c){clearTimeout(m._idleTimeoutId),m._idleTimeout=c},r.unenroll=function(m){clearTimeout(m._idleTimeoutId),m._idleTimeout=-1},r._unrefActive=r.active=function(m){clearTimeout(m._idleTimeoutId);var c=m._idleTimeout;c>=0&&(m._idleTimeoutId=setTimeout(function(){m._onTimeout&&m._onTimeout()},c))},r.setImmediate=typeof i=="function"?i:function(m){var c=g++,E=arguments.length<2?!1:f.call(arguments,1);return v[c]=!0,h(function(){v[c]&&(E?m.apply(null,E):m.call(null),r.clearImmediate(c))}),c},r.clearImmediate=typeof a=="function"?a:function(m){delete v[m]}}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":9,timers:11}]},{},[2])(2)})})(Xe);var zt=Xe.exports;const Qe=Ht(zt);function Gt(o){let t;function e(r,i,a,h){const d=o.schema;if(!(d!=null&&d.buttons))return;let f;if(a){const m=a.getAttribute("id");f=Array.from(i.children).findIndex(c=>c.getAttribute("id")===m)}else f=Array.from(i.children).length;const v=r.getAttribute("id"),g=Array.from(i.children).findIndex(m=>m.getAttribute("id")===v),b=d.buttons[g];g!==f&&g>-1&&f>-1&&(g<f&&(f=f-1),d.buttons.splice(g,1),d.buttons.splice(f,0,b),h(),u.nextTick(()=>{const m=i.querySelector(".dgComponentSelected");m!=null&&m.className.includes("dgComponentSelected")&&(m.classList.remove("dgComponentSelected"),m.classList.remove("dgComponentFocused"),m.click()),be.value++}))}function n(r,i,a){t&&t.destroy(),!(!Qe||!r||!i)&&(t=Qe([r],{mirrorContainer:i,direction:"horizontal",getMirrorText(h){return h.innerText},moves(h,d,f){let v=!0;return f.classList.contains("dropdown-item")?(v=!1,v):(h.classList.contains("no-drag")&&(v=!1),v)}}).on("drop",(h,d,f,v)=>e(h,d,v,a)))}return{dragulaInstance:t,initDragula:n}}function Yt(o,t,e){const{renderToolbarItemDesigner:n,actionHandlers:r}=e;let i;function a(R){i=R}function h(R,N=null){const p=t.value.find(s=>s.id===R.id);if(p.isDP)if(document.body.click(),typeof N=="boolean")p.expanded=N;else{const s=R.expanded;p.expanded=!s}}r.toggleDropdownMenu=h;function d(R){var p;const N={"dropdown-menu":!0};if(R.class){const s=(p=R.menuClass)==null?void 0:p.split(" ");s&&s.length&&s.reduce((x,T)=>(x[T]=!0,x),N)}return N}function f(R){var s;const N={disabled:R.disabled===!1,"dropdown-submenu":!0,"f-rt-dropdown":!0,"text-truncate":!0},p=(s=R.dropdownClass)==null?void 0:s.split(" ");return p&&p.length&&p.reduce((x,T)=>(x[T]=!0,x),N),N}function v(R){const N={disabled:!1,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0,"text-truncate":!0},p=(R.class||"").split(" ");return p&&p.length&&p.reduce((s,x)=>(s[x]=!0,s),N),N}let g;const b=new Map;function m(R,N,p){R.stopPropagation();const s=p?p.id:"__top_item__";if(N.children&&N.children.length&&(N.expanded=!N.expanded,N.expanded)){if(b.has(s)&&b.get(s)!==N){const x=b.get(s);x&&(x.expanded=!1,b.delete(s))}b.set(s,N)}}function c(R){var N;return(N=R.children)==null?void 0:N.map((p,s)=>p.children&&p.children.length?u.createVNode("li",{class:f(p),id:p.id},[u.createVNode("span",{class:v(p),onClick:x=>m(x,p,R)},[p.text,u.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),g(p,p)]):n(p,s,!0))}function E(R,N,p,s){const{height:D,left:H,top:w}=s[0],{width:l,height:I}=p.getBoundingClientRect(),{marginTop:M,marginBottom:C}=getComputedStyle(p),P=Math.ceil(parseFloat(M))+Math.ceil(parseFloat(C)),V=w+D,S=N==null?void 0:N.getBoundingClientRect();function q(){let G=0,z="left";const Y=S?S.right:window.innerWidth,W=S?S.left:0;return G=Y-H-10,Y-H<l&&H-W>Y-H&&(z="right",G=H-W-10),{hposition:z,maxWidth:Math.min(G,300)}}let L=0,O="bottom";if(R==="tabs"||R==="section")L=N.getBoundingClientRect().bottom-V-P-10;else{const G=S?S.bottom:window.innerHeight;L=R==="page-header"?G-V:w,L=L-P-10,O=R==="page-header"?"bottom":"top"}const A=q();return{position:O+"-"+A.hposition,maxWidth:A.maxWidth,maxHeight:L}}function j(R){var T,D,H;const N="300px",p={display:R.expanded===!0?"block":"none",position:"absolute",maxWidth:N,minWidth:"120px"};if(!(i!=null&&i.value))return p;const s=i.value.querySelector("#"+R.id),x=s==null?void 0:s.getClientRects();if(s&&x&&x.length>0){const w=s?s.querySelector("#"+R.id+"_menu"):null;if(!w||R.expanded!==!0)return p;w.style.visibility="hidden",w.style.display="block",w.style.maxHeight="auto",w.style.maxWidth=N;let l;switch(r.toolbarPosition){case"tabs":l=(T=i.value)==null?void 0:T.closest(".farris-tabs");break;case"section":l=(D=i.value)==null?void 0:D.closest(".f-section");break;default:l=(H=i.value)==null?void 0:H.closest(".f-page")}const I=E(r.toolbarPosition,l,w,x),{position:M,maxHeight:C,maxWidth:P}=I;w.style.visibility="visible";const V={left:M.indexOf("left")>-1?0:"unset",right:M.indexOf("left")>-1?"unset":0,bottom:M.indexOf("bottom")>-1?"unset":"100%",top:M.indexOf("bottom")>-1?"!00%":"unset",maxWidth:P?P+"px":"300px",maxHeight:C?C+"px":"auto",overflowY:C?"auto":"unset"};Object.assign(p,V)}return p}r.changeMenuPosition=j,g=function(R,N){return u.createVNode("ul",{class:d(R),style:j(R),id:R.id+"_menu"},[c(R)])};function _(R=""){R&&b.has(R)?b.forEach((N,p)=>{p!==R&&(N.expanded=!1,b.delete(p))}):(b.forEach(N=>{N.expanded=!1}),b.clear())}return{renderDropdownMenu:g,clearAllDropDownMenu:_,setResponseToolbarRef:a}}const Xt={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}};function Qt(o,t,e){var x;const n="",r=u.ref();function i(){return!0}function a(){return!1}function h(){return!0}function d(){return!0}function f(){return!0}function v(T){if(!T||!T.value)return null;const D=u.ref(T==null?void 0:T.value.parent),H=v(D);return H||null}function g(T=t){var l;const{componentInstance:D,designerItemElementRef:H}=T;if(!D||!D.value)return null;const{getCustomButtons:w}=D.value;return D.value.canMove||D.value.canAdd||D.value.canDelete||w&&((l=w())!=null&&l.length)?H:g(T.parent)}function b(){}function m(T){return!!e}function c(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function E(){}function j(T,D){}function _(T){const{componentType:D}=T,H=u.inject("designer-host-service");let w=he(D,T,H);const l=D.toLowerCase().replace(/-/g,"_");return w&&!w.id&&w.type===D&&(w.id=`${l}_${Math.random().toString().slice(2,6)}`),w}function R(T){}function N(...T){return[]}function p(){}function s(T){}return r.value={canMove:i(),canSelectParent:a(),canAdd:d(),canDelete:h(),canNested:!f(),contents:[],elementRef:o,parent:(x=t.parent)==null?void 0:x.componentInstance,schema:t.schema,styles:n,canAccepts:m,getBelongedComponentInstance:v,getDraggableDesignItemElement:g,getDraggingDisplayText:c,getPropConfig:N,getDragScopeElement:E,onAcceptMovedChildElement:j,onChildElementMovedOut:R,addNewChildComponentSchema:_,onRemoveComponent:p,triggerBelongedComponentToMoveWhenMoved:u.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:u.ref(!1),onPropertyChanged:s,getCustomButtons:b},r}const Jt=u.defineComponent({name:"FDesignerInnerItem",props:Xt,emits:["selectionChange","addComponent","removeComponent","clickButton"],setup(o,t){const e=u.ref(o.canMove),n=u.ref(o.canAdd),r=u.ref(o.canDelete),i=u.ref(!1),a=u.ref(o.contentKey),h=u.ref(o.childType),d=u.ref(o.childLabel),f=u.ref(o.modelValue),v=u.ref(""),g=u.ref(),b=u.inject("canvas-dragula"),m=u.ref(),c=u.inject("design-item-context"),E={designerItemElementRef:g,componentInstance:m,schema:f.value,parent:c,setupContext:t};u.provide("design-item-context",E);const j=u.computed(()=>{var V;const C=((V=m.value)==null?void 0:V.getCustomButtons)&&m.value.getCustomButtons();return{"farris-component":!0,"flex-fill":o.id==="root-component","position-relative":e.value||r.value||(C==null?void 0:C.length),"farris-nested":i.value,"can-move":e.value,"d-none":g.value&&g.value.classList.contains("d-none")}}),_=u.computed(()=>{const C={};return v.value&&v.value.split(";").reduce((P,V)=>{const[S,q]=V.split(":");return S&&(P[S]=q),P},C),C});function R(C,P){if(c&&c.schema[a.value]){const V=c.schema[a.value].findIndex(S=>S.id===P.id);if(V>-1){const S=c.schema[a.value].length,q=c.schema[a.value][V%S];c.designerItemElementRef.value.querySelector(`#${q.id}-design-item`),c.schema[a.value].splice(V,1),be.value++,t.emit("removeComponent"),t.emit("selectionChange")}}}function N(C){if(m.value.addNewChildComponentSchema){const P={componentType:h.value,label:d.value,parentComponentInstance:m.value,targetPosition:-1},V=m.value.addNewChildComponentSchema(P);f.value[a.value].push(V),t.emit("addComponent")}}function p(){return n.value&&u.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:C=>{N()}},[u.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function s(C){return r.value&&u.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:u.withModifiers(P=>R(P,C),["stop"])},[u.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function x(){return e.value&&u.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[u.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function T(){var P;const C=((P=m.value)==null?void 0:P.getCustomButtons)&&m.value.getCustomButtons();return C&&!!C.length&&C.map(V=>u.createVNode("div",{role:"button",class:`btn component-settings-button ${V.class||""} ${V.text?"settings-button-extend":""}`,title:V.title,ref:V.id,onClick:S=>V.onClick&&V.onClick(S)},[u.createVNode("i",{class:"f-icon "+V.icon},null),V.text&&u.createVNode("span",{class:"icon-text"},[V.text])]))}function D(C){return u.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[u.createVNode("div",null,[p(),x(),s(C),T()])])}u.watch(()=>o.modelValue,C=>{f.value=C,E.schema=C});function H(C){window.scrollContainerList||(window.scrollContainerList=new Set);const P=C.getAttribute("id");P&&window.scrollContainerList.add(P)}function w(C){const P=C.target;H(P),Ft(P)}function l(){var C,P;(P=(C=f.value)==null?void 0:C.contents)!=null&&P.length&&g.value&&g.value.addEventListener("scroll",w)}function I(){const C=g.value,P=u.ref(C.children[1]);return Qt(P,E).value}u.onMounted(()=>{if(g.value){const C=g.value.querySelector(`[data-dragref='${f.value.id}-container']`);m.value=C&&C.componentInstance?C.componentInstance.value:I(),b&&C&&b.attachComponents(C,f.value),i.value=m.value.canNested!==void 0?m.value.canNested:i.value,n.value=m.value.canAdd!==void 0?m.value.canAdd:n.value,r.value=m.value.canDelete!==void 0?m.value.canDelete:r.value,e.value=m.value.canMove!==void 0?m.value.canMove:e.value,v.value=m.value.styles||"",g.value&&(g.value.componentInstance=m,g.value.designItemContext=E)}l(),be.value++}),u.onBeforeUnmount(()=>{g.value&&g.value.removeEventListener("scroll",w)});function M(C){C&&(C.preventDefault(),C.stopPropagation());let P=E.designerItemElementRef;const V=g.value;if(V){const S=document.getElementsByClassName("dgComponentFocused");S&&S.length===1&&S[0]===g.value&&g.value.classList.contains("dgComponentSelected")||(Array.from(S).forEach(L=>L.classList.remove("dgComponentFocused")),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(L=>L.classList.remove("dgComponentSelected")),V.classList.add("dgComponentFocused"),t.emit("selectionChange",f.value.type,f.value,o.componentId,m.value),m.value.getDraggableDesignItemElement&&(P=m.value.getDraggableDesignItemElement(E),P&&P.value&&P.value.classList.add("dgComponentSelected")))}Ge(P==null?void 0:P.value)}return()=>u.createVNode("div",{id:`${o.id}-design-item`,ref:g,class:j.value,style:_.value,onClick:M},[D(f.value),t.slots.default&&t.slots.default()])}});class Zt extends ft.BaseControlProperty{constructor(t,e){super(t,e)}getPropertyConfig(t,e=!1){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.basic.properties.text={title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},this.getAppearanceProperties(t,e),this.getbBehaviorConfig(t),this.getEventPropConfig(t),this.propertyConfig}getAppearanceProperties(t,e=!1){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式",visible:!e},icon:{title:"图标",type:"string",description:""},split:{title:"下拉按钮分离",type:"boolean",description:"启用下拉按钮分离,可以单独点击按钮。单独点击下拉按钮展开下拉面板",visible:!!(t.children&&t.children.length>0)}}}}getbBehaviorConfig(t){const e=this.getPropertyEditorParams(t,["Const","Variable","StateMachine","Expression"],"disabled");this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"",{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0,editor:e}})}getEventPropConfig(t){const e=[{label:"onClick",name:"点击事件"}],n=this,r=n.eventsEditorUtils.formProperties(t,n.viewModelId,e),i={};i[n.viewModelId]={type:"events-editor",editor:{initialData:r}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:i,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,h){const d=a.propertyValue;delete t[n.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,n.eventsEditorUtils.saveRelatedParameters(t,n.viewModelId,d.events,d))}}}}class Kt extends Ye{constructor(e,n,r="response-toolbar-item"){super(e,n);U(this,"toolbarType","response-toolbar-item");this.toolbarType=r}getPropertyConfig(e,n=!1){this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.basic.properties.text={title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},this.propertyConfig.categories.basic.setPropertyRelates=i=>{if(i)switch(i&&i.propertyID){case"text":{i.needRefreshControlTree=!0;break}}},this.getAppearanceProperties(e,n);const r=this.getPropertyEditorParams(e,["Const","Variable","StateMachine","Expression"],"disabled");return this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"",{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0,editor:r}}),this.getEventPropConfig(e),this.propertyConfig}getAppearanceProperties(e,n=!1){this.propertyConfig.categories.appearance={title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter",visible:!n},icon:{title:"图标",type:"string",description:""},split:{title:"下拉按钮分离",type:"boolean",description:"启用下拉按钮分离,可以单独点击按钮。单独点击下拉按钮展开下拉面板",visible:!!(e.children&&e.children.length>0)},tipsEnable:{title:"启用提示",type:"boolean",description:"当启用提示时,鼠标滑过按钮会有消息提示框",refreshPanelAfterChanged:!0,visible:this.toolbarType==="response-toolbar-item"},tipsText:{title:"提示消息内容",type:"string",description:"消息提示框内的展示内容",visible:e.tipsEnable===!0}}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}],r=this,i=r.eventsEditorUtils.formProperties(e,r.viewModelId,n),a={};a[r.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(h,d){const f=h.propertyValue;delete e[r.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,f.events,f))}}}}function Te(o,t){if(!o)return!1;const e=t||[];return(e==null?void 0:e.findIndex(r=>r.id===o))===-1}function Je(o,t){const e=t||[];let n={parentIndex:-1,itemIndex:-1};return e.some((r,i)=>{if(r.children&&r.children.length>0){const a=r.children.findIndex(h=>h.id===o);return a>-1?(n={parentIndex:i,itemIndex:a},!0):!1}}),n}function Ze(o,t){const e=t||[];let n={parentIndex:-1,itemIndex:-1};const r=e==null?void 0:e.findIndex(i=>i.id===o);return r>-1?{parent:null,item:e[r]}:(e.some((i,a)=>{if(i.children&&i.children.length>0){const h=i.children.findIndex(d=>d.id===o);return h>-1?(n={parentIndex:a,itemIndex:h},!0):!1}}),n.parentIndex<0?{parent:null,item:null}:{parent:e[n.parentIndex],item:e[n.parentIndex].children[n.itemIndex]})}function en(o,t){const e=t||[],n=e==null?void 0:e.findIndex(r=>r.id===o);return n>-1&&e[n].children&&e[n].children.length>0?e[n].expanded===!0:!1}function tn(o,t,e){function n(w){return!1}function r(){return!1}function i(){return!1}function a(){return!1}function h(){return e.toolbarContext.schema.buttons||[]}function d(w,l=""){setTimeout(()=>{var P,V;const I=(P=o.parent)==null?void 0:P.designerItemElementRef.value;let M;l&&(M=I==null?void 0:I.querySelector("#"+l));const C=(V=M||I)==null?void 0:V.querySelector("#"+w);C==null||C.click()},0)}function f(w,l){l.disabled&&l.disabled.expressionId&&(l.disabled.expressionId=`${l.id}_disabled`),l.visible&&l.visible.expressionId&&(l.visible.expressionId=`${l.id}_visible`);const I=t.formSchemaUtils.getExpressions(),M=I.find(P=>P.target===w.id);if(!M||!M.rules||!M.rules.length)return;const C={target:l.id,rules:[],targetType:"Button"};M.rules.forEach(P=>{const V=Object.assign(oe.cloneDeep(P),{id:`${l.id}_${P.type}`});C.rules.push(V)}),I.push(C)}function v(){const w=o.schema,l=Object.assign(oe.cloneDeep(w),{id:`${o.schema.type}-cloned-${Math.random().toString(36).slice(2,6)}`,onClick:null});let I=[];return l.children&&l.children.length&&(I=l.children.map(M=>{const C=oe.cloneDeep(M);return Object.assign(C,{id:`${o.schema.type}-cloned-${Math.random().toString(36).slice(2,6)}`,onClick:null}),f(M,C),C}),l.children=I),f(w,l),l}function g(){const w=o.schema.type||"response-toolbar-item",l=he(w),I=w.toLowerCase().replace("-","_");return l&&!l.id&&l.type===w&&(l.id=`${I}_${Math.random().toString().slice(2,6)}`,l.text="按钮"),l}function b(w){const l=h(),I=l==null?void 0:l.findIndex(C=>C.id===w),M=I===-1?null:l[I];return{index:I,toolbarItem:M}}function m(){const w=o.schema.id,l=h();return Te(w,l)}function c(w){const l=t.formSchemaUtils.getExpressions();if(!l||!l.length)return;const I=M=>{const C=l&&l.findIndex(P=>P.target===M.id);C>-1&&l.splice(C,1)};I(w),w.children&&w.children.length&&w.children.forEach(M=>{I(M)})}function E(w){e.changeSelectedId(w)}function j(){var M,C;const w=h(),{parentIndex:l,itemIndex:I}=Je(o.schema.id,w);l===-1||I===-1||(c(o.schema),w[l].children.splice(I,1),e.updateToolbarItems(),(M=o.setupContext)==null||M.emit("removeComponent"),(C=o.setupContext)==null||C.emit("selectionChange"))}function _(){var M,C;const w=o.schema.id,l=h(),I=l==null?void 0:l.findIndex(P=>P.id===w);I!==-1&&(c(l[I]),l==null||l.splice(I,1),e.updateToolbarItems(),(M=o.setupContext)==null||M.emit("removeComponent"),(C=o.setupContext)==null||C.emit("selectionChange"),be.value++)}function R(w="Append"){var V;const l=h(),{parentIndex:I,itemIndex:M}=Je(o.schema.id,l);if(I===-1||M===-1)return;const C=g(),P=w==="Copy"?v():Object.assign({},C);l[I].children.splice(M+1,0,P),e.updateToolbarItems(),E(P.id),(V=o.setupContext)==null||V.emit("addComponent")}function N(w,l){const{index:I}=b(l);if(I===-1)return{index:I,schema:null};const M=g(),C=w==="Copy"?v():Object.assign({},M);return{index:I,schema:C}}function p(){var M;const w=o.schema.id,{index:l,schema:I}=N("Copy",w);I&&(h().splice(l+1,0,I),e.updateToolbarItems(),d(I.id),(M=o.setupContext)==null||M.emit("addComponent"))}function s(){var M;const w=o.schema.id,{index:l,schema:I}=N("Append",w);if(I&&o.parent){const P=h()[l].children||[];P.push(I);const V=h();V[l].children=P,e.updateToolbarItems(),E(I.id),(M=o.setupContext)==null||M.emit("addComponent")}}function x(w){let l;switch(o.schema.type){case"tab-toolbar-item":l=new Zt(w,t);break;default:l=new Kt(w,t,o.schema.type)}return l.getPropertyConfig(o.schema,m())}function T(w){w.stopPropagation(),w.stopImmediatePropagation()}function D(){const w=[{id:"delete",title:"删除",text:"",icon:"f-icon-yxs_delete",onClick:l=>{T(l),m()?j():_()}},{id:"copy",title:"复制",icon:"f-icon-yxs_copy",onClick:l=>{T(l);const{activeElement:I}=document,M=I?I.tagName.toLowerCase():"";M&&M==="input"||M==="textarea"?(I==null||I.blur(),u.nextTick(()=>{m()?R("Copy"):p()})):m()?R("Copy"):p()}}];return w.push(m()?{id:"appendSiblingButton",title:"",text:"新增同级",icon:"f-icon-plus-circle",onClick:l=>{T(l),R()}}:{id:"appendChildButton",title:"",text:"新增子级",icon:"f-icon-plus-circle",onClick:l=>{T(l),s()}}),w}function H(){const{schema:w}=o;c(w)}return{canAccepts:n,checkCanMoveComponent:r,checkCanDeleteComponent:i,checkCanAddComponent:a,getPropsConfig:x,getCustomButtons:D,onRemoveComponent:H}}const Ke=u.defineComponent({name:"FResponseToolbarItemDesign",props:Ue,emits:["Click","dropdown","clearAll"],setup(o,t){const e=u.ref(o.alignment),n=xe(),r=u.ref(),i=u.inject("designer-host-service"),a=u.inject("design-item-context"),h=u.inject("toolbar-item-action"),d=tn(a,i,h),f=Oe.useDesignerInnerComponent(r,a,d);u.onMounted(()=>{r.value.componentInstance=f}),t.expose(f.value);function v(){const p={"f-icon":!0},s=o.icon?o.icon.trim():"";return le.getCustomClass(p,s)}function g(){return!!(o.icon&&o.icon.trim())}const b=u.computed(()=>{const p={btn:!0,"f-rt-btn":!0,"f-btn-ml":!o.isDP&&(e.value==="right"||e.value==="center"),"f-btn-mr":!o.isDP&&e.value==="left","btn-icontext":!!(o.icon&&o.icon.trim()),disabled:o.disabled===!0,"no-drag":!0,"text-truncate":!0};return le.getCustomClass(p,o.class)}),m=u.computed(()=>o.split?{display:"flex","align-items":"center"}:{display:"flex","align-items":"center","border-radius":"6px","padding-right":"0.1rem","border-top-right-radius":"6px","border-bottom-right-radius":"6px"}),c=u.computed(()=>{const p={btn:!0,"dropdown-toggle":!0,"f-btn-mr":e.value==="left","dropdown-toggle-split":!0,"no-drag":!0};return le.getCustomClass(p,o.class)}),E=u.computed(()=>{let p={btn:!o.isDPItem,disabled:o.disabled===!0,"dropdown-item":o.isDPItem,"f-rt-btn":!0,"text-truncate":!0,"btn-icontext":!o.isDPItem&&!!(o.icon&&o.icon.trim()),"dropdown-item-icontext":o.isDPItem&&!!(o.icon&&o.icon.trim()),"no-drag":!0};return o.isDPItem||(p=le.getCustomClass(p,o.class||"")),o.isDP&&(p=le.getCustomClass(p,o.dropdownClass||"")),p});function j(p,s){s&&s.stopPropagation(),t.emit(p,{id:o.id,isDP:o.isDP})}function _(){return{"btn-group":!0,"no-drag":!0,"f-rt-dropdown":!0,"f-btn-ml":e.value==="right"||e.value==="center","f-btn-mr":e.value==="left"}}function R(){return u.createVNode("div",{ref:r,"data-dragref":`${a.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[u.createVNode("div",{class:_(),id:o.id},[u.createVNode("div",{class:b.value,style:m.value,onClick:()=>j("clearAll")},[n.shouldShowIcon(o)&&u.createVNode("i",{class:n.iconClass(o)},null),u.createVNode("span",null,[o.text]),!o.split&&u.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down",style:"margin:0 0.5rem 0 0.25rem;",onClick:p=>j("dropdown",p)},null)]),o.split&&u.createVNode("button",{class:c.value,style:"border-radius:0 6px 6px 0;",onClick:p=>j("dropdown",p)},null),h.renderDropdownMenu(o.item,o.item)])])}function N(){return u.createVNode("li",{ref:r,"data-dragref":`${a.schema.id}-container`,id:o.id,class:E.value},[n.shouldShowIcon(o)&&u.createVNode("i",{class:n.iconClass(o)},null),o.text])}return()=>o.isDP?R():o.isDPItem?N():u.createVNode("div",{ref:r,"data-dragref":`${a.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[u.createVNode("button",{type:"button",class:b.value,id:o.id,onClick:()=>j("clearAll")},[g()&&u.createVNode("i",{class:v()},null),o.text])])}});function nn(o,t,e,n){function r(b,m,c,E){n.changeSelectedId((m==null?void 0:m.id)||""),e&&e.setupContext&&e.setupContext.emit("selectionChange",b,m,c,E)}function i(){}function a(b){const m=b.expanded;n.clearAllDropdown(),n.toggleDropdownMenu(b,!m)}function h(b){n.clearAllDropdown(b.isDP?b.id:"")}function d(b,m=""){const c=o.items||[],E=m||b,j=c.find(_=>_.id===E);return m?j.children.find(_=>_.id===b):j}function f(b,m=!1){if(!m)return;const c=b.target;c!=null&&c.classList.contains("dgComponentFocused")&&(c==null||c.classList.add("dgComponentSelected"))}function v(b,m=!1){if(!m)return;const c=b.target;c!=null&&c.classList.contains("dgComponentFocused")&&(c==null||c.classList.remove("dgComponentSelected"))}function g(b,m,c=!1){const E=d(b.id,b.parent),j=u.ref(E);return u.createVNode(Jt,{key:E.id,class:["p-0",c?"d-block no-drag":"d-inline-block"],modelValue:j.value,"onUpdate:modelValue":_=>j.value=_,canMove:!1,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:o.componentId,id:E.id,onSelectionChange:r,onRemoveComponent:i,onMouseenter:_=>f(_,c),onMouseleave:_=>v(_,c)},{default:()=>{var _;return[u.createVNode(Ke,{id:E.id,disabled:E.disabled,text:E.text,icon:E.icon,isDP:b.isDP,item:b,split:E.split,isDPItem:b.isDPItem,class:((_=b.appearance)==null?void 0:_.class)||"btn-secondary",alignment:o.alignment||"right",onDropdown:()=>a(b),onClearAll:R=>h(R),componentId:o.componentId},null)]}})}return{renderToolbarItemDesigner:g,actionHandlers:n}}function Se(o,t=!1,e=""){const n=[];return o.reduce((r,i)=>{if(i.children&&i.children.length>0){const a=Se(i.children,!0,i.id);r.push(Object.assign({},i,{children:a,isDPItem:!1,isDP:!0,parent:"",expanded:!1}))}else r.push(Object.assign({},i,{isDPItem:t,isDP:!1,parent:e}));return r},n),n}const on=u.defineComponent({name:"FResponseToolbarDesign",props:Mt,emits:["Click"],setup(o,t){const e=u.ref(Se(o.items)),n=u.ref(),r=u.ref(),i=u.ref(),a=u.ref("");let h=0;const d=15,f=u.inject("designer-host-service"),v=u.inject("design-item-context"),g={clearAllDropdown:O=>{},toggleDropdownMenu:O=>{},updateToolbarItems:()=>{},changeSelectedId:O=>{a.value=O},renderDropdownMenu:(O,A)=>{},toolbarContext:v,changeMenuPosition:(O,A,G)=>({}),toolbarPosition:""},b=Ut(v,f,g),m=Oe.useDesignerComponent(i,v,b),c=u.inject("toolbar-item-handler"),{initDragula:E,dragulaInstance:j}=Gt(v),_=xe(),R=nn(o,r,v,g),N=Yt(_,e,R),{renderToolbarItemDesigner:p}=R,{clearAllDropDownMenu:s,renderDropdownMenu:x,setResponseToolbarRef:T}=N;u.provide("toolbar-item-action",g),g.renderDropdownMenu=x,T(i),c&&(c.changeSelectedId=function(O){a.value=O});function D(){const O=r.value.querySelector(".dgComponentSelected");O&&ze(O)}function H(){if(a.value)if(Te(a.value,e.value)){const{parent:O,item:A}=Ze(a.value,e.value);O&&(g.toggleDropdownMenu(O,!0),setTimeout(()=>{var Y;const G=i.value.querySelector("#"+O.id),z=G==null?void 0:G.querySelector("#"+A.id);(((Y=z==null?void 0:z.parentElement)==null?void 0:Y.className)||"").indexOf("dgComponentFocused")<0&&(z==null||z.click())},0))}else D()}function w(O=""){e.value.filter(A=>A.id!==O&&A.children&&A.children.length>0).forEach(A=>{A.expanded=!1}),s(O)}g.clearAllDropdown=w;function l(){c&&c.updateToolbarItems&&c.updateToolbarItems()}g.updateToolbarItems=l;function I(O){if(O){const A=i.value.querySelector("#"+O.id),G=A.querySelector("#"+O.id+"_menu"),z=g.changeMenuPosition(O,A);Object.keys(z).forEach(Y=>{G.style[Y]=z[Y]})}}function M(){const G=r.value.clientWidth,z=r.value.querySelectorAll(".farris-component>.f-rt-btn");z&&z.forEach(W=>{W.style.maxWidth=G-12+"px"});const Y=r.value.querySelectorAll(".farris-component>.f-rt-dropdown");Y&&Y.forEach(W=>{W.querySelector(".dropdown-toggle-split")?W.querySelector(".f-rt-btn").style.maxWidth=G-38+"px":W.style.maxWidth=G-12+"px"})}const C=new ResizeObserver(O=>{var A;if(O.length){const z=O[0].contentRect.width;if(z===0){h=0;return}if(Math.abs(z-h)>d){if(h=z,Te(a.value,e.value)){const{parent:Y,item:W}=Ze(a.value,e.value);I(Y)}else if(en(a.value,e.value)){const Y=(A=e.value)==null?void 0:A.find(W=>W.id===a.value);I(Y)}else w();M()}}});u.onMounted(()=>{C.observe(i.value),h=i.value.clientWidth,i.value.componentInstance=m,E(r.value,n.value,l)}),u.onUnmounted(()=>{C.disconnect(),j&&j.destroy&&j.destroy()}),t.expose(m.value);const P=u.computed(()=>{const O={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0,"f-response-toolbar-sm":o.buttonSize==="sm","f-response-toolbar-lg":o.buttonSize==="lg"};return le.getCustomClass(O,o.customClass)}),V=u.computed(()=>({"text-left":o.alignment==="left","text-right":o.alignment==="right","justify-content-end":o.alignment==="right","justify-content-start":o.alignment==="left","justify-content-center":o.alignment==="center","no-drag":!0,"w-100":!0}));u.watch(()=>o.items,()=>{e.value=Se(o.items),u.nextTick(()=>{H(),M()})},{deep:!0});function S(O){O&&(O.stopPropagation(),O.preventDefault());const{schema:A}=v;A.buttons||(A.buttons=[]);const G=he("response-toolbar-item");G.id=`toolbar_item_${Math.random().toString().slice(2,6)}`,G.appearance={class:"btn btn-secondary"},A.buttons.push(G)}function q(){return u.createVNode("li",{style:"border-width: 1px;border-style: dashed;display: inline-block;padding: 0 8px;line-height: 24px; border-radius: 3px; cursor: default;color: #B4BCCC;",onClick:S},[u.createVNode("span",{class:"f-icon f-icon-amplification mr-1",style:"font-size: 12px;"},null),u.createVNode("span",{class:"farris-tag-add-text"},[u.createTextVNode("添加按钮")])])}function L(){return e.value.map((O,A)=>p(O,A))}return()=>{var O;return u.createVNode("div",{ref:i,"data-dragref":`${v.schema.id}-container`,class:P.value,id:o.id},[u.createVNode("div",{ref:n,class:V.value,onClick:A=>w(A)},[u.createVNode("div",{ref:r,class:"d-block f-response-content"},[(O=e.value)!=null&&O.length?L():q()])])])}}}),rn=we;me.register=(o,t,e,n)=>{o["response-toolbar"]=me,t["response-toolbar"]=we,n["response-toolbar"]={eventHandlerResolver:Dt}},me.registerDesigner=(o,t,e)=>{o["response-toolbar"]=on,t["response-toolbar"]=we,o["response-toolbar-item"]=Ke,t["response-toolbar-item"]=kt};const sn=le.withInstall(me);J.FResponseToolbar=me,J.ResponseToolbarDropDownItem=ge,J.ResponseToolbarGroup=gt,J.ResponseToolbarItem=je,J.default=sn,J.responseToolbarResolver=rn,Object.defineProperties(J,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(x,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("../common/index.umd.js"),require("vue")):typeof define=="function"&&define.amd?define(["exports","../common/index.umd.js","vue"],b):(x=typeof globalThis<"u"?globalThis:x||self,b(x["response-toolbar"]={},x.common,x.Vue))})(this,function(x,b,n){"use strict";var de=Object.defineProperty;var ce=(x,b,n)=>b in x?de(x,b,{enumerable:!0,configurable:!0,writable:!0,value:n}):x[b]=n;var f=(x,b,n)=>ce(x,typeof b!="symbol"?b+"":b,n);const Q={id:{type:String,default:""},customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]},visible:{type:Boolean,default:!0}};class X{constructor(l){f(this,"id","");f(this,"class","btn-secondary");f(this,"icon","");f(this,"groupId","");f(this,"order",-1);f(this,"asDropDownTop",!1);f(this,"text","");f(this,"visible",!0);f(this,"shown",!0);f(this,"responsed",!1);f(this,"tipsEnable",!1);f(this,"tipsText","");f(this,"width",0);f(this,"dropdownClass","");f(this,"onClick",()=>{});f(this,"options");var g,u;this.options=l;const c=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","dropdownClass","onClick"];Object.keys(l).filter(w=>c.indexOf(w)>-1).forEach(w=>{w==="visible"?this[w]=l[w]===void 0?!0:l[w]:this[w]=l[w]}),this.shown=this.visible,(g=l.appearance)!=null&&g.class&&(this.class=(u=l.appearance)==null?void 0:u.class)}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:n.computed(()=>!0)}setWidth(l){this.width=parseInt(l,10)}getWidth(){return this.visible?this.width:!1}}class Z extends X{constructor(l){super(l)}}function K(){function a(l){const c=[];return l.reduce((g,u)=>(u.children&&u.children.length>0?g.push(new $(u)):g.push(new Z(u)),g),c),c}return{buildResponseToolbarItems:a}}const{buildResponseToolbarItems:ne}=K();class $ extends X{constructor(c){super(c);f(this,"placement","");f(this,"visible",!0);f(this,"dropdownClass","");f(this,"menuClass","");f(this,"split",!1);f(this,"children",[]);f(this,"expanded",!1);f(this,"shown",!0);const g=["visible","icon","isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(c).filter(u=>g.indexOf(u)>-1).forEach(u=>{u==="visible"?this[u]=c[u]===void 0?!0:c[u]:this[u]=c[u]}),this.shown=this.visible,c.children&&c.children.length&&(this.children=ne(c.children))}}function oe(){function a(c){const g={"f-icon":!0};if(c.icon){const u=c.icon.trim().split(" ");u&&u.length&&u.reduce((w,M)=>(w[M]=!0,w),g)}return g}function l(c){return!!(c.icon&&c.icon.trim())}return{iconClass:a,shouldShowIcon:l}}function se(a,l){function c(o){const e={"dropdown-menu":!0};return b.getCustomClass(e,o.menuClass)}function g(o){const e={disabled:!o.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0,"text-truncate":!0};return b.getCustomClass(e,o.dropdownClass)}function u(o){const e={disabled:!o.enable,"dropdown-item":!0,"f-rt-btn":!0,"text-truncate":!0};return b.getCustomClass(e,o.dropdownClass)}function w(o){const e={disabled:!o.enable,"dropdown-item":!0,"f-rt-btn":!0,"text-truncate":!0,"f-rt-toggle":!o.split,"btn-icontext":!!(o.icon&&o.icon.trim()),"dropdown-toggle":!o.split};return b.getCustomClass(e,o.dropdownClass)}function M(o){const e={"f-rt-btn":!0,"text-truncate":!0,"btn-icontext":!!(o.icon&&o.icon.trim()),"d-block":!0};return b.getCustomClass(e,o.dropdownClass)}let R;const D=new Map;function S(o,e,r){o.stopPropagation();const i=r?r.id:"__top_item__";if(e.children&&e.children.length&&(e.expanded=!e.expanded,e.expanded)){if(D.has(i)&&D.get(i)!==e){const V=D.get(i);V&&(V.expanded=!1,D.delete(i))}D.set(i,e)}}function E(o,e){document.body.click(),e.enable&&(o.stopPropagation(),typeof e.onClick=="function"&&e.onClick(o,e.id),a.emit("click",o,e.id))}function W(o,e){const r=o.target;r.className.indexOf("dropdown-item")<0||(r.title=r.scrollWidth>r.clientWidth?e:"")}function F(o,e,r){if(e.tipsEnable&&e.tipsText){const i=n.reactive({content:e.tipsText,enable:e.tipsEnable});return n.withDirectives(n.createVNode("li",{class:u(e),id:e.id,key:e.id+"_"+r,onClick:V=>E(V,e)},[n.createVNode("span",{class:M(e)},[l.shouldShowIcon(e)&&n.createVNode("i",{class:l.iconClass(e)},null),e.text])]),[[n.resolveDirective("tooltip"),i]])}return n.createVNode("li",{class:u(e),id:e.id,onClick:i=>E(i,e)},[n.createVNode("span",{class:M(e),onMouseenter:i=>W(i,e.text)},[l.shouldShowIcon(e)&&n.createVNode("i",{class:l.iconClass(e)},null),e.text])])}function A(o,e,r){e.enable&&(typeof e.onClick=="function"&&r.onClick(o,e.id),a.emit("click",o,e.id),r.split||S(o,e,r))}function s(o,e,r){o&&o.stopPropagation(),S(o,e,r)}function h(o,e){o.stopPropagation();const r=e.id;if(e.children&&e.children.length&&e.expanded&&D.has(r)){const i=D.get(r);i&&(i.expanded=!1,D.delete(r))}}function v(o,e,r){if(e.tipsEnable&&e.tipsText){const i=n.reactive({content:e.tipsText,enable:e.tipsEnable});return n.createVNode("li",{class:g(e),id:e.id,key:e.id+"_"+r,onClick:V=>A(V,e,o)},[n.withDirectives(n.createVNode("span",{class:w(e)},[l.shouldShowIcon(e)&&n.createVNode("i",{class:l.iconClass(e)},null),e.text]),[[n.resolveDirective("tooltip"),i]]),e.split&&n.createVNode("span",{class:"dropdown-toggle dropdown-toggle-split f-rt-toggle",onClick:V=>s(V,e,o)},null),R(e,e)])}return n.createVNode("li",{class:g(e),id:e.id,onClick:i=>A(i,e,o),onMouseenter:i=>W(i,e.text)},[n.createVNode("span",{class:w(e)},[l.shouldShowIcon(e)&&n.createVNode("i",{class:l.iconClass(e)},null),e.text]),e.split&&n.createVNode("span",{class:"dropdown-toggle dropdown-toggle-split f-rt-toggle",onClick:i=>s(i,e,o)},null),R(e,e)])}function O(o){return o.children.filter(e=>e.visible).map((e,r)=>e.children&&e.children.length?v(o,e,r):F(o,e,r))}function G(o,e,r){const i={display:o.expanded?"block":"none",position:"fixed",maxWidth:"300px",minWidth:"120px",zIndex:1040,overflowY:"auto",maxHeight:"none"},V=window.innerWidth,_=window.innerHeight,H=e,B=H==null?void 0:H.getClientRects();if(H&&B&&B.length){const{top:j,width:q,left:z,right:U,height:L}=B[0],t=Math.ceil(L+j);i.top=`${t}px`,i.left=`${z}px`;const d=o.id+"_menu",p=e?e.querySelector("#"+d):null;if(p){p.style.visibility="hidden",p.style.display="block";const y=p.offsetHeight;i.display==="block"&&(p.style.display="block");const N=p.getBoundingClientRect();if(r){i.top=`${j-6}px`;const k=Math.ceil(q+z);i.left=`${k}px`}V-z-q<N.width&&(i.left=`${(r?z:U)-N.width}px`),_-j-L<y?j>y?(i.top=`${j-y-6}px`,i.maxHeight=`${j-16}px`):(i.maxHeight=`${_-t}px`,j>_-j-L&&(i.top="10px",i.maxHeight=`${j-16}px`)):i.maxHeight=`${_-t}px`,p.style.visibility="visible"}}return i}R=function(o,e){var _,H;const r=n.getCurrentInstance(),i=e?e.id:o.id,V=(H=(_=r==null?void 0:r.exposed)==null?void 0:_.elementRef.value)==null?void 0:H.querySelector("#"+i);return n.createVNode("ul",{class:c(o),style:G(o,V,e),id:o.id+"_menu",onWheel:B=>h(B,o)},[O(o)])};function I(){D.forEach(o=>{o.expanded=!1}),D.clear()}return{renderDropdownMenu:R,clearAllDropDownMenu:I}}function le(a,l,c){const g=n.ref(a.alignment),{renderDropdownMenu:u,clearAllDropDownMenu:w}=se(l,c);function M(s){const h={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":g.value==="right"||g.value==="center","f-btn-mr":g.value==="left"};return b.getCustomClass(h,s.dropdownClass)}function R(s){const h={btn:!0,disabled:!s.enable,"f-rt-btn":!0,"btn-icontext":!!(s.icon&&s.icon.trim()),"f-rt-toggle":!s.split,"dropdown-toggle":!s.split};return b.getCustomClass(h,s.class)}function D(s){const h={btn:!0,"dropdown-toggle":!0,"dropdown-toggle-split":!0};return b.getCustomClass(h,s.class)}function S(s){return s.split?{display:"flex"}:{display:"flex","border-radius":"6px"}}function E(s,h){s.stopPropagation();const v=h.expanded;document.body.click(),typeof h.onClick=="function"&&h.onClick(s,h.id),l.emit("click",s,h.id),h.split||(h.expanded=!v)}function W(s,h){s.stopPropagation();const v=h.expanded;document.body.click(),h.expanded=!v}function F(s,h=!0){if(s.tipsEnable&&s.tipsText){const v=n.reactive({content:s.tipsText,enable:s.tipsEnable});return n.createVNode("div",{id:s.id,class:M(s)},[n.withDirectives(n.createVNode("div",{class:R(s),style:S(s),onClick:O=>s.enable&&E(O,s)},[c.shouldShowIcon(s)&&n.createVNode("i",{class:c.iconClass(s)},null),n.createVNode("span",null,[s.text])]),[[n.resolveDirective("tooltip"),v]]),s.split&&n.createVNode("button",{class:D(s),style:"border-radius:0 6px 6px 0;",onClick:O=>W(O,s)},null),h&&u(s)])}return n.createVNode("div",{id:s.id,class:M(s)},[n.createVNode("div",{class:R(s),style:S(s),onClick:v=>s.enable&&E(v,s)},[c.shouldShowIcon(s)&&n.createVNode("i",{class:c.iconClass(s)},null),n.createVNode("span",null,[s.text])]),s.split&&n.createVNode("button",{class:D(s),style:"border-radius:0 6px 6px 0;",onClick:v=>W(v,s)},null),h&&u(s)])}function A(){w()}return{renderToolbarDropdown:F,clearAllDropDown:A}}const{buildResponseToolbarItems:m}=K(),ee=n.defineComponent({name:"FResponseToolbar",props:Q,emits:["click"],setup(a,l){const c=n.ref(m(a.items)),g=n.ref(),u=n.ref(),w=n.ref(),M={id:"__more_buttons__",text:"更多"},R=n.ref(new $(M)),D={id:M.id+"width",text:M.text},S=n.ref(-1),E=oe();let W=!1;const F=n.computed(()=>R.value.children.length>0),A=n.computed(()=>{const t={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0,"f-response-toolbar-sm":a.buttonSize==="sm","f-response-toolbar-lg":a.buttonSize==="lg","d-none":!a.visible};return b.getCustomClass(t,a.customClass)}),s=n.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":a.alignment==="right","justify-content-start":a.alignment==="left","justify-content-center":a.alignment==="center"})),{renderToolbarDropdown:h,clearAllDropDown:v}=le(a,l,E);function O(t){t&&t.target.closest("ul.dropdown-menu")&&t.type==="wheel"||(c.value.filter(d=>d.children&&d.children.length>0).forEach(d=>{d.expanded=!1}),R.value.expanded=!1,v())}function G(t,d){var N;const p={btn:!0,"f-rt-btn":!0,"f-btn-ml":a.alignment==="right"||d>0&&a.alignment==="center","f-btn-mr":a.alignment==="left","btn-icontext":!!(t.icon&&t.icon.trim())},y=((N=t==null?void 0:t.appearance)==null?void 0:N.class)||t.class||"btn-secondary";return b.getCustomClass(p,y)}function I(t,d){document.body.click(),typeof d.onClick=="function"&&d.onClick(t,d.id),l.emit("click",t,d.id)}function o(t,d){if(t.tipsEnable&&t.tipsText){const p=n.reactive({content:t.tipsText,enable:t.tipsEnable});return n.withDirectives(n.createVNode("button",{type:"button",class:G(t,d),id:t.id,disabled:!t.enable,onClick:y=>I(y,t)},[E.shouldShowIcon(t)&&n.createVNode("i",{class:E.iconClass(t)},null),t.text]),[[n.resolveDirective("tooltip"),p]])}return n.createVNode("button",{type:"button",class:G(t,d),id:t.id,disabled:!t.enable,onClick:p=>I(p,t)},[E.shouldShowIcon(t)&&n.createVNode("i",{class:E.iconClass(t)},null),t.text])}let e=new Map,r=[];function i(t){const d=Math.ceil(parseFloat(getComputedStyle(t).getPropertyValue("margin-left"))),p=Math.ceil(parseFloat(getComputedStyle(t).getPropertyValue("margin-right")));return(d||0)+t.getBoundingClientRect().width+(p||0)}function V(t,d,p){if(d<S.value){let y=p-1;for(;y>=0;y--){const N=t[y],k=i(N);if(d+=k,d>=S.value)break}p=y}return d-=S.value,{start:p,space:d}}function _(t){const d=w.value;let p=t;const N=Array.from(d.children).filter(P=>P.id!=="__more_buttons__"),k=N.length;let T=!1,C=0;for(;C<k;C++){const P=N[C],Y=i(P);if(Y<=p)p-=Y;else{const te=V(N,p,C);C=te.start,p=te.space,T=!0;break}}if(!T&&r.length>0){const P=V(N,p,C);C=P.start,p=P.space}const J=r.length>0;for(;C<k;C++){const P=N[C],Y=i(P);e.set(P.id,!0),r[J?"unshift":"push"]({id:P.id,width:Y})}return p}function H(t){let d=_(t);if(r.length){let k=0;for(;k<r.length;k++){const T=a.items.find(C=>C.id===r[k].id);if(T&&T.visible!==!1){const C=r[k].width;if(d>=C||k===r.length-1&&d+S.value>=C)d-=C;else break}}for(let T=0;T<k;T++)e.delete(r[T].id);r.splice(0,k-1)}const p=Object.assign({},R.value);p.children=[];const y=new $(p),N=c.value.reduce((k,T)=>{const C=a.items.find(J=>J.id===T.id);return e.has(T.id)?(y.children.push(T),T.shown=!1):T.shown=C.visible!==!1,k.push(T),k},[]);R.value=y,c.value=N}function B(t=-1){if(t===0||!w.value||!u.value)return;t<0&&(t=u.value.getBoundingClientRect().width);const d=w.value.getBoundingClientRect().width;(t>=0&&t<d||r.length)&&(H(t),O())}function j(){return S.value<0&&n.createVNode("div",{style:"position:absolute;top:-30px;visibility:hidden;"},[h(new $(D))])}const q=new ResizeObserver(t=>{if(t.length){const p=t[0].contentRect.width;B(p)}});function z(){e=new Map,r=[]}function U(){u.value&&!W&&(q.observe(u.value),W=!0)}function L(){if(g.value&&S.value<0){const t=g.value.querySelector("#"+D.id);t&&(S.value=i(t))}}return n.onMounted(()=>{L(),B(),U(),document.body.addEventListener("click",O),document.body.addEventListener("wheel",O)}),n.onUnmounted(()=>{q.disconnect(),document.body.removeEventListener("click",O),document.body.removeEventListener("wheel",O)}),n.watch(()=>a.items,()=>{c.value=m(a.items),R.value.children=[],n.nextTick(()=>{z(),B()})},{deep:!0}),n.watch(()=>a.visible,t=>{t&&n.nextTick(()=>{L(),B(),U()})}),l.expose({elementRef:g}),()=>n.createVNode("div",{class:A.value,id:a.id,ref:g,style:{"overflow-y":S.value<0?"hidden":"initial"}},[a.visible&&j(),a.visible&&n.createVNode("div",{ref:u,class:s.value},[n.createVNode("div",{ref:w,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[c.value.filter(t=>t.shown).map((t,d)=>t.children&&t.children.length>0?h(t):o(t,d)),F.value&&h(R.value)])])])}});class re{constructor(l,c){f(this,"id");f(this,"name");f(this,"presetId",[]);f(this,"responsedIndex",[]);f(this,"width");this.id=l,this.name=c,this.width=0}setWidth(l){this.width=parseInt(l+"",10)}getWidth(){return this.width}setPreset(l){Array.isArray(l)?this.presetId=this.presetId.concat(l):this.presetId.push(l)}delPreset(){this.presetId=[]}removeResponsed(l){this.responsedIndex.splice(l,1)}setResponsed(l){Array.isArray(l)?this.responsedIndex=this.responsedIndex.concat(l):this.responsedIndex.push(l)}isResponsing(){return this.responsedIndex.length>0}isResponsed(){return this.presetId.length===this.responsedIndex.length}}const ie=b.withInstall(ee);x.FResponseToolbar=ee,x.ResponseToolbarDropDownItem=$,x.ResponseToolbarGroup=re,x.ResponseToolbarItem=Z,x.default=ie,x.responseToolbarProps=Q,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|