UNPKG

@rero/rero-ils-ui

Version:

User interface for RERO integrated library system (RERO ILS).

3 lines (2 loc) 43.1 kB
import{a as Ci}from"./chunk-K76ENZEY.js";import{a as ni}from"./chunk-BBJOC3LQ.js";import{a as fi}from"./chunk-3EDP6LFO.js";import{a as Ae}from"./chunk-CGY65HC6.js";import{c as pi}from"./chunk-ZMX663LL.js";import{a as mi,b as ui}from"./chunk-Q2MCBQ4X.js";import{a as di,b as Ne}from"./chunk-3Q7BCCHE.js";import{c as si,d as ci}from"./chunk-5357H5SV.js";import{a as ri,b as li,c as _i}from"./chunk-ZYJ4HANF.js";import{a as qe}from"./chunk-2PMPFI43.js";import{a as Me,b as Ve}from"./chunk-FCC5WNRC.js";import{a as Qe}from"./chunk-BR2J44KJ.js";import{a as ke}from"./chunk-32FZIPT5.js";import{a as ai}from"./chunk-CGU6MK6Q.js";import{a as oi}from"./chunk-YPYXWXW4.js";import{D as Yt,K as Zt,R as N,X as re,Y as ei,ea as Re,ga as ti,j as B,k as te,sa as ii,t as Le,ua as Be}from"./chunk-4GRLSOJZ.js";import{c as Xt}from"./chunk-WOV5KKTV.js";import{Eb as Ge,Fb as Qt,J as Ie,Ja as He,Jb as we,Ma as zt,N as Ee,Nb as ae,O as U,P as W,Wa as X,a as je,fc as Jt,gc as Kt,hc as Wt,mc as ze,o as Se,oa as Ot,pa as Ut,qa as jt,ra as $t,sa as Ht,ua as Pe,wa as Gt,za as De}from"./chunk-MTJX6JRK.js";import{a as J,b as O,c as M}from"./chunk-GQ5FIRIY.js";import{c as wt,k as V}from"./chunk-4A4J5SA3.js";import{c as Lt,e as ye,f as Rt,l as Bt,m as kt,s as Mt,t as Vt,w as Nt,x as be,y as qt}from"./chunk-L5BLWZD6.js";import{W as At,la as Ft,ma as K}from"./chunk-4MYHQLZQ.js";import{g as Te}from"./chunk-AK7G7SIT.js";import{pa as $e,ta as he}from"./chunk-FRI676LD.js";import{W as Et,da as Pt,ea as Dt,ha as Q,qa as ge,ua as xe}from"./chunk-WKOKZ3JO.js";import{$b as G,Aa as q,B as st,Ca as ie,Db as Ct,Eb as $,Fa as ut,H as ct,Hc as s,Ic as S,Jc as x,Kc as fe,Lc as ne,O as dt,Pc as ht,Qc as St,Rc as Oe,Sc as yt,Tc as Ce,Vb as p,Vc as ve,Wc as Ue,X as F,Xb as m,Xc as A,Yb as ce,Yc as de,Z as pt,_b as H,a as se,ac as _,b as lt,bb as _t,bc as a,cb as ft,cc as o,da as mt,dc as g,dd as c,ed as u,fd as I,gb as r,gd as bt,hc as vt,hd as z,ia as C,ic as gt,jc as xt,jd as oe,kc as w,oa as b,pa as T,pd as R,qd as Tt,r as k,rc as P,sc as d,ta as _e,ud as ee,v as L,vd as h,yb as E,yd as It}from"./chunk-3WD6XLXL.js";var Fe=class t{constructor(){this.recordService=C(X)}static{this.resource="locations"}static{this.defaultOptions={page:1,itemsPerPage:X.MAX_REST_RESULTS_SIZE,aggregations:[],preFilters:void 0,sort:"name",headers:{Accept:"application/rero+json"}}}getLocationsByLibraries$(n){let e=n.map(i=>`library.pid:${i}`).join(" OR ");return this._query(e).pipe(L(i=>i.hits),L(i=>+this.recordService.totalHits(i.total)==0?[]:i.hits))}_query(n,e){return e=se(se({},t.defaultOptions),e),this.recordService.getRecords(t.resource,{query:n,page:e.page,itemsPerPage:e.itemsPerPage,aggregationsFilters:e.aggregations,preFilters:e.preFilters,headers:e.headers,sort:e.sort})}static{this.\u0275fac=function(e){return new(e||t)}}static{this.\u0275prov=mt({token:t,factory:t.\u0275fac,providedIn:"root"})}};function Pi(t,n){if(t&1){let e=w();a(0,"div",7)(1,"p-button",8),c(2,"translate"),P("onClick",function(){b(e);let l=d(3);return T(l.cancel())}),o(),g(3,"p-button",9),c(4,"translate"),o()}if(t&2){let e=d(3);r(),_("label",u(2,4,"Cancel"))("outlined",!0),r(2),_("label",u(4,6,"Save"))("disabled",e.form.invalid||e.httpPending.isPending())}}function Di(t,n){if(t&1){let e=w();a(0,"div",1)(1,"form",2),P("ngSubmit",function(){b(e);let l=d(2);return T(l.submit())}),a(2,"p-card",3)(3,"div",4)(4,"label",5),s(5),c(6,"translate"),o(),g(7,"p-select",6),c(8,"translate"),o(),$(9,Pi,5,8,"ng-template",null,0,oe),o()()()}if(t&2){let e=d(2);r(),_("formGroup",e.form),r(4),x("",u(6,6,"Target"),"\xA0*"),r(2),_("options",e.options())("group",!0)("placeholder",u(8,8,"Select\u2026"))("filter",e.isFilterActive())}}function wi(t,n){if(t&1&&(a(0,"h1"),s(1),c(2,"translate"),o(),p(3,Di,11,10,"div",1)),t&2){let e=d();r(),ne("",u(2,4,"Switch item location"),": ",e.initialLocationName()," (",n.barcode,")"),r(2),m(e.initialLocationName()&&e.options().length>0?3:-1)}}function Li(t,n){t&1&&(g(0,"i",10),s(1),c(2,"translate")),t&2&&(r(),x("\xA0",u(2,1,"Loading in progress\u2026"),` `))}var vi=(()=>{class t{constructor(){this.formBuilder=C(Nt),this.activeRoute=C(At),this.router=C(Ft),this.itemApiService=C(qe),this.locationService=C(Fe),this.translateService=C(J),this.appStore=C(N),this.messageService=C(he),this.httpPending=C(Qt),this.item=h(void 0),this.itemChange=ee(),this.filterLimit=h(10),this.editableItem=Tt(()=>{let e=this.item();return e&&Pe(e)}),this.options=q([]),this.initialLocationName=q(""),this.form=this.formBuilder.group({target:[void 0,Lt.required]}),this.isFilterActive=R(()=>this.options().reduce((e,i)=>e+i.items.length,0)>this.filterLimit())}ngOnInit(){this.item()===void 0?this.activeRoute.paramMap.pipe(F(e=>this.itemApiService.getItem(e.get("pid")))).subscribe(e=>{this.editableItem.set(Pe(e)),this._initLocations()}):this._initLocations()}submit(){this.httpPending.isPending()||this.itemApiService.updateLocation(this.editableItem(),this.form.value.target).subscribe({next:e=>{this.editableItem.set(Pe(e.metadata)),this._afterUpdate(e.metadata)},error:e=>this.messageService.add({severity:"error",summary:this.translateService.instant("Locations"),detail:e.title,sticky:!0,closable:!0})})}cancel(){this._afterUpdate(this.editableItem())}_afterUpdate(e){this.item()!==void 0?this.itemChange.emit(e):this.router.navigate(["/","records","documents","detail",De(e.document.$ref)])}_initLocations(){let e=this.appStore.user();if(!e)return;let i=e.patronLibrarian?.libraries?.map(l=>l.pid)??[];this.locationService.getLocationsByLibraries$(i).pipe(L(l=>l.map(f=>f.metadata))).subscribe(l=>{this.options.set(this._buildOptions(l)),this.initialLocationName.set(l.filter(f=>f.pid===De(this.editableItem().location.$ref)).pop()?.name??"")})}_buildOptions(e){let i=[],l=y=>{y.value!==void 0&&i.push(y)},f={label:"",value:void 0,items:[]};return e.sort(this._locationSort).forEach(y=>{f.value!==y.library.pid&&(l(f),f={label:`[${y.library.code}] ${y.library.name}`,value:y.library.pid,items:[]}),f.items.push({label:y.name,value:y.pid,disabled:y.pid===De(this.editableItem().location.$ref)})}),l(f),i}_locationSort(e,i){return e.library.code===i.library.code?e.name.localeCompare(i.name):e.library.code.localeCompare(i.library.code)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-item-switch-location"]],inputs:{item:[1,"item"],filterLimit:[1,"filterLimit"]},outputs:{itemChange:"itemChange"},decls:2,vars:1,consts:[["footer",""],[1,"ui:mt-6"],[3,"ngSubmit","formGroup"],[1,"ui:bg-white"],[1,"ui:flex","ui:flex-col","ui:gap-1","ui:m-3"],["for","target"],["inputId","target","formControlName","target","filterBy","label",1,"ui:w-full",3,"options","group","placeholder","filter"],[1,"ui:flex","ui:gap-2","ui:justify-end","ui:m-3"],["severity","danger",3,"onClick","label","outlined"],["type","submit",3,"label","disabled"],[1,"fa","fa-spin","fa-spinner"]],template:function(i,l){if(i&1&&p(0,wi,4,6)(1,Li,3,3),i&2){let f;m((f=l.editableItem())?0:1,f)}},dependencies:[be,kt,ye,Rt,qt,Vt,Mt,pi,Ie,V,M],encapsulation:2,changeDetection:0})}}return t})();var Ri=t=>["/records","items","detail",t];function Bi(t,n){if(t&1&&s(0),t&2){let e=d(3);x(" | ",e.record().metadata.second_call_number," ")}}function ki(t,n){if(t&1&&(a(0,"dt",2),s(1,"Call number"),o(),a(2,"dd"),g(3,"shared-inherited-call-number",3),p(4,Bi,1,1),o()),t&2){let e=d(2);r(3),_("item",e.record()),r(),m(e.record().metadata.second_call_number?4:-1)}}function Mi(t,n){if(t&1&&(p(0,ki,5,2),c(1,"json"),c(2,"json")),t&2){let e=n;m(u(1,1,e.first)!=="{}"||u(2,3,e.second)!=="{}"?0:-1)}}function Vi(t,n){if(t&1&&(a(0,"dt",2),s(1,"Barcode"),o(),a(2,"dd"),s(3),o()),t&2){let e=d();r(3),S(e.record().metadata.barcode)}}function Ni(t,n){if(t&1&&(a(0,"dt",2),s(1,"Current requests"),o(),a(2,"dd"),s(3),o()),t&2){let e=d();r(3),S(e.record().metadata.current_pending_requests)}}var gi=(()=>{class t{constructor(){this.record=h(),this.type=h(),this.detailUrl=h()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-inventory-brief-view"]],inputs:{record:[1,"record"],type:[1,"type"],detailUrl:[1,"detailUrl"]},decls:9,vars:11,consts:[[3,"routerLink"],[1,"metadata"],["translate",""],["context","first",3,"item"]],template:function(i,l){if(i&1&&(a(0,"h5")(1,"a",0),s(2),o()(),a(3,"dl",1),p(4,Mi,3,5),c(5,"itemHoldingsCallNumber"),c(6,"async"),p(7,Vi,4,1),p(8,Ni,4,1),o()),i&2){let f;r(),_("routerLink",A(9,Ri,l.record().metadata.pid)),r(),x(" ",l.record().metadata.ui_title_text," "),r(2),m((f=u(6,7,u(5,5,l.record())))?4:-1,f),r(3),m(l.record().metadata.barcode?7:-1),r(),m(l.record().metadata.current_pending_requests>0?8:-1)}},dependencies:[K,O,Be,Q,ge,Re],encapsulation:2,changeDetection:0})}}return t})();var qi=(t,n)=>[t,n],xi=(()=>{class t{constructor(){this.dialogService=C(Se),this.translateService=C(J),this.resourcePid=h(),this.resourceType=h("item"),this.permissions=B,this.permissionOperator=te}openDialog(){this.dialogService.open(fi,{header:this.translateService.instant("Circulation history"),modal:!0,closable:!0,width:"60vw",position:"top",data:{resourceType:this.resourceType(),resourcePid:this.resourcePid()}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-circulation-logs-dialog"]],inputs:{resourcePid:[1,"resourcePid"],resourceType:[1,"resourceType"]},decls:2,vars:10,consts:[["icon","fa fa-history","outlined","","severity","secondary",3,"onClick","id","label","permissions","operator"]],template:function(i,l){i&1&&(a(0,"p-button",0),c(1,"translate"),P("onClick",function(){return l.openDialog()}),o()),i&2&&_("id",Ce("",l.resourceType(),"-circulation-history"))("label",u(1,5,"Circulation history"))("permissions",de(7,qi,l.permissions.CIRC_ADMIN,l.permissions.OPLG_SEARCH))("operator",l.permissionOperator.AND)},dependencies:[V,re,M],encapsulation:2,changeDetection:0})}}return t})();var Ai=t=>["/circulation","patron",t,"fees"],Fi=t=>({event:t});function Oi(t,n){if(t&1&&(a(0,"div",6)(1,"div",7),s(2," Fees "),o(),a(3,"div",8)(4,"span",5),s(5,"Total"),o(),s(6,"\xA0 "),a(7,"p-tag",9),s(8),c(9,"currency"),o()()()),t&2){let e=d(2);r(8),S(I(9,1,e.total(),e.organisation.default_currency))}}function Ui(t,n){if(t&1&&(a(0,"div",10)(1,"div",11)(2,"a",12),s(3),o()(),a(4,"div"),s(5),c(6,"currency"),o()()),t&2){let e=n,i=d().$implicit,l=d(2);r(2),_("routerLink",A(9,Ai,e.metadata.patron.barcode[0]))("queryParams",A(11,Fi,i.metadata.pid)),r(),ne(" ",e.metadata.last_name," ",e.metadata.first_name," (",e.metadata.patron.barcode[0],") "),r(2),S(I(6,6,i.metadata.total_amount,l.organisation.default_currency))}}function ji(t,n){if(t&1&&(p(0,Ui,7,13,"div",10),c(1,"getRecord"),c(2,"async")),t&2){let e,i=n.$implicit;m((e=u(2,4,I(1,1,i.metadata.patron.pid,"patrons")))?0:-1,e)}}function $i(t,n){if(t&1&&(a(0,"p-panel",1),$(1,Oi,10,4,"ng-template",null,0,oe),a(3,"div",2)(4,"div",3)(5,"div",4),s(6,"Patron"),o(),a(7,"div",5),s(8,"Amount"),o()(),a(9,"div"),H(10,ji,3,6,null,null,ce),o()()()),t&2){let e=d();r(10),G(e.fees())}}var hi=(()=>{class t{constructor(){this.patronTransactionApiService=C(Ci),this.appStore=C(N),this.itemPid=h(),this._fees=W(U(this.itemPid).pipe(F(e=>e?this.patronTransactionApiService.getActiveFeesByItemPid(e):k([]))),{initialValue:[]}),this.fees=R(()=>this._fees()),this.total=R(()=>this.fees().reduce((e,i)=>e+i.metadata.total_amount,0))}get organisation(){return this.appStore.organisation()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-item-fees"]],inputs:{itemPid:[1,"itemPid"]},decls:1,vars:1,consts:[["header",""],["id","item-fees"],[1,"ui:flex","ui:gap-2","ui:flex-col","ui:py-4"],[1,"ui:flex","ui:px-4"],["translate","",1,"ui:grow","ui:font-bold"],["translate","",1,"ui:font-bold"],[1,"ui:flex","ui:w-full","ui:items-center"],["translate","",1,"p-panel-title","ui:grow"],[1,"ui:order-2"],["severity","danger"],[1,"ui:flex","ui:odd:bg-surface-50","ui:py-2","ui:px-4"],[1,"ui:grow"],[3,"routerLink","queryParams"]],template:function(i,l){i&1&&p(0,$i,12,0,"p-panel",1),i&2&&m(l.fees().length>0?0:-1)},dependencies:[ke,O,Xt,K,Q,xe,ae],encapsulation:2,changeDetection:0})}}return t})();var Hi=t=>["/circulation","patron",t];function Gi(t,n){if(t&1&&(a(0,"div",1),s(1),o(),a(2,"div",3),s(3),c(4,"dateTranslate"),o()),t&2){let e=d(3);r(),x(" ",e.transaction().metadata.extension_count?e.transaction().metadata.extension_count:"-"," "),r(2),x(" ",I(4,2,e.transaction().metadata.end_date,"longDate")," ")}}function zi(t,n){if(t&1){let e=w();a(0,"p-select",8),P("ngModelChange",function(l){b(e);let f=d(4);return T(f.currentPickupLocation.set(l))})("onChange",function(l){b(e);let f=d(4);return T(f.emitUpdatePickupLocation(l))}),o()}if(t&2){let e=d(4);_("options",e.pickupLocations())("ngModel",e.currentPickupLocation())}}function Qi(t,n){if(t&1&&(a(0,"div",5),c(1,"translate"),s(2),c(3,"getRecord"),c(4,"async"),o()),t&2){let e=d(4);_("title",u(1,2,"The pickup location cannot be modified")),r(2),x(" ",u(4,9,z(3,4,e.transaction().metadata.pickup_location_pid,"locations","field","pickup_name"))," ")}}function Ji(t,n){if(t&1){let e=w();p(0,zi,1,2,"p-select",4)(1,Qi,5,11,"div",5),a(2,"div",3),s(3),c(4,"dateTranslate"),o(),a(5,"div",6)(6,"p-button",7),c(7,"translate"),P("onClick",function(){b(e);let l=d(3);return T(l.showCancelRequestDialog())}),o()()}if(t&2){let e=d(3);m(e.canUpdateRequestPickupLocation()?0:1),r(3),x(" ",I(4,5,e.transaction().created,"medium")," "),r(3),_("disabled",!e.canCancelRequest())("tooltipDisabled",e.canCancelRequest())("pTooltip",u(7,8,"The request cannot be cancelled"))}}function Ki(t,n){if(t&1&&(a(0,"div",0)(1,"div",1)(2,"a",2),s(3),o()(),p(4,Gi,5,5),p(5,Ji,8,10),o()),t&2){let e=n,i=d(2);_("id",yt(e.metadata.patron.barcode[0])),r(2),_("routerLink",A(8,Hi,e.metadata.patron.barcode[0])),r(),ne(" ",e.metadata.last_name," ",e.metadata.first_name," (",e.metadata.patron.barcode,") "),r(),m(i.type()==="loan_borrow"?4:-1),r(),m(i.type()==="loan_request"&&i.pickupLocations().length>0?5:-1)}}function Wi(t,n){if(t&1&&(p(0,Ki,6,10,"div",0),c(1,"getRecord"),c(2,"async")),t&2){let e,i=d();m((e=u(2,4,I(1,1,i.transaction().metadata.patron_pid,"patrons")))?0:-1,e)}}var Si=(()=>{class t{constructor(){this.appStore=C(N),this.itemService=C(di),this.loanService=C(Ne),this.confirmationService=C($e),this.translateService=C(J),this.transaction=h(),this.type=h(),this.background=h(),this.itemPid=h(),this.cancelRequestEvent=ee(),this.updatePickupLocationEvent=ee(),this._authorizedTypes=["loan_request"],this._fetchedLocations=W(U(this.type).pipe(F(e=>{if(!e||!this._authorizedTypes.includes(e))return k(null);let i=this.appStore.currentLibraryPid();return this.itemService.getPickupLocations(this.itemPid()).pipe(L(l=>(l??[]).map(f=>({label:f.pickup_name||f.name,value:f.pid,_isDefault:f.library.pid===i}))))})),{initialValue:null}),this.pickupLocations=R(()=>this._fetchedLocations()??[]),this.currentPickupLocation=q(null),ie(()=>{let e=this._fetchedLocations();if(e){let i=this.transaction()?.metadata?.pickup_location_pid;this.currentPickupLocation.set(e.find(l=>l.value===i)??null)}})}canCancelRequest(){return this.loanService.canCancelRequest(this.transaction())}canUpdateRequestPickupLocation(){return this.loanService.canUpdateRequestPickupLocation(this.transaction())}showCancelRequestDialog(){this.confirmationService.confirm({header:this.translateService.instant("Cancel request"),message:this.translateService.instant("Do you really want to cancel the request?"),acceptLabel:this.translateService.instant("Yes"),rejectLabel:this.translateService.instant("No"),icon:"fa fa-exclamation-triangle fa-2x core:text-red-500",acceptButtonStyleClass:"core:bg-red-500 core:border-red-500",rejectButtonStyleClass:"p-button-text",accept:()=>this.emitCancelRequest()})}emitCancelRequest(){this.cancelRequestEvent.emit(this.transaction())}emitUpdatePickupLocation(e){this.updatePickupLocationEvent.emit({pickupLocationPid:e.value.value,transaction:this.transaction()})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-item-transaction"]],inputs:{transaction:[1,"transaction"],type:[1,"type"],background:[1,"background"],itemPid:[1,"itemPid"]},outputs:{cancelRequestEvent:"cancelRequestEvent",updatePickupLocationEvent:"updatePickupLocationEvent"},features:[ve([$e])],decls:2,vars:1,consts:[[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:py-2","ui:px-4","ui:items-center","ui:odd:bg-surface-50",3,"id"],[1,"ui:col-span-4"],["name","loans",3,"routerLink"],[1,"ui:col-span-3"],["optionLabel","label",1,"ui:col-span-4",3,"options","ngModel"],[1,"ui:col-span-4",3,"title"],[1,"ui:col-span-1","ui:text-right"],["outlined","","severity","danger","size","small","icon","fa fa-trash-o","tooltipPosition","top",1,"ui:pointer-events-auto",3,"onClick","disabled","tooltipDisabled","pTooltip"],["optionLabel","label",1,"ui:col-span-4",3,"ngModelChange","onChange","options","ngModel"]],template:function(i,l){i&1&&(g(0,"p-confirmDialog"),p(1,Wi,3,6)),i&2&&(r(),m(l.transaction()?1:-1))},dependencies:[K,Ie,be,ye,Bt,V,ni,Te,Q,M,we,ae],encapsulation:2,changeDetection:0})}}return t})();var Xi=(t,n)=>n.id;function Yi(t,n){if(t&1&&(a(0,"p-panel",2),c(1,"translate"),a(2,"div",4)(3,"div",5)(4,"div",6),s(5,"Patron"),o(),a(6,"div",6),s(7,"Renewal"),o(),a(8,"div",7),s(9,"Due date"),o()(),g(10,"admin-item-transaction",8),o()()),t&2){let e=d();_("header",u(1,3,"Borrowed by"))("permissions",e.permissions.CIRC_ADMIN),r(10),_("transaction",e.borrowedBy()[0])}}function Zi(t,n){if(t&1){let e=w();a(0,"div",9)(1,"div",10),s(2," Requested by "),o(),a(3,"div",11)(4,"p-button",12),c(5,"translate"),P("onClick",function(){b(e);let l=d();return T(l.addRequest())}),o()()()}t&2&&(r(4),_("label",Ce("",u(5,2,"Add")," \u2026")))}function en(t,n){if(t&1){let e=w();a(0,"div",14)(1,"admin-item-transaction",15),P("cancelRequestEvent",function(l){b(e);let f=d(2);return T(f.cancelRequest(l))})("updatePickupLocationEvent",function(l){b(e);let f=d(2);return T(f.updateRequestPickupLocation(l))}),o()()}if(t&2){let e=n.$implicit,i=d(2);r(),_("transaction",e)("itemPid",i.itemPid())}}function tn(t,n){if(t&1&&(a(0,"div",13)(1,"div",6),s(2,"Patron"),o(),a(3,"div",6),s(4,"Pick-up Location"),o(),a(5,"div",7),s(6,"Request date"),o()(),a(7,"div"),H(8,en,2,2,"div",14,Xi),o()),t&2){let e=d();r(8),G(e.requestedBy())}}function nn(t,n){t&1&&(a(0,"div",3),s(1,"No pending request"),o())}var yi=(()=>{class t{constructor(){this.messageService=C(he),this.dialogService=C(Se),this.loanService=C(Ne),this.translateService=C(J),this.appStore=C(N),this.itemPid=h(),this.requestEvent=ee(),this.permissions=B,this._loans=W(U(this.itemPid).pipe(F(e=>e?st([this.loanService.borrowedBy$(e),this.loanService.requestedBy$(e)]):k([[],[]]))),{initialValue:[[],[]]}),this.borrowedBy=R(()=>this._loans()[0]),this.requestedBy=q([]),this.destroyRef=C(_e),ie(()=>this.requestedBy.set(this._loans()[1]))}addRequest(){this.dialogService.open(mi,{header:this.translateService.instant("Item request"),modal:!0,width:"40vw",closable:!0,data:{recordPid:this.itemPid(),recordType:"item"}}).onClose.pipe(Ee(this.destroyRef)).subscribe(i=>{i&&(this.requestEvent.emit(null),this._refreshRequestList())})}cancelRequest(e){this.loanService.cancelLoan(this.itemPid(),e.metadata.pid,this.appStore.currentLibraryPid()).subscribe(i=>{this.messageService.add({severity:"warn",summary:this.translateService.instant("Request"),detail:this.translateService.instant("The pending request has been cancelled."),life:He.MESSAGE_LIFE}),this.requestEvent.emit(null),this._refreshRequestList()})}updateRequestPickupLocation(e){this.loanService.updateLoanPickupLocation(e.transaction.metadata.pid,e.pickupLocationPid).subscribe(i=>{this.messageService.add({severity:"success",summary:this.translateService.instant("Request"),detail:this.translateService.instant("The pickup location has been changed."),life:He.MESSAGE_LIFE}),this._refreshRequestList()})}_refreshRequestList(){this.loanService.requestedBy$(this.itemPid()).subscribe(e=>this.requestedBy.set(e))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-item-transactions"]],inputs:{itemPid:[1,"itemPid"]},outputs:{requestEvent:"requestEvent"},decls:7,vars:2,consts:[["header",""],[1,"ui:flex","ui:flex-col","ui:gap-4"],["id","item-loans-requests",3,"header","permissions"],["translate","",1,"ui:p-4"],[1,"ui:pb-3"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:px-4","ui:py-2"],["translate","",1,"ui:col-span-4","ui:font-bold"],["translate","",1,"ui:col-span-3","ui:font-bold"],["type","loan_borrow",3,"transaction"],[1,"ui:flex","ui:w-full","ui:items-center"],["translate","",1,"p-panel-title","ui:grow"],[1,"ui:order-2"],["outlined","","size","small","icon","fa fa-plus-square-o",3,"onClick","label"],[1,"ui:grid","ui:grid-cols-12","ui:gap-4","ui:px-4"],[1,"ui:py-2","ui:odd:bg-surface-50"],["type","loan_request",3,"cancelRequestEvent","updatePickupLocationEvent","transaction","itemPid"]],template:function(i,l){i&1&&(a(0,"div",1),p(1,Yi,11,5,"p-panel",2),a(2,"p-panel"),$(3,Zi,6,4,"ng-template",null,0,oe),p(5,tn,10,0)(6,nn,2,0,"div",3),o()()),i&2&&(r(),m(l.borrowedBy().length>0?1:-1),r(4),m(l.requestedBy().length>0?5:6))},dependencies:[ke,re,O,Si,V,M],encapsulation:2,changeDetection:0})}}return t})();var on=t=>["/records","documents","detail",t],an=t=>["/records","holdings","detail",t],bi=()=>({}),rn=(t,n)=>({first:t,second:n}),ln=t=>["/records","collections","detail",t],sn=(t,n)=>({"fa-eye text-success":t,"fa-eye-slash ui:text-muted-color":n}),cn=(t,n)=>n.metadata.pid;function dn(t,n){if(t&1&&(g(0,"p-button",0),c(1,"translate")),t&2){let e,i=d(2);_("text",!0)("routerLink",A(5,an,(e=i.record())==null?null:e.metadata.holding.pid))("label",u(1,3,"Back to parent holding"))}}function pn(t,n){if(t&1&&g(0,"admin-record-masked",2),t&2){let e=d(2);_("record",e.record())("withLabel",!0)}}function mn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Call number"),o(),a(2,"dd"),g(3,"shared-inherited-call-number",21),o()),t&2){let e=d(3);r(3),_("item",e.record())}}function un(t,n){t&1&&(p(0,mn,4,1),c(1,"json"),c(2,"json")),t&2&&m(u(1,1,n)!==u(2,3,de(7,rn,Ue(5,bi),Ue(6,bi)))?0:-1)}function _n(t,n){if(t&1&&(a(0,"dt",4),s(1,"Second call number"),o(),a(2,"dd"),s(3),o()),t&2){let e,i=d(2);r(3),S((e=i.record())==null?null:e.metadata.second_call_number)}}function fn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Unit"),o(),a(2,"dd"),s(3),o()),t&2){let e,i=d(2);r(3),S((e=i.record())==null?null:e.metadata.enumerationAndChronology)}}function Cn(t,n){t&1&&(a(0,"span",24),g(1,"i",25),s(2),c(3,"dateTranslate"),o()),t&2&&(r(2),x(" ",I(3,1,n,"shortDate")," "))}function vn(t,n){if(t&1&&(a(0,"del",22),s(1),o(),a(2,"span",23),s(3),c(4,"getRecord"),c(5,"async"),p(6,Cn,4,4,"span",24),o()),t&2){let e,i;d();let l=Oe(12),f=d();r(),S(l),r(2),x(" ",u(5,8,z(4,3,(e=f.record())==null?null:e.metadata.temporary_item_type.pid,"item_types","field","name"))," "),r(3),m((i=(i=f.record())==null?null:i.metadata.temporary_item_type.end_date)?6:-1,i)}}function gn(t,n){if(t&1&&s(0),t&2){d();let e=Oe(12);x(" ",e," ")}}function xn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Library"),o(),a(2,"dd"),s(3),c(4,"getRecord"),c(5,"async"),o()),t&2){let e=d(2);r(3),x(" ",u(5,6,z(4,1,e.location().metadata.library.pid,"libraries","field","name"))," ")}}function hn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Location"),o(),a(2,"dd"),s(3),o()),t&2){let e=d(2);r(3),S(e.location().metadata.name)}}function Sn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Temporary location"),o(),a(2,"dd"),s(3),c(4,"getRecord"),c(5,"async"),o()),t&2){let e,i=d(2);r(3),S(u(5,6,z(4,1,(e=i.record())==null?null:e.metadata.temporary_location.pid,"locations","field","name")))}}function yn(t,n){if(t&1&&(a(0,"a",5),s(1),o(),s(2)),t&2){let e=n.$implicit,i=n.$index,l=n.$count;_("routerLink",A(3,ln,e.metadata.pid)),r(),S(e.metadata.title),r(),x(" ",i===l-1?"":"; "," ")}}function bn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Exhibition/course"),o(),a(2,"dd"),H(3,yn,3,5,null,null,cn),o()),t&2){let e=d();r(3),G(e)}}function Tn(t,n){t&1&&p(0,bn,5,0),t&2&&m(n.length>0?0:-1)}function In(t,n){if(t&1&&(s(0),c(1,"dateTranslate")),t&2){let e,i=d(2);x(" (",I(1,1,(e=i.record())==null?null:e.metadata.acquisition_date,"shortDate"),") ")}}function En(t,n){if(t&1&&(a(0,"dt",4),s(1,"Price"),o(),a(2,"dd"),s(3),c(4,"currency"),o()),t&2){let e,i=d(2);r(3),S(bt(4,1,(e=i.record())==null?null:e.metadata.price,i.organisationCurrency,"symbol"))}}function Pn(t,n){if(t&1&&(a(0,"dt",4),s(1,"PAC code"),o(),a(2,"dd"),s(3),c(4,"translate"),o()),t&2){let e,i=d(2);r(3),S(u(4,1,(e=i.record())==null?null:e.metadata.pac_code))}}function Dn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Online access"),o(),a(2,"dd")(3,"a",26),c(4,"safeUrl"),s(5),o()()),t&2){let e,i,l=d(2);r(3),_("href",u(4,2,(e=l.record())==null?null:e.metadata.url),ft),r(2),S((i=l.record())==null?null:i.metadata.url)}}function wn(t,n){if(t&1&&(a(0,"dt",4),s(1,"Sorting date"),o(),a(2,"dd"),s(3),c(4,"dateTranslate"),o()),t&2){let e,i=d(3);r(3),S(u(4,1,(e=i.record())==null?null:e.metadata.issue.sort_date))}}function Ln(t,n){if(t&1&&(s(0),c(1,"dateTranslate")),t&2){let e,i=d(3);x(" ",u(1,1,(e=i.record())==null?null:e.metadata.issue.received_date)," ")}}function Rn(t,n){t&1&&(a(0,"span",27),s(1,"Not yet received"),o())}function Bn(t,n){if(t&1&&(a(0,"section",1)(1,"h3",4),s(2,"Issue data"),o(),a(3,"dl",3)(4,"dt",4),s(5,"Regular issue"),o(),a(6,"dd"),g(7,"i",7),o(),p(8,wn,5,3),a(9,"dt",4),s(10,"Expected date"),o(),a(11,"dd"),s(12),c(13,"dateTranslate"),o(),a(14,"dt",4),s(15,"Received date"),o(),a(16,"dd"),p(17,Ln,2,3)(18,Rn,2,0,"span",27),o(),a(19,"dt",4),s(20,"Status"),o(),a(21,"dd"),g(22,"i",28),s(23),c(24,"translate"),c(25,"dateTranslate"),o()()()),t&2){let e,i,l,f,y,j,D=d(2);r(7),_("ngClass",(e=D.record())!=null&&e.metadata.issue.regular?"fa-check text-success":"fa-times text-error"),r(),m((i=D.record())!=null&&i.metadata.issue.sort_date?8:-1),r(4),S(u(13,7,(l=D.record())==null?null:l.metadata.issue.expected_date)),r(5),m(((f=D.record())==null?null:f.metadata.issue.status)===D.issueItemStatus.RECEIVED?17:18),r(5),_("ngClass",D.getIcon((y=D.record())==null?null:y.metadata.issue.status)),r(),fe(" ",u(24,9,(j=D.record())==null?null:j.metadata.issue.status)," (",u(25,11,(j=D.record())==null?null:j.metadata.issue.status_date),") ")}}function kn(t,n){if(t&1&&(a(0,"dt"),g(1,"i",29),c(2,"translate"),c(3,"translate"),s(4),c(5,"translate"),o(),g(6,"dd",30),c(7,"nl2br")),t&2){let e=n.$implicit,i=d(3);r(),_("pTooltip",i.isPublicNote(e)?u(2,4,"Public notes"):u(3,6,"Staff notes"))("ngClass",de(12,sn,i.isPublicNote(e),!i.isPublicNote(e))),r(3),x(" \xA0",u(5,8,e.type)," "),r(2),_("innerHTML",u(7,10,e.content),_t)}}function Mn(t,n){if(t&1&&(a(0,"section",1)(1,"h3",4),s(2,"Notes"),o(),a(3,"dl",3),H(4,kn,8,15,null,null,ce),o()()),t&2){let e,i=d(2);r(4),G((e=i.record())==null?null:e.metadata.notes)}}function Vn(t,n){t&1&&(a(0,"p-tab",11),g(1,"i",31),s(2,"\xA0 "),a(3,"span",4),s(4,"Local fields"),o()())}function Nn(t,n){t&1&&(s(0),c(1,"translate")),t&2&&S(u(1,1,"Claim"))}function qn(t,n){t&1&&(s(0),c(1,"translate")),t&2&&S(u(1,1,"Claim"))}function An(t,n){t&1&&(s(0),c(1,"translate")),t&2&&S(u(1,1,"Claims"))}function Fn(t,n){if(t&1&&(a(0,"p-tab",12),g(1,"i",32),a(2,"span",33),$(3,Nn,2,3,"ng-template",34)(4,qn,2,3,"ng-template",35)(5,An,2,3,"ng-template",36),o(),g(6,"p-badge",37),o()),t&2){let e,i,l=d(2);r(2),_("ngPlural",(e=l.record())==null?null:e.metadata.issue.claims.counter),r(4),_("value",(i=l.record())==null?null:i.metadata.issue.claims.counter)}}function On(t,n){if(t&1&&(a(0,"section",18)(1,"dl",3)(2,"dt",4),s(3," Legacy checkout count "),o(),a(4,"dd"),s(5),o()()()),t&2){let e,i=d(2);r(5),x(" ",(e=i.record())==null?null:e.metadata.legacy_checkout_count," ")}}function Un(t,n){if(t&1&&(a(0,"p-tabpanel",19),g(1,"admin-local-field",38),o()),t&2){let e,i,l=d(2);r(),_("resourceType","items")("resourcePid",(e=l.record())==null?null:e.metadata.pid)("resourceLibraryPid",(i=l.record())==null?null:i.metadata.library.pid)}}function jn(t,n){if(t&1&&(a(0,"li"),s(1),c(2,"dateTranslate"),c(3,"dateTranslate"),o()),t&2){let e=n.$implicit;r(),fe(" ",I(2,2,e,"shortDate")," - ",I(3,5,e,"shortTime")," ")}}function $n(t,n){if(t&1&&(a(0,"p-tabpanel",20)(1,"ul",39),H(2,jn,4,8,"li",null,ce),o()()),t&2){let e=d(2);r(2),G(e.claimsDates)}}function Hn(t,n){if(t&1){let e=w();p(0,dn,2,7,"p-button",0),a(1,"h1"),s(2),c(3,"translate"),o(),a(4,"section",1),p(5,pn,1,2,"admin-record-masked",2),a(6,"dl",3),p(7,un,3,10),c(8,"itemHoldingsCallNumber"),c(9,"async"),p(10,_n,4,1),p(11,fn,4,1),ht(12),c(13,"getRecord"),c(14,"async"),a(15,"dt",4),s(16,"Type"),o(),a(17,"dd"),p(18,vn,7,10)(19,gn,1,1),o(),a(20,"dt",4),s(21,"Document"),o(),a(22,"dd")(23,"a",5),s(24),c(25,"getRecord"),c(26,"async"),c(27,"mainTitle"),o()(),p(28,xn,6,8),p(29,hn,4,1),p(30,Sn,6,8),p(31,Tn,1,1),c(32,"itemInCollection"),c(33,"async"),a(34,"dt",4),s(35,"Availability"),o(),a(36,"dd"),g(37,"shared-availability",6),o(),a(38,"dt",4),s(39,"New acquisition"),o(),a(40,"dd"),g(41,"i",7),p(42,In,2,4),o(),p(43,En,5,5),c(44,"keyExists"),p(45,Pn,5,3),c(46,"keyExists"),p(47,Dn,6,4),c(48,"keyExists"),o()(),p(49,Bn,26,13,"section",1),p(50,Mn,6,0,"section",1),a(51,"section",1)(52,"p-tabs",8)(53,"p-tablist")(54,"p-tab",9),g(55,"i",10),a(56,"span",4),s(57,"Circulation"),o()(),p(58,Vn,5,0,"p-tab",11),p(59,Fn,7,2,"p-tab",12),o(),a(60,"p-tabpanels")(61,"p-tabpanel",8)(62,"div",13)(63,"div",14),g(64,"admin-circulation-logs-dialog",15),o(),a(65,"admin-item-transactions",16),P("requestEvent",function(){b(e);let l=d();return T(l.updateItemStatus())}),o(),g(66,"admin-item-fees",17),p(67,On,6,1,"section",18),c(68,"keyExists"),o()(),p(69,Un,2,3,"p-tabpanel",19),p(70,$n,4,0,"p-tabpanel",20),o()()()}if(t&2){let e,i,l,f,y,j,D,Z,le,Ke,pe,We,Xe,Ye,Ze,et,tt,it,me,nt,ot,at,rt,ue,v=d();m(((e=v.record())==null?null:e.metadata.type)==="issue"?0:-1),r(2),fe("",u(3,33,"Barcode")," ",(i=v.record())==null?null:i.metadata.barcode),r(3),m((l=v.record())!=null&&l.metadata._masked?5:-1),r(2),m((f=u(9,37,u(8,35,v.record())))?7:-1,f),r(3),m((y=v.record())!=null&&y.metadata.second_call_number?10:-1),r(),m((j=v.record())!=null&&j.metadata.enumerationAndChronology?11:-1),r(),St(u(14,44,z(13,39,(D=v.record())==null?null:D.metadata.item_type.pid,"item_types","field","name"))),r(6),m(v.hasTemporaryItemType()?18:19),r(5),_("routerLink",A(72,on,(Z=v.record())==null?null:Z.metadata.document.pid)),r(),x(" ",u(27,54,u(26,52,z(25,47,(le=v.record())==null?null:le.metadata.document.pid,"documents","field","title")))," "),r(4),m(v.location()?28:-1),r(),m(v.location()?29:-1),r(),m((Ke=v.record())!=null&&Ke.metadata.temporary_location?30:-1),r(),m((pe=u(33,58,u(32,56,(pe=v.record())==null?null:pe.metadata.pid)))?31:-1,pe),r(6),_("record",v.record())("apiService",v.itemApiService),r(4),_("ngClass",(We=v.record())!=null&&We.metadata.acquisition_date?"fa-check text-success":"fa-times text-error"),r(),m((Xe=v.record())!=null&&Xe.metadata.acquisition_date?42:-1),r(),m(I(44,60,(Ye=v.record())==null?null:Ye.metadata,"price")?43:-1),r(2),m(I(46,63,(Ze=v.record())==null?null:Ze.metadata,"pac_code")?45:-1),r(2),m(I(48,66,(et=v.record())==null?null:et.metadata,"url")?47:-1),r(2),m(((tt=v.record())==null?null:tt.metadata.type)==="issue"?49:-1),r(),m((it=v.record())!=null&&it.metadata.notes?50:-1),r(8),m(v.showLocalFieldsTab()?58:-1),r(),m(!((me=v.record())==null||me.metadata==null||me.metadata.issue==null)&&me.metadata.issue.claims?59:-1),r(5),_("resourcePid",(nt=v.record())==null?null:nt.metadata.pid)("resourceType","item"),r(),_("itemPid",(ot=v.record())==null?null:ot.metadata.pid),r(),_("itemPid",(at=v.record())==null?null:at.metadata.pid)("permissions",v.permissions.PTTR_ACCESS),r(),m(I(68,69,(rt=v.record())==null?null:rt.metadata,"legacy_checkout_count")?67:-1),r(2),m(v.showLocalFieldsTab()?69:-1),r(),m(!((ue=v.record())==null||ue.metadata==null||ue.metadata.issue==null)&&ue.metadata.issue.claims?70:-1)}}var Ti=(()=>{class t{constructor(){this.itemApiService=C(qe),this.recordService=C(X),this.holdingService=C(li),this.appStore=C(N),this.record=It(),this.type=h(""),this.recordPermissions=h(),this.permissions=B,this.permissionOperator=te,this.location=q(null),this.issueItemStatus=Le,this.showLocalFieldsTab=R(()=>this.appStore.canAccess([B.LOFI_SEARCH,B.LOFI_CREATE])),ie(()=>{let e=this.record();e!=null&&this.recordService.getRecord("locations",e.metadata.location.pid,{resolve:1}).subscribe(i=>this.location.set(i))})}get organisationCurrency(){return this.appStore.organisation().default_currency}get claimsDates(){return this.record()?.metadata.issue.claims.dates.sort((e,i)=>new Date(i).getTime()-new Date(e).getTime())}isPublicNote(e){return ci.PUBLIC_NOTE_TYPES.includes(e.type)}hasTemporaryItemType(){let e=this.record()?.metadata;if(e&&"temporary_item_type"in e){let i=e.temporary_item_type.end_date||void 0;return!(i&&je.fromISO(i)<je.now())}return!1}updateItemStatus(){this.recordService.getRecord("items",this.record()?.metadata.pid,{resolve:1}).subscribe(e=>this.record.set(e))}getIcon(e){return this.holdingService.getIcon(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=E({type:t,selectors:[["admin-item-detail-view"]],inputs:{record:[1,"record"],type:[1,"type"],recordPermissions:[1,"recordPermissions"]},outputs:{record:"recordChange"},features:[ve([Ae])],decls:1,vars:1,consts:[["icon","fa fa-arrow-left","severity","secondary",3,"text","routerLink","label"],[1,"ui:mt-4"],[3,"record","withLabel"],[1,"metadata"],["translate",""],[3,"routerLink"],["recordType","item",3,"record","apiService"],["aria-hidden","true",1,"fa",3,"ngClass"],["value","circulation"],["value","circulation",1,"ui:flex","ui:items-center","ui:!gap-2"],[1,"fa","fa-exchange"],["value","field",1,"ui:flex","ui:items-center","ui:!gap-2"],["value","claim",1,"ui:flex","ui:items-center","ui:!gap-2"],[1,"ui:flex","ui:flex-col","ui:gap-4"],[1,"ui:flex","ui:justify-end"],[3,"resourcePid","resourceType"],[3,"requestEvent","itemPid"],[3,"itemPid","permissions"],[1,"ui:border","ui:rounded-border","ui:border-surface","ui:p-2"],["value","field"],["value","claim"],["context","first",3,"item"],[1,"text-error"],[1,"text-success"],[1,"ui:text-sm"],["aria-hidden","true",1,"fa","fa-long-arrow-right"],[3,"href"],["translate","",1,"ui:text-muted-color","ui:italic"],[1,"fa",3,"ngClass"],["tooltipPosition","top",1,"fa","ui:text-sm",3,"pTooltip","ngClass"],[3,"innerHTML"],[1,"fa","fa-list-ul","ui:mr-1"],[1,"fa","fa-gavel"],[3,"ngPlural"],["ngPluralCase","=0"],["ngPluralCase","=1"],["ngPluralCase","other"],["severity","info",3,"value"],[3,"resourceType","resourcePid","resourceLibraryPid"],[1,"ui:list-none"]],template:function(i,l){i&1&&p(0,Hn,71,74),i&2&&m(l.record()?0:-1)},dependencies:[V,K,ri,O,Be,ii,Et,Te,Ot,Ut,jt,Pt,Dt,Ht,$t,xi,yi,hi,re,_i,wt,Q,ge,xe,M,we,ae,Re,ti,Yt,Gt,Zt,ui],styles:["dl[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{margin-bottom:0}"],changeDetection:0})}}return t})();function Gn(t,n){if(t&1){let e=w();a(0,"p-button",7),c(1,"translate"),P("click",function(){b(e);let l=d(3);return T(l.openClaimEmailDialog())}),o()}t&2&&_("label",u(1,1,"Add a claim"))}function zn(t,n){if(t&1&&g(0,"shared-operation-logs-dialog",6),t&2){let e,i=d(3);_("resourcePid",(e=i.record())==null?null:e.metadata.pid)}}function Qn(t,n){if(t&1&&(p(0,Gn,2,3,"p-button",5),p(1,zn,1,1,"shared-operation-logs-dialog",6)),t&2){let e,i,l=d(2);m(!((e=l.resolvedRecordPermissions())==null||e.update==null)&&e.update.can&&l.isIssue&&l.isClaimAllowed?0:-1),r(),m(l.appStore.isLogVisible("items")&&((i=l.record())!=null&&i.metadata.pid)?1:-1)}}function Jn(t,n){if(t&1){let e=w();a(0,"ng-core-detail-button",3),P("recordEvent",function(l){b(e);let f=d();return T(f.recordEvent(l))})("deleteMessageEvent",function(l){b(e);let f=d();return T(f.showDeleteMessage(l))}),vt(1,4),p(2,Qn,2,2),gt(),o()}if(t&2){let e=d();_("record",e.record())("type",e.type())("adminMode",e.adminMode())("useStatus",e.useStatus())("updateStatus",e.updateStatus())("deleteStatus",e.deleteStatus()),r(2),m(e.record()?2:-1)}}function Kn(t,n){if(t&1&&g(0,"ng-core-error",2),t&2){let e=d();_("error",e.error())}}var Ii=(()=>{class t extends Wt{constructor(){super(...arguments),this._destroyRef=C(_e),this.issueService=C(Ae),this.recordPermissionService=C(oi),this.appStore=C(N),this.recordPermissions=W(U(this.record).pipe(F(e=>{let i=e?.metadata?.pid;return i?this.recordPermissionService.getPermission("items",i).pipe(pt(l=>{this._recordPermissionsValue.set(this.recordPermissionService.membership(this.appStore.currentLibraryPid(),e?.metadata?.library?.pid,l))})):k(null)})),{initialValue:null}),this._recordPermissionsValue=q(null),this.resolvedRecordPermissions=R(()=>this._recordPermissionsValue())}get isIssue(){return this.record()?.metadata?.type==="issue"}get isClaimAllowed(){return this.issueService.isClaimAllowed(this.record()?.metadata?.issue?.status)}openClaimEmailDialog(){this.issueService.openClaimEmailDialog(this.record()).onClose.pipe(Ee(this._destroyRef)).subscribe(i=>{i&&this.router.navigate([],{relativeTo:this.route})})}static{this.\u0275fac=(()=>{let e;return function(l){return(e||(e=ut(t)))(l||t)}})()}static{this.\u0275cmp=E({type:t,selectors:[["admin-item-page-detail"]],features:[Ct],decls:5,vars:2,consts:[["dynamicHost",""],[3,"record","type","adminMode","useStatus","updateStatus","deleteStatus"],[3,"error"],[3,"recordEvent","deleteMessageEvent","record","type","adminMode","useStatus","updateStatus","deleteStatus"],["beforeButton",""],["outlined","","translate","",3,"label"],["resourceType","items",3,"resourcePid"],["outlined","","translate","",3,"click","label"]],template:function(i,l){i&1&&(a(0,"div"),p(1,Jn,3,7,"ng-core-detail-button",1),p(2,Kn,1,1,"ng-core-error",2),xt(3,null,0),o()),i&2&&(r(),m(l.record()?1:-1),r(),m(l.error()?2:-1))},dependencies:[Kt,V,O,ei,zt,M],encapsulation:2,changeDetection:0})}}return t})();var wr=()=>new Je().getTypes(),Lr=[{path:"",component:Jt,title:"Items",canActivate:[Qe],data:{permissions:[B.ITEM_ACCESS,B.ITEM_SEARCH],operator:te.AND}},{path:"detail/:pid",component:Ii,canActivate:[Ve],data:{action:Me.READ}},{path:"edit/:pid",component:ze,title:"Item",canActivate:[Ve],canDeactivate:[Ge],data:{action:Me.UPDATE}},{path:"switch_location/:pid",component:vi,title:"Item",canActivate:[Ve],data:{action:Me.UPDATE}},{path:"new",component:ze,title:"Item",canActivate:[Qe],canDeactivate:[Ge],data:{permissions:[B.HOLD_CREATE,B.ITEM_CREATE],permissionsOperator:te.AND}}],Je=class extends ai{constructor(){super(...arguments),this.recordService=C(X),this.name="items",this.recordType="items"}getTypes(){let n=[{key:this.name,label:"Items",editorSettings:{longMode:!0,template:{recordType:"templates",loadFromTemplate:!0,saveAsTemplate:!0}},component:gi,detailComponent:Ti,searchFilters:[this.expertSearchFilter()],preFilters:{organisation:null},canRead:e=>this.canRead(e),canAdd:()=>k({can:!1,message:""}),permissions:e=>this.routeToolService.permissions(e,this.recordType,!1),processFilterName:e=>this.processFilterName(e),preprocessRecordEditor:e=>{let i=this.routeToolService.getRouteQueryParam("holding");return i!==null&&this._populateItemFieldFromHolding(e,i),e},preCreateRecord:e=>(e.document==null&&(e.document={$ref:this.routeToolService.apiService.getRefEndpoint("documents",this.routeToolService.getRouteQueryParam("document"))}),e),preUpdateRecord:e=>(Object.hasOwn(e,"available")&&delete e.available,e),postprocessRecordEditor:e=>(e.issue&&(e.type!=="issue"?delete e.issue:e.issue.status!==Le.RECEIVED&&e.issue.received_date&&delete e.issue.received_date),e.notes&&e.notes.length===0&&delete e.notes,!Object.hasOwn(e,"acquisition_date")&&e.acquisition_date==null&&delete e.acquisition_date,e),formFieldMap:(e,i)=>this._populateLocationsByCurrentUserLibrary(e,i),redirectUrl:e=>this.getUrl(e),aggregationsBucketSize:10,aggregationsOrder:["document_type","library","location","item_type","temporary_location","temporary_item_type","status","current_requests"],aggregationsExpand:["document_type","library","location"],itemHeaders:{Accept:"application/rero+json, application/json"},listHeaders:{Accept:"application/rero+json, application/json"},exportFormats:[{label:"CSV",format:"csv",endpoint:this.routeToolService.apiService.getEndpointByType("item/inventory"),disableMaxRestResultsSize:!0}],sortOptions:[{label:"Relevance",value:"bestmatch",defaultQuery:!0,icon:"fa fa-sort-amount-desc"},{label:"Barcode",value:"barcode",icon:"fa fa-sort-alpha-asc"},{label:"Barcode (desc)",value:"-barcode",icon:"fa fa-sort-alpha-desc"},{label:"Call number",value:"call_number",icon:"fa fa-sort-alpha-asc"},{label:"Call number (desc)",value:"-call_number",icon:"fa fa-sort-alpha-desc"},{label:"Second call number",value:"second_call_number",icon:"fa fa-sort-alpha-asc"},{label:"Second call number (desc)",value:"-second_call_number",icon:"fa fa-sort-alpha-desc"},{label:"Current requests",value:"current_requests",icon:"fa fa-sort-amount-desc"}]}];return U(this.routeToolService.appStore.user,{injector:this.routeToolService.injector}).pipe(ct(e=>!!e),dt(1)).subscribe(()=>{let{patronLibrarian:e}=this.routeToolService.appStore.user();e&&(n[0].preFilters.organisation=e.organisation.pid)}),n}getUrl(n){let e=this.routeToolService.getRouteQueryParam("redirectTo");return e?k(e):this.redirectUrl(n.metadata.document,"/records/documents/detail")}_populateLocationsByCurrentUserLibrary(n,e){return e.widget?.formlyConfig?.props?.fieldMap==="location"&&(n.type="select",n.hooks=lt(se({},n.hooks),{afterContentInit:l=>{let f=this.routeToolService.apiService,y=this.routeToolService.recordService,D=`library.pid:${this.routeToolService.appStore.currentLibraryPid()}`;l.props.options=y.getRecords("locations",{query:D,page:1,itemsPerPage:X.MAX_REST_RESULTS_SIZE,sort:"name"}).pipe(L(Z=>+y.totalHits(Z.hits.total)==0?[]:Z.hits.hits),L(Z=>Z.map(le=>({label:le.metadata.name,value:f.getRefEndpoint("locations",le.metadata.pid)}))))}})),n}_populateItemFieldFromHolding(n,e){n.type=si.ISSUE,n.issue=n.issue||{},n.issue.regular=!0;try{JSON.parse(this.routeToolService.getRouteQueryParam("irregular","false"))&&(n.issue.regular=!1)}catch{}let i=this.routeToolService.datePipe.transform(Date.now(),"yyyy-MM-dd");n.enumerationAndChronology=this.routeToolService.getRouteQueryParam("enumerationAndChronology",""),n.issue.expected_date=this.routeToolService.getRouteQueryParam("expected_date",i),n.issue.received_date=this.routeToolService.getRouteQueryParam("received_date",i),this.routeToolService.recordService.getRecord("holdings",e).subscribe(l=>{n.item_type=l.metadata.circulation_category,n.location=l.metadata.location,n.document=l.metadata.document,n.holding={$ref:this.routeToolService.apiService.getRefEndpoint("holdings",e)}})}processFilterName(n){if(n.name)return k(n.name);switch(n.aggregationKey){case"item_type":case"temporary_item_type":return this.recordService.getRecord("item_types",n.key).pipe(L(e=>e.metadata.name));case"library":return this.recordService.getRecord("libraries",n.key).pipe(L(e=>e.metadata.name));case"location":case"temporary_location":return this.recordService.getRecord("locations",n.key).pipe(L(e=>e.metadata.name));default:return this.routeToolService.translateService.stream(n.key)}}};export{wr as a,Lr as b};