UNPKG

@rero/rero-ils-ui

Version:

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

2 lines (1 loc) 6.5 kB
import{a as Z}from"./chunk-BR2J44KJ.js";import{a as ee}from"./chunk-CGU6MK6Q.js";import{ea as W,j as Q,t as S,ua as Y}from"./chunk-4GRLSOJZ.js";import{Jb as J,Nb as X,O as z,Ub as $,Wa as K,fc as q}from"./chunk-MTJX6JRK.js";import{b as O,c as G}from"./chunk-GQ5FIRIY.js";import{ma as H}from"./chunk-4MYHQLZQ.js";import{W as L,da as A,ea as U,ha as M,qa as j}from"./chunk-WKOKZ3JO.js";import{Eb as N,H as E,Hc as r,Ic as f,Jc as x,Kc as I,O as b,Pc as R,Qc as V,Rc as P,Vb as p,Xb as m,Xc as T,Yc as k,ac as _,bc as a,cc as o,dc as y,dd as s,ed as c,fd as D,gb as n,hd as F,ia as v,r as h,sc as u,v as C,vd as g,yb as w}from"./chunk-3WD6XLXL.js";var te=t=>[t],ae=(t,i)=>({"fa-envelope":t,"fa-envelope-open-o":i});function oe(t,i){if(t&1&&(a(0,"dt",2),r(1,"Call number"),o(),a(2,"dd"),y(3,"shared-inherited-call-number",3),o()),t&2){let e=u(3);n(3),_("item",e.record())}}function re(t,i){if(t&1&&(p(0,oe,4,1),s(1,"json"),s(2,"json")),t&2){u();let e=P(4);m(c(1,1,e.first)!=="{}"||c(2,3,e.second)!=="{}"?0:-1)}}function se(t,i){if(t&1&&(a(0,"dt",2),r(1,"Barcode"),o(),a(2,"dd")(3,"a",0),r(4),o()()),t&2){let e=u(2);n(3),_("routerLink",T(2,te,e.detailUrl().link)),n(),f(e.record().metadata.barcode)}}function de(t,i){if(t&1&&(a(0,"dt",2),r(1,"Numbering"),o(),a(2,"dd"),r(3),o()),t&2){let e=u(2);n(3),x(" ",e.record().metadata.enumerationAndChronology," ")}}function ce(t,i){if(t&1&&(a(0,"dt",2),r(1,"Vendor"),o(),a(2,"dd"),r(3),s(4,"getRecord"),s(5,"async"),o()),t&2){let e=u(2);n(3),x(" ",c(5,6,F(4,1,e.record().metadata.vendor.pid,"vendors","field","name"))," ")}}function le(t,i){if(t&1&&(a(0,"dt",2),r(1,"Expected date"),o(),a(2,"dd"),r(3),s(4,"dateTranslate"),o()),t&2){let e=u(2);n(3),x(" ",c(4,1,e.record().metadata.issue.expected_date)," ")}}function pe(t,i){t&1&&(r(0),s(1,"translate")),t&2&&f(c(1,1,"Claim"))}function me(t,i){t&1&&(r(0),s(1,"translate")),t&2&&f(c(1,1,"Claims"))}function ue(t,i){if(t&1&&(a(0,"dt")(1,"span",4),N(2,pe,2,3,"ng-template",5)(3,me,2,3,"ng-template",6),o()(),a(4,"dd"),r(5),a(6,"span",7),r(7),s(8,"translate"),s(9,"dateTranslate"),o(),r(10),o()),t&2){let e=u(2);n(),_("ngPlural",e.record().metadata.issue.claims.counter),n(4),x(" ",e.record().metadata.issue.claims.counter,"\xA0 "),n(2),I(" (",c(8,5,"last claim"),": ",D(9,7,e.claimLastDate,"short"),") "),n(3),x(" ",e.record().metadata.issue.claims_count," ")}}function _e(t,i){if(t&1&&(a(0,"dt",2),r(1,"Issue status"),o(),a(2,"dd"),y(3,"i",8),r(4),s(5,"translate"),s(6,"dateTranslate"),o()),t&2){let e=i,d=u(2);n(3),_("ngClass",k(7,ae,e===d.issueItemStatus.EXPECTED,e===d.issueItemStatus.LATE)),n(),I(" ",c(5,3,e)," [",c(6,5,d.record().metadata.issue.status_date),"] ")}}function xe(t,i){if(t&1&&(a(0,"h5")(1,"a",0),r(2),o()(),a(3,"dl",1),R(4),s(5,"itemHoldingsCallNumber"),s(6,"async"),p(7,re,3,5),p(8,se,5,4),p(9,de,4,1),p(10,ce,6,8),p(11,le,5,3),p(12,ue,11,10),p(13,_e,7,10),o()),t&2){let e,d,l=u();n(),_("routerLink",T(14,te,l.parentUrl.link)),n(),f(l.record().metadata.ui_title_text),n(2);let ne=V(c(6,11,c(5,9,l.record())));n(3),m(ne?7:-1),n(),m(l.record().metadata.barcode?8:-1),n(),m(l.record().metadata.enumerationAndChronology?9:-1),n(),m(l.record().metadata.vendor?10:-1),n(),m(l.record().metadata.issue.expected_date?11:-1),n(),m(((e=l.record().metadata)==null||e.issue==null||e.issue.claims==null?null:e.issue.claims.counter)>0?12:-1),n(),m((d=l.record().metadata.issue.status)?13:-1,d)}}var ie=(()=>{class t{constructor(){this.recordUiService=v($),this.record=g(),this.type=g(),this.detailUrl=g(),this.issueItemStatus=S}get claimLastDate(){return this.record().metadata.issue.claims.dates.sort((e,d)=>new Date(d).getTime()-new Date(e).getTime())[0]}ngOnInit(){this.record()&&(this.parentUrl={link:`/records/holdings/detail/${this.record().metadata.holding.pid}`,external:!1})}static{this.\u0275fac=function(d){return new(d||t)}}static{this.\u0275cmp=w({type:t,selectors:[["admin-issues-brief-view"]],inputs:{record:[1,"record"],type:[1,"type"],detailUrl:[1,"detailUrl"]},decls:1,vars:1,consts:[[3,"routerLink"],[1,"metadata"],["translate",""],["context","first",3,"item"],[3,"ngPlural"],["ngPluralCase","=1"],["ngPluralCase","other"],[1,"ui:text-sm","ui:text-muted-color"],[1,"fa","text-warning",3,"ngClass"]],template:function(d,l){d&1&&p(0,xe,14,16),d&2&&m(l.record()?0:-1)},dependencies:[H,O,Y,A,U,L,M,j,G,J,X,W],encapsulation:2,changeDetection:0})}}return t})();var Fe=()=>new B().getTypes(),Le=[{path:"",component:q,title:"Late issues",canActivate:[Z],data:{permissions:[Q.ISSUE_MANAGEMENT]}}],B=class extends ee{constructor(){super(...arguments),this.recordService=v(K),this.name="issues",this.recordType="items"}getTypes(){let i=[{key:this.name,label:"Issues",index:"items",component:ie,searchFilters:[this.expertSearchFilter()],permissions:e=>this.routeToolService.permissions(e,this.recordType),processBucketName:e=>this.processBucketName(e),processFilterName:e=>this.processFilterName(e),preFilters:{or_issue_status:[S.LATE]},aggregationsBucketSize:10,aggregationsOrder:["library","location","item_type","vendor","claims_count","claims_date"],aggregationsExpand:["library"],listHeaders:{Accept:"application/rero+json, application/json"},exportFormats:[{label:"CSV",format:"csv",endpoint:this.routeToolService.apiService.getEndpointByType("item/inventory"),disableMaxRestResultsSize:!0}],showFacetsIfNoResults:!0}];return z(this.routeToolService.appStore.user,{injector:this.routeToolService.injector}).pipe(E(e=>!!e),b(1)).subscribe(()=>{let{patronLibrarian:e}=this.routeToolService.appStore.user();e&&(i[0].preFilters.organisation=e.organisation.pid)}),i}processBucketName(i){if(i.name)return h(i.name);if(i.aggregationKey==="claims_count"){let e=Number(i.doc_count)<2?"{{count}} claim":"{{count}} claims";return this.routeToolService.translateService.stream(e,{count:i.doc_count})}else return this.routeToolService.translateService.stream(i.key)}processFilterName(i){if(i.name)return h(i.name);switch(i.aggregationKey){case"claims_count":return this.routeToolService.translateService.stream("Claims");case"item_type":return this.recordService.getRecord("item_types",i.key).pipe(C(e=>e.metadata.name));case"library":return this.recordService.getRecord("libraries",i.key).pipe(C(e=>e.metadata.name));case"location":return this.recordService.getRecord("locations",i.key).pipe(C(e=>e.metadata.name));case"vendor":return this.recordService.getRecord("vendors",i.key).pipe(C(e=>e.metadata.name));default:return this.routeToolService.translateService.stream(i.key)}}};export{Fe as a,Le as b};