salix/modules/ticket/front/descriptor/index.js

87 lines
2.2 KiB
JavaScript

import ngModule from '../module';
import Descriptor from 'salix/components/descriptor';
class Controller extends Descriptor {
get ticket() {
return this.entity;
}
set ticket(value) {
this.entity = value;
}
get entity() {
return super.entity;
}
set entity(value) {
super.entity = value;
}
loadData() {
const filter = {
include: [
{
relation: 'warehouse',
scope: {
fields: ['name']
}
}, {
relation: 'agencyMode',
scope: {
fields: ['name']
}
}, {
relation: 'client',
scope: {
fields: [
'salesPersonFk',
'name',
'isActive',
'isFreezed',
'isTaxDataChecked',
'hasInvoiceElectronic',
],
include: {
relation: 'salesPersonUser',
scope: {
fields: ['id', 'name']
}
}
}
}, {
relation: 'ticketState',
scope: {
fields: ['stateFk'],
include: {
relation: 'state',
fields: ['id', 'name'],
}
}
}
]
};
return this.getData(`Tickets/${this.id}`, {filter})
.then(res => this.entity = res.data);
}
cardReload() {
// Prevents error when not defined
}
get filter() {
return this.ticket ?
JSON.stringify({clientFk: this.ticket.clientFk}) : null;
}
}
ngModule.vnComponent('vnTicketDescriptor', {
template: require('./index.html'),
controller: Controller,
bindings: {
ticket: '<',
cardReload: '&'
}
});