/*! util-web-test/modules/index */
/*jslint
browser, long
*/
/*global
*/
/**
* index for test web application.
*
* @module util-web-test/index
*/
import config from "./config";
import ext from "util-web/modules/ext";
import i18n from "./i18n";
import ko from "knockout";
import Logger from "js-logger";
import sandbox from "./component/sandbox";
import ui from "util-web/modules/ui";
const LOG = Logger.get("util-web-test/index");
const vm = {};
vm.hasLoaded = ko.observable(false);
vm.isNewVersionAvailable = ko.observable(true);
vm.reload = () => window.location.reload();
ext.loadConfig(config).then(function (loadedConfig) {
vm.config = loadedConfig;
document.title = vm.config.title;
Logger.useDefaults({
defaultLevel: (
vm.config.debug
? Logger.DEBUG
: Logger.INFO
)
});
return Promise.all([
ui.bind({
components: [
{module: sandbox, name: "sandbox"}
],
i18NextOptions: {
debug: vm.config.debug,
resources: i18n
},
viewmodel: vm
}),
ext.registerServiceWorker(() => vm.isNewVersionAvailable(true))
]);
}).then(function () {
vm.hasLoaded(true);
LOG.info(`loaded, version=${__version}`);
});