You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.3 KiB
JavaScript
72 lines
2.3 KiB
JavaScript
define([
|
|
'jquery',
|
|
'/common/toolbar3.js',
|
|
'/common/cryptpad-common.js',
|
|
'/bower_components/nthen/index.js',
|
|
'/common/sframe-common.js',
|
|
'/common/common-interface.js',
|
|
'/customize/messages.js',
|
|
|
|
'css!/bower_components/bootstrap/dist/css/bootstrap.min.css',
|
|
'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
|
|
'less!/customize/src/less2/main.less',
|
|
], function (
|
|
$,
|
|
Toolbar,
|
|
Cryptpad,
|
|
nThen,
|
|
SFCommon,
|
|
UI
|
|
/*Messages*/
|
|
)
|
|
{
|
|
var APP = window.APP = {};
|
|
|
|
var common;
|
|
var sFrameChan;
|
|
nThen(function (waitFor) {
|
|
$(waitFor(UI.addLoadingScreen));
|
|
SFCommon.create(waitFor(function (c) { APP.common = common = c; }));
|
|
}).nThen(function (waitFor) {
|
|
sFrameChan = common.getSframeChannel();
|
|
sFrameChan.onReady(waitFor());
|
|
}).nThen(function (/*waitFor*/) {
|
|
var $container = $('#cp-app-worker-container');
|
|
$('<a>', {href:'http://localhost:3000/worker/', target:'_blank'}).text('other').appendTo($container);
|
|
var $bar = $('.cp-toolbar-container');
|
|
|
|
var displayed = ['useradmin', 'newpad', 'limit', 'pageTitle'];
|
|
var configTb = {
|
|
displayed: displayed,
|
|
common: Cryptpad,
|
|
sfCommon: common,
|
|
$container: $bar,
|
|
pageTitle: 'Test WebWorkers',
|
|
metadataMgr: common.getMetadataMgr(),
|
|
};
|
|
APP.toolbar = Toolbar.create(configTb);
|
|
APP.toolbar.$rightside.hide();
|
|
|
|
UI.removeLoadingScreen();
|
|
if (!window.Worker) {
|
|
return void $container.text("WebWorkers not supported by your browser");
|
|
}
|
|
console.log('ready');
|
|
var myWorker = new SharedWorker('/worker/worker.js');
|
|
console.log(myWorker);
|
|
console.log(myWorker.port);
|
|
myWorker.onerror = function (e) { console.error(e); };
|
|
myWorker.port.onmessage = function (e) {
|
|
var data = e.data;
|
|
if (data && data.state === "READY") {
|
|
$container.append('<hr>worker.js ready');
|
|
myWorker.port.postMessage(["Hello worker"]);
|
|
return;
|
|
}
|
|
$container.append('<br>');
|
|
$container.append(e.data);
|
|
};
|
|
$container.append('<hr>inner.js ready');
|
|
});
|
|
});
|