snappymail/dev/bootstrap.jsx

79 lines
1.7 KiB
React
Raw Normal View History

2015-11-19 01:32:29 +08:00
export default (App) => {
const
window = require('window'),
_ = require('_'),
$ = require('$'),
Globals = require('Common/Globals'),
Plugins = require('Common/Plugins'),
Utils = require('Common/Utils'),
Enums = require('Common/Enums'),
Translator = require('Common/Translator'),
EmailModel = require('Model/Email')
;
Globals.__APP__ = App;
Globals.$win.on('keydown', Utils.kill_CtrlA_CtrlS);
Globals.$win.on('unload', function () {
Globals.bUnload = true;
});
2015-11-19 01:32:29 +08:00
Globals.$html
.addClass(Globals.bMobileDevice ? 'mobile' : 'no-mobile')
.on('click.dropdown.data-api', function () {
Utils.detectDropdownVisibility();
})
;
// export
2016-04-21 01:12:51 +08:00
/* eslint dot-notation: 0 */
2015-11-19 01:32:29 +08:00
window['rl'] = window['rl'] || {};
window['rl']['i18n'] = _.bind(Translator.i18n, Translator);
window['rl']['addHook'] = _.bind(Plugins.addHook, Plugins);
window['rl']['settingsGet'] = _.bind(Plugins.mainSettingsGet, Plugins);
window['rl']['createCommand'] = Utils.createCommand;
window['rl']['addSettingsViewModel'] = _.bind(Plugins.addSettingsViewModel, Plugins);
window['rl']['pluginRemoteRequest'] = _.bind(Plugins.remoteRequest, Plugins);
window['rl']['pluginSettingsGet'] = _.bind(Plugins.settingsGet, Plugins);
window['rl']['EmailModel'] = EmailModel;
window['rl']['Enums'] = Enums;
2016-05-20 08:04:15 +08:00
window.__APP_BOOT = function (fCall) {
2015-11-19 01:32:29 +08:00
$(_.delay(function () {
if (window['rainloopTEMPLATES'] && window['rainloopTEMPLATES'][0])
{
$('#rl-templates').html(window['rainloopTEMPLATES'][0]);
_.delay(function () {
App.bootstart();
Globals.$html
.removeClass('no-js rl-booted-trigger')
.addClass('rl-booted')
;
}, 10);
}
else
{
fCall(false);
}
2016-05-20 08:04:15 +08:00
window.__APP_BOOT = null;
2015-11-19 01:32:29 +08:00
}, 10));
};
2016-04-21 01:12:51 +08:00
};