96 lines
2.4 KiB
JavaScript
96 lines
2.4 KiB
JavaScript
NGApp.config(['$routeProvider', function($routeProvider) {
|
|
$routeProvider
|
|
.when('/support', {
|
|
redirectTo: '/tickets'
|
|
})
|
|
.when('/tickets', {
|
|
action: 'tickets',
|
|
controller: 'TicketsViewCtrl',
|
|
templateUrl: 'assets/view/tickets-view.html',
|
|
title: 'Support'
|
|
})
|
|
.when('/ticket/:id', {
|
|
action: 'ticket',
|
|
controller: 'TicketsTicketCtrl',
|
|
templateUrl: 'assets/view/tickets-ticket.html'
|
|
});
|
|
}]);
|
|
|
|
|
|
NGApp.controller('SideTicketsCtrl', function($scope, $rootScope, TicketService, TicketViewService) {
|
|
$scope.params = {
|
|
status: 'open'
|
|
};
|
|
|
|
$rootScope.$watch('supportMessages', function(newValue, oldValue) {
|
|
if (!newValue) {
|
|
return;
|
|
}
|
|
if (!oldValue || newValue.count != oldValue.count) {
|
|
console.debug('Updating support tickets...');
|
|
TicketService.list($scope.params, function(tickets) {
|
|
TicketViewService.scope.tickets = tickets;
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
NGApp.controller('SideTicketCtrl', function($scope, $rootScope, TicketService, TicketViewService) {
|
|
|
|
var loadTicket = function(id) {
|
|
TicketService.get(id, function(ticket) {
|
|
TicketViewService.scope.ticket = ticket;
|
|
TicketViewService.scroll();
|
|
});
|
|
};
|
|
|
|
$rootScope.$on('triggerViewTicket', function(e, ticket) {
|
|
loadTicket(ticket == 'refresh' ? TicketViewService.scope.ticket : ticket);
|
|
});
|
|
|
|
$scope.send = TicketViewService.send;
|
|
|
|
loadTicket(TicketViewService.scope.viewTicket);
|
|
|
|
});
|
|
|
|
NGApp.controller('SideSupportCtrl', function($scope, $rootScope, TicketViewService) {
|
|
TicketViewService.scope = $scope;
|
|
$scope.setViewTicket = TicketViewService.setViewTicket;
|
|
});
|
|
|
|
|
|
NGApp.controller('TicketsViewCtrl', function($scope, $rootScope, TicketService, TicketViewService, CallService) {
|
|
$scope.params = {
|
|
status: 'open'
|
|
};
|
|
|
|
$rootScope.$watch('supportMessages', function(newValue, oldValue) {
|
|
if (!newValue) {
|
|
return;
|
|
}
|
|
if (!oldValue || newValue.count != oldValue.count) {
|
|
console.debug('Updating support tickets...');
|
|
TicketService.list($scope.params, function(tickets) {
|
|
$scope.tickets = tickets;
|
|
});
|
|
}
|
|
});
|
|
|
|
TicketService.list($scope.params, function(tickets) {
|
|
$scope.tickets = tickets;
|
|
});
|
|
|
|
CallService.list($scope.params, function(calls) {
|
|
$scope.calls = calls;
|
|
});
|
|
});
|
|
|
|
NGApp.controller('TicketsTicketCtrl', function($scope, $rootScope, $routeParams, TicketService) {
|
|
$rootScope.$broadcast('triggerViewTicket', $routeParams.id);
|
|
|
|
TicketService.get($routeParams.id, function(ticket) {
|
|
$scope.ticket = ticket;
|
|
$scope.ready = true;
|
|
});
|
|
}); |