1"use strict";(self.webpackChunkstudent_client=self.webpackChunkstudent_client||[]).push([[805],{74394:(N,x,s)=>{s.d(x,{r:()=>F});var i=s(81180),M=s(39646),n=s(94650),t=s(76947),h=s(89383),C=s(36895);function D(m,f){if(1&m&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&m){const a=n.oxw().$implicit;n.xp6(1),n.hij("(",a.amount,")")}}const g=function(m){return{active:m}};function v(m,f){if(1&m){const a=n.EpF();n.TgZ(0,"li",4)(1,"a",5),n.NdJ("click",function(){const Z=n.CHM(a).$implicit,I=n.oxw();return n.KtG(I.selectItem(Z))})("keydown.enter",function(){const Z=n.CHM(a).$implicit,I=n.oxw();return n.KtG(I.selectItem(Z))}),n._uU(2),n.ALo(3,"async"),n.YNc(4,D,2,1,"span",6),n.qZA()()}if(2&m){const a=f.$implicit,u=n.oxw();n.s9C("id",a.id),n.Q6J("ngClass",n.VKq(6,g,a.index===(null==u.selectedItem?null:u.selectedItem.index))),n.xp6(2),n.hij(" ",n.lcZ(3,4,u.getItemTitle(a))," "),n.xp6(2),n.Q6J("ngIf",a.amount)}}function p(m,f){1&m&&(n.ynx(0),n._uU(1,"\u2022"),n.BQk())}function d(m,f){if(1&m&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&m){const a=n.oxw().$implicit;n.xp6(1),n.hij(" (",a.amount,")")}}const A=function(m){return{"selected-dropdown":m}};function S(m,f){if(1&m){const a=n.EpF();n.ynx(0),n.TgZ(1,"div",13),n.NdJ("click",function(){const Z=n.CHM(a).$implicit,I=n.oxw(2);return n.KtG(I.selectItem(Z))}),n.TgZ(2,"div",14),n.YNc(3,p,2,0,"ng-container",6),n.qZA(),n.TgZ(4,"div",15),n._uU(5),n.ALo(6,"async"),n.YNc(7,d,2,1,"span",6),n.qZA()(),n.BQk()}if(2&m){const a=f.$implicit,u=n.oxw(2);n.xp6(1),n.Q6J("ngClass",n.VKq(6,A,a.index===u.selectedItem.index)),n.xp6(2),n.Q6J("ngIf",a.index===u.selectedItem.index),n.xp6(2),n.hij(" ",n.lcZ(6,4,u.getItemTitle(a)),""),n.xp6(2),n.Q6J("ngIf",a.amount)}}function b(m,f){if(1&m&&(n.TgZ(0,"div",7)(1,"div",8),n.YNc(2,S,8,8,"ng-container",9),n.qZA(),n.TgZ(3,"button",10),n._uU(4),n.ALo(5,"async"),n._UZ(6,"i",11)(7,"i",12),n.qZA()()),2&m){const a=n.oxw();n.xp6(2),n.Q6J("ngForOf",a.navItems),n.xp6(2),n.hij(" ",n.lcZ(5,2,a.getSelectedItemTitle())," ")}}let F=(()=>{class m{constructor(a,u){(0,i.Z)(this,"translateService",void 0),(0,i.Z)(this,"navItems",void 0),(0,i.Z)(this,"activeIndex",0),(0,i.Z)(this,"selectedNavItem",new n.vpe),(0,i.Z)(this,"selectedItem",void 0),this.translateService=a,u.placement="bottom-right"}ngOnInit(){}ngOnChanges(a){this.navItems&&(this.navItems.filter(u=>!u.id).forEach(u=>u.id=""),this.selectedItem=this.navItems.find(u=>u.index===this.activeIndex))}selectItem(a){this.selectedNavItem.emit(a),this.selectedItem=a}getItemTitle(a){return a.translation?this.translateService.get(a.title):(0,M.of)(a.title)}getSelectedItemTitle(){if(this.selectedItem)return this.getItemTitle(this.selectedItem)}}return(0,i.Z)(m,"\u0275fac",function(a){return new(a||m)(n.Y36(h.sK),n.Y36(t.jL))}),(0,i.Z)(m,"\u0275cmp",n.Xpm({type:m,selectors:[["campus-card-actions-nav"]],inputs:{navItems:"navItems",activeIndex:"activeIndex"},outputs:{selectedNavItem:"selectedNavItem"},features:[n._Bn([t.jL]),n.TTD],decls:5,vars:2,consts:[[1,"desktop","d-none","d-xl-block"],[1,"nav","nav-tabs","justify-content-end"],["class","active nav-item",3,"id","ngClass",4,"ngFor","ngForOf"],["ngbDropdown","","class","mobile d-inline-block d-xl-none mb-1",4,"ngIf"],[1,"active","nav-item",3,"id","ngClass"],["tabindex","0",1,"nav-link",3,"click","keydown.enter"],[4,"ngIf"],["ngbDropdown","",1,"mobile","d-inline-block","d-xl-none","mb-1"],["ngbDropdownMenu","",1,"dropdown-menu"],[4,"ngFor","ngForOf"],["ngbDropdownToggle","",1,"btn","btn-outline-primary","btn-sm"],[1,"down","fa","fa-angle-down"],[1,"up","fa","fa-angle-up"],[1,"dropdown-item",3,"ngClass","click"],[1,"dropdown-indicator"],[1,"dropdown-text"]],template:function(a,u){1&a&&(n.TgZ(0,"div",0)(1,"nav",1)(2,"menu"),n.YNc(3,v,5,8,"li",2),n.qZA()()(),n.YNc(4,b,8,4,"div",3)),2&a&&(n.xp6(3),n.Q6J("ngForOf",u.navItems),n.xp6(1),n.Q6J("ngIf",u.navItems))},dependencies:[C.mk,C.sg,C.O5,t.jt,t.iD,t.Vi,C.Ov],styles:["[_nghost-%COMP%] .dropdown-menu-right[_ngcontent-%COMP%]{left:auto!important;right:0}[_nghost-%COMP%] .dropdown-item[_ngcontent-%COMP%]{padding:.25rem 1.5rem .25rem 1rem;display:flex;cursor:pointer}[_nghost-%COMP%] .dropdown-item[_ngcontent-%COMP%] .dropdown-indicator[_ngcontent-%COMP%]{width:10%}[_nghost-%COMP%] .dropdown-item.selected-dropdown[_ngcontent-%COMP%]{background-color:#f2f2f2}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%]{background:none;margin:1px 0 0;border:0}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%]{list-style-type:none;margin:0;padding:0}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{display:inline-block;background:none;margin:0;border:0}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{background:none;border:0;border-bottom:3px solid transparent;padding:.5rem;color:#3d3c3f;font-size:.87rem}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%] > li.active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%], [_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]:not(.active) > a[_ngcontent-%COMP%]:hover{color:#333;background:#fff}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%] > li.active[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{border-bottom-color:#2d741d;text-decoration:none;cursor:default}[_nghost-%COMP%] .desktop[_ngcontent-%COMP%] .nav-tabs[_ngcontent-%COMP%] menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]:not(.active) > a[_ngcontent-%COMP%]:hover{border-bottom-color:#ccc}[_nghost-%COMP%] .mobile[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] > .down[_ngcontent-%COMP%]{display:inline}[_nghost-%COMP%] .mobile[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] > .up[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .mobile[_ngcontent-%COMP%] > .dropdown-menu.show[_ngcontent-%COMP%]{padding:0 0 0 1px}[_nghost-%COMP%] .mobile[_ngcontent-%COMP%] > .dropdown-menu.show[_ngcontent-%COMP%] ~ button[_ngcontent-%COMP%] > .down[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .mobile[_ngcontent-%COMP%] > .dropdown-menu.show[_ngcontent-%COMP%] ~ button[_ngcontent-%COMP%] > .up[_ngcontent-%COMP%]{display:inline}"]})),m})()},95446:(N,x,s)=>{s.d(x,{Z:()=>g});var i=s(81180),M=s(36895),n=s(96704),t=s(76947),h=s(24006),C=s(34456),D=s(94650);let g=(()=>{class v{}return(0,i.Z)(v,"\u0275fac",function(d){return new(d||v)}),(0,i.Z)(v,"\u0275mod",D.oAB({type:v})),(0,i.Z)(v,"\u0275inj",D.cJS({providers:[{provide:t.NG,useClass:C.N}],imports:[M.ez,n.q,t.IJ,t.M,t.UL,h.u5,h.UX]})),v})()},34456:(N,x,s)=>{s.d(x,{N:()=>D});var i=s(81180),M=s(76947),n=s(94650);function t(g){return h(g)?`0${g}`.slice(-2):""}function h(g){return!isNaN(C(g))}function C(g){return parseInt(`${g}`,10)}let D=(()=>{class g extends M.NG{parse(p){if(p){const d=p.trim().split(".");if(1===d.length&&h(d[0]))return{year:C(d[0]),month:null,day:null};if(2===d.length&&h(d[0])&&h(d[1]))return{year:C(d[1]),month:C(d[0]),day:null};if(3===d.length&&h(d[0])&&h(d[1])&&h(d[2]))return{year:C(d[2]),month:C(d[1]),day:C(d[0])}}return null}format(p){let d="";
1return p&&(d+=h(p.day)?t(p.day)+".":"",d+=h(p.month)?t(p.month)+".":"",d+=p.year),d}}return(0,i.Z)(g,"\u0275fac",function(){let v;return function(d){return(v||(v=n.n5z(g)))(d||g)}}()),(0,i.Z)(g,"\u0275prov",n.Yz7({token:g,factory:g.\u0275fac,providedIn:"root"})),g})()},50805:(N,x,s)=>{s.r(x),s.d(x,{ServiceModule:()=>ut});var i=s(81180),M=s(36895),n=s(62510),t=s(94650),h=s(89383),C=s(99410),D=s(75400),g=s(6909),v=s(74394),p=s(50727),d=s(69577),A=s(40833);function S(o){(0,A.Z)(1,arguments);var l=(0,d.Z)(o),e=l.getFullYear();return l.setFullYear(e+1,0,0),l.setHours(23,59,59,999),l}var b=s(32905),F=s(21655),m=s(54004),f=s(80529);let a=(()=>{class o{constructor(e,c){(0,i.Z)(this,"httpClient",void 0),(0,i.Z)(this,"datePipe",void 0),(0,i.Z)(this,"transmissionFormat","yyyy-MM-dd"),(0,i.Z)(this,"validDate",/\d{4}-\d{2}-\d{2}/),(0,i.Z)(this,"currentDate",new Date),(0,i.Z)(this,"dateMax",S((new Date).setFullYear(this.currentDate.getFullYear()+2))),(0,i.Z)(this,"searchParams",{today:{dateFrom:this.currentDate,dateUntil:this.currentDate},yesterday:{dateFrom:new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()-1),dateUntil:new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()-1)},lastSevenDays:{dateFrom:new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()-7),dateUntil:this.currentDate},lastThirtyDays:{dateFrom:new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()-30),dateUntil:this.currentDate},lastMonth:{dateFrom:new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()-1,this.currentDate.getDate()),dateUntil:this.currentDate},lastYear:{dateFrom:new Date(this.currentDate.getFullYear()-1,this.currentDate.getMonth(),this.currentDate.getDate()),dateUntil:this.currentDate},all:{dateFrom:new Date(1980,0,1),dateUntil:this.dateMax},custom:{dateFrom:new Date(this.currentDate.getFullYear(),0,1),dateUntil:this.dateMax}}),this.httpClient=e,this.datePipe=c}isValidQuery(e){return this.validDate.test(this.datePipe.transform(e.dateFrom,this.transmissionFormat))&&this.validDate.test(this.datePipe.transform(e.dateUntil,this.transmissionFormat))}getSearchParameters(e){return{...this.searchParams[e]}}updateCustomSearch(e){this.searchParams.custom={...e}}getDocumentsByTimeSpan(e,c){const r=this.datePipe.transform(c.dateFrom,this.transmissionFormat),_=this.datePipe.transform(c.dateUntil,this.transmissionFormat);let O=(new f.LE).set("dateStart",r).set("dateEnd",_);return this.httpClient.get(`api/v1/documents/service/${e}`,{params:O}).pipe((0,m.U)(E=>E.map(T=>({type:T.selfserviceDocumentType,info:T.info,link:this.getLink(T,r,_,e)}))))}getLink(e,c,r,_){switch("FEES_STATEMENT"===e.selfserviceDocumentType&&(c=this.datePipe.transform(new Date(e.info,0,1),this.transmissionFormat),r=this.datePipe.transform(new Date(e.info,11,31),this.transmissionFormat)),e.selfserviceDocumentType){case"CERTIFICATE_OF_MATRICULATION":case"CERTIFICATE_OF_EXMATRICULATION":case"SEMINAR_CERTIFICATE":case"GRADING_CERTIFICATE_WITHOUT_CREDITS":case"GRADING_CERTIFICATE_WITH_CREDITS":case"REGISTRATION_CONFIRMATION":case"PARTICIPATION_CERTIFICATE":case"GRADING_CERTIFICATE_WITH_CREDITS_AND_DATE":return`#/print/${_}/type/${e.selfserviceDocumentType}?dateStart=${c}&dateEnd=${r}`;default:return`api/v1/documents/service/${_}/type/${e.selfserviceDocumentType}?dateStart=${c}&dateEnd=${r}`}}}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)(t.LFG(f.eN),t.LFG(M.uU))}),(0,i.Z)(o,"\u0275prov",t.Yz7({token:o,factory:o.\u0275fac})),o})(),u=(()=>{class o{constructor(e){(0,i.Z)(this,"http",void 0),(0,i.Z)(this,"base","api/v2/Certificates"),this.http=e}list(e,c="CERTIFICATE"){const r=(new f.LE).set("matriculationNumber",e).set("documentType",c);return this.http.get(`${this.base}/list`,{params:r})}buildDownloadUrl(e){return`${this.base}/${encodeURIComponent(e)}/download`}}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)(t.LFG(f.eN))}),(0,i.Z)(o,"\u0275prov",t.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"})),o})();var P=s(24006),Z=s(6493),I=s(67212),L=s(25190);function R(o,l){1&o&&(t.TgZ(0,"p",1),t._uU(1,"selfservice.usageInfo"),t.qZA())}function k(o,l){if(1&o&&(t.TgZ(0,"option",12),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&o){const e=l.$implicit;t.s9C("value",e),t.xp6(1),t.hij(" ",t.lcZ(2,2,"selfservice.searchBy."+e),"")}}function B(o,l){if(1&o&&(t.TgZ(0,"p")(1,"span",1),t._uU(2,"selfservice.showingResultsFor"),t.qZA(),t._uU(3),t.qZA()),2&o){const e=t.oxw(2);t.xp6(3),t.hij(" ",e.activeProductDescription,". ")}}function Y(o,l){if(1&o&&(t.ynx(0),t.TgZ(1,"a",16),t._uU(2),t.ALo(3,"enum"),t.qZA(),t.BQk()),2&o){const e=t.oxw().$implicit;t.xp6(1),t.Q6J("id",e.type)("href",e.link,t.LSH),t.xp6(1),t.AsE(" ",t.xi3(3,4,e.type,"DocumentType")," ",e.info," ")}}function J(o,l){if(1&o&&(t.TgZ(0,"a",17),t.ALo(1,"enum"),t._uU(2),t.ALo(3,"enum"),t.qZA()),2&o){const e=t.oxw().$implicit;t.MGl("download","",t.xi3(1,5,e.type,"DocumentType"),".pdf"),t.Q6J("id",e.type)("href",e.link,t.LSH),t.xp6(2),t.AsE(" ",t.xi3(3,8,e.type,"DocumentType")," ",e.info,"")}}function Q(o,l){if(1&o&&(t.TgZ(0,"li"),t.YNc(1,Y,4,7,"ng-container",14),t.YNc(2,J,4,11,"ng-template",null,15,t.W1O),t.qZA()),2&o){const e=l.$implicit,c=t.MAs(3),r=t.oxw(3);t.xp6(1),t.Q6J("ngIf",r.isNewDocumentType(e.link))("ngIfElse",c)}}function $(o,l){if(1&o&&(t.TgZ(0,"ul"),t.YNc(1,Q,4,2,"li",13),t.qZA()),2&o){const e=t.oxw(2);t.xp6(1),t.Q6J("ngForOf",e.documentsForTimeSpan)}}function K(o,l){1&o&&(t.TgZ(0,"p"),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&o&&(t.xp6(1),t.hij(" ",t.lcZ(2,1,"selfservice.n
1oEntries")," "))}function H(o,l){if(1&o){const e=t.EpF();t.TgZ(0,"li")(1,"a",19),t.NdJ("click",function(r){const O=t.CHM(e).$implicit,y=t.oxw(3);return t.KtG(y.onDownloadClick(O,r))}),t.ALo(2,"translate"),t._uU(3),t.qZA()()}if(2&o){const e=l.$implicit,c=t.oxw(3);t.xp6(1),t.uIk("href",c.certificatesService.buildDownloadUrl(e.documentId),t.LSH)("aria-label",t.lcZ(2,3,"selfservice.certificates.downloadAriaLabel")+" "+(e.title||e.fileName)),t.xp6(2),t.hij(" ",e.title||e.fileName," ")}}function j(o,l){if(1&o&&(t.TgZ(0,"ul",18),t.YNc(1,H,4,5,"li",13),t.qZA()),2&o){const e=t.oxw(2);t.xp6(1),t.Q6J("ngForOf",e.certificateEntries)}}function G(o,l){1&o&&(t.TgZ(0,"p"),t._uU(1),t.ALo(2,"translate"),t.qZA()),2&o&&(t.xp6(1),t.hij(" ",t.lcZ(2,1,"selfservice.certificates.none")," "))}function W(o,l){if(1&o){const e=t.EpF();t.TgZ(0,"div")(1,"h1",1),t._uU(2,"selfservice.title"),t.qZA(),t.YNc(3,R,2,0,"p",2),t.TgZ(4,"div",3)(5,"div",4)(6,"label",5),t._uU(7,"selfservice.defaults"),t.qZA(),t._UZ(8,"br"),t.TgZ(9,"select",6),t.NdJ("ngModelChange",function(r){t.CHM(e);const _=t.oxw();return t.KtG(_.searchQuery=r)})("click",function(){t.CHM(e);const r=t.oxw();return t.KtG(r.quickSearch(r.searchQuery))}),t.YNc(10,k,3,4,"option",7),t.qZA()(),t.TgZ(11,"div",4)(12,"campus-datepicker",8),t.NdJ("select",function(r){t.CHM(e);const _=t.oxw();return t.KtG(_.selectFrom(r))}),t.qZA()(),t.TgZ(13,"div",4)(14,"campus-datepicker",8),t.NdJ("select",function(r){t.CHM(e);const _=t.oxw();return t.KtG(_.selectUntil(r))}),t.qZA()()(),t.TgZ(15,"h2",9),t._uU(16,"selfservice.results"),t.qZA(),t.YNc(17,B,4,1,"p",0),t.TgZ(18,"campus-loading-hint",10)(19,"div"),t.YNc(20,$,2,1,"ul",0),t.YNc(21,K,3,3,"p",0),t.qZA()(),t.TgZ(22,"h2",9),t._uU(23,"selfservice.certificates.title"),t.qZA(),t.YNc(24,j,2,1,"ul",11),t.YNc(25,G,3,3,"p",0),t.qZA()}if(2&o){const e=t.oxw();
1t.xp6(3),t.Q6J("ngIf","STUDENT"===e.user.role),t.xp6(6),t.Q6J("ngModel",e.searchQuery),t.xp6(1),t.Q6J("ngForOf",e.quickSelectOptions),t.xp6(2),t.Q6J("lableText","selfservice.datepicker.from")("disabled",!e.isCustomSearch())("date",e.searchFrom),t.xp6(2),t.Q6J("lableText","selfservice.datepicker.until")("disabled",!e.isCustomSearch())("date",e.searchUntil),t.xp6(3),t.Q6J("ngIf",e.activeProductDescription),t.xp6(1),t.Q6J("loadingIndicator",e.loading),t.xp6(2),t.Q6J("ngIf",e.documentsForTimeSpan.length>0),t.xp6(1),t.Q6J("ngIf",0==e.documentsForTimeSpan.length),t.xp6(3),t.Q6J("ngIf",!e.certsError&&!e.certsLoading&&e.certificateEntries.length>0),t.xp6(1),t.Q6J("ngIf",!e.certsError&&!e.certsLoading&&0===e.certificateEntries.length)}}let z=(()=>{class o{constructor(e,c,r,_,O){(0,i.Z)(this,"userService",void 0),(0,i.Z)(this,"dateLocationPickerService",void 0),(0,i.Z)(this,"selfService",void 0),(0,i.Z)(this,"certificatesService",void 0),(0,i.Z)(this,"http",void 0),(0,i.Z)(this,"subscription",new p.w0),(0,i.Z)(this,"loading",!0),(0,i.Z)(this,"user",void 0),(0,i.Z)(this,"searchQuery","all"),(0,i.Z)(this,"documentsForTimeSpan",void 0),(0,i.Z)(this,"activeProductDescription",void 0),(0,i.Z)(this,"searchFrom",void 0),(0,i.Z)(this,"searchUntil",void 0),(0,i.Z)(this,"certsLoading",!1),(0,i.Z)(this,"certificateEntries",[]),(0,i.Z)(this,"certsError",null),(0,i.Z)(this,"quickSelectOptions",["today","yesterday","lastSevenDays","lastThirtyDays","lastMonth","lastYear","all","custom"]),this.userService=e,this.dateLocationPickerService=c,this.selfService=r,this.certificatesService=_,this.http=O}ngOnInit(){this.subscription.add(this.userService.getUser().subscribe(e=>{this.user=e;const c=e.curriculums.filter(_=>_.productId===e.defaultCurriculumProductId).map(_=>_.beginOfStudy);if(0!==c.length){const _=new Date(Math.min(...c));this.searchFrom=this.dateLocationPickerService.transformDateToDateModel(_),this.searchUntil=this.dateLocationPickerService.transformDateToDateModel(S(new Date))}this.quickSearch("all");const r=this.user.curriculums.filter(_=>_.productId===e.defaultCurriculumProductId)[0];r&&(this.activeProductDescription=r.productName+" ("+r.productId+")"),this.loadCertificates()}))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}isCustomSearch(){return"custom"===this.searchQuery}quickSearch(e){if(!this.isCustomSearch()){const c=this.selfService.getSearchParameters(e);this.searchFrom=this.dateLocationPickerService.transformDateToDateModel(c.dateFrom),this.searchUntil=this.dateLocationPickerService.transformDateToDateModel(c.dateUntil),this.getDocumentsByTimeSpan(c)}}getDocumentsByTimeSpan(e){this.documentsForTimeSpan=[],this.selfService.isValidQuery(e)&&(this.loading=!0,this.selfService.getDocumentsByTimeSpan(this.user.preferredCurriculumUuid,e).subscribe(c=>{this.documentsForTimeSpan=c,this.loading=!1}))}selectFrom(e){e&&e.day&&e.month&&e.year&&(this.searchFrom=e,this.doCustomSearch())}selectUntil(e){e&&e.day&&e.month&&e.year&&(this.searchUntil=e,this.doCustomSearch())}doCustomSearch(){if(this.isCustomSearch()){this.selfService.updateCustomSearch({dateFrom:this.dateLocationPickerService.transformDateModelToDate(this.searchFrom),dateUntil:this.dateLocationPickerService.transformDateModelToDate(this.searchUntil)});const e=this.selfService.getSearchParameters("custom");this.getDocumentsByTimeSpan(e)}}isNewDocumentType(e){return e.startsWith("#/print")}loadCertificates(e="CERTIFICATE"){const c=this.user?.matriculationNumber||this.user?.matriculationNo||this.user?.studentNumber||this.user?.studentId;if(!c)return this.certsError="Keine Matrikelnummer gefunden.",void(this.certificateEntries=[]);this.certsLoading=!0,this.certsError=null,this.certificatesService.list(c,e).subscribe({next:r=>{const _=(Array.isArray(r),r);this.certificateEntries=_.filter(O=>!0===O.approved),this.certsLoading=!1},error:r=>{this.certsError="Fehler beim Laden der Zertifikate.",this.certsLoading=!1,this.certificateEntries=[]}})}downloadEntry(e){const c=this.certificatesService.buildDownloadUrl(e.documentId);this.http.get(c,{observe:"response",responseType:"blob"}).subscribe({next:r=>{const _=r.headers.get("Content-Disposition")||"",O=/filename\*?=(?:UTF-8'')?["']?([^"';
1]+)["']?/i.exec(_),y=O?decodeURIComponent(O[1]):e.fileName||"document.pdf",E=URL.createObjectURL(r.body),T=document.createElement("a");T.href=E,T.download=y,document.body.appendChild(T),T.click(),T.remove(),URL.revokeObjectURL(E)},error:r=>console.error("Download failed",r)})}onDownloadClick(e,c){c.preventDefault(),this.downloadEntry(e)}}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)(t.Y36(b.K),t.Y36(F.m),t.Y36(a),t.Y36(u),t.Y36(f.eN))}),(0,i.Z)(o,"\u0275cmp",t.Xpm({type:o,selectors:[["campus-help-self-service"]],decls:1,vars:1,consts:[[4,"ngIf"],["translate",""],["translate","",4,"ngIf"],[1,"row","well"],[1,"col-md-4"],["for","quickSearch","translate",""],["id","quickSearch",1,"form-control",3,"ngModel","ngModelChange","click"],[3,"value",4,"ngFor","ngForOf"],[3,"lableText","disabled","date","select"],["translate","",1,"results"],[3,"loadingIndicator"],["style","margin-top: 12px;",4,"ngIf"],[3,"value"],[4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],["oldDoc",""],["target","_blank",3,"id","href"],["target","_blank",3,"id","href","download"],[2,"margin-top","12px"],[3,"click"]],template:function(e,c){1&e&&t.YNc(0,W,26,15,"div",0),2&e&&t.Q6J("ngIf",c.user)},dependencies:[M.sg,M.O5,h.Pi,P.YN,P.Kr,P.EJ,P.JJ,P.On,Z.J,I.Q,h.X$,L.z],styles:["[_nghost-%COMP%] h1[_ngcontent-%COMP%], [_nghost-%COMP%] h2[_ngcontent-%COMP%], [_nghost-%COMP%] h3[_ngcontent-%COMP%], [_nghost-%COMP%] h4[_ngcontent-%COMP%], [_nghost-%COMP%] h5[_ngcontent-%COMP%], [_nghost-%COMP%] h6[_ngcontent-%COMP%], [_nghost-%COMP%] a[_ngcontent-%COMP%]{color:#2d741d}[_nghost-%COMP%] a[_ngcontent-%COMP%]:hover{cursor:pointer}[_nghost-%COMP%] .accordion-body.show[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:underline}[_nghost-%COMP%] .hide[_ngcontent-%COMP%]{display:none!important}[_nghost-%COMP%] .show[_ngcontent-%COMP%]{display:block!important}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%]{box-shadow:none!important;border:1px solid #7f7f7f;margin-bottom:1em}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%]{display:flex;justify-content:space-between;flex-direction:row;border-bottom:1px solid #e7e7e7;padding:.5em 1em;background:#f5f5f5;color:#292929}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] .accordion-title[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] h5[_ngcontent-%COMP%], [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{font-size:1.6em}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active, [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus, [_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:none}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%]{font-size:.5rem;padding-top:5px}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .hide[_ngcontent-%COMP%]{display:none!important}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%] .icons[_ngcontent-%COMP%] .show[_ngcontent-%COMP%]{display:inline!important}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-heading[_ngcontent-%COMP%]:hover{cursor:pointer}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-body[_ngcontent-%COMP%]{display:none;padding:.5em 1em;background:#fff;border-bottom:1px solid #7f7f7f}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-body.hide[_ngcontent-%COMP%]{display:none!important}[_nghost-%COMP%] .accordion[_ngcontent-%COMP%] .accordion-body.show[_ngcontent-%COMP%]{display:block!important}[_nghost-%COMP%] .location_map[_ngcontent-%COMP%]{width:100%;height:100%;height:50vmin}[_nghost-%COMP%] .fullscreen_location_map_with_overlay[_ngcontent-%COMP%]{width:100%;height:100%;margin-bottom:1em}[_nghost-%COMP%] .fullscreen_location_map_with_overlay[_ngcontent-%COMP%] .location_address[_ngcontent-%COMP%]{width:100%;height:40%;height:40vmin}@media (min-width: 992px){[_nghost-%COMP%] .fullscreen_location_map_with_overlay[_ngcontent-%COMP%] .location_address[_ngcontent-%COMP%]{height:80%;height:80vmin}}[_nghost-%COMP%] .fullscreen_location_map_with_overlay[_ngcontent-%COMP%] .location_overlay[_ngcontent-%COMP%]{display:block;margin-top:1em}@media (min-width: 992px){[_nghost-%COMP%] .fullscreen_location_map_with_overlay[_ngcontent-%COMP%] .location_overlay[_ngcontent-%COMP%]{display:block;background-color:#fffffff2;padding:.8em;position:absolute;width:55%;width:55vmin;left:5%;top:5%}}@media (min-width: 0){[_nghost-%COMP%] iframe[_ngcontent-%COMP%]{height:70%}}@media (min-width: 992px){[_nghost-%COMP%] iframe[_ngcontent-%COMP%]{height:100%}}.results[_ngcontent-%COMP%]{margin-top:1rem}"]})),o})();var U=s(63900),X=s(34782),V=s(83858),q=s(37359),tt=s(79123);function et(o,l){if(1&o&&t._UZ(0,"campus-cms-html-snippet",2),2&o){const e=t.oxw();t.Q6J("parsedHTML",e.common.htmlContent)("apiBase",e.common.apiBase)("routeBase",e.common.routeBase)("docRef",e.common.docRef)}}let nt=(()=>{class o{constructor(e,c,r){(0,i.Z)(this,"userService",void 0),(0,i.Z)(this,"cmsService",void 0),(0,i.Z)(this,"cmsParserService",void 0),(0,i.Z)(this,"subscription",new p.w0),(0,i.Z)(this,"common",void 0),(0,i.Z)(this,"commonLoading",!0),(0,i.Z)(this,"loadingObservable$",void 0),(0,i.Z)(this,"user",void 0),(0,i.Z)(this,"docRef",void 0),(0,i.Z)(this,"routeBase",void 0),(0,i.Z)(this,"apiBase",void 0),this.userService=e,this.cmsService=c,this.cmsParserService=r}ngOnInit(){this.loadingObservable$=this.userService.getUser().pipe((0,U.w)(e=>(this.user=e,this.docRef="service",this.routeBase="cms/p",this.apiBase="api/"+this.user.screenName+"/cms/article",this.cmsService.getArticle(this.docRef,this.user.screenName))),(0,U.w)(e=>this.cmsParserService.parse(e.content,this.routeBase,this.docRef,this.user)),(0,X.d)(1)),this.subscription.add(this.loadingObservable$.subscribe(e=>{this.commonLoading=!1,this.common={routeBase:this.routeBase,apiBase:this.apiBase,docRef:this.docRef,htmlContent:e.html.innerHTML}}))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)(t.Y36(b.K),t.Y36(V.c),t.Y36(q.v))}),(0,i.Z)(o,"\u0275cmp",t.Xpm({type:o,selectors:[["campus-help-common-service"]],decls:2,vars:2,consts:[[3,"loadingIndicator"],[3,"parsedHTML","apiBase","routeBase","docRef",4,"ngIf"],[3,"parsedHTML","apiBase","routeBase","docRef"]],template:function(e,c){1&e&&(t.TgZ(0,"campus-loading-hint",0),t.YNc(1,et,1,4,"campus-cms-html-snippet",1),t.qZA()),2&e&&(t.Q6J("loadingIndicator",c.loadingObservable$),t.xp6(1),t.Q6J("ngIf",!c.commonLoading))},dependencies:[M.O5,tt.O,Z.J]})),o})();function ot(o,l){1&o&&t._UZ(0,"campus-help-common-service")}function it(o,l){1&o&&t._UZ(0,"campus-help-self-service")}const st=[{path:"",component:(()=>{class o{constructor(e){(0,i.Z)(this,"translateService",void 0),(0,i.Z)(this,"navHeaderItems",void 0),(0,i.Z)(this,"selectedNavItem",void 0),this.translateService=e}ngOnInit(){this.initNavHeaderItems()}ngOnDestroy(){}changeNavEvent(e){this.selectedNavItem=e}initNavHeaderItems(){this.navHeaderItems=[{index:0,title:"service.common",translation:!0,type:"not-defined"},{index:1,title:"service.selfservice",translation:!0,type:"not-defined"}],this.selectedNavItem=this.navHeaderItems[0]}}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)(t.Y36(h.sK))}),(0,i.Z)(o,"\u0275cmp",t.Xpm({type:o,selectors:[["campus-help-service"]],decls:9,vars:6,consts:[[3,"navItems","selectedNavItem"],[4,"ngIf"]],template:function(e,c){1&e&&(t.TgZ(0,"campus-card")(1,"campus-card-title")(2,"h3"),t._uU(3),t.ALo(4,"translate"),t.qZA()(),t.TgZ(5,"campus-card-actions-nav",0),t.NdJ("selectedNavItem",function(_){return c.changeNavEvent(_)}),t.qZA(),t.TgZ(6,"campus-card-content"),t.YNc(7,ot,1,0,"campus-help-common-service",1),t.YNc(8,it,1,0,"campus-help-self-service",1),t.qZA()()),2&e&&(t.xp6(3),t.Oqu(t.lcZ(4,4,"service.title")),t.xp6(2),t.Q6J("navItems",c.navHeaderItems),t.xp6(2),t.Q6J("ngIf",0===c.selectedNavItem.index),t.xp6(1),t.Q6J("ngIf",1===c.selectedNavItem.index))},dependencies:[M.O5,C.A,D.r,g.S,v.r,z,nt,h.X$],styles:["[_nghost-%COMP%] .campus-content[_ngcontent-%COMP%]{margin:10px}"]})),o})()}];let ct=(()=>{class o{}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)}),(0,i.Z)(o,"\u0275mod",t.oAB({type:o})),(0,i.Z)(o,"\u0275inj",t.cJS({imports:[n.Bz.forChild(st),n.Bz]})),o})();var w=s(76947),rt=s(96704),at=s(20773),lt=s(34288),dt=s(95446),mt=s(16738),_t=s(34456);let ut=(()=>{class o{}return(0,i.Z)(o,"\u0275fac",function(e){return new(e||o)}),(0,i.Z)(o,"\u0275mod",t.oAB({type:o})),(0,i.Z)(o,"\u0275inj",t.cJS({providers:[M.uU,a,{provide:w.NG,useClass:_t.N}],imports:[M.ez,ct,at.d,w.IJ,rt.q,P.u5,mt.B,lt.V,dt.Z]})),o})()}}]);
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.