| (function() { |
| 'use strict'; |
| |
| /* eslint-disable angular/ng_module_name */ |
| |
| angular.module('bugSnag', []).factory('$exceptionHandler', function () { |
| return function (exception, cause) { |
| if( window.Bugsnag ){ |
| Bugsnag.notifyException(exception, {diagnostics: {cause: cause}}); |
| } |
| else{ |
| console.error(exception, cause, exception.stack); |
| } |
| }; |
| }); |
| |
| /* eslint-enable angular/ng_module_name */ |
| |
| /** |
| * @ngdoc overview |
| * @name xos.helpers |
| * @description this is the module that group all the helpers service and components for XOS |
| **/ |
| |
| angular |
| .module('xos.helpers', [ |
| 'ngCookies', |
| 'ngResource', |
| 'ngAnimate', |
| 'bugSnag', |
| 'xos.uiComponents' |
| ]) |
| .config(config) |
| |
| /** |
| * @ngdoc service |
| * @name xos.helpers._ |
| * @description Wrap [lodash](https://lodash.com/docs) in an Angular Service |
| **/ |
| |
| .factory('_', $window => $window._ ); |
| |
| function config($httpProvider, $interpolateProvider, $resourceProvider) { |
| $httpProvider.interceptors.push('SetCSRFToken'); |
| |
| $interpolateProvider.startSymbol('{$'); |
| $interpolateProvider.endSymbol('$}'); |
| |
| // NOTE http://www.masnun.com/2013/09/18/django-rest-framework-angularjs-resource-trailing-slash-problem.html |
| $resourceProvider.defaults.stripTrailingSlashes = false; |
| } |
| })(); |