@rero/rero-ils-ui
Version:
User interface for RERO integrated library system (RERO ILS).
1 lines • 65.6 kB
JavaScript
import{a as ei,b as $}from"./chunk-MAD6C6E7.js";import{a as Q,b as Xt}from"./chunk-WR3XEEDV.js";import{a as Je,b as Qe,c as Ye,d as Ze}from"./chunk-7GSCO6KD.js";import{a as lt,b as dt}from"./chunk-FCC5WNRC.js";import{a as rt}from"./chunk-BR2J44KJ.js";import{a as Kt}from"./chunk-CGU6MK6Q.js";import{a as Zt}from"./chunk-YPYXWXW4.js";import{R as We,j as se,k as Yt}from"./chunk-4GRLSOJZ.js";import{c as Ue}from"./chunk-WOV5KKTV.js";import{Aa as it,Da as He,Eb as at,Ga as ee,Ha as jt,J as Pe,Ja as nt,Jb as Ut,L as Ft,O as It,Oa as zt,P as Vt,T as Re,Ta as ot,U as $e,Ua as Ht,Ub as Wt,Wa as de,Z as k,_ as At,a as O,ba as kt,ca as Nt,da as Bt,ea as Ot,fa as Ge,fc as Jt,hc as Qt,ia as je,m as St,ma as ze,n as bt,o as Te,oa as qt,p as Et,pa as Mt,qa as Pt,r as Dt,ra as Rt,sa as $t,za as Gt}from"./chunk-MTJX6JRK.js";import{a as H,b as U,c as A}from"./chunk-GQ5FIRIY.js";import{c as Ee,k as P}from"./chunk-4A4J5SA3.js";import{C as qe,b as De,c as g,e as Le,f as we,m as Fe,q as Ie,r as Ve,s as Ae,t as ke,u as Tt,w as Ne,x as Be,y as Oe}from"./chunk-L5BLWZD6.js";import{W as Lt,la as wt,ma as X}from"./chunk-4MYHQLZQ.js";import{g as Me}from"./chunk-AK7G7SIT.js";import{ta as ht}from"./chunk-FRI676LD.js";import{W as z,ga as Se,ja as be}from"./chunk-WKOKZ3JO.js";import{$b as D,Aa as ie,B as _t,Bb as fe,Ca as ne,Cc as B,Db as Ct,Eb as G,Ec as oe,Gc as Ce,H as te,Hc as d,Ic as S,J as me,Jc as x,Kc as ae,Lc as xt,Mc as ge,Nc as ve,O as ue,Oc as xe,R as tt,Sc as K,Tc as ye,Vb as s,Vc as he,Wc as re,X as Y,Xb as c,Xc as R,Yb as L,Yc as w,Z,_b as T,ac as u,bb as ft,bc as n,cc as o,da as _e,dc as m,dd as f,ed as C,fd as le,gb as a,ia as v,j as ce,jc as M,jd as j,kc as I,oa as b,p as pe,pa as E,pd as N,r as mt,rc as y,sc as _,tc as gt,uc as vt,ud as yt,v as ut,vd as V,yb as F}from"./chunk-3WD6XLXL.js";var ui=t=>[t],ti=(()=>{class t{constructor(){this.record=V(),this.type=V(),this.detailUrl=V()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["admin-libraries-brief-view"]],inputs:{record:[1,"record"],type:[1,"type"],detailUrl:[1,"detailUrl"]},decls:5,vars:5,consts:[[3,"routerLink"]],template:function(i,r){i&1&&(n(0,"h5")(1,"a",0),d(2),o()(),n(3,"small"),d(4),o()),i&2&&(a(),u("routerLink",R(3,ui,r.detailUrl().link)),a(),S(r.record().metadata.name),a(2),x(" ",r.record().metadata.code))},dependencies:[X],encapsulation:2,changeDetection:0})}}return t})();var Ke=(()=>{class t{constructor(){this.translateService=v(H)}transform(e){return this.translateService.instant("country_"+e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=fe({name:"countryCodeTranslate",type:t,pure:!0})}}return t})();var ii=(()=>{class t{constructor(){this.fb=v(Ne),this.build()}build(){let e=O.now().toJSDate();this.form=this.fb.group({title:["",[g.required]],date:[e,[g.required]],dates:[[e,e],[g.required]],is_period:[!1,[g.required]],is_open:[!1,[g.required]],times:this.fb.array([]),repeat:[!1],interval:[null],period:[null],data:this.fb.array([])},{validators:[ee.RangePeriodValidator()]})}buildTimes(e="00:00",i="00:00"){return this.fb.group({start_time:[e,{validators:[g.required,g.pattern("^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$")],updateOn:"blur"}],end_time:[i,{validators:[g.required,g.pattern("^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$")],updateOn:"blur"}]},{validators:ee.greaterThanValidator("start_time","end_time")})}buildRepeat(){return this.fb.group({interval:["",[g.required]],period:["",[g.required]],data:[""]})}populate(e){this.form.get("title").setValue(e.title),e.end_date?(this.form.get("is_period").setValue(!0),this.form.get("dates").setValue([O.fromISO(e.start_date).toJSDate(),O.fromISO(e.end_date).toJSDate()])):this.form.get("date").setValue(O.fromISO(e.start_date).toJSDate()),this.form.get("is_open").setValue(e.is_open),e.times&&e.times.forEach(i=>{this.form.get("times").push(this.buildTimes(i.start_time,i.end_time))}),e.repeat&&(this.form.get("repeat").setValue(!0),this.form.get("period").setValue(e.repeat.period),this.form.get("interval").setValue(e.repeat.interval))}getValue(){return this.formatDateException(this.form.value)}formatDateException(e){let i={title:e.title,is_open:e.is_open};return e.is_period?(i.start_date=O.fromJSDate(e.dates[0]).toISODate(),i.end_date=O.fromJSDate(e.dates[1]).toISODate()):i.start_date=O.fromJSDate(e.date).toISODate(),e.times.length>0&&(i.times=e.times),e.repeat&&(i.repeat={interval:e.interval,period:e.period}),i}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=_e({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function fi(t,l){t&1&&(n(0,"div",21),d(1,"Title is required."),o())}function Ci(t,l){if(t&1&&(n(0,"div",5),s(1,fi,2,0,"div",21),o()),t&2){let e,i=_();a(),c((e=i.formService.form.get("title").errors)!=null&&e.required?1:-1)}}function gi(t,l){t&1&&(n(0,"div",21),d(1,"Date is required."),o())}function vi(t,l){t&1&&(n(0,"div",21),d(1,"Date is invalid."),o())}function xi(t,l){if(t&1&&(n(0,"div",5),s(1,gi,2,0,"div",21),s(2,vi,2,0,"div",21),o()),t&2){let e,i,r=_(2);a(),c((e=r.formService.form.get("date").errors)!=null&&e.required?1:-1),a(),c((i=r.formService.form.get("date").errors)!=null&&i.bsDate&&((i=r.formService.form.get("date").errors)!=null&&i.bsDate.invalid)?2:-1)}}function yi(t,l){if(t&1&&(n(0,"label",22),d(1),f(2,"translate"),o(),n(3,"div",3),m(4,"p-datepicker",23),s(5,xi,3,2,"div",5),o()),t&2){let e=_();a(),x(" ",C(2,4,"Date"),"\xA0* "),a(3),u("readonlyInput",!1)("showIcon",!0),a(),c(e.formService.form.get("date").invalid&&(e.formService.form.get("date").dirty||e.formService.form.get("date").touched)?5:-1)}}function hi(t,l){t&1&&(n(0,"div",21),d(1,"Date range is required."),o())}function Si(t,l){t&1&&(n(0,"div",21),d(1,"Date range is invalid."),o())}function bi(t,l){if(t&1&&(n(0,"div",5),s(1,hi,2,0,"div",21),s(2,Si,2,0,"div",21),o()),t&2){let e,i,r=_(2);a(),c((e=r.formService.form.get("dates").errors)!=null&&e.required?1:-1),a(),c((i=r.formService.form.get("dates").errors)!=null&&i.bsDate&&((i=r.formService.form.get("dates").errors)!=null&&i.bsDate.invalid)?2:-1)}}function Ei(t,l){if(t&1&&(n(0,"label",22),d(1),f(2,"translate"),o(),n(3,"div",3),m(4,"p-datepicker",24),s(5,bi,3,2,"div",5),o()),t&2){let e=_();a(),x(" ",C(2,5,"Dates"),"\xA0* "),a(3),u("readonlyInput",!1)("numberOfMonths",2)("showIcon",!0),a(),c(e.formService.form.get("dates").invalid&&(e.formService.form.get("dates").dirty||e.formService.form.get("dates").touched)?5:-1)}}function Ti(t,l){t&1&&(n(0,"em",11),d(1,"Change the default opening hours for this day"),o())}function Di(t,l){t&1&&(n(0,"em",11),d(1,"Change the default closing hours for this day"),o())}function Li(t,l){if(t&1){let e=I();n(0,"p-button",25),f(1,"translate"),y("onClick",function(){b(e);let r=_();return E(r.addTime())}),o()}t&2&&u("label",C(1,1,"period"))}function wi(t,l){if(t&1){let e=I();n(0,"p-button",34),y("onClick",function(){b(e);let r=_(2);return E(r.addTime())}),o()}}function Fi(t,l){t&1&&(n(0,"div",21),d(1,"Start time is required."),o())}function Ii(t,l){t&1&&(n(0,"div",21),d(1,"Start time format is not correct."),o())}function Vi(t,l){if(t&1&&(n(0,"div",5),s(1,Fi,2,0,"div",21),s(2,Ii,2,0,"div",21),o()),t&2){let e=_().$implicit;a(),c(e.controls.start_time.errors.required?1:-1),a(),c(e.controls.start_time.errors.pattern?2:-1)}}function Ai(t,l){t&1&&(n(0,"div",21),d(1,"End time is required."),o())}function ki(t,l){t&1&&(n(0,"div",21),d(1,"End time format is not correct."),o())}function Ni(t,l){if(t&1&&(n(0,"div",5),s(1,Ai,2,0,"div",21),s(2,ki,2,0,"div",21),o()),t&2){let e=_().$implicit;a(),c(e.controls.end_time.errors.required?1:-1),a(),c(e.controls.end_time.errors.pattern?2:-1)}}function Bi(t,l){t&1&&(n(0,"div",21),d(1,"End time is less than start time."),o())}function Oi(t,l){if(t&1&&(n(0,"div",5),s(1,Bi,2,0,"div",21),o()),t&2){let e=_().$implicit;a(),c(e.errors&&e.errors.lessThan?1:-1)}}function qi(t,l){if(t&1){let e=I();n(0,"li",14)(1,"div",26)(2,"div",27)(3,"div",28),m(4,"input",29),o(),n(5,"div",28),m(6,"input",30),o(),n(7,"div",31),s(8,wi,1,0,"p-button",32),n(9,"p-button",33),y("onClick",function(){let r=b(e).$index,p=_();return E(p.deleteTime(r))}),o()()(),s(10,Vi,3,2,"div",5),s(11,Ni,3,2,"div",5),s(12,Oi,2,1,"div",5),o()()}if(t&2){let e=l.$implicit,i=l.$index,r=_();a(),u("formGroupName",i),a(7),c(r.times.length===1?8:-1),a(2),c(e.controls.start_time.invalid&&(e.controls.start_time.dirty||e.controls.start_time.touched)?10:-1),a(),c(e.controls.end_time.invalid&&(e.controls.end_time.dirty||e.controls.end_time.touched)?11:-1),a(),c(e.invalid&&(e.dirty||e.touched)?12:-1)}}function Mi(t,l){t&1&&(n(0,"div",21),d(1,"The two periods are overlapping."),o())}function Pi(t,l){if(t&1&&(n(0,"div",5),s(1,Mi,2,0,"div",21),o()),t&2){let e=_();a(),c(e.formService.form.errors&&e.formService.form.errors.rangeLessThan?1:-1)}}function Ri(t,l){t&1&&(n(0,"div",21),d(1,"Interval is required."),o())}function $i(t,l){t&1&&(n(0,"div",21),d(1,"Interval must greater than 0."),o())}function Gi(t,l){t&1&&(n(0,"div",21),d(1,"Integer only."),o())}function ji(t,l){if(t&1&&(n(0,"div",5),s(1,Ri,2,0,"div",21),s(2,$i,2,0,"div",21),s(3,Gi,2,0,"div",21),o()),t&2){let e,i,r,p=_(2);a(),c((e=p.formService.form.get("interval").errors)!=null&&e.required?1:-1),a(),c((i=p.formService.form.get("interval").errors)!=null&&i.min?2:-1),a(),c((r=p.formService.form.get("interval").errors)!=null&&r.pattern&&!((r=p.formService.form.get("interval").errors)!=null&&r.min)?3:-1)}}function zi(t,l){if(t&1&&(n(0,"div",17)(1,"label",35)(2,"span",21),d(3,"Repeat each"),o(),d(4,"\xA0*"),o(),n(5,"div",36),m(6,"p-inputNumber",37)(7,"p-select",38),o(),s(8,ji,4,3,"div",5),o()),t&2){let e=_();a(6),u("showButtons",!0)("min",1)("step",1),a(),u("options",e.periods),a(),c(e.formService.form.get("interval").invalid&&(e.formService.form.get("interval").dirty||e.formService.form.get("interval").touched)?8:-1)}}var Xe=(()=>{class t{constructor(){this.dynamicDialogConfig=v(St),this.dynamicDialogRef=v(bt),this.formService=v(ii),this.translateService=v(H),this.isSending=ie(!1),this.periods=[{label:this.translateService.instant("week"),value:"weekly"},{label:this.translateService.instant("month"),value:"monthly"},{label:this.translateService.instant("year"),value:"yearly"}]}ngOnInit(){let{exceptionDate:e}=this.dynamicDialogConfig.data;e&&this.formService.populate(e)}ngOnDestroy(){this.dynamicDialogRef.destroy()}onSubmit(){this.isSending()||(this.isSending.set(!0),this.dynamicDialogRef.close(this.formService.getValue()))}cancel(){this.dynamicDialogRef.close()}get times(){return this.formService.form.get("times")}onPeriodChange(e){let r=e.target.value==="true";this.formService.form.get("is_period").setValue(r),r&&(this.times.clear(),this.formService.form.get("is_open").setValue(!1))}onDateStatusChange(e){let r=e.target.value==="true";this.formService.form.get("is_open").setValue(r)}onRepeatChange(e){let i=this.formService.form.get("interval"),r=this.formService.form.get("period");e.checked?(i.setValue(1),i.setValidators([g.required,g.min(1),g.pattern("^[0-9]*$")]),r.setValue("yearly")):(i.clearValidators(),i.setValue(null),r.setValue(null))}addTime(){this.times.push(this.formService.buildTimes())}deleteTime(e){this.times.removeAt(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["admin-libraries-exception-dates-edit"]],decls:44,vars:44,consts:[[2,"max-width","50vw",3,"ngSubmit","formGroup"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:flex"],["for","title",1,"ui:col-span-2"],[1,"ui:col-span-10"],["pInputText","","fluid","true","formControlName","title",3,"placeholder"],[1,"text-error"],[1,"ui:col-span-10","ui:col-start-3"],["type","radio","name","day","value","false",3,"change","checked"],["type","radio","name","period","value","true",3,"change","checked"],["type","radio","name","date-status","value","false",3,"change","checked"],["type","radio","name","date-status","value","true",3,"change","checked"],["translate","",1,"ui:block","ui:mt-2"],["size","small","outlined","","icon","fa fa-plus-square-o",3,"label"],[1,"ui:list-none"],["formArrayName","times",1,"ui:mb-1"],[1,"ui:col-span-2","ui:flex","ui:gap-2","ui:items-center"],["formControlName","repeat","id","repeat",3,"onChange"],[1,"ui:col-span-10","ui:flex","ui:gap-2","ui:items-center"],[1,"ui:flex","ui:gap-1","ui:justify-end","ui:mt-3"],["severity","danger",3,"onClick","label","outlined"],["type","submit",3,"onClick","label","disabled"],["translate",""],["for","date",1,"ui:col-span-2"],["appendTo","body","dateFormat","dd.mm.yy","fluid","true","panelStyleClass","ui:!min-w-0","formControlName","date",3,"readonlyInput","showIcon"],["fluid","true","dateFormat","dd.mm.yy","panelStyleClass","ui:!min-w-0","appendTo","body","formControlName","dates","selectionMode","range",3,"readonlyInput","numberOfMonths","showIcon"],["size","small","outlined","","icon","fa fa-plus-square-o",3,"onClick","label"],[3,"formGroupName"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4"],[1,"ui:col-span-5"],["pInputText","","formControlName","start_time",1,"ui:w-full"],["pInputText","","formControlName","end_time",1,"ui:w-full"],[1,"ui:col-span-2"],["text","","severity","secondary","size","small","icon","fa fa-clone"],["text","","severity","secondary","size","small","icon","fa fa-trash",3,"onClick"],["text","","severity","secondary","size","small","icon","fa fa-clone",3,"onClick"],["for","interval"],[1,"ui:flex","ui:gap-2"],["formControlName","interval",3,"showButtons","min","step"],["appendTo","body","formControlName","period",3,"options"]],template:function(i,r){i&1&&(n(0,"form",0),y("ngSubmit",function(){return r.onSubmit()}),n(1,"div",1)(2,"label",2),d(3),f(4,"translate"),o(),n(5,"div",3),m(6,"input",4),f(7,"translate"),s(8,Ci,2,1,"div",5),o(),n(9,"div",6)(10,"input",7),y("change",function(h){return r.onPeriodChange(h)}),o(),d(11),f(12,"translate"),n(13,"input",8),y("change",function(h){return r.onPeriodChange(h)}),o(),d(14),f(15,"translate"),o(),s(16,yi,6,6),s(17,Ei,6,7),n(18,"div",6)(19,"input",9),y("change",function(h){return r.onDateStatusChange(h)}),o(),d(20),f(21,"translate"),n(22,"input",10),y("change",function(h){return r.onDateStatusChange(h)}),o(),d(23),f(24,"translate"),s(25,Ti,2,0,"em",11),s(26,Di,2,0,"em",11),o(),n(27,"div",6),s(28,Li,2,3,"p-button",12),n(29,"ul",13),T(30,qi,13,5,"li",14,L),o(),s(32,Pi,2,1,"div",5),o(),n(33,"div",15)(34,"p-toggleswitch",16),y("onChange",function(h){return r.onRepeatChange(h)}),o(),d(35),f(36,"translate"),f(37,"titlecase"),o(),s(38,zi,9,5,"div",17),o(),n(39,"div",18)(40,"p-button",19),f(41,"translate"),y("onClick",function(){return r.cancel()}),o(),n(42,"p-button",20),f(43,"translate"),y("onClick",function(){return r.onSubmit()}),o()()()),i&2&&(u("formGroup",r.formService.form),a(3),x(" ",C(4,24,"Title"),"\xA0* "),a(3),u("placeholder",C(7,26,"Please insert a title")),a(2),c(r.formService.form.get("title").invalid&&(r.formService.form.get("title").dirty||r.formService.form.get("title").touched)?8:-1),a(2),u("checked",r.formService.form.get("is_period").value===!1),a(),x(" \xA0",C(12,28,"Day")," "),a(2),u("checked",r.formService.form.get("is_period").value===!0),a(),x(" \xA0",C(15,30,"Period")," "),a(2),c(r.formService.form.get("is_period").value?-1:16),a(),c(r.formService.form.get("is_period").value?17:-1),a(2),u("checked",r.formService.form.get("is_open").value===!1),a(),x(" \xA0",C(21,32,"Closed")," "),a(2),u("checked",r.formService.form.get("is_open").value===!0),a(),x(" \xA0",C(24,34,"Open")," "),a(2),c(r.formService.form.value&&r.formService.form.value.is_open?25:-1),a(),c(r.formService.form.value&&!r.formService.form.value.is_open?26:-1),a(2),c(r.times.length===0?28:-1),a(2),D(r.times.controls),a(2),c(r.formService.form.invalid&&(r.formService.form.dirty||r.formService.form.touched)?32:-1),a(3),x(" ",C(37,38,C(36,36,"Repetition"))," "),a(3),c(r.formService.form.get("repeat").value?38:-1),a(2),u("label",C(41,40,"Cancel"))("outlined",!0),a(2),u("label",C(43,42,"Save"))("disabled",r.formService.form.invalid||r.isSending()))},dependencies:[Be,Fe,De,Le,we,Oe,ke,Ae,Ie,Ve,qe,U,P,Re,je,Pe,Ft,be,A],encapsulation:2,changeDetection:0})}}return t})();var Hi=["*"],Ui=t=>({"ui:text-muted-color":t}),Wi=(t,l)=>({"fa-circle text-success":t,"fa-ban text-error":l});function Ji(t,l){if(t&1&&(m(0,"i",6),d(1),f(2,"dateTranslate")),t&2){let e=_(2);a(),x("\xA0",le(2,1,e.exception().end_date,"longDate")," ")}}function Qi(t,l){if(t&1&&(n(0,"div"),d(1),o()),t&2){let e=l.$implicit;a(),ae("",e.start_time," - ",e.end_time)}}function Yi(t,l){if(t&1&&T(0,Qi,2,2,"div",null,L),t&2){let e=_(2);D(e.exception().times)}}function Zi(t,l){if(t&1&&(m(0,"i",7),d(1),f(2,"translate")),t&2){let e,i=_(2);a(),ae("\xA0 ",C(2,2,(e=i.exception().repeat)==null?null:e.period),"=",(e=i.exception().repeat)==null?null:e.interval," ")}}function Ki(t,l){if(t&1&&(n(0,"div",0),m(1,"i",1),n(2,"div",2),d(3),f(4,"dateTranslate"),s(5,Ji,3,4),o(),n(6,"div",3),s(7,Yi,2,0),s(8,Zi,3,4),o(),n(9,"span",4),d(10),o(),n(11,"div",5),vt(12),o()()),t&2){let e=_();u("ngClass",R(10,Ui,e.isOver(e.exception()))),a(),u("ngClass",w(12,Wi,e.exception().is_open,!e.exception().is_open)),a(2),x(" ",le(4,7,e.exception().start_date,"longDate")," "),a(2),c(e.exception().end_date?5:-1),a(2),c(e.exception().times?7:-1),a(),c(e.exception().repeat?8:-1),a(2),S(e.exception().title)}}var et=(()=>{class t{constructor(){this.exception=V.required()}isOver(e){return $.isExceptionDateOver(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["admin-exception-date"]],inputs:{exception:[1,"exception"]},ngContentSelectors:Hi,decls:1,vars:1,consts:[[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:mx-2","ui:my-1",3,"ngClass"],["aria-hidden","true",1,"fa","ui:col-span-1",3,"ngClass"],[1,"ui:col-span-3"],[1,"ui:col-span-2"],[1,"ui:col-span-5"],[1,"ui:col-span-1"],[1,"fa","fa-long-arrow-right"],[1,"fa","fa-repeat"]],template:function(i,r){i&1&&(gt(),s(0,Ki,13,15,"div",0)),i&2&&c(r.exception()?0:-1)},dependencies:[z,A,Ut],encapsulation:2,changeDetection:0})}}return t})();var Xi={library:void 0,locations:[],exceptionDates:[],availableCommunicationLanguages:[],countryIsoCodes:[],rolloverAccountTransferOptions:[],notificationTypes:[],isLoading:!1,error:void 0,currentLibraryETag:void 0};function ni(t){return[...t].sort((l,e)=>O.fromISO(e.start_date).toMillis()-O.fromISO(l.start_date).toMillis())}var W=At(Ot(Xi),kt(t=>({isNewLibrary:N(()=>!t.library()?.pid),organisationPid:N(()=>t.library()?.organisation?.$ref?Gt(t.library().organisation.$ref):"")})),Bt((t,l=v(de))=>({loadLibrary:Ge(ce(te(Boolean),Z(()=>k(t,{isLoading:!0,error:void 0})),Y(e=>l.getRecordWithEtag("libraries",e).pipe(Z(({body:i,headers:r})=>{let p=new $(i.metadata);k(t,{library:p,exceptionDates:p.exception_dates??[],isLoading:!1,currentLibraryETag:r.get("ETag")??void 0})}),me(i=>(k(t,{error:String(i),isLoading:!1}),pe)))))),loadLocations:Ge(ce(te(Boolean),Z(()=>k(t,{isLoading:!0})),Y(e=>l.getRecords("locations",{query:`library.pid:${e}`,page:1,itemsPerPage:de.MAX_REST_RESULTS_SIZE,sort:"name"}).pipe(ut(i=>i.hits.hits||[]),Z(i=>k(t,{locations:i,isLoading:!1})),me(()=>(k(t,{isLoading:!1}),pe)))))),loadSchemas:Ge(ce(Y(()=>_t([l.getSchemaForm("libraries"),l.getSchemaForm("notifications")]).pipe(Z(([e,i])=>{let r=e.schema.properties,p=i.schema.properties.notification_type.enum.filter(h=>h!==Q.ACQUISITION_ORDER).filter(h=>h!==Q.CLAIM_ISSUE);k(t,{availableCommunicationLanguages:r.communication_language.enum??[],countryIsoCodes:r.acquisition_settings?.properties?.shipping_informations?.properties?.address?.properties?.country?.enum??[],rolloverAccountTransferOptions:r.rollover_settings?.properties?.account_transfer?.enum??[],notificationTypes:p})}),me(e=>(k(t,{error:String(e)}),pe)))))),setNewLibrary(){let e=new $({});k(t,{library:e,exceptionDates:[]})},addExceptionDate(e){k(t,{exceptionDates:ni([...t.exceptionDates(),e])})},updateExceptionDate(e,i){let r=[...t.exceptionDates()];r[e]=i,k(t,{exceptionDates:ni(r)})},deleteExceptionDate(e){let i=[...t.exceptionDates()];i.splice(e,1),k(t,{exceptionDates:i})},deleteLocation(e){t.locations().some(i=>i.metadata.pid===e)&&k(t,{locations:t.locations().filter(i=>i.metadata.pid!==e)})}})),Nt(t=>({onInit:()=>{t.loadSchemas()}})));function en(t,l){if(t&1){let e=I();n(0,"div",0)(1,"admin-exception-date",1)(2,"div",2)(3,"p-button",3),f(4,"translate"),y("onClick",function(){let r=b(e).$index,p=_(2);return E(p.editException(r))}),o(),n(5,"p-button",4),f(6,"translate"),y("onClick",function(){let r=b(e).$index,p=_(2);return E(p.deleteException(r))}),o()()()()}if(t&2){let e=l.$implicit;a(),u("exception",e),a(2),u("outlined",!0)("title",C(4,5,"Edit")),a(2),u("outlined",!0)("title",C(6,7,"Delete"))}}function tn(t,l){if(t&1&&T(0,en,7,9,"div",0,L),t&2){let e=_();D(e.exceptionDates())}}var oi=(()=>{class t{constructor(){this.dialogService=v(Te),this.translateService=v(H),this.libraryStore=v(W),this.exceptionDates=V([])}editException(e){this.dialogService.open(Xe,{header:this.translateService.instant("Exception"),modal:!0,width:"50vw",closable:!1,data:{exceptionDate:this.exceptionDates()[e]}})?.onClose.pipe(ue(1)).subscribe(r=>{r&&this.libraryStore.updateExceptionDate(e,r)})}deleteException(e){this.libraryStore.deleteExceptionDate(e)}isOver(e){return $.isExceptionDateOver(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["admin-libraries-exception-dates-list"]],inputs:{exceptionDates:[1,"exceptionDates"]},decls:1,vars:1,consts:[[1,"ui:odd:bg-surface-50"],[3,"exception"],[1,"ui:flex","ui:gap-1","ui:justify-end"],["severity","primary","size","small","icon","fa fa-pencil",3,"onClick","outlined","title"],["size","small","severity","danger","icon","fa fa-trash",3,"onClick","outlined","title"]],template:function(i,r){i&1&&s(0,tn,2,0),i&2&&c(r.exceptionDates()?0:-1)},dependencies:[et,P,A],encapsulation:2,changeDetection:0})}}return t})();var st=(()=>{class t{constructor(){this.fb=v(Ne),this.notificationTypes=[],this.accountDefaultTransferOption="rollover_no_transfer"}get name(){return this.form.get("name")}get address(){return this.form.get("address")}get email(){return this.form.get("email")}get code(){return this.form.get("code")}get opening_hours(){return this.form.get("opening_hours")}get notification_settings(){return this.form.get("notification_settings")}get communication_language(){return this.form.get("communication_language")}get rollover_settings(){return this.form.get("rollover_settings")}build(){this.form=this.fb.group({name:["",[g.required,g.minLength(4)]],address:["",g.minLength(4)],email:["",g.email],code:["",[g.required]],communication_language:["",g.required],opening_hours:this.fb.array([]),notification_settings:this.fb.array([]),acquisition_settings:this.fb.group({shipping_informations:this._buildAcqInformation(),billing_informations:this._buildAcqInformation()}),serial_acquisition_settings:this.fb.group({shipping_informations:this._buildAcqInformation(),billing_informations:this._buildAcqInformation()}),rollover_settings:this.fb.group({account_transfer:[this.accountDefaultTransferOption,[g.required]]})}),this._initializeOpeningHours(),this._initializeNotificationSettings()}populate(e){this.form.patchValue({name:e.name,address:e.address,email:e.email,code:e.code,communication_language:e.communication_language}),this._setOpeningHours(e.opening_hours),this._setNotificationSettings(e.notification_settings??[]),this._setAcquisitionSettings("acquisition_settings",e.acquisition_settings??null),this._setAcquisitionSettings("serial_acquisition_settings",e.serial_acquisition_settings??null),this._setRolloverSettings(e.rollover_settings)}getValues(){return this.form.value}addTime(e){this._getTimesByDayIndex(e).push(this._buildTimes())}deleteTime(e,i){this._getTimesByDayIndex(e).removeAt(i)}_initializeOpeningHours(e=[]){let i=Object.keys(ei),r=this.form.get("opening_hours");for(let p=0;p<7;p++)r.push(this._buildOpeningHours(!1,i[p],this.fb.array([])));this._setOpeningHours(e)}_setOpeningHours(e=[]){for(let i=0;i<7;i++){let r=this._getTimesByDayIndex(i),p=e[i];p!==void 0?p.times.length>0&&(r.removeAt(0),this.form.get("opening_hours").get(String(i)).get("is_open").setValue(p.is_open),p.times.forEach(J=>r.push(this._buildTimes(J.start_time,J.end_time)))):r.push(this._buildTimes("08:00","18:00"))}}_buildOpeningHours(e,i,r){return this.fb.group({is_open:[e],day:[i],times:r},{validators:[ee.RangePeriodValidator()]})}_buildTimes(e="00:01",i="23:59"){let r="^(?!(0:00)|(00:00)$)([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$";return this.fb.group({start_time:[e,{validators:[g.required,g.pattern(r)]}],end_time:[i,{validators:[g.required,g.pattern(r)]}]},{validators:ee.greaterThanValidator("start_time","end_time")})}_getTimesByDayIndex(e){return this.form.get("opening_hours").get(String(e)).get("times")}_buildAcqInformation(){return this.fb.group({name:["",g.minLength(3)],email:["",g.email],phone:["",g.minLength(6)],address:this.fb.group({street:["",g.minLength(3)],zip_code:["",g.minLength(3)],city:["",g.minLength(2)],country:["",g.minLength(2)]}),extra:["",g.minLength(3)]})}_setAcquisitionSettings(e,i){i!=null&&["shipping_informations","billing_informations"].forEach(p=>{Object.hasOwn(i,p)&&this._setAcquisitionInformation(e,p,i[p])})}_setAcquisitionInformation(e,i,r){let p=this.form.get(e).get(i);p.get("name").setValue(r.name),p.get("email").setValue(r.email),p.get("phone").setValue(r.phone),p.get("extra").setValue(r.extra),r.address&&(p.get("address").get("street").setValue(r.address.street),p.get("address").get("zip_code").setValue(r.address.zip_code),p.get("address").get("city").setValue(r.address.city),p.get("address").get("country").setValue(r.address.country))}_initializeNotificationSettings(e=[]){let i=this.form.get("notification_settings");this.notificationTypes.forEach(r=>i.push(this._buildSettingsByType(r))),this._setNotificationSettings(e)}_buildSettingsByType(e){let i={type:e,email:["",g.email]};return[Q.AVAILABILITY].includes(e)&&(i.delay=["",g.max(720)]),this.fb.group(i)}_setNotificationSettings(e=[]){if(e.length>0){let i=this.form.get("notification_settings");for(let r=0;r<i.value.length;r++){let p=i.get(String(r)),h=e.find(J=>J.type===p.get("type").value);h!==void 0&&(p.get("email").setValue(h.email),h.delay!==void 0&&p.get("delay").setValue(h.delay))}}}_setRolloverSettings(e){this.form.get("rollover_settings").get("account_transfer").setValue(e.account_transfer)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=_e({token:t,factory:t.\u0275fac})}}return t})();var ai=(()=>{class t{constructor(){this._notification=Xt.types}transform(e,i){return Object.keys(this._notification).includes(i)&&this._notification[i].includes(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=fe({name:"notificationType",type:t,pure:!0})}}return t})();var nn=()=>["0"],ri=(t,l)=>({formGroup:t,icon:"fa-truck",name:l,fieldPrefix:"shipping"}),li=(t,l)=>({formGroup:t,icon:"fa-money",name:l,fieldPrefix:"billing"}),on=(t,l)=>({"fa-times text-error":t,"fa-check text-success":l}),an=(t,l)=>({"fa-times-circle-o text-error":t,"fa-circle text-success":l});function rn(t,l){t&1&&(n(0,"span",3),d(1,"Code is already taken."),o())}function ln(t,l){t&1&&(n(0,"span",3),d(1,"Code is required."),o())}function dn(t,l){t&1&&(n(0,"span",3),d(1,"Validating\u2026"),o())}function sn(t,l){if(t&1&&(n(0,"div",12),s(1,rn,2,0,"span",3),s(2,ln,2,0,"span",3),s(3,dn,2,0,"span",3),o()),t&2){let e=_(2);a(),c(e.code.errors!=null&&e.code.errors.alreadyTaken?1:-1),a(),c(e.code.errors!=null&&e.code.errors.required?2:-1),a(),c(e.code.pending?3:-1)}}function cn(t,l){t&1&&(n(0,"span",3),d(1,"Name is required."),o())}function pn(t,l){t&1&&(n(0,"span",3),d(1,"Name must be at least 4 characters long."),o())}function mn(t,l){if(t&1&&(n(0,"div",12),s(1,cn,2,0,"span",3),s(2,pn,2,0,"span",3),o()),t&2){let e=_(2);a(),c(e.name.errors!=null&&e.name.errors.required?1:-1),a(),c(e.name.errors!=null&&e.name.errors.minlength?2:-1)}}function un(t,l){t&1&&(n(0,"span",3),d(1,"Address must be at least 4 characters long."),o())}function _n(t,l){if(t&1&&(n(0,"div",12),s(1,un,2,0,"span",3),o()),t&2){let e=_(2);a(),c(e.address.errors!=null&&e.address.errors.minlength?1:-1)}}function fn(t,l){t&1&&(n(0,"span",3),d(1,"Email format is not correct."),o())}function Cn(t,l){if(t&1&&(n(0,"div",12),s(1,fn,2,0,"span",3),o()),t&2){let e=_(2);a(),c(e.email.errors!=null&&e.email.errors.email?1:-1)}}function gn(t,l){t&1&&(n(0,"span",3),d(1,"Communication language is required."),o())}function vn(t,l){if(t&1&&(n(0,"div",12),s(1,gn,2,0,"span",3),o()),t&2){let e=_(2);a(),c(e.communicationLanguage.errors!=null&&e.communicationLanguage.errors.required?1:-1)}}function xn(t,l){if(t&1&&m(0,"i",27),t&2){let e=l.$implicit;u("ngClass",w(1,an,!e.value.is_open,e.value.is_open))}}function yn(t,l){if(t&1){let e=I();n(0,"p-button",75),f(1,"translate"),y("onClick",function(){b(e);let r=_(3).$index,p=_(2);return E(p.addTime(r))}),o()}t&2&&u("label",C(1,1,"period"))}function hn(t,l){if(t&1){let e=I();n(0,"p-button",76),y("onClick",function(){b(e);let r=_().$index,p=_(2).$index,h=_(2);return E(h.deleteTime(p,r))}),o()}}function Sn(t,l){t&1&&(n(0,"div",3),d(1,"Start time is required."),o())}function bn(t,l){t&1&&(n(0,"div",3),d(1,"Start time format is not correct."),o())}function En(t,l){if(t&1&&(s(0,Sn,2,0,"div",3),s(1,bn,2,0,"div",3)),t&2){let e=_().$implicit;c(e.controls.start_time.errors!=null&&e.controls.start_time.errors.required?0:-1),a(),c(e.controls.start_time.errors!=null&&e.controls.start_time.errors.pattern?1:-1)}}function Tn(t,l){t&1&&(n(0,"div",3),d(1,"End time is required."),o())}function Dn(t,l){t&1&&(n(0,"div",3),d(1,"End time format is not correct."),o())}function Ln(t,l){if(t&1&&(s(0,Tn,2,0,"div",3),s(1,Dn,2,0,"div",3)),t&2){let e=_().$implicit;c(e.controls.end_time.errors!=null&&e.controls.end_time.errors.required?0:-1),a(),c(e.controls.end_time.errors!=null&&e.controls.end_time.errors.pattern?1:-1)}}function wn(t,l){t&1&&(n(0,"div",3),d(1,"End time is less than start time."),o())}function Fn(t,l){if(t&1&&s(0,wn,2,0,"div",3),t&2){let e=_().$implicit;c(e.errors&&e.errors.lessThan?0:-1)}}function In(t,l){if(t&1){let e=I();n(0,"li",67)(1,"div",59)(2,"div",40)(3,"div",68)(4,"p-inputgroup")(5,"p-inputgroup-addon"),m(6,"i",25),o(),n(7,"input",69),xe("ngModelChange",function(r){let p=b(e).$implicit;return ve(p.value.start_time,r)||(p.value.start_time=r),E(r)}),o()(),n(8,"p-inputgroup")(9,"p-inputgroup-addon"),m(10,"i",70),o(),n(11,"input",71),xe("ngModelChange",function(r){let p=b(e).$implicit;return ve(p.value.end_time,r)||(p.value.end_time=r),E(r)}),o()()(),n(12,"div",72),s(13,yn,2,3,"p-button",73),s(14,hn,1,0,"p-button",74),o()(),n(15,"div",12),s(16,En,2,2),s(17,Ln,2,2),s(18,Fn,1,1),o()()()}if(t&2){let e=l.$implicit,i=l.$index,r=l.$count;a(),u("formGroupName",i),a(6),ge("ngModel",e.value.start_time),a(4),ge("ngModel",e.value.end_time),a(2),c(i===r-1?13:-1),a(),c(r>1?14:-1),a(2),c(e.controls.start_time.invalid&&(e.controls.start_time.dirty||e.controls.start_time.touched)?16:-1),a(),c(e.controls.end_time.invalid&&(e.controls.end_time.dirty||e.controls.end_time.touched)?17:-1),a(),c(e.invalid&&(e.dirty||e.touched)?18:-1)}}function Vn(t,l){if(t&1&&(n(0,"ul",66),T(1,In,19,8,"li",67,L),o()),t&2){let e=_().$implicit;a(),D(e.controls.times.controls)}}function An(t,l){t&1&&(n(0,"div",3),d(1,"The two periods are overlapping."),o())}function kn(t,l){if(t&1&&(n(0,"div",12),s(1,An,2,0,"div",3),o()),t&2){let e=_().$implicit;a(),c(e.errors&&e.errors.rangeLessThan?1:-1)}}function Nn(t,l){if(t&1){let e=I();n(0,"div",28)(1,"div",59)(2,"div",60)(3,"div",61)(4,"div",62)(5,"p-toggleswitch",63),xe("ngModelChange",function(r){let p=b(e).$implicit;return ve(p.value.is_open,r)||(p.value.is_open=r),E(r)}),o(),n(6,"label",64),d(7),f(8,"translate"),f(9,"titlecase"),o()()(),n(10,"div",65),s(11,Vn,3,0,"ul",66),s(12,kn,2,1,"div",12),o()()()()}if(t&2){let e=l.$implicit,i=l.$index;a(),u("formGroupName",i),a(4),u("id",e.value.day),ge("ngModel",e.value.is_open),a(),u("for",e.value.day),a(),S(C(9,9,C(8,7,e.value.day))),a(4),c(e.value.is_open?11:-1),a(),c(e.invalid&&(e.dirty||e.touched)?12:-1)}}function Bn(t,l){t&1&&m(0,"i",78)}function On(t,l){if(t&1&&(n(0,"p-inputGroup")(1,"p-inputGroupAddon"),m(2,"i",25),o(),m(3,"p-inputNumber",82),f(4,"translate"),o()),t&2){let e=_().$implicit;a(3),u("pTooltip",K(C(4,4,"Sending how many minutes after the item is available")))("inputId",e.controls.type.value+"-delay")("min",0)}}function qn(t,l){if(t&1&&(n(0,"div",38)(1,"div",77),s(2,Bn,1,0,"i",78),f(3,"notificationType"),n(4,"label",79),d(5),f(6,"translate"),f(7,"ucfirst"),o()(),n(8,"div",80)(9,"p-inputGroup")(10,"p-inputGroupAddon"),m(11,"i",19),o(),m(12,"input",81),o(),s(13,On,5,6,"p-inputGroup"),o()()),t&2){let e=l.$implicit,i=l.$index,r=_(2);u("formGroupName",i),a(2),c(le(3,5,e.controls.type.value,"patron")?2:-1),a(3),x(" ",C(7,10,C(6,8,e.controls.type.value))," "),a(7),u("id",e.controls.type.value+"-email"),a(),c(r.delayedNotificationTypes.includes(e.controls.type.value)?13:-1)}}function Mn(t,l){if(t&1){let e=I();n(0,"h1",3),d(1,"Library"),o(),n(2,"form",4),y("ngSubmit",function(){b(e);let r=_();return E(r.onSubmit())}),n(3,"p-accordion",5)(4,"p-accordion-panel",6)(5,"p-accordion-header")(6,"div"),m(7,"i",7),d(8),f(9,"translate"),o()(),n(10,"p-accordion-content")(11,"div",8)(12,"label",9)(13,"span",3),d(14,"Code"),o(),d(15,"\xA0*"),o(),n(16,"div",10),m(17,"input",11),f(18,"translate"),s(19,sn,4,3,"div",12),o(),n(20,"label",13)(21,"span",3),d(22,"Name"),o(),d(23,"\xA0*"),o(),n(24,"div",10),m(25,"input",14),f(26,"translate"),s(27,mn,3,2,"div",12),o(),n(28,"label",15),d(29,"Address"),o(),n(30,"div",10)(31,"p-inputgroup")(32,"p-inputgroup-addon"),m(33,"i",16),o(),m(34,"input",17),s(35,_n,2,1,"div",12),o()(),n(36,"label",18),d(37,"Email"),o(),n(38,"div",10)(39,"p-inputgroup")(40,"p-inputgroup-addon"),m(41,"i",19),o(),m(42,"input",20),s(43,Cn,2,1,"div",12),o()(),n(44,"label",21)(45,"span",3),d(46,"Communication language"),o(),d(47,"\xA0*"),o(),n(48,"div",10),m(49,"p-select",22),s(50,vn,2,1,"div",12),o()()()(),n(51,"p-accordion-panel",23)(52,"p-accordion-header")(53,"div",24)(54,"div"),m(55,"i",25),d(56,"\xA0 "),n(57,"span",3),d(58,"Opening Hours"),o()(),n(59,"div",26),T(60,xn,1,4,"i",27,L),o()()(),n(62,"p-accordion-content"),T(63,Nn,13,11,"div",28,L),o()(),n(65,"p-accordion-panel",29,1)(67,"p-accordion-header")(68,"div",24)(69,"div"),m(70,"i",30),d(71,"\xA0 "),n(72,"span",3),d(73,"Exceptions (holidays, etc.)"),o()(),n(74,"div",31)(75,"p-button",32),f(76,"translate"),y("onClick",function(r){b(e);let p=_();return r.stopPropagation(),E(p.addException())}),o(),m(77,"p-badge",33),o()()(),n(78,"p-accordion-content"),m(79,"admin-libraries-exception-dates-list",34),o()(),n(80,"p-accordion-panel",35)(81,"p-accordion-header")(82,"div"),m(83,"i",36),d(84,"\xA0 "),n(85,"span",3),d(86,"Notification settings"),o()()(),n(87,"p-accordion-content")(88,"div",37),T(89,qn,14,12,"div",38,L),n(91,"p-divider",39)(92,"small",3),d(93,"Legend"),o()(),n(94,"div",40),m(95,"i",41),n(96,"small",42),d(97," The notifications for patrons without e-mail are sent to this address. "),o()()()()(),n(98,"p-accordion-panel",43)(99,"p-accordion-header")(100,"div"),m(101,"i",44),d(102,"\xA0 "),n(103,"span",3),d(104,"Acquisition settings"),o()()(),n(105,"p-accordion-content")(106,"p-tabs",45)(107,"p-tablist")(108,"p-tab",46),m(109,"i",47),n(110,"span",3),d(111,"Default acquisition settings"),o()(),n(112,"p-tab",48),m(113,"i",49),n(114,"span",3),d(115,"Serial acquisition settings"),o()()(),n(116,"p-tabpanels")(117,"p-tabpanel",6),M(118,50),f(119,"translate"),M(120,50),f(121,"translate"),o(),n(122,"p-tabpanel",23),M(123,50),f(124,"translate"),M(125,50),f(126,"translate"),o()()()()(),n(127,"p-accordion-panel",51)(128,"p-accordion-header")(129,"div",24)(130,"div"),m(131,"i",52),d(132,"\xA0 "),n(133,"span",3),d(134,"Rollover settings"),o()(),m(135,"i",27),o()(),n(136,"p-accordion-content")(137,"div",53)(138,"label",54),d(139,"Account transfer"),o(),n(140,"div",10),m(141,"p-select",55),o()()()()(),n(142,"div",56)(143,"p-button",57),f(144,"translate"),y("onClick",function(){b(e);let r=_();return E(r.onCancel())}),o(),m(145,"p-button",58),f(146,"translate"),o()()}if(t&2){let e=B(66),i=_(),r=B(2);a(2),u("formGroup",i.libForm()),a(),u("value",re(59,nn))("multiple",!0),a(5),x("\xA0",C(9,39,"Descriptive data")," "),a(9),oe("ng-invalid",i.code.invalid),u("placeholder",K(C(18,41,"Please insert a code"))),a(2),c(i.code.invalid&&(i.code.dirty||i.code.touched)?19:-1),a(6),oe("ng-invalid",i.name.invalid),u("placeholder",C(26,43,"Please insert a name")),a(2),c(i.name.invalid&&(i.name.dirty||i.name.touched)?27:-1),a(7),oe("ng-invalid",i.address.invalid),a(),c(i.address.invalid&&(i.address.dirty||i.address.touched)?35:-1),a(7),oe("ng-invalid",i.email.invalid),a(),c(i.email.invalid&&(i.email.dirty||i.email.touched)?43:-1),a(6),u("options",i.availableCommunicationLanguagesOptions()),a(),c(i.communicationLanguage.invalid&&(i.communicationLanguage.dirty||i.communicationLanguage.touched)?50:-1),a(10),D(i.openingHours.controls),a(3),D(i.openingHours.controls),a(12),u("hidden",!e.active())("label",C(76,45,"Add")),a(2),u("value",i.exceptionDates().length||"0"),a(2),u("exceptionDates",i.exceptionDates()),a(10),D(i.notificationSettings.controls),a(29),u("ngTemplateOutlet",r)("ngTemplateOutletContext",w(60,ri,i.libForm().get("acquisition_settings").get("shipping_informations"),C(119,47,"Shipping informations"))),a(2),u("ngTemplateOutlet",r)("ngTemplateOutletContext",w(63,li,i.libForm().get("acquisition_settings").get("billing_informations"),C(121,49,"Billing informations"))),a(3),u("ngTemplateOutlet",r)("ngTemplateOutletContext",w(66,ri,i.libForm().get("serial_acquisition_settings").get("shipping_informations"),C(124,51,"Shipping informations"))),a(2),u("ngTemplateOutlet",r)("ngTemplateOutletContext",w(69,li,i.libForm().get("serial_acquisition_settings").get("billing_informations"),C(126,53,"Billing informations"))),a(10),u("ngClass",w(72,on,i.rolloverSettings.value.account_transfer==="rollover_no_transfer",i.rolloverSettings.value.account_transfer==="rollover_allocated_amount")),a(6),u("options",i.rolloverAccountTransferOptions()),a(2),u("outlined",!0)("label",C(144,55,"Cancel")),a(2),u("disabled",i.libForm().invalid||i.isSaving)("label",C(146,57,"Save"))}}function Pn(t,l){if(t&1&&(m(0,"i"),d(1,"\xA0 ")),t&2){let e=_(2).icon;Ce(ye("fa ",e))}}function Rn(t,l){if(t&1&&(n(0,"p-tag",102),s(1,Pn,2,3),d(2),o()),t&2){let e=_(),i=e.name,r=e.icon;a(),c(r?1:-1),a(),x(" ",i," ")}}function $n(t,l){if(t&1&&(n(0,"div",83)(1,"p-fieldset",84),G(2,Rn,3,2,"ng-template",null,2,j),n(4,"div",40)(5,"label",85),d(6,"Contact name"),o(),n(7,"p-inputGroup",10)(8,"p-inputGroupAddon"),m(9,"i",86),o(),m(10,"input",87),o(),n(11,"label",85),d(12,"Contact email"),o(),n(13,"p-inputGroup",10)(14,"p-inputGroupAddon"),m(15,"i",19),o(),m(16,"input",88),o(),n(17,"label",85),d(18,"Contact phone"),o(),n(19,"p-inputGroup",10)(20,"p-inputGroupAddon"),m(21,"i",89),o(),m(22,"input",90),o()(),n(23,"div",91)(24,"label",85),d(25,"Address"),o(),n(26,"div",10),m(27,"input",92),f(28,"translate"),o(),n(29,"div",93),m(30,"input",94),f(31,"translate"),o(),n(32,"div",95),m(33,"input",96),f(34,"translate"),o(),n(35,"div",97),m(36,"p-select",98),f(37,"translate"),o()(),n(38,"div",99)(39,"label",85),d(40,"Extra information"),o(),n(41,"p-inputGroup",10)(42,"p-inputGroupAddon"),m(43,"i",100),o(),m(44,"input",101),o()()()()),t&2){let e=l.formGroup,i=l.fieldPrefix,r=_();a(),u("formGroup",e),a(4),u("for",i+"_name"),a(5),u("id",i+"_name"),a(),u("for",i+"_email"),a(5),u("id",i+"_email"),a(),u("for",i+"_phone"),a(5),u("id",i+"_phone"),a(2),u("for",i+"_street"),a(3),u("placeholder",K(C(28,24,"Street")))("id",i+"_street"),a(3),u("placeholder",K(C(31,26,"Zip code")))("id",i+"_zip-code"),a(3),u("placeholder",K(C(34,28,"City")))("id",i+"_city"),a(3),u("id",i+"_country")("options",r.countryIsoCodesOptions())("filter",!0)("showClear",!0)("placeholder",C(37,30,"Select a country")),a(3),u("for",i+"_extra"),a(5),u("id",i+"_extra")}}var ct=(()=>{class t extends zt{get name(){return this.libraryForm.name}get address(){return this.libraryForm.address}get email(){return this.libraryForm.email}get code(){return this.libraryForm.code}get communicationLanguage(){return this.libraryForm.communication_language}get openingHours(){return this.libraryForm.opening_hours}get notificationSettings(){return this.libraryForm.notification_settings}get rolloverSettings(){return this.libraryForm.rollover_settings}constructor(){super(),this.libraryForm=v(st),this.libraryStore=v(W),this.route=v(Lt),this.router=v(wt),this.appStore=v(We),this.apiService=v(Ht),this.translateService=v(H),this.countryCodeTranslatePipe=v(Ke),this.messageService=v(ht),this.dialogService=v(Te),this.library=ie(null),this.recordService=v(de),this.libForm=ie(null),this.rolloverAccountTransferOptions=N(()=>this.libraryStore.rolloverAccountTransferOptions().map(e=>({value:e,label:this.translateService.instant(e)}))),this.availableCommunicationLanguagesOptions=N(()=>{let e=this.libraryStore.availableCommunicationLanguages();return e.length?[{value:"",label:this.translateService.instant("Choose a language"),disabled:!0},...e.map(i=>({value:i,label:this.translateService.instant(`lang_${i}`),disabled:!1}))]:[]}),this.countryIsoCodesOptions=N(()=>this.libraryStore.countryIsoCodes().map(e=>({value:e,label:this.countryCodeTranslatePipe.transform(e)}))),this.delayedNotificationTypes=[Q.AVAILABILITY],this.isSaving=!1,this.canDeactivate=!1,this.exceptionDates=this.libraryStore.exceptionDates,ne(()=>{let e=this.libraryStore.notificationTypes();if(!e.length)return;this.libraryForm.notificationTypes=e,this.libraryForm.build();let{pid:i}=this.route.snapshot.params;i?this.libraryStore.loadLibrary(i):(this.libraryStore.setNewLibrary(),this.libForm.set(this.libraryForm.form),this.setAsyncValidator())}),ne(()=>{let e=this.libraryStore.library();!e||!this.libraryForm.form||(this.libraryForm.populate(e),this.libForm.set(this.libraryForm.form),this.setAsyncValidator())})}addException(){this.dialogService.open(Xe,{header:this.translateService.instant("Exception"),modal:!0,width:"50vw",closable:!1,data:{exceptionDate:null}})?.onClose.pipe(ue(1)).subscribe(e=>{e&&this.libraryStore.addExceptionDate(e)})}setAsyncValidator(){this.libForm().controls.code.setAsyncValidators([jt.createValidator(this.recordService,"libraries","code",this.libraryStore.library()?.pid??void 0)])}onSubmit(){if(this.isSaving)return;this.isSaving=!0,this.canDeactivate=!0;let e=this.libraryStore.library(),i=this.libraryForm.getValues();this._cleanFormValues(i),i.exception_dates=this.libraryStore.exceptionDates(),e.update(i),e.pid?this.recordService.update("libraries",e.pid,it(e),this.libraryStore.currentLibraryETag()).pipe(tt(()=>this.isSaving=!1)).subscribe({next:()=>{this.messageService.add({severity:"success",summary:this.translateService.instant("libraries"),detail:this.translateService.instant("Record Updated!"),life:nt.MESSAGE_LIFE}),this.router.navigate(["records","libraries","detail",e.pid])},error:r=>{this.messageService.add(r.status===409||r.status===412?{severity:"warn",summary:this.translateService.instant("Record conflict"),detail:this.translateService.instant("This record has been modified by another user. Please reload the page \u2014 your local changes will be lost."),sticky:!0,closable:!0}:{severity:"error",summary:this.translateService.instant("libraries"),detail:r.title,sticky:!0,closable:!0})}}):(e.organisation={$ref:this.apiService.getRefEndpoint("organisations",this.appStore.currentOrganisationPid())},this.recordService.create("libraries",it(e)).pipe(tt(()=>this.isSaving=!1)).subscribe({next:r=>{this.messageService.add({severity:"success",summary:this.translateService.instant("libraries"),detail:this.translateService.instant("Record created!"),life:nt.MESSAGE_LIFE}),this.router.navigate(["records","libraries","detail",r.metadata.pid])},error:r=>{this.messageService.add({severity:"error",summary:this.translateService.instant("libraries"),detail:r.title,sticky:!0,closable:!0})}}))}onCancel(){this.canDeactivate=!0,this.router.navigate(["/","records","libraries","detail",this.libraryStore.library().pid])}addTime(e){this.libraryForm.addTime(e)}deleteTime(e,i){this.libraryForm.deleteTime(e,i)}_cleanFormValues(e){e.opening_hours.forEach(i=>{i.is_open||(i.times=[])}),e.notification_settings=e.notification_settings.filter(i=>i.email!==""),e.acquisition_settings=ot(e.acquisition_settings),e.serial_acquisition_settings=ot(e.serial_acquisition_settings)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["admin-libraries-library"]],features:[he([W,st]),Ct],decls:3,vars:1,consts:[["contact_block",""],["exceptionsPanel",""],["header",""],["translate",""],[3,"ngSubmit","formGroup"],[3,"value","multiple"],["value","0"],[1,"fa","fa-bars"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:items-center"],["for","code",1,"ui:col-span-3"],[1,"ui:col-span-9"],["pInputText","","id","code","formControlName","code","required","",1,"ui:w-full",3,"placeholder"],[1,"text-error"],["for","name",1,"ui:col-span-3"],["pInputText","","id","name","formControlName","name","required","",1,"ui:w-full",3,"placeholder"],["for","address","translate","",1,"ui:col-span-3"],[1,"fa","fa-home"],["pInputText","","id","address","formControlName","address",1,"ui:w-full"],["for","email","translate","",1,"ui:col-span-3"],[1,"fa","fa-at"],["pInputText","","id","email","formControlName","email",1,"ui:w-full"],["for","communication_language",1,"ui:col-span-3"],["id","communication_language","formControlName","communication_language",1,"ui:w-full",3,"options"],["value","1"],[1,"ui:flex","ui:w-full","ui:items-center","ui:justify-between","ui:mr-2"],[1,"fa","fa-clock-o"],[1,"ui:flex","ui:gap-1"],[1,"fa",3,"ngClass"],["formArrayName","opening_hours",1,"ui:mt-3"],["value","2"],[1,"fa","fa-exclamation-triangle"],[1,"ui:flex","ui:gap-2","ui:items-center"],["size","small","outlined","","icon","fa fa-plus-square-o",3,"onClick","hidden","label"],[3,"value"],[3,"exceptionDates"],["value","3"],[1,"fa","fa-envelope-o"],["formArrayName","notification_settings"],[1,"ui:grid","ui:grid-cols-12","ui:mt-1",3,"formGroupName"],["align","left"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4"],[1,"fa","fa-info","text-info","ui:col-span-1"],["translate","",1,"ui:col-span-11","ui:text-muted-color","ui:italic"],["value","4"],[1,"fa","fa-university","ui:mr-2"],["value","0","formGroupName","acquisition_settings"],["value","0",1,"ui:flex","ui:items-center","ui:!gap-2"],[1,"fa","fa-book"],["value","1",1,"ui:flex","ui:items-center","ui:!gap-2"],[1,"fa","fa-newspaper-o"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["value","5"],[1,"fa","fa-wrench","ui:mr-2"],["formGroupName","rollover_settings",1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:items-center","ui:mt-2"],["for","account-transfer","translate","",1,"ui:col-span-3"],["appendTo","body","id","account-transfer","formControlName","account_transfer",1,"ui:w-full",3,"options"],[1,"ui:flex","ui:justify-end","ui:gap-1","ui:mt-6"],["severity","danger","size","small","icon","fa fa-times",3,"onClick","outlined","label"],["type","submit","size","small","severity","primary","icon","fa fa-save",3,"disabled","label"],[3,"formGroupName"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:align-items-top"],[1,"ui:col-span-2","ui:pt-3"],[1,"ui:flex","ui:items-start","ui:gap-1"],["formControlName","is_open",3,"ngModelChange","id","ngModel"],[3,"for"],[1,"ui:col-span-10"],[1,"ui:list-none"],["formArrayName","times"],[1,"ui:col-span-10","ui:flex","ui:gap-2","ui:my-1"],["pInputText","","formControlName","start_time",3,"ngModelChange","ngModel"],[1,"fa","fa-long-arrow-right"],["pInputText","","formControlName","end_time",3,"ngModelChange","ngModel"],[1,"ui:col-span-2","ui:flex","ui:gap-2","ui:justify-end"],["outlined","","icon","fa fa-plus-square-o",3,"label"],["outlined","","severity","danger","icon","fa fa-trash"],["outlined","","icon","fa fa-plus-square-o",3,"onClick","label"],["outlined","","severity","danger","icon","fa fa-trash",3,"onClick"],[1,"ui:col-span-3","ui:flex","ui:gap-3","ui:items-center"],[1,"text-info","fa","fa-info"],[1,"ui:font-bold"],[1,"ui:col-span-9","ui:flex","ui:gap-3"],["pInputText","","formControlName","email",3,"id"],["inputStyleClass","ui:rounded-l-none","formControlName","delay","tooltipPosition","top",3,"inputId","min","pTooltip"],[1,"ui:mb-2"],[3,"formGroup"],["translate","",1,"ui:col-span-3",3,"for"],[1,"fa","fa-user"],["pInputText","","formControlName","name",1,"ui:w-full",3,"id"],["pInputText","","formControlName","email",1,"ui:w-full",3,"id"],[1,"fa","fa-phone"],["pInputText","","formControlName","phone",1,"ui:w-full",3,"id"],["formGroupName","address",1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:mt-4"],["pInputText","","formControlName","street",1,"ui:w-full",3,"id","placeholder"],[1,"ui:col-span-3","ui:col-start-4"],["pInputText","","formControlName","zip_code",1,"ui:w-full",3,"id","placeholder"],[1,"ui:col-span-6"],["pInputText","","formControlName","city",1,"ui:w-full",3,"id","placeholder"],[1,"ui:col-span-9","ui:col-start-4"],["formControlName","country","appendTo","body",1,"ui:w-full",3,"id","options","filter","showClear","placeholder"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:mt-4"],[1,"fa","fa-sticky-note-o"],["pInputText","","formControlName","extra",1,"ui:w-full",3,"id"],[1,"ui:mx-2"]],template:function(i,r){i&1&&(s(0,Mn,147,75),G(1,$n,45,32,"ng-template",null,0,j)),i&2&&c(r.libForm()?0:-1)},dependencies:[U,Be,Fe,De,Le,we,Tt,Oe,ke,Ae,Ie,Ve,Ze,Je,Qe,Ye,qe,Et,Dt,Pe,z,Re,P,oi,je,Me,ze,qt,Mt,Pt,$t,Rt,Se,$e,Ue,Ee,be,He,A,ai],encapsulation:2,changeDetection:0})}}return t})();var Gn=(t,l)=>({"fa-times-circle-o text-error":t,"fa-circle text-success":l});function jn(t,l){t&1&&d(0," / ")}function zn(t,l){if(t&1&&(n(0,"span"),d(1),o(),s(2,jn,1,0)),t&2){let e=l.$implicit,i=l.$index,r=l.$count;a(),ae(""