UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

18 lines 125 kB
(function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("../common/index.umd.js"),require("../capsule/index.umd.js"),require("../locale/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../section/index.umd.js"),require("../property-panel/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../list-view/index.umd.js"),require("../loading/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("lodash-es"),require("../tags/index.umd.js"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","../capsule/index.umd.js","../locale/index.umd.js","../response-toolbar/index.umd.js","../section/index.umd.js","../property-panel/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../list-view/index.umd.js","../loading/index.umd.js","../designer-canvas/index.umd.js","../data-view/index.umd.js","../checkbox/index.umd.js","lodash-es","../tags/index.umd.js","../popover/index.umd.js"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z["schema-selector"]={},z.Vue,z.common,z.FCapsule,z.locale,z.FResponseToolbar,z.FSection,null,z.FButtonEdit$1,z.dynamicResolver,z.FListView$1,z.FLoading$1,z.designerCanvas,z.dataView,z.checkbox,z.LodashES,z.FTags,z.FPopover))})(this,function(z,e,U,pt,X,mt,De,Gn,gt,ye,ht,vt,He,Y,Oe,ze,yt,bt){"use strict";var _n=Object.defineProperty;var qn=(z,e,U)=>e in z?_n(z,e,{enumerable:!0,configurable:!0,writable:!0,value:U}):z[e]=U;var le=(z,e,U)=>qn(z,typeof e!="symbol"?e+"":e,U);const $e={injectSymbolToken:{type:Symbol},viewOptions:{type:Array,default:[]},viewType:{type:String,default:"Tabs"},editorParams:{type:Object,default:null},showFooter:{type:Boolean,default:!1},validateFunction:{type:Function,default:null}},wt={tabType:{type:String,default:"default"},autoTitleWidth:{type:Boolean,default:!1},titleLength:{type:Number,default:7},position:{type:String,default:"top"},showDropdown:{type:Boolean,default:!0},scrollStep:{type:Number,default:10},autoResize:{type:Boolean,default:!1},width:{type:Number},height:{type:Number},searchBoxVisible:{type:Boolean,default:!0},titleWidth:{type:Number,default:0},customClass:{type:String,default:""},activeId:{type:String},fill:{type:Boolean,default:!1},justifyContent:{type:String,default:"left"},visible:{type:Boolean,default:!0}};function Ct(t,n,a){const i=e.ref([]),o=e.ref(t.activeId||"");let s="";const r=e.ref(!0),l=e.ref([]),f=e.ref(!0),u=e.ref(0),p=e.computed(()=>{const c=i.value.find(x=>x.props.id===o.value);return(c==null?void 0:c.props.toolbarPosition)==="inHead"});function m(c,d=!0){const x=c.findIndex(S=>S.props.show!==!1&&!S.props.disabled);if(l.value=[],x!==-1){if(o.value=c[x].props.id,!d)return;const S=c[x];S&&S.props.toolbar&&S.props.toolbar.buttons&&S.props.toolbar.buttons.length&&(l.value=[...S.props.toolbar.buttons],f.value=S.props.toolbarVisible)}}function b(c){o.value=c;const d=i.value.find(x=>x.props.id===c);l.value=[],d&&d.props.toolbar&&d.props.toolbar.buttons&&d.props.toolbar.buttons.length&&(l.value=[...d.props.toolbar.buttons],f.value=d.props.toolbarVisible),n.emit("update:activeId",c),n.emit("tabChange",{prevId:s,nextId:o.value})}function w(c){let d=-1;if(o.value){if(d=c.findIndex(x=>o.value===x.props.id&&x.props.show!==!1&&!x.props.disabled),d>-1)return;s=o.value}m(c,!1),b(o.value)}function h(c){let d=!1;if(c){const x=i.value.find(S=>S.props.id===c);d=!x||x.props.show===!1||x.props.disabled===!0}d?w(i.value):(o.value!==c&&(s=o.value,o.value=c),b(o.value))}e.watch(()=>t.activeId,(c,d)=>{c!==d&&t.activeId!==o.value&&h(c)});function g(c){var x;if(t.autoTitleWidth)return;const d=(x=c.value)==null?void 0:x.querySelectorAll(".st-tab-text");if(!(!d||t.tabType==="pill"))for(let S=0;S<d.length;S++){const j=d[S].parentNode;d[S].scrollWidth>j.offsetWidth?d[S].classList.contains("farris-title-text-custom")||d[S].classList.add("farris-title-text-custom"):d[S].classList.remove("farris-title-text-custom")}}const v=c=>{c.preventDefault(),c.stopPropagation()};function V(c,d,x=!1){const S=i.value.findIndex(j=>j.props.id===d);i.value=i.value.filter(j=>j.props.id!==d),o.value===d&&(s=d,o.value="",m(i.value)),v(c),e.nextTick(()=>{u.value++,g(a),x&&(r.value=!0),n.emit("tabRemove",{removeIndex:S,removeId:d,activeId:o.value})})}function y(c,d=!0){const x=i.value.find(S=>S.props.id===c);x&&(x.props.show===!1&&o.value===c?(o.value="",s=c,h("")):x.props.show===!0&&!o.value&&w(i.value),e.nextTick(()=>{u.value++,d&&(r.value=!0)}))}let F;function B(c){F=c}function P(c){o.value!==c&&(s=o.value,b(c),F&&F())}function k(c){i.value.findIndex(x=>x.props.id===c.props.id)===-1&&i.value.push(c),u.value++}function N(c){i.value.findIndex(x=>x.props.id===c.props.id)!==-1&&(i.value.forEach(x=>{x.props.id===c.props.id&&(x=c)}),c.props.id===o.value&&p.value,e.nextTick(()=>{u.value++,g(a)}))}return{activeId:o,addTab:k,changeTitleStyle:g,removeTab:V,selectTab:P,tabPages:i,updateTab:N,toolbarItems:l,needUpdateNavigationLayout:u,checkActiveIdAndSelect:h,toggleShowTab:y,hasInHeadClass:p,setScrollToSelectedTabFunction:B,toolbarVisible:f}}function xt(t,n,a,i,o){const{activeId:s,removeTab:r,selectTab:l}=o,f=e.computed(()=>{const y={"st-tab-text":!0,"text-truncate":t.tabType==="pill"&&!t.autoTitleWidth,"farris-title-auto":t.autoTitleWidth};return U.getCustomClass(y,n.customTitleClass)}),u=e.computed(()=>({"nav-item":!0,"d-none":n.show!==void 0?!n.show:!1,"f-state-active":n.id===s.value,"f-state-disabled":n.disabled})),p=e.computed(()=>({width:`${n.tabWidth}px`})),m=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:n.id===s.value,disabled:n.disabled})),b=e.reactive({content:n.title,overflowShown:!0});function w(){return t.tabType!=="pill"&&!t.autoTitleWidth?e.withDirectives(e.createVNode("span",{class:f.value,"data-tabid":n.id},[n.title]),[[e.resolveDirective("tooltip"),b]]):e.createVNode("span",{class:f.value,"data-tabid":n.id,title:n.title},[n.title])}const h=e.ref(n.removeable);function g(){return h.value?e.createVNode("span",{class:"st-drop-close",onClick:y=>r(y,n.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]):""}function v(y){l(n.id),t.tabType==="one-page"&&i.scrollToByPaggId(n.id)}function V(){return a.slots.title?e.createVNode("a",{class:m.value,onClick:v,id:`${n.id}-design-item`},[a.slots.title(a),g()]):n.titleRenderFunction?e.createVNode("a",{class:m.value,onClick:v,id:`${n.id}-design-item`},[n.titleRenderFunction(),g()]):e.createVNode("a",{class:m.value,onClick:v,id:`${n.id}-design-item`},[w(),g()])}return e.createVNode("li",{class:u.value,style:p.value},[V()])}function Vt(t,n,a,i,o){const{shouldShowNavigationButtons:s}=a,{tabPages:r}=o,l=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":s.value})),f=e.computed(()=>({width:"100%","justify-content":t.justifyContent})),u=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":t.tabType==="fill","nav-pills":t.tabType==="pills","flex-row":t.position==="top"||t.position==="bottom","flex-column":t.position==="left"||t.position==="right"}));return()=>e.createVNode("div",{class:l.value,style:f.value},[e.createVNode("ul",{class:u.value,ref:n},[r.value.map(p=>xt(t,p.props,p,i,o))])])}function St(t,n,a,i,o){const s=e.ref(),{shouldShowNavigationButtons:r}=a,{activeId:l,tabPages:f,selectTab:u}=o,p=e.ref(l.value),m=e.computed(()=>f.value.map(g=>({name:g.props.title,value:g.props.id,show:g.props.show,disabled:g.props.disabled}))),b=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":r.value})),w=e.computed(()=>({width:"100%",display:"flex","justify-content":t.justifyContent}));e.onMounted(()=>{s.value&&(n.value=s.value.$el)});function h(g){u(g)}return e.watch(()=>l.value,g=>{g!==p.value&&(p.value=g)},{immediate:!0}),()=>e.createVNode("div",{class:b.value,style:w.value},[e.createVNode(pt,{items:m.value,modelValue:p.value,"onUpdate:modelValue":g=>p.value=g,onChange:h,ref:s},null)])}function Nt(t,n,a,i){const o=e.ref(),{activeId:s,removeTab:r,tabPages:l,selectTab:f}=i,{hideDropDown:u,searchTabText:p}=n,m=600;let b=null;const w=e.computed(()=>{var x,S;let d=[];return t.searchBoxVisible?d=(x=l.value)==null?void 0:x.filter(j=>j.props.title.includes(p.value)):d=(S=l.value)==null?void 0:S.slice(),d}),h=e.computed(()=>({"dropdown-menu":!0,"tabs-pt28":t.searchBoxVisible,show:!u.value,"d-none":u.value}));let g;function v(d){g=d}e.watch(u,d=>{if(g.value)if(d)o.value.style.width=null;else{const x=g.value.querySelector(".farris-tabs-header"),S=g.value.clientHeight-x.clientHeight-20,W=x.querySelector(".farris-tabs-title").clientWidth-20;o.value.style.maxWidth=W+"px",o.value.style.maxHeight=S+"px",e.nextTick(()=>{const{width:E}=o.value.getClientRects()[0];o.value.style.width=E?E+"px":null})}});function V(d){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:d.props.disabled,active:d.props.id===s.value,"d-none":d.props.show!==!0}}function y(d){d.preventDefault(),d.stopPropagation()}function F(){b&&clearTimeout(b)}function B(){u.value||(b=setTimeout(()=>{u.value=!0},m))}function P(d,x){d.stopPropagation(),x.disabled||f(x.id),u.value=!0}function k(d,x){d.stopPropagation(),r(d,x,!0)}function N(d){return d.slots.title?e.createVNode("a",{class:"dropdown-title",id:`${d.props.id}-dropdown-item`},[d.slots.title(d)]):d.props.titleRenderFunction?e.createVNode("a",{class:"dropdown-title",id:`${d.props.id}-dropdown-item`},[d.props.titleRenderFunction()]):e.createVNode("a",{class:"dropdown-title",id:`${d.props.id}-dropdown-item`},[d.props.title])}function c(){return e.createVNode("div",{ref:o,class:h.value,onMouseenter:()=>F(),onMouseleave:()=>B()},[t.searchBoxVisible&&e.createVNode("div",{onClick:d=>y(d),class:"pb-1 tabs-li-absolute"},[e.withDirectives(e.createVNode("input",{type:"text",class:"form-control","onUpdate:modelValue":d=>p.value=d},null),[[e.vModelText,p.value]]),e.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),w.value.length?e.createVNode("ul",{class:"tab-dropdown-menu--items flex-fill"},[w.value.map(d=>e.createVNode("li",{class:V(d),onClick:x=>P(x,d.props)},[d.props.removeable&&d.props.disabled!==!0&&e.createVNode("span",{class:"float-right st-drop-close",onClick:x=>k(x,d.props.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]),N(d)]))]):e.createVNode("div",{class:"dropdown-no-data"},[X.LocaleService.getLocaleValue("tabs.noData")])])}return{renderDropdownMenu:c,setTabsRef:v}}function Tt(t,n,a,i){const{hideDropDown:o}=n,{renderDropdownMenu:s,setTabsRef:r}=Nt(t,n,a,i),l=e.ref(t.showDropdown);function f(){return l.value&&e.createVNode(e.Fragment,null,[e.createVNode("button",{class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{o.value=!1}},null),s()])}return{renderMorePagesButtton:f,setTabsRef:r}}function It(t,n,a,i){const o=e.ref(!1),{selectTab:s,tabPages:r,needUpdateNavigationLayout:l,activeId:f}=i,u=4,p=e.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!o.value})),m=e.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!o.value})),b=e.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!o.value}));function w(y,F){if(!n.value)return;const B=n.value.scrollLeft,P=n.value.scrollWidth-n.value.offsetWidth;if(F>0){if(n.value.scrollLeft>=P)return;n.value.scrollLeft=B+t.scrollStep+y}else if(F<0){if(n.value.scrollLeft<=0)return;n.value.scrollLeft=B-t.scrollStep-y}}function h(y=-1){if(!o.value||!n.value)return;y<0&&(y=r.value.findIndex(N=>N.props.id===f.value));const F=t.tabType==="pills"?".f-capsule-item":".nav-item",B=n.value.querySelectorAll(F),{parentElement:P}=n.value,k=B[y];if(k&&P){const N=P.getBoundingClientRect().left,c=P.getBoundingClientRect().right,d=k.getBoundingClientRect().left,x=k.getBoundingClientRect().right;d<N?w(N-d,-1):c<x&&w(x-c,1),t.tabType==="one-page"&&a.scrollTo(y)}}function g(){var B;if(!n.value)return;const y=n.value,F=(B=n.value)==null?void 0:B.parentElement;o.value=F&&y&&F.offsetWidth<y.scrollWidth-u,o.value&&e.nextTick(()=>{h()})}function v(y){y.disabled||s(y.id)}function V(){["default","one-page"].indexOf(t.tabType)>-1&&e.nextTick(()=>{h()})}return e.watch(l,()=>{g()}),{previousButtonClass:p,nextButtonGroupClass:m,nextButtonClass:b,scrollTab:w,selectAndScrollToTab:v,shouldShowNavigationButtons:o,updateNavigationLayout:g,scrollToSelectedTab:V}}function Bt(t,n){const{tabPages:a}=n,i=e.ref(""),o=e.ref(!0),s=e.computed(()=>t.searchBoxVisible),r=e.computed(()=>s.value?a.value.filter(f=>f.props.title.includes(i.value)):a.value.slice());return e.watch(o,l=>{l||(i.value="")}),{searchTabText:i,hideDropDown:o,shouldShowSearchBox:s,tabsInDropdownMenu:r}}function kt(t,n,a){const i=".farris-tab-page",{tabPages:o}=a;function s(l){const f=n.value;if(f){const u=n.value.querySelectorAll(i);if(u.length>0){const p=u[l],{offsetTop:m}=p,b=m-32>0?m-32:0;f.scrollTop=b}}}function r(l){const f=o.value.findIndex(u=>u.props.id===l);f>-1&&s(f)}return{scrollTo:s,scrollToByPaggId:r}}const Ie=e.defineComponent({name:"FTabs",props:wt,emits:["tabChange","tabRemove","update:activeId","Click"],setup(t,n){const a=e.ref(t.tabType),i=e.shallowRef(),o=U.isMobilePhone(),s=e.ref(t.customClass),r=e.shallowRef(),l=e.shallowRef(),f=e.ref(),u=Ct(t,n,r),{activeId:p,changeTitleStyle:m,tabPages:b,addTab:w,updateTab:h,toolbarItems:g,checkActiveIdAndSelect:v,toggleShowTab:V,hasInHeadClass:y,toolbarVisible:F}=u,B=kt(t,l,u),P=It(t,r,B,u),{previousButtonClass:k,nextButtonClass:N,nextButtonGroupClass:c,scrollTab:d,updateNavigationLayout:x,scrollToSelectedTab:S}=P;u.setScrollToSelectedTabFunction(S);const j=Bt(t,u),W=Vt(t,r,P,B,u),E=W,M=St(t,r,P,B,u),T=new Map([["default",W],["one-page",E],["pills",M]]);e.computed(()=>{const A=b.value.find(Z=>Z.props.id===p.value);return A==null?void 0:A.slots});const R=e.computed(()=>t.fill),C=(A,Z)=>{n.emit("Click",A,Z,p.value)};e.provide("tabs",{activeId:p,addTab:w,updateTab:h,tabPages:b,tabType:a,shouldFillParentContaner:R,toggleShowTab:V,toolbarVisible:F,clickToolbarItemHandler:C});let O=!1;const L=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":y.value,"farris-tabs-inContent":!y.value,"farris-tabs-nav-fill":t.tabType==="fill","farris-tabs-nav-pills":t.tabType==="pills"})),D=e.computed(()=>{const A={width:y.value&&t.titleWidth?`${t.titleWidth}%`:""};return A.width&&(A.flex="unset"),A}),_=e.computed(()=>{const A={"farris-tabs":!0,"f-tabs-content-fill":R.value,"flex-column":t.position==="top","flex-column-reverse":t.position==="bottom","flex-row":t.position==="left","flex-row-reverse":t.position==="right","one-page":t.tabType==="one-page"};return s.value&&s.value.split(" ").reduce((Z,oe)=>(Z[oe]=!0,Z),A),A});let ae=null;function ee(){f.value&&!O&&(!ae&&typeof ResizeObserver<"u"&&(ae=new ResizeObserver(A=>{A.length&&x()})),ae&&(ae.observe(f.value),O=!0))}e.watch(()=>t.visible,A=>{e.nextTick(()=>{b.value.length&&v(t.activeId||b.value[0].props.id),x(),m(r),ee()})}),e.watch(()=>t.autoTitleWidth,A=>{e.nextTick(()=>{x(),m(r)})}),e.onMounted(()=>{t.visible&&(b.value.length&&v(t.activeId||b.value[0].props.id),e.nextTick(()=>{x(),m(r)}),ee())});function Ce(){return e.createVNode("button",{title:X.LocaleService.getLocaleValue("tabs.leftButton"),type:"button",class:k.value,onClick:()=>{d(0,-1)}},null)}function pe(){return e.createVNode("button",{title:X.LocaleService.getLocaleValue("tabs.rightButton"),type:"button",class:N.value,onClick:()=>{d(0,1)}},null)}const{renderMorePagesButtton:me,setTabsRef:xe}=Tt(t,j,P,u);xe(i);function ge(){return g.value.length?e.createVNode("div",{class:{"farris-tabs-toolbar":!0,"d-none":!F.value}},[e.createVNode(mt,{class:"f-utils-fill",alignment:y.value?"right":"left",items:g.value,visible:F.value,onClick:C},null)]):null}const he=T.get(t.tabType)||T.get("default");function Ve(){var A,Z,oe,ce;return!o&&e.createVNode("div",{class:L.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(Z=(A=n.slots).headerPrefix)==null?void 0:Z.call(A)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:D.value,ref:f},[Ce(),he&&he(),e.createVNode("div",{class:c.value},[pe(),me()])]),ge(),e.createVNode("div",{class:"farris-tabs-header-post"},[(ce=(oe=n.slots).headerSuffix)==null?void 0:ce.call(oe)])])}const Se=e.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":R.value}));function Ne(){var A,Z;return e.createVNode("div",{class:Se.value,ref:l},[(Z=(A=n.slots).default)==null?void 0:Z.call(A)])}return()=>t.visible?e.createVNode("div",{class:_.value,ref:i},[Ve(),Ne()]):null}}),Ft={tabWidth:{type:Number},id:{type:String,default:""},customTitleClass:{type:String,default:""},titleOverflow:{type:Boolean,default:!1},title:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removeable:{type:Boolean,default:!1},show:{type:Boolean,default:!0},toolbar:{type:Object,default:{}},toolbarPosition:{type:String,default:"inHead"},toolbarVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function}};function Ae(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const Pe=e.defineComponent({name:"FTabPage",props:Ft,emits:[],setup(t,n){const a=e.inject("tabs"),i=U.isMobilePhone(),o=e.ref(t.show),s={slots:n.slots,props:t},r=e.ref((a==null?void 0:a.tabType.value)||"default");e.onMounted(()=>{const v=a==null?void 0:a.tabPages.value.findIndex(V=>V.props.id===t.id);(!v||v===-1)&&(a==null||a.addTab(s))}),e.onUnmounted(()=>{});const l=e.computed(()=>(t==null?void 0:t.id)===(a==null?void 0:a.activeId.value)),f=e.computed(()=>({display:l.value?"":"none"}));e.watch(()=>t,v=>{a==null||a.updateTab({props:v,slots:n.slots})},{immediate:!0,deep:!0}),e.watch(()=>t.show,v=>{o.value=v,a==null||a.toggleShowTab(t.id)}),e.watch(()=>t.toolbarVisible,v=>{l.value&&a&&(a.toolbarVisible.value=v)});function u(){var V,y;const v=(y=(V=n.slots).default)==null?void 0:y.call(V);return e.createVNode(De,{"main-title":t.title,class:["farris-tab-page",o.value?"":"f-tab-d-none"]},Ae(v)?v:{default:()=>[v]})}function p(v,V){a&&(a.activeId.value=t.id,a.clickToolbarItemHandler&&a.clickToolbarItemHandler(v,V))}function m(){var V,y;const v=(y=(V=n.slots).default)==null?void 0:y.call(V);return e.createVNode(De,{customClass:"section-in-tab is-mobile",onClick:p,visible:t.show,"main-title":t.title,buttons:t.toolbar.buttons,"button-position":t.toolbar.position||t.toolbarPosition,"buttons-visible":t.toolbarVisible},Ae(v)?v:{default:()=>[v]})}const b=e.computed(()=>{var V;return{"farris-tab-page":!0,"f-tab-d-none":!o.value,"f-tab-active":l.value&&a&&((V=a.shouldFillParentContaner)==null?void 0:V.value)}});function w(){var V,y;const v=(y=(V=n.slots).default)==null?void 0:y.call(V);return e.createVNode("div",{class:b.value,style:f.value},[v])}const g=i?m:new Map([["default",w],["one-page",u],["mobile",m]]).get(r.value)||w;return()=>g()}});Ie.install=t=>{t.component(Ie.name,Ie),t.component(Pe.name,Pe)};const Mt=new Map([["appearance",ye.resolveAppearance]]),Ot={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/search-box.schema.json",title:"search-box",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a search-box",type:"string"},type:{description:"The type string of search-box component",type:"string",default:"search-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]};function Pt(t,n,a){return n}const jt={title:"search-box",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},je={buttonContent:{type:String,default:'<i class="f-icon f-icon-search"></i>'},customClass:{type:String,default:""},modelValue:{type:String,default:""},popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},data:{type:Array,default:[]},placeholder:{type:String,default:"请输入关键词"},idField:{default:"id",type:String},textField:{default:"name",type:String},maxHeight:{default:350,type:Number},loading:{default:!1,type:Boolean},disable:{default:!1,type:Boolean},showDropdown:{default:!0,type:Boolean},updateOn:{default:"change",type:String}},We=ye.createPropsResolver(je,Ot,Mt,Pt,jt),Lt={data:{type:Array,default:[]},onConfirmResult:{type:Function,default:()=>{}},onSearchedValue:{type:Function,default:()=>{}},idField:{default:"id",type:String},textField:{default:"name",type:String},maxHeight:{default:350,type:Number},loading:{default:!1,type:Boolean}},_e=e.defineComponent({name:"FSearchBoxContainer",props:Lt,emits:["confirmResult","searchedValue"],setup(t,n){const a=e.ref(t.data),i=e.ref(),{slots:o}=n,s=e.computed(()=>({"search-box-container":!0,"f-utils-overflow-xhya":!0,"position-relative":!0}));function r(p){var m;(m=i.value)==null||m.search(p)}function l(p){p.length&&(n.emit("confirmResult",p[0][t.textField]),n.emit("searchedValue",p))}function f(p){return o.default?e.createVNode(e.Fragment,null,[o.default(p)]):e.createVNode("span",null,[p.item[t.textField]])}const u=e.computed(()=>{const p={};return p.padding="8px",t.maxHeight!==void 0&&t.maxHeight>0&&(p.maxHeight=`${t.maxHeight}px`),p});return e.watch(()=>t.loading,p=>{}),e.watch(()=>t.data,p=>{p!==a.value&&(a.value=p),i.value.updateDataSource(p)}),n.expose({search:r}),()=>{const p={content:f};return e.createVNode("div",{class:s.value,style:u.value},[e.createVNode(vt,{ref:"loadingInstance",isActive:t.loading},null),e.createVNode(ht,{ref:i,itemClass:"dropdown-item",data:a.value,view:"ContentView",onClickItem:m=>l(m.data),idField:t.idField,textField:t.textField,titleField:t.textField,valueField:t.idField},p)])}}}),te=e.defineComponent({name:"FSearchBox",props:je,emits:["update:modelValue","change","selectedValue","clickButton"],setup(t,n){e.ref(t.data);const a=e.ref(),i=e.ref(),o=e.ref(t.placeholder),s='<i class="f-icon f-icon-clockwise f-icon-spin"></i>',r=e.computed(()=>t.loading?s:t.buttonContent);e.ref(t.editable);const l=e.ref(t.modelValue);e.watch(l,g=>{var v;(v=i.value)==null||v.search(g),n.emit("update:modelValue",g)}),e.watch(()=>t.modelValue,g=>{l.value=g});function f(g){a.value.commitValue(g)}function u(g){const v=l.value;n.emit("change",g,{oldValue:v,newValue:g})}function p(g){n.emit("selectedValue",g)}function m(g){n.emit("clickButton",g)}function b(){var g;(g=a.value)==null||g.togglePopup()}function w(){var g;(g=a.value)==null||g.hidePopup()}function h(){var g;(g=a.value)==null||g.showPopup()}return n.expose({togglePopup:b,hidePopup:w,showPopup:h}),()=>{const g={default:n.slots.default};return e.createVNode(gt,{ref:a,"button-content":r.value,"custom-class":t.customClass,updateOn:t.updateOn,placeholder:o.value,onChange:v=>u(v),onClickButton:v=>m(v),disable:t.disable,"enable-clear":!0,"button-behavior":"Execute",modelValue:l.value,"onUpdate:modelValue":v=>l.value=v,"popup-host":t.popupHost,"popup-right-boundary":t.popupRightBoundary,"popup-offset-x":t.popupOffsetX,"popup-on-input":t.showDropdown,"popup-on-focus":t.showDropdown,limitContentBySpace:!0,placement:"auto"},{default:()=>[t.showDropdown&&e.createVNode(_e,{ref:i,data:t.data,idField:t.idField,textField:t.textField,onConfirmResult:f,onSearchedValue:v=>p(v),loading:t.loading,maxHeight:t.maxHeight},g)],...n.slots})}}}),Rt=e.defineComponent({name:"FSearchBoxDesign",props:je,emits:["update:modelValue","change"],setup(t,n){const a=e.ref(t.data),i=e.ref(),o=e.ref(),s=e.ref("请输入关键词"),r=e.ref('<i class="f-icon f-icon-search"></i>'),l=e.ref(t.modelValue),f=e.ref(),u=e.inject("design-item-context"),p=He.useDesignerComponent(f,u);e.onMounted(()=>{f.value.componentInstance=p}),n.expose(p.value),e.watch(l,w=>{var h;(h=o.value)==null||h.search(w),n.emit("update:modelValue",w)}),e.watch(()=>t.modelValue,w=>{l.value=w});function m(w){i.value.commitValue(w)}function b(w){n.emit("change",w)}return()=>e.createVNode("div",{ref:f},[e.createVNode(e.resolveComponent("f-button-edit"),{ref:i,"button-content":r.value,placeholder:s.value,onChange:b,"enable-clear":!0,"button-behavior":"Execute",modelValue:l.value,"onUpdate:modelValue":w=>l.value=w,"popup-host":t.popupHost,"popup-right-boundary":t.popupRightBoundary,"popup-offset-x":t.popupOffsetX,"popup-on-input":!0,"popup-on-focus":!0},{default:()=>[e.createVNode(_e,{ref:o,data:a.value,onConfirmResult:m},null)]})])}});te.install=t=>{t.component(te.name,te)},te.register=(t,n,a,i)=>{t["search-box"]=te,n["search-box"]=We},te.registerDesigner=(t,n,a)=>{t["search-box"]=Rt,n["search-box"]=We};const qe={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},idField:{type:String,default:"id"},valueField:{type:String,default:"id"},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},view:{type:String,default:"ContentView"},size:{type:String,default:"default"},placeholder:{type:String,default:""},header:{type:String,default:"ContentHeader"},headerClass:{type:String,default:""},itemClass:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemStyle:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemContentClass:{type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0},checkBeforeRemoveItem:{type:Function,default:null},headerTemplate:{type:Object},contentTemplate:{type:Object},footerTemplate:{type:Object},emptyTemplate:{type:Object},pagination:{type:Object,default:{enable:!1,size:20}},showActiveWhenMultiSelect:{type:Boolean,default:!0},allowDelete:{type:Boolean,default:!0}};function Et(t,n){function a(s){const r=[];let l=s.nextNode();for(;l;)r.push(l),l=s.nextNode();return r}function i(s,r){const l=document.createTreeWalker(s,NodeFilter.SHOW_TEXT);return a(l).map(m=>({textNode:m,text:(m.textContent||"").toLocaleLowerCase()})).map(({textNode:m,text:b})=>{const w=[];let h=0;for(;h<b.length;){const g=b.indexOf(r,h);if(g===-1)break;w.push(g),h=g+r.length}return w.map(g=>{const v=new Range;return v.setStart(m,g),v.setEnd(m,g+r.length),v})}).flat()}function o(s){if(!CSS.highlights||(CSS.highlights.clear(),!s||!n))return;const r=i(n.value,s.toLocaleLowerCase()),l=new Highlight(...r);CSS.highlights.set("search-result",l)}return{search:o}}function Ge(t,n,a,i,o,s,r,l,f,u){const p=e.ref(t.size),m=e.ref(t.textField),b=e.ref(t.titleField),w=e.ref(t.disableField),h=e.computed(()=>{var d,x;return((d=t.selection)==null?void 0:d.multiSelect)&&((x=t.selection)==null?void 0:x.showCheckbox)}),{onMouseenterItem:g,onMouseoverItem:v,onMouseoutItem:V}=s,{getKey:y,listViewItemClass:F,listViewItemStyle:B,onCheckItem:P,onClickItem:k}=r,N=e.computed(()=>{const d={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?d:{margin:p.value==="small"?"0.25rem 0":"8px 0",...d}});function c(d,x,S){return d.checked=l.findIndexInSelectedItems(d)>-1,e.createVNode("li",{class:F(d,x),id:y(d,x),key:y(d,x),style:B(d,x),onClick:j=>k(d,x,j),onMouseenter:j=>g(j,d,x),onMouseover:j=>v(j,d,x),onMouseout:j=>V(j,d,x)},[h.value&&e.createVNode("div",{class:"f-list-select",onClick:j=>j.stopPropagation()},[e.createVNode(Oe.FCheckbox,{id:"list-"+y(d,x),customClass:"listview-checkbox float-left",disabled:d[w.value],checked:d.checked,"onUpdate:checked":j=>d.checked=j,onChange:j=>{P(d,x,!j.checked)}},null)]),e.createVNode("div",{class:"f-list-content"},[e.createVNode("div",{class:t.itemContentClass,style:N.value,title:d.raw[b.value]||d.raw[m.value]},[d.raw[m.value]])])])}return{renderItem:c}}function Dt(t,n,a,i,o,s,r,l,f,u){const p=e.ref(t.multiSelect),m=e.ref(t.disableField),b=e.ref(t.textField),{onMouseenterItem:w,onMouseoverItem:h,onMouseoutItem:g}=s,{getKey:v,listViewItemClass:V,listViewItemStyle:y,onCheckItem:F,onClickItem:B,updateSelectedItems:P}=r;function k(c,d,x){return t.contentTemplate?e.createVNode(e.Fragment,null,[t.contentTemplate({item:c.raw,index:d,selectedItem:x})]):n.slots.content?e.createVNode(e.Fragment,null,[n.slots.content&&n.slots.content({item:c.raw,index:d,selectedItem:x})]):e.createVNode("div",{style:"margin: 10px 0;"},[c.raw[b.value||"name"]])}function N(c,d,x){return e.createVNode("li",{class:V(c,d),id:v(c,d),key:v(c,d),style:y(c,d),onClick:S=>B(c,d,S),onMouseenter:S=>w(S,c,d),onMouseover:S=>h(S,c,d),onMouseout:S=>g(S,c,d)},[p.value&&e.createVNode("div",{class:"f-list-select",onClick:S=>S.stopPropagation()},[e.createVNode(Oe.FCheckbox,{id:"list-"+v(c,d),customClass:"listview-checkbox",disabled:c[m.value],checked:c.checked,"onUpdate:checked":S=>c.checked=S,onChange:S=>{F(c,d,!S.checked),P()}},null)]),e.createVNode("div",{class:"f-list-content"},[k(c,d,x)])])}return{renderItem:N}}function Ht(t,n,a,i,o,s,r,l,f,u){const p=e.ref(t.multiSelect),m=e.ref(t.disableField),b=e.ref(t.textField),{onMouseenterItem:w,onMouseoverItem:h,onMouseoutItem:g}=s,{getKey:v,listViewItemClass:V,onCheckItem:y,onClickItem:F}=r,{dragstart:B,dragenter:P,dragover:k,dragend:N}=i,{removeItem:c}=f,d=e.computed(()=>({margin:p.value?"10px 0":"10px 0px 10px 14px"}));function x(M,T=""){const R=M.target;R.title=R.scrollWidth>R.clientWidth?T:""}function S(M){return e.createVNode("div",{style:d.value,onMouseenter:T=>x(T,M.raw[b.value||"name"])},[M.raw[b.value||"name"]])}function j(){return n.slots.itemContent?n.slots.itemContent:S}const W=j();function E(M,T,R){return e.createVNode("li",{class:V(M,T),id:v(M,T),key:v(M,T),onClick:C=>F(M,T,C),onMouseenter:C=>w(C,M,T),onMouseover:C=>h(C,M,T),onMouseout:C=>g(C,M,T),draggable:"true",onDragstart:C=>B(C,M,T),onDragenter:C=>P(C,T),onDragend:C=>N(C,M),onDragover:C=>k(C)},[p.value&&e.createVNode("div",{class:"f-list-select",onClick:C=>C.stopPropagation()},[e.createVNode(Oe.FCheckbox,{id:"list-"+v(M,T),customClass:"listview-checkbox",disabled:M[m.value],checked:M.checked,"onUpdate:checked":C=>M.checked=C,onChange:C=>y(M,T,!C.checked)},null)]),e.createVNode("div",{class:"f-list-content"},[W(M)]),t.allowDelete&&e.createVNode("div",{class:"f-list-remove",onClick:C=>{C.stopPropagation(),c(T)}},[e.createVNode("div",{class:"f-list-remove-icon"},[e.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),e.createVNode("div",{class:"f-list-handle"},[e.createVNode("div",null,[e.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:E}}function zt(t,n,a,i,o,s,r,l,f,u){var v;const p=e.ref(((v=t.group)==null?void 0:v.groupFields)||[]),{collpaseGroupIconClass:m}=o,{toggleGroupRow:b}=u;function w(V,y){V.stopPropagation(),y.collapse=!y.collapse,a.value=b(y.collapse?"collapse":"expand",y,a.value)}function h(V,y,F){return n.slots.group?e.createVNode(e.Fragment,null,[n.slots.content&&n.slots.group({item:V.raw,index:y,selectedItem:F})]):e.createVNode("div",{class:"f-navlookup-recentHeader",onClick:B=>w(B,V)},[e.createVNode("div",{class:"fv-grid-group-row-icon"},[e.createVNode("span",{class:m(V)},null)]),e.createVNode("div",{class:"f-navlookup-recommandLabel"},[V.raw[p.value[V.layer]]])])}function g(V,y,F){return V.layer>-1&&h(V,y,F)}return{renderItem:g}}function $t(t,n,a,i){const{dataView:o}=a,{updateSelectedItems:s}=i;function r(l){if(l>-1&&l<o.value.length){if(t!=null&&t.checkBeforeRemoveItem&&!t.checkBeforeRemoveItem(o.value[l]))return;const f=o.value.splice(l,1);s(),n.emit("removeItem",f[0])}}return{removeItem:r}}function At(t,n,a,i,o,s,r,l,f,u){const p=e.ref(t.view),m=e.ref(t.view==="CardView"),b=e.ref({}),w=$t(t,n,i,f),h=e.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":m.value,"flex-wrap":m.value})),g=e.computed(()=>!!a.value&&a.value.length>0),v=e.computed(()=>a.value.length===0);e.computed(()=>v.value&&!n.slots.empty);function V(){return p.value==="SingleView"?Ge:p.value==="DraggableView"?Ht:(p.value==="ContentView"||p.value==="CardView")&&(t.contentTemplate||n.slots.content)?Dt:Ge}const y=V(),{renderItem:F}=y(t,n,a,u,o,s,f,r,w,l),{renderItem:B}=zt(t,n,a,u,o,s,f,r,w,l),P=[F,B];function k(){return a.value.filter(d=>d.visible!==!1).map((d,x)=>P[d.type](d,x,b))}function N(){return e.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[e.createVNode("p",{class:"f-empty-title"},[t.emptyTemplate?t.emptyTemplate():n.slots.empty?n.slots.empty():X.LocaleService.getLocaleValue("listView.emptyMessage")])])}function c(){return e.createVNode("ul",{class:h.value,style:"list-style: none;"},[g.value&&k(),v.value&&N()])}return{renderListArea:c}}function Wt(t,n,a){function i(){return n.slots.header&&e.createVNode("div",{class:"f-list-view-header"},[n.slots.header()])}return{renderHeader:i}}function Ue(t,n,a){const i=e.ref(t.headerClass),o=e.ref(t.placeholder),s=e.ref(""),r=e.computed(()=>!s.value),l=e.computed(()=>!!s.value);function f(b){s.value=""}e.watch(s,b=>{t.enableHighlightSearch&&a.search(b),n.emit("afterSearch",b)});const u=e.computed(()=>{const b={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((h,g)=>(h[g]=!0,h),b),b});function p(b){}function m(){return e.createVNode("div",{class:"f-list-view-header",onClick:e.withModifiers(()=>p,["prevent","stop"])},[e.createVNode("div",{class:u.value},[e.createVNode("div",{class:"farris-input-wrap"},[e.createVNode("div",{class:"f-cmp-inputgroup"},[e.createVNode("div",{class:"input-group f-state-editable"},[e.withDirectives(e.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":b=>s.value=b,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[e.vModelText,s.value]]),e.createVNode("div",{class:"input-group-append"},[l.value&&e.createVNode("span",{class:"input-group-text input-group-clear",onClick:b=>f()},[e.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),r.value&&e.createVNode("span",{class:"input-group-text"},[e.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:m}}function _t(){const t=e.ref(""),n=e.ref(-1),a=e.ref(""),i=e.ref(-1),o=e.ref(!1);function s(m,b,w){i.value=w}function r(m,b,w){o.value||(i.value=w)}function l(m,b,w){i.value=-1}function f(){o.value=!0}function u(){o.value=!1}function p(){n.value=-1,t.value=""}return{activeIndex:n,focusedItemId:a,hoverIndex:i,clearActiveItem:p,onMouseenterItem:s,onMouseoverItem:r,onMouseoutItem:l,resumeHover:u,suspendHover:f}}function qt(t,n,a,i,o){const s=e.ref(t.idField),{dataView:r}=a,l=e.ref(-1),f=e.ref(!1),{activeIndex:u,focusedItemId:p,hoverIndex:m,resumeHover:b,suspendHover:w}=i;let h,g=0,v=0,V=null,y=null;const F=10,B=50;function P(M){if(!M)return null;const{overflowY:T}=getComputedStyle(M);return T==="auto"||T==="scroll"?M:P(M.parentElement)}function k(M,T){y&&clearInterval(y),y=window.setInterval(()=>{T==="up"?M.scrollTop-=F:M.scrollTop+=F},16)}function N(){y&&(clearInterval(y),y=null)}function c(M){const T=M.target;if(V||(V=P(T)),!V){N();return}const R=V.getBoundingClientRect(),C=M.clientY,O=C-R.top,L=R.bottom-C;O<B&&V.scrollTop>0?k(V,"up"):L<B&&V.scrollTop<V.scrollHeight-V.clientHeight?k(V,"down"):N()}function d(M,T){const R=M-g,C=T-v;h.style.left=parseInt(h.style.left)+R+"px",h.style.top=parseInt(h.style.top)+C+"px",g=M,v=T}function x(M){const{left:T,top:R}=M.getBoundingClientRect(),C=M.cloneNode(!0);return C.className=C.className+" f-listview-drag-moving",C.style.cssText=` position:absolute; left:${T}px; top:${document.documentElement.scrollTop?R+document.documentElement.scrollTop:R}px; z-index: 999999; pointer-events: none; border-radius: 10px; margin: 4px 2px; display: flex; align-items: center; float: none; text-align: initial; width:${getComputedStyle(M).width}; height:${getComputedStyle(M).height}; `,C.children[0].style.cssText="padding: 0 0 0 14px",C.children[0].children[0].style.cssText=` margin: 10px 0px 10px 14px; overflow: hidden;text-overflow: ellipsis;white-space: nowrap; `,C.children[1].style.cssText="flex:1 1 auto; width:100%",C.children[2].style.cssText="padding: 0 14px 0 0",C.children[2].children[0].style.cssText="display: initial",document.body.appendChild(C),C}function S(M,T,R){if(M.stopPropagation(),w(),T){if(h=x(M.target),M.dataTransfer){const C=new Image;C.src="",M.dataTransfer.setDragImage(C,0,0)}g=M.pageX,v=M.pageY,setTimeout(()=>{l.value=R,f.value=!0,T.moving=!0})}}function j(M,T){if(M.preventDefault(),l.value!==T&&l.value!==-1){const R=r.value[l.value],C=o.value[l.value];R&&C&&(r.value.splice(l.value,1),r.value.splice(T,0,R),o.value.splice(l.value,1),o.value.splice(T,0,C),o.value.forEach((O,L)=>{O.index=L,O.raw.__fv_index__=L}),l.value=T,d(M.pageX,M.pageY))}}function W(M){M.preventDefault(),M.dataTransfer&&(M.dataTransfer.dropEffect="move"),d(M.pageX,M.pageY),c(M)}function E(M,T){var C,O;N(),V=null,T&&(T.moving=!1,h&&(document.body.removeChild(h),h=null)),r.value.forEach((L,D)=>{L.__fv_index__=D}),o.value.forEach((L,D)=>{L.index=D,L.raw&&(L.raw.__fv_index__=D)}),f.value=!1,b();const R=((C=T.raw)==null?void 0:C.__fv_index__)??0;m.value=R,u.value=R,p.value=(O=T.raw)==null?void 0:O[s.value],n.emit("change",r.value),n.emit("activeChange",[T.raw])}return{dragstart:S,dragenter:j,dragover:W,dragend:E,isDragging:f}}function Gt(t,n,a,i,o,s){const r=e.ref(t.idField),l=e.ref(t.disableField),f=e.ref(t.draggable);e.ref(t.itemClass);const u=e.ref(t.selection.multiSelect??!1),p=e.ref(t.selection.multiSelectMode),{isDragging:m}=i,{activeIndex:b,focusedItemId:w,hoverIndex:h}=o,{clearSelection:g,getSelectedItems:v,toggleSelectItem:V,currentSelectedDataId:y,multiSelectOnlyOnCheck:F}=s,B=e.ref(v()),P=E=>B.value.length===0?!1:B.value.some(M=>{let T="";return M.data?T=M.data[r.value]:T=M[r.value],T===E});function k(){B.value=v()}function N(E,M){return E.raw[r.value]!=null?E.raw[r.value]+"_"+M:""}function c(E,M){const T={"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!E.checked,"f-un-select":!!E.raw[l.value],"f-listview-active":u.value&&P(N(E,M))&&t.showActiveWhenMultiSelect||!u.value&&E.raw[r.value]===y.value||u.value&&!t.showActiveWhenMultiSelect&&E.raw[r.value]===y.value,"f-listview-hover":!m.value&&M===h.value,moving:!!E.moving};if(typeof t.itemClass=="string")return U.getCustomClass(T,t.itemClass);if(typeof t.itemClass=="function"){const R=t.itemClass(E);return U.getCustomClass(T,R)}return T}function d(E,M){const T={};if(typeof t.itemStyle=="string")return U.getCustomStyle(T,t.itemStyle);if(typeof t.itemStyle=="function"){const R=t.itemStyle(E);return U.getCustomStyle(T,R)}return T}const x=e.computed(()=>!u.value);function S(E,M,T){E.checked=T,!E.raw[l.value]&&(x.value&&(w.value=E.raw[r.value]),V(E))}const j=e.computed(()=>!u.value||u.value&&p.value==="OnCheckAndClick");function W(E,M,T){if(E.raw[l.value]){T==null||T.preventDefault(),T==null||T.stopPropagation();return}y.value=E.raw[r.value],w.value=E.raw[r.value],b.value=M,j.value&&(V(E),k()),n.emit("clickItem",{data:B.value,index:M,dataItem:E.raw}),n.emit("activeChange",B.value)}return{getKey:N,selectedItems:B,listViewItemClass:c,listViewItemStyle:d,updateSelectedItems:k,onCheckItem:S,onClickItem:W}}const ne=e.defineComponent({name:"FListView",props:qe,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(t,n){var ve;const a=e.ref(!1),i=e.ref(),o=e.ref(!0),s=e.ref(((ve=t.rowOption)==null?void 0:ve.rowHeight)||28),r=e.ref(!1),l=e.ref([]),f=0,u=e.ref(t.columns),p=Y.useFilter(t,n),m=Y.useIdentify(t),b=Y.useHierarchy(t),w=Y.useGroupData(t,m),h=Y.useDataView(t,new Map,p,b,m),g=Y.useSelection(t,h,m,l,n),v=Et(t,i),V=Y.usePagination(t,h),y=e.computed(()=>h.dataView.value.length),F=Y.useRow(t,n,g,m),B=Y.useEdit(t,n,m,F,l),P=Y.useVisualDataBound(t,h,s),k=Y.useVisualDataCell(t,{},P),N=Y.useVisualDataRow(t,h,B,b,m,P,k,s),c=Y.useVisualGroupRow(t,m,k,N),d=Y.useVisualSummaryRow(t,m,k,N),x=Y.useVisualData(t,u,h,y,f,N,c,d),{getVisualData:S}=x;l.value=S(0,y.value+f-1);const j=e.computed(()=>{const $={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&($[`${t.size}-item`]=!0),U.getCustomClass($,t.customClass)}),W=e.computed(()=>!!n.slots.footer||o.value);function E(){return t.header==="SearchBar"?Ue:t.header==="ContentHeader"?Wt:Ue}const M=E(),{renderHeader:T}=M(t,n,v),R=_t(),C=qt(t,n,h,R,l),O=Gt(t,n,l,C,R,g),{renderListArea:L}=At(t,n,l,h,w,R,g,x,O,C);function D($){v.search($)}function _($){$&&(h.load($),l.value=S(0,y.value+f-1))}function ae(){g.clearSelection(),R.clearActiveItem()}function ee(){return O.selectedItems.value}function Ce(){return O.selectedItems.value.map($=>$[m.idField.value])}function pe($){g.selectedValues.value=$,O.updateSelectedItems()}function me(){return g.currentSelectedDataId.value}function xe($){F.activeRowById($)}function ge($){const J=m.idField.value,ue=l.value.find(Te=>Te.raw[J]===$),de=l.value.findIndex(Te=>Te.raw[J]===$);ue&&de>-1&&O.onClickItem(ue,de)}function he($){const J=m.idField.value,ue=l.value.find(de=>de.raw[J]===$);ue&&F.changeRow(ue)}function Ve($){V.updatePagination($)}function Se($){return l.value.filter(J=>$.includes(J.raw[t.idField]))}n.expose({search:D,updateDataSource:_,clearSelection:ae,getSelections:ee,updateSelectionByIds:pe,getSelectionIds:Ce,activeRowById:xe,getCurrentRowId:me,clickRowItemById:ge,updatePagination:Ve,getVisibleDataByIds:Se,selectRowById:he}),e.watch(()=>t.selectionValues,($,J)=>{$!==J&&pe($)});const Ne=Y.useSidebar(t,g),{sidebarWidth:A,showSidebarCheckBox:Z}=Ne,oe=Y.useColumn(t,n),{applyColumnSorter:ce,columnContext:Ee,updateColumnRenderContext:ft}=oe;return Y.useVirtualScroll(t,h,l,Ee,x,y,f,A,s,a,B),()=>e.createVNode("div",{class:j.value},[T(),e.createVNode("div",{ref:i,class:"f-list-view-content",onMouseover:()=>{r.value||(r.value=!0)},onMouseleave:()=>{r.value&&(r.value=!1)}},[L()]),W.value&&e.createVNode("div",{class:"f-list-view-footer"},[t.footerTemplate?t.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),Xe=e.defineComponent({name:"FListViewTable",props:qe,emits:["outputValue","currentEvent","selectionChanged"],setup(t,n){const a=[{name:"任芳",code:"1.PO20198989001",date:"2024-02-19",desc:"导游1",amount:63.85,avatar:"./assets/avatar1.png"},{name:"戴秀兰",code:"2.PO20198989002",date:"2024-03-17",desc:"导游2",amount:60.13,avatar:"./assets/avatar2.png"},{name:"尹磊",code:"3.PO20198989003",date:"2024-04-09",desc:"导游3",amount:36.54,avatar:"./assets/avatar3.png"},{name:"赵明",code:"4.PO20198989004",date:"2024-03-27",desc:"导游4",amount:52.76,avatar:"./assets/avatar4.png"},{name:"吕洋",code:"5.PO20198989005",date:"2024-11-17",desc:"导游5",amount:84.13,avatar:"./assets/avatar5.png"}],i=e.computed(()=>t.data.length>0?t.data:a);return()=>{var o;return e.createVNode(e.Fragment,null,[(o=i.value)==null?void 0:o.map(s=>e.createVNode("div",{class:"f-template-listview-row"},[e.createVNode("div",{class:"list-view-item-title"},[e.createVNode("div",{class:"item-title-img"},[e.createVNode("img",{src:s.avatar,alt:"",style:"width: 44px;"},null)]),e.createVNode("div",{class:"item-title"},[e.createVNode("p",{class:"item-title-heading"},[s.code]),e.createVNode("p",{class:"item-title-text"},[s.desc])])]),e.createVNode("div",{class:"list-view-item-content"},[e.createVNode("div",{class:"content-message"},[e.createVNode("div",{class:"ower"},[e.createVNode("p",null,[e.createTextVNode("创建人")]),e.createVNode("p",{class:"con"},[s.name])]),e.createVNode("div",{class:"date"},[e.createVNode("p",null,[e.createTextVNode("创建时间")]),e.createVNode("p",{class:"con"},[s.date])])])])]))])}}});ne.install=t=>{t.component(ne.name,ne),t.component(Xe.name,Xe)};const Ut=new Map([["appearance",ye.resolveAppearance]]),Xt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/pagination.schema.json",title:"pagination",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a pagination",type:"string"},type:{description:"The type string of pagination component",type:"string",default:"pagination"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""}},required:["id","type"]},Yt={title:"pagination",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}};function Kt(t,n,a){return n}const Le={currentPage:{type:Number,default:1},disabled:{type:Boolean,default:!1},mode:{type:String,default:"default"},pageSize:{type:Number,default:20},totalItems:{type:Number,default:0},showGoButton:{type:Boolean,default:!1},showPageList:{type:Boolean,default:!0},showPageNumbers:{type:Boolean,default:!0},showRedirection:{type:Boolean,default:!0},pageList:{type:Array,default:[20,50,100]},showPageInfo:{type:Boolean,default:!1}},Ye=ye.createPropsResolver(Le,Xt,Ut,Kt,Yt);function Ke(t,n,a,i){const o=e.computed(()=>X.LocaleService.getLocaleValue("pagination.goto.prefix")),s=e.ref(""),r=e.ref(t.value);e.watch(t,m=>{r.value!==m&&(r.value=m)});function l(m){return!isNaN(m)&&m>=1&&m<=n.value}function f(m){const b=t.value;r.value=m.target.valueAsNumber,l(r.value)?t.value=r.value:r.value=b,i.emit("update:currentPage",t.value),i.emit("changed",{pageIndex:t.value,pageSize:a.value}),i.emit("pageIndexChanged",{pageIndex:t.value,pageSize:a.value})}function u(m){m.key==="Enter"&&f(m)}function p(){return e.createVNode("li",{class:"page-goto-input d-flex flex-row",style:"padding-left: 10px; white-space: nowrap;"},[e.createVNode("span",{class:"pagination-message"},[o.value]),e.createVNode("input",{title:"page-index-spinner",type:"number",class:"form-control farris-gotopagenumber",value:r.value,min:1,max:n.value,style:"display: inline-block;margin-left:3px;",onBlur:m=>f(m),onKeyup:m=>u(m)},null),s.value])}return{renderGotoButton:p}}function Ze(t,n,a,i,o){const s=e.computed(()=>({"page-item":!0,disabled:n.value}));function r(p){t.value=t.value<a.value?t.value+1:a.value,o.emit("update:currentPage",t.value),o.emit("changed",{pageIndex:t.value,pageSize:i.value}),o.emit("pageIndexChanged",{pageIndex:t.value,pageSize:i.value})}function l(p){t.value=a.value,o.emit("update:currentPage",t.value),o.emit("changed",{pageIndex:t.value,pageSize:i.value}),o.emit("pageIndexChanged",{pageIndex:t.value,pageSize:i.value})}function f(){return e.createVNode("li",{class:s.value},[!n.value&&e.createVNode("a",{class:"page-link",tabindex:"0",onClick:p=>r()},[e.createVNode("span",{class:"f-icon f-page-next"},null)]),n.value&&e.createVNode("span",{class:"page-link"},[e.createVNode("span",{class:"f-icon f-page-next"},null)])])}function u(){return e.createVNode("li",{class:s.value},[!n.value&&e.createVNode("a",{class:"page-link",tabindex:"0",onClick:p=>l()},[e.createVNode("span",{class:"f-icon f-page-last"},null)]),n.value&&e.createVNode("span",{class:"page-link"},[e.createVNode("span",{class:"f-icon f-page-last"},null)])])}return{renderLastPage:u,renderNextPage:f}}function Je(t,n){const a=e.computed(()=>X.LocaleService.getLocaleValue("pagination.totalInfo.firstText")),i=e.computed(()=>X.LocaleService.getLocaleValue("pagination.totalInfo.lastText")),o=e.computed(()=>({"pagination-message":!0,"text-truncate":!0,"d-flex":!0,"ml-auto":t.value==="right","flex-fill":t.value==="right"}));function s(){return e.createVNode("li",{class:o.value},[e.createVNode("div",{class:"text-truncate"},[e.createVNode("span",{class:"pg-message-text"},[a.value]),e.createVNode("b",{class:"pg-message-total"},[n.value]),e.createVNode("span",{class:"pg-message-text"},[i.value])])])}return{renderPageInfo:s}}function Qe(t,n,a,i,o){const s=e.ref(!1),r=e.computed(()=>X.LocaleService.g