1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
import{$t as e,A as t,C as n,D as r,Dt as i,E as a,Et as o,Ft as s,G as c,K as l,M as u,Mt as d,O as f,P as p,Pt as m,Q as ee,S as te,T as h,Tt as ne,Wt as g,X as _,Xt as v,Z as y,Zt as b,b as x,ct as S,dt as C,ft as w,gt as T,ht as E,j as D,k as O,kt as k,lt as A,mt as j,pt as M,st as N,ut as P,w as F,x as re,y as I}from"./vendor-quasar-BdHTqpDy.js";import{o as ie,t as ae}from"./vendor-vue-core-CuXzcq2w.js";import{c as L,d as R,i as oe,o as z,p as B}from"./vendor-leaflet-core-Dyrj7Rn0.js";import{r as V,t as H}from"./_plugin-vue_export-helper-CUf5lN2T.js";import{t as se}from"./simulation-DRMY3tZ9.js";import{t as U}from"./FormattedAddress-BVYQ5ifh.js";var W=H(T({__name:`LocationItem`,props:{address:{},latitude:{},longitude:{},icon:{},start:{},end:{},delay:{},active:{type:Boolean},isCurrentDelay:{type:Boolean},loc_id:{},isLast:{type:Boolean},index:{},status:{},type:{},instruction:{}},emits:[`item-clicked`],setup(n,{emit:r}){let a=se(),{currentLocation:d,locationQueueOrder:f,locationQueueData:p,locationQueueDeletedItems:te,simulationRunning:h}=ie(a),_=n,x=r;function S(){let e=_.loc_id;x(`item-clicked`,e)}let T=A(()=>a.getLocationData(_.loc_id)),k=A(()=>T.value?T.value.status===`deleted`:!1),N=g(new Date),P;function F(e){let t;if(e===0&&(t=`now`),e>0){let n=Math.floor(e/60),r=Math.floor(n/60),i=Math.floor(r/24);t=i>0?`in ${i} day${i>1?`s`:``}`:r>0?`in ${r} hour${r>1?`s`:``}`:n>0?`in ${n} minute${n>1?`s`:``}`:`in ${e} second${e>1?`s`:``}`}return t}let re=A(()=>{let e;if(_.active){let t=new Date(_.start),n=N.value.getTime(),r=t.getTime(),i=Math.abs(n-r),a=Math.floor(i/1e3),o=Math.floor(a/60),s=a%60,c=Math.floor(o/60),l=Math.floor(c/24);e=l>0?`for ${l} d${l>1?`s`:``}`:c>0?`for ${c} h${c>1?`s`:``}`:o>0?`for ${o}:${s}`:`for ${a} s${a>1?`s`:``}`}else if(_.end&&_.end!==``){let t=new Date(_.end),n=N.value.getTime(),r=t.getTime(),i=Math.abs(n-r),a=Math.floor(i/1e3),o=Math.floor(a/60),s=Math.floor(o/60),c=Math.floor(s/24);e=c>0?`${c} day${c>1?`s`:``} ago`:s>0?`${s} hr${s>1?`s`:``} ago`:o>0?`${o} min${o>1?`s`:``} ago`:`${a} sec${a>1?`s`:``} ago`}else{let t;t=H.value&&H.value>0?H.value:0,e=F(f.value.slice(t,W.value+1).reduce((e,t)=>e+(p.value[t]?.delay||0),0))}return e}),ae=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`},V=e=>new Date(e).toLocaleDateString(`en-US`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),H=A(()=>d.value.loc_id?f.value.indexOf(d.value.loc_id):null),W=A(()=>k.value?te.value.indexOf(_.loc_id):f.value.indexOf(_.loc_id)),G=A(()=>k.value||H.value===null?W.value+1:W.value-H.value),K=A(()=>G.value>0?`future`:G.value<0?`past`:`active`),q=A(()=>k.value?new B({color:`black`,accentColor:`black`,content:G.value.toString(),contentColor:`white`,scale:1,svg:oe}):G.value>0?_.type===`coord`?new B({color:`blue`,accentColor:`firebrick`,content:G.value.toString(),contentColor:`white`,scale:.25,svg:z}):new B({color:`blue`,accentColor:`firebrick`,content:G.value.toString(),contentColor:`white`,scale:1,svg:R}):G.value<0?_.type===`coord`?new B({color:`black`,accentColor:`grey`,content:G.value.toString(),contentColor:`white`,scale:.25,svg:z}):new B({color:`black`,accentColor:`grey`,content:G.value.toString(),contentColor:`white`,scale:1,svg:R}):new B({color:`pink`,accentColor:`black`,content:`*`,contentColor:`black`,scale:1,svg:L})),ce=A(()=>q.value.createIcon());ne(()=>{let e=()=>{N.value=new Date,P=requestAnimationFrame(e)};P=requestAnimationFrame(e)});let J=A({get:()=>_.delay<=260?_.delay:_.delay<=3600?Math.floor(_.delay/60):Math.floor(_.delay/3600),set:e=>{X.value.units==`s`?a.updateLocationMark(_.loc_id,`delay`,e):X.value.units==`m`?a.updateLocationMark(_.loc_id,`delay`,e*60):X.value.units==`h`&&a.updateLocationMark(_.loc_id,`delay`,e*3600)}}),Y=A({get:()=>ae(_.delay),set:e=>{let t=e.split(`:`).reduce((e,t)=>60*e+ +t,0);a.updateLocationMark(_.loc_id,`delay`,t)}}),X=A(()=>_.delay<=260?{units:`s`,display:Math.floor(_.delay%3600/60),step:10,max:80}:_.delay<=3600?{units:`m`,display:Math.floor(_.delay%3600/60),step:1,max:80}:{units:`h`,display:Math.floor(_.delay/3600),step:1,max:12}),Z=A(()=>H.value===null?!0:_.index>H.value),Q=A(()=>_.index===H.value),le=A(()=>H.value===null?!0:_.index>H.value+1);return o(()=>{cancelAnimationFrame(P)}),(r,a)=>(i(),M(`div`,null,[Z.value?(i(),C(O,{key:0,active:Q.value,class:b(Q.value?`text-orange`:``),"active-class":`text-orange`},{default:m(()=>[E(u,{class:`flex flex-center`},{default:m(()=>[E(c,{class:`q-pt-md`,filled:``,modelValue:Y.value,"onUpdate:modelValue":a[0]||=e=>Y.value=e,mask:`fulltime`,"stack-label":``,label:`Delay`,dense:``,style:{"max-width":`150px`}},{append:m(()=>[...a[2]||=[]]),_:1},8,[`modelValue`]),E(I,{modelValue:J.value,"onUpdate:modelValue":a[1]||=e=>J.value=e,min:0,step:X.value.step,max:X.value.max,label:``,"switch-label-side":``,"label-value":J.value+` `+X.value.units,markers:``,snap:``,color:`primary`,style:{"max-width":`75%`}},null,8,[`modelValue`,`step`,`max`,`label-value`])]),_:1})]),_:1},8,[`active`,`class`])):w(``,!0),Z.value?(i(),C(l,{key:1,inset:``,spaced:``})):w(``,!0),s((i(),C(O,{clickable:``,active:n.active,onClick:S,class:b(K.value),"active-class":`text-orange`},{default:m(()=>[E(u,{style:{width:`70%`}},{default:m(()=>[n.address?(i(),C(D,{key:0},{default:m(()=>[E(U,{address:_.address},null,8,[`address`]),E(t,null,{default:m(()=>[j(e(n.latitude)+`, `+e(n.longitude),1)]),_:1})]),_:1})):n.instruction?(i(),C(D,{key:1,lines:`2`},{default:m(()=>[j(e(n.instruction),1)]),_:1})):(i(),C(D,{key:2},{default:m(()=>[j(e(n.latitude)+`, `+e(n.longitude),1)]),_:1})),n.start&&v(h)&&!k.value?(i(),C(D,{key:3,caption:``,lines:`1`},{default:m(()=>[j(` start: `+e(V(n.start)),1)]),_:1})):w(``,!0),n.end&&v(h)&&!k.value?(i(),C(D,{key:4,caption:``,lines:`1`},{default:m(()=>[j(` end: `+e(V(n.end)),1)]),_:1})):w(``,!0),!n.active&&!n.end?(i(),C(D,{key:5,caption:``,lines:`1`},{default:m(()=>[j(` delay: `+e(n.delay)+` seconds `,1)]),_:1})):w(``,!0)]),_:1}),E(u,{side:``,style:{padding:`30px 0 0 0`,height:`100%`,width:`35%`,display:`flex`,"justify-content":`flex-end`,"align-items":`center`}},{default:m(()=>[E(ee,{class:b({"drag-handle":le.value}),innerHTML:ce.value.outerHTML},null,8,[`class`,`innerHTML`]),v(h)&&!k.value?(i(),C(D,{key:0,caption:``,lines:`1`},{default:m(()=>[j(e(re.value),1)]),_:1})):w(``,!0)]),_:1})]),_:1},8,[`active`,`class`])),[[y]]),n.isLast?w(``,!0):(i(),C(l,{key:2,spaced:``,inset:``}))]))}}),[[`__scopeId`,`data-v-b8ced4ff`]]),G={class:`full-height column no-wrap`},K=H(T({__name:`LocationDrawer`,props:{persistent:{type:Boolean},side:{},breakpoint:{}},emits:[`update:modelValue`],setup(o){let c=A(()=>y.platform.is.desktop),ee=A(()=>y.platform.is.desktop),ne=A(()=>!q.locationDrawerSettings.pinned),y=p(),T=se(),{currentLocation:I,locationQueueData:L,locationQueueOrder:R,simulationState:oe,simulationRunning:z,locationQueueFilteredDone:B,locationQueueFilteredActive:H,locationQueueDeletedItems:U}=ie(T),K=g([...H.value]),q=V(),ce=g(`All`),J=A(()=>ce.value===`All`);d(()=>T.locationQueueFilteredActive,e=>{K.value=[...e]});let Y=()=>{T.updateLocationQueueCombined(K.value)};function X(e){let t=`positive`,n=``;switch(e){case`zoom`:$(Z.value);break;case`delete`:try{let e=T.simulationControl({command:`delete`,latitude:0,longitude:0,loc_id:Z.value,delay:0});e.status===`error`&&(t=`negative`),e.message&&(n=e.message),e.status===`error`&&(t=`negative`),e.message&&(n=e.message)}catch(e){t=`negative`,e instanceof Error?(console.error(`Simulation Command ERROR: `,e.message),n=`Simulation Command Error: ${e.message}`):(console.error(`Simulation Command Error: `,e),n=`Simulation Command Error: Unknow error`)}finally{y.notify({type:t,message:n})}}y.notify(`context menu: ${e} ${Z.value}`)}let Z=g(),Q=g(`active`),le=e=>{let t=I.value.loc_id?H.value.indexOf(I.value.loc_id):null,n=R.value.indexOf(e);return(t===null?n+1:n-t)>1?`draggable`:`undraggable`};function ue(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():``}function de(e,t){console.log(`onDrawerContextMenu: `,t),Z.value=t}function $(e){console.log(`zoomToCoords: `,e);let t=L.value[e];!t||t.latitude==null||t.longitude==null||(q.flyTo(t.latitude,t.longitude,16),q.leafletDrawerOpen=!1)}return(d,p)=>(i(),C(re,{id:`location-drawer`,overlay:ne.value,modelValue:v(q).locationDrawerSettings.opened,"onUpdate:modelValue":p[8]||=e=>v(q).locationDrawerSettings.opened=e,width:300,side:o.side,breakpoint:o.breakpoint??500,"no-swipe-open":ee.value,"no-swipe-close":c.value,persistent:o.persistent,class:`location-drawer bg-ios-blur-brdr`},{default:m(()=>[P(`div`,G,[E(f,null,{default:m(()=>[E(O,{style:{height:`50px`,"line-height":`58px !important`}},{default:m(()=>[E(u,{avatar:``},{default:m(()=>[E(_,{flat:``,round:``,small:``,icon:`mdi-chevron-left`,style:{"margin-right":`15px`},onClick:p[0]||=e=>v(q).locationsOpenedHandler(!1),"aria-label":`Location List`})]),_:1}),E(u,null,{default:m(()=>[E(D,null,{default:m(()=>[p[9]||=P(`span`,{class:`text-weight-bolder text-black text-h6`},`Queue: `,-1),p[10]||=P(`br`,null,null,-1),P(`span`,{class:b(v(z)?`text-positive`:`text-negative`)},e(ue(v(oe))),3)]),_:1})]),_:1}),E(u,{side:``},{default:m(()=>[v(y).platform.is.desktop?(i(),C(_,{key:0,flat:``,round:``,small:``,icon:v(q).locationDrawerSettings.pinned?`mdi-pin-outline`:`mdi-pin`,class:b([`text-grey`,{unpinned:!v(q).locationDrawerSettings.pinned}]),onClick:p[1]||=e=>v(q).locationDrawerSettings.pinned=!v(q).locationDrawerSettings.pinned,"aria-label":`Pin Location List`},{default:m(()=>[v(q).locationDrawerSettings.pinned?(i(),C(t,{key:0},{default:m(()=>[...p[11]||=[j(`Unpin Sim Queue`,-1)]]),_:1})):(i(),C(t,{key:1},{default:m(()=>[...p[12]||=[j(`Pin sim queue`,-1)]]),_:1}))]),_:1},8,[`icon`,`class`])):w(``,!0)]),_:1})]),_:1})]),_:1}),E(l),E(a,{modelValue:Q.value,"onUpdate:modelValue":p[2]||=e=>Q.value=e,dense:``,class:`text-grey-10`,"active-color":`primary`,"indicator-color":`primary`,align:`justify`,"narrow-indicator":``},{default:m(()=>[E(r,{name:`active`,label:`Active`}),E(r,{name:`done`,label:`Past`}),E(r,{name:`deleted`,label:`Deleted`})]),_:1},8,[`modelValue`]),E(n,{modelValue:Q.value,"onUpdate:modelValue":p[4]||=e=>Q.value=e,animated:``,class:`full-height bg-transparent`},{default:m(()=>[E(F,{name:`active`,class:`column no-wrap bg-transparent`},{default:m(()=>[E(h,{class:`col`},{default:m(()=>[E(f,{padding:``,class:`q-pb-xs`,id:`active`},{default:m(()=>[E(v(ae),{ref:`el`,modelValue:K.value,"onUpdate:modelValue":p[3]||=e=>K.value=e,handle:`.drag-handle`,animation:200,isDisabled:J.value,onEnd:Y},{default:m(()=>[(i(!0),M(S,null,k(K.value,(e,t)=>(i(),C(W,{class:b(le(e)),key:e,loc_id:e,active:v(L)[e]?.loc_id===v(I)?.loc_id,isCurrentDelay:v(L)[e]?.loc_id===v(H)[v(R).indexOf(e)+1],index:v(R).indexOf(e),isLast:t==v(H).length-1,start:v(L)[e]?.start??``,address:v(L)[e]?.address??void 0,latitude:v(L)[e]?.latitude??0,longitude:v(L)[e]?.longitude??0,delay:v(L)[e]?.delay??0,end:v(L)[e]?.end??void 0,status:v(L)[e]?.status??void 0,type:v(L)[e]?.type??void 0,instruction:v(L)[e]?.instruction??void 0,onItemClicked:$,onContextmenu:N(t=>de(t,e),[`prevent`]),"active-class":`text-orange`},null,8,[`class`,`loc_id`,`active`,`isCurrentDelay`,`index`,`isLast`,`start`,`address`,`latitude`,`longitude`,`delay`,`end`,`status`,`type`,`instruction`,`onContextmenu`]))),128))]),_:1},8,[`modelValue`,`isDisabled`])]),_:1})]),_:1})]),_:1}),E(F,{name:`done`,class:`column no-wrap bg-transparent`},{default:m(()=>[E(h,{"horizontal-thumb-style":{opacity:`50`},class:`col`},{default:m(()=>[E(f,{padding:``,class:`q-pb-xl`,id:`done`},{default:m(()=>[(i(!0),M(S,null,k(v(B),(e,t)=>(i(),C(W,{key:e,loc_id:e,active:!1,isCurrentDelay:!1,index:v(R).indexOf(e),isLast:t==v(B).length-1,start:v(L)[e]?.start??``,address:v(L)[e]?.address??void 0,latitude:v(L)[e]?.latitude??0,longitude:v(L)[e]?.longitude??0,delay:v(L)[e]?.delay??0,end:v(L)[e]?.end??void 0,status:v(L)[e]?.status??void 0,type:v(L)[e]?.type??void 0,instruction:v(L)[e]?.instruction??void 0,onItemClicked:$,onContextmenu:N(t=>de(t,e),[`prevent`]),"active-class":`text-orange`},null,8,[`loc_id`,`index`,`isLast`,`start`,`address`,`latitude`,`longitude`,`delay`,`end`,`status`,`type`,`instruction`,`onContextmenu`]))),128))]),_:1})]),_:1})]),_:1}),E(F,{name:`deleted`,class:`column no-wrap bg-transparent`},{default:m(()=>[E(h,{"horizontal-thumb-style":{opacity:`50`},class:`col`},{default:m(()=>[E(f,{padding:``,class:`q-pb-xl`,id:`deleted`},{default:m(()=>[(i(!0),M(S,null,k(v(U),(e,t)=>(i(),C(W,{key:e,loc_id:e,active:v(L)[e]?.loc_id===v(I)?.loc_id,isCurrentDelay:v(L)[e]?.loc_id===v(U)[t+1],index:t,isLast:t==v(U).length-1,start:v(L)[e]?.start??``,address:v(L)[e]?.address??void 0,latitude:v(L)[e]?.latitude??0,longitude:v(L)[e]?.longitude??0,delay:v(L)[e]?.delay??0,end:v(L)[e]?.end??void 0,status:v(L)[e]?.status??void 0,type:v(L)[e]?.type??void 0,instruction:v(L)[e]?.instruction??void 0,onItemClicked:$,onContextmenu:N(t=>de(t,e),[`prevent`]),"active-class":`text-orange`},null,8,[`loc_id`,`active`,`isCurrentDelay`,`index`,`isLast`,`start`,`address`,`latitude`,`longitude`,`delay`,`end`,`status`,`type`,`instruction`,`onContextmenu`]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),E(l),E(f,{padding:``},{default:m(()=>[E(O,{style:{height:`50px`,"line-height":`58px !important`}},{default:m(()=>[E(D,null,{default:m(()=>[...p[13]||=[j(`Route Stats`,-1)]]),_:1}),E(u,null,{default:m(()=>[...p[14]||=[j(`[TIME]`,-1)]]),_:1}),E(u,null,{default:m(()=>[...p[15]||=[j(`[DISTANCE]`,-1)]]),_:1})]),_:1})]),_:1}),E(te,{target:`#`+Q.value,"context-menu":``,"touch-position":``},{default:m(()=>[E(f,null,{default:m(()=>[s((i(),C(O,{clickable:``,ripple:``,onClick:p[5]||=e=>X(`zoom`)},{default:m(()=>[E(u,{label:`Zoom to Location`},{default:m(()=>[...p[16]||=[j(` Zoom `,-1)]]),_:1})]),_:1})),[[x]]),s((i(),C(O,{clickable:``,ripple:``,onClick:p[6]||=e=>X(`delete`)},{default:m(()=>[E(u,{label:`Zoom to Location`},{default:m(()=>[...p[17]||=[j(` Delete `,-1)]]),_:1})]),_:1})),[[x]]),s((i(),C(O,{clickable:``,ripple:``,onClick:p[7]||=e=>X(`gp`)},{default:m(()=>[E(u,{label:`Zoom to Location`},{default:m(()=>[...p[18]||=[j(` Go Now `,-1)]]),_:1})]),_:1})),[[x]])]),_:1})]),_:1},8,[`target`])])]),_:1},8,[`overlay`,`modelValue`,`side`,`breakpoint`,`no-swipe-open`,`no-swipe-close`,`persistent`]))}}),[[`__scopeId`,`data-v-4b5f6652`]]);export{K as t}; |