/
system.js
61 lines (50 loc) · 1.34 KB
/
system.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
function install(Vue) {
var gear = window.$gear;
var lang = window.$lang;
Vue.config.debug = gear.debug;
var axios = require('axios');
var $ = require('jquery');
Vue.prototype.$api = axios.create({
baseURL: gear.url + '/' + gear.adminURL + '/',
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
});
function getLang(name) {
if(name in lang) {
return lang[name];
}
return name;
}
function displayMessages(handle) {
handle.$api.post('index.php', {
'method': 'getMessages'
}).then(function(response) {
var messages = response.data;
Object.keys(messages).forEach(function(index) {
var div = $("<div />").addClass([
'message',
messages[index].class
]).text(messages[index].message);
div.appendTo($('#gear'));
});
}).catch(function(error) {
console.log(error);
});
}
Vue.filter('lang', function(name) {
return getLang(name);
});
Vue.prototype.$lang = function(name) {
return getLang(name);
};
new Vue({
el: '#gear',
created() {
displayMessages(this);
}
});
}
if(window.Vue) {
Vue.use(install);
}