import ngModule from '../module'; export default class Controller { constructor($scope, vnToken) { this.accessToken = vnToken.token; this.$ = $scope; this.selectedInvoiceOut = null; this.filter = { include: [ { relation: 'client', scope: { fields: ['name'] } }, { relation: 'company', scope: { fields: ['code'] } } ] }; } exprBuilder(param, value) { switch (param) { case 'search': return {ref: {like: `%${value}%`}}; case 'min': return {amount: {gte: value}}; case 'max': return {amount: {lte: value}}; case 'hasPdf': case 'amount': case 'clientFk': case 'companyFk': case 'issued': case 'created': case 'dued': return {[param]: value}; } } showClientDescriptor(event, clientFk) { this.$.clientDescriptor.clientFk = clientFk; this.$.clientDescriptor.parent = event.target; this.$.clientDescriptor.show(); event.preventDefault(); event.stopImmediatePropagation(); } preview(event, invoiceOut) { this.selectedInvoiceOut = invoiceOut; this.$.summary.show(); event.preventDefault(); event.stopImmediatePropagation(); } onDescriptorLoad() { this.$.popover.relocate(); } openPdf(id, event) { let url = `api/InvoiceOuts/${id}/download?access_token=${this.accessToken}`; window.open(url, '_blank'); event.preventDefault(); event.stopImmediatePropagation(); } } Controller.$inject = ['$scope', 'vnToken']; ngModule.component('vnInvoiceOutIndex', { template: require('./index.html'), controller: Controller });