import ngModule from '../module'; import './style.scss'; export default class Controller { constructor($scope, vnApp, $translate, $http) { this.$ = $scope; this.vnApp = vnApp; this.$translate = $translate; this.$http = $http; this.ticketSelected = null; 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'} ]; } onWeekdayUpdate(ticketFk, weekDay) { const params = {ticketFk, weekDay}; this.$http.patch('/ticket/api/TicketWeeklies/', params).then(() => { this.vnApp.showSuccess(this.$translate.instant('Data saved!')); }); } deleteWeekly(index) { this.ticketIndex = index; this.$.deleteWeekly.show(); event.stopImmediatePropagation(); } onSearch(params) { if (params) this.$.model.applyFilter(null, params); else this.$.model.clear(); } showClientDescriptor(event, clientFk) { this.$.clientDescriptor.clientFk = clientFk; this.$.clientDescriptor.parent = event.target; this.$.clientDescriptor.show(); event.preventDefault(); event.stopImmediatePropagation(); } showTicketDescriptor(event, ticketFk) { 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(); event.preventDefault(); event.stopImmediatePropagation(); } onDescriptorLoad() { this.$.popover.relocate(); } preventNavigation(event) { event.preventDefault(); event.stopImmediatePropagation(); } 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); }); } } } Controller.$inject = ['$scope', 'vnApp', '$translate', '$http']; ngModule.component('vnTicketWeekly', { template: require('./index.html'), controller: Controller });