UNPKG

@digital-blueprint/sublibrary-app

Version:

[GitHub Repository](https://github.com/digital-blueprint/sublibrary-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/sublibrary-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/sublibrary-app/) | [Sublibrary Bundle](ht

99 lines (96 loc) 9.48 kB
let e=e=>e,t,n;function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?r(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function a(e,t,n){return(t=o(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e){var t=s(e,`string`);return typeof t==`symbol`?t:t+``}function s(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)} /*! * License: LGPL-2.1-or-later * Dependencies: * * @webcomponents/scoped-custom-element-registry: BSD-3-Clause * @dbp-toolkit/app-shell: LGPL-2.1-or-later * @dbp-toolkit/language-select: LGPL-2.1-or-later * @dbp-toolkit/auth: LGPL-2.1-or-later * lit-html: BSD-3-Clause * @dbp-toolkit/notification: LGPL-2.1-or-later * @dbp-toolkit/theme-switcher: LGPL-2.1-or-later * universal-router: MIT * @dbp-toolkit/matomo: LGPL-2.1-or-later */ import{a as c,d as l,i as u,s as d,t as f}from"./shared/library-select.DEl5HMBb.js";import{B as p,D as m,E as h,M as g,S as _,T as v,U as y,V as b,b as x,d as S}from"./shared/styles.Cw9eAWXA.js";import{t as C}from"./shared/src.BHFEA-pi.js";var w=l(u(),1);function T(e,t){return t===`active`?e.t(`order-list.status-name-active`):t===`cancelled`?e.t(`order-list.status-name-cancelled`):t===`closed`?e.t(`order-list.status-name-closed`):t}g(`dbp-sublibrary-order-list`,class extends h(c){constructor(){super(),this.auth={},this._i18n=d(),this.lang=this._i18n.language,this.entryPointUrl=``,this.personId=``,this.person=null,this.books=[],this.sublibraryIri=``,this.abortController=null,this.openOnly=!1;let e=new Date;e.setDate(e.getDate()-1),this.analyticsUpdateDate=e.toLocaleDateString(this.lang)}static get scopedElements(){return{"dbp-library-select":f,"dbp-data-table-view":C,"dbp-mini-spinner":m}}$(e){return(0,w.default)(this._(e))}static get properties(){return i(i({},super.properties),{},{lang:{type:String},entryPointUrl:{type:String,attribute:`entry-point-url`},sublibraryIri:{type:String,attribute:`sublibrary-iri`,reflect:!0},books:{type:Object,attribute:!1},openOnly:{type:Boolean,attribute:!1},analyticsUpdateDate:{type:Object,attribute:!1},auth:{type:Object}})}loginCallback(){super.loginCallback(),this.loadTable()}connectedCallback(){super.connectedCallback(),this.updateComplete.then(()=>{this._(`dbp-data-table-view`).setCSSStyle(` table.dataTable tbody tr.odd { background-color: var(--dbp-background); } `),this.loadTable()})}update(e){e.forEach((e,t)=>{switch(t){case`lang`:this._i18n.changeLanguage(this.lang),this.loadTable();break;case`sublibraryIri`:case`openOnly`:this.loadTable();break}}),super.update(e)}disconnectedCallback(){this.abortController!==null&&this.abortController.abort(),super.disconnectedCallback()}loadTable(){let e=this._i18n,t=this,n=t.$(`#book-list-block`),r=t.$(`#no-books-block`);if(n.hide(),r.hide(),!this.isLoggedIn()||this.sublibraryIri===``)return;let i=this.sublibraryIri.split(`/`),a=i[i.length-1],o=this.entryPointUrl+`/sublibrary/book-orders?perPage=9999999&sublibrary=`+a,s=this.$(`#books-loading`);s.show(),this.abortController!==null&&this.abortController.abort(),this.abortController=new AbortController;let c=this.abortController.signal;console.assert(this.auth.token),fetch(o,{headers:{"Content-Type":`application/ld+json`,Authorization:`Bearer `+this.auth.token},signal:c}).then(e=>{if(!e.ok)throw e;if(e.headers.has(`x-analytics-update-date`)){let t=new Date(e.headers.get(`x-analytics-update-date`));this.analyticsUpdateDate=t.toLocaleDateString(this.lang)+` `+t.toLocaleTimeString(this.lang)}return e.json()}).then(i=>{if(t.books=i[`hydra:member`],t.books.length>0){let r=t._(`#book-books-1`);if(r!==null){let n=[{title:e.t(`book-list.book-title`)},{title:e.t(`book-list.book-author`)},{title:e.t(`book-list.book-isbn`)},{title:e.t(`order-list.order-date`)},null,{title:e.t(`order-list.order-number`)},{title:e.t(`order-list.book-price`)},null,{title:e.t(`order-list.order-status`)},{title:e.t(`order-list.receiving -note`)}],i=[{targets:[3],orderData:[4]},{targets:[4],visible:!1},{targets:[6],orderData:[7]},{targets:[7],visible:!1}],a=[];t.books.forEach(function(n){if(t.openOnly&&n.orderedItem.orderDelivery.deliveryStatus.eventStatus.name!==`active`)return;let r=new Date(n.orderDate),i=n.orderedItem.price>0?y(e,n.orderedItem.price,{style:`currency`,currency:n.orderedItem.priceCurrency}):``,o=[n.orderedItem.orderedItem.title,n.orderedItem.orderedItem.author,n.orderedItem.orderedItem.isbn,r.toLocaleDateString(`de-AT`),n.orderDate,n.orderNumber,i,n.orderedItem.price,T(e,n.orderedItem.orderDelivery.deliveryStatus.eventStatus.name),n.receivingNote];a.push(o)}),r.set_columns(n).set_columnDefs(i).set_datatable(a).on(`draw`,this.table_draw.bind(t)).draw()}n.show()}else r.show();s.hide()}).catch(n=>{t.handleFetchError(n,e.t(`order-list.error-load-orders`)),s.hide()})}onLanguageChanged(e){this.lang=e.detail.lang}toggleOpenOnly(){this.openOnly=!this.openOnly}static get styles(){return b(t||=e` ${0} ${0} ${0} .hidden { display: none; } #book-list-block, #no-books-block { display: none; } form, table { width: 100%; } #no-books-block { font-weight: bold; } `,v(),x(),_())}onSublibraryChanged(e){this.sublibraryIri=e.detail.value}table_draw(){this.shadowRoot.querySelector(`#book-books-1`).columnReduce(7,function(e,t){let n;n=typeof e==`string`?e.replace(`,`,`.`).replace(` EUR`,``)*1:e*1;let r;return r=typeof t==`string`?t.replace(`,`,`.`).replace(` EUR`,``)*1:t*1,n+r})}_onLoginClicked(e){this.sendSetPropertyEvent(`requested-login-status`,`logged-in`),e.preventDefault()}render(){let t=this._i18n;return p(n||=e` <form class="${0}"> <div class="field"> ${0}: ${0} </div> <div class="field"> <label class="label">${0}</label> <div class="control"> <dbp-library-select subscribe="lang:lang,entry-point-url:entry-point-url,auth:auth" value="${0}" @change="${0}"></dbp-library-select> </div> </div> <dbp-mini-spinner id="books-loading" text="${0}" style="font-size: 2em; display: none;"></dbp-mini-spinner> <div id="book-list-block"> <!-- <div class="field"> <label class="label"> <input type="checkbox" .checked=${0} @click=${0} .disabled=${0}> ${0} </label> </div> --> <div class="field"> <label class="label">${0}</label> <div class="control"> <dbp-data-table-view searching paging column-searching default-order='[3, "desc"]' exportable export-name="${0}" subscribe="lang:lang" id="book-books-1"></dbp-data-table-view> </div> </div> </div> <div id="no-books-block">${0}</div> </form> <div class="notification is-warning ${0}"> ${0} <a href="#" @click="${0}">${0}</a> </div> <div class="notification is-danger ${0}"> ${0} </div> <div class="${0}"> <dbp-mini-spinner></dbp-mini-spinner> </div> `,S({hidden:!this.isLoggedIn()||!this.hasLibraryPermissions()||this.isLoading()}),t.t(`order-list.current-state`),this.analyticsUpdateDate,t.t(`organization-select.label`),this.sublibraryIri,this.onSublibraryChanged,t.t(`order-list.mini-spinner-text`),this.openOnly,this.toggleOpenOnly,this.overdueOnly,t.t(`order-list.open-only`),t.t(`book-list.books`),t.t(`order-list.export-name`,{organizationCode:this.getOrganizationCode()}),t.t(`book-list.no-books`),S({hidden:this.isLoggedIn()||this.isLoading()}),t.t(`error-login-message`),this._onLoginClicked,t.t(`error-login-link`),S({hidden:this.hasLibraryPermissions()||!this.isLoggedIn()||this.isLoading()}),t.t(`error-permission-message`),S({hidden:!this.isLoading()}))}}); //# sourceMappingURL=dbp-sublibrary-order-list.js.map