cryptpad/www/share/inner.js

90 lines
2.6 KiB
JavaScript
Raw Normal View History

2019-05-29 17:00:20 +00:00
define([
'jquery',
'/bower_components/nthen/index.js',
'/common/sframe-common.js',
'/common/common-ui-elements.js',
'/common/common-interface.js',
'css!/bower_components/bootstrap/dist/css/bootstrap.min.css',
'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
'less!/share/app-share.less',
], function (
$,
nThen,
SFCommon,
UIElements,
UI)
{
var APP = window.APP = {};
2019-06-20 14:07:02 +00:00
var init = false;
2019-05-29 17:00:20 +00:00
var andThen = function (common) {
2019-06-20 14:07:02 +00:00
if (init) { return; }
init = true;
2019-05-29 17:00:20 +00:00
var metadataMgr = common.getMetadataMgr();
var sframeChan = common.getSframeChannel();
var hideShareDialog = function () {
sframeChan.event('EV_SHARE_CLOSE');
};
var createShareDialog = function (data) {
var priv = metadataMgr.getPrivateData();
var hashes = priv.hashes;
var origin = priv.origin;
var pathname = priv.pathname;
var f = (data && data.file) ? UIElements.createFileShareModal
: UIElements.createShareModal;
var friends = common.getFriends();
2019-05-29 17:00:20 +00:00
var modal = f({
origin: origin,
pathname: pathname,
password: priv.password,
2019-07-18 15:18:36 +00:00
isTemplate: priv.isTemplate,
2019-05-29 17:00:20 +00:00
hashes: hashes,
common: common,
title: data.title,
friends: friends,
2019-05-29 17:00:20 +00:00
onClose: function () {
hideShareDialog();
},
fileData: {
hash: hashes.fileHash,
password: priv.password
}
});
2019-06-20 12:50:55 +00:00
$('button.cancel').click(); // Close any existing alertify
UI.openCustomModal(UI.dialog.tabs(modal), {
wide: Object.keys(friends).length !== 0
});
2019-05-29 17:00:20 +00:00
};
sframeChan.on('EV_SHARE_REFRESH', function (data) {
createShareDialog(data);
});
};
var main = function () {
var common;
nThen(function (waitFor) {
$(waitFor(function () {
UI.removeLoadingScreen();
}));
SFCommon.create(waitFor(function (c) { APP.common = common = c; }));
}).nThen(function (/*waitFor*/) {
var metadataMgr = common.getMetadataMgr();
if (metadataMgr.getMetadataLazy() !== 'uninitialized') {
andThen(common);
return;
}
2019-06-20 14:07:02 +00:00
metadataMgr.onChange(function () {
andThen(common);
});
2019-05-29 17:00:20 +00:00
});
};
main();
});