mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-02-23 22:36:01 +08:00
81 lines
1.7 KiB
JavaScript
81 lines
1.7 KiB
JavaScript
|
|
import window from 'window';
|
|
import _ from '_';
|
|
import $ from '$';
|
|
import {kill_CtrlA_CtrlS, detectDropdownVisibility, createCommand} from 'Common/Utils';
|
|
import {$win, $html, data as GlobalsData, bMobileDevice} from 'Common/Globals';
|
|
import Plugins from 'Common/Plugins';
|
|
import Translator from 'Common/Translator';
|
|
import EmailModel from 'Model/Email';
|
|
import * as Enums from 'Common/Enums';
|
|
|
|
export default (App) => {
|
|
|
|
GlobalsData.__APP__ = App;
|
|
|
|
$win
|
|
.on('keydown', kill_CtrlA_CtrlS)
|
|
.on('unload', () => {
|
|
GlobalsData.bUnload = true;
|
|
})
|
|
;
|
|
|
|
$html
|
|
.addClass(bMobileDevice ? 'mobile' : 'no-mobile')
|
|
.on('click.dropdown.data-api', () => {
|
|
detectDropdownVisibility();
|
|
})
|
|
;
|
|
|
|
const rl = window.rl || {};
|
|
|
|
rl.i18n = _.bind(Translator.i18n, Translator);
|
|
|
|
rl.addHook = _.bind(Plugins.addHook, Plugins);
|
|
rl.settingsGet = _.bind(Plugins.mainSettingsGet, Plugins);
|
|
rl.createCommand = createCommand;
|
|
|
|
rl.addSettingsViewModel = _.bind(Plugins.addSettingsViewModel, Plugins);
|
|
rl.addSettingsViewModelForAdmin = _.bind(Plugins.addSettingsViewModelForAdmin, Plugins);
|
|
|
|
rl.pluginRemoteRequest = _.bind(Plugins.remoteRequest, Plugins);
|
|
rl.pluginSettingsGet = _.bind(Plugins.settingsGet, Plugins);
|
|
|
|
rl.EmailModel = EmailModel;
|
|
rl.Enums = Enums;
|
|
|
|
window.rl = rl;
|
|
|
|
window.__APP_BOOT = (fErrorCallback) => {
|
|
|
|
$(() => {
|
|
|
|
_.delay(() => {
|
|
|
|
if (window.rainloopTEMPLATES && window.rainloopTEMPLATES[0])
|
|
{
|
|
$('#rl-templates').html(window.rainloopTEMPLATES[0]);
|
|
|
|
_.delay(() => {
|
|
|
|
App.bootstart();
|
|
|
|
$html
|
|
.removeClass('no-js rl-booted-trigger')
|
|
.addClass('rl-booted')
|
|
;
|
|
|
|
}, 10);
|
|
}
|
|
else
|
|
{
|
|
fErrorCallback();
|
|
}
|
|
|
|
window.__APP_BOOT = null;
|
|
|
|
}, 10);
|
|
|
|
});
|
|
};
|
|
};
|