2 lines
8.8 KiB
JavaScript
2 lines
8.8 KiB
JavaScript
import{c as C,a as l,h,b as N,e as m,r as b,w as z,o as J,d as X,g as k,i as P,l as B,p as G,f as M,j as Y,k as U,m as q,n as Z,q as ee,_ as te,u as ae,s as H,t as A,v as p,x as D,y as x,z as L,A as K,B as w,C as oe,D as ne,E as re,Q as le,F as se,G as ie,H as ue,U as ce,I as de}from"./index.7df25f12.js";import{Q as fe}from"./QToolbar.348b591b.js";import{Q as I}from"./QResizeObserver.5bd704bf.js";import{Q as ve}from"./QSpinnerDots.b721c188.js";import{Q as he}from"./QScrollObserver.e1df987d.js";import{_ as me}from"./InfiniteScroll.609cb5e6.js";import{_ as ge}from"./AuthButton.e35542bc.js";import{W as ye}from"./WarnTip.3489d455.js";import{_ as pe}from"./LoadingView.1160884f.js";import"./touch.70a9dd44.js";import"./selection.c52745bf.js";import"./sorry.e0a2c349.js";import"./use-quasar.0e944873.js";var E=C({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:f}){const s=l(()=>"q-toolbar__title ellipsis"+(e.shrink===!0?" col-shrink":""));return()=>h("div",{class:s.value},N(f.default))}}),be=C({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:f,emit:s}){const{proxy:{$q:a}}=k(),n=P(B,m);if(n===m)return console.error("QHeader needs to be child of QLayout"),m;const r=b(parseInt(e.heightHint,10)),i=b(!0),u=l(()=>e.reveal===!0||n.view.value.indexOf("H")>-1||a.platform.is.ios&&n.isContainer.value===!0),c=l(()=>{if(e.modelValue!==!0)return 0;if(u.value===!0)return i.value===!0?r.value:0;const t=r.value-n.scroll.value.position;return t>0?t:0}),v=l(()=>e.modelValue!==!0||u.value===!0&&i.value!==!0),R=l(()=>e.modelValue===!0&&v.value===!0&&e.reveal===!0),T=l(()=>"q-header q-layout__section--marginal "+(u.value===!0?"fixed":"absolute")+"-top"+(e.bordered===!0?" q-header--bordered":"")+(v.value===!0?" q-header--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus":"")),V=l(()=>{const t=n.rows.value.top,y={};return t[0]==="l"&&n.left.space===!0&&(y[a.lang.rtl===!0?"right":"left"]=`${n.left.size}px`),t[2]==="r"&&n.right.space===!0&&(y[a.lang.rtl===!0?"left":"right"]=`${n.right.size}px`),y});function g(t,y){n.update("header",t,y)}function _(t,y){t.value!==y&&(t.value=y)}function F({height:t}){_(r,t),g("size",t)}function W(t){R.value===!0&&_(i,!0),s("focusin",t)}z(()=>e.modelValue,t=>{g("space",t),_(i,!0),n.animate()}),z(c,t=>{g("offset",t)}),z(()=>e.reveal,t=>{t===!1&&_(i,e.modelValue)}),z(i,t=>{n.animate(),s("reveal",t)}),z(n.scroll,t=>{e.reveal===!0&&_(i,t.direction==="up"||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)});const Q={};return n.instances.header=Q,e.modelValue===!0&&g("size",r.value),g("space",e.modelValue),g("offset",c.value),J(()=>{n.instances.header===Q&&(n.instances.header=void 0,g("size",0),g("offset",0),g("space",!1))}),()=>{const t=X(f.default,[]);return e.elevated===!0&&t.push(h("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push(h(I,{debounce:0,onResize:F})),h("header",{class:T.value,style:V.value,onFocusin:W},t)}}}),_e=C({name:"QPage",props:{padding:Boolean,styleFn:Function},setup(e,{slots:f}){const{proxy:{$q:s}}=k(),a=P(B,m);if(a===m)return console.error("QPage needs to be a deep child of QLayout"),m;if(P(G,m)===m)return console.error("QPage needs to be child of QPageContainer"),m;const r=l(()=>{const u=(a.header.space===!0?a.header.size:0)+(a.footer.space===!0?a.footer.size:0);if(typeof e.styleFn=="function"){const c=a.isContainer.value===!0?a.containerHeight.value:s.screen.height;return e.styleFn(u,c)}return{minHeight:a.isContainer.value===!0?a.containerHeight.value-u+"px":s.screen.height===0?u!==0?`calc(100vh - ${u}px)`:"100vh":s.screen.height-u+"px"}}),i=l(()=>`q-page${e.padding===!0?" q-layout-padding":""}`);return()=>h("main",{class:i.value,style:r.value},N(f.default))}}),$e=C({name:"QPageContainer",setup(e,{slots:f}){const{proxy:{$q:s}}=k(),a=P(B,m);if(a===m)return console.error("QPageContainer needs to be child of QLayout"),m;M(G,!0);const n=l(()=>{const r={};return a.header.space===!0&&(r.paddingTop=`${a.header.size}px`),a.right.space===!0&&(r[`padding${s.lang.rtl===!0?"Left":"Right"}`]=`${a.right.size}px`),a.footer.space===!0&&(r.paddingBottom=`${a.footer.size}px`),a.left.space===!0&&(r[`padding${s.lang.rtl===!0?"Right":"Left"}`]=`${a.left.size}px`),r});return()=>h("div",{class:"q-page-container",style:n.value},N(f.default))}}),xe=C({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:f,emit:s}){const{proxy:{$q:a}}=k(),n=b(null),r=b(a.screen.height),i=b(e.container===!0?0:a.screen.width),u=b({position:0,direction:"down",inflectionPoint:0}),c=b(0),v=b(Y.value===!0?0:U()),R=l(()=>"q-layout q-layout--"+(e.container===!0?"containerized":"standard")),T=l(()=>e.container===!1?{minHeight:a.screen.height+"px"}:null),V=l(()=>v.value!==0?{[a.lang.rtl===!0?"left":"right"]:`${v.value}px`}:null),g=l(()=>v.value!==0?{[a.lang.rtl===!0?"right":"left"]:0,[a.lang.rtl===!0?"left":"right"]:`-${v.value}px`,width:`calc(100% + ${v.value}px)`}:null);function _(o){if(e.container===!0||document.qScrollPrevented!==!0){const d={position:o.position.top,direction:o.direction,directionChanged:o.directionChanged,inflectionPoint:o.inflectionPoint.top,delta:o.delta.top};u.value=d,e.onScroll!==void 0&&s("scroll",d)}}function F(o){const{height:d,width:$}=o;let S=!1;r.value!==d&&(S=!0,r.value=d,e.onScrollHeight!==void 0&&s("scrollHeight",d),Q()),i.value!==$&&(S=!0,i.value=$),S===!0&&e.onResize!==void 0&&s("resize",o)}function W({height:o}){c.value!==o&&(c.value=o,Q())}function Q(){if(e.container===!0){const o=r.value>c.value?U():0;v.value!==o&&(v.value=o)}}let t=null;const y={instances:{},view:l(()=>e.view),isContainer:l(()=>e.container),rootRef:n,height:r,containerHeight:c,scrollbarWidth:v,totalWidth:l(()=>i.value+v.value),rows:l(()=>{const o=e.view.toLowerCase().split(" ");return{top:o[0].split(""),middle:o[1].split(""),bottom:o[2].split("")}}),header:q({size:0,offset:0,space:!1}),right:q({size:300,offset:0,space:!1}),footer:q({size:0,offset:0,space:!1}),left:q({size:300,offset:0,space:!1}),scroll:u,animate(){t!==null?clearTimeout(t):document.body.classList.add("q-body--layout-animate"),t=setTimeout(()=>{t=null,document.body.classList.remove("q-body--layout-animate")},155)},update(o,d,$){y[o][d]=$}};if(M(B,y),U()>0){let $=function(){o=null,d.classList.remove("hide-scrollbar")},S=function(){if(o===null){if(d.scrollHeight>a.screen.height)return;d.classList.add("hide-scrollbar")}else clearTimeout(o);o=setTimeout($,300)},O=function(j){o!==null&&j==="remove"&&(clearTimeout(o),$()),window[`${j}EventListener`]("resize",S)},o=null;const d=document.body;z(()=>e.container!==!0?"add":"remove",O),e.container!==!0&&O("add"),Z(()=>{O("remove")})}return()=>{const o=ee(f.default,[h(he,{onScroll:_}),h(I,{onResize:F})]),d=h("div",{class:R.value,style:T.value,ref:e.container===!0?void 0:n,tabindex:-1},o);return e.container===!0?h("div",{class:"q-layout-container overflow-hidden",ref:n},[h(I,{onResize:W}),h("div",{class:"absolute-full",style:V.value},[h("div",{class:"scroll",style:g.value},[d])])]):d}}});const we={key:0,class:"row justify-center q-my-md"},ze={__name:"PageLayout",props:{hideHeader:Boolean,headerClass:String,loading:Boolean},setup(e){const f=e,s=ae(),a=ne(),n=re(),r=l(()=>a.query.title||a.meta.title),i=l(()=>a.path.split("/").length<=2);function u(){n.back()}return(c,v)=>(H(),A(xe,{view:"lHh lpr lFf",key:"1"},{default:p(()=>[f.hideHeader?K("",!0):(H(),A(be,{key:0,bordered:!1,class:D(["topBar-header",f.headerClass])},{default:p(()=>[x(c.$slots,"header",{backState:L(i),back:u},()=>[w(fe,{class:"justify-between"},{default:p(()=>[w(E,{class:"toolbar-btns"},{default:p(()=>[L(i)?K("",!0):(H(),A(le,{key:0,flat:"",round:"",dense:"",icon:"arrow_back_ios_new",onClick:u})),x(c.$slots,"header-left",{},void 0,!0)]),_:3}),w(E,{class:"text-center col-auto text-weight-medium"},{default:p(()=>[x(c.$slots,"header-title",{},()=>[se(ie(L(r)),1)],!0)]),_:3}),w(E,{class:"toolbar-btns text-right"},{default:p(()=>[x(c.$slots,"header-right",{},void 0,!0)]),_:3})]),_:3}),x(c.$slots,"header-append",{},void 0,!0)],!0)]),_:3},8,["class"])),w($e,{class:D(["page-container",L(s).class])},{default:p(()=>[w(_e,null,{default:p(()=>[f.loading?(H(),oe("div",we,[w(ve,{color:"grey",size:"24px"})])):x(c.$slots,"default",{key:1},void 0,!0)]),_:3})]),_:3},8,["class"]),x(c.$slots,"footer",{},void 0,!0)]),_:3}))}};var Qe=te(ze,[["__scopeId","data-v-6b552f7f"]]);var Oe=ue(({app:e,router:f,store:s,urlPath:a,redirect:n})=>{e.component("PageLayout",Qe),e.component("InfiniteScroll",me),e.component("UserAvatar",ce),e.component("AuthButton",ge),e.component("WarnTip",ye),e.component("LoadingView",pe),e.component("CustomerLevel",de),e.config.errorHandler=(r,i,u)=>{console.error(r,i,u)}});export{Oe as default};
|