mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 02:35:49 +00:00
66 lines
1.5 KiB
JavaScript
66 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
require('../css/main.css');
|
|
require('../css/nojs.css');
|
|
require('../css/columns/name-size-date.css');
|
|
require('../css/columns/name-size.css');
|
|
|
|
const {promisify} = require('es6-promisify');
|
|
const wraptile = require('wraptile/legacy');
|
|
|
|
const {
|
|
registerSW,
|
|
} = require('./sw/register');
|
|
|
|
// prevent additional loading of emitify
|
|
window.Emitify = require('emitify/legacy');
|
|
|
|
module.exports = window.CloudCmd = (config) => {
|
|
window.Promise = window.Promise || require('es6-promise');
|
|
window.Util = require('../common/util');
|
|
window.CloudFunc = require('../common/cloudfunc');
|
|
|
|
const DOM = require('./dom');
|
|
|
|
window.DOM = DOM;
|
|
window.CloudCmd = require('./client');
|
|
|
|
register(config);
|
|
|
|
require('./listeners');
|
|
require('./key');
|
|
require('./sort');
|
|
|
|
const prefix = getPrefix(config.prefix);
|
|
|
|
window.CloudCmd.init(prefix, config);
|
|
};
|
|
|
|
function getPrefix(prefix) {
|
|
if (!prefix)
|
|
return '';
|
|
|
|
if (!prefix.indexOf('/'))
|
|
return prefix;
|
|
|
|
return `/${prefix}`;
|
|
}
|
|
|
|
const onUpdateFound = wraptile(async (config) => {
|
|
const {prefix} = config;
|
|
const {DOM} = window;
|
|
const js = promisify(DOM.load.js);
|
|
|
|
await js(`${prefix}dist/cloudcmd.common.js`);
|
|
await js(`${prefix}dist/cloudcmd.js`);
|
|
|
|
DOM.Events.removeAll();
|
|
window.CloudCmd(config);
|
|
});
|
|
|
|
async function register(config) {
|
|
const {prefix} = config;
|
|
const sw = await registerSW(prefix);
|
|
|
|
sw.addEventListener('updatefound', onUpdateFound(config));
|
|
}
|