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

96 lines
2.7 KiB
JavaScript
Raw Normal View History

2018-10-30 13:57:22 +00:00
import ngModule from '../module';
import './style.scss';
export default class Controller {
2019-05-21 07:03:57 +00:00
constructor($scope, vnApp, $translate, $http) {
this.$ = $scope;
this.vnApp = vnApp;
2019-05-21 07:03:57 +00:00
this.$translate = $translate;
this.$http = $http;
2018-10-30 13:57:22 +00:00
this.ticketSelected = null;
2018-10-30 13:57:22 +00:00
this.weekdays = [
{id: 0, name: 'Monday'},
{id: 1, name: 'Tuesday'},
{id: 2, name: 'Wednesday'},
{id: 3, name: 'Thursday'},
{id: 4, name: 'Friday'},
{id: 5, name: 'Saturday'},
{id: 6, name: 'Sunday'}
];
}
2019-05-21 07:03:57 +00:00
onWeekdayUpdate(ticketFk, weekDay) {
const params = {ticketFk, weekDay};
this.$http.patch('/ticket/api/TicketWeeklies/', params).then(() => {
this.vnApp.showSuccess(this.$translate.instant('Data saved!'));
});
2018-10-30 13:57:22 +00:00
}
2019-05-21 07:03:57 +00:00
deleteWeekly(index) {
this.ticketIndex = index;
this.$.deleteWeekly.show();
event.stopImmediatePropagation();
}
onSearch(params) {
if (params)
this.$.model.applyFilter(null, params);
else
this.$.model.clear();
}
2018-10-30 13:57:22 +00:00
showClientDescriptor(event, clientFk) {
2019-05-21 07:03:57 +00:00
this.$.clientDescriptor.clientFk = clientFk;
this.$.clientDescriptor.parent = event.target;
this.$.clientDescriptor.show();
2018-10-30 13:57:22 +00:00
event.preventDefault();
event.stopImmediatePropagation();
}
showTicketDescriptor(event, ticketFk) {
2019-05-21 07:03:57 +00:00
this.$.ticketDescriptor.ticketFk = ticketFk;
this.$.ticketDescriptor.parent = event.target;
this.$.ticketDescriptor.show();
event.preventDefault();
event.stopImmediatePropagation();
}
showWorkerDescriptor(event, workerFk) {
this.$.workerDescriptor.workerFk = workerFk;
this.$.workerDescriptor.parent = event.target;
this.$.workerDescriptor.show();
2018-10-30 13:57:22 +00:00
event.preventDefault();
event.stopImmediatePropagation();
}
onDescriptorLoad() {
2019-05-21 07:03:57 +00:00
this.$.popover.relocate();
2018-10-30 13:57:22 +00:00
}
preventNavigation(event) {
event.preventDefault();
event.stopImmediatePropagation();
}
2019-05-21 07:03:57 +00:00
returnDialog(response) {
const ticket = this.$.model.data[this.ticketIndex];
if (response === 'ACCEPT') {
this.$http.delete(`/ticket/api/TicketWeeklies/${ticket.ticketFk}`).then(() => {
this.vnApp.showSuccess(this.$translate.instant('Data saved!'));
this.$.model.remove(this.ticketIndex);
});
}
2018-10-30 13:57:22 +00:00
}
}
2019-05-21 07:03:57 +00:00
Controller.$inject = ['$scope', 'vnApp', '$translate', '$http'];
2018-10-30 13:57:22 +00:00
ngModule.component('vnTicketWeekly', {
template: require('./index.html'),
controller: Controller
});