import ngModule from '../module'; import Descriptor from 'salix/components/descriptor'; class Controller extends Descriptor { get travel() { return this.entity; } set travel(value) { this.entity = value; } get travelFilter() { let travelFilter; const travel = this.travel; if (travel && travel.agencyFk) { travelFilter = this.travel && JSON.stringify({ agencyFk: this.travel.agencyFk }); } return travelFilter; } get entryFilter() { let travel = this.travel; if (!travel || !travel.landed) return null; const date = new Date(travel.landed); date.setHours(0, 0, 0, 0); const from = new Date(date.getTime()); from.setDate(from.getDate() - 10); const to = new Date(date.getTime()); to.setDate(to.getDate() + 10); return JSON.stringify({ supplierFk: this.travel.cargoSupplierFk, from, to }); } loadData() { const filter = { fields: [ 'id', 'ref', 'shipped', 'landed', 'totalEntries', 'warehouseInFk', 'warehouseOutFk', 'cargoSupplierFk' ], include: [ { relation: 'warehouseIn', scope: { fields: ['name'] } }, { relation: 'warehouseOut', scope: { fields: ['name'] } } ] }; return this.getData(`Travels/${this.id}`, {filter}) .then(res => this.entity = res.data); } } ngModule.vnComponent('vnTravelDescriptor', { template: require('./index.html'), controller: Controller, bindings: { travel: '<' } });