1import{c as re,Y as ne}from"./primevue-ca313794.js";import{M as ie,O as C,D as O,w as F,a3 as se,d as f,e as h,f as x,F as Y,p as $,n as k,q as S,k as L,A as q,t as W,u as A,H as I,g as Z,i as ae,s as E,x as oe,j as le}from"./vendor-ea0043bb.js";import{_ as ue,r as m}from"./index-cc1a661b.js";import"./geo-1391ac6a.js";import"./mapbox-v3-eadefc84.js";import"./mapbox-addons-be198bf9.js";import"./editor-b65e0429.js";import"./pdf-7415fc80.js";const ce=e=>{const n=C(0),t=C(0);let u;function l(p){u=new ResizeObserver(([o])=>{const s=o?.contentRect;s&&([n.value,t.value]=[s.width,s.height])}),u.observe(p)}return F(e,p=>{if(p){l(p);return}u?.disconnect()}),{width:n,height:t}},R=function(e){return`${e}`.trim().padStart(2,"0")};function g(e){const n=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&n==="[object Date]"?new e.constructor(+e):typeof e=="number"||n==="[object Number]"||typeof e=="string"||n==="[object String]"?new Date(e):new Date(NaN)}function J(e,n){return e instanceof Date?new e.constructor(n):new Date(n)}function Q(e,n){const t=+g(e);return J(e,t+n)}const de=6e4,pe=36e5;function ve(e,n){return Q(e,n*pe)}function z(e){const n=g(e);return n.setHours(0,0,0,0),n}function me(e,n){return Q(e,n*de)}function fe(e,n){const t=g(e.start),u=g(e.end);let l=+t>+u;const p=l?+t:+u,o=l?u:t;o.setHours(0,0,0,0);let s=n?.step??1;if(!s)return[];s<0&&(s=-s,l=!l);const c=[];for(;+o<=p;)c.push(g(o)),o.setDate(o.getDate()+s),o.setHours(0,0,0,0);return l?c.reverse():c}function he(e,n){const t=g(e.start),u=g(e.end);let l=+t>+u;const p=l?+t:+u;let o=l?u:t;o.setMinutes(0,0,0);let s=n?.step??1;if(!s)return[];s<0&&(s=-s,l=!l);const c=[];for(;+o<=p;)c.push(g(o)),o=ve(o,s);return l?c.reverse():c}function ge(e){const n=g(e);return n.setSeconds(0,0),n}function K(e,n){const t=ge(g(e.start)),u=g(e.end);let l=+t>+u;const p=l?+t:+u;let o=l?u:t,s=n?.step??1;if(!s)return[];s<0&&(s=-s,l=!l);const c=[];for(;+o<=p;)c.push(g(o)),o=me(o,s);return l?c.reverse():c}function Me(e,n){const t=g(e.start),u=g(e.end);let l=+t>+u;const p=l?+t:+u,o=l?u:t;o.setHours(0,0,0,0),o.setDate(1);let s=n?.step??1;if(!s)return[];s<0&&(s=-s,l=!l);const c=[];for(;+o<=p;)c.push(g(o)),o.setMonth(o.getMonth()+s);return l?c.reverse():c}function ye(e){const n=g(e);return n.setDate(1),n.setHours(0,0,0,0),n}function we(e){const n=g(e),t=J(e,0);return t.setFullYear(n.getFullYear(),0,1),t.setHours(0,0,0,0),t}function De(e,n){const t=g(e.start),u=g(e.end);let l=+t>+u;const p=l?+t:+u,o=l?u:t;o.setHours(0,0,0,0),o.setMonth(0,1);let s=n?.step??1;if(!s)return[];s<0&&(s=-s,l=!l);const c=[];for(;+o<=p;)c.push(g(o)),o.setFullYear(o.getFullYear()+s);return l?c.reverse():c}const N={ms:1,seconds:1e3,minutes:1e3*60,hours:1e3*60*60,days:1e3*60*60*24,months:1e3*60*60*24*7*4,years:1e3*60*60*24*7*4*12},xe=(e,n,t,u)=>{const l=C(t.value),p=C(u.value),o=[{unit:"seconds",steps:[1,10]},{unit:"minutes",steps:[.25,.5,1,5,10]},{unit:"hours",steps:[.25,.5,1,2]},{unit:"days",steps:[1]},{unit:"months",steps:[.25,1,2]},{unit:"years",steps:[1,5,10,25,50,100,250,500,1e3]}].flatMap(M=>M.steps.map(y=>({unit:M.unit,step:y})));F(t,()=>{l.value=t.value}),F(u,()=>{p.value=u.value});const s=O(()=>{let[M]=o;for(const[y,w]of o.entries()){const D=l.value/(N[w.unit]*(w.step??1));if(D>=1&&D<=p.value){M=w;break}if(D<1){M=o[y-1]??w;break}D>=1&&y===o.length-1&&(M=w)}return{unit:M.unit,step:M.step??1}}),c=O(()=>{const M=[],y=e.value,w=n.value;let D=[];switch(s.value.unit){case"seconds":D=K({start:y,end:w}).flatMap(b=>{const _=[];for(let H=0;H<60;H++)_.push(new Date(b.valueOf()+H*N.seconds));return _});break;case"minutes":D=K({start:y,end:w});break;case"hours":D=he({start:y,end:w});break;case"days":D=fe({start:y,end:w});break;case"months":D=Me({start:y,end:w});break;case"years":D=De({start:y,end:w});break}for(const b of D)if(s.value.step&&s.value.step>1?(s.value.unit==="years"&&b.getFullYear()%s.value.step===0||s.value.unit==="months"&&b.getMonth()%s.value.step===0||b.valueOf()%(s.value.step*N[s.value.unit])===0)&&M.push(b.valueOf()):M.push(b.valueOf()),s.value.step&&s.value.step<1)for(let _=1;_<1/s.value.step;_++)M.push(b.valueOf()+_*s.value.step*N[s.value.unit]);return M});
1return{scale:s,baseDividers:N,visibleTimestamps:c}},be={class:"timeline-wrapper"},_e={class:"timestamps"},ke={class:"groups"},Ye={class:"group-items"},$e=["onClick","onContextmenu"],Se=["onClick","onContextmenu"],Te={key:0,class:"backgrounds"},Ve={key:1,class:"markers"},Ce=ie({__name:"Timeline",props:{groups:{default:()=>[]},items:{default:()=>[]},markers:{default:()=>[]},viewportMin:{default:void 0},viewportMax:{default:void 0},minViewportDuration:{default:1e3},maxViewportDuration:{default:void 0},initialViewportStart:{default:void 0},initialViewportEnd:{default:void 0},renderTimestampLabel:{type:Function,default:(e,n)=>{const t=new Date(e);let u="";return(!["hours","minutes","seconds","ms"].includes(n.unit)||z(t).valueOf()===e)&&(u+=`${t.toLocaleString("default",{month:n.unit!=="years"&&(ye(t).valueOf()===e||n.unit==="days"||z(t).valueOf()===e&&!(n.unit==="months"&&n.step===.25))?"short":void 0,year:we(t).valueOf()===e?"numeric":void 0,day:n.unit!=="years"&&!(n.unit==="months"&&n.step>=1)&&z(t).valueOf()===e?"numeric":void 0})} `),["hours","minutes","seconds","ms"].includes(n.unit)&&(u+=`${R(t.getHours())}:${R(t.getMinutes())}${t.getSeconds()>0?`:${R(t.getSeconds())}`:""}`),u}},fixedLabels:{type:Boolean,default:!1},minTimestampWidth:{default:100},maxZoomSpeed:{default:60},activeItems:{default:()=>[]}},emits:["click","contextmenu","mousemoveTimeline","mouseleaveTimeline","changeViewport","changeScale"],setup(e,{emit:n}){const t=e,u=n,l=C(null),{width:p}=ce(l),o=C(0),s=C(1e4),c=O(()=>s.value-o.value);F([o,s],([r,d])=>{u("changeViewport",{start:r,end:d})}),se(()=>{M()});function M(){var r,d;if(t.initialViewportStart===void 0&&t.viewportMin===void 0){const i=(r=t.items)==null?void 0:r.reduce((a,v)=>v.start<a?v.start:a,1/0);o.value=i??0}else o.value=t.initialViewportStart??t.viewportMin??0;if(t.initialViewportEnd===void 0&&t.viewportMax===void 0){const i=(d=t.items)==null?void 0:d.reduce((a,v)=>v.end>a||v.start>a?v.end??v.start:a,-1/0);s.value=i??1e4}else s.value=t.initialViewportEnd??t.viewportMax??1e4}const y=O(()=>{var r;return((r=t.items)==null?void 0:r.filter(d=>d.start<s.value&&(d.end??d.start)>o.value))||[]}),w=O(()=>{var r;return((r=t.markers)==null?void 0:r.filter(d=>d.start<s.value&&d.start>o.value))||[]}),D=O(()=>p.value/t.minTimestampWidth),{visibleTimestamps:b,scale:_}=xe(o,s,c,D);F(_,(r,d)=>{r.step===d.step&&r.unit===d.unit||u("changeScale",r)});function H(r){return{"is-second":r%1e3===0,"is-minute":r%6e4===0,"is-hour":r%36e5===0,"is-day":r%864e5===0}}function T(r){return(r-o.value)/c.value*p.value}function B(r,d){return d?(d-r)/c.value*p.value:null}function G(r){const d=r/p.value*c.value;r>0&&s.value===t.viewportMax||r<0&&o.value===t.viewportMin||(o.value=Math.round(t.viewportMin!==void 0?Math.max(o.value+d,t.viewportMin):o.value+d),s.value=Math.round(t.viewportMax!==void 0?Math.min(s.value+d,t.viewportMax):s.value+d))}function U(r){if(r.deltaY===0&&r.preventDefault(),r.shiftKey){r.preventDefault();const v=r.deltaY===0&&r.deltaX!==0?r.deltaX:r.deltaY;G(v*(r.deltaMode===0?1:18));return}if(r.deltaX!==0){G(r.deltaX*(r.deltaMode===0?1:18));return}if(!(r.metaKey||r.ctrlKey))return;r.preventDefault();const d=(r.clientX-l.value.getBoundingClientRect().left)/p.value,i=t.maxZoomSpeed?Math.max(-t.maxZoomSpeed,Math.min(t.maxZoomSpeed,r.deltaY*(r.deltaMode===0?1:10))):r.deltaY*(r.deltaMode===0?1:10),a=Math.round(-c.value*.01*i);P(a,d)}function P(r,d=.5){r>0?r=c.value-r<t.minViewportDuration?c.value-t.minViewportDuration:r:t.maxViewportDuration&&(r=c.value-r>t.maxViewportDuration?-(t.maxViewportDuration-c.value):r);const i=r*d,a=r-i,v=o.value+i,V=s.value-a;if(v>=V){console.error(`Rounding issue probably occured while zooming. 2 3Setting different values for minViewportDuration and maxViewportDuration might help.`);return}o.value=Math.round(t.viewportMin!==void 0?Math.max(v,t.viewportMin):v),s.value=Math.round(t.viewportMax!==void 0?Math.min(V,t.viewportMax):V)}function X(r,d=null){const i=(r.clientX-l.value.getBoundingClientRect().left)/p.value,a=o.value+c.value*i;u("click",{time:a,event:r,item:d})}function j(r,d=null){const i=(r.clientX-l.value.getBoundingClientRect().left)/p.value,a=o.value+c.value*i;u("contextmenu",{time:a,event:r,item:d})}function ee(r){const d=(r.clientX-l.value.getBoundingClientRect().left)/p.value,i=o.value+c.value*d;u("mousemoveTimeline",{time:i,event:r})}function te(r){u("mouseleaveTimeline",{event:r})}return(r,d)=>(f(),h("div",be,[x("div",{ref_key:"timelineEl",ref:l,class:"timeline",onWheel:U,onClick:X,onContextmenu:I(j,["prevent"]),onMousemove:ee,onMouseleave:te},[x("div",_e,[(f(!0),h(Y,null,$(A(b),i=>(f(),h("div",{key:i,class:k(["timestamp",H(i)]),style:S({"--_left":`${T(i)}px`})},[L(r.$slots,"timestamp",{timestamp:i,scale:A(_)},()=>[q(W(r.renderTimestampLabel(i,A(_))),1)],!0)],6))),128)),(f(!0),h(Y,null,$(w.value.filter(i=>i.group==="_timestamps").sort((i,a)=>i.start-a.start),i=>(f(),h("div",{key:i.id||`${i.start}${i.type}`,style:S({"--_left":`${T(i.start)}px`}),class:k([i.type,i.className])},null,6))),128))]),x("div",ke,[(f(!0),h(Y,null,$(r.groups,i=>(f(),h("div",{key:i.id,class:k(["group",i.className])},[x("div",{class:k(["group-label",{fixed:r.fixedLabels}])},[L(r.$slots,"group-label",{group:i},()=>[q(W(i.label||i.content),1)],!0)],2),x("div",Ye,[L(r.$slots,`items-${i.id}`,{group:i,itemsInViewport:y.value.filter(a=>a.group===i.id&&a.type!="background").sort((a,v)=>a.start-v.start),viewportStart:o.value,viewportEnd:s.value},()=>[(f(!0),h(Y,null,$(y.value.filter(a=>a.group===i.id&&a.type!="background").sort((a,v)=>a.start-v.start),(a,v)=>(f(),h("div",{key:v,style:S({"--_left":`${T(a.start)}px`,"--_width":a.type!=="point"?`${B(a.start,a.end)}
3px`:null,...a.cssVariables}),class:k(["item",a.type,a.className,{active:r.activeItems.includes(a.id)}]),onClick:I(V=>X(V,a),["stop"]),onContextmenu:I(V=>j(V,a),["prevent","stop"])},[L(r.$slots,"item",{item:a},void 0,!0)],46,$e))),128))],!0)]),(f(!0),h(Y,null,$(y.value.filter(a=>a.group===i.id&&a.type==="background").sort((a,v)=>a.start-v.start),a=>(f(),h("div",{key:a.id||`${a.start}${a.type}${a.end||""}`,style:S({"--_left":`${T(a.start)}px`,"--_width":`${B(a.start,a.end)}px`}),class:k([a.type,a.className]),onClick:I(v=>X(v,a),["stop"]),onContextmenu:I(v=>j(v,a),["prevent","stop"])},null,46,Se))),128)),(f(!0),h(Y,null,$(w.value.filter(a=>a.group===i.id).sort((a,v)=>a.start-v.start),a=>(f(),h("div",{key:a.id||`${a.start}${a.type}`,style:S({"--_left":`${T(a.start)}px`}),class:k([a.type,a.className])},null,6))),128))],2))),128)),y.value.some(i=>!i.group&&i.type=="background")?(f(),h("div",Te,[(f(!0),h(Y,null,$(y.value.filter(i=>!i.group&&i.type=="background"),i=>(f(),h("div",{key:i.id||`${i.start}${i.type}${i.end||""}`,style:S({"--_left":`${T(i.start)}px`,"--_width":`${B(i.start,i.end)}px`}),class:k([i.type,i.className])},null,6))),128))])):Z("",!0),w.value.length>0?(f(),h("div",Ve,[(f(!0),h(Y,null,$(w.value.filter(i=>!i.group),i=>(f(),h("div",{key:i.id||`${i.start}${i.type}`,style:S({"--_left":`${T(i.start)}px`}),class:k([i.type,i.className])},null,6))),128))])):Z("",!0)])],544)]))}}),Ie=(e,n)=>{const t=e.__vccOpts||e;for(const[u,l]of n)t[u]=l;return t},Oe=Ie(Ce,[["__scopeId","data-v-5241e7a9"]]);const He={name:"TimelineDataView",components:{Timeline:Oe},props:{layers:{type:Array,required:!0},selectedDate:{type:String}},data(){return{viewportMin:null,viewportMax:null,currentItem:null,groups:[{id:"group1",content:""}],items:[]}},created(){this.$root.$i18n.locale==="ro"&&m.locale("ro",{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","Auguust","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sept","Oct","Nov","Dec"]}),this.getGeometries(),this.selectedDate&&(this.currentItem=new Date(this.selectedDate).getTime())},methods:{renderTimestampLabel(e,n){const t=m(e).unix()===m(e).startOf("month").unix(),u=m(e).unix()===m(e).startOf("year").unix();return n.unit==="months"?n.step<1&&n.step>0?t?u?m(e).format("DD MMM YYYY"):m(e).format("DD MMM"):m(e).format("DD"):u?m(e).format("MMM YYYY"):m(e).format("MMM"):n.unit==="days"?u?m(e).format("DD MMM YYYY"):t?m(e).format("DD MMM"):m(e).format("DD"):n.unit==="years"?m(e).format("YYYY"):u?m(e).format("DD MMM YYYY HH:mm:ss"):t?m(e).format("DD MMM HH:mm:ss"):m(e).format("HH:mm:ss")},formatDate(e){return m(e).format("YYYY-MM-DD")},getGeometries(){this.$store.dispatch("getGeometryDistinctDates",{query:{moduleId:this.$route?.meta?.moduleId},data:{documentIds:this.layers.map(e=>e.documentId)}}).then(e=>{this.items=e.map(n=>({group:"group1",type:"point",start:new Date(n).getTime()})),this.viewportMin=new Date(m(this.items.map(n=>n.start).sort((n,t)=>n-t)[0]).subtract(1,"month")).getTime(),this.viewportMax=new Date(m(this.items.map(n=>n.start).sort((n,t)=>t-n)[0]).add(1,"month")).getTime()})},clearDate(){this.currentItem=null,this.$emit("selectDate",null)},selectDate(e){if(e?.item?.start){if(this.currentItem===e.item.start){this.clearDate();return}this.currentItem=e.item.start,this.$emit("selectDate",m(e.item.start).format("YYYY-MM-DD"))}},close(){this.$emit("close")}}},Ne={class:"gis-sidebar flex flex-column h-full overflow-y-hidden"},Fe={class:"gis-sidebar-header"},Le={class:"flex flex-column w-full"},Be={class:"flex align-items-center justify-content-between"},Xe=x("div",null,[x("strong",null,"History")],-1),je={class:"flex align-items-center"},Ae={class:"gis-sidebar-content pt-1 flex flex-column h-full"};function Ee(e,n,t,u,l,p){const o=re,s=ne,c=ae("tooltip");return f(),h("div",Ne,[x("div",Fe,[x("div",Le,[x("div",Be,[Xe,x("div",je,[E(o,{onClick:p.getGeometries,icon:"pi pi-refresh",class:"p-button-text"},null,8,["onClick"]),E(o,{type:"button",icon:"pi pi-times",class:"p-button-text p-button-secondary",onClick:I(p.close,["prevent"])},null,8,["onClick"])])])])]),x("div",Ae,[E(s,{groups:l.groups,items:l.items,onClick:p.selectDate,renderTimestampLabel:p.renderTimestampLabel,viewportMin:l.viewportMin,viewportMax:l.viewportMax},{item:oe(M=>[le(x("div",{style:S({width:"100%",height:"100%","background-color":M.item.start===l.currentItem?"var(--blue-500)":"var(--surface-500)"})},null,4),[[c,p.formatDate(M.item.start)]])]),_:1},8,["groups","items","onClick","renderTimestampLabel","viewportMin","viewportMax"])])])}const Qe=ue(He,[["render",Ee]]);export{Qe as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.