blob: 6b330535e923a1154df3b0b24c9b14372f82a0f6 (
plain)
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
62
63
64
65
|
import Vue from 'vue';
import App from '@vue/App/Popup.vue';
import ErrorManager from '@js/Manager/ErrorManager';
import SystemService from '@js/Services/SystemService';
import MessageService from '@js/Services/MessageService';
import ConverterManager from '@js/Manager/ConverterManager';
import AuthorisationClient from '@js/Queue/Client/AuthorisationClient';
import ToastService from '@js/Services/ToastService';
import ThemeService from '@js/Services/ThemeService';
import SettingsService from '@js/Services/SettingsService';
import ClientSettingsProvider from '@js/Settings/ClientSettingsProvider';
class Popup {
/**
*
* @return {(Vue|null)}
*/
get app() {
return this._app;
}
/**
*
* @return {(AuthorisationClient|null)}
* @constructor
*/
get AuthorisationClient() {
return this._authClient;
}
constructor() {
this._app = null;
this._authClient = null;
}
async init() {
SystemService.setArea('popup');
ErrorManager.init();
try {
await SystemService.waitReady();
SystemService.connect();
await MessageService.init(true, 'background');
ConverterManager.init();
SettingsService.init(ClientSettingsProvider);
this._authClient = new AuthorisationClient();
await ThemeService.apply();
await this._initVue();
await ToastService.init();
} catch(e) {
ErrorManager.logError(e);
}
}
async _initVue() {
let reply = await MessageService.send('popup.status.get'),
status = reply.getPayload();
document.body.classList.add(status.device);
this._app = new Vue({propsData: status, ...App});
}
}
export default new Popup();
|