@rero/rero-ils-ui
Version:
User interface for RERO integrated library system (RERO ILS).
2 lines (1 loc) • 13.2 kB
JavaScript
import{a as U,b as q}from"./chunk-FCC5WNRC.js";import{a as L}from"./chunk-BR2J44KJ.js";import{a as fe}from"./chunk-32FZIPT5.js";import{a as ye}from"./chunk-CGU6MK6Q.js";import{R as ue,f as me,g as se,j as w,k as _e,ra as Ce}from"./chunk-4GRLSOJZ.js";import{c as de}from"./chunk-WOV5KKTV.js";import{Eb as O,Nb as le,Wa as re,fc as ce,hc as pe,mc as $,wa as oe}from"./chunk-MTJX6JRK.js";import{b as ne,c as k}from"./chunk-GQ5FIRIY.js";import{ma as ae}from"./chunk-4MYHQLZQ.js";import{W as J,ha as Y,oa as ee,ra as te,ua as ie}from"./chunk-WKOKZ3JO.js";import{$b as T,Eb as B,Hc as r,Ic as y,Jc as f,Kc as V,Sb as K,Tc as N,Uc as W,Vb as s,Wc as F,Xb as _,Xc as X,Yb as g,Yc as Z,_b as S,a as A,ac as u,b as M,bb as Q,bc as n,cc as a,dc as C,dd as c,ed as d,fd as E,gb as o,hd as R,ia as j,jd as x,pd as v,r as z,sc as m,v as b,vd as h,yb as I}from"./chunk-3WD6XLXL.js";var Se=e=>[e];function Te(e,i){e&1&&(r(0),c(1,"translate")),e&2&&f(" ",d(1,1,"Library")," ")}function Ee(e,i){e&1&&(r(0),c(1,"translate")),e&2&&f(" ",d(1,1,"Organisation")," ")}function we(e,i){if(e&1&&(C(0,"span",3),c(1,"nl2br")),e&2){let t=m();u("innerHtml",d(1,1,t.record().metadata.description),Q)}}var xe=(()=>{class e{constructor(){this.record=h(),this.type=h(),this.detailUrl=h()}static{this.\u0275fac=function(l){return new(l||e)}}static{this.\u0275cmp=I({type:e,selectors:[["admin-circ-policies-brief-view"]],inputs:{record:[1,"record"],type:[1,"type"],detailUrl:[1,"detailUrl"]},decls:8,vars:6,consts:[[1,"ui:flex","ui:gap-2"],[3,"routerLink"],["severity","secondary",1,"ui:align-bottom"],[3,"innerHtml"]],template:function(l,p){l&1&&(n(0,"h5")(1,"div",0)(2,"a",1),r(3),a(),n(4,"p-tag",2),s(5,Te,2,3)(6,Ee,2,3),a()()(),s(7,we,2,3,"span",3)),l&2&&(o(2),u("routerLink",X(4,Se,p.detailUrl().link)),o(),y(p.record().metadata.name),o(2),_(p.record().metadata.policy_library_level?5:6),o(2),_(p.record().metadata.description?7:-1))},dependencies:[ae,de,k,oe],encapsulation:2,changeDetection:0})}}return e})();var ve=()=>({"=1":"day",other:"days"}),Pe=(e,i)=>({"fa-calendar-minus-o":e,"fa-calendar-plus-o":i});function De(e,i){if(e&1&&(n(0,"dt",4),r(1,"Description"),a(),n(2,"dd",14),r(3),a()),e&2){let t=m();o(3),y(t.metadata.description)}}function be(e,i){if(e&1&&(n(0,"li"),C(1,"i",16),r(2),c(3,"getRecord"),c(4,"async"),a()),e&2){let t=i.$implicit;o(2),f("\xA0 ",d(4,6,R(3,1,t.pid,"libraries","field","name"))," ")}}function Ie(e,i){if(e&1&&(r(0),c(1,"translate"),n(2,"ul",15),S(3,be,5,8,"li",null,g),a()),e&2){let t=m();f(" ",d(1,1,"Library")," "),o(3),T(t.metadata.libraries)}}function Be(e,i){e&1&&(r(0),c(1,"translate")),e&2&&f(" ",d(1,1,"Organisation")," ")}function Ve(e,i){e&1&&C(0,"i",9)}function Re(e,i){e&1&&C(0,"i",10)}function ke(e,i){e&1&&C(0,"i",23)}function Ae(e,i){e&1&&C(0,"i",24)}function Me(e,i){if(e&1&&(n(0,"dd",11),C(1,"i",17),n(2,"dl",18)(3,"dt",4),r(4,"Checkout duration"),a(),n(5,"dd",19),r(6),c(7,"i18nPlural"),c(8,"translate"),a(),n(9,"dt",4),r(10,"Number of renewals"),a(),n(11,"dd",20),r(12),a(),n(13,"dt",4),r(14,"Renewal duration"),a(),n(15,"dd",21),r(16),c(17,"i18nPlural"),c(18,"translate"),a(),n(19,"dt",4),r(20,"Automatic renewal"),a(),n(21,"dd",22),s(22,ke,1,0,"i",23)(23,Ae,1,0,"i",24),a()()()),e&2){let t=m();o(6),V(" ",t.metadata.checkout_duration," ",d(8,9,E(7,6,t.metadata.checkout_duration,F(16,ve)))," "),o(6),f(" ",t.metadata.number_renewals," "),o(4),V(" ",t.metadata.renewal_duration," ",d(18,14,E(17,11,t.metadata.renewal_duration,F(17,ve)))," "),o(6),_(t.metadata.automatic_renewal?22:23)}}function Ne(e,i){e&1&&(n(0,"dd"),C(1,"i",25),a())}function Fe(e,i){e&1&&C(0,"i",12)}function Oe(e,i){e&1&&C(0,"i",13)}function $e(e,i){e&1&&(n(0,"tr")(1,"th",4),r(2,"Type"),a(),n(3,"th",4),r(4,"Days Delay"),a(),n(5,"th",4),r(6,"Communication channel"),a(),n(7,"th",4),r(8,"Amount"),a()())}function Le(e,i){if(e&1&&(r(0),c(1,"currency")),e&2){let t=m().$implicit,l=m(3);f(" ",E(1,1,t.fee_amount,l.org_currency())," ")}}function Ue(e,i){e&1&&r(0," \u2014 ")}function qe(e,i){if(e&1&&(n(0,"tr")(1,"td"),r(2),c(3,"translate"),a(),n(4,"td"),C(5,"i",27),r(6),a(),n(7,"td"),r(8),c(9,"translate"),a(),n(10,"td"),s(11,Le,2,4)(12,Ue,1,0),a()()),e&2){let t=i.$implicit;o(2),y(d(3,5,t.type)),o(3),u("ngClass",Z(9,Pe,t.type==="due_soon",t.type==="overdue")),o(),f(" ",t.days_delay," "),o(2),y(d(9,7,t.communication_channel)),o(3),_(t.fee_amount?11:12)}}function He(e,i){if(e&1&&(n(0,"section",2)(1,"p-panel",7),c(2,"translate"),n(3,"p-table",26),B(4,$e,9,0,"ng-template",null,0,x)(6,qe,13,12,"ng-template",null,1,x),a()()()),e&2){let t=m(2);o(),u("header",d(2,2,"Reminders")),o(2),u("value",t.reminders())}}function Ge(e,i){e&1&&(n(0,"tr")(1,"th",28),r(2,"Interval of days"),a(),n(3,"th",4),r(4,"Amount/day"),a()())}function ze(e,i){if(e&1&&r(0),e&2){let t=m().$implicit;f(" ",t.to," ")}}function je(e,i){e&1&&(n(0,"span",31),r(1,"\u221E"),a())}function Qe(e,i){if(e&1&&(n(0,"tr")(1,"td",29),r(2),C(3,"i",30),s(4,ze,1,1)(5,je,2,0,"span",31),a(),n(6,"td"),r(7),c(8,"currency"),c(9,"translate"),a()()),e&2){let t=i.$implicit,l=m(3);o(2),f(" ",t.from," "),o(2),_(t.to?4:5),o(3),V(" ",E(8,4,t.fee_amount,l.org_currency())," / ",d(9,7,"day")," ")}}function Ke(e,i){if(e&1&&(n(0,"section",2)(1,"p-panel",7),c(2,"translate"),n(3,"p-table",26),B(4,Ge,5,0,"ng-template",null,0,x)(6,Qe,10,9,"ng-template",null,1,x),a()()()),e&2){let t=m(2);o(),u("header",d(2,2,"Overdue fees")),o(2),u("value",t.overdues())}}function We(e,i){if(e&1&&(n(0,"th",34)(1,"span",35),r(2),c(3,"getRecord"),c(4,"async"),a()()),e&2){let t=i.$implicit;o(),u("id",N("itty-",t)),o(),y(d(4,8,R(3,3,t,"item_types","field","name")))}}function Xe(e,i){if(e&1&&(n(0,"tr")(1,"th",32),r(2,"Patron types"),a(),n(3,"th",33),r(4,"Item types"),a()(),n(5,"tr"),S(6,We,5,10,"th",34,g),a()),e&2){let t=m(3);o(3),K("colspan",t.itemTypes().size),o(3),T(t.itemTypes())}}function Ze(e,i){if(e&1&&C(0,"i",37),e&2){let t=m().$implicit,l=m(2).$implicit;u("id",W("ptty-",l.key,"-itty-",t))}}function Je(e,i){if(e&1&&s(0,Ze,1,3,"i",37),e&2){let t=i.$implicit,l=m().$implicit;_(l===t?0:-1)}}function Ye(e,i){if(e&1&&(n(0,"td",34),S(1,Je,1,1,null,null,g),a()),e&2){let t=m().$implicit;o(),T(t.value)}}function et(e,i){if(e&1&&(n(0,"tr")(1,"th",36),r(2),c(3,"getRecord"),c(4,"async"),a(),S(5,Ye,3,0,"td",34,g),a()),e&2){let t=i.$implicit,l=m(3);o(),u("id",N("ptty-",t.key)),o(),f(" ",d(4,8,R(3,3,t.key,"patron_types","field","name"))," "),o(3),T(l.itemTypes())}}function tt(e,i){if(e&1&&(n(0,"section",2)(1,"p-panel",7),c(2,"translate"),n(3,"p-table",26),c(4,"keyvalue"),B(5,Xe,8,1,"ng-template",null,0,x)(7,et,7,10,"ng-template",null,1,x),a()()()),e&2){let t=m(2);o(),u("header",d(2,2,"Application")),o(2),u("value",d(4,4,t.settings()))}}function it(e,i){if(e&1&&(n(0,"h1"),r(1),c(2,"translate"),a(),n(3,"article",2)(4,"section")(5,"dl",3)(6,"dt",4),r(7,"Name"),a(),n(8,"dd",5),r(9),a(),s(10,De,4,1),n(11,"dt",4),r(12,"Level"),a(),n(13,"dd",6),s(14,Ie,5,3)(15,Be,2,3),a()()(),n(16,"section",2)(17,"p-panel",7),c(18,"translate"),n(19,"dl",8)(20,"dt",4),r(21,"Is default"),a(),n(22,"dd"),s(23,Ve,1,0,"i",9)(24,Re,1,0,"i",10),a(),n(25,"dt",4),r(26,"Allow checkout"),a(),s(27,Me,24,18,"dd",11)(28,Ne,2,0,"dd"),n(29,"dt",4),r(30,"Allow requests"),a(),n(31,"dd"),s(32,Fe,1,0,"i",12)(33,Oe,1,0,"i",13),a()()()(),s(34,He,8,4,"section",2),s(35,Ke,8,4,"section",2),s(36,tt,9,6,"section",2),a()),e&2){let t=i,l=m();o(),y(d(2,11,t.metadata.name)),o(8),y(t.metadata.name),o(),_(t.metadata.description?10:-1),o(4),_(t.metadata.policy_library_level?14:15),o(3),u("header",d(18,13,"Circulation settings")),o(6),_(t.metadata.is_default?23:24),o(4),_(l.checkoutIsAllowed()?27:28),o(5),_(t.metadata.allow_requests?32:33),o(2),_(l.reminders().length>0?34:-1),o(),_(l.overdues().length>0?35:-1),o(),_(t.metadata.settings?36:-1)}}var he=(()=>{class e{constructor(){this.appStore=j(ue),this.record=h(),this.type=h(""),this.reminders=v(()=>{let t=this.record();return t?.metadata?.reminders?[...t.metadata.reminders].sort((l,p)=>l.type>p.type?1:l.days_delay-p.days_delay):[]}),this.overdues=v(()=>{let t=this.record();return t?.metadata?.overdue_fees?.intervals?[...t.metadata.overdue_fees.intervals].sort((l,p)=>l.from-p.from):[]}),this.settings=v(()=>{let t=new Map,l=this.record();return l?.metadata?.settings&&l.metadata.settings.forEach(p=>{t.has(p.patron_type.pid)?t.get(p.patron_type.pid).push(p.item_type.pid):t.set(p.patron_type.pid,[p.item_type.pid])}),t}),this.itemTypes=v(()=>{let t=new Set,l=this.record();return l?.metadata?.settings&&l.metadata.settings.forEach(p=>t.add(p.item_type.pid)),t}),this.org_currency=v(()=>this.appStore.organisation()?.default_currency),this.checkoutIsAllowed=v(()=>{let t=this.record();return t&&Object.hasOwn(t.metadata,"checkout_duration")})}static{this.\u0275fac=function(l){return new(l||e)}}static{this.\u0275cmp=I({type:e,selectors:[["admin-circ-policy-detail-view"]],inputs:{record:[1,"record"],type:[1,"type"]},decls:1,vars:1,consts:[["header",""],["body",""],[1,"ui:mt-4"],[1,"metadata"],["translate",""],["id","cipo-name"],["id","cipo-level"],[3,"header"],[1,"metadata","ui:my-4","ui:mx-4"],["id","cipo-is-default","aria-hidden","true",1,"fa","fa-check","text-success"],["id","cipo-is-default","aria-hidden","true",1,"fa","fa-times","text-error"],[1,"ui:flex","ui:gap-2"],["id","cipo-allow-request","aria-hidden","true",1,"fa","fa-check","text-success"],["id","cipo-allow-request","aria-hidden","true",1,"fa","fa-times","text-error"],["id","cipo-description"],[1,"ui:list-none"],[1,"fa","fa-university"],["id","cipo-allow-checkout","aria-hidden","true",1,"fa","fa-check","text-success"],[1,"metadata",2,"padding-top","0 !important"],["id","cipo-checkout-duration"],["id","cipo-cnumber-renewals"],["id","cipo-renewal-duration"],["id","cipo-auto-renewal"],["aria-hidden","true",1,"fa","fa-check","text-success"],["aria-hidden","true",1,"fa","fa-times","text-error"],["id","cipo-allow-checkout","aria-hidden","true",1,"fa","fa-times","text-error"],["stripedRows","","size","small",1,"ui:m-1",3,"value"],[1,"fa",3,"ngClass"],["translate","",1,"ui:pl-2"],[1,"ui:pl-2"],[1,"fa","fa-long-arrow-right","ui:px-2"],[1,"ui:text-muted-color"],["rowspan","2","translate","",1,"ui:align-bottom","ui:pl-2"],["translate","",1,"ui:text-center"],[1,"ui:text-center"],[3,"id"],[1,"ui:text-left","ui:pl-2",3,"id"],["aria-hidden","true",1,"fa","fa-check","text-success",3,"id"]],template:function(l,p){if(l&1&&s(0,it,37,15),l&2){let P;_((P=p.record())?0:-1,P)}},dependencies:[ne,fe,se,me,J,Y,ie,ee,te,k,le],encapsulation:2,changeDetection:0})}}return e})();var Vt=()=>new H().getTypes(),Rt=[{path:"",component:ce,title:"Circulation policies",canActivate:[L],data:{permissions:[w.CIPO_ACCESS,w.CIPO_SEARCH],operator:_e.AND}},{path:"detail/:pid",component:pe,title:"Circulation policy",canActivate:[q],data:{action:U.READ}},{path:"edit/:pid",component:$,title:"Circulation policy",canActivate:[q],canDeactivate:[O],data:{action:U.UPDATE}},{path:"new",component:$,title:"Circulation policy",canActivate:[L],canDeactivate:[O],data:{permissions:[w.CIPO_CREATE]}}],H=class extends ye{constructor(){super(...arguments),this.name="circ_policies",this.recordType="circ_policies"}getTypes(){return[{key:this.name,label:"Circulation policies",editorSettings:{longMode:!0},component:xe,detailComponent:he,searchFilters:[this.expertSearchFilter()],canAdd:()=>z({can:this.routeToolService.appStore.canAccess(w.CIPO_CREATE)}),permissions:i=>this.routeToolService.permissions(i,this.recordType),preCreateRecord:i=>(i.parent==null&&(i.organisation={$ref:this.routeToolService.apiService.getRefEndpoint("organisations",this.routeToolService.appStore.currentOrganisationPid())}),i),formFieldMap:(i,t)=>{let l=t.widget;if(l?.formlyConfig?.props?.fieldMap)switch(l.formlyConfig.props.fieldMap){case"library":return this._populateLibraryByCurrentUser(i);case"notification_template":return this._populateTemplate(i);case"amount":return this._amountSymbol(i);case"fee_amount":return this._feeAmountSymbol(i)}return i},sortOptions:[{label:"Relevance",value:"bestmatch",icon:"fa fa-sort-amount-desc",defaultQuery:!0},{label:"Name",value:"name",icon:"fa fa-sort-alpha-asc",defaultNoQuery:!0}],showFacetsIfNoResults:!0}]}_populateLibraryByCurrentUser(i){return i.type="select",i.hooks=M(A({},i.hooks),{afterContentInit:t=>{let l=this.routeToolService.apiService,p=this.routeToolService.recordService,P=`organisation.pid:${this.routeToolService.appStore.currentOrganisationPid()}`;t.props.options=p.getRecords("libraries",{query:P,page:1,itemsPerPage:re.MAX_REST_RESULTS_SIZE,sort:"name"}).pipe(b(D=>+p.totalHits(D.hits.total)==0?[]:D.hits.hits),b(D=>D.map(G=>({label:G.metadata.name,value:l.getRefEndpoint("libraries",G.metadata.pid)}))))}}),i}_populateTemplate(i){return i.type="select",i.hooks=M(A({},i.hooks),{afterContentInit:t=>{t.props.options=this.routeToolService.httpClient.get("/api/notifications/templates/list").pipe(b(l=>l.templates.map(p=>({label:p,value:p}))))}}),i}_amountSymbol(i){let t=this.routeToolService.appStore.organisation();return t&&(i.props.addonLeft=[Ce.currencySymbol(this.routeToolService.translateService.getCurrentLang(),t.default_currency)]),i}_feeAmountSymbol(i){return i=this._amountSymbol(i),i.props.addonRight=["/day"],i}};export{Vt as a,Rt as b};