@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 113 kB
JavaScript
(function(ne,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("vue-i18n"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","../common/index.umd.js","../dynamic-resolver/index.umd.js","vue-i18n","../designer-canvas/index.umd.js"],r):(ne=typeof globalThis<"u"?globalThis:ne||self,r(ne["page-header"]={},ne.Vue,ne.LodashES,ne.FResponseToolbar$1,ne.common,ne.dynamicResolver,ne.vueI18n,ne.designerCanvas))})(this,function(ne,r,de,Ot,ee,Ue,At,We){"use strict";var fo=Object.defineProperty;var po=(ne,r,de)=>r in ne?fo(ne,r,{enumerable:!0,configurable:!0,writable:!0,value:de}):ne[r]=de;var G=(ne,r,de)=>po(ne,typeof r!="symbol"?r+"":r,de);function ze(t,e){let n;function o(l){const{properties:g,title:b,ignore:u}=l,c=u&&Array.isArray(u),P=Object.keys(g).reduce((I,D)=>((!c||!u.find(O=>O===D))&&(I[D]=g[D].type==="object"&&g[D].properties?o(g[D]):de.cloneDeep(g[D].default)),I),{});if(b&&(!c||!u.find(I=>I==="id"))){const I=b.toLowerCase().replace(/-/g,"_");P.id=`${I}_${Math.random().toString().slice(2,6)}`}return P}function i(l){const{properties:g,title:b,required:u}=l;if(u&&Array.isArray(u)){const c=u.reduce((P,I)=>(P[I]=g[I].type==="object"&&g[I].properties?o(g[I]):de.cloneDeep(g[I].default),P),{});if(b&&u.find(P=>P==="id")){const P=b.toLowerCase().replace(/-/g,"_");c.id=`${P}_${Math.random().toString().slice(2,6)}`}return c}return{type:b}}function s(l,g={},b){const u=t[l];if(u){let c=i(u);const P=e[l];return c=P?P({getSchemaByType:s},c,g,b):c,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(c),c}return null}function a(l,g){const b=o(g);return Object.keys(b).reduce((u,c)=>(Object.prototype.hasOwnProperty.call(l,c)&&(u[c]&&de.isPlainObject(u[c])&&de.isPlainObject(l[c]||!l[c])?Object.assign(u[c],l[c]||{}):u[c]=l[c]),u),b),b}function m(l,g){return Object.keys(l).filter(u=>l[u]!=null).reduce((u,c)=>{if(g.has(c)){const P=g.get(c);if(typeof P=="string")u[P]=l[c];else{const I=P(c,l[c],l);Object.assign(u,I)}}else u[c]=l[c];return u},{})}function d(l,g,b=new Map){const u=a(l,g);return m(u,b)}function h(l){var b;const g=l.type;if(g){const u=t[g];if(!u)return l;const c=a(l,u),P=((b=l.editor)==null?void 0:b.type)||"";if(P){const I=t[P],D=a(l.editor,I);c.editor=D}return c}return l}function w(l){n=l}return{getSchemaByType:s,resolveSchemaWithDefaultValue:h,resolveSchemaToProps:d,mappingSchemaToProps:m,setDesignerContext:w}}const Ge={},Ye={},{getSchemaByType:Xe,resolveSchemaWithDefaultValue:$t,resolveSchemaToProps:Rt,mappingSchemaToProps:jt,setDesignerContext:go}=ze(Ge,Ye);function _t(t={}){function e(h,w,l,g){if(typeof l=="number")return g[h].length===l;if(typeof l=="object"){const b=Object.keys(l)[0],u=l[b];if(b==="not")return Number(g[h].length)!==Number(u);if(b==="moreThan")return Number(g[h].length)>=Number(u);if(b==="lessThan")return Number(g[h].length)<=Number(u)}return!1}function n(h,w,l,g){return g[h]&&g[h].propertyValue&&String(g[h].propertyValue.value)===String(l)}const o=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((h,w)=>(h.set(w,t[w]),h),o);function i(h,w){const l=h;return typeof w=="number"?[{target:l,operator:"length",param:null,value:Number(w)}]:typeof w=="boolean"?[{target:l,operator:"getProperty",param:h,value:!!w}]:typeof w=="object"?Object.keys(w).map(g=>{if(g==="length")return{target:l,operator:"length",param:null,value:w[g]};const b=g,u=w[g];return{target:l,operator:"getProperty",param:b,value:u}}):[]}function s(h){return Object.keys(h).reduce((l,g)=>{const b=i(g,h[g]);return l.push(...b),l},[])}function a(h,w){if(o.has(h.operator)){const l=o.get(h.operator);return l&&l(h.target,h.param,h.value,w)||!1}return!1}function m(h,w){return s(h).reduce((b,u)=>b&&a(u,w),!0)}function d(h,w){const l=Object.keys(h),g=l.includes("allOf"),b=l.includes("anyOf"),u=g||b,I=(u?h[u?g?"allOf":"anyOf":"allOf"]:[h]).map(O=>m(O,w));return g?!I.includes(!1):I.includes(!0)}return{parseValueSchema:d}}const Lt={convertTo:(t,e,n,o)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},qt={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},Ht={convertTo:(t,e,n,o)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},we={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:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},Ut={convertFrom:(t,e,n)=>{var i;const o=t.editor&&t.editor[e]?t.editor[e]:t[e];return((i=we[o])==null?void 0:i.name)||o}},Wt={convertTo:(t,e,n,o)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},zt={convertTo:(t,e,n,o)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="tempDateFormat")return t.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":t.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":t.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":t.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":t.formatter.tempDateFormat||t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none"}return"none"}},Gt={convertTo:(t,e,n,o)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enable"&&n&&(t.command.commands||(t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(t,e,n)=>t.command&&e==="enable"?t.command.enable:""},Yt={convertTo:(t,e,n,o)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},Xt={convertTo:(t,e,n,o)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""},Qt={convertTo:(t,e,n,o)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},Zt={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const o=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=o.bindingField,t.binding.field=o.id,t.binding.fullPath=o.path,t.path=o.bindingPath}}},Jt={convertTo:(t,e,n,o)=>{t.pagination||(t.pagination={}),t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?t.pagination[e]:t[e]},Kt={convertTo:(t,e,n,o)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},en={convertTo:(t,e,n,o)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>t.selection?t.selection[e]:t[e]},tn={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},nn={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},on={convertTo:(t,e,n,o)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},rn={convertFrom:(t,e,n)=>{var o,i;return(o=t.formatter)!=null&&o.data&&e==="formatterEnumData"&&!t.formatterEnumData?(i=t.formatter)==null?void 0:i.data:t.formatterEnumData}},sn={convertTo:(t,e,n,o)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var o,i;if(e==="mode")return((o=t.sort)==null?void 0:o.mode)||"client";if(e==="multiSort")return!!((i=t.sort)!=null&&i.multiSort)}},an={convertTo:(t,e,n,o)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var o;if(e==="mode")return((o=t.filter)==null?void 0:o.mode)||"client"}},ln={convertTo:(t,e,n,o)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle}return""}};function Qe(t,e,n){const o=new Map([["/converter/appearance.converter",Lt],["/converter/buttons.converter",qt],["/converter/property-editor.converter",Ht],["/converter/items-count.converter",tn],["/converter/type.converter",Ut],["/converter/change-editor.converter",Wt],["/converter/change-formatter.converter",zt],["/converter/column-command.converter",Gt],["/converter/column-option.converter",Yt],["/converter/summary.converter",Xt],["/converter/group.converter",Qt],["/converter/form-group-label.converter",nn],["/converter/field-selector.converter",Zt],["/converter/pagination.converter",Jt],["/converter/row-number.converter",Kt],["/converter/grid-selection.converter",en],["/converter/size.converter",on],["/converter/change-formatter-enum.converter",rn],["/converter/grid-sort.converter",sn],["/converter/grid-filter.converter",an],["/converter/row-option.converter",ln]]),i=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),s=_t();function a(u,c){return()=>s.parseValueSchema(u,c)}function m(u,c,P){return u.includes("visible")&&c.visible!==void 0?typeof c.visible=="boolean"?()=>!!c.visible:c.visible===void 0?!0:a(c.visible,P):()=>!0}function d(u,c,P){return u.includes("readonly")&&c.readonly!==void 0?typeof c.readonly=="boolean"?()=>!!c.readonly:a(c.readonly,P):()=>!1}function h(u,c){const P=u.$converter||c;return typeof P=="string"&&P&&o.has(P)?o.get(P)||null:P||null}function w(u,c,P,I,D,O="",N=""){return Object.keys(u).map(F=>{const E=r.ref(1),p=F,V=u[F],S=Object.keys(V),C=V.title,v=V.type,f=i.get(v)||{type:"input-group",enableClear:!1},y=V.editor?Object.assign({},f,V.editor):Object.assign({},f),k=m(S,V,c),x=d(S,V,c);y.readonly=y.readonly===void 0?x():y.readonly;const B=V.type==="cascade"?w(V.properties,c,P,I,D,O,N):[],j=!0;let _=h(V,N);const L=r.computed({get(){if(E.value){if(["class","style"].find(A=>A===p)&&!_&&(_=o.get("/converter/appearance.converter")||null),_&&_.convertFrom)return _.convertFrom(P,F,D,O);const te=P[F];return Object.prototype.hasOwnProperty.call(V,"defaultValue")&&(te===void 0||typeof te=="string"&&te==="")?V.type==="boolean"?V.defaultValue:V.defaultValue||"":te}return null},set(te){E.value+=1,_&&_.convertTo?(_.convertTo(I,F,te,D,O),_.convertTo(P,F,te,D,O)):(I[F]=te,P[F]=te)}}),{refreshPanelAfterChanged:q,description:Q,isExpand:Y,parentPropertyID:Z}=V,W={propertyID:p,propertyName:C,propertyType:v,propertyValue:L,editor:y,visible:k,readonly:x,cascadeConfig:B,hideCascadeTitle:j,refreshPanelAfterChanged:q,description:Q,isExpand:Y,parentPropertyID:Z};return c[p]=W,W})}function l(u,c,P={}){const I={},D=t[u];return D&&D.categories?Object.keys(D.categories).map(N=>{const T=D.categories[N],F=T==null?void 0:T.title,E=w(T.properties||{},I,{},P,c);return{categoryId:N,categoryName:F,properties:E}}):[]}function g(u,c,P,I,D=""){const O=c.$ref.schema,N=c.$ref.converter,T=P[O],F=T.type,E=n(T),p={},V=t[F];if(V&&V.categories){const S=V.categories[u],C=S==null?void 0:S.title;N&&Object.keys(S.properties).forEach(y=>{S.properties[y].$converter=N});const v=(S==null?void 0:S.properties)||{},f=w(v,p,E,T,I,D);return{categoryId:u,categoryName:C,properties:f}}return{categoryId:u,categoryName:"",properties:[]}}function b(u,c,P,I,D){const O=u.type,N=n(u),T={};let F=D||t[O];if(F&&Object.keys(F).length===0&&P&&P.getPropConfig&&(F=P.getPropConfig(I)),F&&F.categories){const E=[];return Object.keys(F.categories).map(p=>{const V=F.categories[p];if(V.$ref){E.push(g(p,V,u,c,I));return}const S=V==null?void 0:V.title,C=V==null?void 0:V.tabId,v=V==null?void 0:V.tabName,f=V==null?void 0:V.hide,y=V==null?void 0:V.hideTitle,k=w(V.properties||{},T,N,u,c,I,V.$converter),{setPropertyRelates:x}=V,B=V==null?void 0:V.parentPropertyID;E.push({categoryId:p,categoryName:S,tabId:C,tabName:v,hide:f,properties:k,hideTitle:y,setPropertyRelates:x,parentPropertyID:B})}),E}return[]}return{getPropertyConfigBySchema:b,getPropertyConfigByType:l,propertyConverterMap:o}}const Ze={},Je={};Qe(Ze,Je,$t);const Ke={},et={},{getSchemaByType:cn,resolveSchemaWithDefaultValue:dn,resolveSchemaToProps:mo,mappingSchemaToProps:ho,setDesignerContext:bo}=ze(Ke,et),tt={},nt={};Qe(tt,nt,dn);function Se(t,e,n=new Map,o=(a,m,d,h)=>m,i={},s=a=>a){return Ge[e.title]=e,Ye[e.title]=o,Ze[e.title]=i,Je[e.title]=s,Ke[e.title]=e,et[e.title]=o,tt[e.title]=i,nt[e.title]=s,(a={},m=!0)=>{if(!m)return jt(a,n);const d=Rt(a,e,n),h=Object.keys(t).reduce((w,l)=>(w[l]=t[l].default,w),{});return Object.assign(h,d)}}function ot(t,e){return{customClass:e.class,customStyle:e.style}}function un(t,e){var o,i;const n={};if(e!=null&&e.buttons){const s=[];(o=e==null?void 0:e.buttons)==null||o.map(a=>{const m={};Object.keys(a).map(d=>{var h;d==="appearance"?m.class=((h=a[d])==null?void 0:h.class)||"":m[d]=a[d]}),s.push(m)}),n.buttons=s}return(i=e==null?void 0:e.appearance)!=null&&i.class&&(n.buttonClass=e.appearance.class||"col-6"),e!=null&&e.id&&(n.toolbarId=e.id),e&&Object.prototype.hasOwnProperty.call(e,"visible")&&(n.buttonsVisible=e.visible),n}function rt(t,e){if(!t||t.length<1)return null;for(const n of t){if(n.id===e)return n;if(n.children){const o=n.children.find(i=>i.id===e);if(o)return o}}return null}function fn(){function t(e,n){var m;const o=(m=e.toolbar)==null?void 0:m.buttons;if(!o||o.length<1)return null;const[i,s]=n.payloads,a=rt(o,s);return a?a.onClick||a.click:null}return{resolve:t}}function pn(){function t(e,n){const o=e.buttons;if(!o||o.length<1)return null;const[i,s]=n.payloads,a=rt(o,s);return a?a.onClick||a.click:null}return{resolve:t}}const it=new Map([["appearance",ot],["toolbar",un]]),st={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:"col-6"}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0}}},buttonClass:{description:"",type:"string",default:"col-6"},toolbarId:{description:"",type:"string",default:""},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},buttonsVisible:{description:"",type:"boolean",default:!0},titleContentHtml:{description:"",type:"string",default:""},titleRenderFunction:{description:"",type:"function",default:null},contentHtml:{description:"",type:"string",default:""},contentRenderFunction:{description:"",type:"function",default:null},downContentHtml:{description:"",type:"string",default:""},downContentRenderFunction:{description:"",type:"function",default:null}},required:["id","type"]};function at(t,e,n){return e.title="标题",e}const Pe={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},toolbarId:{type:String,default:""},buttons:{type:Array,default:[]},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},buttonsVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function},contentRenderFunction:{type:Function},downContentRenderFunction:{type:Function}},Ve=Object.assign({},Pe,{componentId:{type:String,default:""},titleContentHtml:{type:String,default:""},contentHtml:{type:String,default:""},downContentHtml:{type:String,default:""}}),lt=Se(Pe,st,it,at),ct=Se(Ve,st,it,at),dt=fn(),Ee=r.defineComponent({name:"FPageHeader",props:Pe,emits:["click","prePaginationClick","nextPaginationClick"],setup(t,e){const n=r.ref(t.buttons),o=(D,O)=>{e.emit("click",D,O)},i=r.computed(()=>{const D={"f-page-header":!0,"d-none":!t.visible};return ee.getCustomClass(D,t.customClass)}),s=r.computed(()=>{const D={"f-title-icon":!0};return ee.getCustomClass(D,t.iconClass)}),a=r.computed(()=>{const D={"f-icon":!0};return ee.getCustomClass(D,t.icon)}),m=r.computed(()=>{const D={"f-title":!0};return ee.getCustomClass(D,t.titleContentClass)}),d=r.computed(()=>{const D={"f-content":!0};return ee.getCustomClass(D,t.contentClass)}),h=r.computed(()=>{const D={"f-page-header-extend":!0};return ee.getCustomClass(D,t.downContentClass)}),w=r.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":t.prePaginationDisabled})),l=r.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":t.nextPaginationDisabled}));function g(D){t.prePaginationDisabled||e.emit("prePaginationClick",D)}function b(D){t.nextPaginationDisabled||e.emit("nextPaginationClick",D)}function u(){return e.slots.titleContent?r.createVNode("div",{class:m.value},[r.createTextVNode(" "),e.slots.titleContent()]):t.titleRenderFunction?r.createVNode("div",{class:m.value},[t.titleRenderFunction()]):r.createVNode("div",{class:"f-title"},[t.showIcon&&t.icon?r.createVNode("span",{class:s.value},[r.createVNode("i",{class:a.value},null)]):"",r.createVNode("h4",{class:"f-title-text"},[t.title]),t.subTitle?r.createVNode("h5",{class:"f-title-subtitle"},[t.subTitle]):"",t.showPagination?r.createVNode("div",{class:"f-title-pagination"},[r.createVNode("span",{class:w.value,onClick:g},null),r.createVNode("span",{class:l.value,onClick:b},null)]):""])}function c(){return e.slots.content?r.createVNode("div",{class:d.value},[r.createTextVNode(" "),e.slots.content()]):t.contentRenderFunction?r.createVNode("div",{class:d.value},[t.contentRenderFunction()]):null}function P(){if(t.buttons&&t.buttons.length>0)return r.createVNode(Ot,{id:t.toolbarId,customClass:t.buttonClass,visible:t.buttonsVisible,items:n.value,onClick:o},null)}function I(){return e.slots.downContent?r.createVNode("div",{class:h.value},[r.createTextVNode(" "),e.slots.downContent()]):t.downContentRenderFunction?r.createVNode("div",{class:h.value},[t.downContentRenderFunction()]):null}return r.watch(()=>t.buttons,D=>{n.value=D},{deep:!0}),()=>t.visible?r.createVNode("div",{class:i.value},[r.createVNode("nav",{class:"f-page-header-base"},[u(),c(),P()]),I()]):null}});function gn(t,e,n){var C;const o=n&&n.getStyles&&n.getStyles()||"",i=n&&n.getDesignerClass&&n.getDesignerClass()||"",s=r.ref();let a;function m(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function d(){return!1}function h(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function w(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function l(v){if(!v||!v.value)return null;if(v.value.schema&&v.value.schema.type==="component")return v.value;const f=r.ref(v==null?void 0:v.value.parent),y=l(f);return y||null}function g(v=e){var x;if(n!=null&&n.getDraggableDesignItemElement)return n.getDraggableDesignItemElement(v);const{componentInstance:f,designerItemElementRef:y}=v;if(!f||!f.value)return null;const{getCustomButtons:k}=f.value;return f.value.canMove||k&&((x=k())!=null&&x.length)?y:g(v.parent)}function b(v){return!!n&&n.canAccepts(v)}function u(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function c(){}function P(v,f){var y;!v||!f||(n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(v,f),(y=e==null?void 0:e.setupContext)==null||y.emit("dragEnd"))}function I(v,f){const{componentType:y}=v;let k=Ue.getSchemaByTypeForDesigner(y,v,f);n&&n.onResolveNewComponentSchema&&(k=n.onResolveNewComponentSchema(v,k));const x=y.toLowerCase().replace(/-/g,"_");return k&&!k.id&&k.type===y&&(k.id=`${x}_${Math.random().toString().slice(2,6)}`),k}function D(v){v&&n!=null&&n.onChildElementMovedOut&&n.onChildElementMovedOut(v)}function O(...v){if(n&&n.getPropsConfig)return n.getPropsConfig(...v)}function N(v){if(!v)return;const f=e==null?void 0:e.schema,{formSchemaUtils:y}=v;if(f&&y.getExpressions().length){const k=y.getExpressions().findIndex(x=>x.target===f.id);k>-1&&y.getExpressions().splice(k,1)}}function T(v){if(!v||!(e!=null&&e.schema))return;const f=e.schema,{formSchemaUtils:y}=v;y.removeCommunicationInComponent(f)}function F(v){n&&n.onRemoveComponent&&n.onRemoveComponent(),N(v),T(v),e!=null&&e.schema.contents&&e.schema.contents.map(f=>{let y=f.id;f.type==="component-ref"&&(y=f.component);const k=t.value.querySelectorAll(`#${y}-design-item`);k!=null&&k.length&&Array.from(k).map(x=>{var B;(B=x==null?void 0:x.componentInstance)!=null&&B.value.onRemoveComponent&&x.componentInstance.value.onRemoveComponent(v)})})}function E(){if(n&&n.getCustomButtons)return n.getCustomButtons()}function p(v){var y,k;if(!((y=e==null?void 0:e.schema)!=null&&y.id))return;if(!a&&v&&(a=v.formSchemaUtils),n!=null&&n.setComponentBasicInfoMap){n.setComponentBasicInfoMap();return}let f="";if(n!=null&&n.getComponentTitle)f=n.getComponentTitle();else{const{text:x,title:B,label:j,mainTitle:_,name:L,type:q}=e.schema;f=x||B||j||_||L||((k=we[q])==null?void 0:k.name)}f&&a.getControlBasicInfoMap().set(e.schema.id,{componentTitle:f,parentPathName:f})}function V(v){var x;const{changeObject:f}=v,{propertyID:y,propertyValue:k}=f;if(["text","title","label","name","mainTitle"].includes((x=v==null?void 0:v.changeObject)==null?void 0:x.propertyID)&&y&&k&&(p(),a)){const B=a.getControlBasicInfoMap(),j=B.keys().toArray().filter(_=>{var L,q;return((L=B.get(_))==null?void 0:L.reliedComponentId)===((q=e==null?void 0:e.schema)==null?void 0:q.id)});j!=null&&j.length&&j.forEach(_=>{const L=B.get(_).parentPathName.split(" > ");L[0]=k,B.get(_).parentPathName=L.join(" > ")})}}function S(v){if(V(v),n&&n.onPropertyChanged)return n.onPropertyChanged(v)}return s.value={canMove:m(),canSelectParent:d(),canDelete:h(),canNested:!w(),contents:e==null?void 0:e.schema.contents,elementRef:t,parent:(C=e==null?void 0:e.parent)==null?void 0:C.componentInstance,schema:e==null?void 0:e.schema,styles:o,designerClass:i,canAccepts:b,getBelongedComponentInstance:l,getDraggableDesignItemElement:g,getDraggingDisplayText:u,getPropConfig:O,getDragScopeElement:c,onAcceptMovedChildElement:P,onChildElementMovedOut:D,addNewChildComponentSchema:I,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||r.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||r.ref(!1),onRemoveComponent:F,getCustomButtons:E,onPropertyChanged:S,setComponentBasicInfoMap:p,updateContextSchema:e==null?void 0:e.updateContextSchema},s}const mn=r.ref(0);function hn(){mn.value++}const Ce=r.ref(0);function bn(t,e){const n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),i=o.top>=n.top,s=o.top<=n.bottom;return i&&s}function ut(t){const e=t.querySelector(".component-btn-group");if(!e)return;e.style.display="";const n=e.getBoundingClientRect();if(!(n.top===0&&n.left===0)){const o=e.querySelector("div");if(o){const i=o.getBoundingClientRect();o.style.top=n.top+"px";let s=n.left-i.width;const a=document.querySelector(".editorDiv");if(a){const m=a.getBoundingClientRect();s<m.left&&({left:s}=t.getBoundingClientRect())}o.style.left=s+"px"}}}function vn(t){if(!window.scrollContainerList)return;const e=Array.from(window.scrollContainerList);if(e.length&&e.length===1){const n=e[0],o=document.querySelector(`[id=${n}]`);if(o&&o.contains(t))return o}}function ft(t){if(!t)return;const e=t.getBoundingClientRect();if(e.width===0&&e.height===0)return;const n=t.querySelector(".component-btn-group");if(n){let o=!0;const i=vn(t);if(i&&(o=bn(t,i)),!o){n.style.display="none";return}ut(t)}}function yn(t){if(!t)return;let e;t.className.includes("dgComponentSelected")?e=t:e=t.querySelector(".dgComponentSelected"),e&&ft(e)}function Cn(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function o(d,h=""){return{path:h+d.code,field:d.id,fullPath:d.code}}function i(d,h=""){return e.getViewModelById(d).states.map(l=>o(l,h))}function s(d){const h=e.getRootViewModelId(),w=i(d);if(d===h)return w;const l=i(h,"root-component.");return[...w,...l]}function a(d){return d.binding&&d.binding.path||d.id||""}function m(){return n&&n.getRenderStates()||[]}return{getVariables:s,getControlName:a,getStateMachines:m}}class wn{constructor(e){G(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'"}]);G(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});G(this,"getExpressionConverter",(e,n)=>({convertFrom:(o,i,s,a)=>{const m=s.getExpressionRuleValue(e,n||i);return m&&m.value||""},convertTo:(o,i,s,a,m)=>{var d;if(i==="dataPicking"&&(s!=null&&s.target)){const h=`${s.target}_dataPicking`;((d=s.rules)==null?void 0:d.some(l=>l.id===h&&l.value))?o.dictPickingExpressionId=h:delete o.dictPickingExpressionId}a.updateExpression(s)}}));this.formSchemaService=e}getExpressionRule(e,n){const o=this.formSchemaService.getExpressions();if(!o)return"";const i=o.find(a=>a.target===e);if(!i)return"";const s=i.rules.find(a=>a.type===n);return s||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),o=this.formSchemaService.getViewModelById(n);if(!o||!o.states||o.states.length===0)return[];const i=[];return o.states.forEach(s=>{i.push({key:s.code,name:s.name,description:s.name,category:s.category})}),i}createTreeNode(e,n,o="label"){return{id:e.id,name:e.name,bindingPath:e[o],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const o=[];return e==null||e.forEach(i=>{var m;const s=this.createTreeNode(i,n);let a=[];(m=i.type)!=null&&m.fields&&(a=this.buildEntityFieldsTreeData(i.type.fields,[...n,i.label])),o.push({data:s,children:a,expanded:!0})}),o}buildChildEntityTreeData(e=null,n){const o=[];return e==null||e.forEach(i=>{var d,h;const s=this.createTreeNode(i,n);s.type="entity";const a=this.buildEntityFieldsTreeData((d=i.type)==null?void 0:d.fields,[...n,i.label]),m=this.buildChildEntityTreeData((h=i.type)==null?void 0:h.entities,[...n,i.label]);m!=null&&m.length&&(a==null||a.push(...m)),o.push({data:s,children:a||[],expanded:!0})}),o}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const o=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),i=this.buildChildEntityTreeData(n.type.entities,[n.code]);return i!=null&&i.length&&(o==null||o.push(...i)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:o||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,o){const i=o==="Field"?e.binding.field:e.id,s=this.getExpressionRule(i,n),a=this.getEntitiesAndVariables(),m={message:["validate","required","dataPicking"].includes(n)&&s?s.message:"",...a};return s.messageType!=null&&(m.messageType=s.messageType),m}buildRule(e,n,o,i){const{expression:s,message:a,messageType:m}=n,d={id:`${e}_${o}`,type:o,value:s};return(o==="validate"||o==="dataPicking"||o==="required")&&(d.message=a),o==="dataPicking"&&(d.messageType=m),o==="validate"&&i&&(d.elementId=i),d}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,o,i){const s=n==="Field"?e.binding.field:e.id,a=this.buildRule(s,o,i,e.type==="form-group"?e.id:"");let d=this.getExpressionData().find(w=>w.targetType===n&&w.target===s);const h=w=>w.value.trim()==="";if(d){const w=d.rules.find(l=>l.id===a.id);if(w)h(a)?d.rules=d.rules.filter(l=>l.id!==a.id):(Object.assign(w,a),i==="validate"&&e.type==="form-group"&&(w.elementId=e.id));else{if(h(a))return null;d.rules=d.rules||[],d.rules.push(a)}}else{if(h(a))return null;d={target:`${s}`,rules:[a],targetType:n}}return d}getExpressionEditorOptions(e,n,o,i){return o.reduce((s,a)=>{var d,h;const m=n==="Field"?(d=e==null?void 0:e.binding)==null?void 0:d.field:e.id;return s[a]={hide:n==="Field"?!!((h=e==null?void 0:e.binding)!=null&&h.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(m),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,a,n),onSubmitModal:w=>{const l=this.updateExpression(e,n,w,a);if(i){const g=this.buildRule(m,w,a);i(g)}return l}}},s},{})}getExpressionInfo(e,n,o){const i=n==="Field"?e.binding.field:e.id,s=this.getExpressionRule(i,o),a={value:s&&s.value,targetId:i,targetType:n,expressionType:o};return s&&s.message&&(a.message=s.message),a}getExpressionConfig(e,n,o=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,o,i)}}}getExpressionOptions(e,n,o){const i=this.getExpressionInfo(e,n,o);return{dialogTitle:`${this.expressionNames[o]}编辑器`,singleExpand:!1,showMessage:o==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,o,n),expressionInfo:i}}}class Me{constructor(e,n){G(this,"componentId");G(this,"viewModelId");G(this,"eventsEditorUtils");G(this,"formSchemaUtils");G(this,"formMetadataConverter");G(this,"designViewModelUtils");G(this,"designViewModelField");G(this,"controlCreatorUtils");G(this,"designerHostService");G(this,"designerContext");G(this,"schemaService",null);G(this,"metadataService",null);G(this,"propertyConfig",{type:"object",categories:{}});var o;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((o=this.formSchemaUtils)==null?void 0:o.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var o;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(s=>s.id===n)}e.updateOn=(o=this.designViewModelField)==null?void 0:o.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:we[e.type]&&we[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},o){const i={title:"外观",description:"Appearance"},s={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in n)s[a]=Object.assign(s[a]||{},n[a]);return{...i,properties:{...s},setPropertyRelates(a,m){if(a){switch(a&&a.propertyID){case"class":case"style":{Ce.value++;break}}o&&o(a,e,m)}}}}getPropertyEditorParams(e,n=[],o="visible",i={},s={}){const{getVariables:a,getControlName:m,getStateMachines:d}=Cn(this.designerHostService),h=this.getRealTargetType(e),w=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],l={type:"property-editor",propertyTypes:w};return w.map(g=>{switch(g){case"Const":Object.assign(l,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":l.expressionConfig=this.getExpressionOptions(e,h,o);break;case"StateMachine":l.stateMachines=d();break;case"Variable":Object.assign(l,{controlName:m(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),onBeforeOpenVariables:b=>{b.value=a(this.viewModelId)}},s);break}}),l}getVisibleProperty(e,n=""){var s;let o=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?o=["Const","Expression"]:n==="form-group"&&!((s=e.binding)!=null&&s.field)&&(o=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,o,"visible")}}}getBehaviorConfig(e,n="",o={},i){const s={title:"行为",description:""},a=this.getVisibleProperty(e,n);for(const d in o)a[d]=Object.assign(a[d]||{},o[d]);const m=this;return{...s,properties:{...a},setPropertyRelates(d,h){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":m.afterMutilEditorChanged(e,d);break}i&&i(d,h)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const o=n&&n.parent&&n.parent.schema;if(!o)return;const i=o.contents.findIndex(a=>a.id===e),s=de.cloneDeep(o.contents[i]);o.contents.splice(i,1),o.contents.splice(i,0,s),hn()}addNewVariableToViewModel(e,n){const o=e.propertyValue;if(!(o&&typeof o=="object")||!(o.type==="Variable"&&o.isNewVariable))return;const a={id:o.field,category:"locale",code:o.fullPath,name:o.fullPath,type:o.newVariableType||"String"};delete o.newVariableType,delete o.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById(n).states.push(a)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:s,expressionInfo:a}=n,{targetId:m,targetType:d,expressionType:h,value:w,message:l}=a,g=this.formSchemaUtils.getModule();g.expressions=g.expressions||[];const{expressions:b}=g;let u=b.find(P=>P.target===m);u||(u={target:m,rules:[],targetType:d},b.push(u));const c=u.rules.find(P=>P.type===h);if(c)c.value=w,c.message=l;else{const P={id:s,type:h,value:w,message:l};u.rules.push(P)}delete n.expressionInfo}clearExpression(e,n){const o=e.propertyValue;if(o&&o.type==="Expression")return;const s=e.propertyID,a=this.formSchemaUtils.getExpressions(),m=n.binding?n.binding.field:n.id,d=a.find(h=>h.target===m);!d||!d.rules||(d.rules=d.rules.filter(h=>h.type!==s))}getExpressionOptions(e,n,o){return new wn(this.formSchemaUtils).getExpressionOptions(e,n,o)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:o=>{var i;((i=o.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(o)}}},n}}class xn extends Me{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e),this.propertyConfig.categories.template=this.getTemplateConfig(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e),this.propertyConfig}getAppearanceProperties(e){return{title:"外观",description:"",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式"},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(n,o){if(n)switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0;break}}}}}getTemplateConfig(e){return{title:"模板配置",description:"",properties:{titleContentClass:{title:"标题模板class",type:"string",description:"标题模板外层容器的自定义样式"},titleContentHtml:{title:"标题模板",type:"string",description:"设置标题HTML模板,替代图标和标题文字区域",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},contentClass:{title:"内容模板class",type:"string",description:"内容模板外层容器的自定义样式"},contentHtml:{title:"内容模板",type:"string",description:"设置页头中间区域的模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}},downContentClass:{title:"扩展模板class",type:"string",description:"扩展模板外层容器的自定义样式"},downContentHtml:{title:"扩展模板",type:"string",description:"设置页头下方区域的模板",refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html"}}}}}}function Tn(t,e){function n(m){return!1}function o(){return!1}function i(){return!1}function s(){return!0}function a(m){return new xn(m,e).getPropertyConfig(t)}return{canAccepts:n,hideNestedPaddingInDesginerView:s,getPropsConfig:a,checkCanDeleteComponent:o,checkCanMoveComponent:i}}class pt{constructor(e){G(this,"id","");G(this,"class","btn-secondary");G(this,"icon","");G(this,"groupId","");G(this,"order",-1);G(this,"asDropDownTop",!1);G(this,"text","");G(this,"visible",!0);G(this,"shown",!0);G(this,"responsed",!1);G(this,"tipsEnable",!1);G(this,"tipsText","");G(this,"width",0);G(this,"dropdownClass","");G(this,"onClick",()=>{});G(this,"options");var o,i;this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","dropdownClass","onClick"];Object.keys(e).filter(s=>n.indexOf(s)>-1).forEach(s=>{s==="visible"?this[s]=e[s]===void 0?!0:e[s]:this[s]=e[s]}),this.shown=this.visible,(o=e.appearance)!=null&&o.class&&(this.class=(i=e.appearance)==null?void 0:i.class)}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:r.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class Sn extends pt{constructor(e){super(e)}}function gt(){function t(e){const n=[];return e.reduce((o,i)=>(i.children&&i.children.length>0?o.push(new De(i)):o.push(new Sn(i)),o),n),n}return{buildResponseToolbarItems:t}}const{buildResponseToolbarItems:Pn}=gt();class De extends pt{constructor(n){super(n);G(this,"placement","");G(this,"visible",!0);G(this,"dropdownClass","");G(this,"menuClass","");G(this,"split",!1);G(this,"children",[]);G(this,"expanded",!1);G(this,"shown",!0);const o=["visible","icon","isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(i=>o.indexOf(i)>-1).forEach(i=>{i==="visible"?this[i]=n[i]===void 0?!0:n[i]:this[i]=n[i]}),this.shown=this.visible,n.children&&n.children.length&&(this.children=Pn(n.children))}}const En=new Map([["buttons","items"],["appearance",ot]]);function mt(t,e,n){return e}const Mn={$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:"点击事件"}},Dn={$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"],events:{onClick:"点击事件"}},Be={id:{type:String,default:""},customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]},visible:{type:Boolean,default:!0}},kn=Object.assign({},Be,{componentId:{type:String,default:""}}),Ie=Se(Be,Mn,En,mt),ht={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}},Nn=Se(ht,Dn,void 0,mt),Vn=pn();function Fe(){function t(n){const o={"f-icon":!0};if(n.icon){const i=n.icon.trim().split(" ");i&&i.length&&i.reduce((s,a)=>(s[a]=!0,s),o)}return o}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:t,shouldShowIcon:e}}function Bn(t,e){function n(E){const p={"dropdown-menu":!0};return ee.getCustomClass(p,E.menuClass)}function o(E){const p={disabled:!E.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0,"text-truncate":!0};return ee.getCustomClass(p,E.dropdownClass)}function i(E){const p={disabled:!E.enable,"dropdown-item":!0,"f-rt-btn":!0,"text-truncate":!0};return ee.getCustomClass(p,E.dropdownClass)}function s(E){const p={disabled:!E.enable,"dropdown-item":!0,"f-rt-btn":!0,"text-truncate":!0,"f-rt-toggle":!E.split,"btn-icontext":!!(E.icon&&E.icon.trim()),"dropdown-toggle":!E.split};return ee.getCustomClass(p,E.dropdownClass)}function a(E){const p={"f-rt-btn":!0,"text-truncate":!0,"btn-icontext":!!(E.icon&&E.icon.trim()),"d-block":!0};return ee.getCustomClass(p,E.dropdownClass)}let m;const d=new Map;let h="";function w(E){h="#"+E}function l(E,p,V){E.stopPropagation();const S=V?V.id:"__top_item__";if(p.children&&p.children.length&&(p.expanded=!p.expanded,p.expanded)){if(d.has(S)&&d.get(S)!==p){const C=d.get(S);C&&(C.expanded=!1,d.delete(S))}d.set(S,p)}}function g(E,p){document.body.click(),p.enable&&(E.stopPropagation(),typeof p.onClick=="function"&&p.onClick(E,p.id),t.emit("click",E,p.id))}function b(E,p){const V=E.target;V.className.indexOf("dropdown-item")<0||(V.title=V.scrollWidth>V.clientWidth?p:"")}function u(E,p,V){if(p.tipsEnable&&p.tipsText){const S=r.reactive({content:p.tipsText,enable:p.tipsEnable});return r.withDirectives(r.createVNode("li",{class:i(p),id:p.id,key:p.id+"_"+V,onClick:C=>g(C,p)},[r.createVNode("span",{class:a(p)},[e.shouldShowIcon(p)&&r.createVNode("i",{class:e.iconClass(p)},null),p.text])]),[[r.resolveDirective("tooltip"),S]])}return r.createVNode("li",{class:i(p),id:p.id,onClick:S=>g(S,p)},[r.createVNode("span",{class:a(p),onMouseenter:S=>b(S,p.text)},[e.shouldShowIcon(p)&&r.createVNode("i",{class:e.iconClass(p)},null),p.text])])}function c(E,p,V){p.enable&&(typeof p.onClick=="function"&&V.onClick(E,p.id),t.emit("click",E,p.id),V.split||l(E,p,V))}function P(E,p,V){E&&E.stopPropagation(),l(E,p,V)}function I(E,p){E.stopPropagation();const V=p.id;if(p.children&&p.children.length&&p.expanded&&d.has(V)){const S=d.get(V);S&&(S.expanded=!1,d.delete(V))}}function D(E,p,V){if(p.tipsEnable&&p.tipsText){const S=r.reactive({content:p.tipsText,enable:p.tipsEnable});return r.createVNode("li",{class:o(p),id:p.id,key:p.id+"_"+V,onClick:C=>c(C,p,E)},[r.withDirectives(r.createVNode("span",{class:s(p)},[e.shouldShowIcon(p)&&r.createVNode("i",{class:e.iconClass(p)},null),p.text]),[[r.resolveDirective("tooltip"),S]]),p.split&&r.createVNode("span",{class:"dropdown-toggle dropdown-toggle-split f-rt-toggle",onClick:C=>P(C,p,E)},null),m(p,p)])}return r.createVNode("li",{class:o(p),id:p.id,onClick:S=>c(S,p,E),onMouseenter:S=>b(S,p.text)},[r.createVNode("span",{class:s(p)},[e.shouldShowIcon(p)&&r.createVNode("i",{class:e.iconClass(p)},null),p.text]),p.split&&r.createVNode("span",{class:"dropdown-toggle dropdown-toggle-split f-rt-toggle",onClick:S=>P(S,p,E)},null),m(p,p)])}function O(E){return E.children.filter(p=>p.visible).map((p,V)=>p.children&&p.children.length?D(E,p,V):u(E,p,V))}function N(E,p){if(!E)return 1080;let V=-1;const S=E.children.length;for(let C=0;C<S;C++)if(E.children[C].id===p){V=C;break}return 1080+S-V}function T(E,p,V){var B,j;const S={display:E.expanded?"block":"none",position:"fixed",maxWidth:"300px",minWidth:"120px",zIndex:1080,overflowY:"auto",maxHeight:"none"},C=document.querySelector(h);if(!C)return S;const v=r.getCurrentInstance();let f=(j=(B=v==null?void 0:v.exposed)==null?void 0:B.elementRef.value)==null