"use strict";
+require("babel-polyfill");
// Url retrieval function
window.baseUrl = function(path) {
return basePath + '/' + path;
};
+// Global Event System
+class EventManager {
+ constructor() {
+ this.listeners = {};
+ }
+
+ emit(eventName, eventData) {
+ if (typeof this.listeners[eventName] === 'undefined') return this;
+ let eventsToStart = this.listeners[eventName];
+ for (let i = 0; i < eventsToStart.length; i++) {
+ let event = eventsToStart[i];
+ event(eventData);
+ }
+ return this;
+ }
+
+ listen(eventName, callback) {
+ if (typeof this.listeners[eventName] === 'undefined') this.listeners[eventName] = [];
+ this.listeners[eventName].push(callback);
+ return this;
+ }
+}
+
+window.Events = new EventManager();
+
const Vue = require("vue");
const axios = require("axios");
'baseURL': window.baseUrl('')
}
});
+axiosInstance.interceptors.request.use(resp => {
+ return resp;
+}, err => {
+ if (typeof err.response === "undefined" || typeof err.response.data === "undefined") return Promise.reject(err);
+ if (typeof err.response.data.error !== "undefined") window.Events.emit('error', err.response.data.error);
+ if (typeof err.response.data.message !== "undefined") window.Events.emit('error', err.response.data.message);
+});
window.$http = axiosInstance;
Vue.prototype.$http = axiosInstance;
-
-require("./vues/vues");
+Vue.prototype.$events = window.Events;
// AngularJS - Create application and load components
let translator = new Translations(window.translations);
window.trans = translator.get.bind(translator);
-// Global Event System
-class EventManager {
- constructor() {
- this.listeners = {};
- }
- emit(eventName, eventData) {
- if (typeof this.listeners[eventName] === 'undefined') return this;
- let eventsToStart = this.listeners[eventName];
- for (let i = 0; i < eventsToStart.length; i++) {
- let event = eventsToStart[i];
- event(eventData);
- }
- return this;
- }
-
- listen(eventName, callback) {
- if (typeof this.listeners[eventName] === 'undefined') this.listeners[eventName] = [];
- this.listeners[eventName].push(callback);
- return this;
- }
-}
-
-window.Events = new EventManager();
-Vue.prototype.$events = window.Events;
+require("./vues/vues");
+require("./components");
// Load in angular specific items
-const Services = require('./services');
const Directives = require('./directives');
const Controllers = require('./controllers');
-Services(ngApp, window.Events);
Directives(ngApp, window.Events);
Controllers(ngApp, window.Events);
if(navigator.userAgent.indexOf('MSIE')!==-1
|| navigator.appVersion.indexOf('Trident/') > 0
|| navigator.userAgent.indexOf('Safari') !== -1){
- $('body').addClass('flexbox-support');
+ document.body.classList.add('flexbox-support');
}
// Page specific items