UNPKG

@rero/rero-ils-ui

Version:

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

2 lines (1 loc) 2.01 kB
import{a as A}from"./chunk-7A34LYTW.js";import{a as v,b as R}from"./chunk-FCC5WNRC.js";import{a as S}from"./chunk-BR2J44KJ.js";import{a as h}from"./chunk-CGU6MK6Q.js";import{R as g,j as f}from"./chunk-4GRLSOJZ.js";import{Eb as s,mc as c}from"./chunk-MTJX6JRK.js";import{la as u}from"./chunk-4MYHQLZQ.js";import{ia as n,r,v as m}from"./chunk-3WD6XLXL.js";var C={documents:"doc",holdings:"hold",items:"item"},T=d=>{let e=n(g),o=n(A),t=n(u),{type:i,ref:a}=d.queryParams;if(!i||!a)return t.navigate(["/errors/400"],{skipLocationChange:!0}),r(!1);let l=C[i];return l?o.getByResourceTypeAndResourcePidAndOrganisationId(l,a,e.currentOrganisationPid()).pipe(m(y=>!y.metadata)):(t.navigate(["/errors/400"],{skipLocationChange:!0}),r(!1))};var N=()=>new p().getTypes(),B=[{path:"edit/:pid",component:c,title:"Local fields",canActivate:[R],canDeactivate:[s],data:{action:v.UPDATE}},{path:"new",component:c,title:"Local fields",canActivate:[S,T],canDeactivate:[s],data:{permissions:[f.LOFI_CREATE]}}],p=class extends h{constructor(){super(...arguments),this.name="local_fields",this.recordType="local_fields"}getTypes(){return[{key:this.name,label:"Local Fields",canRead:e=>this.canReadLocalFields(e),redirectUrl:e=>this.getUrl(e),preCreateRecord:e=>(e.parent==null&&(e.organisation={$ref:this.routeToolService.apiService.getRefEndpoint("organisations",this.routeToolService.appStore.currentOrganisationPid())},e.parent={$ref:this.routeToolService.apiService.getRefEndpoint(this.routeToolService.getRouteQueryParam("type"),this.routeToolService.getRouteQueryParam("ref"))}),e)}]}getUrl(e){if("$ref"in e.metadata.parent){let t=new RegExp(".*/(.*)/(.*)$").exec(e.metadata.parent.$ref),i=t[1],a=t[2];return r(`/records/${i}/detail/${a}`)}else this.routeToolService.router.navigate(["/errors/400"],{skipLocationChange:!0})}canReadLocalFields(e){let o=this.routeToolService.appStore.currentOrganisationPid(),t="organisation"in e.metadata?e.metadata.organisation.pid:!1;return r({can:o===t,message:""})}};export{N as a,B as b};