1import{a as Mi}from"./chunk-76QJJJGR.js";import{$a as j,$b as Be,$g as jt,$i as pi,Aa as E,Ad as Ne,Af as Ze,Ba as b,Bd as O,Bf as he,Bj as re,C as dt,Ca as l,Cd as Pt,Ch as ii,Dd as Ft,Fj as gi,G as bt,Ga as Et,Gd as $t,Gi as mi,Ha as It,Hd as Ge,Hi as si,Hk as Ti,Ia as Mt,Ii as di,Ja as W,Kj as xi,Kk as Si,La as Ee,Ld as At,Lj as vi,Lk as yi,M as S,Ma as Ie,Md as Rt,N as y,Na as m,Nd as Ue,Oa as _,Od as He,Oh as ni,P as tt,Pa as d,Ph as Z,Qa as Dt,Qk as bi,R as at,Ra as Me,Rd as Vt,Ri as q,Sd as Bt,Sj as ce,Td as Nt,Uk as ki,Vd as D,Vh as oi,W as xe,Wa as De,Wd as je,We,Wh as ai,Xa as Oe,Xb as Ve,Xd as w,Xh as mt,Xj as hi,Yd as Ke,Yg as F,Yh as Wt,Z as a,Zb as rt,Ze as Ye,Zg as $,Zj as le,_a as _t,_b as Lt,_e as Xe,_g as A,aa as C,ac as ve,ba as k,bh as R,bj as _i,c as ye,ca as kt,cb as I,cf as ft,cg as X,d as be,db as M,eb as Ot,fa as h,fb as Le,fh as Je,fi as Yt,fj as z,g as yt,ge as Gt,gh as ti,gi as Xt,ha as pt,hb as ut,hi as Zt,ia as we,ie as qe,il as wi,j as ke,ja as u,ji as Jt,jl as Ei,ke as ze,ki as te,la as f,me as ct,mi as ee,na as G,ni as ie,nj as ui,oa as L,oe as Ut,pa as P,pb as Pe,pe as Ht,ph as Kt,pi as ne,qa as g,qb as Y,qh as ei,qi as oe,ra as c,rh as K,sa as r,se as lt,sh as qt,si as ae,ta as p,te as Qe,tg as Te,th as zt,ti as it,ub as Fe,ue as H,uh as Qt,ul as Ii,v as st,vj as fi,wb as $e,wj as nt,xa as x,xb as Ae,xi as ri,ya as v,yb as Re,yi as ci,yj as Ci,za as wt,zi as li}from"./chunk-JKBBTWAY.js";import"./chunk-DZ7C7OU7.js";import"./chunk-JURUXNMY.js";import"./chunk-O3NHZOCN.js";import{a as B,b as U,j as Q}from"./chunk-HT3IURLE.js";function Fi(t,n){t&1&&(x(0,5),p(1,"mat-progress-spinner",6),v())}function $i(t,n){if(t&1&&(c(0,"p")(1,"b"),m(2),r()(),c(3,"p",8),m(4),r()),t&2){let i=l(2).$implicit,e=l();a(2),_(i("accommodations.booking_message.message_label")),a(2),d(" ",e.bookingMessage," ")}}function Ai(t,n){if(t&1&&(c(0,"div",7),p(1,"i",9),m(2),r()),t&2){let i=l(2).$implicit;a(2),d(" ",i("accommodations.booking_message.no_message")," ")}}function Ri(t,n){if(t&1&&u(0,$i,5,2)(1,Ai,3,1,"div",7),t&2){let i=l(2);f(i.bookingMessage?0:1)}}function Vi(t,n){if(t&1){let i=E();x(0),c(1,"div",1)(2,"div",2)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r(),c(7,"button",3),b("click",function(){S(i);let o=l();return y(o.editMessage())}),p(8,"i",4),m(9),r()(),c(10,"mat-card-content")(11,"p"),m(12),r(),u(13,Fi,2,0,"ng-container",5),u(14,Ri,2,1),r()()()(),v()}if(t&2){let i=n.$implicit,e=l();a(6),d(" ",i("accommodations.booking_message.title")," "),a(),g("disabled",!e.dataIsLoaded),a(2),d(" ",i("common.edit")," "),a(3),d(" ",i("accommodations.booking_message.description")," "),a(),f(e.dataIsLoaded?-1:13),a(),f(e.dataIsLoaded?14:-1)}}var me=(()=>{let n=class n{constructor(e,o,s){this.databaseService=e,this.uiMessaging=o,this.dialog=s,this.dataIsLoaded=!1,this.noData=!1}ngOnInit(){this._getBookingMessage()}_getBookingMessage(){this.databaseService.getBookingConditions(!1).then(e=>{this.bookingMessage=e.bookingInfo,this.dataIsLoaded=!0}).catch(e=>console.log("BOOKING MESSAGE COMPONENT | GET BOOKING MESSAGE",e))}editMessage(){this.dialog.open(ki,U(B({},X),{data:this.bookingMessage})).afterClosed().subscribe(o=>{o&&this._saveMessage(o)})}_saveMessage(e){this.databaseService.setBookingInfo(e).then(()=>{this.bookingMessage=e,this.uiMessaging.openSnackBarSuccess(D("accommodations.booking_message.save_message_success_message"))}).catch(o=>console.log("BOOKING MESSAGE COMPONENT | SAVE MESSAGE",o))}};n.\u0275fac=function(o){return new(o||n)(C(z),C(nt),C(K))},n.\u0275cmp=k({type:n,selectors:[["ng-component"]],decls:1,vars:0,consts:[[4,"transloco"],[1,"row"],[1,"column"],["mat-stroked-button","",3,"click","disabled"],[1,"far","fa-edit"],[2,"margin","2rem"],["mode","indeterminate"],[1,"alert","alert-danger"],[2,"white-space","pre-line"],[1,"far","fa-comment-alt"]],template:function(o,s){o&1&&h(0,Vi,15,6,"ng-container",0)},dependencies:[w,F,R,$,H,A,Z],styles:[".column[_ngcontent-%COMP%]{width:75%}@media screen and (max-width:75em){.column[_ngcontent-%COMP%]{width:100%}}"]});let t=n;return t})();var Bi=()=>({percentage:"100%"}),Ni=()=>({percentage:"50%"}),Gi=t=>({percentage:"100%",days:t}),Ui=t=>({percentage:"50%",days:t});function Hi(t,n){if(t&1&&(c(0,"span",4),p(1,"i",6),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i("common.enabled")," ")}}function ji(t,n){if(t&1&&(c(0,"span",4),p(1,"i",7),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i("common.disabled")," ")}}function Ki(t,n){if(t&1&&p(0,"span",5),t&2){let i=l().$implicit,e=l();g("innerHTML",i("accommodations.cancellation_policy.refund_message",j(1,Gi,e.policy.fullRefundWithinDays)),xe)}}
1function qi(t,n){if(t&1&&m(0),t&2){let i=l().$implicit;d(" ",i("accommodations.cancellation_policy.no_refund_message")," ")}}function zi(t,n){if(t&1&&(c(0,"span",4),p(1,"i",6),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i("common.enabled")," ")}}function Qi(t,n){if(t&1&&(c(0,"span",4),p(1,"i",7),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i("common.disabled")," ")}}function Wi(t,n){if(t&1&&p(0,"span",5),t&2){let i=l().$implicit,e=l();g("innerHTML",i("accommodations.cancellation_policy.refund_message",j(1,Ui,e.policy.halfRefundWithinDays)),xe)}}function Yi(t,n){if(t&1&&m(0),t&2){let i=l().$implicit;d(" ",i("accommodations.cancellation_policy.no_refund_message")," ")}}function Xi(t,n){if(t&1&&(x(0),c(1,"div",1)(2,"table",2)(3,"tbody")(4,"tr")(5,"td")(6,"span",3),m(7),r()(),c(8,"td"),u(9,Hi,3,1,"span",4)(10,ji,3,1,"span",4),r(),c(11,"td"),u(12,Ki,1,3,"span",5)(13,qi,1,1),r()(),c(14,"tr")(15,"td")(16,"span",3),m(17),r()(),c(18,"td"),u(19,zi,3,1,"span",4)(20,Qi,3,1,"span",4),r(),c(21,"td"),u(22,Wi,1,3,"span",5)(23,Yi,1,1),r()()()()(),v()),t&2){let i=n.$implicit,e=l();a(7),_(i("accommodations.cancellation_policy.refund_label",_t(6,Bi))),a(2),f(e.policy.fullRefundWithinDays>0?9:10),a(3),f(e.policy.fullRefundWithinDays>0?12:13),a(5),d(" ",i("accommodations.cancellation_policy.refund_label",_t(7,Ni))," "),a(2),f(e.policy.halfRefundWithinDays>0?19:20),a(3),f(e.policy.halfRefundWithinDays>0?22:23)}}var Se=(()=>{let n=class n{};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=k({type:n,selectors:[["app-cancellation-table"]],inputs:{policy:"policy"},decls:1,vars:0,consts:[[4,"transloco"],[1,"table-responsive"],[1,"table"],[2,"white-space","nowrap","font-weight","bold"],[2,"white-space","nowrap"],[3,"innerHTML"],[1,"far","fa-check-circle","success",2,"margin-right","8px"],[1,"far","fa-times-circle","danger",2,"margin-right","8px"]],template:function(o,s){o&1&&h(0,Xi,24,8,"ng-container",0)},dependencies:[w],styles:["[_nghost-%COMP%]{display:block}table[_ngcontent-%COMP%]{margin-top:10px}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:20px;vertical-align:middle}"],changeDetection:0});let t=n;return t})();function Zi(t,n){t&1&&(x(0,5),p(1,"mat-progress-spinner",6),v())}function Ji(t,n){if(t&1&&p(0,"app-cancellation-table",7),t&2){let i=l(3);g("policy",i.policy)}}function tn(t,n){if(t&1&&(c(0,"div",8),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("accommodations.cancellation_policy.no_policy"))}}function en(t,n){if(t&1&&u(0,Ji,1,1,"app-cancellation-table",7)(1,tn,2,1,"div",8),t&2){let i=l(2);f(i.policyIsSet?0:1)}}function nn(t,n){if(t&1){let i=E();x(0),c(1,"div",1)(2,"div",2)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r(),c(7,"button",3),b("click",function(){S(i);let o=l();return y(o.editPolicy())}),p(8,"i",4),m(9),r()(),c(10,"mat-card-content")(11,"p"),m(12),r(),u(13,Zi,2,0,"ng-container",5),u(14,en,2,1),r()()()(),v()}if(t&2){let i=n.$implicit,e=l();a(6),d(" ",i("accommodations.cancellation_policy.title")," "),a(),g("disabled",!e.dataIsLoaded),a(2),d(" ",i("common.edit")," "),a(3),d(" ",i("accommodations.cancellation_policy.description")," "),a(),f(e.dataIsLoaded?-1:13),a(),f(e.dataIsLoaded?14:-1)}}var se=(()=>{let n=class n{constructor(e,o,s,T){this.campsiteService=e,this.databaseService=o,this.uiMessaging=s,this.dialog=T,this.policy=new si,this.dataIsLoaded=!1,this.policyIsSet=!1}ngOnInit(){this.policyStatusSubscription=this.campsiteService.readyForBookingStatus.subscribe(e=>{this.policyIsSet=e.cancellationPolicyIsSet,this.policyIsSet?this._getPolicy():this.dataIsLoaded=!0})}ngOnDestroy(){this.policyStatusSubscription.unsubscribe()}editPolicy(){this.dialog.open(Si,U(B({},X),{data:this.policy})).afterClosed().subscribe(o=>{o&&this._savePolicy(o)})}_getPolicy(){this.databaseService.getBookingConditions(!1).then(e=>{this.policy=e.cancellationPolicy,this.dataIsLoaded=!0}).catch(e=>console.log("CANCELLATION COMPONENT | GET POLICY",e))}_savePolicy(e){this.databaseService.setCancellationPolicy(e).then(()=>{this.campsiteService.cancellationPolicyIsSet(),this.uiMessaging.openSnackBarSuccess(D("accommodations.cancellation_policy.save_cancellation_policy_success_message"))}).catch(o=>console.log("CANCELLATION COMPONENT | SAVE POLICY",o))}};n.\u0275fac=function(o){return new(o||n)(C(q),C(z),C(nt),C(K))},n.\u0275cmp=k({type:n,selectors:[["ng-component"]],decls:1,vars:0,consts:[[4,"transloco"],[1,"row"],[1,"column"],["mat-stroked-button","",3,"click","disabled"],[1,"far","fa-edit"],[2,"margin","2rem"],["mode","indeterminate"],[3,"policy"],[1,"alert","alert-danger"]],template:function(o,s){o&1&&h(0,nn,15,6,"ng-container",0)},dependencies:[w,F,R,$,H,A,Z,Se],styles:[".column[_ngcontent-%COMP%]{width:75%}@media screen and (max-width:75em){.column[_ngcontent-%COMP%]{width:100%}}"]});let t=n;return t})();function on(t,n){t&1&&(x(0,5),p(1,"mat-progress-spinner",6),v())}function an(t,n){if(t&1&&(c(0,"p"),m(1),r(),c(2,"h4")(3,"b"),m(4),I(5,"intToTime"),r()(),p(6,"hr"),c(7,"p"),m(8),r(),c(9,"h4")(10,"b"),m(11),I(12,"intToTime"),r()()),t&2){let i=l(2).$implicit,e=l();a(),_(i("accommodations.hours.check_in_from")),a(3),_(M(5,4,e.hours.checkInTime)),a(4),_(i("accommodations.hours.check_out_from")),a(3),_(M(12,6,e.hours.checkOutTime))}}function rn(t,n){if(t&1&&(c(0,"div",7),p(1,"i",8),m(2),r()),t&2){let i=l(2).$implicit;a(2),d(" ",i("accommodations.hours.check_in_out_not_specified")," ")}}function cn(t,n){if(t&1&&u(0,an,13,8)(1,rn,3,1,"div",7),t&2){let i=l(2);f(i.hoursAreSet?0:1)}}function ln(t,n){if(t&1){let i=E();x(0),c(1,"div",1)(2,"div",2)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r(),c(7,"button",3),b("click",function(){S(i);let o=l();return y(o.editHours())}),p(8,"i",4),m(9),r()(),c(10,"mat-card-content")(11,"p"),m(12),r(),u(13,on,2,0,"ng-container",5),u(14,cn,2,1),r()()()(),v()}if(t&2){let i=n.$implicit,e=l();a(6),d(" ",i("accommodations.hours.title")," "),a(),g("disabled",!e.dataIsLoaded),a(2),d(" ",i("common.edit")," "),a(3),_(i("accommodations.hours.description")),a(),f(e.dataIsLoaded?-1:13),a(),f(e.dataIsLoaded?14:-1)}}var de=(()=>{let n=class n{constructor(e,o,s,T){this.campsiteService=e,this.databaseService=o,this.uiMessaging=s,this.dialog=T,this.hours=new di,this.dataIsLoaded=!1,this.hoursAreSet=!1}
1ngOnInit(){this.hoursStatusSubscription=this.campsiteService.readyForBookingStatus.subscribe(e=>{this.hoursAreSet=e.checkInCheckOutIsSet,this.hoursAreSet?this._getHours():this.dataIsLoaded=!0})}_getHours(){this.databaseService.getBookingConditions(!1).then(e=>{this.hours=e.hours,this.dataIsLoaded=!0}).catch(e=>console.log("CHECK IN OUT COMPONENT | GET HOURS",e))}editHours(){this.dialog.open(yi,U(B({},X),{data:this.hours})).afterClosed().subscribe(o=>{o&&this._saveHours(o)})}_saveHours(e){this.databaseService.setHours(e).then(()=>{this.campsiteService.checkInCheckOutIsSet(),this.uiMessaging.openSnackBarSuccess(D("accommodations.hours.save_hours_success_message"))}).catch(o=>console.log("CHECK IN OUT COMPONENT | SAVE HOURS",o))}};n.\u0275fac=function(o){return new(o||n)(C(q),C(z),C(nt),C(K))},n.\u0275cmp=k({type:n,selectors:[["ng-component"]],decls:1,vars:0,consts:[[4,"transloco"],[1,"row"],[1,"column"],["mat-stroked-button","",3,"click","disabled"],[1,"far","fa-edit"],[2,"margin","2rem"],["mode","indeterminate"],[1,"alert","alert-danger"],[1,"far","fa-clock"]],template:function(o,s){o&1&&h(0,ln,15,6,"ng-container",0)},dependencies:[w,F,R,$,H,A,Z,Ei],styles:[".column[_ngcontent-%COMP%]{width:75%}@media screen and (max-width:75em){.column[_ngcontent-%COMP%]{width:100%}}"]});let t=n;return t})();function sn(t,n){t&1&&(c(0,"span",1),p(1,"i",7),r())}function dn(t,n){if(t&1&&(c(0,"mat-option",5),m(1),r()),t&2){let i=n.$implicit;g("value",i.id),a(),Dt(" ",i.name," (",i.lockId,") ")}}function pn(t,n){if(t&1){let i=E();c(0,"button",8),b("click",function(){S(i);let o=l().$implicit,s=l(3);return y(s.unassignLock(o.id))}),p(1,"i",9),r()}}function _n(t,n){if(t&1){let i=E();c(0,"div")(1,"mat-card")(2,"mat-card-header")(3,"mat-card-title"),u(4,sn,2,0,"span",1),m(5),r(),c(6,"mat-card-subtitle",2),m(7),r()(),c(8,"mat-card-content")(9,"div",3)(10,"mat-form-field")(11,"mat-label"),m(12),r(),c(13,"mat-select",4),b("selectionChange",function(o){let s=S(i).$implicit;return l(3).onLockChange(o.value,s),y(o.source.value=null)}),L(14,dn,2,3,"mat-option",5,G),r()(),u(16,pn,2,0,"button",6),r()()()()}if(t&2){let i,e=n.$implicit,o=l(2).$implicit,s=l();a(4),f(s.getUnitLock(e.id)?4:-1),a(),d(" ",e.name," "),a(2),d(" ",e.resourceParent," "),a(5),_(o("accommodations.door_locks.binding.select_lock")),a(),g("value",(i=s.getUnitLock(e.id))==null?null:i.id),a(),P(s.doorLocks),a(2),f(s.getUnitLock(e.id)?16:-1)}}function un(t,n){if(t&1&&L(0,_n,17,6,"div",null,G),t&2){let i=l(2);P(i.units)}}function fn(t,n){if(t&1&&(x(0),u(1,un,2,0),v()),t&2){let i=l();a(),f(i.units.length?1:-1)}}var Ct=(()=>{let n=class n{constructor(e){this.userDialogService=e,this.doorLocks=[],this.units=[],this.unitAddedToLock=new tt,this.unitRemovedFromLock=new tt}getUnitLock(e){return this.doorLocks.find(o=>o.unitIds.includes(e))||null}getLock(e){return this.doorLocks.find(o=>o.id===e)||null}onLockChange(e,o){return Q(this,null,function*(){yield this.assignLock(e,o.id)})}assignLock(e,o){return Q(this,null,function*(){let s=this.getLock(e),T=s&&!s.unitIds.includes(o);if(s.unitIds.length){let V=this.getUnitName(o),J={header:D("accommodations.door_locks.binding.assign_header"),message:D("accommodations.door_locks.binding.assign_message",{nextUnitName:V,lockName:s.name,lockId:s.lockId}),commitButtonText:D("common.confirm"),discardButtonText:D("common.cancel")};yield this.userDialogService.confirm(J).then(ge=>{T=T&&ge})}T&&this.unitAddedToLock.emit({doorLockId:e,unitId:o})})}unassignLock(e){return Q(this,null,function*(){let o=this.getUnitLock(e);if(!o||!o.unitIds.includes(e))return;let s={header:D("accommodations.door_locks.binding.unassign_header"),message:D("accommodations.door_locks.binding.unassign_message",{lockName:o.name,lockId:o.lockId,unitName:this.getUnitName(e)}),commitButtonText:D("common.confirm"),discardButtonText:D("common.cancel")};yield this.userDialogService.confirm(s).then(T=>{T&&this.unitRemovedFromLock.emit({doorLockId:o.id,unitId:e})})})}getUnitName(e){let o=this.units.find(s=>s.id===e);return o?o.name:e}};n.\u0275fac=function(o){return new(o||n)(C(ce))},n.\u0275cmp=k({type:n,selectors:[["app-door-locks-binding"]],inputs:{doorLocks:"doorLocks",units:"units"},outputs:{unitAddedToLock:"unitAddedToLock",unitRemovedFromLock:"unitRemovedFromLock"},decls:1,vars:0,consts:[[4,"transloco"],[2,"color","green"],[2,"padding-top","10px"],[2,"display","flex","align-items","top"],[3,"selectionChange","value"],[3,"value"],["mat-icon-button","","color","primary",2,"margin-left","1rem","color","orangered"],[1,"fa-regular","fa-link"],["mat-icon-button","","color","primary",2,"margin-left","1rem","color","orangered",3,"click"],[1,"far","fa-xs","fa-unlink"]],template:function(o,s){o&1&&h(0,fn,2,1,"ng-container",0)},dependencies:[w,F,R,$,jt,A,ct,Gt,Ht,Ut,lt],encapsulation:2});let t=n;return t})();function xn(t,n){if(t&1&&(c(0,"mat-option",8),m(1),r()),t&2){let i=n.$implicit;g("value",i),a(),d(" ",i.toString().padStart(2,"0")," ")}}function vn(t,n){if(t&1&&(c(0,"mat-option",8),m(1),r()),t&2){let i=n.$implicit;g("value",i),a(),d(" ",i.toString().padStart(2,"0")," ")}}function hn(t,n){if(t&1&&(c(0,"mat-option",8),m(1),r()),t&2){let i=n.$implicit;g("value",i),a(),d(" ",i.toString().padStart(2,"0")," ")}}function Tn(t,n){if(t&1&&(c(0,"mat-option",8),m(1),r()),t&2){let i=n.$implicit;g("value",i),a(),d(" ",i.toString().padStart(2,"0")," ")}}function Sn(t,n){if(t&1){let i=E();x(0),c(1,"h2",1),m(2),r(),c(3,"form",2)(4,"mat-dialog-content")(5,"div",3)(6,"div",4)(7,"h4"),m(8),r(),c(9,"div",5)(10,"mat-form-field",6)(11,"mat-select",7),L(12,xn,2,2,"mat-option",8,G),r()(),c(14,"span",9),m(15,":"),r(),c(16,"mat-form-field",6)(17,"mat-select",10),L(18,vn,2,2,"mat-option",8,G),r()()()(),c(20,"div",4)(21,"h4"),m(22),r(),c(23,"div",5)(24,"mat-form-field",6)(25,"mat-select",11),L(26,hn,2,2,"mat-option",8,G),r()(),c(28,"span",9),m(29,":"),r(),c(30,"mat-form-field",6)(31,"mat-select",12),L(32,Tn,2,2,"mat-option",8,G),r()()()()(),c(34,"div")(35,"span"),p(36,"i",13),m(37),r()()(),c(38,"mat-dialog-actions",14)(39,"button",15),b("
1click",function(){S(i);let o=l();return y(o.onCancel())}),m(40),r(),c(41,"button",16),b("click",function(){S(i);let o=l();return y(o.onSave())}),m(42),r()()(),v()}if(t&2){let i=n.$implicit,e=l();a(2),_(i("accommodations.door_locks.overview.key_validity_label")),a(),g("formGroup",e.keyValidityForm),a(5),_(i("accommodations.door_locks.key_validity.key_activation_label")),a(4),P(e.hours),a(6),P(e.minutes),a(4),_(i("accommodations.door_locks.key_validity.key_expiry_label")),a(4),P(e.hours),a(6),P(e.minutes),a(5),d(" ",i("accommodations.door_locks.key_validity.disclaimer")," "),a(3),d(" ",i("common.cancel")," "),a(),g("disabled",e.keyValidityForm.invalid),a(),d(" ",i("common.save")," ")}}var gt=(()=>{let n=class n{constructor(e,o,s){this.fb=e,this.dialogRef=o,this.data=s,this.hours=Array.from({length:24},(T,V)=>V),this.minutes=Array.from({length:60},(T,V)=>V)}ngOnInit(){this.keyValidityForm=this.fb.group({defaultFromHour:[this.data.defaultFrom.hour,[O.required,O.min(0),O.max(23)]],defaultFromMinute:[this.data.defaultFrom.minute,[O.required,O.min(0),O.max(59)]],defaultToHour:[this.data.defaultTo.hour,[O.required,O.min(0),O.max(23)]],defaultToMinute:[this.data.defaultTo.minute,[O.required,O.min(0),O.max(59)]]})}onCancel(){this.dialogRef.close()}onSave(){if(this.keyValidityForm.valid){let e=this.keyValidityForm.value,o={defaultFrom:{hour:e.defaultFromHour,minute:e.defaultFromMinute},defaultTo:{hour:e.defaultToHour,minute:e.defaultToMinute}};this.dialogRef.close(o)}}};n.\u0275fac=function(o){return new(o||n)(C(Vt),C(Kt),C(ei))},n.\u0275cmp=k({type:n,selectors:[["app-door-lock-key-validity-dialog"]],decls:1,vars:0,consts:[[4,"transloco"],["mat-dialog-title",""],[3,"formGroup"],[1,"form-row"],[1,"form-group"],[1,"time-inputs"],["appearance","outline"],["formControlName","defaultFromHour"],[3,"value"],[1,"time-separator"],["formControlName","defaultFromMinute"],["formControlName","defaultToHour"],["formControlName","defaultToMinute"],[1,"far","fa-info-circle"],["align","end"],["mat-button","","type","button",3,"click"],["mat-flat-button","","color","primary","type","button",3,"click","disabled"]],template:function(o,s){o&1&&h(0,Sn,43,8,"ng-container",0)},dependencies:[w,qt,Bt,$t,Pt,Ft,Nt,Rt,At,zt,ct,Ht,Ut,Qt,H],styles:[".form-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.form-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.time-inputs[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px}
1.time-separator[_ngcontent-%COMP%]{font-size:20px;font-weight:700;margin:0 5px}h4[_ngcontent-%COMP%]{margin-bottom:10px;font-weight:500}mat-form-field[_ngcontent-%COMP%]{width:80px}"]});let t=n;return t})();var bn=t=>({x:t});function kn(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l().$implicit;a(),d(" (",i.unitIds.length,") ")}}function wn(t,n){if(t&1&&(c(0,"span",10),p(1,"i",11),m(2),r()),t&2){let i=n.$implicit,e=l(5);a(2),d(" ",e.getUnitName(i)," ")}}function En(t,n){if(t&1&&L(0,wn,3,1,"span",10,G),t&2){let i=l(2).$implicit;P(i.unitIds)}}function In(t,n){if(t&1&&(c(0,"span",10),p(1,"i",11),m(2),r()),t&2){let i=n.$implicit,e=l(5);a(2),d(" ",e.getUnitName(i)," ")}}function Mn(t,n){if(t&1&&(L(0,In,3,1,"span",10,G),I(2,"slice"),c(3,"span",12),m(4),r()),t&2){let i=l(2).$implicit,e=l().$implicit;P(Le(2,1,i.unitIds,0,5)),a(4),d(" ... ",e("common.andXMore",j(5,bn,i.unitIds.length-5))," ")}}function Dn(t,n){if(t&1&&u(0,En,2,0)(1,Mn,5,7),t&2){let i=l().$implicit;f(i.unitIds.length<=5?0:1)}}function On(t,n){if(t&1&&(c(0,"span",9),p(1,"i",13),m(2),r()),t&2){let i=l(2).$implicit;a(2),d(" ",i("accommodations.door_locks.overview.not_assigned")," ")}}function Ln(t,n){if(t&1){let i=E();c(0,"div")(1,"mat-card")(2,"mat-card-header",1)(3,"mat-card-title"),m(4),r(),c(5,"mat-card-subtitle"),m(6),r(),p(7,"i",2),r(),c(8,"mat-card-content")(9,"div",3)(10,"div",4),m(11),r(),m(12),r(),c(13,"div",3)(14,"div",4),m(15),r(),c(16,"div",5)(17,"span",6),m(18),I(19,"formatTime"),r(),m(20),c(21,"span",6),m(22),I(23,"formatTime"),r(),m(24),c(25,"span",7),b("click",function(){let o=S(i).$implicit,s=l(2);return y(s.editKeyValidity(o))}),p(26,"i",8),r()()(),c(27,"div",3)(28,"div",4),m(29),u(30,kn,2,1,"span"),r(),u(31,Dn,2,1),u(32,On,3,1,"span",9),r()()()()}if(t&2){let i=n.$implicit,e=l().$implicit;a(4),d(" ",i.name," "),a(2),d(" ",i.lockId," "),a(5),d(" ",e("accommodations.door_locks.overview.provider_label")," "),a(),d(" ",i.provider," "),a(3),d(" ",e("accommodations.door_locks.overview.key_validity_label")," "),a(3),d(" ",M(19,13,i.defaultFrom)," "),a(2),d(" (",e("common.checkin"),") \u2192 "),a(2),d(" ",M(23,15,i.defaultTo)," "),a(2),d(" (",e("common.checkout"),") "),a(5),d(" ",e("accommodations.door_locks.overview.currently_assigned_label")," "),a(),f(i.unitIds.length?30:-1),a(),f(i.unitIds.length?31:-1),a(),f(i.unitIds.length?-1:32)}}function Pn(t,n){if(t&1&&(x(0),L(1,Ln,33,17,"div",null,G),v()),t&2){let i=l();a(),P(i.doorLocks)}}var xt=(()=>{let n=class n{constructor(e){this.dialog=e,this.doorLocks=[],this.units=[],this.lockUpdated=new tt}getUnitName(e){let o=this.units.find(s=>s.id===e);return o?o.name:e}editKeyValidity(e){this.dialog.open(gt,U(B({},X),{data:{defaultFrom:e.defaultFrom,defaultTo:e.defaultTo}})).afterClosed().subscribe(s=>{s&&this.lockUpdated.emit({doorLockId:e.id,update:{defaultFrom:s.defaultFrom,defaultTo:s.defaultTo}})})}};n.\u0275fac=function(o){return new(o||n)(C(K))},n.\u0275cmp=k({type:n,selectors:[["app-door-locks-overview"]],inputs:{doorLocks:"doorLocks",units:"units"},outputs:{lockUpdated:"lockUpdated"},decls:1,vars:0,consts:[[4,"transloco"],[2,"align-items","start"],[1,"fa-regular","fa-2x","fa-shield-keyhole"],[1,"section"],[1,"section-header"],[2,"margin-top","0.6rem"],[1,"time-container"],[2,"cursor","pointer","margin-left","0.5rem",3,"click"],[1,"far","fa-pen"],[2,"color","lightcoral"],[2,"color","green","display","block"],[1,"fas","fa-link"],[2,"display","block","font-style","italic"],[1,"fas","fa-link-slash"]],template:function(o,s){o&1&&h(0,Pn,3,0,"ng-container",0)},dependencies:[w,F,R,$,jt,A,Ae,wi],styles:[".section[_ngcontent-%COMP%]{margin-bottom:1.5rem}.section-header[_ngcontent-%COMP%]{font-weight:700;margin-bottom:.25rem}.time-container[_ngcontent-%COMP%]{font-weight:500;background-color:#f5f5f5;border:1px solid #ccc;padding:.1rem .1rem .1rem .35rem;border-radius:.25rem;margin-right:.2rem}"]});let t=n;return t})();function $n(t,n){if(t&1){let i=E();x(0),c(1,"div",1)(2,"div",2)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r()(),c(7,"mat-card-content")(8,"app-door-locks-binding",3),I(9,"async"),b("unitAddedToLock",function(o){S(i);let s=l();return y(s.onUnitAddedToLock(o))})("unitRemovedFromLock",function(o){S(i);let s=l();return y(s.onUnitRemovedFromLock(o))}),r()()()(),c(10,"div",4)(11,"mat-card")(12,"mat-card-header")(13,"mat-card-title"),m(14),r()(),c(15,"mat-card-content")(16,"app-door-locks-overview",5),I(17,"async"),b("lockUpdated",function(o){S(i);let s=l();return y(s.onLockUpdated(o))}),r()()()()(),v()}if(t&2){let i=n.$implicit,e=l();a(6),d(" ",i("accommodations.door_locks.binding.title")," "),a(2),g("doorLocks",M(9,6,e.doorLocks$))("units",e.units),a(6),d(" ",i("accommodations.door_locks.overview.title")," "),a(2),g("doorLocks",M(17,8,e.doorLocks$))("units",e.units)}}function An(t,n){t&1&&p(0,"app-overlay-spinner")}var pe=(()=>{let n=class n{constructor(e,o,s){this.doorLockService=e,this.unitService=o,this.campsiteService=s,this.units=[],this.doorLocks$=this.doorLockService.doorlocks$,this.locksLoading$=this.doorLockService.locksLoading$}ngOnInit(){return Q(this,null,function*(){this.doorLockService.getDoorLocks().pipe(st()).subscribe(),this.units=yield this.unitService.getAllCampsiteUnits(this.campsiteService.campsiteId,!0)})}onUnitAddedToLock(e){this.doorLockService.assignLock(e.doorLockId,e.unitId).pipe(st()).subscribe()}onUnitRemovedFromLock(e){this.doorLockService.unassignLock(e.doorLockId,e.unitId).pipe(st()).subscribe()}onLockUpdated(e){this.doorLockService.patchLock(e.doorLockId,e.update).pipe(st()).subscribe()}};n.\u0275fac=function(o){return new(o||n)(C(pi),C(re),C(q))},n.\u0275cmp=k({type:n,selectors:[["app-door-locks"]],decls:3,vars:3,consts:[[4,"transloco"],[1,"row"],[1,"column",2,"width","60%"],[3,"unitAddedToLock","unitRemovedFromLock","doorLocks","units"],[1,"column",2,"width","40%"],[3,"lockUpdated","doorLocks","units"]],template:function(o,s){o&1&&(h(0,$n,18,10,"ng-container",0),u(1,An,1,0,"app-overlay-spinner"),I(2,"async")),o&2&&(a(),f(M(2,1,s.locksLoading$)?1:-1))},dependencies:[w,F,R,$,A,Ct,xt,hi,Y],encapsulation:2});let t=n;return t})();function Rn(t,n){if(t&1&&(c(0,"th",15),m(1),r()),t&2){let i=l().$implicit;a(),_(i("common.name"))}}function Vn(t,n){if(t&1&&(c(0,"td",16)(1,"b"),m(2),r()()),t&2){let i=n.$implicit;a(2),_(i.name)}}function Bn(t,n){if(t&1&&(c(0,"th",15),m(1),r()),t&2){let i=l().$implicit;a(),_(i("common.price_incl_tax"))}}function Nn(t,n){if(t&1&&(c(0,"td",16),m(1),I(2,"currency"),r()),t&2){let i=n.$implicit,e=l(2);a(),_(Ot(2,1,i.price,e.currency))}}function Gn(t,n){if(t&1&&(c(0,"th",17),m(1),r()),t&2){let i=l().$implicit;a(),_(i("common.tax"))}}function Un(t,n){if(t&1&&(c(0,"td",16),m(1),I(2,"decimalToPercent"),r()),t&2){let i=n.$implicit;a(),_(M(2,1,i.tax))}}function Hn(t,n){if(t&1&&(c(0,"th",17),m(1),r()),t&2){let i=l().$implicit;a(),_(i("accommodations.extras.table.headers.payment_type"))}}function jn(t,n){t&1&&(c(0,"span"),m(1,"-"),r())}function Kn(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("common.per_piece"))}}function qn(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("common.per_day"))}}function zn(t,n){if(t&1&&(c(0,"td",16),u(1,jn,2,0,"span"),u(2,Kn,2,1,"span"),u(3,qn,2,1,"span"),r()),t&2){let i=n.$implicit,e=l(2);a(),f(i.paymentType?-1:1),a(),f(i.paymentType===e.ExtrasPaymentType.PER_UNIT?2:-1),a(),f(i.paymentType===e.ExtrasPaymentType.PER_DAY?3:-1)}}function Qn(t,n){if(t&1&&(c(0,"th",17),m(1),r()),t&2){let i=l().$implicit;a(),_(i("accommodations.extras.table.headers.required"))}}function Wn(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("common.yes"))}}function Yn(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("common.no"))}}function Xn(t,n){if(t&1&&(c(0,"td",16),u(1,Wn,2,1,"span"),u(2,Yn,2,1,"span"),r()),t&2){let i=n.$implicit;a(),f(i.required?1:-1),a(),f(i.required?-1:2)}}function Zn(t,n){if(t&1&&(c(0,"th",17),m(1),r()),t&2){let i=l().$implicit;a(),_(i("accommodations.extras.table.headers.single_buy"))}}function Jn(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("common.yes"))}}function to(t,n){if(t&1&&(c(0,"span"),m(1),r()),t&2){let i=l(2).$implicit;a(),_(i("common.no"))}}function eo(t,n){if(t&1&&(c(0,"td",16),u(1,Jn,2,1,"span"),u(2,to,2,1,"span"),r()),t&2){let i=n.$implicit;a(),f(i.canBuyOnlyOne?1:-1),a(),f(i.canBuyOnlyOne?-1:2)}}function io(t,n){t&1&&p(0,"tr",18)}function no(t,n){if(t&1){let i=E();c(0,"tr",19),b("click",function(){let o=S(i).$implicit,s=l(2);return y(s.onRowClick(o))}),r()}}function oo(t,n){if(t&1&&(x(0),c(1,"div",2)(2,"table",3,0),x(4,4),h(5,Rn,2,1,"th",5)(6,Vn,3,1,"td",6),v(),x(7,7),h(8,Bn,2,1,"th",5)(9,Nn,3,4,"td",6),v(),x(10,8),h(11,Gn,2,1,"th",9)(12,Un,3,3,"td",6),v(),x(13,10),h(14,Hn,2,1,"th",9)(15,zn,4,3,"td",6),v(),x(16,11),h(17,Qn,2,1,"th",9)(18,Xn,3,2,"td",6),v(),x(19,12),h(20,Zn,2,1,"th",9)(21,eo,3,2,"td",6),v(),h(22,io,1,0,"tr",13)(23,no,1,0,"tr",14),r()(),v()),t&2){let i=l();a(2),g("dataSource",i.dataSource),a(20),g("matHeaderRowDef",i.displayedColumns),a(),g("matRowDefColumns",i.displayedColumns)}}var vt=(()=>{let n=class n{constructor(e){this.router=e,this.ExtrasPaymentType=We,this.dataSource=new it([]),this.displayedColumns=["name","price","tax","paymentType","required","singleBuy"]}ngOnChanges(e){e?.extras?.currentValue&&(this.dataSource=new it(this.extras),this.dataSource.sort=this.sort)}ngAfterViewInit(){this.dataSource.sort=this.sort}
1onRowClick(e){e&&this.router.navigate(["dashboard/extra-details",e.id])}};n.\u0275fac=function(o){return new(o||n)(C(rt))},n.\u0275cmp=k({type:n,selectors:[["app-extras-table"]],viewQuery:function(o,s){if(o&1&&Et(mt,5),o&2){let T;It(T=Mt())&&(s.sort=T.first)}},inputs:{currency:"currency",extras:"extras"},features:[at],decls:1,vars:0,consts:[["extrasSort","matSort"],[4,"transloco"],[1,"table-responsive"],["mat-table","","matSort","",2,"width","100%","overflow","hidden",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","price"],["matColumnDef","tax"],["mat-header-cell","",4,"matHeaderCellDef"],["matColumnDef","paymentType"],["matColumnDef","required"],["matColumnDef","singleBuy"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"click",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell",""],["mat-header-row",""],["mat-row","",3,"click"]],template:function(o,s){o&1&&h(0,oo,24,3,"ng-container",1)},dependencies:[w,Yt,mt,Jt,Zt,te,Wt,Xt,ee,ie,oe,ne,ae,$e,le],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0});let t=n;return t})();var ro=()=>["/dashboard/new-extra"];function co(t,n){t&1&&(x(0,5),p(1,"mat-progress-spinner",6),v())}function lo(t,n){if(t&1&&p(0,"app-extras-table",7),t&2){let i=l(),e=l(2);g("currency",e.currency)("extras",i)}}function mo(t,n){if(t&1&&(c(0,"div",8),p(1,"i",9),m(2),r()),t&2){let i=l(2).$implicit;a(2),d(" ",i("accommodations.extras.disclaimer")," ")}}function so(t,n){t&1&&u(0,lo,1,2,"app-extras-table",7)(1,mo,3,1,"div",8),t&2&&f(n.length?0:1)}function po(t,n){if(t&1&&(x(0),c(1,"div",1)(2,"div",2)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r(),c(7,"button",3),p(8,"i",4),m(9),r()(),c(10,"mat-card-content")(11,"p"),m(12),r(),u(13,co,2,0,"ng-container",5),u(14,so,2,1),I(15,"async"),r()()()(),v()),t&2){let i,e=n.$implicit,o=l();a(6),d(" ",e("accommodations.extras.title")," "),a(),g("routerLink",_t(8,ro)),a(2),d(" ",e("common.add_new")," "),a(3),d(" ",e("accommodations.extras.description")," "),a(),f(o.extras$?-1:13),a(),f((i=M(15,6,o.extras$))?14:-1,i)}}var _e=(()=>{let n=class n{constructor(e,o){this.campsiteservice=e,this.databaseService=o}ngOnInit(){this.currency=this.campsiteservice.currency,this._getExtras()}_getExtras(){this.extras$=yt(this.databaseService.getExtras())}};n.\u0275fac=function(o){return new(o||n)(C(q),C(z))},n.\u0275cmp=k({type:n,selectors:[["ng-component"]],decls:1,vars:0,consts:[[4,"transloco"],[1,"row"],[1,"column"],["mat-flat-button","","color","primary",3,"routerLink"],[1,"fal","fa-plus"],[2,"margin","2rem"],["mode","indeterminate"],[3,"currency","extras"],[1,"alert","alert-info",2,"margin","20px 0"],[1,"fal","fa-info-circle"]],template:function(o,s){o&1&&h(0,po,16,9,"ng-container",0)},dependencies:[w,F,R,$,H,Lt,A,Z,vt,Y],styles:[".column[_ngcontent-%COMP%]{width:75%}@media screen and (max-width:75em){.column[_ngcontent-%COMP%]{width:100%}}"]});let t=n;return t})();var _o=t=>({currency:t});function uo(t,n){t&1&&p(0,"mat-progress-spinner",4)}function fo(t,n){if(t&1&&(c(0,"td",11),m(1),I(2,"translateCampTypeObservable"),I(3,"async"),r()),t&2){let i=l().$implicit;pt("rowspan",i.groupSize),a(),d(" ",M(3,4,M(2,2,i.campType))," ")}}function Co(t,n){if(t&1&&m(0),t&2){let i=l().$implicit,e=l(3).$implicit;Dt(" ",i.range.ageMin," ",e("common.years")," \u2192 ")}}function go(t,n){if(t&1&&m(0),t&2){let i=l().$implicit,e=l(3).$implicit;Me(" ",i.range.ageMin," \u2192 ",i.range.ageMax," ",e("common.years")," ")}}function xo(t,n){if(t&1){let i=E();c(0,"td",12)(1,"button",13),b("click",function(){S(i);let o=l().$implicit,s=l(4);return y(s.openGuestRates(o.group))}),p(2,"i",14),r(),c(3,"button",15),b("click",function(){S(i);let o=l().$implicit,s=l(4);return y(s.deleteGuestRates(o.group))}),p(4,"i",16),r()()}if(t&2){let i=l().$implicit,e=l(3).$implicit;pt("rowspan",i.groupSize),a(),pt("aria-label",e("common.edit")),a(2),pt("aria-label",e("common.delete"))}}function vo(t,n){if(t&1&&(c(0,"tr"),u(1,fo,4,6,"td",11),c(2,"td"),u(3,Co,1,2)(4,go,1,3),r(),c(5,"td"),m(6),I(7,"number"),r(),c(8,"td"),m(9),I(10,"decimalToPercent"),r(),u(11,xo,5,3,"td",12),r()),t&2){let i=n.$implicit;Ee("group-start",i.isFirstInGroup),a(),f(i.isFirstInGroup?1:-1),a(2),f(i.range.isAdult?3:4),a(3),_(Ot(7,7,i.range.price,"1.0-2")),a(3),_(M(10,10,i.range.tax)),a(2),f(i.isFirstInGroup?11:-1)}}function ho(t,n){if(t&1&&(c(0,"div",5)(1,"table",7)(2,"thead")(3,"tr"),p(4,"th",8),c(5,"th",8),m(6),r(),c(7,"th",8),m(8),r(),c(9,"th",8),m(10),r(),p(11,"th",9),r()(),c(12,"tbody"),L(13,vo,12,12,"tr",10,we().trackByFlatRow,!0),r()()()),t&2){let i=l(),e=l().$implicit;a(6),_(e("shared.guest_rates.column_age_range")),a(2),_(e("shared.guest_rates.range_price")),a(2),_(e("common.tax")),a(3),P(i)}}function To(t,n){if(t&1&&(c(0,"div",6),p(1,"i",17),m(2),r()),t&2){let i=l(2).$implicit;a(2),d(" ",i("shared.guest_rates.empty_state")," ")}}function So(t,n){t&1&&u(0,ho,15,3,"div",5)(1,To,3,1,"div",6),t&2&&f(n.length>0?0:1)}function yo(t,n){if(t&1&&(c(0,"div",18),p(1,"i",19),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i("accommodations.additional_guests.prices_not_specified_label")," ")}}function bo(t,n){if(t&1&&(x(0),c(1,"div",2)(2,"div",3)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r()(),c(7,"mat-card-content")(8,"p"),m(9),r(),c(10,"p")(11,"em"),m(12),r()(),u(13,uo,1,0,"mat-progress-spinner",4),I(14,"async"),u(15,So,2,1),I(16,"async"),r()()()(),h(17,yo,3,1,"ng-template",null,0,ut),v()),t&2){let i,e=n.$implicit,o=l();a(6),d(" ",e("accommodations.additional_guests.title")," "),a(3),_(e("accommodations.additional_guests.description")),a(3),_(e("shared.guest_rates.prices_hint",j(9,_o,o.currency))),a(),f(M(14,5,o.guestRatesLoading$)?13:-1),a(2),f((i=M(16,7,o.guestRatesFlatRows$))?15:-1,i)}}var ue=(()=>{let n=class n{constructor(e,o,s,T,V,J){this.campsiteService=e,this.databaseService=o,this.guestRatesService=s,this.uiMessaging=T,this.userDialog=V,this.dialog=J,this.prices=new mi,this.dataIsLoaded=!1,this.additionalGuestPrices=!0,this.destroy$=new ye}ngOnInit(){this.currency=this.campsiteService.currency,this.guestRatesFlatRows$=this.guestRatesService.guestRates$.pipe(ke(e=>this._toFlatRows(e))),this.guestRatesLoading$=this.guestRatesService.guestRatesLoading$,this._getPrices(),this._loadGuestRates()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}editPrices(){this.dialog.open(Ti,U(B({},Te(ft.LARGE)),{data:this.prices})).afterClosed().subscribe(o=>
1{o&&this._savePrices(o)})}openGuestRates(e){this._openGuestRatesDialog({guestRates:e})}deleteGuestRates(e){return Q(this,null,function*(){(yield this.userDialog.confirmDelete({header:D("shared.guest_rates.delete_confirm_title"),message:D("shared.guest_rates.delete_confirm_message",{campType:D("shared.guest_rates.camp_type."+e.campType.toLowerCase())})}))&&this.guestRatesService.delete(e.campType).pipe(dt(this.destroy$)).subscribe({next:()=>{this.uiMessaging.openSnackBarSuccess(D("shared.guest_rates.delete_success"))},error:s=>console.log("GUEST PRICES COMPONENT | DELETE GUEST RATES",s)})})}trackByFlatRow(e,o){return`${o.campType}:${o.range.ageMin}-${o.range.ageMax}`}_toFlatRows(e){let o=[];for(let s of e){let T=[...s.ranges].sort((V,J)=>J.ageMin-V.ageMin);T.forEach((V,J)=>{o.push({campType:s.campType,range:V,isFirstInGroup:J===0,groupSize:T.length,group:s})})}return o}_openGuestRatesDialog(e){this.dialog.open(bi,U(B({},Te(ft.LARGE)),{data:e})).afterClosed().pipe(dt(this.destroy$)).subscribe(s=>{s&&this.guestRatesService.upsert(s.campType,s.body).pipe(dt(this.destroy$)).subscribe({next:()=>{this.uiMessaging.openSnackBarSuccess(D("shared.guest_rates.save_success"))},error:T=>console.log("GUEST PRICES COMPONENT | UPSERT GUEST RATES",T)})})}_loadGuestRates(){this.guestRatesService.getAll().pipe(dt(this.destroy$)).subscribe({error:e=>console.log("GUEST PRICES COMPONENT | LOAD GUEST RATES",e)})}_getPrices(){this.databaseService.getBookingConditions(!1).then(e=>{this.prices=B(B({},this.prices),e.additionalGuestPrices),this.dataIsLoaded=!0,this.additionalGuestPrices=!!e.additionalGuestPrices}).catch(e=>console.log("GUEST PRICES COMPONENT | GET PRICES",e))}_savePrices(e){this.databaseService.setAdditionalGuestPrices(e).then(()=>{this.prices=e,this.additionalGuestPrices=!0,this.uiMessaging.openSnackBarSuccess(D("accommodations.additional_guests.save_prices_success_message"))}).catch(console.log)}};n.\u0275fac=function(o){return new(o||n)(C(q),C(z),C(ui),C(nt),C(ce),C(K))},n.\u0275cmp=k({type:n,selectors:[["ng-component"]],decls:1,vars:0,consts:[["noData",""],[4,"transloco"],[1,"row"],[1,"column"],["mode","indeterminate"],[1,"table-responsive"],[1,"alert","alert-info"],[1,"table","guest-rates-table"],["scope","col"],["scope","col",1,"actions-column"],[3,"group-start"],[1,"camp-type-cell"],[1,"actions-column"],["mat-icon-button","",3,"click"],[1,"far","fa-edit"],["mat-icon-button","","color","warn",3,"click"],[1,"far","fa-trash-alt"],[1,"far","fa-info-circle"],[1,"alert","alert-danger"],[1,"far","fa-user-plus"]],template:function(o,s){o&1&&h(0,bo,19,11,"ng-container",1)},dependencies:[w,F,R,$,A,Z,lt,Y,Fe,le,xi],styles:[".column[_ngcontent-%COMP%]{width:75%}@media screen and (max-width:75em){.column[_ngcontent-%COMP%]{width:100%}}.row[_ngcontent-%COMP%] + .row[_ngcontent-%COMP%]{margin-top:1.5rem}.actions-column[_ngcontent-%COMP%]{text-align:right;white-space:nowrap;vertical-align:middle}.guest-rates-table[_ngcontent-%COMP%] .camp-type-cell[_ngcontent-%COMP%]{vertical-align:middle;font-weight:600}.guest-rates-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.group-start[_ngcontent-%COMP%]:not(:first-child) > td[_ngcontent-%COMP%]{border-top:2px solid rgba(0,0,0,.12)}"]});let t=n;return t})();function ko(t,n){if(t&1&&(c(0,"span",4,1),m(2),r()),t&2){let i=n.$implicit,e=W(1),o=l().$implicit;g("routerLink",i.path)("active",e.isActive),a(2),d(" ",o(i.label)," ")}}function wo(t,n){if(t&1&&(x(0),c(1,"nav",3),L(2,ko,3,3,"span",4,G),r(),v()),t&2){let i=l(),e=W(2);a(),g("tabPanel",e),a(),P(i.tabs)}}var fe=(()=>{let n=class n{constructor(e){this.campsiteSettingsService=e,this.tabs=[{label:"accommodations.tabs.overview",path:"overview"},{label:"accommodations.tabs.options",path:"extras"},{label:"accommodations.tabs.cancellation",path:"cancellation-policy"},{label:"accommodations.tabs.check_in_out",path:"hours"},{label:"accommodations.tabs.price_for_extra_guests",path:"additional-guests"},{label:"accommodations.tabs.message_to_guests",path:"booking-message"}],this.campsiteSettings$=this.campsiteSettingsService.settings$}ngOnInit(){this.campsiteSettings$.subscribe(e=>{e&&e.doorLocksModuleActivated&&this.tabs.push({label:"accommodations.tabs.door_locks",path:"doorlocks"})})}};
1n.\u0275fac=function(o){return new(o||n)(C(fi))},n.\u0275cmp=k({type:n,selectors:[["app-accommodations-home"]],decls:4,vars:0,consts:[["tabPanel",""],["rla","routerLinkActive"],[4,"transloco"],["mat-tab-nav-bar","",3,"tabPanel"],["mat-tab-link","","routerLinkActive","",3,"routerLink","active"]],template:function(o,s){o&1&&(h(0,wo,4,1,"ng-container",2),c(1,"mat-tab-nav-panel",null,0),p(3,"router-outlet"),r())},dependencies:[w,ri,ci,Be,Lt,li,Ve],encapsulation:2});let t=n;return t})();var Eo=t=>({name:t});function Io(t,n){if(t&1&&(c(0,"mat-chip-option",7),p(1,"i",10),m(2),r()),t&2){let i=n.$implicit,e=l(2);g("value",i.value),a(),Ie(Oe("fa-regular fa-",i.iconName)),a(),d(" ",i.i18n[e.activeLanguage]," ")}}function Mo(t,n){if(t&1&&(c(0,"mat-form-field")(1,"mat-label"),m(2),r(),p(3,"input",15),c(4,"span",14),m(5),r()()),t&2){let i=l(2).$implicit;a(2),_(i("accommodations.new.beds_label")),a(3),_(i("accommodations.new.beds_suffix"))}}function Do(t,n){if(t&1&&(c(0,"mat-form-field")(1,"mat-label"),m(2),r(),p(3,"input",11),c(4,"mat-hint"),m(5),r()(),u(6,Mo,6,2,"mat-form-field"),c(7,"mat-form-field")(8,"mat-label"),m(9),r(),p(10,"textarea",12),c(11,"mat-hint"),m(12),r()(),c(13,"mat-form-field")(14,"mat-label"),m(15),r(),p(16,"input",13),c(17,"span",14),m(18),r(),c(19,"mat-hint"),m(20),r()()),t&2){let i=l().$implicit,e=l();a(2),_(i("common.name")),a(3),_(i("accommodations.new.name_hint")),a(),f(e.accomIsHousing()?6:-1),a(3),_(i("common.description")),a(3),_(i("accommodations.new.description_hint")),a(3),_(i("accommodations.new.units_label")),a(3),_(i("accommodations.new.units_suffix")),a(2),d(" ",i("accommodations.new.units_hint",j(8,Eo,e.form.value.name))," ")}}function Oo(t,n){if(t&1){let i=E();x(0),c(1,"div",1)(2,"h2",2),m(3),r(),c(4,"button",3),b("click",function(){S(i);let o=l();return y(o.cancel())}),p(5,"i",4),r()(),c(6,"mat-dialog-content")(7,"form",5)(8,"mat-chip-listbox",6),L(9,Io,3,5,"mat-chip-option",7,G),I(11,"async"),r(),u(12,Do,21,10),r()(),c(13,"mat-dialog-actions")(14,"button",8),b("click",function(){S(i);let o=l();return y(o.cancel())}),m(15),r(),c(16,"button",9),b("click",function(){S(i);let o=l();return y(o.save())}),m(17),r()(),v()}if(t&2){let i=n.$implicit,e=l();a(3),d(" ",i("accommodations.new.title")," "),a(4),g("formGroup",e.form),a(2),P(M(11,6,e.accommodationTypes$)),a(3),f(e.form.value.campType?12:-1),a(3),d(" ",i("common.cancel")," "),a(),g("disabled",e.form.invalid),a(),d(" ",i("common.save")," ")}}var ht=(()=>{let n=class n{constructor(e,o,s,T){this.fb=e,this.translocoService=o,this.staticDataService=s,this.dialogRef=T,this.activeLanguage=this.translocoService.getActiveLang(),this.initForm(),this.accommodationTypes$=this.staticDataService.campTypesCollectionForAccommodation$,this.staticDataService.getCampTypesForAccommodation()}ngOnDestroy(){this.subCampTypeChanges.unsubscribe()}initForm(){this.form=this.fb.group({campType:["",[O.required]],name:["",[O.required]],description:["",[O.required]],beds:["",[O.required,O.min(1)]],unitCount:["",[O.required,O.min(1),O.max(200)]]}),this.subCampTypeChanges=this.form.get("campType").valueChanges.subscribe(e=>this.checkCampType(e))}checkCampType(e){he(e)?(this.form.get("beds").enable(),this.form.get("maxlength").disable()):(this.form.get("beds").disable(),this.form.get("maxlength").enable())}accomIsHousing(){return he(this.form.get("campType").value)}accomIsCamperPitch(){return Ze(this.form.get("campType").value)}cancel(){this.dialogRef.close()}save(){if(this.form.invalid){this.form.markAllAsTouched();return}this.dialogRef.close(this.form.value)}};n.\u0275fac=function(o){return new(o||n)(C(Vt),C(je),C(Ci),C(Kt))},n.\u0275cmp=k({type:n,selectors:[["app-create-accommodation-dialog"]],decls:1,vars:0,consts:[[4,"transloco"],[2,"display","flex","justify-content","space-between"],["mat-dialog-title",""],["mat-icon-button","",3,"click"],[1,"far","fa-xs","fa-times"],["autocomplete","off",1,"form",3,"formGroup"],["formControlName","campType",2,"margin-bottom","2rem"],[3,"value"],["mat-button","",3,"click"],["mat-flat-button","","type","submit","color","primary",3,"click","disabled"],[2,"margin-right","0.1rem"],["type","text","matInput","","formControlName","name"],["type","text","matInput","","rows","4","formControlName","description"],["type","number","matInput","","formControlName","unitCount","min","1","max","100"],["matTextSuffix",""],["type","number","matInput","","formControlName","beds","min","1","max","100"]],template:function(o,s){o&1&&h(0,Oo,18,8,"ng-container",0)},dependencies:[w,qt,lt,zt,Bt,$t,Ne,Ge,Pt,Ft,He,Ue,Nt,Rt,At,ti,Je,ct,Gt,ii,qe,ze,Qt,H,Y],encapsulation:2});let t=n;return t})();function Po(t,n){if(t&1){let i=E();c(0,"p")(1,"b"),m(2),r()(),c(3,"app-filter-chip",1),b("selectionChange",function(o){S(i);let s=l(2);return y(s.filtersChanged.emit(o))}),r()}if(t&2){let i=l().$implicit,e=l();a(2),_(i("accommodations.overview.filter_list_label")),a(),g("options",e.filters)}}function Fo(t,n){if(t&1&&(x(0),u(1,Po,4,2),v()),t&2){let i=l();a(),f(i.filters.length?1:-1)}}var Tt=(()=>{let n=class n{constructor(){this.filtersChanged=new tt,this.filters=[]}ngOnChanges(e){if(e?.accommodations?.currentValue){this.filters=[];for(let o of this.accommodations)this.filters.includes(o.campType)||(this.filters=[...this.filters,o.campType])}}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=k({type:n,selectors:[["app-overview-table-filters"]],inputs:{accommodations:"accommodations"},outputs:{filtersChanged:"filtersChanged"},features:[at],decls:1,vars:0,consts:[[4,"transloco"],[3,"selectionChange","options"]],template:function(o,s){o&1&&h(0,Fo,2,1,"ng-container",0)},dependencies:[w,vi],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0});let t=n;return t})();var Oi=t=>({text:t});function Ao(t,n){if(t&1&&(c(0,"th",18),m(1),r()),t&2){let i=l().$implicit;a(),_(i("common.name"))}}
1function Ro(t,n){if(t&1&&(c(0,"span"),p(1,"i",23),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i.numberOfBeds," ")}}function Vo(t,n){t&1&&(c(0,"span"),p(1,"i",24),r())}function Bo(t,n){t&1&&(c(0,"span"),p(1,"i",25),r())}function No(t,n){if(t&1&&(c(0,"span"),p(1,"i",26),m(2),r()),t&2){let i=l().$implicit;a(2),d(" ",i.camperMaxLength,"m ")}}function Go(t,n){if(t&1&&(c(0,"td",19)(1,"b"),m(2),r(),c(3,"div",20)(4,"span",21),p(5,"i",22),c(6,"b"),m(7),r()(),u(8,Ro,3,1,"span"),c(9,"span"),u(10,Vo,2,0,"span"),u(11,Bo,2,0,"span"),r(),u(12,No,3,1,"span"),r()()),t&2){let i=n.$implicit,e=l(2);a(2),_(i.name),a(5),_(i.units.length),a(),f(i.numberOfBeds?8:-1),a(2),f(i.pitchType===e.PitchType.MOTORHOME||i.pitchType===e.PitchType.ALL?10:-1),a(),f(i.pitchType===e.PitchType.CARAVAN||i.pitchType===e.PitchType.ALL?11:-1),a(),f(i.camperMaxLength?12:-1)}}function Uo(t,n){if(t&1&&(c(0,"th",27),m(1),r()),t&2){let i=l().$implicit;a(),_(i("common.prices"))}}function Ho(t,n){if(t&1&&(c(0,"td",28),wt(1,29),r()),t&2){let i=n.$implicit,e=l(2),o=W(2),s=W(4);a(),g("ngTemplateOutlet",e.ratePlanService.getRatePlanCountForAccommodation(i.id)?o:s)("ngTemplateOutletContext",j(2,Oi,e.ratePlanService.getRatePlanCountForAccommodation(i.id)))}}function jo(t,n){if(t&1&&(c(0,"th",27),m(1),r()),t&2){let i=l().$implicit;a(),_(i("common.images"))}}function Ko(t,n){if(t&1&&(c(0,"td",28),wt(1,29),r()),t&2){let i=n.$implicit;l(2);let e=W(2),o=W(4);a(),g("ngTemplateOutlet",i.mediaRefs.length?e:o)("ngTemplateOutletContext",j(2,Oi,i.mediaRefs.length))}}function qo(t,n){if(t&1&&(c(0,"th",27),m(1),r()),t&2){let i=l().$implicit;a(),_(i("accommodations.overview.table.headers.online_booking"))}}function zo(t,n){if(t&1){let i=E();c(0,"td",30),b("click",function(o){return o.stopPropagation()}),c(1,"mat-slide-toggle",31),b("click",function(o){return o.stopPropagation()})("change",function(o){let s=S(i).$implicit,T=l(2);return o.source.checked=s.active,y(T.toggleActive.emit({accommodation:s,active:o.checked}))}),r()()}if(t&2){let i=n.$implicit,e=l(2);a(),g("checked",i.active)("disabled",e.pending.has(i.id))}}function Qo(t,n){if(t&1&&(c(0,"th",27),m(1),r()),t&2){let i=l().$implicit;a(),_(i("accommodations.overview.table.headers.booking_map"))}}function Wo(t,n){if(t&1&&(c(0,"td",28),wt(1,32),r()),t&2){let i=n.$implicit,e=l(2),o=W(2),s=W(4);a(),g("ngTemplateOutlet",e.isAccommodationMapActive(i)?o:s)}}function Yo(t,n){t&1&&p(0,"tr",33)}function Xo(t,n){if(t&1){let i=E();c(0,"tr",34),b("click",function(){let o=S(i).$implicit,s=l(2);return y(s.onRowClick(o))}),r()}if(t&2){let i=n.$implicit;g("matTooltip",De(i.name))}}function Zo(t,n){if(t&1&&(x(0),c(1,"div",4)(2,"table",5,2),x(4,6),h(5,Ao,2,1,"th",7)(6,Go,13,6,"td",8),v(),x(7,9),h(8,Uo,2,1,"th",10)(9,Ho,2,4,"td",11),v(),x(10,12),h(11,jo,2,1,"th",10)(12,Ko,2,4,"td",11),v(),x(13,13),h(14,qo,2,1,"th",10)(15,zo,2,2,"td",14),v(),x(16,15),h(17,Qo,2,1,"th",10)(18,Wo,2,1,"td",11),v(),h(19,Yo,1,0,"tr",16)(20,Xo,1,2,"tr",17),r()(),v()),t&2){let i=l();a(2),g("dataSource",i.dataSource),a(17),g("matHeaderRowDef",i.displayedColumns),a(),g("matRowDefColumns",i.displayedColumns)}}function Jo(t,n){if(t&1&&(c(0,"span",35),p(1,"i",36),m(2),r()),t&2){let i=n.text;a(2),_(i)}}function ta(t,n){if(t&1&&(c(0,"span",35),p(1,"i",37),m(2),r()),t&2){let i=n.text;a(2),_(i)}}var St=(()=>{let n=class n{constructor(e,o){this.router=e,this.ratePlanService=o,this.units=[],this.pending=new Set,this.toggleActive=new tt,this.PitchType=Xe,this.dataSource=new it([]),this.displayedColumns=["name","pricing","images","active","bookingMap"]}ngOnChanges(e){e?.accommodations?.currentValue&&(this.dataSource=new it(this.accommodations),this.dataSource.sort=this.sort),e?.filters?.currentValue&&this._filterAccommodationsList()}ngAfterViewInit(){this.dataSource.sort=this.sort}_filterAccommodationsList(){this.accommodations&&(this.filters.length?this.dataSource=new it(this.accommodations.filter(e=>this.filters.includes(e.campType.toUpperCase()))):this.dataSource=new it(this.accommodations),this.dataSource.sort=this.sort)}isAccommodationMapActive(e){let o=!0,s=this.units?.filter(T=>T.accommodationId===e.id)||[];for(let T of s)if(!T.location){o=!1;break}return!!e.mapZone||o}onRowClick(e){this.router.navigate(["/dashboard/accommodation-detail
1s",e.id])}};n.\u0275fac=function(o){return new(o||n)(C(rt),C(_i))},n.\u0275cmp=k({type:n,selectors:[["app-overview-table"]],viewQuery:function(o,s){if(o&1&&Et(mt,5),o&2){let T;It(T=Mt())&&(s.sort=T.first)}},inputs:{accommodations:"accommodations",filters:"filters",units:"units",pending:"pending"},outputs:{toggleActive:"toggleActive"},features:[at],decls:5,vars:0,consts:[["success",""],["fail",""],["accomSort","matSort"],[4,"transloco"],[1,"table-responsive"],["mat-table","","matSort","",2,"width","100%","overflow","hidden",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","style","max-width: 14rem",4,"matCellDef"],["matColumnDef","pricing"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","images"],["matColumnDef","active"],["mat-cell","",3,"click",4,"matCellDef"],["matColumnDef","bookingMap"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","","matTooltipPosition","after","matTooltipShowDelay","500",3,"matTooltip","click",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",2,"max-width","14rem"],[2,"display","flex","gap","1rem","font-size","small","padding-top","0.5rem"],[2,"background-color","#eee","border-radius","4px","padding","0 3px"],[1,"far","fa-times"],[1,"fal","fa-bed"],[1,"fal","fa-rv"],[1,"fal","fa-caravan"],[1,"far","fa-arrows-left-right"],["mat-header-cell",""],["mat-cell",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["mat-cell","",3,"click"],[3,"click","change","checked","disabled"],[3,"ngTemplateOutlet"],["mat-header-row",""],["mat-row","","matTooltipPosition","after","matTooltipShowDelay","500",3,"click","matTooltip"],[1,"status"],[1,"far","fa-check-circle","success"],[1,"far","fa-times-circle","danger"]],template:function(o,s){o&1&&h(0,Zo,21,3,"ng-container",3)(1,Jo,3,1,"ng-template",null,0,ut)(3,ta,3,1,"ng-template",null,1,ut)},dependencies:[w,Yt,mt,Jt,Zt,te,Wt,Xt,ee,Pe,ie,oe,ne,ae,Qe,oi],styles:["[_nghost-%COMP%]{display:block}.status[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.25rem}"],changeDetection:0});let t=n;return t})();function ia(t,n){t&1&&(c(0,"div",5),p(1,"mat-progress-bar",6),r())}function na(t,n){if(t&1){let i=E();c(0,"app-overview-table-filters",8),b("filtersChanged",function(o){S(i);let s=l(3);return y(s.filters=o)}),r(),c(1,"app-overview-table",9),I(2,"async"),b("toggleActive",function(o){S(i);let s=l(3);return y(s.onToggleActive(o))}),r()}if(t&2){let i=l(),e=l(2);g("accommodations",i),a(),g("accommodations",i)("filters",e.filters)("units",M(2,5,e.units$))("pending",e.pending)}}function oa(t,n){if(t&1&&(c(0,"div",7),p(1,"i",10),m(2),r()),t&2){let i=l(2).$implicit;a(2),d(" ",i("accommodations.overview.no_accommodation")," ")}}function aa(t,n){t&1&&(c(0,"mat-card-content"),u(1,na,3,7)(2,oa,3,1,"div",7),r()),t&2&&(a(),f(n.length?1:2))}function ra(t,n){t&1&&p(0,"app-loading")}function ca(t,n){if(t&1){let i=E();x(0),c(1,"div",1)(2,"div",2)(3,"mat-card")(4,"mat-card-header")(5,"mat-card-title"),m(6),r(),c(7,"button",3),b("click",function(){S(i);let o=l();return y(o.createAccommodation())}),p(8,"i",4),m(9),r()(),u(10,ia,2,0,"div",5),I(11,"async"),u(12,aa,3,1,"mat-card-content"),I(13,"async"),u(14,ra,1,0,"app-loading"),r()()(),v()}if(t&2){let i,e=n.$implicit,o=l();a(6),d(" ",e("accommodations.overview.title")," "),a(3),d(" ",e("common.add_new")," "),a(),f(M(11,5,o.accommodations$)===null?10:-1),a(2),f((i=M(13,7,o.accommodations$))?12:-1,i),a(2),f(o.loadingNewAccommodation?14:-1)}}var Ce=(()=>{let n=class n{constructor(e,o,s,T,V,J,ge){this.campsiteService=e,this.databaseService=o,this.unitService=s,this.accommodationActivation=T,this.dialog=V,this.snackBar=J,this.router=ge,this.accommodations$=new be(null),this.loadingNewAccommodation=!1,this.filters=[],this.pending=new Set}ngOnInit(){this._getAccommodations(),this._getUnits()}createAccommodation(){this.dialog.open(ht,B({},U(B({},X),{width:ft.LARGE}))).afterClosed().subscribe(o=>Q(this,null,function*(){console.log(o),o&&(this.loadingNewAccommodation=!0,yield this.databaseService.createAccommodation(o).then(s=>{this.loadingNewAccommodation=!1,this.router.navigate([`/dashboard/accommodation-detail
1s/${s.id}`])}).catch(s=>{this.loadingNewAccommodation=!1,this.snackBar.open(D("common.error_message"),D("common.ok"),{duration:5e3,panelClass:["mat-toolbar","mat-warn"]})}))}))}_getAccommodations(){this.databaseService.getAllAccommodations("").then(e=>this.accommodations$.next(e.filter(o=>o.campType!==Ye.ACTIVITY))).catch(e=>console.log("ACCOMMODATION OVERVIEW | GET ACCOMMODATIONS",e))}_getUnits(){this.units$=yt(this.unitService.getAllCampsiteUnits(this.campsiteService.campsiteId))}onToggleActive(e){return Q(this,null,function*(){let{accommodation:o,active:s}=e;if(!this.pending.has(o.id)){this.pending=new Set(this.pending).add(o.id);try{let T=yield this.accommodationActivation.setActive(o,s);if(T===null)return;this.accommodations$.next((this.accommodations$.value??[]).map(V=>V.id===o.id?U(B({},V),{active:T}):V))}finally{let T=new Set(this.pending);T.delete(o.id),this.pending=T}}})}};n.\u0275fac=function(o){return new(o||n)(C(q),C(z),C(re),C(Mi),C(K),C(ai),C(rt))},n.\u0275cmp=k({type:n,selectors:[["ng-component"]],decls:1,vars:0,consts:[[4,"transloco"],[1,"row"],[1,"column"],["mat-flat-button","","color","primary",3,"click"],[1,"fal","fa-plus"],[2,"margin","20px 0"],["mode","indeterminate"],[1,"alert","alert-info",2,"margin","20px 0"],[3,"filtersChanged","accommodations"],[3,"toggleActive","accommodations","filters","units","pending"],[1,"fal","fa-info-circle"]],template:function(o,s){o&1&&h(0,ca,15,9,"ng-container",0)},dependencies:[w,F,R,$,H,ni,A,Tt,St,gi,Y],styles:[".column[_ngcontent-%COMP%]{width:75%}mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}app-overview-table-filters[_ngcontent-%COMP%]{margin-bottom:1rem}@media screen and (max-width:75em){.column[_ngcontent-%COMP%]{width:100%}}"]});let t=n;return t})();var Li=[me,se,de,_e,ue,fe,Ce,pe];var la=[{path:"",component:fe,children:[{path:"",pathMatch:"prefix",redirectTo:"overview"},{path:"overview",component:Ce},{path:"extras",component:_e},{path:"cancellation-policy",component:se},{path:"hours",component:de},{path:"additional-guests",component:ue},{path:"booking-message",component:me},{path:"doorlocks",component:pe}]}],Pi=(()=>{let n=class n{};n.\u0275fac=function(o){return new(o||n)},n.\u0275mod=kt({type:n}),n.\u0275inj=bt({imports:[ve.forChild(la),ve]});let t=n;return t})();var Vl=(()=>{let n=class n{};n.\u0275fac=function(o){return new(o||n)},n.\u0275mod=kt({type:n}),n.\u0275inj=bt({imports:[Re,Pi,Ke,Ii,Li,vt,St,Tt,ht,xt,Ct,gt]});let t=n;return t})();export{Vl as AccommodationsModule};
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.