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

66 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-07-18 12:21:58 +00:00
import ngModule from '../module';
2020-03-17 14:18:02 +00:00
import Component from 'core/lib/component';
2018-07-18 12:21:58 +00:00
2020-03-17 14:18:02 +00:00
class Controller extends Component {
constructor($element, $) {
super($element, $);
2019-08-29 11:16:38 +00:00
this.moreOptions = [
{name: 'Delete order', callback: () => this.showDeleteOrderDialog()}
];
2018-07-18 12:21:58 +00:00
}
2018-10-03 06:00:19 +00:00
2018-12-12 10:43:57 +00:00
set order(value) {
this._order = value;
2019-11-10 10:08:44 +00:00
if (!value) return;
2018-12-12 10:43:57 +00:00
if (value.isConfirmed) {
this._quicklinks = {
btnOne: {
icon: 'icon-ticket',
state: `ticket.index({q: '{"orderFk": ${value.id}}'})`,
tooltip: 'Order ticket list'
},
btnTwo: {
icon: 'person',
state: `client.card.summary({id: ${value.clientFk}})`,
tooltip: 'Client card'
2018-12-12 10:43:57 +00:00
}
};
}
}
get order() {
return this._order;
}
2018-10-03 06:00:19 +00:00
set quicklinks(value = {}) {
this._quicklinks = Object.assign(value, this._quicklinks);
}
get quicklinks() {
return this._quicklinks;
}
2019-08-29 11:16:38 +00:00
deleteOrder(response) {
2019-10-30 15:57:14 +00:00
if (response === 'accept') {
2019-08-29 11:16:38 +00:00
const params = {id: this.order.id};
this.$http.delete(`Orders/${params.id}`).then(() => {
2019-08-29 11:16:38 +00:00
this.$state.go('order.index');
this.vnApp.showSuccess(this.$translate.instant('Order deleted'));
});
}
}
showDeleteOrderDialog() {
2020-03-20 08:01:14 +00:00
this.$.deleteOrderConfirmation.show();
2019-08-29 11:16:38 +00:00
}
2018-07-18 12:21:58 +00:00
}
ngModule.component('vnOrderDescriptor', {
template: require('./index.html'),
bindings: {
order: '<'
},
controller: Controller
});