vendor: 33,979 bytes, line 1
1import{a as Bt,b as Jn}from"./chunk-JWMICTAN.js";import{a as rr}from"./chunk-ES4AKCNS.js";import{a as Kn,b as ar,e as ti,g as ot,h as qt}from"./chunk-HHXHBCDK.js";import{$ as Oo,$a as Yn,A as Ai,C as ki,D as Bn,Da as er,E as ke,Ea as Wn,F as Io,H as Ri,I as qn,J as Mo,Ja as Hi,K as Po,Ka as tr,L as Ao,La as nr,N as ko,O as Vi,P as Fi,Q as Zt,R as Oi,Ra as ir,S as Ro,T as Li,U as St,V as en,W as Vo,Y as Un,Z as Fo,_ as Gn,a as te,ab as Xn,ba as Lo,bb as Qn,c as Ii,ca as No,d as Co,da as tn,db as nn,e as xo,ea as zn,f as Dt,fa as jo,g as Nn,ga as Ho,h as yo,ha as $o,i as Jt,ia as Bo,j as Do,ja as qo,k as jn,ka as Uo,l as Hn,la as Go,m as So,n as wo,na as zo,o as To,oa as Wo,p as Eo,pa as Ni,q as bo,qa as Yo,r as Mi,ra as ji,sa as Xo,ua as Qo,va as Ko,w as Pi,wa as Jo,xa as Zo,y as $n}from"./chunk-DX5TJNR7.js";import{a as xr}from"./chunk-C4MVYTYT.js";import{a as lr}from"./chunk-UU7QVMDM.js";import{a as fr}from"./chunk-5OE5HJZF.js";import"./chunk-EJ227UZS.js";import{a as yr}from"./chunk-CJ7JVUGV.js";import"./chunk-4B4FQ75Y.js";import{a as vr}from"./chunk-XYNWAY7T.js";import{a as we}from"./chunk-53DRKK27.js";import{a as vo}from"./chunk-5E2JT4P7.js";import"./chunk-5FUP2WAQ.js";import{a as Zn,n as ur}from"./chunk-ARGE2QLS.js";import{a as _o}from"./chunk-ZORQQVZX.js";import{a as $a}from"./chunk-QRT62Y37.js";import"./chunk-GFK7UREF.js";import{a as ho}from"./chunk-4H53HP2C.js";import{a as ai}from"./chunk-WT72IDYJ.js";import{a as se,c as me,e as gr,f as hr,g as ei,h as le,i as xe,j as q,k as Te}from"./chunk-EO6G7JZP.js";import{c as _r}from"./chunk-L7CSSELW.js";import{b as cr,g as pr,i as dr,k as mr}from"./chunk-IHBRULXZ.js";import{a as sr,d as $i}from"./chunk-ETRVFD3K.js";import"./chunk-6EBTZJ2C.js";import{a as Cr}from"./chunk-OXVJUPH2.js";import"./chunk-NODD4QCF.js";import{a as go}from"./chunk-WRHLYV72.js";import{e as fo}from"./chunk-WYHT5LVI.js";import{a as Ie}from"./chunk-3RANQNYM.js";import{c as Ha,e as Ya,g as uo}from"./chunk-FBOJBCTO.js";import{b as ve,c as Ce}from"./chunk-737SADXK.js";import"./chunk-YVHUP7FX.js";import"./chunk-FGOVRAJM.js";import{a as ii}from"./chunk-MPXKXNFL.js";import{a as or}from"./chunk-ATNV2VT2.js";import{a as ni}from"./chunk-XXU4FZ4Q.js";import"./chunk-XZ77C7GC.js";import{a as Se,b as de}from"./chunk-6NEZQN5R.js";import{$ as N,$a as j,$b as mt,$d as ft,$f as Oa,$i as oo,Ab as p,Aj as it,Ba as Ge,Bb as Sa,Be as Va,Bh as Ba,Bi as pt,Bj as at,Cb as wa,Cj as $t,Da as dn,Dh as Ct,Di as Ke,E as J,Ea as Be,Ec as fn,Eh as In,Fa as Je,Fc as et,Fd as he,Fe as vt,Fh as Mn,G as Ve,Gd as ht,Ge as ct,Hb as Mt,Ib as Pt,Ih as Qe,Jb as At,Jg as La,Ji as Ht,Kb as ie,Kd as _t,Kh as Pn,Ki as pe,Lh as An,Li as _e,M as Ue,Mb as u,Mj as be,Nb as w,Ob as T,Oh as kn,Pb as Ta,Pi as On,Qa as Qt,Qb as Ea,Qi as bi,R as dt,Rf as Dn,Rh as Rn,Sb as wi,Sd as xn,Se as Q,Sh as qa,Tb as Ti,Ti as Ka,Ua as r,Ub as Ei,Uc as Ma,Ud as yn,Ui as Ja,Uj as fe,Vb as oe,Vd as ze,Vf as Ae,Vi as Za,Vj as xt,Wb as re,Wc as vn,Wf as Fa,Wg as Na,Wi as eo,Xb as Y,Xf as kt,Xi as to,Ya as ge,Yb as Z,Yg as ee,Yh as jt,Yi as no,Yj as Ln,Zb as ce,Zg as Vt,Zh as Vn,Zi as io,_ as Si,_b as Me,_d as lt,_g as Ft,_i as ao,a as B,aa as xa,ac as gn,ah as Ot,b as G,bh as tt,ca as H,cb as ya,ci as Ua,dc as ba,di as Ga,dk as co,ea as pn,eb as f,ec as C,eh as ja,fc as x,fj as ro,gc as hn,hb as mn,hg as Rt,hh as Kt,ia as He,ib as h,ic as _n,ie as Pe,ih as ae,ik as yt,jc as ut,je as st,jh as Lt,k as It,kb as Da,kc as Ia,ke as Aa,kh as Sn,ki as za,kj as lo,kk as po,l as ln,la as Ee,le as Xe,lh as wn,lk as mo,m as sn,ma as v,mh as Nt,mi as Wa,mk as $e,nb as b,ne as ka,o as Re,ob as un,oi as Xa,p as De,pb as Le,pc as Ye,pi as Oe,q as L,qb as Ne,qe as Ra,qh as U,qi as Qa,rb as s,ri as Fn,s as cn,sa as D,sb as d,sh as Tn,t as Et,ta as S,tb as E,th as nt,tj as so,ub as k,uh as En,v as O,vb as R,vj as We,w as qe,wb as je,wc as Ze,xb as V,xe as Fe,yd as Cn,zb as M,zc as gt,zd as Pa,ze as $,zh as bn}from"./chunk-IVN2VXRW.js";Wn.touchMouseIgnoreWait=500;var Bi=0,oi=0,qi=!1,ri=class{constructor(a){this.subjectEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=e=>{if(!this.shouldIgnoreMouse()&&nl(e)&&this.tryStart(e)){let t=this.createEventFromMouse(e,!0);this.emitter.trigger("pointerdown",t),this.initScrollWatch(t),this.shouldIgnoreMove||document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},this.handleMouseMove=e=>{let t=this.createEventFromMouse(e);this.recordCoords(t),this.emitter.trigger("pointermove",t)},this.handleMouseUp=e=>{document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),this.emitter.trigger("pointerup",this.createEventFromMouse(e)),this.cleanup()},this.handleTouchStart=e=>{if(this.tryStart(e)){this.isTouchDragging=!0;let t=this.createEventFromTouch(e,!0);this.emitter.trigger("pointerdown",t),this.initScrollWatch(t);let i=e.target;this.shouldIgnoreMove||i.addEventListener("touchmove",this.handleTouchMove),i.addEventListener("touchend",this.handleTouchEnd),i.addEventListener("touchcancel",this.handleTouchEnd),window.addEventListener("scroll",this.handleTouchScroll,!0)}},this.handleTouchMove=e=>{let t=this.createEventFromTouch(e);this.recordCoords(t),this.emitter.trigger("pointermove",t)},this.handleTouchEnd=e=>{if(this.isDragging){let t=e.target;t.removeEventListener("touchmove",this.handleTouchMove),t.removeEventListener("touchend",this.handleTouchEnd),t.removeEventListener("touchcancel",this.handleTouchEnd),window.removeEventListener("scroll",this.handleTouchScroll,!0),this.emitter.trigger("pointerup",this.createEventFromTouch(e)),this.cleanup(),this.isTouchDragging=!1,il()}},this.handleTouchScroll=()=>{this.wasTouchScroll=!0},this.handleScroll=e=>{if(!this.shouldIgnoreMove){let t=window.scrollX-this.prevScrollX+this.prevPageX,i=window.scrollY-this.prevScrollY+this.prevPageY;this.emitter.trigger("pointermove",{origEvent:e,isTouch:this.isTouchDragging,subjectEl:this.subjectEl,pageX:t,pageY:i,deltaX:t-this.origPageX,deltaY:i-this.origPageY})}},this.containerEl=a,this.emitter=new Oi,a.addEventListener("mousedown",this.handleMouseDown),a.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),al()}destroy(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),ol()}tryStart(a){let e=this.querySubjectEl(a),t=a.target;return e&&(!this.handleSelector||Dt(t,this.handleSelector))?(this.subjectEl=e,this.isDragging=!0,this.wasTouchScroll=!1,!0):!1}cleanup(){qi=!1,this.isDragging=!1,this.subjectEl=null,this.destroyScrollWatch()}querySubjectEl(a){return this.selector?Dt(a.target,this.selector):this.containerEl}shouldIgnoreMouse(){return Bi||this.isTouchDragging}cancelTouchScroll(){this.isDragging&&(qi=!0)}initScrollWatch(a){this.shouldWatchScroll&&(this.recordCoords(a),window.addEventListener("scroll",this.handleScroll,!0))}recordCoords(a){this.shouldWatchScroll&&(this.prevPageX=a.pageX,this.prevPageY=a.pageY,this.prevScrollX=window.scrollX,this.prevScrollY=window.scrollY)}destroyScrollWatch(){this.shouldWatchScroll&&window.removeEventListener("scroll",this.handleScroll,!0)}createEventFromMouse(a,e){let t=0,i=0;return e?(this.origPageX=a.pageX,this.origPageY=a.pageY):(t=a.pageX-this.origPageX,i=a.pageY-this.origPageY),{origEvent:a,isTouch:!1,subjectEl:this.subjectEl,pageX:a.pageX,pageY:a.pageY,deltaX:t,deltaY:i}}createEventFromTouch(a,e){let t=a.touches,i,o,l=0,m=0;return t&&t.length?(i=t[0].pageX,o=t[0].pageY):(i=a.pageX,o=a.pageY),e?(this.origPageX=i,this.origPageY=o):(l=i-this.origPageX,m=o-this.origPageY),{origEvent:a,isTouch:!0,subjectEl:this.subjectEl,pageX:i,pageY:o,deltaX:l,deltaY:m}}};function nl(n){return n.button===0&&!n.ctrlKey}function il(){Bi+=1,setTimeout(()=>{Bi-=1},Wn.touchMouseIgnoreWait)}function al(){oi+=1,oi===1&&window.addEventListener("touchmove",Sr,{passive:!1})}function ol(){oi-=1,oi||window.removeEventListener("touchmove",Sr,{passive:!1})}function Sr(n){qi&&n.preventDefault()}var Ui=class{constructor(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}start(a,e,t){this.sourceEl=a,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=e-window.scrollX,this.origScreenY=t-window.scrollY,this.deltaX=0,this.deltaY=0,this.updateElPosition()}handleMove(a,e){this.deltaX=a-window.scrollX-this.origScreenX,this.deltaY=e-window.scrollY-this.origScreenY,this.updateElPosition()}setIsVisible(a){a?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=""),this.isVisible=a,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display="none"),this.isVisible=a)}stop(a,e){let t=()=>{this.cleanup(),e()};a&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(t,this.revertDuration):setTimeout(t,0)}doRevertAnimation(a,e){let t=this.mirrorEl,i=this.sourceEl.getBoundingClientRect();t.style.transition="top "+e+"ms,left "+e+"ms",Nn(t,{left:i.left,top:i.top}),Do(t,()=>{t.style.transition="",a()})}cleanup(){this.mirrorEl&&(xo(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null}updateElPosition(){this.sourceEl&&this.isVisible&&Nn(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})}getMirrorEl(){let a=this.sourceElRect,e=this.mirrorEl;return e||(e=this.mirrorEl=this.sourceEl.cloneNode(!0),e.style.userSelect="none",e.style.webkitUserSelect="none",e.style.pointerEvents="none",e.classList.add("fc-event-dragging"),Nn(e,{position:"fixed",zIndex:this.zIndex,visibility:"",boxSizing:"border-box",width:a.right-a.left,height:a.bottom-a.top,right:"auto",bottom:"auto",margin:0}),this.parentNode.appendChild(e)),e}},li=class extends Qo{constructor(a,e){super(),this.handleScroll=()=>{this.scrollTop=this.scrollController.getScrollTop(),this.scrollLeft=this.scrollController.getScrollLeft(),this.handleScrollChange()},this.scrollController=a,this.doesListening=e,this.scrollTop=this.origScrollTop=a.getScrollTop(),this.scrollLeft=this.origScrollLeft=a.getScrollLeft(),this.scrollWidth=a.getScrollWidth(),this.scrollHeight=a.getScrollHeight(),this.clientWidth=a.getClientWidth(),this.clientHeight=a.getClientHeight(),this.clientRect=this.computeClientRect(),this.doesListening&&this.getEventTarget().addEventListener("scroll",this.handleScroll)}destroy(){this.doesListening&&this.getEventTarget().removeEventListener("scroll",this.handleScroll)}getScrollTop(){return this.scrollTop}getScrollLeft(){return this.scrollLeft}setScrollTop(a){this.scrollController.setScrollTop(a),this.doesListening||(this.scrollTop=Math.max(Math.min(a,this.getMaxScrollTop()),0),this.handleScrollChange())}setScrollLeft(a){this.scrollController.setScrollLeft(a),this.doesListening||(this.scrollLeft=Math.max(Math.min(a,this.getMaxScrollLeft()),0),this.handleScrollChange())}getClientWidth(){return this.clientWidth}getClientHeight(){return this.clientHeight}getScrollWidth(){return this.scrollWidth}getScrollHeight(){return this.scrollHeight}handleScrollChange(){}},si=class extends li{constructor(a,e){super(new Ko(a),e)}getEventTarget(){return this.scrollController.el}computeClientRect(){return Yo(this.scrollController.el)}},Gi=class extends li{constructor(a){super(new Jo,a)}getEventTarget(){return window}computeClientRect(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}}handleScrollChange(){this.clientRect=this.computeClientRect()}},Dr=typeof performance=="function"?performance.now:Date.now,zi=class{constructor(){this.isEnabled=!0,this.scrollQuery=[window,".fc-scroller"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=()=>{if(this.isAnimating){let a=this.computeBestEdge(this.pointerScreenX+window.scrollX,this.pointerScreenY+window.scrollY);if(a){let e=Dr();this.handleSide(a,(e-this.msSinceRequest)/1e3),this.requestAnimation(e)}else this.isAnimating=!1}}}start(a,e,t){this.isEnabled&&(this.scrollCaches=this.buildCaches(t),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(a,e))}handleMove(a,e){if(this.isEnabled){let t=a-window.scrollX,i=e-window.scrollY,o=this.pointerScreenY===null?0:i-this.pointerScreenY,l=this.pointerScreenX===null?0:t-this.pointerScreenX;o<0?this.everMovedUp=!0:o>0&&(this.everMovedDown=!0),l<0?this.everMovedLeft=!0:l>0&&(this.everMovedRight=!0),this.pointerScreenX=t,this.pointerScreenY=i,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(Dr()))}}stop(){if(this.isEnabled){this.isAnimating=!1;for(let a of this.scrollCaches)a.destroy();this.scrollCaches=null}}requestAnimation(a){this.msSinceRequest=a,requestAnimationFrame(this.animate)}handleSide(a,e){let{scrollCache:t}=a,{edgeThreshold:i}=this,o=i-a.distance,l=o*o/(i*i)*this.maxVelocity*e,m=1;switch(a.name){case"left":m=-1;case"right":t.setScrollLeft(t.getScrollLeft()+l*m);break;case"top":m=-1;case"bottom":t.setScrollTop(t.getScrollTop()+l*m);break}}computeBestEdge(a,e){let{edgeThreshold:t}=this,i=null,o=this.scrollCaches||[];for(let l of o){let m=l.clientRect,c=a-m.left,g=m.right-a,_=e-m.top,y=m.bottom-e;c>=0&&g>=0&&_>=0&&y>=0&&(_<=t&&this.everMovedUp&&l.canScrollUp()&&(!i||i.distance>_)&&(i={scrollCache:l,name:"top",distance:_}),y<=t&&this.everMovedDown&&l.canScrollDown()&&(!i||i.distance>y)&&(i={scrollCache:l,name:"bottom",distance:y}),c<=t&&this.everMovedLeft&&l.canScrollLeft()&&(!i||i.distance>c)&&(i={scrollCache:l,name:"left",distance:c}),g<=t&&this.everMovedRight&&l.canScrollRight()&&(!i||i.distance>g)&&(i={scrollCache:l,name:"right",distance:g}))}return i}buildCaches(a){return this.queryScrollEls(a).map(e=>e===window?new Gi(!1):new si(e,!1))}queryScrollEls(a){let e=[];for(let t of this.scrollQuery)typeof t=="object"?e.push(t):e.push(...Array.prototype.slice.call(a.getRootNode().querySelectorAll(t)));return e}},bt=class extends er{constructor(a,e){super(a),this.containerEl=a,this.delay=null,this.minDistance=0,this.touchScrollAllowed=!0,this.mirrorNeedsRevert=!1,this.isInteracting=!1,this.isDragging=!1,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.delayTimeoutId=null,this.onPointerDown=i=>{this.isDragging||(this.isInteracting=!0,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,So(document.body),To(document.body),i.isTouch||i.origEvent.preventDefault(),this.emitter.trigger("pointerdown",i),this.isInteracting&&!this.pointer.shouldIgnoreMove&&(this.mirror.setIsVisible(!1),this.mirror.start(i.subjectEl,i.pageX,i.pageY),this.startDelay(i),this.minDistance||this.handleDistanceSurpassed(i)))},this.onPointerMove=i=>{if(this.isInteracting){if(this.emitter.trigger("pointermove",i),!this.isDistanceSurpassed){let o=this.minDistance,l,{deltaX:m,deltaY:c}=i;l=m*m+c*c,l>=o*o&&this.handleDistanceSurpassed(i)}this.isDragging&&(i.origEvent.type!=="scroll"&&(this.mirror.handleMove(i.pageX,i.pageY),this.autoScroller.handleMove(i.pageX,i.pageY)),this.emitter.trigger("dragmove",i))}},this.onPointerUp=i=>{this.isInteracting&&(this.isInteracting=!1,wo(document.body),Eo(document.body),this.emitter.trigger("pointerup",i),this.isDragging&&(this.autoScroller.stop(),this.tryStopDrag(i)),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null))};let t=this.pointer=new ri(a);t.emitter.on("pointerdown",this.onPointerDown),t.emitter.on("pointermove",this.onPointerMove),t.emitter.on("pointerup",this.onPointerUp),e&&(t.selector=e),this.mirror=new Ui,this.autoScroller=new zi}destroy(){this.pointer.destroy(),this.onPointerUp({})}startDelay(a){typeof this.delay=="number"?this.delayTimeoutId=setTimeout(()=>{this.delayTimeoutId=null,this.handleDelayEnd(a)},this.delay):this.handleDelayEnd(a)}handleDelayEnd(a){this.isDelayEnded=!0,this.tryStartDrag(a)}handleDistanceSurpassed(a){this.isDistanceSurpassed=!0,this.tryStartDrag(a)}tryStartDrag(a){this.isDelayEnded&&this.isDistanceSurpassed&&(!this.pointer.wasTouchScroll||this.touchScrollAllowed)&&(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(a.pageX,a.pageY,this.containerEl),this.emitter.trigger("dragstart",a),this.touchScrollAllowed===!1&&this.pointer.cancelTouchScroll())}tryStopDrag(a){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,a))}stopDrag(a){this.isDragging=!1,this.emitter.trigger("dragend",a)}setIgnoreMove(a){this.pointer.shouldIgnoreMove=a}setMirrorIsVisible(a){this.mirror.setIsVisible(a)}setMirrorNeedsRevert(a){this.mirrorNeedsRevert=a}setAutoScrollEnabled(a){this.autoScroller.isEnabled=a}},Wi=class{constructor(a){this.el=a,this.origRect=ji(a),this.scrollCaches=Xo(a).map(e=>new si(e,!0))}destroy(){for(let a of this.scrollCaches)a.destroy()}computeLeft(){let a=this.origRect.left;for(let e of this.scrollCaches)a+=e.origScrollLeft-e.getScrollLeft();return a}computeTop(){let a=this.origRect.top;for(let e of this.scrollCaches)a+=e.origScrollTop-e.getScrollTop();return a}isWithinClipping(a,e){let t={left:a,top:e};for(let i of this.scrollCaches)if(!rl(i.getEventTarget())&&!$o(t,i.clientRect))return!1;return!0}};function rl(n){let a=n.tagName;return a==="HTML"||a==="BODY"}var Ut=class{constructor(a,e){this.useSubjectCenter=!1,this.requireInitial=!0,this.disablePointCheck=!1,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=t=>{let{dragging:i}=this;this.initialHit=null,this.movingHit=null,this.finalHit=null,this.prepareHits(),this.processFirstCoord(t),this.initialHit||!this.requireInitial?(i.setIgnoreMove(!1),this.emitter.trigger("pointerdown",t)):i.setIgnoreMove(!0)},this.handleDragStart=t=>{this.emitter.trigger("dragstart",t),this.handleMove(t,!0)},this.handleDragMove=t=>{this.emitter.trigger("dragmove",t),this.handleMove(t)},this.handlePointerUp=t=>{this.releaseHits(),this.emitter.trigger("pointerup",t)},this.handleDragEnd=t=>{this.movingHit&&this.emitter.trigger("hitupdate",null,!0,t),this.finalHit=this.movingHit,this.movingHit=null,this.emitter.trigger("dragend",t)},this.droppableStore=e,a.emitter.on("pointerdown",this.handlePointerDown),a.emitter.on("dragstart",this.handleDragStart),a.emitter.on("dragmove",this.handleDragMove),a.emitter.on("pointerup",this.handlePointerUp),a.emitter.on("dragend",this.handleDragEnd),this.dragging=a,this.emitter=new Oi}processFirstCoord(a){let e={left:a.pageX,top:a.pageY},t=e,i=a.subjectEl,o;i instanceof HTMLElement&&(o=ji(i),t=qo(t,o));let l=this.initialHit=this.queryHitForOffset(t.left,t.top);if(l){if(this.useSubjectCenter&&o){let m=Bo(o,l.rect);m&&(t=Uo(m))}this.coordAdjust=Go(t,e)}else this.coordAdjust={left:0,top:0}}handleMove(a,e){let t=this.queryHitForOffset(a.pageX+this.coordAdjust.left,a.pageY+this.coordAdjust.top);(e||!ci(this.movingHit,t))&&(this.movingHit=t,this.emitter.trigger("hitupdate",t,!1,a))}prepareHits(){this.offsetTrackers=Io(this.droppableStore,a=>(a.component.prepareHits(),new Wi(a.el)))}releaseHits(){let{offsetTrackers:a}=this;for(let e in a)a[e].destroy();this.offsetTrackers={}}queryHitForOffset(a,e){let{droppableStore:t,offsetTrackers:i}=this,o=null;for(let l in t){let m=t[l].component,c=i[l];if(c&&c.isWithinClipping(a,e)){let g=c.computeLeft(),_=c.computeTop(),y=a-g,I=e-_,{origRect:A}=c,X=A.right-A.left,ue=A.bottom-A.top;if(y>=0&&y<X&&I>=0&&I<ue){let W=m.queryHit(y,I,X,ue);W&&Ao(W.dateProfile.activeRange,W.dateSpan.range)&&(this.disablePointCheck||c.el.contains(c.el.getRootNode().elementFromPoint(y+g-window.scrollX,I+_-window.scrollY)))&&(!o||W.layer>o.layer)&&(W.componentId=l,W.context=m.context,W.rect.left+=g,W.rect.right+=g,W.rect.top+=_,W.rect.bottom+=_,o=W)}}}return o}};function ci(n,a){return!n&&!a?!0:!!n!=!!a?!1:No(n.dateSpan,a.dateSpan)}function wr(n,a){let e={};for(let t of a.pluginHooks.datePointTransforms)Object.assign(e,t(n,a));return Object.assign(e,ll(n,a.dateEnv)),e}function ll(n,a){return{date:a.toDate(n.range.start),dateStr:a.formatIso(n.range.start,{omitTime:n.allDay}),allDay:n.allDay}}var Yi=class extends tn{constructor(a){super(a),this.handlePointerDown=t=>{let{dragging:i}=this,o=t.origEvent.target;i.setIgnoreMove(!this.component.isValidDateDownEl(o))},this.handleDragEnd=t=>{let{component:i}=this,{pointer:o}=this.dragging;if(!o.wasTouchScroll){let{initialHit:l,finalHit:m}=this.hitDragging;if(l&&m&&ci(l,m)){let{context:c}=i,g=Object.assign(Object.assign({},wr(l.dateSpan,c)),{dayEl:l.dayEl,jsEvent:t.origEvent,view:c.viewApi||c.calendarApi.view});c.emitter.trigger("dateClick",g)}}},this.dragging=new bt(a.el),this.dragging.autoScroller.isEnabled=!1;let e=this.hitDragging=new Ut(this.dragging,zn(a));e.emitter.on("pointerdown",this.handlePointerDown),e.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}},Xi=class extends tn{constructor(a){super(a),this.dragSelection=null,this.handlePointerDown=l=>{let{component:m,dragging:c}=this,{options:g}=m.context,_=g.selectable&&m.isValidDateDownEl(l.origEvent.target);c.setIgnoreMove(!_),c.delay=l.isTouch?sl(m):null},this.handleDragStart=l=>{this.component.context.calendarApi.unselect(l)},this.handleHitUpdate=(l,m)=>{let{context:c}=this.component,g=null,_=!1;if(l){let y=this.hitDragging.initialHit;l.componentId===y.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(y,l)||(g=cl(y,l,c.pluginHooks.dateSelectionTransformers)),(!g||!tr(g,l.dateProfile,c))&&(_=!0,g=null)}g?c.dispatch({type:"SELECT_DATES",selection:g}):m||c.dispatch({type:"UNSELECT_DATES"}),_?jn():Hn(),m||(this.dragSelection=g)},this.handlePointerUp=l=>{this.dragSelection&&(Ro(this.dragSelection,l,this.component.context),this.dragSelection=null)};let{component:e}=a,{options:t}=e.context,i=this.dragging=new bt(a.el);i.touchScrollAllowed=!1,i.minDistance=t.selectMinDistance||0,i.autoScroller.isEnabled=t.dragScroll;let o=this.hitDragging=new Ut(this.dragging,zn(a));o.emitter.on("pointerdown",this.handlePointerDown),o.emitter.on("dragstart",this.handleDragStart),o.emitter.on("hitupdate",this.handleHitUpdate),o.emitter.on("pointerup",this.handlePointerUp)}destroy(){this.dragging.destroy()}};function sl(n){let{options:a}=n.context,e=a.selectLongPressDelay;return e==null&&(e=a.longPressDelay),e}function cl(n,a,e){let t=n.dateSpan,i=a.dateSpan,o=[t.range.start,t.range.end,i.range.start,i.range.end];o.sort(bo);let l={};for(let m of e){let c=m(n,a);if(c===!1)return null;c&&Object.assign(l,c)}return l.range={start:o[0],end:o[3]},l.allDay=t.allDay,l}var Tr=(()=>{class n extends tn{constructor(e){super(e),this.subjectEl=null,this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=m=>{let c=m.origEvent.target,{component:g,dragging:_}=this,{mirror:y}=_,{options:I}=g.context,A=g.context;this.subjectEl=m.subjectEl;let X=this.subjectSeg=Un(m.subjectEl),W=(this.eventRange=X.eventRange).instance.instanceId;this.relevantEvents=Fi(A.getCurrentData().eventStore,W),_.minDistance=m.isTouch?0:I.eventDragMinDistance,_.delay=m.isTouch&&W!==g.props.eventSelection?dl(g):null,I.fixedMirrorParent?y.parentNode=I.fixedMirrorParent:y.parentNode=Dt(c,".fc"),y.revertDuration=I.dragRevertDuration;let rt=g.isValidSegDownEl(c)&&!Dt(c,".fc-event-resizer");_.setIgnoreMove(!rt),this.isDragging=rt&&m.subjectEl.classList.contains("fc-event-draggable")},this.handleDragStart=m=>{let c=this.component.context,g=this.eventRange,_=g.instance.instanceId;m.isTouch?_!==this.component.props.eventSelection&&c.dispatch({type:"SELECT_EVENT",eventInstanceId:_}):c.dispatch({type:"UNSELECT_EVENT"}),this.isDragging&&(c.calendarApi.unselect(m),c.emitter.trigger("eventDragStart",{el:this.subjectEl,event:new St(c,g.def,g.instance),jsEvent:m.origEvent,view:c.viewApi}))},this.handleHitUpdate=(m,c)=>{if(!this.isDragging)return;let g=this.relevantEvents,_=this.hitDragging.initialHit,y=this.component.context,I=null,A=null,X=null,ue=!1,W={affectedEvents:g,mutatedEvents:Zt(),isEvent:!0};if(m){I=m.context;let rt=I.options;y===I||rt.editable&&rt.droppable?(A=pl(_,m,this.eventRange.instance.range.start,I.getCurrentData().pluginHooks.eventDragMutationMassagers),A&&(X=Li(g,I.getCurrentData().eventUiBases,A,I),W.mutatedEvents=X,Hi(W,m.dateProfile,I)||(ue=!0,A=null,X=null,W.mutatedEvents=Zt()))):I=null}this.displayDrag(I,W),ue?jn():Hn(),c||(y===I&&ci(_,m)&&(A=null),this.dragging.setMirrorNeedsRevert(!A),this.dragging.setMirrorIsVisible(!m||!this.subjectEl.getRootNode().querySelector(".fc-event-mirror")),this.receivingContext=I,this.validMutation=A,this.mutatedRelevantEvents=X)},this.handlePointerUp=()=>{this.isDragging||this.cleanup()},this.handleDragEnd=m=>{if(this.isDragging){let c=this.component.context,g=c.viewApi,{receivingContext:_,validMutation:y}=this,I=this.eventRange.def,A=this.eventRange.instance,X=new St(c,I,A),ue=this.relevantEvents,W=this.mutatedRelevantEvents,{finalHit:rt}=this.hitDragging;if(this.clearDrag(),c.emitter.trigger("eventDragStop",{el:this.subjectEl,event:X,jsEvent:m.origEvent,view:g}),y){if(_===c){let on=new St(c,W.defs[I.defId],A?W.instances[A.instanceId]:null);c.dispatch({type:"MERGE_EVENTS",eventStore:W});let rn={oldEvent:X,event:on,relatedEvents:en(W,c,A),revert(){c.dispatch({type:"MERGE_EVENTS",eventStore:ue})}},Xt={};for(let Di of c.getCurrentData().pluginHooks.eventDropTransformers)Object.assign(Xt,Di(y,c));c.emitter.trigger("eventDrop",Object.assign(Object.assign(Object.assign({},rn),Xt),{el:m.subjectEl,delta:y.datesDelta,jsEvent:m.origEvent,view:g})),c.emitter.trigger("eventChange",rn)}else if(_){let on={event:X,relatedEvents:en(ue,c,A),revert(){c.dispatch({type:"MERGE_EVENTS",eventStore:ue})}};c.emitter.trigger("eventLeave",Object.assign(Object.assign({},on),{draggedEl:m.subjectEl,view:g})),c.dispatch({type:"REMOVE_EVENTS",eventStore:ue}),c.emitter.trigger("eventRemove",on);let rn=W.defs[I.defId],Xt=W.instances[A.instanceId],Di=new St(_,rn,Xt);_.dispatch({type:"MERGE_EVENTS",eventStore:W});let Ca={event:Di,relatedEvents:en(W,_,Xt),revert(){_.dispatch({type:"REMOVE_EVENTS",eventStore:W})}};_.emitter.trigger("eventAdd",Ca),m.isTouch&&_.dispatch({type:"SELECT_EVENT",eventInstanceId:A.instanceId}),_.emitter.trigger("drop",Object.assign(Object.assign({},wr(rt.dateSpan,_)),{draggedEl:m.subjectEl,jsEvent:m.origEvent,view:rt.context.viewApi})),_.emitter.trigger("eventReceive",Object.assign(Object.assign({},Ca),{draggedEl:m.subjectEl,view:rt.context.viewApi}))}}else c.emitter.trigger("_noEventDrop")}this.cleanup()};let{component:t}=this,{options:i}=t.context,o=this.dragging=new bt(e.el);o.pointer.selector=n.SELECTOR,o.touchScrollAllowed=!1,o.autoScroller.isEnabled=i.dragScroll;let l=this.hitDragging=new Ut(this.dragging,jo);l.useSubjectCenter=e.useEventCenter,l.emitter.on("pointerdown",this.handlePointerDown),l.emitter.on("dragstart",this.handleDragStart),l.emitter.on("hitupdate",this.handleHitUpdate),l.emitter.on("pointerup",this.handlePointerUp),l.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}displayDrag(e,t){let i=this.component.context,o=this.receivingContext;o&&o!==e&&(o===i?o.dispatch({type:"SET_EVENT_DRAG",state:{affectedEvents:t.affectedEvents,mutatedEvents:Zt(),isEvent:!0}}):o.dispatch({type:"UNSET_EVENT_DRAG"})),e&&e.dispatch({type:"SET_EVENT_DRAG",state:t})}clearDrag(){let e=this.component.context,{receivingContext:t}=this;t&&t.dispatch({type:"UNSET_EVENT_DRAG"}),e!==t&&e.dispatch({type:"UNSET_EVENT_DRAG"})}cleanup(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null}}return n.SELECTOR=".fc-event-draggable, .fc-event-resizable",n})();function pl(n,a,e,t){let i=n.dateSpan,o=a.dateSpan,l=i.range.start,m=o.range.start,c={};i.allDay!==o.allDay&&(c.allDay=o.allDay,c.hasEnd=a.context.options.allDayMaintainDuration,o.allDay?l=$n(e):l=e);let g=Vi(l,m,n.context.dateEnv,n.componentId===a.componentId?n.largeUnit:null);g.milliseconds&&(c.allDay=!1);let _={datesDelta:g,standardProps:c};for(let y of t)y(_,n,a);return _}function dl(n){let{options:a}=n.context,e=a.eventLongPressDelay;return e==null&&(e=a.longPressDelay),e}var Qi=class extends tn{constructor(a){super(a),this.draggingSegEl=null,this.draggingSeg=null,this.eventRange=null,this.relevantEvents=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=o=>{let{component:l}=this,m=this.querySegEl(o),c=Un(m),g=this.eventRange=c.eventRange;this.dragging.minDistance=l.context.options.eventDragMinDistance,this.dragging.setIgnoreMove(!this.component.isValidSegDownEl(o.origEvent.target)||o.isTouch&&this.component.props.eventSelection!==g.instance.instanceId)},this.handleDragStart=o=>{let{context:l}=this.component,m=this.eventRange;this.relevantEvents=Fi(l.getCurrentData().eventStore,this.eventRange.instance.instanceId);let c=this.querySegEl(o);this.draggingSegEl=c,this.draggingSeg=Un(c),l.calendarApi.unselect(),l.emitter.trigger("eventResizeStart",{el:c,event:new St(l,m.def,m.instance),jsEvent:o.origEvent,view:l.viewApi})},this.handleHitUpdate=(o,l,m)=>{let{context:c}=this.component,g=this.relevantEvents,_=this.hitDragging.initialHit,y=this.eventRange.instance,I=null,A=null,X=!1,ue={affectedEvents:g,mutatedEvents:Zt(),isEvent:!0};o&&(o.componentId===_.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(_,o)||(I=ml(_,o,m.subjectEl.classList.contains("fc-event-resizer-start"),y.range))),I&&(A=Li(g,c.getCurrentData().eventUiBases,I,c),ue.mutatedEvents=A,Hi(ue,o.dateProfile,c)||(X=!0,I=null,A=null,ue.mutatedEvents=null)),A?c.dispatch({type:"SET_EVENT_RESIZE",state:ue}):c.dispatch({type:"UNSET_EVENT_RESIZE"}),X?jn():Hn(),l||(I&&ci(_,o)&&(I=null),this.validMutation=I,this.mutatedRelevantEvents=A)},this.handleDragEnd=o=>{let{context:l}=this.component,m=this.eventRange.def,c=this.eventRange.instance,g=new St(l,m,c),_=this.relevantEvents,y=this.mutatedRelevantEvents;if(l.emitter.trigger("eventResizeStop",{el:this.draggingSegEl,event:g,jsEvent:o.origEvent,view:l.viewApi}),this.validMutation){let I=new St(l,y.defs[m.defId],c?y.instances[c.instanceId]:null);l.dispatch({type:"MERGE_EVENTS",eventStore:y});let A={oldEvent:g,event:I,relatedEvents:en(y,l,c),revert(){l.dispatch({type:"MERGE_EVENTS",eventStore:_})}};l.emitter.trigger("eventResize",Object.assign(Object.assign({},A),{el:this.draggingSegEl,startDelta:this.validMutation.startDelta||Mi(0),endDelta:this.validMutation.endDelta||Mi(0),jsEvent:o.origEvent,view:l.viewApi})),l.emitter.trigger("eventChange",A)}else l.emitter.trigger("_noEventResize");this.draggingSeg=null,this.relevantEvents=null,this.validMutation=null};let{component:e}=a,t=this.dragging=new bt(a.el);t.pointer.selector=".fc-event-resizer",t.touchScrollAllowed=!1,t.autoScroller.isEnabled=e.context.options.dragScroll;let i=this.hitDragging=new Ut(this.dragging,zn(a));i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),i.emitter.on("hitupdate",this.handleHitUpdate),i.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}querySegEl(a){return Dt(a.subjectEl,".fc-event")}};function ml(n,a,e,t){let i=n.context.dateEnv,o=n.dateSpan.range.start,l=a.dateSpan.range.start,m=Vi(o,l,i,n.largeUnit);if(e){if(i.add(t.start,m)<t.end)return{startDelta:m}}else if(i.add(t.end,m)>t.start)return{endDelta:m};return null}var Ki=class{constructor(a){this.context=a,this.isRecentPointerDateSelect=!1,this.matchesCancel=!1,this.matchesEvent=!1,this.onSelect=t=>{t.jsEvent&&(this.isRecentPointerDateSelect=!0)},this.onDocumentPointerDown=t=>{let i=this.context.options.unselectCancel,o=yo(t.origEvent);this.matchesCancel=!!Dt(o,i),this.matchesEvent=!!Dt(o,Tr.SELECTOR)},this.onDocumentPointerUp=t=>{let{context:i}=this,{documentPointer:o}=this,l=i.getCurrentData();if(!o.wasTouchScroll){if(l.dateSelection&&!this.isRecentPointerDateSelect){let m=i.options.unselectAuto;m&&(!m||!this.matchesCancel)&&i.calendarApi.unselect(t)}l.eventSelection&&!this.matchesEvent&&i.dispatch({type:"UNSELECT_EVENT"})}this.isRecentPointerDateSelect=!1};let e=this.documentPointer=new ri(document);e.shouldIgnoreMove=!0,e.shouldWatchScroll=!1,e.emitter.on("pointerdown",this.onDocumentPointerDown),e.emitter.on("pointerup",this.onDocumentPointerUp),a.emitter.on("select",this.onSelect)}destroy(){this.context.emitter.off("select",this.onSelect),this.documentPointer.destroy()}},ul={fixedMirrorParent:ke},gl={dateClick:ke,eventDragStart:ke,eventDragStop:ke,eventDrop:ke,eventResizeStart:ke,eventResizeStop:ke,eventResize:ke,drop:ke,eventReceive:ke,eventLeave:ke};Wn.dataAttrPrefix="";var an=Yn({name:"@fullcalendar/interaction",componentInteractions:[Yi,Xi,Tr,Qi],calendarInteractions:[Ki],elementDraggingImpl:bt,optionRefiners:ul,listenerRefiners:gl});var Ji=class extends Ri{constructor(){super(...arguments),this.state={textId:Jt()}}render(){let{theme:a,dateEnv:e,options:t,viewApi:i}=this.context,{cellId:o,dayDate:l,todayRange:m}=this.props,{textId:c}=this.state,g=zo(l,m),_=t.listDayFormat?e.format(l,t.listDayFormat):"",y=t.listDaySideFormat?e.format(l,t.listDaySideFormat):"",I=Object.assign({date:e.toDate(l),view:i,textId:c,text:_,sideText:y,navLinkAttrs:Ni(this.context,l),sideNavLinkAttrs:Ni(this.context,l,"day",!1)},g);return te(qn,{elTag:"tr",elClasses:["fc-list-day",...Wo(g,a)],elAttrs:{"data-date":Ai(l)},renderProps:I,generatorName:"dayHeaderContent",customGenerator:t.dayHeaderContent,defaultGenerator:hl,classNameGenerator:t.dayHeaderClassNames,didMount:t.dayHeaderDidMount,willUnmount:t.dayHeaderWillUnmount},A=>te("th",{scope:"colgroup",colSpan:3,id:o,"aria-labelledby":c},te(A,{elTag:"div",elClasses:["fc-list-day-cushion",a.getClass("tableCellShaded")]})))}};
1function hl(n){return te(Ii,null,n.text&&te("a",Object.assign({id:n.textId,className:"fc-list-day-text"},n.navLinkAttrs),n.text),n.sideText&&te("a",Object.assign({"aria-hidden":!0,className:"fc-list-day-side-text"},n.sideNavLinkAttrs),n.sideText))}var _l=Bn({hour:"numeric",minute:"2-digit",meridiem:"short"}),Zi=class extends Ri{render(){let{props:a,context:e}=this,{options:t}=e,{seg:i,timeHeaderId:o,eventHeaderId:l,dateHeaderId:m}=a,c=t.eventTimeFormat||_l;return te(ir,Object.assign({},a,{elTag:"tr",elClasses:["fc-list-event",i.eventRange.def.url&&"fc-event-forced-url"],defaultGenerator:()=>fl(i,e),seg:i,timeText:"",disableDragging:!0,disableResizing:!0}),(g,_)=>te(Ii,null,vl(i,c,e,o,m),te("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},te("span",{className:"fc-list-event-dot",style:{borderColor:_.borderColor||_.backgroundColor}})),te(g,{elTag:"td",elClasses:["fc-list-event-title"],elAttrs:{headers:`${l} ${m}`}})))}};function fl(n,a){let e=Lo(n,a);return te("a",Object.assign({},e),n.eventRange.def.title)}function vl(n,a,e,t,i){let{options:o}=e;if(o.displayEventTime!==!1){let l=n.eventRange.def,m=n.eventRange.instance,c=!1,g;if(l.allDay?c=!0:ko(n.eventRange.range)?n.isStart?g=Gn(n,a,e,null,null,m.range.start,n.end):n.isEnd?g=Gn(n,a,e,null,null,n.start,m.range.end):c=!0:g=Gn(n,a,e),c){let _={text:e.options.allDayText,view:e.viewApi};return te(qn,{elTag:"td",elClasses:["fc-list-event-time"],elAttrs:{headers:`${t} ${i}`},renderProps:_,generatorName:"allDayContent",customGenerator:o.allDayContent,defaultGenerator:Cl,classNameGenerator:o.allDayClassNames,didMount:o.allDayDidMount,willUnmount:o.allDayWillUnmount})}return te("td",{className:"fc-list-event-time"},g)}return null}function Cl(n){return n.text}var pi=class extends Zo{constructor(){super(...arguments),this.computeDateVars=ki(yl),this.eventStoreToSegs=ki(this._eventStoreToSegs),this.state={timeHeaderId:Jt(),eventHeaderId:Jt(),dateHeaderIdRoot:Jt()},this.setRootEl=a=>{a?this.context.registerInteractiveComponent(this,{el:a}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:a,context:e}=this,{dayDates:t,dayRanges:i}=this.computeDateVars(a.dateProfile),o=this.eventStoreToSegs(a.eventStore,a.eventUiBases,i);return te(Mo,{elRef:this.setRootEl,elClasses:["fc-list",e.theme.getClass("table"),e.options.stickyHeaderDates!==!1?"fc-list-sticky":""],viewSpec:e.viewSpec},te(nr,{liquid:!a.isHeightAuto,overflowX:a.isHeightAuto?"visible":"hidden",overflowY:a.isHeightAuto?"visible":"auto"},o.length>0?this.renderSegList(o,t):this.renderEmptyMessage()))}renderEmptyMessage(){let{options:a,viewApi:e}=this.context,t={text:a.noEventsText,view:e};return te(qn,{elTag:"div",elClasses:["fc-list-empty"],renderProps:t,generatorName:"noEventsContent",customGenerator:a.noEventsContent,defaultGenerator:xl,classNameGenerator:a.noEventsClassNames,didMount:a.noEventsDidMount,willUnmount:a.noEventsWillUnmount},i=>te(i,{elTag:"div",elClasses:["fc-list-empty-cushion"]}))}renderSegList(a,e){let{theme:t,options:i}=this.context,{timeHeaderId:o,eventHeaderId:l,dateHeaderIdRoot:m}=this.state,c=Dl(a);return te(Ho,{unit:"day"},(g,_)=>{let y=[];for(let I=0;I<c.length;I+=1){let A=c[I];if(A){let X=Ai(e[I]),ue=m+"-"+X;y.push(te(Ji,{key:X,cellId:ue,dayDate:e[I],todayRange:_})),A=Fo(A,i.eventOrder);for(let W of A)y.push(te(Zi,Object.assign({key:X+":"+W.eventRange.instance.instanceId,seg:W,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:o,eventHeaderId:l,dateHeaderId:ue},Oo(W,_,g))))}}return te("table",{className:"fc-list-table "+t.getClass("table")},te("thead",null,te("tr",null,te("th",{scope:"col",id:o},i.timeHint),te("th",{scope:"col","aria-hidden":!0}),te("th",{scope:"col",id:l},i.eventHint))),te("tbody",null,y))})}_eventStoreToSegs(a,e,t){return this.eventRangesToSegs(Vo(a,e,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,t)}eventRangesToSegs(a,e){let t=[];for(let i of a)t.push(...this.eventRangeToSegs(i,e));return t}eventRangeToSegs(a,e){let{dateEnv:t}=this.context,{nextDayThreshold:i}=this.context.options,o=a.range,l=a.def.allDay,m,c,g,_=[];for(m=0;m<e.length;m+=1)if(c=Po(o,e[m]),c&&(g={component:this,eventRange:a,start:c.start,end:c.end,isStart:a.isStart&&c.start.valueOf()===o.start.valueOf(),isEnd:a.isEnd&&c.end.valueOf()===o.end.valueOf(),dayIndex:m},_.push(g),!g.isEnd&&!l&&m+1<e.length&&o.end<t.add(e[m+1].start,i))){g.end=o.end,g.isEnd=!0;break}return _}};function xl(n){return n.text}function yl(n){let a=$n(n.renderRange.start),e=n.renderRange.end,t=[],i=[];for(;a<e;)t.push(a),i.push({start:a,end:Pi(a,1)}),a=Pi(a,1);return{dayDates:t,dayRanges:i}}function Dl(n){let a=[],e,t;for(e=0;e<n.length;e+=1)t=n[e],(a[t.dayIndex]||(a[t.dayIndex]=[])).push(t);return a}var Sl=':root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid var(--fc-border-color)}.fc .fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{border-style:hidden;width:100%}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{background:var(--fc-page-bg-color);position:sticky;top:0}.fc .fc-list-table thead{left:-10000px;position:absolute}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{clear:both;content:"";display:table}.fc-theme-standard .fc-list-day-cushion{background-color:var(--fc-neutral-bg-color)}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:var(--fc-list-event-hover-bg-color)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}';Co(Sl);var wl={listDayFormat:Er,listDaySideFormat:Er,noEventsClassNames:ke,noEventsContent:ke,noEventsDidMount:ke,noEventsWillUnmount:ke};function Er(n){return n===!1?null:Bn(n)}var di=Yn({name:"@fullcalendar/list",optionRefiners:wl,views:{list:{component:pi,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}});var Tl=()=>({iconClass:"icon-file-download",fontSize:"22px"});function El(n,a){if(n&1){let e=V();s(0,"ul",6)(1,"li",14),M("click",function(i){D(e);let o=p(2);return S(o.getTemplatesHandler(i))})("keydown.enter",function(i){D(e);let o=p(2);return S(o.getTemplatesHandler(i))})("keydown.space",function(i){D(e);let o=p(2);return S(o.getTemplatesHandler(i))}),s(2,"span",9),u(3),d()()()}if(n&2){let e=p().$implicit,t=p();r(),h("permissionRequired",t.downloadFilteredCalendarPermission),r(2),w(e("personal.print"))}}function bl(n,a){if(n&1){let e=V();s(0,"li",15),M("click",function(){D(e);let i=p(2);return S(i.openExportCalendarDialogHandler())})("keydown.space",function(){D(e);let i=p(2);return S(i.openExportCalendarDialogHandler())})("keydown.enter",function(){D(e);let i=p(2);return S(i.openExportCalendarDialogHandler())}),s(1,"span",9),u(2),s(3,"span"),u(4),d()()()}if(n&2){let e=p().$implicit,t=p();h("permissionRequired",t.exportIntervalPermission),r(2),T(" ",e("calendar.exportCalendar")," "),r(2),w(e("calendar.accordingToCurrentFilter"))}}function Il(n,a){if(n&1){let e=V();s(0,"li",16),M("click",function(i){D(e);let o=p(2);return S(o.exportCalendarIntoExcel(i))})("keydown.space",function(i){D(e);let o=p(2);return S(o.exportCalendarIntoExcel(i))})("keydown.enter",function(i){D(e);let o=p(2);return S(o.exportCalendarIntoExcel(i))}),s(1,"span",9),u(2),s(3,"span"),u(4),d()()()}if(n&2){let e=p().$implicit,t=p();h("permissionRequired",t.downloadCalendarToExcelPermission),r(2),T(" ",e("calendar.exportCalendarIntoExcel")," "),r(2),w(e("calendar.exportCalendarIntoExcelCaption"))}}function Ml(n,a){if(n&1){let e=V();k(0),s(1,"button",3,0)(3,"span",4),u(4),d()(),s(5,"mat-menu",5,1),f(7,El,4,2,"ul",6),E(8,"div",7),s(9,"ul",6)(10,"li",8),M("click",function(i){D(e);let o=p();return S(o.subscribeToCalendarHandler(i))})("keydown.space",function(i){D(e);let o=p();return S(o.subscribeToCalendarHandler(i))})("keydown.enter",function(i){D(e);let o=p();return S(o.subscribeToCalendarHandler(i))}),s(11,"span",9),u(12),s(13,"span"),u(14),d()()(),s(15,"li",10),M("click",function(i){D(e);let o=p();return S(o.openCopyDialogHandler(i))})("keydown.space",function(i){D(e);let o=p();return S(o.openCopyDialogHandler(i))})("keydown.enter",function(i){D(e);let o=p();return S(o.openCopyDialogHandler(i))}),s(16,"span",9)(17,"div"),u(18),s(19,"a"),E(20,"i",11),d()()()()(),E(21,"div",7),s(22,"ul",6),f(23,bl,5,3,"li",12)(24,Il,5,3,"li",13),d()(),R()}if(n&2){let e=a.$implicit,t=ie(2),i=ie(6),o=p();r(),h("color",t.menuOpen?"tertiary":"primary")("accent",t.menuOpen?"flat":"link")("prefixIcon",ce(12,Tl))("matMenuTriggerFor",i),r(3),w(e("calendar.handleCalendar")),r(3),b(o.isInstitutional?-1:7),r(3),h("permissionRequired",o.exportCalendarPermission),r(2),T(" ",e("calendar.subscribeToCalendar")," "),r(2),w(e("calendar.subscribeToCalendarCaption")),r(),h("permissionRequired",o.exportCalendarPermission),r(3),T(" ",e("calendar.copySubscriptionLink"),""),r(5),b(o.isInstitutional?24:23)}}var mi=(()=>{class n{constructor(){this.isInstitutional=!1,this.isExcelExportNeedsDateRangeFilter=void 0,this.dataToExport=[],this.getTemplates=new Ge,this.openExportCalendarDialog=new Ge,this.subscribeToCalendar=new Ge,this.openCopyDialog=new Ge,this.exportExcelService=v(Ln),this.exportIntervalPermission={permissionGuid:ct.Calendar_ExportCalendar,controllerName:"",actionName:""},this.downloadCalendarToExcelPermission={controllerName:"",actionName:"",permissionGuid:ct.Calendar_CalendarExportToExcelFile},this.exportCalendarPermission={controllerName:"Calendar",actionName:"GetLinksForCalendarExport"},this.downloadFilteredCalendarPermission={controllerName:"Calendar",actionName:"C
1alendarExportFileToDownloadFilteredCalendar"}}isEventInDateRange(e){return new Date(e.startDate)>=this.dateRange.start&&new Date(e.startDate)<this.dateRange.end||new Date(e.endDate)<this.dateRange.end&&new Date(e.endDate)>this.dateRange.start}getTemplatesHandler(e){e.preventDefault(),this.getTemplates.emit()}openExportCalendarDialogHandler(){this.openExportCalendarDialog.emit()}subscribeToCalendarHandler(e){e.preventDefault(),this.subscribeToCalendar.emit()}openCopyDialogHandler(e){e.preventDefault(),this.openCopyDialog.emit()}exportCalendarIntoExcel(e){e.preventDefault();let t=[];this.isExcelExportNeedsDateRangeFilter&&(t=JSON.parse(JSON.stringify(this.dataToExport)),t=t.map(o=>(o.list=o.list.filter(l=>this.isEventInDateRange(l)),o)).filter(o=>o.list.length>0));let i={title:"Export",data:this.isExcelExportNeedsDateRangeFilter?t:this.dataToExport,headers:[{text:"global.start",key:"start"},{text:"global.end",key:"end"},{text:"startDate",key:"title"}],nested:{nestedArrayDataKey:"list",nestedArrayTitleKey:"listName",nestedHeaders:"headers"}};this.exportExcelService.exportExcel(i)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-calendar-download-menu"]],inputs:{isInstitutional:"isInstitutional",isExcelExportNeedsDateRangeFilter:"isExcelExportNeedsDateRangeFilter",dataToExport:"dataToExport",dateRange:"dateRange"},outputs:{getTemplates:"getTemplates",openExportCalendarDialog:"openExportCalendarDialog",subscribeToCalendar:"subscribeToCalendar",openCopyDialog:"openCopyDialog"},decls:1,vars:0,consts:[["calendarDownloadTrigger","matMenuTrigger"],["calendarDownloadMenu",""],[4,"transloco"],["neptun-button","","id","open-calendar-download-menu-btn",1,"header-buttons__download",3,"color","accent","prefixIcon","matMenuTriggerFor"],[1,"header-buttons__download-text"],["xPosition","after",1,"print-menu"],[1,"menu-item-container"],[1,"separator"],["mat-menu-item","","id","calendar-download-menu-subscribe",1,"print",3,"click","keydown.space","keydown.enter","permissionRequired"],[1,"menu-content-wrapper"],["mat-menu-item","","id","calendar-download-menu-copy",1,"print",3,"click","keydown.space","keydown.enter","permissionRequired"],[1,"icon-copy"],["mat-menu-item","","id","calendar-download-menu-export-ics",1,"print",3,"permissionRequired"],["mat-menu-item","","id","calendar-download-menu-export-excel",1,"print",3,"permissionRequired"],["mat-menu-item","","id","calendar-download-menu-print",1,"print",3,"click","keydown.enter","keydown.space","permissionRequired"],["mat-menu-item","","id","calendar-download-menu-export-ics",1,"print",3,"click","keydown.space","keydown.enter","permissionRequired"],["mat-menu-item","","id","calendar-download-menu-export-excel",1,"print",3,"click","keydown.space","keydown.enter","permissionRequired"]],template:function(t,i){t&1&&f(0,Ml,25,13,"ng-container",2)},dependencies:[$,ee,Oe,Ot,Ft,Vt],styles:[".header-buttons[_ngcontent-%COMP%]{display:flex;height:100%;align-items:center;gap:8px}.header-buttons__download[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.header-buttons__download[_ngcontent-%COMP%]:hover{text-decoration:none}.header-buttons__download[_ngcontent-%COMP%]:hover .header-buttons__download-text[_ngcontent-%COMP%]{text-decoration:underline}.header-buttons__view-menu[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font-weight:800;position:relative;color:#213055;background-color:#f2f3fb;border-radius:8px;padding:12px;cursor:pointer}.header-buttons__view-menu-icon[_ngcontent-%COMP%]{color:#444;margin-left:16px;font-size:22px}.calendar-filter-menu[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.calendar-filter-menu[_ngcontent-%COMP%]:hover{text-decoration:none}.calendar-filter-menu[_ngcontent-%COMP%]:hover .calendar-filter-menu__label[_ngcontent-%COMP%]{text-decoration:underline}@media only screen and (max-width:767px){.header-buttons__download-text[_ngcontent-%COMP%], .calendar-filter-menu__label[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){.header-buttons[_ngcontent-%COMP%]{gap:24px}.header-buttons__download-text[_ngcontent-%COMP%]{display:inline-block}}
1.separator[_ngcontent-%COMP%]{height:8px;background:#f2f3fb;opacity:.5;margin:0}.menu-item-container[_ngcontent-%COMP%]{padding:4px 0}.print[_ngcontent-%COMP%] .menu-content-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;height:min-content;line-height:100%;padding:8px 0;font-weight:400}.print[_ngcontent-%COMP%] .menu-content-wrapper[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;align-items:center}.print[_ngcontent-%COMP%] .menu-content-wrapper[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px;margin-left:8px}.print[_ngcontent-%COMP%] .menu-content-wrapper[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-top:4px;color:#666;font-size:13px}"],changeDetection:0})}}return n})();var Pl=()=>({iconClass:"icon-filter",fontSize:"24px"}),Al=n=>({"role-signed-in":n}),kl=(n,a)=>a.type;function Rl(n,a){if(n&1&&(s(0,"neptun-badge",4),u(1),d()),n&2){let e=p(2);r(),w(e.selectedFilterTypeCount)}}function Vl(n,a){if(n&1&&(s(0,"div",18),u(1),d()),n&2){let e=p(3).$implicit;r(),w(e("calendar.signedIn"))}}function Fl(n,a){if(n&1){let e=V();s(0,"li",14),M("click",function(i){D(e);let o=p(3);return S(o.menuItemClicked(i))})("keydown.enter",function(i){let o=D(e).$implicit,l=p(3);return S(l.toggleTrainingFilter(i,o))})("keydown.space",function(i){let o=D(e).$implicit,l=p(3);return S(l.toggleTrainingFilter(i,o))}),s(1,"mat-checkbox",15),M("click",function(i){let o=D(e).$implicit,l=p(3);return S(l.toggleTrainingFilter(i,o))}),s(2,"span",16),u(3),d(),f(4,Vl,2,1,"div",17),d()()}if(n&2){let e=a.$implicit,t=a.$index;h("id","calendar-filter-training-"+(t+1)),r(),h("id","calendar-filter-training-"+(t+1)+"-cb")("disabled",e.signedIn)("checked",e.isEnabled),r(),h("ngClass",Me(7,Al,e.signedIn)),r(),w(e.studentTrainingName),r(),h("ngIf",e.signedIn)}}function Ol(n,a){if(n&1&&(s(0,"div",13),u(1),d(),s(2,"ul"),Le(3,Fl,5,9,"li",11,un),d(),s(5,"div",13),u(6),d()),n&2){let e=p().$implicit,t=p();r(),w(e("calendar.trainings")),r(2),Ne(t.trainings),r(3),w(e("calendar.calendarEvents"))}}function Ll(n,a){if(n&1){let e=V();s(0,"li",14),M("click",function(i){D(e);let o=p(2);return S(o.menuItemClicked(i))})("keydown.enter",function(i){let o=D(e).$implicit,l=p(2);return S(l.toggleFilterState(i,o))})("keydown.space",function(i){let o=D(e).$implicit,l=p(2);return S(l.toggleFilterState(i,o))}),s(1,"mat-checkbox",19),M("click",function(i){let o=D(e).$implicit,l=p(2);return S(l.toggleFilterState(i,o))}),u(2),d()()}if(n&2){let e=a.$implicit,t=a.$index;h("id","calendar-filter-event-"+(t+1)),r(),h("id","calendar-filter-event-"+(t+1)+"-cb")("checked",e.isEnabled),r(),T(" ",e.text," ")}}function Nl(n,a){if(n&1){let e=V();k(0),s(1,"button",3,0),f(3,Rl,2,1,"neptun-badge",4),s(4,"span",5),u(5),d()(),s(6,"mat-menu",6,1)(8,"div",7)(9,"div",8),f(10,Ol,7,2),s(11,"ul")(12,"li",9),M("click",function(i){D(e);let o=p();return S(o.menuItemClicked(i))})("keydown.enter",function(i){D(e);let o=p();return S(o.toggleAllFilter(i))})("keydown.space",function(i){D(e);let o=p();return S(o.toggleAllFilter(i))}),s(13,"mat-checkbox",10),M("click",function(i){D(e);let o=p();return S(o.toggleAllFilter(i))}),u(14),d()(),Le(15,Ll,3,4,"li",11,kl),d()()(),s(17,"button",12),M("click",function(i){D(e);let o=p();return S(o.applyFilters(i))}),u(18),d()(),R()}if(n&2){let e=a.$implicit,t=ie(2),i=ie(7),o=p();r(),h("color",t.menuOpen?"tertiary":"primary")("accent",t.menuOpen?"flat":"link")("matMenuTriggerFor",i)("prefixIcon",!o.selectedFilterTypeCount||t.menuOpen?ce(10,Pl):void 0),r(2),b(o.selectedFilterTypeCount&&!t.menuOpen?3:-1),r(2),T(" ",e("calendar.filterCalendar")," "),r(5),b(o.trainings.length>1?10:-1),r(3),h("checked",o.selectedFilterTypeCount===o.filterTypes.length),r(),T(" ",e("calendar.showAll")," "),r(),Ne(o.filterTypes),r(3),T(" ",e("button.apply")," ")}}var br=(()=>{class n{constructor(){this.selectedFilterTypeCount=0,this.filterTypes=[],this.trainings=[],this.toggleFilterStateEmitter=new Ge,this.toggleTrainingFilterEmitter=new Ge,this.getCalendarEventsEmitter=new Ge,this.toggleAllFilterEmitter=new Ge}toggleTrainingFilter(e,t){e.type==="keydown"&&e.preventDefault(),this.toggleTrainingFilterEmitter.emit(t)}
1applyFilters(e){e.type==="keydown"&&e.preventDefault(),this.getCalendarEventsEmitter.emit()}toggleAllFilter(e){e.type==="keydown"&&e.preventDefault(),this.toggleAllFilterEmitter.emit()}toggleFilterState(e,t){e.type==="keydown"&&e.preventDefault(),this.toggleFilterStateEmitter.emit(t)}menuItemClicked(e){e.stopPropagation()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-calendar-filter-menu"]],inputs:{selectedFilterTypeCount:"selectedFilterTypeCount",filterTypes:"filterTypes",trainings:"trainings"},outputs:{toggleFilterStateEmitter:"toggleFilterStateEmitter",toggleTrainingFilterEmitter:"toggleTrainingFilterEmitter",getCalendarEventsEmitter:"getCalendarEventsEmitter",toggleAllFilterEmitter:"toggleAllFilterEmitter"},decls:1,vars:0,consts:[["calendarFilterTrigger","matMenuTrigger"],["calendarFilterMenu",""],[4,"transloco"],["neptun-button","","id","open-calendar-filter-menu-btn",1,"calendar-filter-menu",3,"color","accent","matMenuTriggerFor","prefixIcon"],["neptunButtonPrefixBadge",""],[1,"calendar-filter-menu__label"],["xPosition","after"],["id","calendarFilterWrapper",1,"calendar-filter-wrapper"],["id","calendarFilterTop",1,"calendar-filter-top"],["mat-menu-item","","id","calendar-filter-menu-show-all-events",3,"click","keydown.enter","keydown.space"],["id","calendar-filter-menu-show-all-events-cb","color","primary",1,"select-all",3,"click","checked"],["mat-menu-item","",3,"id"],["mat-menu-item","","id","calendar-filter-menu-apply-btn",1,"apply-button",3,"click"],[1,"list-title"],["mat-menu-item","",3,"click","keydown.enter","keydown.space","id"],["color","primary",1,"checkbox",3,"click","id","disabled","checked"],[3,"ngClass"],["class","signed-in",4,"ngIf"],[1,"signed-in"],["color","primary",1,"checkbox",3,"click","id","checked"]],template:function(t,i){t&1&&f(0,Nl,19,11,"ng-container",2)},dependencies:[$,ee,Ot,gt,Wa,Ft,Vt,Xa,Ze],styles:[".header-buttons[_ngcontent-%COMP%]{display:flex;height:100%;align-items:center;gap:8px}.header-buttons__download[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.header-buttons__download[_ngcontent-%COMP%]:hover{text-decoration:none}.header-buttons__download[_ngcontent-%COMP%]:hover .header-buttons__download-text[_ngcontent-%COMP%]{text-decoration:underline}.header-buttons__view-menu[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font-weight:800;position:relative;color:#213055;background-color:#f2f3fb;border-radius:8px;padding:12px;cursor:pointer}.header-buttons__view-menu-icon[_ngcontent-%COMP%]{color:#444;margin-left:16px;font-size:22px}.calendar-filter-menu[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.calendar-filter-menu[_ngcontent-%COMP%]:hover{text-decoration:none}.calendar-filter-menu[_ngcontent-%COMP%]:hover .calendar-filter-menu__label[_ngcontent-%COMP%]{text-decoration:underline}@media only screen and (max-width:767px){.header-buttons__download-text[_ngcontent-%COMP%], .calendar-filter-menu__label[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){.header-buttons[_ngcontent-%COMP%]{gap:24px}.header-buttons__download-text[_ngcontent-%COMP%]{display:inline-block}}.checkbox[_ngcontent-%COMP%]{width:100%}.select-all[_ngcontent-%COMP%]{--mat-checkbox-label-text-weight: 800}.list-title[_ngcontent-%COMP%]{font-size:20px;padding:12px 16px}.role-signed-in[_ngcontent-%COMP%]{font-weight:800;color:#213055}.signed-in[_ngcontent-%COMP%]{font-size:13px}.calendar-filter-wrapper[_ngcontent-%COMP%]{display:flex;max-height:400px}.calendar-filter-wrapper[_ngcontent-%COMP%] .calendar-filter-top[_ngcontent-%COMP%]{flex-grow:1;overflow:auto}"],changeDetection:0})}}return n})();var jl=["viewTypes",""],Hl=n=>({iconClass:n}),$l=(n,a)=>a.text;function Bl(n,a){if(n&1){let e=V();s(0,"li",6),M("click",function(i){let o=D(e).$implicit,l=p(2);return S(l.onViewChange(i,o))})("keydown.enter",function(i){let o=D(e).$implicit,l=p(2);return S(l.onViewChange(i,o))})("keydown.space",function(i){let o=D(e).$implicit,l=p(2);return S(l.onViewChange(i,o))}),u(1),d()}if(n&2){let e=a.$implicit,t=a.$index,i=p().$implicit;h("id","calendar-view-type-"+(t+1)),r(),T(" ",i(e.text)," ")}}function ql(n,a){if(n&1&&(k(0),s(1,"button",3,0),u(3),d(),s(4,"mat-menu",4,1)(6,"ul"),Le(7,Bl,2,2,"li",5,$l),d()(),R()),n&2){let e=a.$implicit,t=ie(2),i=ie(5),o=p();r(),h("postfixIcon",Me(3,Hl,t.menuOpen?"icon-chevron-top":"icon-chevron-bottom"))("matMenuTriggerFor",i),r(2),T(" ",e(o.selectedViewTypeText)," "),r(4),Ne(o.viewTypes)}}var ui=(()=>{class n{constructor(){this.selectedViewTypeText="",this.viewChange=new Ge}onViewChange(e,t){e.preventDefault(),this.viewChange.emit(t)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-calendar-view-type-menu","viewTypes",""]],inputs:{selectedViewTypeText:"selectedViewTypeText",viewTypes:"viewTypes"},outputs:{viewChange:"viewChange"},attrs:jl,decls:1,vars:0,consts:[["menuTrigger","matMenuTrigger"],["calendarViewMenu",""],[4,"transloco"],["neptun-button","","id","open-calendar-view-type-menu-btn","color","lightgrey",1,"header-buttons__view-menu",3,"postfixIcon","matMenuTriggerFor"],["xPosition","before"],["mat-menu-item","",1,"view-type",3,"id"],["mat-menu-item","",1,"view-type",3,"click","keydown.enter","keydown.space","id"]],template:function(t,i){t&1&&f(0,ql,9,5,"ng-container",2)},dependencies:[$,ee,Ot,Ft,Vt],styles:[".header-buttons[_ngcontent-%COMP%]{display:flex;height:100%;align-items:center;gap:8px}.header-buttons__download[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.header-buttons__download[_ngcontent-%COMP%]:hover{text-decoration:none}.header-buttons__download[_ngcontent-%COMP%]:hover .header-buttons__download-text[_ngcontent-%COMP%]{text-decoration:underline}.header-buttons__view-menu[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font-weight:800;position:relative;color:#213055;background-color:#f2f3fb;border-radius:8px;padding:12px;cursor:pointer}.header-buttons__view-menu-icon[_ngcontent-%COMP%]{color:#444;margin-left:16px;font-size:22px}.calendar-filter-menu[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.calendar-filter-menu[_ngcontent-%COMP%]:hover{text-decoration:none}.calendar-filter-menu[_ngcontent-%COMP%]:hover .calendar-filter-menu__label[_ngcontent-%COMP%]{text-decoration:underline}@media only screen and (max-width:767px){.header-buttons__download-text[_ngcontent-%COMP%], .calendar-filter-menu__label[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){.header-buttons[_ngcontent-%COMP%]{gap:24px}.header-buttons__download-text[_ngcontent-%COMP%]{display:inline-block}}.view-type[_ngcontent-%COMP%]{font-weight:800}"],changeDetection:0})}}return n})();var P=(()=>{class n{constructor(e){this.httpClient=e,this.terms$=this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetTermsForInstitutionalTimetable`).pipe(O(t=>t.data))}studentTrainings(){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetStudentTrainings`).pipe(O(e=>e.data))}getCalendarEvents(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetCalendarEvents`,{params:kt(e)}).pipe(O(t=>t.data))}getCalendarPrintTemplateIds(){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetCalendarPrintTemplateIds`).pipe(O(e=>e.data))}insertAppointmentInvitation(e){return this.httpClient.post(`${Q.settings.apiServer.url}Calendar/InsertAppointmentInvitation`,e)}modifyAppointment(e){return this.httpClient.post(`${Q.settings.apiServer.url}Calendar/ModifyAppointment`,e)}appointmentApprovalForInvitedUser(e){return this.httpClient.post(`${Q.settings.apiServer.url}Calendar/AppointmentApprovalForInvitedUser`,{appointmentId:e})}appointmentDenyForInvitedUser(e){return this.httpClient.post(`${Q.settings.apiServer.url}Calendar/AppointmentDenyForInvitedUser`,{appointmentId:e})}getNewAllAppointmentInvitations(){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetNewAllAppointmentInvitations`).pipe(O(e=>e.data))}getAllAnsweredAppointmentsInvitations(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetAllAnsweredAppointmentsInvitations`,{params:{onlyNeedAprovedOrDenied:e}}).pipe(O(t=>t.data))}getTimetableOfInstitution(e,t){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetTimetableOfInstitution`,{params:{timetableId:e,termId:t}}).pipe(O(i=>i.data))}getTrainingName(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetTrainingName`,{params:{studentTrainingId:e}}).pipe(O(t=>t.data))}getExamDetails(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetExamDetails`,{params:{examId:e}}).pipe(O(t=>t.data))}getFinalExamDetails(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetFinalExamDetails`,{params:kt(e)}).pipe(O(t=>t.data))}getAppointmentBookingDetails(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetAppointmentBookingDetails`,{params:{appointmentBookingId:e}}).pipe(O(t=>t.data))}getSubscriptionListDetails(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetSubscriptionListDetails`,{params:{subscriptionListId:e}}).pipe(O(t=>t.data))}getCourseDetails(e,t,i){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetCourseDetails`,{params:{classInstanceId:e,webexMeetingId:t,isInstitutionalCalendar:i}}).pipe(O(o=>o.data))}
1getConsultationDetails(e,t){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetConsultationDetails`,{params:{consultationAppointmentId:e,studentTrainingId:t}}).pipe(O(i=>i.data))}getMidTermTaskDetails(e,t){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetMidTermTaskDetails`,{params:kt({midtermTaskId:e,webexMeetingId:t})}).pipe(O(i=>i.data))}getPeriodDetails(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetPeriodDetails`,{params:{periodId:e}}).pipe(O(t=>t.data))}getHolidayDetails(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetHolidayDetails`,{params:{holidayId:e}}).pipe(O(t=>t.data))}getLinksForCalendarExport(){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetLinksForCalendarExport`).pipe(O(e=>e.data))}generateNewLinksForCalendarExport(){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GenerateNewLinksForCalendarExport`).pipe(O(e=>e.data))}exportFileToDownloadFilteredCalendar(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/CalendarExportFileToDownloadFilteredCalendar`,{params:kt(e),observe:"response",responseType:"blob"}).pipe(Ve(t=>t instanceof Ma?Oa.readErrorFromBlob(t):Et(()=>t)))}getAppointmentDetailsGeneralUser(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetAppointmentInvitationsDetails`,{params:{appointmentId:e}}).pipe(O(t=>t.data))}deleteParticipant(e){return this.httpClient.post(`${Q.settings.apiServer.url}Calendar/RemoveAppointmentParticipant`,{appointmentId:e.appointmentId,participantId:e.participantId}).pipe(O(t=>t.data))}deleteEvent(e){return this.httpClient.post(`${Q.settings.apiServer.url}Calendar/DeleteAppointment`,{appointmentId:e}).pipe(O(t=>t.data))}getAppointmentDetailsOwnerUser(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetOwnerAppointmentDetails`,{params:{appointmentId:e}}).pipe(O(t=>t.data))}getExportTermInterval(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetExportTermInterval`,{params:kt(e)}).pipe(O(t=>t.data))}static{this.\u0275fac=function(t){return new(t||n)(Ee(vn))}}static{this.\u0275prov=He({token:n,factory:n.\u0275fac})}}return n})();var ea=me(gr(()=>({isSaving:ft(v($t).isLoadingByUrl("Calendar/InsertAppointmentInvitation"),{initialValue:!1})})),le((n,a=v(P),e=v(Zn),t=v(dn))=>({saveAppointment:q(i=>i.pipe(dt(({request:o,recipientUsersId:l,isModify:m,appointmentId:c,onSuccess:g,onError:_})=>(m?a.modifyAppointment(G(B({},o),{appointmentId:c,userIds:l})):a.insertAppointmentInvitation(G(B({},o),{recipientUsersId:l}))).pipe(H(()=>g()),Ve(y=>(_(y),t.handleError(y),Re)))))),loadRecipientItems:q(i=>i.pipe(N(({recipients:o,onLoaded:l})=>e.getUserSelectItem("participantId","printName",o).pipe(H(m=>l(m))))))})));function Gl(n,a){if(n&1&&E(0,"neptun-form-date-time-picker",15)(1,"neptun-form-date-time-picker",16),n&2){let e=p().$implicit;h("id","start-time-picker")("label",e("internship.start")),r(),h("id","end-time-picker")("label",e("internship.end"))}}function zl(n,a){if(n&1&&E(0,"neptun-form-datepicker",15)(1,"neptun-form-datepicker",16),n&2){let e=p().$implicit;h("id","start-time-picker")("label",e("internship.start")),r(),h("id","end-time-picker")("label",e("internship.end"))}}function Wl(n,a){if(n&1){let e=V();s(0,"neptun-basic-dialog-layout")(1,"h2",1),u(2),d(),k(3,2),s(4,"form",3),E(5,"neptun-form-input",4)(6,"neptun-form-user-select",5),s(7,"div",6),E(8,"neptun-form-input",7),s(9,"div",8),E(10,"neptun-form-checkbox",9),d()(),s(11,"div",6),f(12,Gl,2,4)(13,zl,2,4),d(),E(14,"neptun-form-textarea",10),d(),R(),k(15,11),s(16,"div",12)(17,"a",13),u(18),d(),s(19,"button",14),M("click",function(){D(e);let i=p();return S(i.save())}),u(20),d()(),R(),d()}if(n&2){let e=a.$implicit,t=p();r(2),w(e("calendar.newAppointment")),r(2),h("formGroup",t.newAppointmentForm),r(),h("label",e("textbookSearch.title")),r(),h("label",e("calendar.recipients")),r(2),h("label",e("calendar.place")),r(2),h("label",e("calendar.wholeDay")),r(2),b(t.isDayLongEvent?13:12),r(2),h("label",e("calendar.descriptionOfTheMeeting")),r(4),w(e("button.cancel")),r(),Da("spinner",t.isSaving()),h("permissionRequired",t.permission),r(),T(" ",t.isModify?e("button.modify"):e("profileSettings.create")," ")}}var hi=(()=>{class n{constructor(e){this.data=e,this.newAppointmentDialogStore=v(ea),this.dialogRef=v(he),this.userSelectItem
1ConverterService=v(Zn),this.cdr=v(Ia),this.transloco=v(Fe),this.dateLocalizationService=v(be),this.ngxsStore=v(Pe),this.newAppointmentForm=new Mn({recipientUsersId:new Qe([],{nonNullable:!0}),subject:new Qe("",{validators:[Ba.required],nonNullable:!0}),location:new Qe("",{nonNullable:!0}),daylong:new Qe(!1,{nonNullable:!0}),startTime:new Qe("",{nonNullable:!0}),endTime:new Qe("",{nonNullable:!0}),description:new Qe("",{nonNullable:!0})},{validators:rr("startTime","endTime",this.transloco,this.dateLocalizationService)}),this.permission=void 0,this.isSaving=this.newAppointmentDialogStore.isSaving,this.isModify=this.isModifyDialog(this.data)}ngOnInit(){if("permission"in this.data&&(this.permission=this.data.permission),"date"in this.data&&this.data.date){let e=new Date(new Date(this.data.date).setHours(this.data.date.getHours()+1));this.newAppointmentForm.controls.startTime.setValue(new Date(this.data.date)),this.newAppointmentForm.controls.endTime.setValue(new Date(e))}else this.isModifyDialog(this.data)&&(this.newAppointmentForm.patchValue(G(B({},this.data),{startTime:new Date(this.data.startTime),endTime:new Date(this.data.endTime)})),this.data.startTime&&this.data.endTime&&this.newAppointmentForm.controls.daylong.setValue(this.isAllDayEvent(this.data.startTime,this.data.endTime)),this.data.recipients&&this.newAppointmentDialogStore.loadRecipientItems({recipients:this.data.recipients,onLoaded:e=>this.newAppointmentForm.controls.recipientUsersId.patchValue(e)}))}get isDayLongEvent(){return this.newAppointmentForm.controls.daylong.value}save(){let e=this.newAppointmentForm.getRawValue(),t=this.userSelectItemConverterService.getOnlyUserIds(e.recipientUsersId),i={subject:e.subject,description:e.description,location:e.location,daylong:e.daylong,startTime:e.startTime,endTime:e.endTime};this.newAppointmentDialogStore.saveAppointment({request:i,recipientUsersId:t,isModify:this.isModifyDialog(this.data),appointmentId:this.isModifyDialog(this.data)?this.data.appointmentId:"",onSuccess:()=>this.dialogRef.close(!0),onError:o=>{this.isModifyDialog(this.data)&&this.ngxsStore.dispatch(new Ae.AddErrorPushNotification({title:"notification.unsuccessfulUpdate"})),or(o,this.newAppointmentForm),this.cdr.detectChanges()}})}isModifyDialog(e){return"subject"in e}isAllDayEvent(e,t){let i=new Date(e),o=new Date(t),l=i.getHours(),m=i.getMinutes(),c=i.getSeconds(),g=o.getHours(),_=o.getMinutes(),y=o.getSeconds();return l===0&&m===0&&c===0&&(g===23&&_===59&&y===59)}static{this.\u0275fac=function(t){return new(t||n)(ge(ht))}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-new-appointment-dialog"]],features:[Z([ea,P])],decls:1,vars:0,consts:[[4,"transloco"],["title",""],["content",""],[3,"formGroup"],["formControlName","subject","id","subject",3,"label"],["formControlName","recipientUsersId","id","recipientUsersId",3,"label"],[1,"grid"],["formControlName","location","id","location",3,"label"],[1,"checkbox"],["formControlName","daylong","id","daylong",1,"form-checkbox",3,"label"],["id","new-appointment-description","floatLabel","auto","formControlName","description",3,"label"],["actions",""],["neptunBasicDialogLayoutActions",""],["mat-dialog-close",""],["neptun-button","","accent","flat",3,"click","permissionRequired"],["formControlName","startTime",3,"id","label"],["formControlName","endTime",3,"id","label"]],template:function(t,i){t&1&&f(0,Wl,21,13,"neptun-basic-dialog-layout",0)},dependencies:[$,at,jt,An,Ct,In,Vn,kn,Rn,lo,ur,mo,lr,ro,sr,it,_t,ee,Oe],styles:[".grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.checkbox[_ngcontent-%COMP%]{border-radius:8px;padding:12px;margin-bottom:20px;align-items:center}.form-checkbox[_ngcontent-%COMP%]{flex:1}@media only screen and (max-width:767px){.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(1,1fr)}}"],changeDetection:0})}}return n})();
1var F=(function(n){return n[n.Class=0]="Class",n[n.Exam=1]="Exam",n[n.Appointment=2]="Appointment",n[n.Task=3]="Task",n[n.SubscriptionList=4]="SubscriptionList",n[n.Consultation=5]="Consultation",n[n.StudyPeriod=6]="StudyPeriod",n[n.AppointmentBooking=7]="AppointmentBooking",n[n.Holiday=8]="Holiday",n[n.FinalExam=9]="FinalExam",n})(F||{});var ye=(()=>{class n{constructor(e,t){this.transloco=e,this.dateLocalizationService=t,this.calendarApiService=v(P),this.participantRefreshSubject=new sn(0),this.newAppointmentInvitationsRefreshSubject=new sn(!1),this.answeredAppointmentsInvitationsRefreshSubject=new sn(!1),this.legendItems=[{color:"primary",text:"global.class"},{color:"calendar-red",text:"global.exam"},{color:"calendar-dark-red",text:"roomSchedule.finalExam"},{color:"calendar-lime",text:"global.trainingPeriod"},{color:"calendar-purple",text:"global.task"},{color:"calendar-orange",text:"global.otherEvent"},{color:"primary",text:"global.online",pulse:!0}]}getNewAllAppointmentInvitations(){return this.newAppointmentInvitationsRefreshSubject.asObservable().pipe(N(()=>this.calendarApiService.getNewAllAppointmentInvitations()))}getAllAnsweredAppointmentsInvitations(e){return this.answeredAppointmentsInvitationsRefreshSubject.asObservable().pipe(N(()=>this.calendarApiService.getAllAnsweredAppointmentsInvitations(e)))}getAppointmentDetailsGeneralUser(e){return this.participantRefreshSubject.asObservable().pipe(N(()=>this.calendarApiService.getAppointmentDetailsGeneralUser(e)))}participantRefresh(){this.participantRefreshSubject.next(this.participantRefreshSubject.value+1)}newAppointmentInvitationsRefresh(){this.newAppointmentInvitationsRefreshSubject.next(!0)}answeredAppointmentsInvitationsRefresh(){this.answeredAppointmentsInvitationsRefreshSubject.next(!0)}getAppointmentDetailsOwnerUser(e){return this.participantRefreshSubject.asObservable().pipe(N(()=>this.calendarApiService.getAppointmentDetailsOwnerUser(e)))}getExportData(e,t){let i=this.getFormattedEvents(e),o=this.getEventHeaders(t);return Object.values(F).filter(m=>i.some(c=>c.eventTypeId===m)).map(m=>{let c=o.find(g=>g.eventTypeId===m);return{list:i.filter(g=>g.eventTypeId===m),listName:this.transloco.translate(c?.title??""),headers:c?.headers??[]}})}getActualDate(e,t){let i=new Date;i.setHours(0,0,0,0);let o=i.getFullYear();if(e===U.Monthly||e===U.List){let l=t?new Date(t).getMonth():i.getMonth();return{start:new Date(o,l,1),end:new Date(o,l+1,1)}}if(e===U.Weekly){let l=i.getDay(),m=i.getDate()-l+1,c=i.getDate()-l+8;return{start:new Date(new Date(i).setDate(m)),end:new Date(new Date(i).setDate(c))}}return{start:i,end:new Date(new Date(i).setDate(i.getDate()+1))}}getIdFromEvent(e){switch(e.eventTypeId){case F.Task:return e.midTermTaskId;case F.Appointment:return e.appointmentId;case F.AppointmentBooking:return e.appointmentBookingId;case F.Class:return e.classInstanceId;case F.Consultation:return e.consultationAppointmentId;case F.Exam:case F.FinalExam:return e.examId;case F.StudyPeriod:return e.periodId;case F.SubscriptionList:return e.subscriptionListId;case F.Holiday:return e.holidayId;default:return e.calendarId}}getBackgroundColor(e,t,i,o){if(t===U.Weekly||t===U.Daily)return"#F2F3FB";let l=o==="XXS"||o==="XS"||o==="SM",c=t===U.Monthly&&!l&&!i;switch(e.eventTypeId){case F.Exam:return c?"#FFE9E7":"#FF2113";case F.FinalExam:return c?"#FFE9E7":"#BB1316";case F.Task:return c?"#FAEDFE":"#B605BA";case F.Consultation:return c?"#FFEAC6":"#FFBB42";case F.Class:return c?"#E6ECFB":"#0943D9";case F.StudyPeriod:return c?"#F3F6DD":"#BDD910";case F.AppointmentBooking:default:return c?"#FFEAC6":"#FFBB42"}}getBlobColor(e){switch(e.eventTypeId){case F.StudyPeriod:return"calendar-lime-dot";case F.Task:return"calendar-purple-dot";case F.Class:return"calendar-primary-dot";case F.Exam:return"calendar-red-dot";case F.FinalExam:return"calendar-dark-red";case F.Consultation:case F.AppointmentBooking:default:return"calendar-orange-dot"}}getListViewMonthRange(e){let t=new Date(e.getFullYear(),e.getMonth(),1);t.setHours(0,0,0,0);let i=new Date(e.getFullYear(),e.getMonth()+1,0);return i.setHours(23,59,59,999),{start:t,end:i}}getFormattedEvents(e){let t={dateStyle:"long",timeStyle:"short"};return e.map(i=>(i.eventTypeId===F.FinalExam&&(i.applicationDate=this.dateLocalizationService.localizeDate(i.startDate,void 0,t)),G(B({},i),{formattedStartDate:this.dateLocalizationService.localizeDate(i.startDate,void 0,t),formattedEndDate:this.dateLocalizationService.localizeDate(i.endDate,void 0,t)})))}getEventHeaders(e){return[{eventTypeId:F.Class,title:"global.class",headers:e?this.getCommonHeaders():[...this.getCommonHeaders(),{text:this.transloco.translate("questionnaire.courseType"),key:"courseType"},{text:this.transloco.translate("questionnaire.courseCode"),key:"courseCode"},{text:this.transloco.translate("questionnaire.lecturers"),key:"courseTutor"},{text:this.transloco.translate("subjects.roomInfo"),key:"rooms"}]},{eventTypeId:F.Exam,title:"menu.exams.title",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("exams.examType"),key:"examType"},{text:this.transloco.translate("questionnaire.lecturers"),key:"examTutor"},{text:this.transloco.translate("subjects.roomInfo"),key:"rooms"}]},{eventTypeId:F.FinalExam,title:"roomSchedule.finalExam",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("exams.examType"),key:"examType"},{text:this.transloco.translate("subjects.roomInfo"),key:"rooms"},{text:this.transloco.translate("menu.role"),key:"applicationDate"},{text:this.transloco.translate("finalExams.examAssignedRoom"),key:"applicationRoom"}]},{eventTypeId:F.Appointment,title:"dashboard.meeting",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("appointmentBooking.availability"),key:"location"}]},{eventTypeId:F.Task,title:"menu.tasks",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("global.type"),key:"midtermTaskType"},{text:this.transloco.translate("publication.nature"),key:"midtermTaskKind"},{text:this.transloco.translate("subjects.roomInfo"),key:"rooms"}]},{eventTypeId:F.SubscriptionList,title:"calendar.subscriptionList",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("exams.creatorName"),key:"creator"}]},{eventTypeId:F.Consultation,title:"menu.consultations",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("subjects.roomInfo"),key:"rooms"}]}
1,{eventTypeId:F.StudyPeriod,title:"global.trainingPeriod",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("internship.name"),key:"intervalType"},{text:this.transloco.translate("global.semester"),key:"term"}]},{eventTypeId:F.AppointmentBooking,title:"menu.dateReservation",headers:[...this.getCommonHeaders(),{text:this.transloco.translate("appointmentBooking.availability"),key:"location"},{text:this.transloco.translate("appointmentBooking.window"),key:"window"}]},{eventTypeId:F.Holiday,title:"calendar.holiday",headers:this.getCommonHeaders()}]}getCommonHeaders(){let e={text:this.transloco.translate("global.start"),key:"formattedStartDate"},t={text:this.transloco.translate("global.end"),key:"formattedEndDate"},i={text:this.transloco.translate("internship.name"),key:"name"};return[e,t,i]}static{this.\u0275fac=function(t){return new(t||n)(Ee(Fe),Ee(be))}}static{this.\u0275prov=He({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function Gt(n){let a=new Date(n);return a.setHours(0,0,0,0),a}var Mr=(()=>{class n{constructor(){this.activeStartDate=null,this.dateChange$=new ln}selectionFinished(e,t){let{start:i,end:o}=t;return i==null||i&&o?(i=e,o=null,this.activeStartDate=e):o==null&&e&&e.getTime()>=i.getTime()?(o=e,this.activeStartDate=null):(i=e,o=null,this.activeStartDate=e),this.dateChange$.next(),new On(i,o)}createPreview(e,t){if(!t.start||t.end||!e)return new On(null,null);let i=t.start,o=e;return i&&o&&o.getTime()<i.getTime()&&(o=i),new On(i,o)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=He({token:n,factory:n.\u0275fac})}}return n})();function Xl(n,a){if(n&1){let e=V();k(0),s(1,"neptun-data-view")(2,"dl")(3,"div",2)(4,"dt"),u(5),d(),s(6,"dd"),u(7),C(8,"hyphen"),d()(),s(9,"div",2)(10,"dt"),u(11),d(),s(12,"dd"),u(13),C(14,"hyphen"),d()(),s(15,"div",2)(16,"dt"),u(17),d(),s(18,"dd"),u(19),C(20,"hyphen"),d()()()(),s(21,"a",3),M("click",function(){let i=D(e).ngIf,o=p(2);return S(o.openMoreInformation(i))}),u(22),d(),R()}if(n&2){let e=a.ngIf,t=p().$implicit;r(5),w(t("appointmentBooking.identifier")),r(2),T(" ",x(8,7,e.identifier)," "),r(4),w(t("appointmentBooking.administrationLocation")),r(2),T(" ",x(14,9,e.place)," "),r(4),w(t("appointmentBooking.availability")),r(2),T(" ",x(20,11,e.location)," "),r(3),w(t("calendar.moreAppointmentBookingInformation"))}}function Ql(n,a){if(n&1&&(k(0),f(1,Xl,23,13,"ng-container",1),C(2,"async"),R()),n&2){let e=p();r(),h("ngIf",x(2,1,e.appointmenbooking$))}}var Pr=(()=>{class n{constructor(e,t,i){this.calendarApiService=e,this.dialogRef=t,this.router=i,this.dateTimeStyle={dateStyle:"long",timeStyle:"short"},this.timeStyle={timeStyle:"short"}}ngOnInit(){this.appointmenbooking$=this.calendarApiService.getAppointmentBookingDetails(this.data?.appointmentBookingId)}closeDialog(){this.dialogRef.close()}openMoreInformation(e){this.closeDialog(),this.router.navigate(this.getMoreInformationRouterLink(e),{queryParams:this.getMoreInformationQueryParams(e)})}getMoreInformationRouterLink(e){let t=["administrations","date-reservation"];return this.isPastAppointment(e)&&t.push("past-appointment"),t.push(e.appointmentBookingId),t}getMoreInformationQueryParams(e){return{appointmentCaseType:e.name}}isPastAppointment(e){return new Date(e.endDate).getTime()<Date.now()}static{this.\u0275fac=function(t){return new(t||n)(ge(P),ge(he),ge(yn))}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-appointment-booking-detail-dialog"]],inputs:{data:"data"},features:[Z([P])],decls:1,vars:0,consts:[[4,"transloco"],[4,"ngIf"],["neptunDataViewItem",""],["focusElement","","id","fa85de6d-7a9b-4e7c-bc25-eeec85daa63a","color","primary",1,"navigation-link",3,"click"]],template:function(t,i){t&1&&f(0,Ql,3,3,"ng-container",0)},dependencies:[$,gt,ve,Ce,tt,et,fe],styles:['.navigation-link[_ngcontent-%COMP%]{margin-top:24px;transition:none}.navigation-link[_ngcontent-%COMP%]:hover{transition:none}.navigation-link[_ngcontent-%COMP%]:after{content:"";display:inline-block;padding:3px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);margin:1px 5px;border:solid #0943d9;border-width:0 2px 2px 0}'],changeDetection:0})}}return n})();var aa=me(xe(()=>({consultation:ae})),Te(),le((n,a=v(P))=>
1({getConsultationDetails:q(e=>e.pipe(N(({consultationAppointmentId:t,studentTrainingId:i})=>n.execute("consultation",a.getConsultationDetails(t,i)))))})));var Kl=(n,a)=>["studies","consultations",n,"date",a],Jl=n=>({consultationName:n});function Zl(n,a){if(n&1){let e=V();s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()()()(),s(14,"a",4),M("click",function(){D(e);let i=p(2);return S(i.closeDialog())}),u(15),d()}if(n&2){let e=p().$implicit,t=Y(1),i=p();r(4),w(e("consultations.lecturers")),r(2),T(" ",x(7,7,t.data.tutors)," "),r(4),w(e("exams.rooms")),r(2),T(" ",x(13,9,t.data.rooms)," "),r(2),h("routerLink",mt(11,Kl,t.data.consultationId,i.data.consultationAppointmentId))("queryParams",Me(14,Jl,t.data.name)),r(),T(" ",e("calendar.moreConsultationInformation")," ")}}function es(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function ts(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function ns(n,a){if(n&1&&(k(0),oe(1),f(2,Zl,16,16),C(3,"isResultRequest"),f(4,es,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,ts,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().consultation());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var Ar=(()=>{class n{constructor(){this.consultationDetailDialogStore=v(aa),this.dialogRef=v(he),this.consultation=this.consultationDetailDialogStore.consultation}ngOnInit(){this.consultationDetailDialogStore.getConsultationDetails(this.data)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-consultation-detail-dialog"]],inputs:{data:"data"},features:[Z([aa,P])],decls:1,vars:0,consts:[[4,"transloco"],["test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["focusElement","","id","f444b2fc-fffa-4461-b82e-ad502c4860a7","color","primary",1,"navigation-link",3,"click","routerLink","queryParams"]],template:function(t,i){t&1&&f(0,ns,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,we,tt,ze,fe,pe,_e,de],styles:[".navigation-link[_ngcontent-%COMP%]{margin-top:24px;transition:none}.navigation-link[_ngcontent-%COMP%]:hover{transition:none}"],changeDetection:0})}}return n})();var oa=me(xe(()=>({course:ae})),Te(),le((n,a=v(P))=>({getCourseDetails:q(e=>e.pipe(N(t=>n.execute("course",a.getCourseDetails(t.classInstanceId,t.webexMeetingId,t.isInstitutionalCalendar).pipe(O(i=>G(B({},i),{termId:t.isInstitutionalCalendar&&t.termId?t.termId:i.termId})))))))})));var is=(n,a)=>["informations","subjects-courses",n,"course-list-registered",a],as=(n,a,e,t,i,o)=>({courseId:n,courseCode:a,subjectId:e,subjectName:t,termId:i,viewMode:o});function os(n,a){if(n&1){let e=V();s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()(),s(14,"div",2)(15,"dt"),u(16),d(),s(17,"dd",3),u(18),C(19,"hyphen"),d()(),s(20,"div",2)(21,"dt"),u(22),d(),s(23,"dd",3),u(24),C(25,"hyphen"),d()(),s(26,"div",2)(27,"dt"),u(28),d(),s(29,"dd",3),u(30),C(31,"hyphen"),C(32,"hyphen"),C(33,"hyphen"),d()(),s(34,"div",2)(35,"dt"),u(36),d(),s(37,"dd",3),u(38),C(39,"hyphen"),d()(),s(40,"div",2)(41,"dt"),u(42),d(),s(43,"dd",3),u(44),C(45,"hyphen"),d()()()(),s(46,"a",4),M("click",function(){D(e);let i=p(2);return S(i.closeDialog())}),u(47),d()}if(n&2){let e=p().$implicit,t=Y(1),i=p();r(4),w(e("questionnaire.courseCode")),r(2),T(" ",x(7,19,t.data.courseCode)," "),r(4),w(e("global.type")),r(2),T(" ",x(13,21,t.data.courseType)," "),r(4),w(e("subjectsCourses.teachingMethod")),r(2),T(" ",x(19,23,t.data.teachingMethod)," "),r(4),w(e("global.language")),r(2),T(" ",x(25,25,t.data.language)," "),r(4),w(e("subjects.personWaitLimit")),r(2),Ea(" ",x(31,27,t.data.strength)," / ",x(32,29,t.data.waitingStrength)," / ",x(33,31,t.data.maxLimit)," "),r(6),w(e("questionnaire.lecturers")),r(2),T(" ",x(39,33,t.data.courseTutor)," "),r(4),w(e("subjects.roomInfo")),r(2),T(" ",x(45,35,t.data.room)," "),r(2),h("routerLink",mt(37,is,t.data.subjectId,t.data.courseId))("queryParams",ba(40,as,t.data.courseId,t.data.courseCode,t.data.subjectId,t.data.subjectName,t.data.termId,i.subjectCourseViewMode)),r(),T(" ",e("subjects.moreCourseInfo")," ")}}function rs(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function ls(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function ss(n,a){if(n&1&&(k(0),oe(1),f(2,os,48,47),C(3,"isResultRequest"),f(4,rs,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,ls,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().course());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var _i=(()=>{class n{constructor(){this.courseDetailDialogStore=v(oa),this.dialogRef=v(he),this.subjectCourseViewMode=vo.Registered,this.course=this.courseDetailDialogStore.course}ngOnInit(){this.courseDetailDialogStore.getCourseDetails(this.data)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-course-detail-dialog"]],inputs:{data:"data"},features:[Z([oa,P])],decls:1,vars:0,consts:[[4,"transloco"],["test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["focusElement","","id","110fb016-9f05-473d-8f06-bd0f9c9b3b0d","color","primary","queryParamsHandling","merge",1,"navigation-link",3,"click","routerLink","queryParams"]],template:function(t,i){t&1&&f(0,ss,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,we,tt,ze,fe,pe,_e,de],styles:['.navigation-link[_ngcontent-%COMP%]{margin-top:24px;transition:none}.navigation-link[_ngcontent-%COMP%]:hover{transition:none}.navigation-link[_ngcontent-%COMP%]:after{content:"";display:inline-block;padding:3px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);margin:1px 5px;border:solid #0943d9;border-width:0 2px 2px 0}'],changeDetection:0})}}return n})();var wt=(()=>{class n{constructor(e,t,i,o,l,m){this.calendarService=e,this.calendarApiService=t,this.transloco=i,this.dialogService=o,this.store=l,this.dateLocalizationService=m}accept(e){let t=new Date;this.calendarApiService.appointmentApprovalForInvitedUser(e.appointmentId).subscribe(()=>{this.calendarService.newAppointmentInvitationsRefresh(),this.calendarService.answeredAppointmentsInvitationsRefresh(),this.store.dispatch(new Ae.AddSuccessPushNotification({title:"notification.appointmentAccepted",secondaryTitle:e.subject,description:this.dateLocalizationService.localizeDate(t,void 0,{dateStyle:"long",timeStyle:"short"})}))})}reject(e){return this.calendarApiService.appointmentDenyForInvitedUser(e.appointmentId)}openDenyAppointmentInvitationsDialog(){return this.dialogService.openConfirmActionDialog(this.withdrawDialogData).afterClosed()}get withdrawDialogData(){return{title:this.transloco.translate("calendar.sureToDeclineTheMeetingInvitation"),actions:[new Ke({text:this.transloco.translate("button.cancel")}),new pt({color:"error",returnValue:!0,text:this.transloco.translate("button.reject")}
1)],body:this.transloco.translate("calendar.afterRejectionYouCanStillAcceptItAgain")}}static{this.\u0275fac=function(t){return new(t||n)(Ee(ye),Ee(P),Ee(Fe),Ee($e),Ee(Pe),Ee(be))}}static{this.\u0275prov=He({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var zt=(function(n){return n[n.WaitingForDecision=0]="WaitingForDecision",n[n.Approved=1]="Approved",n[n.Rejected=2]="Rejected",n})(zt||{});var ds=["details",""],ms=()=>({dateStyle:"long",timeStyle:"short"});function us(n,a){if(n&1&&(s(0,"div",7),E(1,"i",12),u(2),d()),n&2){p();let e=Y(1);r(2),T("",e.event.status.text," ")}}function gs(n,a){if(n&1){let e=V();s(0,"button",13),M("click",function(){D(e),p();let i=Y(1),o=p();return S(o.reject(i.event))}),u(1),d()}if(n&2){let e=p().$implicit,t=p();h("permissionRequired",t.appointmentDenyForInvitedUserPermission),r(),T(" ",e("calendar.reject")," ")}}function hs(n,a){if(n&1&&(k(0),oe(1),s(2,"neptun-basic-dialog-layout"),E(3,"neptun-primary-title",1),k(4,2),s(5,"h4",3),u(6),C(7,"intervalDateTimePipe"),d(),s(8,"neptun-data-view")(9,"dl")(10,"div",4)(11,"dt"),u(12),d(),s(13,"dd"),u(14),d()(),s(15,"div",4)(16,"dt"),u(17),d(),s(18,"dd"),u(19),d()(),s(20,"div",4)(21,"dt"),u(22),d(),s(23,"dd",5),u(24),C(25,"hyphen"),d()()()(),s(26,"div",6),f(27,us,3,1,"div",7)(28,gs,2,2,"button",8),d(),R(),k(29,9),s(30,"div",10)(31,"a",11),u(32),d()(),R(),d(),R()),n&2){let e=a.$implicit,t=p();r();let i=re(t.details());r(2),h("isModalTitle",!0)("title",i.event.subject)("noMarginBottom",!0),r(3),w(_n(7,14,i.event.startTime,i.event.endTime,ce(21,ms),!1)),r(6),w(e("global.place")),r(2),w(i.event.location),r(3),w(e("calendar.creator")),r(2),w(i.event.printName),r(3),w(e("global.description")),r(2),w(x(25,19,i.event.description)),r(3),b(i.event.status.value===t.recipientStatuses.Approved?27:-1),r(),b(t.canRejectAppointment()?28:-1),r(4),w(e("button.close"))}}var kr=(()=>{class n{constructor(){this.details=Je.required(),this.appointmentRejected=Be(),this.recipientStatuses=zt,this.canRejectAppointment=Ye(()=>{let e=new Date,t=this.details().event,i=new Date(t.startTime);return t.status.value!==zt.Rejected&&i>e}),this.appointmentDenyForInvitedUserPermission={controllerName:"Calendar",actionName:"AppointmentDenyForInvitedUser"}}reject(e){this.appointmentRejected.emit(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-event-details-general-user","details",""]],inputs:{details:[1,"details"]},outputs:{appointmentRejected:"appointmentRejected"},attrs:ds,decls:1,vars:0,consts:[[4,"transloco"],["title","",3,"isModalTitle","title","noMarginBottom"],["content",""],[1,"event-title"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],[1,"event-details__action"],[1,"event-details__action__status"],["neptun-button","","id","3dc5a614-1598-45c0-888d-abdd7b84699a",3,"permissionRequired"],["actions",""],["neptunBasicDialogLayoutActions","",1,"event-navigate"],["mat-dialog-close","",1,"event-navigate-action"],[1,"icon-circle-checked","icon-success"],["neptun-button","","id","3dc5a614-1598-45c0-888d-abdd7b84699a",3,"click","permissionRequired"]],template:function(t,i){t&1&&f(0,hs,33,22,"ng-container",0)},dependencies:[$,at,We,ve,Ce,we,ee,Oe,it,_t,xt,fe],styles:[".event-title[_ngcontent-%COMP%]{color:#213055;margin-bottom:32px}.event-title[_ngcontent-%COMP%] + .event-details[_ngcontent-%COMP%]{margin-top:32px}.event-details[_ngcontent-%COMP%] + .event-details[_ngcontent-%COMP%]{margin-top:24px}.event-details[_ngcontent-%COMP%] + .event-description[_ngcontent-%COMP%]{margin-top:32px}.event-description[_ngcontent-%COMP%] + .event-details__action[_ngcontent-%COMP%]{margin-top:24px}.icon-success[_ngcontent-%COMP%]{font-size:24px;color:#00dea4}.event-details__action[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(34,34,34,.2);border-bottom:1px solid rgba(34,34,34,.2);padding:16px 0;margin-top:32px}.event-details__action__status[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:8px}.event-navigate[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}@media only screen and (max-width:574px){.event-navigate[_ngcontent-%COMP%]{justify-content:center}}.event-navigate-action[_ngcontent-%COMP%]{color:#fff}"],changeDetection:0})}}return n})();var _s=["details",""],fs=()=>({dateStyle:"long",timeStyle:"short"}),vs=()=>({iconClass:"icon-trash"}),Cs=(n,a)=>a.participantId;function xs(n,a){if(n&1&&E(0,"neptun-user-image",14),n&2){let e=p().$implicit;h("printName",e.img.printName)("image",e.img.image)("fallbackColorCodeInHexa",e.img.fallbackColorCodeInHexa)}}function ys(n,a){if(n&1&&(s(0,"div",16),E(1,"i",19),s(2,"p"),u(3),d()()),n&2){let e=p(3).$implicit;r(3),w(e("studentCard.accepted"))}}function Ds(n,a){if(n&1&&(s(0,"div",16),E(1,"i",20),s(2,"p"),u(3),d()()),n&2){let e=p(3).$implicit;r(3),w(e("calendar.pending"))}}function Ss(n,a){if(n&1&&(s(0,"div",16),E(1,"i",21),s(2,"p"),u(3),d()()),n&2){let e=p(3).$implicit;r(3),w(e("calendar.rejected"))}}function ws(n,a){if(n&1){let e=V();s(0,"div")(1,"div",12)(2,"div",13),f(3,xs,1,3,"neptun-user-image",14),d(),s(4,"div",15)(5,"h4"),u(6),d(),f(7,ys,4,1,"div",16)(8,Ds,4,1,"div",16)(9,Ss,4,1,"div",16),d(),s(10,"div",17)(11,"button",18),M("click",function(){let i=D(e).$implicit,o=p(3);return S(o.removeRecipient(i.participantId))}),d()()()()}if(n&2){let e=a.$implicit,t=p(2).$implicit,i=p();r(3),b(e.img?3:-1),r(3),Ta("",e.printName," ",e.nickName?"("+e.nickName+")":""," "),r(),b(e.status.value===i.recipientStatuses.Approved?7:-1),r(),b(e.status.value===i.recipientStatuses.WaitingForDecision?8:-1),r(),b(e.status.value===i.recipientStatuses.Rejected?9:-1),r(2),h("prefixIcon",ce(9,vs))("permissionRequired",i.removeAppointmentParticipantPermission),mn("aria-label",t("button.remove"))}}function Ts(n,a){if(n&1&&(s(0,"h3",11),u(1),d(),Le(2,ws,12,10,"div",null,Cs)),n&2){let e=p().$implicit,t=Y(1);r(),w(e("calendar.participants")),r(),Ne(t.recipientsWithAvatar)}}function Es(n,a){if(n&1){let e=V();k(0),oe(1),s(2,"neptun-basic-dialog-layout"),E(3,"neptun-primary-title",1),k(4,2),s(5,"h4",3),u(6),C(7,"intervalDateTimePipe"),d(),s(8,"neptun-data-view")(9,"dl")(10,"div",4)(11,"dt"),u(12),d(),s(13,"dd",5),u(14),C(15,"hyphen"),d()(),s(16,"div",4)(17,"dt"),u(18),d(),s(19,"dd",5),u(20),C(21,"hyphen"),d()()()(),f(22,Ts,4,1),R(),k(23,6),s(24,"div",7)(25,"button",8),u(26),d(),s(27,"button",9),M("click",function(){D(e);let i=p();return S(i.modify())}),u(28),d(),s(29,"button",10),M("click",function(){D(e);let i=p();return S(i.delete())}),u(30),d()(),R(),d(),R()}if(n&2){let e=a.$implicit,t=p();r();let i=re(t.details());r(2),h("isModalTitle",!0)("title",i.event.subject)("noMarginBottom",!0),r(3),w(_n(7,17,i.event.startTime,i.event.endTime,ce(26,fs),!1)),r(6),w(e("global.place")),r(2),w(x(15,22,i.event.location)),r(4),w(e("global.description")),r(2),w(x(21,24,i.event.description)),r(2),b(i.recipientsWithAvatar&&i.recipientsWithAvatar.length>0?22:-1),r(4),T(" ",e("button.cancel")," "),r(),h("permissionRequired",t.modifyAppointmentPermission)("loading",t.isRecipientRemoveLoading()),r(),T(" ",e("button.modify")," "),r(),h("permissionRequired",t.deleteAppointmentPermission)("loading",t.isEventRemoveLoading()),r(),T(" ",e("button.delete")," ")}}var Rr=(()=>{class n{constructor(){this.details=Je.required(),this.participantDeleted=Be(),this.eventDeleted=Be(),this.eventModified=Be(),this.loadingService=v($t),this.dialogService=v($e),this.translocoService=v(Fe),this.recipientStatuses=zt,this.icons=vt,this.isRecipientRemoveLoading=ft(this.loadingService.isLoadingByUrls(["UserProfile/GetUsersAvatar","Calendar/GetOwnerAppointmentDetails"]),{initialValue:!1}),this.isEventRemoveLoading=ft(this.loadingService.isLoadingByUrl("Calendar/DeleteAppointment"),{initialValue:!1}),this.modifyAppointmentPermission={controllerName:"Calendar",actionName:"ModifyAppointment"},this.deleteAppointmentPermission={controllerName:"Calendar",actionName:"DeleteAppointment"},this.removeAppointmentParticipantPermission={controllerName:"Calendar",actionName:"RemoveAppointmentParticipant"}}removeRecipient(e){this.dialogService.openConfirmActionDialog({title:this.translocoService.translate("appointmentBooking.deleteMeetingParticipantQuestion"),body:this.translocoService.translate("notification.cannotUndo"),actions:[new Ke({text:this.translocoService.translate("button.cancel")}),new pt({color:"error",text:this.translocoService.translate("button.delete"),returnValue:!0})]}).afterClosed().subscribe(t=>{t&&this.participantDeleted.emit({appointmentId:this.details().event.appointmentId,participantId:e})})}delete(){this.dialogService.openConfirmActionDialog({title:this.translocoService.translate("appointmentBooking.deleteMeetingQuestion"),body:this.translocoService.translate("notification.cannotUndo"),actions:[new Ke({text:this.translocoService.translate("button.cancel")}),new pt({color:"error",text:this.translocoService.translate("button.delete"),returnValue:!0})]}).afterClosed().subscribe(e=>{e&&this.eventDeleted.emit()})}modify(){this.eventModified.emit()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-event-details-owner-user","details",""]],inputs:{details:[1,"details"]},outputs:{participantDeleted:"participantDeleted",eventDeleted:"eventDeleted",eventModified:"eventModified"},attrs:_s,decls:1,vars:0,consts:[[4,"transloco"],["title","",3,"isModalTitle","title","noMarginBottom"],["content",""],[1,"dialog__event-title"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["actions",""],["neptunBasicDialogLayoutActions",""],["neptun-button","","color","white","matDialogClose","",1,"dialog__event-actions-close"],["neptun-button","","accent","flat",3,"click","permissionRequired","loading"],["neptun-button","","accent","flat","color","error",3,"click","permissionRequired","loading"],[1,"dialog__event-participants-title"],[1,"dialog__event-participants"],[1,"dialog__event-participants__avatar"],[3,"printName","
1image","fallbackColorCodeInHexa"],[1,"dialog__event-participants__user"],[1,"dialog__event-participants__user__status"],[1,"dialog__event-participants-remove"],["neptun-button","","accent","icon","color","error",1,"dialog__event-participants-remove",3,"click","prefixIcon","permissionRequired"],[1,"icon-circle-checked","dialog__icon-success"],[1,"icon-question-circle","dialog__icon-waiting"],[1,"icon-circle-x","dialog__icon-error"]],template:function(t,i){t&1&&f(0,Es,31,27,"ng-container",0)},dependencies:[$,at,We,ve,Ce,we,Ya,ee,Oe,it,_t,xt,fe],styles:[".dialog__event-title[_ngcontent-%COMP%]{margin-bottom:32px}neptun-user-image[_ngcontent-%COMP%]{width:40px;height:40px;min-width:40px}[_nghost-%COMP%] .monogram-bg{width:100%;height:100%;opacity:.4}.dialog__event-participants-title[_ngcontent-%COMP%]{margin-top:24px;margin-bottom:24px}.dialog__event-participants[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(10,1fr);grid-column-gap:20px;border-bottom:1px solid rgba(34,34,34,.2);padding-bottom:12px;margin-bottom:12px}.dialog__event-participants__avatar[_ngcontent-%COMP%]{grid-column:1/2}.dialog__event-participants__user[_ngcontent-%COMP%]{grid-column:2/9;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.dialog__event-participants-remove[_ngcontent-%COMP%]{grid-column:10/11;display:grid;align-content:center;justify-content:center}.dialog__event-participants-remove[_ngcontent-%COMP%]{font-size:20px;text-decoration:none}.dialog__icon-success[_ngcontent-%COMP%], .dialog__icon-waiting[_ngcontent-%COMP%], .dialog__icon-error[_ngcontent-%COMP%]{font-size:24px}.dialog__icon-error[_ngcontent-%COMP%]{color:#a62c2c}.dialog__icon-success[_ngcontent-%COMP%]{color:#00dea4}.dialog__icon-waiting[_ngcontent-%COMP%]{color:#dadada}.dialog__event-participants__avatar[_ngcontent-%COMP%]{display:grid;justify-content:center;align-content:center}.dialog__event-participants__user__status[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px}.dialog__event-actions-close[_ngcontent-%COMP%]{color:#fff}@media screen and (max-width:574px){.dialog__event-participants__avatar[_ngcontent-%COMP%]{grid-column:1/3}.dialog__event-participants__user[_ngcontent-%COMP%]{grid-column:3/8}.dialog__event-participants-remove[_ngcontent-%COMP%]{grid-column:8/11}.dialog__event-actions[_ngcontent-%COMP%]{flex-direction:column;justify-content:center}.dialog__event-actions-close[_ngcontent-%COMP%]{text-align:center}.dialog__event-actions[_ngcontent-%COMP%] .dialog__event-actions-close[_ngcontent-%COMP%], .dialog__event-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}"],changeDetection:0})}}return n})();function Vr(n,a){return{event:n,recipientsWithAvatar:n.recipients?.map(e=>G(B({},e),{img:a.find(t=>t.userId.toString()===e.participantId)}))}}function bs(n){return $a(n,"participantId")}var ra=me(xe(()=>({details:ae})),Te(),le((n,a=v(ye),e=v(P),t=v(fo),i=v(wt),o=v($e),l=v(Pe),m=v(dn),c=v(be))=>({loadDetails:q(g=>g.pipe(N(({eventId:_,isOwner:y})=>n.execute("details",y?a.getAppointmentDetailsOwnerUser(_).pipe(N(I=>I.recipients?t.getUsersAvatar(bs(I.recipients),_o.Thumbnail).pipe(O(A=>Vr(I,A))):cn(Vr(I,[])))):a.getAppointmentDetailsGeneralUser(_).pipe(O(I=>({event:I,recipientsWithAvatar:[]}))))))),appointmentRejected:q(g=>g.pipe(dt(({appointment:_,onSuccess:y})=>i.openDenyAppointmentInvitationsDialog().pipe(J(I=>!!I),N(()=>i.reject(_)),Ue(1),H(()=>{y(),l.dispatch(new Ae.AddErrorPushNotification({title:"notification.appointmentDeclined",secondaryTitle:_.subject,description:c.localizeDate(new Date,void 0,{dateStyle:"long",timeStyle:"short"})}))}))))),participantDeleted:q(g=>g.pipe(dt(({event:_,onSuccess:y})=>e.deleteParticipant(_).pipe(Ue(1),H(()=>{l.dispatch(new Ae.AddSuccessPushNotification({title:"notification.deleteSuccess"})),y()}),Ve(I=>(l.dispatch(new Ae.AddErrorPushNotification({title:"notification.unsuccessfulDelete"})),m.handleError(I),Re)))))),eventDeleted:q(g=>g.pipe(dt(({appointmentId:_,getCalendarEvents:y,onSuccess:I})=>e.deleteEvent(_).pipe(Ue(1),H(()=>{l.dispatch(new Ae.AddSuccessPushNotification({title:"notification.deleteSuccess"})),y(),I()}),Ve(A=>(l.dispatch(new Ae.AddErrorPushNotification({title:"notification.unsuccessfulDelete"})),m.handleError(A),Re)))))),eventModified:q(g=>g.pipe(H(({dialogData:_,closeDetailsDialog:y,getCalendarEvents:I})=>{let A=o.openDialog(hi,_);y(),A.afterClosed().pipe(J(Boolean),Ue(1)).subscribe(()=>{l.dispatch(new Ae.AddSuccessPushNotification({title:"notification.successfulUpdate"})),I()})})))})),ei((n,a=v(ht))=>({onInit:()=>{n.loadDetails(a)}})));function Is(n,a){if(n&1){let e=V();s(0,"neptun-event-details-owner-user",3),M("eventDeleted",function(){D(e);let i=p(2),o=Y(0);return S(i.eventDeleted(o.data.event.appointmentId))})("eventModified",function(){D(e);let i=p(2),o=Y(0);return S(i.eventModified(o.data.event))})("participantDeleted",function(i){D(e);let o=p(2);return S(o.participantDeleted(i))}),d()}if(n&2){p(2);let e=Y(0);h("details",e.data)}}function Ms(n,a){if(n&1){let e=V();s(0,"neptun-event-details-general-user",4),M("appointmentRejected",function(i){D(e);let o=p(2);return S(o.appointmentRejected(i))}),d()}if(n&2){p(2);let e=Y(0);h("details",e.data)}}function Ps(n,a){if(n&1&&f(0,Is,1,1,"neptun-event-details-owner-user",2)(1,Ms,1,1,"neptun-event-details-general-user",2),n&2){let e=p();b(e.data.isOwner?0:1)}}function As(n,a){n&1&&(s(0,"div",0),E(1,"neptun-details-loading-placeholder"),d())}function ks(n,a){n&1&&E(0,"neptun-request-error-indicator",1)}var Fr=(()=>{class n{constructor(){this.data=v(ht),this.eventDetailsStore=v(ra),this.calendarService=v(ye),this.dialogRef=v(Cn),this.details=this.eventDetailsStore.details}appointmentRejected(e){this.eventDetailsStore.appointmentRejected({appointment:e,onSuccess:()=>{this.dialogRef.close(),this.data.getCalendarEvents()}})}participantDeleted(e){this.eventDetailsStore.participantDeleted({event:e,onSuccess:()=>this.calendarService.participantRefresh()})}eventDeleted(e){this.eventDetailsStore.eventDeleted({appointmentId:e,getCalendarEvents:()=>this.data.getCalendarEvents(),onSuccess:()=>this.dialogRef.close()})}eventModified(e){this.eventDetailsStore.eventModified({dialogData:e,closeDetailsDialog:()=>this.dialogRef.close(),getCalendarEvents:()=>this.data.getCalendarEvents()})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-event-details"]],features:[Z([ra,P,ye,wt])],decls:7,vars:10,consts:[[1,"neptun-wrapper"],["test-id","error"],[3,"details"],[3,"eventDeleted","eventModified","participantDeleted","details"],[3,"appointmentRejected","details"]],template:function(t,i){if(t&1&&(oe(0),f(1,Ps,2,1),C(2,"isResultRequest"),f(3,As,2,0,"div",0),C(4,"isLoadingRequest"),f(5,ks,1,0,"neptun-request-error-indicator",1),C(6,"hasError")),t&2){let o=re(i.details());r(),b(x(2,4,o)?1:-1),r(2),b(x(4,6,o)?3:-1),r(2),b(x(6,8,o)?5:-1)}},dependencies:[Rr,kr,Ie,Se,pe,_e,de],encapsulation:2,changeDetection:0})}}return n})();var la=me(xe(()=>({exam:ae})),Te(),le((n,a=v(P))=>({getExamDetails:q(e=>e.pipe(N(t=>n.execute("exam",a.getExamDetails(t)))))})));var Rs=n=>["exams","overview","taken",n],Vs=(n,a)=>({subjectName:n,courseExamId:a});function Fs(n,a){if(n&1){let e=V();s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()(),s(14,"div",2)(15,"dt"),u(16),d(),s(17,"dd",3),u(18),C(19,"hyphen"),d()(),s(20,"div",2)(21,"dt"),u(22),d(),s(23,"dd",3),u(24),C(25,"hyphen"),d()()()(),s(26,"a",4),M("click",function(){D(e);let i=p(2);return S(i.closeDialog())}),u(27),d()}if(n&2){let e=p().$implicit,t=Y(1),i=p();r(4),w(e("questionnaire.courseCode")),r(2),T(" ",x(7,11,t.data.courseCode)," "),r(4),w(e("global.type")),r(2),T(" ",x(13,13,t.data.type)," "),r(4),w(e("exams.examiners")),r(2),T(" ",x(19,15,t.data.examTutors)," "),r(4),w(e("exams.rooms")),r(2),T(" ",x(25,17,t.data.room)," "),r(2),h("routerLink",Me(19,Rs,i.data.examId))("queryParams",mt(21,Vs,t.data.subjectName,t.data.courseExamId)),r(),T(" ",e("calendar.moreExamInformation")," ")}}function Os(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function Ls(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function Ns(n,a){if(n&1&&(k(0),oe(1),f(2,Fs,28,24),C(3,"isResultRequest"),f(4,Os,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,Ls,
11,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().exam());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var Or=(()=>{class n{constructor(){this.examDetailDialogStore=v(la),this.dialogRef=v(he),this.exam=this.examDetailDialogStore.exam}ngOnInit(){this.examDetailDialogStore.getExamDetails(this.data.examId)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-exam-detail-dialog"]],inputs:{data:"data"},features:[Z([la,P])],decls:1,vars:0,consts:[[4,"transloco"],["test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["focusElement","","id","6da210e0-ad77-4fb4-afa8-e7c09e7253c4","color","primary",1,"navigation-link",3,"click","routerLink","queryParams"]],template:function(t,i){t&1&&f(0,Ns,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,tt,ze,fe,pe,_e,we,de],styles:['.navigation-link[_ngcontent-%COMP%]{margin-top:24px;transition:none}.navigation-link[_ngcontent-%COMP%]:hover{transition:none}.navigation-link[_ngcontent-%COMP%]:after{content:"";display:inline-block;padding:3px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);margin:1px 5px;border:solid #0943d9;border-width:0 2px 2px 0}'],changeDetection:0})}}return n})();var sa=me(xe({finalExam:ae}),Te(),le(n=>{let a=v(P),e=v(nt);return{getFinalExamDetails:q(t=>t.pipe(N(i=>e.getAccessMode("Calendar","GetFinalExamDetails").pipe(J(o=>o.accessMode==="enabled"),N(()=>n.execute("finalExam",a.getFinalExamDetails(i)))))))}}));var js=()=>({dateStyle:"long",timeStyle:"short"}),Hs=()=>({iconClass:"icon-chevron-right",fontSize:"12px"});function $s(n,a){if(n&1){let e=V();s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()(),s(14,"div",2)(15,"dt"),u(16),d(),s(17,"dd",3),u(18),C(19,"translocoDate"),C(20,"hyphen"),d()(),s(21,"div",2)(22,"dt"),u(23),d(),s(24,"dd",3),u(25),C(26,"hyphen"),d()(),s(27,"div",2)(28,"dt"),u(29),d(),s(30,"dd",3),u(31),C(32,"hyphen"),d()(),s(33,"div",2)(34,"dt"),u(35),d(),s(36,"dd",3),u(37),C(38,"hyphen"),d()(),s(39,"div",2)(40,"dt"),u(41),d(),s(42,"dd",3),u(43),C(44,"hyphen"),d()(),s(45,"div",2)(46,"dt"),u(47),d(),s(48,"dd",3),u(49),C(50,"hyphen"),d()()()(),s(51,"button",4),M("click",function(){D(e),p();let i=Y(1),o=p();return S(o.goToDetails(i.data.startDate,i.data.finalExamApplicationId,i.data.periodName))}),u(52),d()}if(n&2){let e=p().$implicit,t=Y(1);r(4),w(e("finalExams.examType")),r(2),T(" ",x(7,19,t.data.examType)," "),r(4),w(e("subjects.room")),r(2),T(" ",x(13,21,t.data.rooms)," "),r(4),w(e("menu.role")),r(2),T(" ",x(20,26,hn(19,23,t.data.applicationDate,ce(38,js)))," "),r(5),w(e("finalExams.examAssignedRoom")),r(2),T(" ",x(26,28,t.data.applicationRoom)," "),r(4),w(e("finalExams.examNumber")),r(2),T(" ",x(32,30,t.data.serialNumber)," "),r(4),w(e("global.subject")),r(2),T(" ",x(38,32,t.data.subjectName)," "),r(4),w(e("global.headcount")),r(2),T(" ",x(44,34,t.data.numberOfApplicants)," "),r(4),w(e("global.description")),r(2),T(" ",x(50,36,t.data.description)," "),r(2),h("hasLeftOffset",!0)("postfixIcon",ce(39,Hs)),r(),T(" ",e("calendar.moreFinalExamInformation")," ")}}function Bs(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function qs(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function Us(n,a){if(n&1&&(k(0),oe(1),f(2,$s,53,40),C(3,"isResultRequest"),f(4,Bs,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,qs,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().finalExam());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var Lr=(()=>{class n{constructor(){this.finalExamDetailDialogStore=v(sa),this.dialogRef=v(he),this.router=v(yn),this.dateLocalizationService=v(be),this.finalExam=this.finalExamDetailDialogStore.finalExam}ngOnInit(){this.finalExamDetailDialogStore.getFinalExamDetails({applicationId:this.data.applicationId,finalExamId:this.data.finalExamId,studentTrainingId:this.data.studentTrainingId,periodId:this.data.periodId})}closeDialog(){this.dialogRef.close()}goToDetails(e,t,i){let o=this.dateLocalizationService.localizeDate(e,void 0,{dateStyle:"long",timeStyle:"short"});this.data.isActive?this.router.navigate(["exams","final-exams","registration","exam",this.data.finalExamId],{queryParams:{periodId:this.data.periodId,examTime:o,periodName:i,applicationId:this.data.applicationId}}):this.router.navigate(["exams","final-exams","previous-registrations",this.data.applicationId,"exam",this.data.finalExamId],{queryParams:{periodId:this.data.periodId,periodName:i,examTime:o,applicationId:this.data.applicationId,examApplicationId:t}}
1),this.closeDialog()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-final-exam-detail-dialog"]],inputs:{data:"data"},features:[Z([sa,P])],decls:1,vars:0,consts:[[4,"transloco"],[3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["neptun-button","","id","final-exam-detail-dialog-navigation-link",1,"navigation-button",3,"click","hasLeftOffset","postfixIcon"]],template:function(t,i){t&1&&f(0,Us,8,10,"ng-container",0)},dependencies:[$,ve,Ce,we,fe,Ie,de,_e,pe,Se,ee,ja],styles:[".navigation-button[_ngcontent-%COMP%]{margin-top:32px}"],changeDetection:0})}}return n})();var ca=me(xe(()=>({holiday:ae})),Te(),le((n,a=v(P))=>({getHolidayDetails:q(e=>e.pipe(N(t=>n.execute("holiday",a.getHolidayDetails(t)))))})));function Gs(n,a){if(n&1&&(s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()()()()),n&2){let e=p().$implicit,t=Y(1);r(4),w(e("global.site")),r(2),T(" ",x(7,4,t.data.sites)," "),r(4),w(e("global.description")),r(2),T(" ",x(13,6,t.data.description)," ")}}function zs(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function Ws(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function Ys(n,a){if(n&1&&(k(0),oe(1),f(2,Gs,14,8,"neptun-data-view"),C(3,"isResultRequest"),f(4,zs,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,Ws,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().holiday());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var Nr=(()=>{class n{constructor(){this.holidayDetailDialogStore=v(ca),this.dialogRef=v(he),this.dateTimeStyle={dateStyle:"long",timeStyle:"short"},this.holiday=this.holidayDetailDialogStore.holiday}ngOnInit(){this.holidayDetailDialogStore.getHolidayDetails(this.data.holidayId)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-holiday-detail-dialog"]],inputs:{data:"data"},features:[Z([ca,P])],decls:1,vars:0,consts:[[4,"transloco"],["de","","test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""]],template:function(t,i){t&1&&f(0,Ys,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,fe,pe,_e,we,de],encapsulation:2,changeDetection:0})}}return n})();var pa=me(xe(()=>({studyPeriod:ae})),Te(),le((n,a=v(P))=>({getStudyPeriodDetails:q(e=>e.pipe(N(t=>n.execute("studyPeriod",a.getPeriodDetails(t)))))})));function Xs(n,a){if(n&1&&(s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()(),s(14,"div",2)(15,"dt"),u(16),d(),s(17,"dd",3),u(18),C(19,"hyphen"),d()()()()),n&2){let e=p().$implicit,t=Y(1);r(4),w(e("finalExams.periodType")),r(2),T(" ",x(7,6,t.data.type)," "),r(4),w(e("global.semester")),r(2),T(" ",x(13,8,t.data.term)," "),r(4),w(e("periods.administrationalOrganizations")),r(2),T(" ",x(19,10,t.data.organizations.join(","))," ")}}function Qs(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function Ks(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function Js(n,a){if(n&1&&(k(0),oe(1),f(2,Xs,20,12,"neptun-data-view"),C(3,"isResultRequest"),f(4,Qs,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,Ks,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().studyPeriod());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var jr=(()=>{class n{constructor(){this.studyPeriodDetailDialogStore=v(pa),this.dialogRef=v(he),this.dateTimeStyle={dateStyle:"long",timeStyle:"short"},this.studyPeriod=this.studyPeriodDetailDialogStore.studyPeriod}ngOnInit(){this.studyPeriodDetailDialogStore.getStudyPeriodDetails(this.data.periodId)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-study-period-detail-dialog"]],inputs:{data:"data"},features:[Z([pa,P])],decls:1,vars:0,consts:[[4,"transloco"],["test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""]],template:function(t,i){t&1&&f(0,Js,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,we,fe,pe,_e,de],encapsulation:2,changeDetection:0})}}return n})();var da=me(xe(()=>({subscriptionList:ae})),Te(),le((n,a=v(P))=>({getSubscriptionListDetails:q(e=>e.pipe(N(t=>n.execute("subscriptionList",a.getSubscriptionListDetails(t)))))})));var Zs=()=>({iconClass:"icon-chevron-right",fontSize:"12px"}),ec=(n,a)=>["communal-spaces","list",n,"events",a],tc=(n,a,e)=>({title:n,tab:a,eventName:e});function nc(n,a){if(n&1){let e=V();s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()()()(),s(14,"button",4),M("click",function(){D(e);let i=p(2);return S(i.closeDialog())}),u(15),d()}if(n&2){let e=p().$implicit,t=Y(1);r(4),w(e("exams.creatorName")),r(2),T(" ",x(7,9,t.data.creator)," "),r(4),w(e("global.description")),r(2),T(" ",x(13,11,t.data.description)," "),r(2),h("postfixIcon",ce(13,Zs))("hasLeftOffset",!0)("routerLink",mt(14,ec,t.data.virtualSpaceId,t.data.subscriptionListId))("queryParams",gn(17,tc,t.data.virtualSpaceName,e("communalSpace.events"),t.data.name)),r(),T(" ",e("calendar.additionalSubscriptionListInformation")," ")}}function ic(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function ac(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function oc(n,a){if(n&1&&(k(0),oe(1),f(2,nc,16,21),C(3,"isResultRequest"),f(4,ic,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,ac,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().subscriptionList());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var Hr=(()=>{class n{constructor(){this.subscriptionListDetailDialogStore=v(da),this.dialogRef=v(he),this.subscriptionList=this.subscriptionListDetailDialogStore.subscriptionList}ngOnInit(){this.subscriptionListDetailDialogStore.getSubscriptionListDetails(this.data.subscriptionListId)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-subscription-list-detail-dialog"]],inputs:{data:"data"},features:[Z([da,P])],decls:1,vars:0,consts:[[4,"transloco"],["test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["neptun-button","",1,"navigation-button",3,"click","postfixIcon","hasLeftOffset","routerLink","queryParams"]],template:function(t,i){t&1&&f(0,oc,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,ee,ze,fe,we,pe,_e,de],styles:[".navigation-button[_ngcontent-%COMP%]{margin-top:32px}"],changeDetection:0})}}return n})();var ma=me(xe(()=>({task:ae})),Te(),le((n,a=v(P))=>
1({getTaskDetails:q(e=>e.pipe(N(({midtermTaskId:t,webexMeetingId:i})=>n.execute("task",a.getMidTermTaskDetails(t,i)))))})));var rc=n=>["subjects","tasks","actual",n],lc=n=>({taskName:n});function sc(n,a){if(n&1){let e=V();s(0,"neptun-data-view")(1,"dl")(2,"div",2)(3,"dt"),u(4),d(),s(5,"dd",3),u(6),C(7,"hyphen"),d()(),s(8,"div",2)(9,"dt"),u(10),d(),s(11,"dd",3),u(12),C(13,"hyphen"),d()(),s(14,"div",2)(15,"dt"),u(16),d(),s(17,"dd",3),u(18),C(19,"hyphen"),d()()()(),s(20,"a",4),M("click",function(){D(e);let i=p(2);return S(i.closeDialog())}),u(21),d()}if(n&2){let e=p().$implicit,t=Y(1);r(4),w(e("publication.nature")),r(2),T(" ",x(7,9,t.data.taskKind)," "),r(4),w(e("global.type")),r(2),T(" ",x(13,11,t.data.taskType)," "),r(4),w(e("exams.rooms")),r(2),T(" ",x(19,13,t.data.rooms)," "),r(2),h("routerLink",Me(15,rc,t.data.midTermTaskId))("queryParams",Me(17,lc,t.data.taskName)),r(),T(" ",e("calendar.moreTaskInformation")," ")}}function cc(n,a){n&1&&E(0,"neptun-details-loading-placeholder")}function pc(n,a){n&1&&E(0,"neptun-request-error-indicator",1),n&2&&h("isButtonHidden",!0)}function dc(n,a){if(n&1&&(k(0),oe(1),f(2,sc,22,19),C(3,"isResultRequest"),f(4,cc,1,0,"neptun-details-loading-placeholder"),C(5,"isLoadingRequest"),f(6,pc,1,1,"neptun-request-error-indicator",1),C(7,"hasError"),R()),n&2){r();let e=re(p().task());r(),b(x(3,4,e)?2:-1),r(2),b(x(5,6,e)?4:-1),r(2),b(x(7,8,e)?6:-1)}}var $r=(()=>{class n{constructor(){this.taskDetailDialogStore=v(ma),this.dialogRef=v(he),this.task=this.taskDetailDialogStore.task}ngOnInit(){this.taskDetailDialogStore.getTaskDetails(this.data)}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-task-detail-dialog"]],inputs:{data:"data"},features:[Z([ma,P])],decls:1,vars:0,consts:[[4,"transloco"],["test-id","error",3,"isButtonHidden"],["neptunDataViewItem",""],["neptunHyphenAriaLabel",""],["focusElement","","id","32c2e404-e2cb-4649-af7e-ec5eae48b22e","color","primary",1,"navigation-link",3,"click","routerLink","queryParams"]],template:function(t,i){t&1&&f(0,dc,8,10,"ng-container",0)},dependencies:[$,ve,Ce,Ie,Se,tt,ze,fe,pe,_e,we,de],styles:['.navigation-link[_ngcontent-%COMP%]{margin-top:24px;transition:none}.navigation-link[_ngcontent-%COMP%]:hover{transition:none}.navigation-link[_ngcontent-%COMP%]:after{content:"";display:inline-block;padding:3px;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);margin:1px 5px;border:solid #0943d9;border-width:0 2px 2px 0}'],changeDetection:0})}}return n})();var ua={filterTypes:[],viewType:null,dateRange:null,studentTrainings:[],selectedDate:new Date,calendarEvents:[],monthEvents:[],isLoading:!1,filters:{selectedFilters:[],selectedStudentTraining:[]},linksForCalendarExport:{url:"",urlForWebCalendars:""},appointmentInvitations:ae},ga=me(xe(ua),hr(n=>({selectedStudentTrainings:Ye(()=>n.filters().selectedStudentTraining),dropdownFilterTypes:Ye(()=>n.filters().selectedFilters),selectedViewTypeText:Ye(()=>{let a=n.viewType();return a?a.text:""}),selectedViewTypeType:Ye(()=>{let a=n.viewType();return a?a.type:U.Daily}),numberOfSelectedFilters:Ye(()=>n.filters().selectedFilters.filter(a=>a.isEnabled).length)})),le(n=>{let a=v(Fe),e=v(Rt),t=v(En),i=v(P),o=v(nt),l=v(Pe),m=(c,g=!0)=>{let _=new Date(c.start),y=new Date(c.end);g&&(_.setHours(0,0,0,0),y.setHours(23,59,59,999),n.viewType()?.type===U.Daily&&(y=new Date(_),y.setHours(23,59,59,999)));let I=n.filters().selectedFilters,A=X=>I.some(ue=>ue.type===X&&ue.isEnabled);return i.getCalendarEvents({startDate:_,endDate:y,studentTrainingIds:n.filters().selectedStudentTraining.filter(X=>X.isEnabled).map(X=>X.studentTrainingId),isClassesVisible:A("class"),isExamsVisible:A("exam"),isFinalExamsVisible:A("finalExam"),isOnlineMeetingsVisible:A("online"),isOtherEventsVisible:A("otherEvent"),isPeriodsVisible:A("period"),isTasksVisible:A("task")})};return{setDateRange(c){se(n,{dateRange:c})},getCalendarEvents:q(c=>c.pipe(H(()=>{e.invalidateCache(),se(n,{isLoading:!0})}),N(()=>{let g=n.dateRange();return g?m({start:g.start,end:g.end}).pipe(H(_=>se(n,{calendarEvents:_,isLoading:!1}))):Re}))),getStudentTrainings:q(c=>c.pipe(H(()=>se(n,{isLoading:!0})),N(()=>i.studentTrainings().pipe(H(g=>se(n,{studentTrainings:g,filters:B({},n.filters())})))))),toggleAllSelectedFilter(){se(n,c=>{let g=c.filters.selectedFilters.every(_=>_.isEnabled);return{filters:G(B({},c.filters),{selectedFilters:c.filters.selectedFilters.map(_=>G(B({},_),{isEnabled:!g}))})}})},setStudentTrainingFilters(c){se(n,g=>({filters:G(B({},g.filters),{selectedStudentTraining:c})}))},getAppointmentInvitations:q(c=>c.pipe(H(()=>se(n,{appointmentInvitations:Lt})),N(()=>i.getNewAllAppointmentInvitations().pipe(H(g=>se(n,{appointmentInvitations:{data:g}})),Ve(g=>(se(n,{appointmentInvitations:Sn}),Et(()=>g))))))),toggleFilterState(c){let g=n.filters().selectedFilters.map(_=>G(B({},_),{isEnabled:_.type===c.type?!_.isEnabled:_.isEnabled}));se(n,_=>({filters:G(B({},_.filters),{selectedFilters:g})}))},getMonthEvents:q(c=>c.pipe(H(()=>
1{e.invalidateCache(),se(n,{isLoading:!0})}),N(()=>{let g=n.dateRange();if(g){let _=mc(n.viewType()?.type??U.Monthly,g.start);return m(_,!1).pipe(H(y=>se(n,{monthEvents:y,isLoading:!1})))}else return Re}))),setFilterTypes:q(c=>c.pipe(N(()=>{let g=n.filters().selectedFilters,_=I=>g.find(A=>A.type===I),y={isClassesVisible:!!_("class")?.isEnabled,isExamsVisible:!!_("exam")?.isEnabled,isFinalExamsVisible:!!_("finalExam")?.isEnabled,isPeriodsVisible:!!_("period")?.isEnabled,isTasksVisible:!!_("task")?.isEnabled,isOnlineMeetingsVisible:!!_("online")?.isEnabled,isOtherEventsVisible:!!_("otherEvent")?.isEnabled};return se(n,I=>({filterTypes:I.filters.selectedFilters})),t.saveCalendarSelectedTypes(y).pipe(Ve(I=>Et(()=>I)))}))),setViewType:q(c=>c.pipe(H(g=>se(n,{viewType:g})),N(g=>t.saveCalendarSelectedView(g.type)))),toggleTrainingFilterState(c){se(n,g=>{let _=g.filters.selectedStudentTraining.map(y=>G(B({},y),{isEnabled:y.studentTrainingId===c?!y.isEnabled:y.isEnabled}));return{filters:G(B({},g.filters),{selectedStudentTraining:[..._]})}})},setSignedInTrainingFilter(c){se(n,g=>{let _=g.filters.selectedStudentTraining.map(y=>G(B({},y),{signedIn:y.studentTrainingId===c})).sort((y,I)=>Number(I.signedIn)-Number(y.signedIn));return{filters:G(B({},g.filters),{selectedStudentTraining:_})}})},setSelectedDate(c){se(n,{selectedDate:c})},getDefaultViewType:q(c=>c.pipe(N(g=>t.getCalendarSelectedView().pipe(H(_=>{let y=qt();g?y=ot.find(I=>I.type===g)??qt():_&&(y=ot[_.selectedView]),se(n,{viewType:y})}))))),getFilterTypes:q(c=>c.pipe(N(()=>t.getCalendarSelectedTypes().pipe(H(g=>{let _=[{isEnabled:g.isClassesVisible,type:"class",text:a.translate("global.class")},{isEnabled:g.isExamsVisible,type:"exam",text:a.translate("global.exam")},{isEnabled:g.isFinalExamsVisible,type:"finalExam",text:a.translate("roomSchedule.finalExam")},{isEnabled:g.isPeriodsVisible,type:"period",text:a.translate("global.trainingPeriod")},{isEnabled:g.isTasksVisible,type:"task",text:a.translate("global.task")},{isEnabled:g.isOnlineMeetingsVisible,type:"online",text:a.translate("global.online")},{isEnabled:g.isOtherEventsVisible,type:"otherEvent",text:a.translate("global.otherEvent")}];se(n,y=>({filterTypes:_,filters:G(B({},y.filters),{selectedFilters:_})}))}))))),resetCalendarState(c){let g=n.dateRange();!c&&g?se(n,G(B({},ua),{dateRange:B({},g),selectedDate:n.selectedDate()})):se(n,ua)},getLinksForCalendarExport:q(c=>c.pipe(N(()=>o.getAccessMode("Calendar","GetLinksForCalendarExport").pipe(J(g=>g.accessMode==="enabled"),N(()=>i.getLinksForCalendarExport().pipe(H(g=>se(n,{linksForCalendarExport:g})))))))),regenerateLinksForCalendarExport:q(c=>c.pipe(H(()=>e.invalidateCache()),N(()=>i.generateNewLinksForCalendarExport().pipe(H(g=>{se(n,{linksForCalendarExport:g}),l.dispatch(new Ae.AddSuccessPushNotification({title:"calendar.linkGenerateSuccess"}))})))))}}),le(n=>{let a=v(Fe),e=v($e),t=new xt(v(be)),i=v(Pe);return{openDetailDialog(o){let l=[new Ke({text:a.translate("button.cancel")})],m={id:o.extendedProps.calendarEventId,isOwner:o.extendedProps.isOwner,name:o.title,type:o.extendedProps.type,studentTrainingId:o.extendedProps.studentTrainingId,webexMeetingId:o.extendedProps.webexMeetingId,isOnline:o.extendedProps.isOnline,isActive:o.extendedProps.isActive};switch(m.type){case F.Class:{let c=[];m.isOnline&&c.push('<strong class="primary">Online</strong>'),c.push(t.transform(o.start,o.end)),e.openGeneralDialog({component:_i,componentData:{classInstanceId:m.id,webexMeetingId:m.webexMeetingId,isInstitutionalCalendar:!1},filters:null,title:m.name,subTitle:c,actions:l});break}case F.Exam:{let c=[];m.isOnline&&c.push('<strong class="primary">Online</strong>'),o.extendedProps.onWaitingList&&c.push(`<strong class="primary">${a.translate("exams.onWaitingList")}</strong>`),c.push(t.transform(o.start,o.end)),e.openGeneralDialog({component:Or,componentData:{examId:m.id},filters:null,title:m.name,subTitle:c,actions:l});break}case F.FinalExam:{let c=[];m.isOnline&&c.push('<strong class="primary">Online</strong>'),c.push(t.transform(o.start,o.end,{dateStyle:"long",timeStyle:"short"},!1)),e.openGeneralDialog({component:Lr,componentData:{finalExamId:m.id,applicationId:o.extendedProps.applicationId,studentTrainingId:o.extendedProps.studentTrainingId,periodId:o.extendedProps.periodId,periodName:m.name,isActive:o.extendedProps.isActive},filters:null,title:m.name,subTitle:c,actions:l});break}case F.Appointment:{e.openDialog(Fr,{eventId:m.id,isOwner:m.isOwner,getCalendarEvents:()=>n.getCalendarEvents()});break}case F.Task:{let c=[];m.isOnline&&c.push('<strong class="primary">Online</strong>'),c.push(t.transform(o.start,o.end)),e.openGeneralDialog({component:$r,componentData:{midtermTaskId:m.id,webexMeetingId:m.webexMeetingId},filters:null,title:m.name,subTitle:c,actions:l});break}case F.SubscriptionList:{e.openGeneralDialog({component:Hr,componentData:{subscriptionListId:m.id},filters:null,title:m.name,subTitle:t.transform(o.start,o.end),actions:l});break}case F.Consultation:{let c=[];m.isOnline&&c.push('<strong class="primary">Online</strong>'),c.push(t.transform(o.start,o.end)),e.openGeneralDialog({component:Ar,componentData:{consultationAppointmentId:m.id,studentTrainingId:m.studentTrainingId},filters:null,title:m.name,subTitle:c,actions:l});break}case F.StudyPeriod:{e.openGeneralDialog({component:jr,componentData:{periodId:m.id},filters:null,title:m.name,subTitle:t.transform(o.extendedProps.startDate,o.extendedProps.endDate),actions:l});break}case F.AppointmentBooking:{e.openGeneralDialog({component:Pr,componentData:{appointmentBookingId:m.id},filters:null,title:m.name,subTitle:t.transform(o.start,o.end),actions:l});break}case F.Holiday:{e.openGeneralDialog({component:Nr,componentData:{holidayId:m.id},filters:null,title:m.name,subTitle:t.transform(o.start,o.end),actions:l});break}default:break}},changeTraining(o,l){return i.dispatch(new Na.ChangeTraining(o)).pipe(H(()=>{this.openDetailDialog(l.event)}))}}}),le(n=>{let a=v(Fe),e=v($e),t=v(P);return{openChangeTrainingDialog:q(i=>i.pipe(N(o=>t.getTrainingName(o.studentTrainingId).pipe(N(l=>e.openConfirmActionDialog({title:a.translate("calendar.changeToOtherTraining"),subTitle:l,body:a.translate("calendar.changeToOtherTrainingCaption"),actions:[new Ke({text:a.translate("button.cancel")}),new pt({text:a.translate("button.change"),returnValue:!0,webRequestCallback:()=>n.changeTraining(o.studentTrainingId,o.info)})]}).afterClosed().pipe(H(()=>{n.setSignedInTrainingFilter(o.studentTrainingId),n.getCalendarEvents()})))))))}}));function mc(n,a){let e=new Date;e.setHours(0,0,0,0);let t=e.getFullYear();if(n===U.Monthly){let i=a?new Date(a).getMonth():e.getMonth();return{start:new Date(t,i,1),end:new Date(t,i+1,1)}}if(n===U.List){let i=Bt.getNextMonthSameDay(e);return i.setHours(23,59,59,999),{start:new Date(e.getTime()),end:i}}if(n===U.Daily&&a){let i=a.getFullYear(),o=a.getMonth();return{start:new Date(i,o,1),end:new Date(i,o+1,0,23,59,59,999)}}if(n===U.Weekly){let i=e.getDay(),o=e.getDate()-i+1,l=e.getDate()-i+8;return{start:new Date(new Date(e).setDate(o)),end:new Date(new Date(e).setDate(l))}}return{start:e,end:new Date(new Date(e).setDate(e.getDate()+1))}}var Wt=(function(n){return n.ICS="ICS",n.XLSX="XLSX",n})(Wt||{});var uc={exportTermIntervalRequest:ae,exportCalendarRequest:ae},fi=(()=>{class n extends co{constructor(e,t,i,o){super(uc),this.fileService=e,this.calendarApiService=t,this.calendarService=i,this.exportExcelService=o,this.exportTermIntervalRequest$=this.select(l=>l.exportTermIntervalRequest),this.exportCalendarRequest$=this.select(l=>l.exportCalendarRequest),this.globalErrorHandler=v(ai),this.setExportTermIntervalRequest=this.updater((l,m)=>G(B({},l),{exportTermIntervalRequest:m})),this.getExportTermInterval=this.effect(l=>l.pipe(H(()=>
1this.setExportTermIntervalRequest(Lt)),N(m=>this.calendarApiService.getExportTermInterval(m).pipe(H(c=>{this.setExportTermIntervalRequest(Nt(c))}),Ve(c=>(c?.error&&ii(c.error)&&this.setExportTermIntervalRequest(wn({modelStateErrors:c.error.modelStateErrors,errorStatus:c.status})),Re)))))),this.setExportCalendarRequest=this.updater((l,m)=>G(B({},l),{exportCalendarRequest:m})),this.getCalendarEvents=this.effect(l=>l.pipe(H(()=>this.setExportCalendarRequest(Lt)),N(m=>this.calendarApiService.getCalendarEvents(m).pipe(H(c=>{this.setExportCalendarRequest(Nt(void 0));let g={title:"Export",data:this.calendarService.getExportData(c),headers:[{text:"global.start",key:"start"},{text:"global.end",key:"end"},{text:"startDate",key:"title"}],nested:{nestedArrayDataKey:"list",nestedArrayTitleKey:"listName",nestedHeaders:"headers"}};this.exportExcelService.exportExcel(g)}),Ve(c=>(c?.error&&ii(c.error)&&this.setExportCalendarRequest(wn({modelStateErrors:c.error.modelStateErrors,errorStatus:c.status})),Re)))))),this.exportCalendarSettings=this.effect(l=>l.pipe(H(()=>this.setExportCalendarRequest(Lt)),N(m=>this.calendarApiService.exportFileToDownloadFilteredCalendar(m).pipe(H(c=>{this.setExportCalendarRequest(Nt(void 0)),this.fileService.downloadFile(c)}),Ve(c=>(c?.error&&ii(c.error)&&this.setExportCalendarRequest(wn({modelStateErrors:c.error.modelStateErrors,errorStatus:c.status})),this.setExportCalendarRequest(Sn),this.globalErrorHandler.handleError(c),Re))))))}static{this.\u0275fac=function(t){return new(t||n)(Ee(ni),Ee(P),Ee(ye),Ee(Ln))}}static{this.\u0275prov=He({token:n,factory:n.\u0275fac})}}return n})();var hc=()=>[];function _c(n,a){if(n&1){let e=V();s(0,"neptun-form-date-range-picker",11),M("resetValue",function(){D(e);let i=p(3);return S(i.resetInterval())}),d()}if(n&2){let e=p(2).$implicit;h("id","interval")("title",e("global.interval"))("required",!0)}}function fc(n,a){n&1&&E(0,"neptun-rectangle-placeholder",12)}function vc(n,a){if(n&1&&(k(0),f(1,_c,1,3,"neptun-form-date-range-picker",9),C(2,"isResultRequest"),C(3,"hasError"),f(4,fc,1,0,"neptun-rectangle-placeholder",10),C(5,"isLoadingRequest"),R()),n&2){let e=a.ngIf;r(),h("ngIf",x(2,2,e)||x(3,4,e)),r(3),h("ngIf",x(5,6,e))}}function Cc(n,a){if(n&1){let e=V();k(0),s(1,"button",13),C(2,"isLoadingRequest"),M("click",function(){D(e);let i=p(2);return S(i.saveDialog())}),u(3),d(),R()}if(n&2){let e=a.ngIf,t=p().$implicit,i=p();r(),h("loading",x(2,3,e))("disabled",i.form.invalid),r(2),T(" ",t("calendar.exportCalendar")," ")}}function xc(n,a){if(n&1){let e=V();k(0),s(1,"neptun-basic-dialog-layout")(2,"h2",1),u(3),d(),k(4,2),s(5,"form",3),f(6,vc,6,8,"ng-container",4),C(7,"async"),E(8,"neptun-form-select",5),C(9,"async"),d(),R(),k(10,6),s(11,"div",7)(12,"button",8),M("click",function(){D(e);let i=p();return S(i.closeDialog())}),u(13),d(),f(14,Cc,4,5,"ng-container",4),C(15,"async"),d(),R(),d(),R()}if(n&2){let e,t=a.$implicit,i=p();r(3),w(t("calendar.exportCalendar")),r(2),h("formGroup",i.form),r(),h("ngIf",x(7,9,i.exportTermIntervalRequest$)),r(2),h("title",t("fileUpload.fileType"))("label",t("fileUpload.fileType"))("required",!0)("dataSource",(e=x(9,11,i.fileTypes$))!==null&&e!==void 0?e:ce(15,hc)),r(5),T("",t("button.cancel")," "),r(),h("ngIf",x(15,13,i.exportCalendarRequest$))}}var Br=(()=>{class n{static{this.MS_PER_SECOND=1e3}constructor(e,t,i,o){this.data=e,this.exportCalendarDialogStore=t,this.dialogRef=i,this.permissionService=o,this.downloadFilteredCalendarPermission={controllerName:"Calendar",actionName:"CalendarExportFileToDownloadFilteredCalendar"},this.form=new Mn({interval:new Qe({startDate:new Date,endDate:new Date},{nonNullable:!0,validators:[fr("startDate","endDate",!1,!1,365)]}),fileType:new Qe(Wt.XLSX)}),this.exportCalendarRequest$=this.exportCalendarDialogStore.exportCalendarRequest$,this.fileTypes$=qe([this.permissionService.getAccessMode(this.downloadFilteredCalendarPermission.controllerName,this.downloadFilteredCalendarPermission.actionName),this.permissionService.getAccessModeUsingGuid(ct.Calendar_CalendarExportToExcelFile)]).pipe(O(([l,m])=>{let c=[];return l.accessMode==="enabled"&&c.push({value:Wt.ICS,text:"ICS (iCalendar)"}),m.accessMode==="enabled"&&c.push({value:Wt.XLSX,text:"XLSX (Microsoft Office)"}),c}),H(l=>{l.length>0&&!l.find(m=>m.value===this.form.controls.fileType.value)&&this.form.controls.fileType.setValue(l[0].value)})),this.exportTermIntervalRequest$=this.exportCalendarDialogStore.exportTermIntervalRequest$.pipe(H(l=>{Kt(l)&&(this.form.controls.interval.setValue({startDate:new Date(l.data.startingDate),endDate:new Date(l.data.endingDate)}),this.form.controls.interval.markAsTouched())}))}ngOnInit(){let e=Gt(this.data.dateRange.start),t=Gt(this.data.dateRange.end),i=new Date(t.getTime()-n.MS_PER_SECOND);this.exportCalendarDialogStore.getExportTermInterval({startingDate:e,endingDate:i})}saveDialog(){if(this.form.markAllAsTouched(),this.form.valid){let e=this.form.controls.interval.value;this.form.controls.fileType.value===Wt.XLSX?this.exportCalendarDialogStore.getCalendarEvents({startDate:e.startDate,endD
1ate:e.endDate,studentTrainingIds:this.data.selectedTrainings.map(t=>t.studentTrainingId),isClassesVisible:this.hasFilterType("class"),isExamsVisible:this.hasFilterType("exam"),isFinalExamsVisible:this.hasFilterType("finalExam"),isPeriodsVisible:this.hasFilterType("period"),isTasksVisible:this.hasFilterType("task"),isOnlineMeetingsVisible:!0,isOtherEventsVisible:this.hasFilterType("otherEvent")}):this.exportCalendarDialogStore.exportCalendarSettings({startDate:e.startDate,endDate:e.endDate,studentTrainingIds:this.data.selectedTrainings.map(t=>t.studentTrainingId),isClassesVisible:this.hasFilterType("class"),isExamsVisible:this.hasFilterType("exam"),isFinalExamsVisible:this.hasFilterType("finalExam"),isPeriodsVisible:this.hasFilterType("period"),isTasksVisible:this.hasFilterType("task"),isOnlineMeetingsVisible:!0,isOtherEventsVisible:this.hasFilterType("otherEvent")})}}hasFilterType(e){return this.data.filterTypes.includes(e)}resetInterval(){this.exportTermIntervalRequest$.pipe(Ue(1)).subscribe(e=>{Kt(e)&&this.form.controls.interval.setValue({startDate:new Date(e.data.startingDate),endDate:new Date(e.data.endingDate)})})}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(t){return new(t||n)(ge(Pa),ge(fi),ge(Cn),ge(nt))}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-export-calendar-dialog"]],features:[Z([fi,P,ye,ai])],decls:1,vars:0,consts:[[4,"transloco"],["title","",1,"mat-h2"],["content",""],[3,"formGroup"],[4,"ngIf"],["id","fileType","name","fileType","formControlName","fileType",3,"title","label","required","dataSource"],["actions",""],["neptunBasicDialogLayoutActions",""],["neptun-button","","id","debug-mode-close-button","color","white",3,"click"],["name","interval","fromDateKey","startDate","toDateKey","endDate","formControlName","interval",3,"id","title","required","resetValue",4,"ngIf"],["test-id","status-loading","class","placeholder",4,"ngIf"],["name","interval","fromDateKey","startDate","toDateKey","endDate","formControlName","interval",3,"resetValue","id","title","required"],["test-id","status-loading",1,"placeholder"],["neptun-button","","id","debug-mode-save-button","accent","flat",3,"click","loading","disabled"]],template:function(t,i){t&1&&f(0,xc,16,16,"ng-container",0)},dependencies:[at,it,Va,$,so,gt,pe,de,_e,et,Ht,vr,ee,Vn,An,Ct,In,qa,kn,Rn],styles:[".placeholder[_ngcontent-%COMP%]{width:100%;height:60px}"],changeDetection:0})}}return n})();var yc=()=>({iconClass:"icon-rotate-ccw"});function Dc(n,a){n&1&&E(0,"neptun-rectangle-placeholder",5)}function Sc(n,a){if(n&1){let e=V();s(0,"mat-form-field",6),E(1,"input",12,0),s(3,"button",13),M("click",function(){D(e);let i=p(2);return S(i.copy())}),E(4,"i",14),d()()}if(n&2){let e=p(2);r(),h("ngModel",e.data.urlForWebCalendars),r(2),h("permissionRequired",e.copyLinkPermission)}}function wc(n,a){if(n&1){let e=V();k(0),s(1,"neptun-basic-dialog-layout"),E(2,"neptun-primary-title",2),k(3,3),s(4,"div",4),f(5,Dc,1,0,"neptun-rectangle-placeholder",5),C(6,"async"),f(7,Sc,5,2,"mat-form-field",6),s(8,"button",7),C(9,"async"),M("click",function(){D(e);let i=p();return S(i.regenerateLinks())}),u(10),d()(),R(),k(11,8),s(12,"div",9)(13,"button",10),u(14),d(),s(15,"button",11),C(16,"async"),M("click",function(){D(e);let i=p();return S(i.copy())}),u(17),d()(),R(),d(),R()}if(n&2){let e=a.$implicit,t=p();r(2),h("title",e("calendar.subscriptionLink"))("description",e("calendar.subscriptionLinkInfoMessage"))("isModalTitle",!0),r(3),b(x(6,12,t.isLoading$)===!0?5:7),r(3),h("loading",x(9,14,t.isLoading$)===!0)("prefixIcon",ce(18,yc))("permissionRequired",t.regenerateLinksPermission),r(2),T(" ",e("calendar.regenerateLink")," "),r(4),T(" ",e("button.close")," "),r(),h("loading",x(16,16,t.isLoading$)===!0)("permissionRequired",t.copyLinkPermission),r(2),T(" ",e("calendar.copyLink")," ")}}var qr=(()=>{class n{constructor(){this.data=v(ht),this.dialogRef=v(he),this.store=v(Pe),this.clipboardService=v(Cr),this.loadingService=v($t),this.isLoading$=this.loadingService.isLoadingByUrl("Calendar/GenerateNewLinksForCalendarExport"),this.copyLinkPermission={controllerName:"",actionName:"",permissionGuid:ct.Calendar_CopyLink},this.regenerateLinksPermission={controllerName:"Calendar",actionName:"GenerateNewLinksForCalendarExport"}}regenerateLinks(){this.data.regenerateLinksForCalendarExport()}copy(){this.clipboardService.copy(this.data.urlForWebCalendars),this.dialogRef.close(),this.store.dispatch(new Ae.AddSuccessPushNotification({title:"calendar.copyLinkSuccess"}))}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-copy-calendar-export-link-dialog"]],decls:1,vars:0,consts:[["inputElement",""],[4,"transloco"],["title","",3,"title","description","isModalTitle"],["content",""],[1,"link-content"],[1,"link-content__placeholder"],["floatLabel","auto",1,"w-100"],["neptun-button","","id","calendar-regenerate-link",1,"link-content__regenerate",3,"click","loading","prefixIcon","permissionRequired"],["actions",""],["neptunBasicDialogLayoutActions",""],["matDialogClose","","neptun-button","","id","calendar-close-button","color","white"],["neptun-button","","id","calendar-copy-link-button","accent","flat",1,"copy-button",3,"click","loading","permissionRequired"],["matInput","","readonly","",3,"ngModel"],["matSuffix","","neptun-button","","accent","icon",3,"click","permissionRequired"],[1,"icon-copy"]],template:function(t,i){t&1&&f(0,wc,18,19,"ng-container",1)},dependencies:[$,at,We,Ht,Ga,za,jt,bn,Ct,Pn,ee,Ua,Oe,it,_t,et],styles:["[_nghost-%COMP%] .mat-mdc-form-field .mat-mdc-text-field-wrapper i{color:#0943d9}.link-content[_ngcontent-%COMP%]{display:flex;flex-flow:column}.link-content__placeholder[_ngcontent-%COMP%]{width:100%;height:60px;margin-bottom:20px;border-radius:6px}.link-content__regenerate[_ngcontent-%COMP%], .link-content[_ngcontent-%COMP%] .spinner[_ngcontent-%COMP%]{align-self:flex-end;padding-right:12px}@media only screen and (max-width:767px){.copy-button[_ngcontent-%COMP%]{width:100%}}"],changeDetection:0})}}return n})();var Ec=["calendar"],bc=["daySelector"],Ic=(n,a,e)=>({"list-view-toolbar":n,"monthly-view-toolbar":a,"weekly-view-toolbar":e}),Mc=n=>({"toggle-visibility":n}),zr=n=>({$implicit:n}),Pc=n=>({"date-range-input--hidden":n}),Ac=()=>["institutional-calendar"],kc=n=>({viewTypeToShow:n}),Rc=()=>["appointment-invitations"];function Vc(n,a){if(n&1&&(E(0,"span",22),C(1,"async")),n&2){let e=p(3);h("innerHtml",x(1,1,e.title$),Qt)}}function Fc(n,a){if(n&1){let e=V();s(0,"button",33),M("click",function(){D(e);let i=p(3);return S(i.removeListInterval())}),E(1,"i",34),d()}if(n&2){let e=p(2).$implicit;mn("aria-label",e("calendar.resetIntervalFilterText"))}}function Oc(n,a){if(n&1){let e=V();s(0,"button",21),M("click",function(){D(e);let i=p(2);return S(i.toggleDaySelector(i.listMonthDateRange.intervalMin))}
1),f(1,Vc,2,3,"span",22),s(2,"mat-date-range-input",23),M("click",function(){D(e);let i=p(2);return S(i.toggleDaySelector(i.listMonthDateRange.intervalMin))}),s(3,"input",24),Ei("ngModelChange",function(i){D(e);let o=p(2);return Ti(o.listMonthDateRange.intervalMin,i)||(o.listMonthDateRange.intervalMin=i),S(i)}),d(),s(4,"input",25),Ei("ngModelChange",function(i){D(e);let o=p(2);return Ti(o.listMonthDateRange.intervalMax,i)||(o.listMonthDateRange.intervalMax=i),S(i)}),M("ngModelChange",function(){D(e);let i=p(2);return S(i.onEditDatesClick())}),d()()(),s(5,"mat-datepicker-toggle",26),E(6,"i",27),d(),s(7,"mat-date-range-picker",28,2),M("closed",function(){D(e);let i=p(2);return S(i.onRangePickerClosed())}),s(9,"mat-date-range-picker-actions",29)(10,"div",29)(11,"button",30),u(12),d(),s(13,"button",31),u(14),d()()()(),f(15,Fc,2,1,"button",32)}if(n&2){let e=ie(8),t=p().$implicit,i=p();r(),b(!i.listMonthDateRange.intervalMin||!i.listMonthDateRange.intervalMax?1:-1),r(),h("ngClass",Me(16,Pc,i.listMonthDateRange.intervalMin===null||i.listMonthDateRange.intervalMax===null))("disabled",!1)("rangePicker",e)("max",i.listMonthMaxDate),r(),h("placeholder",t("internship.start"))("readonly",!0),wi("ngModel",i.listMonthDateRange.intervalMin),r(),h("readonly",!0)("placeholder",t("internship.end")),wi("ngModel",i.listMonthDateRange.intervalMax),r(),h("for",e)("aria-label",t("calendar.chooseInterval")),r(7),T(" ",t("button.cancel")," "),r(2),T(" ",t("button.ready")," "),r(),b(i.listMonthDateRange.intervalMin!==null&&i.listMonthDateRange.intervalMax!==null&&i.selectedViewTypeType()===i.CalendarViewType.List?15:-1)}}function Lc(n,a){if(n&1){let e=V();s(0,"button",35),M("click",function(){D(e);let i=p(2);return S(i.toggleDaySelector(i.listMonthDateRange.intervalMin))}),E(1,"span",22),C(2,"async"),d()}if(n&2){let e=p(2);r(),h("innerHtml",x(2,1,e.title$),Qt)}}function Nc(n,a){n&1&&je(0)}function jc(n,a){if(n&1&&f(0,Nc,1,0,"ng-container",36),n&2){p();let e=ie(20);h("ngTemplateOutlet",e)}}function Hc(n,a){n&1&&E(0,"full-calendar",16,3),n&2&&h("options",a)}function $c(n,a){n&1&&je(0)}function Bc(n,a){if(n&1&&f(0,$c,1,0,"ng-container",36),n&2){p(2);let e=ie(20);h("ngTemplateOutlet",e)}}function qc(n,a){n&1&&E(0,"full-calendar",37,4),n&2&&h("options",a)}function Uc(n,a){n&1&&je(0)}function Gc(n,a){if(n&1&&f(0,Uc,1,0,"ng-container",20),n&2){p(2);let e=ie(22),t=p();h("ngTemplateOutlet",e)("ngTemplateOutletContext",Me(2,zr,t.selectedViewTypeType()))}}function zc(n,a){if(n&1&&(s(0,"div",17)(1,"div",15),f(2,Bc,1,1,"ng-container")(3,qc,2,1,"full-calendar",37),C(4,"async"),d(),E(5,"neptun-legend",38),f(6,Gc,1,4,"ng-container"),d()),n&2){let e,t=p(2);r(2),b(t.isLoading()?2:-1),r(),b((e=x(4,4,t.daySelectorCalendarOptions$))?3:-1,e),r(2),h("items",t.legendItems),r(),b(t.selectedViewTypeType()===t.CalendarViewType.Daily?6:-1)}}function Wc(n,a){if(n&1&&E(0,"neptun-legend",18),n&2){let e=p(2);h("items",e.legendItems)}}function Yc(n,a){n&1&&je(0)}function Xc(n,a){n&1&&(s(0,"div",39)(1,"neptun-card"),E(2,"div",40),d()())}function Qc(n,a){n&1&&E(0,"neptun-rectangle-placeholder",42)}function Kc(n,a){n&1&&E(0,"neptun-request-error-indicator")}function Jc(n,a){if(n&1&&E(0,"neptun-navigation-button",43),n&2){let e=p(),t=p(4);h("permissionRequired",t.calendarMeetingInvitationsLinkPermission)("link",e.data)("routerLink",ce(4,Rc))("badgeColor","warning")}}function Zc(n,a){if(n&1&&(f(0,Qc,1,0,"neptun-rectangle-placeholder",42),C(1,"isLoadingRequest"),f(2,Kc,1,0,"neptun-request-error-indicator"),C(3,"hasError"),f(4,Jc,1,5,"neptun-navigation-button",43),C(5,"isResultRequest")),n&2){let e=a;b(x(1,3,e)?0:-1),r(2),b(x(3,5,e)?2:-1),r(2),b(x(5,7,e)?4:-1)}}function ep(n,a){if(n&1&&(f(0,Zc,6,9),C(1,"async")),n&2){let e,t=p(3);b((e=x(1,1,t.appointmentInvitations$))?0:-1,e)}}function tp(n,a){if(n&1&&(E(0,"neptun-navigation-button",41),f(1,ep,2,3),C(2,"async")),n&2){let e=a.$implicit,t=p(2);h("link",t.institutionCalendarLink)("permissionRequired",t.calendarInstituteCalendarLinkPermission)("routerLink",ce(7,Ac))("queryParams",Me(8,kc,e)),r(),b(x(2,5,t.hasCalendarMeetingInvitationsLinkPermission$)===!0?1:-1)}}function np(n,a){if(n&1){let e=V();k(0),s(1,"neptun-primary-title",6)(2,"div",7)(3,"neptun-calendar-download-menu",8),M("getTemplates",function(){D(e);let i=p();return S(i.getTemplates())})("openExportCalendarDialog",function(){D(e);let i=p();return S(i.openExportCalendarDialog())})("subscribeToCalendar",function(){D(e);let i=p();
1return S(i.subscribeToCalendar())})("openCopyDialog",function(){D(e);let i=p();return S(i.openCopyDialog())}),d(),s(4,"neptun-calendar-filter-menu",9),M("getCalendarEventsEmitter",function(){D(e);let i=p();return S(i.getCalendarEvents())})("toggleAllFilterEmitter",function(){D(e);let i=p();return S(i.toggleAllFilter())})("toggleTrainingFilterEmitter",function(i){D(e);let o=p();return S(o.toggleTrainingFilter(i))})("toggleFilterStateEmitter",function(i){D(e);let o=p();return S(o.toggleFilterType(i))}),d(),s(5,"neptun-calendar-view-type-menu",10),M("viewChange",function(i){D(e);let o=p();return S(o.changeView(i))}),d()()(),s(6,"div",11)(7,"neptun-toolbar",12),M("next",function(){D(e);let i=p();return S(i.showNextDateRange(i.selectedViewTypeType()))})("previous",function(){D(e);let i=p();return S(i.showPreviousDateRange(i.selectedViewTypeType()))}),f(8,Oc,16,18)(9,Lc,3,3,"button",13),d(),s(10,"div",14)(11,"div",15),f(12,jc,1,1,"ng-container")(13,Hc,2,1,"full-calendar",16),C(14,"async"),d(),f(15,zc,7,6,"div",17),d(),f(16,Wc,1,1,"neptun-legend",18),s(17,"div",19),f(18,Yc,1,0,"ng-container",20),d()(),f(19,Xc,3,0,"ng-template",null,0,ut)(21,tp,3,10,"ng-template",null,1,ut),R()}if(n&2){let e,t=a.$implicit,i=ie(22),o=p();r(),h("title",t("dashboard.calendar")),r(3),h("selectedFilterTypeCount",o.numberOfSelectedFilters())("trainings",o.selectedStudentTrainings())("filterTypes",o.dropdownFilterTypes()),r(),h("selectedViewTypeText",o.selectedViewTypeText())("viewTypes",o.viewTypes),r(2),h("ngClass",gn(19,Ic,o.selectedViewTypeType()===o.CalendarViewType.List,o.selectedViewTypeType()===o.CalendarViewType.Monthly,o.selectedViewTypeType()===o.CalendarViewType.Weekly))("selectedViewType",o.selectedViewTypeText())("isDisabled",o.listMonthDateRange.intervalMin!==null&&o.listMonthDateRange.intervalMax!==null&&o.selectedViewTypeType()===o.CalendarViewType.List),r(),b(o.selectedViewTypeType()===o.CalendarViewType.List?8:9),r(4),b(o.isLoading()?12:-1),r(),b((e=x(14,17,o.calendarOptions$))?13:-1,e),r(2),b(o.selectedViewTypeType()===o.CalendarViewType.Daily?15:-1),r(),b(o.selectedViewTypeType()!==o.CalendarViewType.Daily?16:-1),r(),h("ngClass",Me(23,Mc,o.selectedViewTypeType()===o.CalendarViewType.Daily)),r(),h("ngTemplateOutlet",i)("ngTemplateOutletContext",Me(25,zr,o.selectedViewTypeType()))}}var vi=575,Ur=8,Gr=19,ip=1,Wr=(()=>{class n{constructor(){this.maxDateStrategy=v(bi),this.calendarStore=v(ga),this.store=v(Pe),this.activatedRoute=v(xn),this.translocoService=v(Fe),this.breakpointsWatcherService=v(go),this.permissionService=v(nt),this.dialog=v($e),this.calendarService=v(ye),this.calendarApiService=v(P),this.printableTemplatesService=v(_r),this.fileService=v(ni),this.dialogService=v($e),this.window=v(Ra),this.currentLanguage$=this.store.select(Dn.currentLanguage),this.currentTraining$=this.store.select(Tn.currentTraining),this.selectedViewType$=lt(this.calendarStore.viewType),this.dateRange$=lt(this.calendarStore.dateRange),this.selectedDate$=lt(this.calendarStore.selectedDate),this.calendarEvents$=lt(this.calendarStore.calendarEvents),this.studentTrainings$=lt(this.calendarStore.studentTrainings),this.selectedStudentTrainings$=lt(this.calendarStore.selectedStudentTrainings),this.appointmentInvitations$=lt(this.calendarStore.appointmentInvitations).pipe(O(e=>Kt(e)?Nt({text:this.translocoService.translate("menu.appointmentInvitations"),icon:vt.Inbox,badgeData:e.data.length},!1):e)),this.numberOfSelectedFilters=this.calendarStore.numberOfSelectedFilters,this.dateRange=this.calendarStore.dateRange,this.dropdownFilterTypes=this.calendarStore.dropdownFilterTypes,this.isLoading=this.calendarStore.isLoading,this.selectedViewTypeText=this.calendarStore.selectedViewTypeText,this.selectedViewTypeType=this.calendarStore.selectedViewTypeType,this.selectedStudentTrainings=this.calendarStore.selectedStudentTrainings,this.insertAppointmentInvitationPermission={controllerName:"Calendar",actionName:"InsertAppointmentInvitation"},this.calendarInstituteCalendarLinkPermission={controllerName:"",actionName:"",permissionGuid:ct.Calendar_InstituteCalendarLink},this.calendarMeetingInvitationsLinkPermission={controllerName:"Calendar",actionName:"GetAllAnsweredAppointmentsInvitations"},this.insertAppointmentInvitationPermission$=this.permissionService.getAccessMode(this.insertAppointmentInvitationPermission.controllerName,this.insertAppointmentInvitationPermission.actionName),this.hasCalendarMeetingInvitationsLinkPermission$=this.permissionService.getAccessMode("Calendar","GetAllAnsweredAppointmentsInvitations").pipe(O(e=>
1e.accessMode!=="hidden")),this.CalendarViewType=U,this.viewTypes=ot,this.legendItems=this.calendarService.legendItems,this.institutionCalendarLink={text:this.translocoService.translate("calendar.institutionalCalendar"),icon:vt.Calendar},this.dayTitleLength="long",this.listViewReferenceDate=new Date,this.listMonthDateRange={intervalMin:null,intervalMax:null},this.viewTypeToShow=this.activatedRoute.snapshot.queryParams.viewTypeToShow,this.dateToSelect=this.activatedRoute.snapshot.queryParams.dateToSelect,this.selectedTrainings=Ye(()=>this.calendarStore.selectedStudentTrainings().filter(e=>e.isEnabled)),this.selectedFilterTypeType=Ye(()=>this.calendarStore.filterTypes().filter(e=>e.isEnabled).map(e=>e.type)),this.monthEvents$=lt(this.calendarStore.monthEvents).pipe(O(e=>e.map(t=>this.convertToCalendarEvent(t,U.Monthly,!0))),Si([])),this.title$=qe([this.currentLanguage$.pipe(J(Boolean)),this.selectedViewType$.pipe(J(Boolean)),this.dateRange$,this.selectedDate$.pipe(J(Boolean))]).pipe(O(([e,t,i,o])=>{let l=this.listMonthDateRange.intervalMin!==null&&this.listMonthDateRange.intervalMax!==null,m=i?.start?new Date(i.start):o;return Bt.getCalendarTitle(e.code,t.type,m,l)})),this.events$=qe([this.calendarEvents$,this.selectedViewType$,this.breakpointsWatcherService.currentBreakpoint$]).pipe(O(([e,t,i])=>e.length?e.map(o=>{let l=B({},o);return l.eventTypeId===F.StudyPeriod&&(l.name=l.intervalType),l.eventTypeId===F.Holiday&&l.startDate===l.endDate&&(l.startDate=new Date(l.startDate),l.startDate.setHours(0,0,0,0),l.endDate=new Date(new Date(l.endDate)),l.endDate=new Date(new Date(l.endDate.setDate(l.endDate.getDate()+La.ONE)).setHours(0,0,0,0))),this.convertToCalendarEvent(l,t?.type??U.Weekly,!1,i)}):[]),Si([])),this.calendarOptions$=qe([this.currentLanguage$.pipe(J(Boolean)),this.selectedViewType$.pipe(J(Boolean)),this.events$,this.insertAppointmentInvitationPermission$]).pipe(O(([e,t,i,o])=>{let l=this.getSlotTime(i);return this.window.innerWidth<=vi?this.dayTitleLength="short":this.dayTitleLength="long",G(B({headerToolbar:{start:"",center:"",end:""},events:i,eventTimeFormat:{hour:"numeric",minute:"2-digit"},eventContent:this.generateEventContent.bind(this),eventClick:m=>{this.calendarApi?.getApi().el.querySelector(".fc-popover-close")?.click(),m.event.extendedProps.fromOtherTraining?this.calendarStore.openChangeTrainingDialog({studentTrainingId:m.event.extendedProps.studentTrainingId,info:m}):this.calendarStore.openDetailDialog(m.event)},windowResize:()=>{this.window.innerWidth<=vi&&this.dayTitleLength==="long"?(this.dayTitleLength="short",this.initCalendar(),this.calendarApi?.getApi().render()):this.window.innerWidth>=vi&&this.dayTitleLength==="short"&&(this.dayTitleLength="long",this.initCalendar(),this.calendarApi?.getApi().render())},initialView:t.type,locale:e.code,firstDay:1,dayMaxEventRows:!0},l),{moreLinkContent:m=>({html:`${this.translocoService.translate("calendar.more")} ${m.num} <i class="icon-chevron-right"></i>`}),moreLinkHint:m=>`${this.translocoService.translate("calendar.more")} ${m}`,contentHeight:t.type===U.Monthly?808:"auto",dayHeaderFormat:{weekday:this.dayTitleLength},allDayContent(){return""},plugins:[nn,Kn,di,an],views:{dayGridMonth:{dateClick:m=>{this.isBackgroundEventClick(m.jsEvent)||this.goToDayView(m)}},timeGridWeek:{dayHeaderFormat:{weekday:"long"},slotLabelFormat:{hour:"numeric",minute:"2-digit",omitZeroMinute:!1,meridiem:"short"},dateClick:m=>{this.isBackgroundEventClick(m.jsEvent)||this.openNewInvitationDialog(o.accessMode!=="hidden",m.date)},dayHeaderContent:this.getTimeGridWeekDayHeaderContent.bind(this,i)},timeGridDay:{slotLabelFormat:{hour:"numeric",minute:"2-digit",omitZeroMinute:!1,meridiem:"short"},dayHeaders:!1,dateClick:m=>{this.isBackgroundEventClick(m.jsEvent)||this.openNewInvitationDialog(o.accessMode!=="hidden",m.date)}},listCustomRange:{type:"list",visibleRange:()=>{let m=this.listMonthDateRange.intervalMin,c=this.listMonthDateRange.intervalMax;if(!m||!c){let g=this.calendarService.getListViewMonthRange(this.listViewReferenceDate);return{start:g.start,end:this.getExclusiveEndDate(g.end)}}return{start:new Date(m.getTime()),end:this.getExclusiveEndDate(c)}},dateClick:m=>
1{this.isBackgroundEventClick(m.jsEvent)||this.goToDayView(m)},noEventsText:this.translocoService.translate("calendar.noEvents")}}})})),this.daySelectorCalendarOptions$=qe([this.currentLanguage$.pipe(J(Boolean)),this.selectedDate$.pipe(J(Boolean)),this.monthEvents$.pipe(J(Boolean)),this.selectedViewType$.pipe(J(Boolean))]).pipe(O(([e,t,i])=>({headerToolbar:{start:"",center:"",end:""},events:i,plugins:[nn,an],displayEventTime:!1,initialView:"dayGridMonth",initialDate:t,locale:e.code,firstDay:1,contentHeight:"auto",eventBackgroundColor:"red",eventBorderColor:"red",eventTextColor:"red",dayHeaderFormat:{weekday:"short"},dayCellClassNames:o=>{let l=new Date(t);return l.setHours(0,0,0,0),o.date.getTime()===l.getTime()?["selected"]:[]},dateClick:o=>{this.setCurrentDate(o.date),this.goToDate(o.date),this.calendarStore.getCalendarEvents()}})))}ngOnInit(){this.getAppointmentInvitations(),this.calendarStore.getDefaultViewType(this.viewTypeToShow),this.calendarStore.getStudentTrainings(),this.calendarStore.getLinksForCalendarExport(),qe([this.studentTrainings$.pipe(J(Boolean)),this.currentTraining$.pipe(J(Boolean)),this.selectedStudentTrainings$.pipe(J(Boolean))]).pipe(J(([e,t,i])=>!!e.length&&!!t),O(([e,t,i])=>e.map(o=>{let l=i.find(c=>c.studentTrainingId===o.studentTrainingId),m=(l?l.isEnabled:!1)||o.studentTrainingId===t.studentTrainingId;return G(B({},o),{signedIn:o.studentTrainingId===t.studentTrainingId,isEnabled:m})})),Ue(1),H(e=>{this.calendarStore.setStudentTrainingFilters(e),this.calendarStore.getFilterTypes()})).subscribe(),this.calendarOptions$.pipe(J(Boolean),Ue(1),pn(this.selectedDate$),H(([e,t])=>{setTimeout(()=>{let i=this.dateToSelect?this.dateToSelect:t;if(i){let o=new Date(i);this.goToDate(o),this.setCurrentDate(o)}else this.setDateRange();this.calendarStore.getCalendarEvents(),e.initialView==="timeGridDay"&&this.calendarStore.getMonthEvents()},500)})).subscribe()}ngOnDestroy(){this.calendarStore.resetCalendarState(!0)}get listMonthMaxDate(){if(this.maxDateStrategy&&this.maxDateStrategy.activeStartDate){let e=new Date(this.maxDateStrategy.activeStartDate);return e.setFullYear(e.getFullYear()+ip),e}return null}getAppointmentInvitations(){this.hasCalendarMeetingInvitationsLinkPermission$.pipe(Ue(1),J(Boolean),H(()=>this.calendarStore.getAppointmentInvitations())).subscribe()}getCalendarEventDescription(e){let t=[F.Class,F.Exam,F.Task,F.Consultation];return e.eventTypeId===F.FinalExam?e.applicationRoom||e.rooms:t.includes(e.eventTypeId)?e.rooms:""}convertToCalendarEvent(e,t,i=!1,o){let m=[this.calendarService.getBlobColor(e)];e.fromOtherTraining&&m.push("opacity-event"),e.isOnline&&m.push("pulse");let c=this.calendarService.getIdFromEvent(e),g=this.calendarService.getBackgroundColor(e,t,i,o),_={start:e.startDate,end:e.endDate,title:e.name,description:this.getCalendarEventDescription(e),backgroundColor:g,borderColor:g,id:`${c}_${e.studentTrainingId}_${new Date(e.startDate).toISOString()}`,calendarEventId:c,type:e.eventTypeId,isOwner:e.isOwner??null,isOnline:e.isOnline,onWaitingList:e.onWaitingList,studentTrainingId:e.studentTrainingId,fromOtherTraining:e.fromOtherTraining,webexMeetingId:e.webexMeetingId,allDay:!this.allDay(e.startDate,e.endDate),classNames:m,display:"",startDate:e.startDate,endDate:e.endDate,applicationId:e.applicationId,periodId:e.periodId};return e.eventTypeId===F.Holiday&&t!==U.List&&(_.display="background"),_}allDay(e,t){let i=new Date(e),o=new Date(t);return i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate()}setDateRange(){if(this.calendarApi?.getApi()?.view.type===U.List)if(this.listMonthDateRange.intervalMin!==null&&this.listMonthDateRange.intervalMax!==null){let t=this.setDateToEndOfDay(this.listMonthDateRange.intervalMax);t&&this.calendarStore.setDateRange({start:new Date(this.listMonthDateRange.intervalMin.getTime()),end:t})}else{let t=this.calendarService.getListViewMonthRange(this.listViewReferenceDate);this.calendarStore.setDateRange({start:new Date(t.start.getTime()),end:new Date(t.end.getTime())})}else{let t=this.calendarApi?.getApi()?.getCurrentData().dateProfile.currentRange;if(t){let i=Gt(t.start),o=Gt(t.end);i&&o&&this.calendarStore.setDateRange({start:i,end:o})}}}setCurrentDate(e){let t=e??this.calendarApi?.getApi().getCurrentData().currentDate??new Date;this.daySelector?.getApi().gotoDate(t),this.calendarStore.setSelectedDate(t)}setDateToEndOfDay(e){if(e instanceof Date){let t=new Date(e);return t.setHours(23,59,59,999),t}else return}
1initCalendar(){this.window.innerWidth<=vi?this.dayTitleLength="short":this.dayTitleLength="long"}goToDayView(e){this.calendarStore.setViewType(ti),this.calendarApi?.getApi().changeView(U.Daily),this.goToDate(e.date),this.setCurrentDate(e.date),this.calendarStore.getCalendarEvents(),this.calendarStore.getMonthEvents()}getTimeGridWeekDayHeaderContent(e,t){return{html:`<div class="day-title ${e.find(l=>new Date(l.start).getTime()===new Date(t.date).getTime()&&l.type===F.Holiday)?"day-off":""}"> 2 <div>${t.text}</div> 3 <div class="fc-daygrid-day-number">${t.date.getDate()}</div> 4 </div>`}}openNewInvitationDialog(e,t){e&&this.dialog.openDialog(hi,{date:t,permission:this.insertAppointmentInvitationPermission}).afterClosed().subscribe(()=>this.calendarStore.getCalendarEvents())}goToDate(e){this.calendarApi?.getApi().gotoDate(e),this.setDateRange()}isBackgroundEventClick(e){let t=e.target;return t instanceof Element&&!!t.closest(".fc-bg-event")}generateEventContent(e){let t=e.view.type===U.List,i=e.view.type===U.Weekly,o=e.view.type===U.Monthly,l=e.event.extendedProps.description;return t?{html:`<a tabindex="0" class="fc-list-event-link"> 5 <div class="fc-list-event-title-container"> 6 <span class="fc-event-title">${e.event.title}</span> 7 ${l?`<span class="fc-list-event-dot-separator"></span><span class="fc-event-rooms-list">${l}</span>`:""} 8 </div> 9 </a>`}:i?{html:`<div class="fc-content-wrapper"> 10 ${e.timeText?`<div class="fc-event-time">${e.timeText}</div>`:""} 11 <div class="fc-event-title">${e.event.title}</div> 12 ${l?`<div class="fc-event-description">${l}</div>`:""} 13 </div>`}:o?{html:`<div class="fc-daygrid-event-dot"></div><div class="fc-content-wrapper"> 14 ${e.timeText?`<div class="fc-event-time">${e.timeText}</div>`:""} 15 <div class="fc-event-title">${e.event.title}</div> 16 </div>`}:{html:`<div class="fc-content-wrapper"> 17 ${e.timeText?`<div class="fc-event-time">${e.timeText}</div>`:""} 18 <div class="fc-event-wrapper_description"> <div class="fc-event-title">${e.event.title}</div> 19 ${l?` <span class="fc-list-event-dot-separator"></span> <div class="fc-event-description">${l}</div>`:""}</div> 20 </div>`}}getExclusiveEndDate(e){let t=new Date(e);return t.setDate(t.getDate()+1),t.setHours(0,0,0,0),t}getSlotTime(e){let t=`${Ur}:00:00`,i=`${Gr}:00:00`,o=e.filter(l=>!l.allDay);if(o.length){let l=this.getEarliestEvent(o),m=this.getLatestEvent(o),c=new Date(l.start).getHours(),g=new Date(m.end).getHours();c<Ur&&(t=this.formatTime(c)),g>Gr&&(i=this.formatTime(g+1))}return{slotMinTime:t,slotMaxTime:i}}formatTime(e){return`${e.toString().padStart(2,"0")}:00:00`}getEarliestEvent(e){return e.reduce((t,i)=>{let o=new Date(i.start).getHours(),l=new Date(t.start).getHours();return o<l?i:t})}getLatestEvent(e){return e.reduce((t,i)=>{let o=new Date(i.end).getHours(),l=new Date(t.end).getHours();return o>l?i:t})}shiftCalendarViewByViewUnit(e,t){if(e===U.List&&this.listMonthDateRange.intervalMin===null&&this.listMonthDateRange.intervalMax===null){this.listViewReferenceDate=new Date(this.listViewReferenceDate.getFullYear(),this.listViewReferenceDate.getMonth()+t,1),this.calendarApi?.getApi().gotoDate(this.listViewReferenceDate),this.setDateRange(),this.setCurrentDate(this.listViewReferenceDate),this.calendarStore.getCalendarEvents();return}let i=this.calendarApi?.getApi().view.currentStart.getMonth();t===1?this.calendarApi?.getApi().next():this.calendarApi?.getApi().prev();let o=this.calendarApi?.getApi().view.currentStart.getMonth();this.setDateRange(),this.setCurrentDate(),i!==o&&e===U.Daily&&this.calendarStore.getMonthEvents(),this.calendarStore.getCalendarEvents()}hasFilterType(e){return this.selectedFilterTypeType().includes(e)}printCalendar(e){let t=this.selectedTrainings().map(i=>i.studentTrainingId);return this.printableTemplatesService.getPrintCalendar({startDate:this.dateRange()?.start??"",endDate:this.dateRange()?.end??"",isClassesVisible:this.hasFilterType("class"),isExamsVisible:this.hasFilterType("exam"),isFinalExamsVisible:this.hasFilterType("finalExam"),isOnlineMeetingsVisible:!0,isOtherEventsVisible:this.hasFilterType("otherEvent"),isStudyPeriodsVisible:this.hasFilterType("period"),isTasksVisible:this.hasFilterType("task"),formsId:e,studentTrainingIds:t,subFormType:""})}getCalendarEvents(){this.calendarStore.setFilterTypes(),this.calendarStore.getCalendarEvents(),this.selectedViewTypeType()===U.Daily&&this.calendarStore.getMonthEvents()}toggleAllFilter(){this.calendarStore.toggleAllSelectedFilter()}toggleTrainingFilter(e){this.calendarStore.toggleTrainingFilterState(e.studentTrainingId)}toggleFilterType(e){this.calendarStore.toggleFilterState(e)}changeView(e){if(this.calendarStore.setViewType(e),this.calendarApi?.getApi().changeView(e.type),e.type===U.List)if(this.listMonthDateRange.intervalMin!==null&&this.listMonthDateRange.intervalMax!==null){let i=this.listMonthDateRange.intervalMin,o=this.listMonthDateRange.intervalMax,l=o?this.setDateToEndOfDay(o):void 0;i&&l&&this.calendarStore.setDateRange({start:new Date(i.getTime()),end:l})}else{this.listMonthDateRange.intervalMin=null,this.listMonthDateRange.intervalMax=null,this.listViewReferenceDate=this.calendarStore.selectedDate(
20);let i=this.calendarService.getListViewMonthRange(this.listViewReferenceDate);this.calendarStore.setDateRange({start:new Date(i.start.getTime()),end:new Date(i.end.getTime())})}else this.setDateRange();this.setCurrentDate(),this.calendarStore.getCalendarEvents(),e===ti&&this.calendarStore.getMonthEvents()}showNextDateRange(e){e&&this.shiftCalendarViewByViewUnit(e,1)}showPreviousDateRange(e){e&&this.shiftCalendarViewByViewUnit(e,-1)}toggleDaySelector(e){this.selectedViewTypeType()!==U.Daily&&(this.setCurrentDate(e),this.calendarApi?.getApi().changeView(U.Daily),e&&this.calendarApi?.getApi().gotoDate(e),this.calendarStore.setViewType(ti),this.setDateRange(),this.calendarStore.getMonthEvents())}onEditDatesClick(){let{intervalMin:e,intervalMax:t}=this.listMonthDateRange,i=this.setDateToEndOfDay(t);e&&t&&i&&(this.calendarStore.setDateRange({start:new Date(e.getTime()),end:i}),this.initCalendar(),this.calendarStore.getCalendarEvents(),this.calendarApi?.getApi().render())}onRangePickerClosed(){this.maxDateStrategy&&(this.maxDateStrategy.activeStartDate=null,this.maxDateStrategy.dateChange$.next())}removeListInterval(){this.listMonthDateRange.intervalMin=null,this.listMonthDateRange.intervalMax=null,this.listViewReferenceDate=new Date;let e=this.calendarService.getListViewMonthRange(this.listViewReferenceDate);this.calendarStore.setDateRange({start:new Date(e.start.getTime()),end:new Date(e.end.getTime())}),this.calendarStore.setSelectedDate(this.listViewReferenceDate),this.calendarStore.getCalendarEvents(),this.calendarApi?.getApi().gotoDate(this.listViewReferenceDate)}getTemplates(){this.calendarApiService.getCalendarPrintTemplateIds().pipe(N(e=>this.printableTemplatesService.getTemplate({formTypeId:e.formType,callback:({value:t})=>this.printCalendar(t).pipe(H(i=>this.fileService.downloadFile(i)))})),Ue(1)).subscribe()}openExportCalendarDialog(){return this.dialogService.openDialog(Br,{selectedFilters:[],dateRange:this.dateRange()??{start:new Date,end:new Date},selectedTrainings:this.selectedTrainings(),filterTypes:this.selectedFilterTypeType()}).afterClosed()}subscribeToCalendar(){this.window.open(this.calendarStore.linksForCalendarExport().url,"_blank")}openCopyDialog(){this.dialogService.openDialog(qr,{urlForWebCalendars:this.calendarStore.linksForCalendarExport().urlForWebCalendars,regenerateLinksForCalendarExport:()=>this.calendarStore.regenerateLinksForCalendarExport()})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-calendar"]],viewQuery:function(t,i){if(t&1&&(Mt(Ec,5),Mt(bc,5)),t&2){let o;Pt(o=At())&&(i.calendarApi=o.first),Pt(o=At())&&(i.daySelector=o.first)}},features:[Z([{provide:bi,useClass:Mr},ye,P,ga])],decls:1,vars:0,consts:[["loadingPlaceholder",""],["navigations",""],["rangePicker",""],["calendar",""],["daySelector",""],[4,"transloco"],[3,"title"],[1,"header-buttons"],[3,"getTemplates","openExportCalendarDialog","subscribeToCalendar","openCopyDialog"],[3,"getCalendarEventsEmitter","toggleAllFilterEmitter","toggleTrainingFilterEmitter","toggleFilterStateEmitter","selectedFilterTypeCount","trainings","filterTypes"],[3,"viewChange","selectedViewTypeText","viewTypes"],[1,"neptun-wrapper"],[1,"calendar-module-toolbar",3,"next","previous","ngClass","selectedViewType","isDisabled"],["neptun-button","","id","toolbar-actual-date-btn","accent","icon","color","black"],[1,"calendar-body"],[1,"calendar-body__container"],[1,"calendar-body__calendar","default-calendar","full-width","calendar-module",3,"options"],[1,"calendar-body__day-selector"],[1,"calendar-legend",3,"items"],[1,"links",3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["neptun-button","","id","toolbar-actual-date-btn","accent","icon","color","black",1,"toolbar-actual-date-button",3,"click"],[3,"innerHtml"],["id","calendar-date-range",1,"date-range-input",3,"click","ngClass","disabled","rangePicker","max"],["matStartDate","","id","calendar-date-range-start","tabindex","-1",1,"date-range-input__date",3,"ngModelChange","placeholder","readonly","ngModel"],["matEndDate","","id","calendar-date-range-end","tabindex","-1",1,"date-range-input__date",3,"ngModelChange","readonly","placeholder","ngModel"],["id","calendar-daterange-picker-toggle","role","img",1,"date-range-button",3,"for","aria-label"],["matDatepickerToggleIcon","",1,"icon-calendar-dates-edit"],[3,"closed"],[1,"date-range--actions"],["neptun-button","","matDateRangePickerCancel","","accent","stroked",1,"date-range__button"],["neptun-button","","matDateRangePickerApply","","accent","flat",1,"date-range__button"],["neptun-button","","id","reset-interval-button","accent","icon","color","error",1,"date-range-button__icon--remove"],["neptun-button","","id","reset-interval-button","accent","icon","color","error",1,"date-range-button__icon--remove",3,"click"],[1,"icon-circle-x"],["neptun-button","","id","toolbar-actual-date-btn","accent","icon","color","black",3,"click"],[4,"ngTemplateOutlet"],[1,"day-selector-calendar",3,"options"],[1,"legend",3,"items"],[1,"calendar-placeholder__container"],[1,"spinner"],["id","institutional-calendar-nav",1,"link",3,"link","permissionRequired","routerLink","queryParams"],[1,"link__placeholder"],["id","appointment-invitations-nav",1,"link",3,"permissionRequired","link","routerLink","badgeColor"]],template:function(t,i){t&1&&f(0,np,23,27,"ng-container",5)},dependencies:[$,We,mi,br,ui,Jn,Ze,ee,Za,eo,jt,bn,Ct,Pn,to,Ja,Ka,no,oo,ao,io,fn,Qn,Xn,ar,yt,uo,Oe,ze,Ht,Se,et,_e,de,pe],styles:[".header-buttons[_ngcontent-%COMP%]{display:flex;height:100%;align-items:center;gap:8px}.header-buttons__download[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.header-buttons__download[_ngcontent-%COMP%]:hover{text-decoration:none}.header-buttons__download[_ngcontent-%COMP%]:hover .header-buttons__download-text[_ngcontent-%COMP%]{text-decoration:underline}.header-buttons__view-menu[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font-weight:800;position:relative;color:#213055;background-color:#f2f3fb;border-radius:8px;padding:12px;cursor:pointer}.header-buttons__view-menu-icon[_ngcontent-%COMP%]{color:#444;margin-left:16px;font-size:22px}.calendar-filter-menu[_ngcontent-%COMP%]{padding:12px;display:flex;gap:8px;border-radius:8px}.calendar-filter-menu[_ngcontent-%COMP%]:hover{text-decoration:none}.calendar-filter-menu[_ngcontent-%COMP%]:hover .calendar-filter-menu__label[_ngcontent-%COMP%]{text-decoration:underline}@media only screen and (max-width:767px){.header-buttons__download-text[_ngcontent-%COMP%], .calendar-filter-menu__label[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){.header-buttons[_ngcontent-%COMP%]{gap:24px}.header-buttons__download-text[_ngcontent-%COMP%]{display:inline-block}}.calendar-body[_ngcontent-%COMP%]{display:flex}.calendar-body__calendar[_ngcontent-%COMP%]{flex-grow:1;width:100%;overflow:auto}.calendar-body__container[_ngcontent-%COMP%]{position:relative;width:100%}@media only screen and (max-width:767px){.calendar-body[_ngcontent-%COMP%]{margin:24px 16px 0}.calendar-body__day-selector[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){.calendar-body[_ngcontent-%COMP%]{margin:24px 0 0}.calendar-body__day-selector[_ngcontent-%COMP%]{display:block;max-width:400px;margin-left:24px}}[_nghost-%COMP%] .toolbar-actual-date-button[_ngcontent-%COMP%]{padding:0}.link[_ngcontent-%COMP%]{margin-top:32px;width:400px}.link__placeholder[_ngcontent-%COMP%]{height:75px;width:400px;margin-top:32px}.links[_ngcontent-%COMP%]{display:flex;gap:16px}.icon-calendar-dates-edit[_ngcontent-%COMP%]{color:#0943d9}.toggle-visibility[_ngcontent-%COMP%]{display:none}.date-range--actions[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:8px;width:100%}.date-range--actions[_ngcontent-%COMP%] .date-range__button[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] .date-range-input[_ngcontent-%COMP%] .mat-date-range-input-inner{text-align:left;width:unset;font-weight:800}[_nghost-%COMP%] .date-range-input[_ngcontent-%COMP%] .mat-date-range-input-container{padding:16px 0;justify-content:flex-end}[_nghost-%COMP%] .date-range-input[_ngcontent-%COMP%] .mat-date-range-input-end-wrapper{text-align:left}[_nghost-%COMP%] .date-range-input--hidden[_ngcontent-%COMP%]{width:0;overflow:hidden;visibility:hidden;opacity:0}
20[_nghost-%COMP%] .date-range-input[_ngcontent-%COMP%] .mat-date-range-input-container{margin:0}[_nghost-%COMP%] .date-range-input__date[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .date-range-button[_ngcontent-%COMP%]{margin-left:12px}[_nghost-%COMP%] .date-range-button__icon--remove[_ngcontent-%COMP%]{font-size:22px;padding:4px}[_nghost-%COMP%] .date-range-button[_ngcontent-%COMP%] svg{margin:0 auto}.list-view-toolbar[_ngcontent-%COMP%] .toolbar__title{margin-left:auto}.list-view-toolbar[_ngcontent-%COMP%] .toolbar{max-width:400px}[_nghost-%COMP%] neptun-toolbar.weekly-view-toolbar .toolbar{max-width:610px}[_nghost-%COMP%] neptun-toolbar.monthly-view-toolbar .toolbar{max-width:400px}.calendar-placeholder__container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;flex-direction:row;gap:unset;background-color:#2130551a;position:absolute;top:0;left:0;z-index:5}.calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title{display:flex;flex-direction:column;align-items:flex-start}.calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title h3, .calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title h4{color:#222}.calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title p{color:#666}@media only screen and (max-width:767px){.toggle-visibility[_ngcontent-%COMP%]{display:flex}.links[_ngcontent-%COMP%]{flex-direction:column}.calendar-legend[_ngcontent-%COMP%]{display:block;margin:0 20px}.calendar-legend[_ngcontent-%COMP%] .legend{row-gap:8px;column-gap:24px;padding:8px 12px}.calendar-legend[_ngcontent-%COMP%] .legend__item{font-size:13px;padding:0}.calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title h3, .calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title h4{font-size:20px}.calendar-module-toolbar[_ngcontent-%COMP%] .toolbar__title p{font-size:13px;margin-top:2px}}@media only screen and (max-width:575px){.links[_ngcontent-%COMP%]{margin-top:16px;flex-direction:column}.link[_ngcontent-%COMP%]{margin-top:0;width:100%}}"],changeDetection:0})}}return n})();var Ci=(()=>{class n{transform(e){switch(e){case $i.Error:return vt.CircleX;case $i.Success:return vt.CircleChecked;default:return}}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275pipe=ya({name:"statusIcon",type:n,pure:!0})}}return n})();var ap=["appointment",""],op=["*"];function rp(n,a){if(n&1&&(s(0,"span",7),u(1),d()),n&2){let e=p(2);r(),w(e.time)}}function lp(n,a){if(n&1&&(s(0,"div",8),u(1),d()),n&2){let e=p(2);r(),T(" ",e.appointment.printName," ")}}function sp(n,a){if(n&1&&(s(0,"div",8),u(1),d()),n&2){let e=p(2);r(),T(" ",e.appointment.location," ")}}function cp(n,a){if(n&1&&(s(0,"p",6),u(1),d()),n&2){let e=p(2);r(),w(e.appointment.description)}}function pp(n,a){if(n&1&&(k(0),s(1,"neptun-card",1),C(2,"statusColor"),s(3,"h4",2),u(4),d(),s(5,"neptun-string-list",3),f(6,rp,2,1,"ng-template",4)(7,lp,2,1,"ng-template",4)(8,sp,2,1,"ng-template",4),d(),s(9,"div",5),wa(10),d(),f(11,cp,2,1,"p",6),d(),R()),n&2){let e=p();r(),h("ngClass",e.appointment.uiDisplayState?hn(2,3,e.appointment.uiDisplayState.type,"appointment"):""),r(3),w(e.appointment.subject),r(7),b(e.appointment.description?11:-1)}}var Yt=(()=>{class n{constructor(e){this.dateLocalizationService=e,this.time=""}ngOnInit(){let e=this.dateLocalizationService.localizeDate(this.appointment.startTime,void 0,{month:"long",day:"numeric",weekday:"long",hour:"2-digit",minute:"2-digit"}),t=this.dateLocalizationService.localizeDate(this.appointment.endTime,void 0,{timeStyle:"short"});this.time=`${e} - ${t}`}static{this.\u0275fac=function(t){return new(t||n)(ge(be))}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-appointment-invitations-card","appointment",""]],inputs:{appointment:"appointment"},attrs:ap,ngContentSelectors:op,decls:1,vars:0,consts:[[4,"transloco"],[1,"appointment",3,"ngClass"],[1,"appointment__title"],[1,"appointment__metadata"],["neptunStringListContent",""],[1,"appointment__buttons"],[1,"appointment__description"],[1,"appointment__time"],[1,"appointment__person"]],template:function(t,i){t&1&&(Sa(),f(0,pp,12,6,"ng-container",0))},dependencies:[$,yt,Ze,Fn,Qa,xr],styles:['.appointment[_ngcontent-%COMP%]{margin:16px 0;display:grid;grid-template-columns:minmax(0,1fr) 266px;grid-template-areas:"title buttons" "metadata buttons" "description .";column-gap:32px;row-gap:4px;border-left-width:8px;border-left-style:solid;border-left-color:#fff}.appointment__title[_ngcontent-%COMP%]{grid-area:title;color:#213055;font-size:21px;line-height:24px;margin:0;min-width:0}.appointment__metadata[_ngcontent-%COMP%]{grid-area:metadata;min-width:0}.appointment__person[_ngcontent-%COMP%]{color:#222}.appointment__description[_ngcontent-%COMP%]{grid-area:description;margin:0;font-size:13px;line-height:20px;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word}.appointment--secondary[_ngcontent-%COMP%]{border-left-color:#00dea4}.appointment--error[_ngcontent-%COMP%]{border-left-color:#a62c2c}.appointment__time[_ngcontent-%COMP%]{font-weight:800}.appointment__buttons[_ngcontent-%COMP%]{grid-area:buttons;display:flex;justify-content:flex-start;align-items:center;align-self:center}@media only screen and (max-width:813px){.appointment[_ngcontent-%COMP%]{grid-template-columns:1fr;grid-template-areas:"title" "metadata" "description" "buttons";column-gap:0}.appointment__buttons[_ngcontent-%COMP%]{align-self:stretch}.appointment__description[_ngcontent-%COMP%]{overflow:visible;display:block;-webkit-line-clamp:none}}'],changeDetection:0})}}return n})();var dp=["appointments",""],mp=(n,a)=>a.appointmentId;function up(n,a){if(n&1){let e=V();s(0,"neptun-appointment-invitations-card",1)(1,"button",2),M("click",function(){let i=D(e).$implicit,o=p(2);return S(o.rejectInvitation(i))}),u(2),d(),s(3,"h4",3),u(4),d(),E(5,"i",4),C(6,"statusIcon"),d()}if(n&2){let e,t=a.$implicit,i=a.$index,o=p().$implicit;h("appointment",t),r(),h("id","reject-link_"+i),r(),T(" ",o("calendar.reject")," "),r(2),w(o("studentCard.accepted")),r(),h("ngClass",(e=x(6,5,t==null||t.uiDisplayState==null?null:t.uiDisplayState.type))!==null&&e!==void 0?e:"")}}function gp(n,a){if(n&1&&(k(0),Le(1,up,7,7,"neptun-appointment-invitations-card",1,mp),R()),n&2){let e=p();r(),Ne(e.appointments())}}var Yr=(()=>{class n{constructor(){this.appointments=Je.required(),this.reject=Be()}rejectInvitation(e){this.reject.emit(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-approved-appointment-invitations","appointments",""]],inputs:{appointments:[1,"appointments"]},outputs:{reject:"reject"},attrs:dp,decls:1,vars:0,consts:[[4,"transloco"],[3,"appointment"],["neptun-button","",1,"appointment__link",3,"click","id"],[1,"appointment__status"],[1,"appointment__icon",3,"ngClass"]],template:function(t,i){t&1&&f(0,gp,3,0,"ng-container",0)},dependencies:[$,Yt,ee,Ze,Ci],styles:[".appointment__icon[_ngcontent-%COMP%]{color:#00dea4;font-size:24px;align-self:center;margin-inline-start:8px}@media only screen and (max-width:813px){.appointment__icon[_ngcontent-%COMP%]{order:1;margin-inline-start:0;margin-inline-end:8px}}.appointment__status[_ngcontent-%COMP%]{line-height:24px;margin:0}@media only screen and (max-width:813px){.appointment__status[_ngcontent-%COMP%]{order:2}}.appointment__link[_ngcontent-%COMP%]{margin-inline-end:34px}@media only screen and (max-width:813px){.appointment__link[_ngcontent-%COMP%]{order:3;margin-inline-end:0;margin-inline-start:auto}}"],changeDetection:0})}}return n})();var hp=(n,a)=>a.appointmentId;function _p(n,a){if(n&1){let e=V();s(0,"neptun-appointment-invitations-card",1)(1,"button",2),M("click",function(){let i=D(e).$implicit,o=p(2);return S(o.rejectInvitation(i))}),u(2),d(),s(3,"button",3),M("click",function(){let i=D(e).$implicit,o=p(2);return S(o.acceptInvitation(i))}),u(4),d()()}if(n&2){let e=a.$implicit,t=a.$index,i=p().$implicit,o=p();h("appointment",e),r(),h("permissionRequired",o.appointmentDenyForInvitedUserPermission)("id","deny-button_"+t),r(),T(" ",i("calendar.reject")," "),r(),h("permissionRequired",o.appointmentApprovalForInvitedUserPermission)("id","approve-button_"+t),r(),T(" ",i("calendar.accept")," ")}}function fp(n,a){if(n&1&&(k(0),Le(1,_p,5,7,"neptun-appointment-invitations-card",1,hp),R()),n&2){let e=p();r(),Ne(e.invitations())}}var Xr=(()=>{class n{constructor(){this.invitations=Je.required(),this.reject=Be(),this.accept=Be(),this.relatedControllerName="Calendar",this.appointmentDenyForInvitedUserPermission={controllerName:this.relatedControllerName,actionName:"AppointmentDenyForInvitedUser"},this.appointmentApprovalForInvitedUserPermission={controllerName:this.relatedControllerName,actionName:"AppointmentApprovalForInvitedUser"}}rejectInvitation(e){this.reject.emit(e)}acceptInvitation(e){this.accept.emit(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-new-appointment-invitations"]],inputs:{invitations:[1,"invitations"]},outputs:{reject:"reject",accept:"accept"},decls:1,vars:0,consts:[[4,"transloco"],[3,"appointment"],["neptun-button","","accent","stroked","color","error",3,"click","permissionRequired","id"],["neptun-button","","accent","flat",3,"click","permissionRequired","id"]],template:function(t,i){t&1&&f(0,fp,3,0,"ng-container",0)},dependencies:[$,Yt,ee,Oe],styles:["@media only screen and (min-width:814px){[_nghost-%COMP%] neptun-appointment-invitations-card .appointment__buttons{gap:16px;justify-content:flex-end;width:100%}}@media only screen and (max-width:813px){[_nghost-%COMP%] neptun-appointment-invitations-card .appointment__buttons{flex-direction:column-reverse;width:100%;gap:16px}[_nghost-%COMP%] neptun-appointment-invitations-card .appointment__buttons button{width:100%}}"],changeDetection:0})}}return n})();var vp=(n,a)=>a.appointmentId;function Cp(n,a){if(n&1){let e=V();s(0,"neptun-appointment-invitations-card",1)(1,"button",2),M("click",function(){let i=D(e).$implicit,o=p(2);return S(o.acceptInvitation(i))}),u(2),d(),s(3,"h4",3),u(4),d(),E(5,"i",4),C(6,"statusIcon"),d()}if(n&2){let e,t=a.$implicit,i=a.$index,o=p().$implicit;h("appointment",t),r(),h("id","accept-link_"+i),r(),T(" ",o("calendar.accept")," "),r(2),w(o("offeredGrades.refused")),r(),h("ngClass",(e=x(6,5,t==null||t.uiDisplayState==null?null:t.uiDisplayState.type))!==null&&e!==void 0?e:"")}}function xp(n,a){if(n&1&&(k(0),Le(1,Cp,7,7,"neptun-appointment-invitations-card",1,vp),R()),n&2){let e=p();r(),Ne(e.appointments())}}var Qr=(()=>{class n{constructor(){this.appointments=Je.required(),this.accept=Be()}acceptInvitation(e){this.accept.emit(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-rejected-appointment-invitations"]],inputs:{appointments:[1,"appointments"]},outputs:{accept:"accept"},decls:1,vars:0,consts:[[4,"transloco"],[3,"appointment"],["neptun-button","",1,"appointment__link",3,"click","id"],[1,"appointment__status"],[1,"appointment__icon",3,"ngClass"]],template:function(t,i){t&1&&f(0,xp,3,0,"ng-container",0)},dependencies:[$,Yt,ee,Ze,Ci],styles:[".appointment__icon[_ngcontent-%COMP%]{color:#a62c2c;font-size:24px;align-self:center;margin-inline-start:8px}@media only screen and (max-width:813px){.appointment__icon[_ngcontent-%COMP%]{order:1;margin-inline-start:0;margin-inline-end:8px}}.appointment__status[_ngcontent-%COMP%]{line-height:24px;margin:0}@media only screen and (max-width:813px){.appointment__status[_ngcontent-%COMP%]{order:2}}.appointment__link[_ngcontent-%COMP%]{margin-inline-end:34px}@media only screen and (max-width:813px){.appointment__link[_ngcontent-%COMP%]{order:3;margin-inline-end:0;margin-inline-start:auto}}"],changeDetection:0})}}return n})();function Kr(n){return n.map(a=>G(B({},a),{showModifyLink:new Date(a.startTime)>new Date}))}var ha=me(xe(()=>({newInvitations:ae,approvedInvitations:ae,deniedInvitations:ae})),Te(),le((n,a=v(ye),e=v(wt),t=v(Pe),i=v(be))=>({loadNewInvitations:q(o=>o.pipe(N(()=>n.execute("newInvitations",a.getNewAllAppointmentInvitations())))),loadApprovedInvitations:q(o=>o.pipe(N(()=>n.execute("approvedInvitations",a.getAllAnsweredAppointmentsInvitations(!0).pipe(O(Kr)))))),loadDeniedInvitations:q(o=>o.pipe(N(()=>n.execute("deniedInvitations",a.getAllAnsweredAppointmentsInvitations(!1).pipe(O(Kr)))))),acceptInvitation(o){e.accept(o)},rejectInvitation:q(o=>o.pipe(dt(l=>e.openDenyAppointmentInvitationsDialog().pipe(J(m=>!!m),N(()=>{let m=new Date;return e.reject(l).pipe(H(()=>{a.newAppointmentInvitationsRefresh(),a.answeredAppointmentsInvitationsRefresh(),t.dispatch(new Ae.AddErrorPushNotification({title:"notification.appointmentDeclined",secondaryTitle:l.subject,description:i.localizeDate(m,void 0,{dateStyle:"long",timeStyle:"short"})}))}))})))))})),ei(n=>({onInit:()=>{n.loadNewInvitations(),n.loadApprovedInvitations(),n.loadDeniedInvitations()}})));var yp=()=>[],Dp=()=>[4,2];function Sp(n,a){if(n&1){let e=V();s(0,"div")(1,"neptun-new-appointment-invitations",9),M("reject",function(i){D(e);let o=p(4);return S(o.rejectInvitation(i))})("accept",function(i){D(e);let o=p(4);return S(o.acceptInvitation(i))}),d()()}if(n&2){p(2);let e=Y(0);r(),h("invitations",e.data)}}function wp(n,a){if(n&1&&je(0,8),n&2){p(3);let e=ie(11);h("ngTemplateOutlet",e)}}function Tp(n,a){if(n&1&&f(0,Sp,2,1,"div")(1,wp,1,1,"ng-container",8),n&2){p();let e=Y(0);b(e.data.length>0?0:1)}}function Ep(n,a){if(n&1&&je(0,8),n&2){p(2);let e=ie(11);h("ngTemplateOutlet",e)}}function bp(n,a){if(n&1&&je(0,8),n&2){p(2);let e=ie(13);h("ngTemplateOutlet",e)}}function Ip(n,a){if(n&1&&(oe(0),f(1,Tp,2,1),C(2,"isResultRequest"),C(3,"hasError"),f(4,Ep,1,1,"ng-container",8)(5,bp,1,1,"ng-container",8)),n&2){let e=re(p(2).newInvitations());r(),b(x(2,2,e)?1:x(3,4,e)?4:5)}}function Mp(n,a){if(n&1){let e=V();s(0,"div")(1,"neptun-approved-appointment-invitations",10),M("reject",function(i){D(e);let o=p(4);return S(o.rejectInvitation(i))}),d()()}if(n&2){p(2);let e=Y(0);r(),h("appointments",e.data)}}function Pp(n,a){if(n&1&&je(0,8),n&2){p(3);let e=ie(11);h("ngTemplateOutlet",e)}}function Ap(n,a){if(n&1&&f(0,Mp,2,1,"div")(1,Pp,1,1,"ng-container",8),n&2){p();let e=Y(0);b(e.data.length>0?0:1)}}function kp(n,a){if(n&1&&je(0,8),n&2){p(2);let e=ie(11);h("ngTemplateOutlet",e)}}function Rp(n,a){if(n&1&&je(0,8),n&2){p(2);let e=ie(13);h("ngTemplateOutlet",e)}}function Vp(n,a){if(n&1&&(oe(0),f(1,Ap,2,1),C(2,"isResultRequest"),C(3,"hasError"),f(4,kp,1,1,"ng-container",8)(5,Rp,1,1,"ng-container",8)),n&2){let e=re(p(2).approvedInvitations());r(),b(x(2,2,e)?1:x(3,4,e)?4:5)}}function Fp(n,a){if(n&1){let e=V();s(0,"div",11)(1,"neptun-rejected-appointment-invitations",12),M("accept",function(i){D(e);let o=p(4);return S(o.acceptInvitation(i))}),d()()}if(n&2){p(2);let e=Y(0);r(),h("appointments",e.data)}}function Op(n,a){if(n&1&&je(0,8),n&2){p(3);let e=ie(11);h("ngTemplateOutlet",e)}}function Lp(n,a){if(n&1&&f(0,Fp,2,1,"div",11)(1,Op,1,1,"ng-container",8),n&2){p();let e=Y(0);b(e.data.length>0?0:1)}}function Np(n,a){if(n&1&&je(0,8),n&2){p(2);let e=ie(11);h("ngTemplateOutlet",e)}}function jp(n,a){if(n&1&&je(0,8),n&2){p(2);let e=ie(13);h("ngTemplateOutlet",e)}}function Hp(n,a){if(n&1&&(oe(0),f(1,Lp,2,1),C(2,"isResultRequest"),C(3,"hasError"),f(4,Np,1,1,"ng-container",8)(5,jp,1,1,"ng-container",8)),n&2){let e=re(p(2).deniedInvitations());r(),b(x(2,2,e)?1:x(3,4,e)?4:5)}}function $p(n,a){if(n&1&&(E(0,"neptun-data-missing-placeholder",13),C(1,"assetUrl")),n&2){let e=p().$implicit;h("title",e("notification.noInvitationsToDisplay"))("imageUrl",x(1,2,"assets/images/no-data/no-message-for-search-text.svg"))}}function Bp(n,a){if(n&1&&(s(0,"neptun-card"),E(1,"neptun-universal-placeholder",15),d()),n&2){let e=p(3);r(),h("gridSize",ce(4,Dp))("skeletons",e.skeletons)("gap","12px")("rowSize","16px")}}function qp(n,a){n&1&&(s(0,"div",14),Le(1,Bp,2,5,"neptun-card",null,un),d()),n&2&&(r(),Ne(ce(0,yp).constructor(3)))}function Up(n,a){if(n&1&&(k(0),E(1,"neptun-primary-title",3),s(2,"div",4)(3,"neptun-tab-group",5)(4,"neptun-tab",6),f(5,Ip,6,6,"ng-template",7),d(),s(6,"neptun-tab",6),f(7,Vp,6,6,"ng-template",7),d(),s(8,"neptun-tab",6),f(9,Hp,6,6,"ng-template",7),d()(),f(10,$p,2,4,"ng-template",null,0,ut)(12,qp,3,1,"ng-template",null,1,ut),d(),R()),n&2){let e,t,i,o=a.$implicit,l
20=p();r(),h("title",o("menu.appointmentInvitations")),r(2),h("tabGroupName","tab-appointment-invitations")("hasPadding",!1),r(),h("accessMode",(e=l.getNewAllAppointmentInvitationsPermissionAccessMode())==null?null:e.accessMode)("permission",l.getNewAllAppointmentInvitationsPermission)("label",o("global.new")),r(2),h("accessMode",(t=l.getAllAnsweredAppointmentsInvitationsPermissionAccessMode())==null?null:t.accessMode)("permission",l.getAllAnsweredAppointmentsInvitationsPermission)("label",o("studentCard.accepted")),r(2),h("accessMode",(i=l.getAllAnsweredAppointmentsInvitationsPermissionAccessMode())==null?null:i.accessMode)("permission",l.getAllAnsweredAppointmentsInvitationsPermission)("label",o("semesterRegistration.rejected"))}}var Jr=(()=>{class n{constructor(){this.relatedControllerName="Calendar",this.getAllAnsweredAppointmentsInvitationsAction="GetAllAnsweredAppointmentsInvitations",this.getNewAllAppointmentInvitationsAction="GetNewAllAppointmentInvitations",this.appointmentInvitationsStore=v(ha),this.permissionService=v(nt),this.newInvitations=this.appointmentInvitationsStore.newInvitations,this.approvedInvitations=this.appointmentInvitationsStore.approvedInvitations,this.deniedInvitations=this.appointmentInvitationsStore.deniedInvitations,this.getNewAllAppointmentInvitationsPermissionAccessMode=ft(this.permissionService.getAccessMode(this.relatedControllerName,this.getNewAllAppointmentInvitationsAction)),this.getAllAnsweredAppointmentsInvitationsPermissionAccessMode=ft(this.permissionService.getAccessMode(this.relatedControllerName,this.getAllAnsweredAppointmentsInvitationsAction)),this.getNewAllAppointmentInvitationsPermission={controllerName:this.relatedControllerName,actionName:this.getNewAllAppointmentInvitationsAction},this.getAllAnsweredAppointmentsInvitationsPermission={controllerName:this.relatedControllerName,actionName:this.getAllAnsweredAppointmentsInvitationsAction},this.skeletons=[{type:"rectangle",position:{start:{x:1,y:1},end:{x:2,y:2}}},{type:"rectangle",position:{start:{x:1,y:2},end:{x:3,y:2}}}]}acceptInvitation(e){this.appointmentInvitationsStore.acceptInvitation(e)}rejectInvitation(e){this.appointmentInvitationsStore.rejectInvitation(e)}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-appointment-invitations"]],features:[Z([ha,P,ye,wt])],decls:1,vars:0,consts:[["missingPlaceholder",""],["loadingPlaceholder",""],[4,"transloco"],[3,"title"],[1,"neptun-wrapper-padding"],[3,"tabGroupName","hasPadding"],[3,"accessMode","permission","label"],["neptunTabContent",""],[3,"ngTemplateOutlet"],[3,"reject","accept","invitations"],[3,"reject","appointments"],[1,"appointment-wrapper"],[3,"accept","appointments"],[3,"title","imageUrl"],[1,"appointment-invitations-placeholder"],[3,"gridSize","skeletons","gap","rowSize"]],template:function(t,i){t&1&&f(0,Up,14,12,"ng-container",2)},dependencies:[$,We,mr,dr,pr,fn,Xr,Yr,Qr,po,yt,ho,Fa,pe,de],styles:["[_nghost-%COMP%] neptun-data-missing-placeholder .empty-list-placeholder{margin-top:48px}.appointment-invitations-placeholder[_ngcontent-%COMP%]{display:flex;justify-content:unset;align-items:unset;flex-direction:column;gap:16px;margin-top:24px}"],changeDetection:0})}}return n})();function xi(n){return`${n.timeTableId}${"|"}${n.termId}`}var Zr=(()=>{class n extends Ha{getItemsFromServer(e,t,i){return i?.termId?this.getInstitutionalTimetables(i.termId):Re}constructor(e){super(),this.httpClient=e,this.columns=[]}getInstitutionalTimetables(e){return this.httpClient.get(`${Q.settings.apiServer.url}Calendar/GetInstitutionalTimetables`,{params:{termId:e}}).pipe(O(t=>t.data),O(t=>t.map(i=>this.convertToSingleSelect(i,e))))}convertToSingleSelect(e,t){return{value:xi({timeTableId:e.timeTableId,termId:t}
20),primary:e.timetableName,secondary:[e.timetableCode],tertiary:[e.moduleCode,e.moduleType]}}static{this.\u0275fac=function(t){return new(t||n)(Ee(vn))}}static{this.\u0275prov=He({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Tt="Calendar",ne;(function(n){let a=(()=>{class g{static{this.type=`[${Tt}] Set date range`}constructor(y){this.payload=y}}return g})();n.SetDateRange=a;let e=(()=>{class g{static{this.type=`[${Tt}] Set view types`}constructor(y){this.payload=y}}return g})();n.SetViewType=e;let t=(()=>{class g{static{this.type=`[${Tt}] Get intstitutional timetable`}constructor(y){this.payload=y}}return g})();n.GetTimeTableOfInstitution=t;let i=(()=>{class g{static{this.type=`[${Tt}] Set selected date`}constructor(y){this.payload=y}}return g})();n.SetSelectedDate=i;let o=(()=>{class g{static{this.type=`[${Tt}] Get default view type`}constructor(y){this.payload=y}}return g})();n.GetDefaultViewType=o;let l=(()=>{class g{static{this.type=`[${Tt}] Reset calendar state`}constructor(y){this.payload=y}}return g})();n.ResetCalendarState=l;let m=(()=>{class g{static{this.type=`[${Tt}] Get calendar events`}constructor(y){this.payload=y}}return g})();n.GetCalendarEvents=m;let c=(()=>{class g{static{this.type=`[${Tt}] Get student trainings`}}return g})();n.GetStudentTrainings=c})(ne||(ne={}));var fa={filterTypes:[],isLoading:!1,viewType:null,dateRange:null,studentTrainings:[],institutionalEvents:[],filters:{selectedFilters:[],selectedStudentTraining:[]},selectedDate:new Date,calendarEvents:[],selectedTimeTable:{primary:"",secondary:[],value:{timeTableId:"",termId:""}}},z=class yi{constructor(){this.cacheService=v(Rt),this.contextUserProfileService=v(En),this.calendarApiService=v(P)}static getDateRange(a){return a.dateRange}static getInstitutionalEvents(a){return a.institutionalEvents}static getSelectedTimeTable(a){return a.selectedTimeTable}static getStudentTrainings(a){return a.studentTrainings}static getSelectedStudentTrainings(a){return a.filters.selectedStudentTraining}static getFilterTypes(a){return a.filterTypes}static getViewType(a){return a.viewType}static getSelectedViewTypeText(a){return a.viewType?a.viewType.text:""}static getSelectedViewTypeType(a){return a.viewType?a.viewType.type:U.Daily}static getSelectedDate(a){return a.selectedDate}setDateRange(a,e){a.patchState({dateRange:e.payload.dateRange})}getCalendarEvents(a){this.cacheService.invalidateCache();let e=a.getState();return a.patchState({isLoading:!0}),e.dateRange?this.getEvents(e,{start:e.dateRange.start,end:e.dateRange.end}).pipe(H(t=>a.patchState({calendarEvents:t,isLoading:!1}))):Re}getStudentTrainings(a){let e=a.getState();return a.patchState({isLoading:!0}),this.calendarApiService.studentTrainings().pipe(H(t=>a.patchState({studentTrainings:t,filters:B({},e.filters)})))}getTimeTableOfInstitution(a,e){return this.calendarApiService.getTimetableOfInstitution(e.payload.value.timeTableId,e.payload.value.termId).pipe(H(t=>{a.patchState({selectedTimeTable:e.payload,institutionalEvents:t})}))}getEvents(a,e,t=!0){let i=new Date(e.start),o=new Date(e.end);return t&&(i.setHours(0,0,0,0),o.setHours(23,59,59,999),a.viewType?.type===U.Daily&&(o=new Date(i),o.setHours(23,59,59,999))),this.calendarApiService.getCalendarEvents({startDate:i,endDate:o,studentTrainingIds:a.filters.selectedStudentTraining.filter(l=>
20l.isEnabled).map(l=>l.studentTrainingId),isClassesVisible:a.filters.selectedFilters.some(l=>l.type==="class"&&l.isEnabled),isExamsVisible:a.filters.selectedFilters.some(l=>l.type==="exam"&&l.isEnabled),isFinalExamsVisible:!1,isOnlineMeetingsVisible:a.filters.selectedFilters.some(l=>l.type==="online"&&l.isEnabled),isOtherEventsVisible:a.filters.selectedFilters.some(l=>l.type==="otherEvent"&&l.isEnabled),isPeriodsVisible:a.filters.selectedFilters.some(l=>l.type==="period"&&l.isEnabled),isTasksVisible:a.filters.selectedFilters.some(l=>l.type==="task"&&l.isEnabled)})}setViewType(a,e){return a.patchState({viewType:e.payload.viewType}),this.contextUserProfileService.saveCalendarSelectedView(e.payload.viewType.type)}setSelectedDate(a,e){a.patchState({selectedDate:e.payload.selectedDate})}getDefaultViewType(a,e){return this.contextUserProfileService.getCalendarSelectedView().pipe(H(t=>{let i=qt();e.payload.explicitViewType?i=ot.find(o=>o.type===e.payload.explicitViewType)??qt():t&&(i=ot[t.selectedView]),a.patchState({viewType:i})}))}resetCalendarState(a,e){let t=a.getState();!e.payload?.shouldResetDate&&t.dateRange?a.setState(G(B({},fa),{dateRange:B({},t.dateRange),selectedDate:t.selectedDate})):a.setState(B({},fa))}static{this.\u0275fac=function(e){return new(e||yi)}}static{this.\u0275prov=He({token:yi,factory:yi.\u0275fac})}};De([st(ne.SetDateRange),L("design:type",Function),L("design:paramtypes",[Object,ne.SetDateRange]),L("design:returntype",void 0)],z.prototype,"setDateRange",null);De([st(ne.GetCalendarEvents),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",It)],z.prototype,"getCalendarEvents",null);De([st(ne.GetStudentTrainings),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",It)],z.prototype,"getStudentTrainings",null);De([st(ne.GetTimeTableOfInstitution),L("design:type",Function),L("design:paramtypes",[Object,ne.GetTimeTableOfInstitution]),L("design:returntype",It)],z.prototype,"getTimeTableOfInstitution",null);De([st(ne.SetViewType),L("design:type",Function),L("design:paramtypes",[Object,ne.SetViewType]),L("design:returntype",It)],z.prototype,"setViewType",null);De([st(ne.SetSelectedDate),L("design:type",Function),L("design:paramtypes",[Object,ne.SetSelectedDate]),L("design:returntype",void 0)],z.prototype,"setSelectedDate",null);De([st(ne.GetDefaultViewType),L("design:type",Function),L("design:paramtypes",[Object,ne.GetDefaultViewType]),L("design:returntype",It)],z.prototype,"getDefaultViewType",null);De([st(ne.ResetCalendarState),L("design:type",Function),L("design:paramtypes",[Object,ne.ResetCalendarState]),L("design:returntype",void 0)],z.prototype,"resetCalendarState",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Object)],z,"getDateRange",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Array)],z,"getInstitutionalEvents",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Object)],z,"getSelectedTimeTable",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Array)],z,"getStudentTrainings",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Array)],z,"getSelectedStudentTrainings",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Array)],z,"getFilterTypes",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Object)],z,"getViewType",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",String)],z,"getSelectedViewTypeText",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Object)],z,"getSelectedViewTypeType",null);De([Xe(),L("design:type",Function),L("design:paramtypes",[Object]),L("design:returntype",Date)],z,"getSelectedDate",null);z=De([Aa({name:"calendar",defaults:fa})],z);function el(n){let[a="",e=""]=n.split("|");return{timeTableId:a,termId:e}}var zp=["calendar"],Wp=["daySelector"];function Yp(n,a){if(n&1&&(k(0),s(1,"h4",17),u(2),d(),E(3,"neptun-string-list",18),s(4,"div",19),u(5),d(),R()),n&2){let e=p().ngIf,t=p().$implicit;r(2),w(e.primary),r(),h("text",e.secondary),r(2),T("",t("calendar.selectCalendarSelectedCaption")," ")}}function Xp(n,a){if(n&1&&(s(0,"h4",17),u(1),d(),s(2,"div",19),u(3),d()),n&2){let e=p(2).$implicit;r(),w(e("calendar.selectCalendar")),r(2),w(e("calendar.selectCalendarCaption"))}}function Qp(n,a){if(n&1){let e=V();s(0,"div",14)(1,"div"),f(2,Yp,6,3,"ng-container",15)(3,Xp,4,2,"ng-template",null,0,ut),d(),s(5,"button",16),M("click",function(){D(e);let i=p(2);return S(i.openSelectDialog())}),u(6),d()()}if(n&2){let e=a.ngIf,t=ie(4),i=p().$implicit,o=p();r(2),h("ngIf",e.value.timeTableId.length&&e.value.termId.length)("ngIfElse",t),r(3),h("permissionRequired",o.getTimetableOfInstitutionPermission),r(),T(" ",e.value.timeTableId.length&&e.value.termId.length?i("button.changeCalendar"):i("button.selectCalendar")," ")}}function Kp(n,a){if(n&1){let e=V();k(0),s(1,"neptun-toolbar",20),C(2,"async"),M("next",function(){let i=D(e).ngIf,o=p(2);return S(o.next(i))})("previous",function(){let i=D(e).ngIf,o=p(2);return S(o.prev(i))}),E(3,"button",21),C(4,"async"),d(),R()}if(n&2){let e,t=p(2);r(),h("selectedViewType",(e=x(2,2,t.getSelectedViewTypeText$))!==null&&e!==void 0?e:""),r(2),h("innerHtml",x(4,4,t.title$),Qt)}}function Jp(n,a){if(n&1&&E(0,"full-calendar",22,1),n&2){let e=a.ngIf;h("options",e)}}function Zp(n,a){if(n&1&&(s(0,"div",23)(1,"neptun-card",24)(2,"h4"),u(3),d()()()),n&2){let e=p().$implicit;r(3),w(e("calendar.noSelectedCalendar"))}}function ed(n,a){if(n&1){let e=V();k(0),s(1,"neptun-primary-title",3)(2,"div",4),E(3,"neptun-calendar-download-menu",5),C(4,"async"),C(5,"async"),s(6,"neptun-calendar-view-type-menu",6),C(7,"async"),M("viewChange",function(i){D(e);let o=p();return S(o.changeView(i))}),d()()(),s(8,"div",7),f(9,Qp,7,4,"div",8),C(10,"async"),d(),s(11,"div",9),f(12,Kp,5,6,"ng-container",10),C(13,"async"),s(14,"div",11),f(15,Jp,2,1,"full-calendar",12),C(16,"async"),f(17,Zp,4,1,"div",13),C(18,"async"),d()(),R()}if(n&2){let e,t,i=a.$implicit,o=p();r(),h("title",i("menu.institutionalCalendar")),r(2),h("isInstitutional",!0)("isExcelExportNeedsDateRangeFilter",!0)("dataToExport",x(4,11,o.exportEvents$))("dateRange",x(5,13,o.dateRange$)),r(3),h("selectedViewTypeText",(e=x(7,15,o.getSelectedViewTypeText$))!==null&&e!==void 0?e:"")("viewTypes",o.viewT
20ypes),r(3),h("ngIf",x(10,17,o.selectedTimeTable$)),r(3),h("ngIf",x(13,19,o.getSelectedViewTypeType$)),r(3),h("ngIf",x(16,21,o.calendarOptions$)),r(2),h("ngIf",!((t=x(18,23,o.selectedTimeTable$))!=null&&t.value))}}var va=575,tl=(()=>{class n{constructor(e,t,i,o,l,m,c,g){this.calendarService=e,this.activatedRoute=t,this.dialogService=i,this.store=o,this.calendarApiService=l,this.transloco=m,this.institutionalTimetablesService=c,this.cacheService=g,this.destroy$=new ln,this.currentLanguage$=this.store.select(Dn.currentLanguage),this.selectedDate$=this.store.select(z.getSelectedDate),this.dateRange$=this.store.select(z.getDateRange),this.filterTypes$=this.store.select(z.getFilterTypes),this.selectedViewType$=this.store.select(z.getViewType),this.getSelectedViewTypeText$=this.store.select(z.getSelectedViewTypeText),this.getSelectedViewTypeType$=this.store.select(z.getSelectedViewTypeType),this.getInstitutionalEvents$=this.store.select(z.getInstitutionalEvents),this.selectedTimeTable$=this.store.select(z.getSelectedTimeTable),this.getSelectedStudentTrainings$=this.store.select(z.getSelectedStudentTrainings),this.getStudentTrainings$=this.store.select(z.getStudentTrainings),this.currentTraining$=this.store.select(Tn.currentTraining),this.viewT
20ypes=ot,this.getTimetableOfInstitutionPermission={controllerName:"Calendar",actionName:"GetTimetableOfInstitution"},this.title$=qe([this.currentLanguage$.pipe(J(Boolean)),this.selectedViewType$.pipe(J(Boolean)),this.selectedDate$]).pipe(O(([_,y,I])=>Bt.getCalendarTitle(_.code,y.type,I))),this.calendarEvents$=this.getInstitutionalEvents$,this.events$=this.calendarEvents$.pipe(O(_=>_.map(y=>this.convertToCalendarEvent(y)))),this.trainings$=qe([this.getStudentTrainings$,this.currentTraining$]).pipe(O(([_,y])=>_.map(I=>G(B({},I),{signedIn:I.studentTrainingId===y?.studentTrainingId,isEnabled:I.studentTrainingId===y?.studentTrainingId})))),this.calendarOptions$=qe([this.currentLanguage$.pipe(J(Boolean)),this.selectedViewType$.pipe(J(Boolean)),this.events$]).pipe(O(([_,y,I])=>({headerToolbar:{start:"",center:"",end:""},events:I,eventTimeFormat:{hour:"numeric",minute:"2-digit"},eventClick:A=>{this.calendarApi?.getApi().el.getElementsByClassName("fc-popover-close")?.[0]?.click(),this.openDetailDialog(A.event)},windowResize:()=>{window.innerWidth<=va&&this.dayTitleLength==="long"?(this.dayTitleLength="short",this.setDayTitleLength(),this.calendarApi?.getApi().render()):window.innerWidth>=va&&this.dayTitleLength==="short"&&(this.dayTitleLength="long",this.setDayTitleLength(),this.calendarApi?.getApi().render())},initialView:y.type,locale:_.code,firstDay:1,dayMaxEventRows:!0,slotMinTime:"04:00:00",slotMaxTime:"24:00:00",moreLinkContent:A=>({html:`${this.transloco.translate("calendar.more")} ${A.num} <i class="icon-chevron-right"></i>`}),moreLinkHint:A=>`${this.transloco.translate("calendar.more")} ${A}`,contentHeight:y.type===U.Monthly?808:"auto",dayHeaderFormat:{weekday:this.dayTitleLength},allDayContent(){return""},plugins:[nn,Kn,di,an],views:{timeGridWeek:{dayHeaderFormat:{weekday:this.dayTitleLength},slotLabelFormat:{hour:"numeric",minute:"2-digit"},dayHeaderContent:A=>({html:`<div>${A.text}</div><div class="fc-daygrid-day-number">${A.date.getDate()}</div>`})},timeGridDay:{dayHeaders:!1},listCustomRange:{type:"list",visibleRange:()=>{let A=this.calendarService.getListViewMonthRange(this.listViewReferenceDate),X=new Date(A.end);return X.setDate(X.getDate()+1),X.setHours(0,0,0,0),{start:A.start,end:X}},noEventsText:this.transloco.translate("calendar.noEvents")}}})),Ve(_=>Et(()=>_))),this.selectedTrainings$=this.trainings$.pipe(O(_=>_.filter(y=>y.isEnabled))),this.selectedFilterTypes$=this.filterTypes$.pipe(O(_=>_.filter(y=>y.isEnabled).map(y=>y.type))),this.dayTitleLength="long",this.listViewReferenceDate=new Date,this.viewTypeToShow=this.activatedRoute.snapshot.queryParams.viewTypeToShow??U.Weekly,this.exportEvents$=this.calendarEvents$.pipe(O(_=>this.calendarService.getExportData(_.map(y=>G(B({},y),{eventTypeId:F.Class,name:y.subjectName})),!0))),this.intervalDateTimePipe=new xt(v(be))}ngOnInit(){this.store.dispatch(new ne.GetDefaultViewType({explicitViewType:this.viewTypeToShow})),this.store.dispatch(new ne.GetStudentTrainings),this.setDayTitleLength(),this.institutionalTimetablesService.setKeepFilterOpen(!0),this.institutionalTimetablesService.setFilterState(!0)}ngOnDestroy(){this.store.dispatch(new ne.ResetCalendarState({shouldResetDate:!0})),this.cacheService.invalidateCache(),this.destroy$.next(!0),this.destroy$.complete()}setDayTitleLength(){window.innerWidth<=va?this.dayTitleLength="short":this.dayTitleLength="long"}convertToCalendarEvent(e){let t=["dot-primary"];return{id:e.id,start:e.startDate,end:e.endDate,title:e.subjectName,classNames:t,extendedProps:{calendarEventId:e.classInstanceId,online:e.isOnline,webexMeetingId:e.webexMeetingId}}}changeView(e){this.store.dispatch(new ne.SetViewType({viewType:e})),this.calendarApi?.getApi().changeView(e.type),e.type===U.List&&(this.listViewReferenceDate=this.store.selectSnapshot(z.getSelectedDate)??new Date),this.setDateRange(),this.store.dispatch(new ne.GetCalendarEvents)}setDateRange(){if(this.calendarApi?.getApi()?.view.type===U.List){let t=this.calendarService.getListViewMonthRange(this.listViewReferenceDate);this.store.dispatch(new ne.SetDateRange({dateRange:{start:new Date(t.start.getTime()),end:new Date(t.end.getTime())}}))}else{let t=this.calendarApi?.getApi().getCurrentData().dateProfile.currentRange;t&&this.store.dispatch(new ne.SetDateRange({dateRange:t}))}}next(e){this.shiftCalendarViewByViewUnit(e,1)}prev(e){this.shiftCalendarViewByViewUnit(e,-1)}shiftCalendarViewByViewUnit(e,t){if(e===U.List){this.listViewReferenceDate=new Date(this.listViewReferenceDate.getFullYear(),this.listViewReferenceDate.getMonth()+t,1),this.calendarApi?.getApi().gotoDate(this.listViewReferenceDate),this.setDateRange(),this.setCurrentDate(this.listViewReferenceDate),this.store.dispatch(new ne.GetCalendarEvents);return}t===1?this.calendarApi?.getApi().next():this.calendarApi?.getApi().prev(),this.setDateRange(),this.setCurrentDate(),this.store.dispatch(new ne.GetCalendarEvents)}openSelectDialog(){this.calendarApiService.terms$.pipe(pn(this.selectedTimeTable$),N(([e,t])=>{let i=t.value?.termId??null;return this.institutionalTimetablesService.setFilterModel(i?{termId:i}:{}),this.dialogService.openGeneralDialog({component:yr,componentData:{singleSelectService:this.institutionalTimetablesService,serverOrderBy$:cn([]),filterModel:{},requiredFilters:["termId"],currentValue:G(B({},t),{value:t.value?xi(t.value):null}),required:!0,mandatoryFilterText:this.transloco.translate("calendar.termFilterRequired")},filters:[new cr({key:"termId",label:this.transloco.translate("requestJudgement.selectSemester"),dataSource:e,required:!0})],tableOperationService:this.institutionalTimetablesService,hasFilter:!0,title:"Int\xE9zm\xE9nyi napt\xE1rak",actions:[new Ke({text:this.transloco.translate("button.cancel")}),new pt({text:this.transloco.translate("button.select"),returnValue:!0})]}).afterClosed()}),J(e=>e),O(e=>G(B({},e),{value:el(e.value)})),H(e=>{this.store.dispatch(new ne.GetTimeTableOfInstitution(e))}),xa(this.destroy$)).subscribe()}setCurrentDate(e){let t=e??this.calendarApi?.getApi().getCurrentData().currentDate;this.daySelector&&this.daySelector.getApi().gotoDate(t),t&&this.store.dispatch(new ne.SetSelectedDate({selectedDate:t}))}openDetailDialog(e){let t=[new Ke({text:this.transloco.translate("button.cancel")})],i=[];e.extendedProps.online&&i.push('<strong class="primary">Online</strong>'),i.push(this.intervalDateTimePipe.transform(e.start,e.end)),this.dialogService.openGeneralDialog({component:_i,c
20omponentData:{classInstanceId:e.extendedProps.calendarEventId,webexMeetingId:e.extendedProps.webexMeetingId,isInstitutionalCalendar:!0,termId:this.store.selectSnapshot(z.getSelectedTimeTable).value.termId},filters:null,title:e.title,subTitle:i,actions:t})}static{this.\u0275fac=function(t){return new(t||n)(ge(ye),ge(xn),ge($e),ge(Pe),ge(P),ge(Fe),ge(Zr),ge(Rt))}}static{this.\u0275cmp=j({type:n,selectors:[["neptun-institutional-calendar"]],viewQuery:function(t,i){if(t&1&&(Mt(zp,5),Mt(Wp,5)),t&2){let o;Pt(o=At())&&(i.calendarApi=o.first),Pt(o=At())&&(i.daySelector=o.first)}},features:[Z([P,ye])],decls:1,vars:0,consts:[["noSelected",""],["calendar",""],[4,"transloco"],[3,"title"],[1,"buttons"],[3,"isInstitutional","isExcelExportNeedsDateRangeFilter","dataToExport","dateRange"],[3,"viewChange","selectedViewTypeText","viewTypes"],[1,"context-bar"],["class","neptun-wrapper context-bar__inner",4,"ngIf"],[1,"neptun-wrapper"],[4,"ngIf"],[1,"calendar-body"],["class","calendar-body__calendar default-calendar full-width",3,"options",4,"ngIf"],["class","no-calendar__container",4,"ngIf"],[1,"neptun-wrapper","context-bar__inner"],[4,"ngIf","ngIfElse"],["neptun-button","","id","open-institution-calendar-select-dialog-btn","accent","flat",3,"click","permissionRequired"],[1,"context-bar__title"],[1,"context-bar__text",3,"text"],[1,"context-bar__text"],[3,"next","previous","selectedViewType"],["neptun-button","","id","toolbar-actual-date-btn","accent","icon","color","black",3,"innerHtml"],[1,"calendar-body__calendar","default-calendar","full-width",3,"options"],[1,"n
20o-calendar__container"],[1,"no-calendar"]],template:function(t,i){t&1&&f(0,ed,19,25,"ng-container",2)},dependencies:[$,We,mi,ui,gt,Fn,ee,Oe,Jn,Qn,Xn,yt,et],styles:[".calendar-body[_ngcontent-%COMP%]{display:flex}.calendar-body__calendar[_ngcontent-%COMP%]{flex-grow:1;width:100%;overflow:auto}.calendar-body__container[_ngcontent-%COMP%]{position:relative;width:100%}@media only screen and (max-width:767px){.calendar-body[_ngcontent-%COMP%]{margin:24px 16px 0}.calendar-body__day-selector[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width:768px){.calendar-body[_ngcontent-%COMP%]{margin:24px 0 0}.calendar-body__day-selector[_ngcontent-%COMP%]{display:block;max-width:400px;margin-left:24px}}.buttons[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center}.view-menu[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font-weight:800;position:relative;color:#213055;background-color:#f2f3fb;border-radius:8px;padding:12px;cursor:pointer}.view-menu__icon[_ngcontent-%COMP%]{color:#444;margin-left:16px;font-size:22px}.view-type[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:800}.settings-menu[_ngcontent-%COMP%]{padding:12px;align-items:center;display:flex;gap:8px;border-radius:8px}.settings-menu__text[_ngcontent-%COMP%]{display:none}.settings-menu[_ngcontent-%COMP%]:hover{text-decoration:none}.settings-menu[_ngcontent-%COMP%]:hover .settings-menu__text[_ngcontent-%COMP%]{text-decoration:underline}.settings-menu--open[_ngcontent-%COMP%]{color:#fff;background-color:#213055}.settings-menu__icon[_ngcontent-%COMP%]{font-size:22px}.context-bar[_ngcontent-%COMP%]{background-color:#f2f3fb;padding:16px 20px}.context-bar__inner[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:unset;flex-direction:column;gap:24px}.context-bar__text[_ngcontent-%COMP%]{color:#444;margin-top:8px}.calendar-body[_ngcontent-%COMP%]{margin-top:24px;position:relative}.no-calendar[_ngcontent-%COMP%]{color:#213055;font-weight:800;text-align:center;margin:0 16px}.no-calendar__container[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start;flex-direction:row;gap:unset;position:absolute;top:100px;left:0;z-index:100}@media screen and (min-width:575px){.context-bar[_ngcontent-%COMP%]{padding:32px 0}.context-bar__inner[_ngcontent-%COMP%]{flex-direction:row}.settings-menu__text[_ngcontent-%COMP%]{display:inline}.no-calendar__container[_ngcontent-%COMP%]{align-items:center;top:0}}@media only screen and (max-width:767px){[_nghost-%COMP%] neptun-toolbar[_ngcontent-%COMP%] .toolbar{margin:16px 16px 0}}@media only screen and (max-width:574px){.no-calendar__container[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);width:unset;height:unset}}"]})}}return n})();var td=[{path:"",data:{breadcrumb:""},children:[{path:"",component:Wr},{path:"appointment-invitations",component:Jr,data:{breadcrumb:"appointmentInvitations"}},{path:"institutional-calendar",component:tl,data:{breadcrumb:"institutionalCalendar"}}]}],XD=[{path:"",data:{breadcrumb:""},providers:[ka([z]),P],children:td}];export{XD as routes};
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.