diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 2066c739a..bf94e5674 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -1039,6 +1039,28 @@ define([ }; }; + // Forget button + var moveToTrash = common.moveToTrash = function (cb) { + var href = window.location.href; + common.forgetPad(href, function (err) { + if (err) { + console.log("unable to forget pad"); + console.error(err); + cb(err, null); + return; + } + var n = getNetwork(); + var r = getRealtime(); + if (n && r) { + whenRealtimeSyncs(r, function () { + n.disconnect(); + cb(); + }); + } else { + cb(); + } + }); + }; common.createButton = function (type, rightside, data, callback) { var button; var size = "17px"; @@ -1164,25 +1186,11 @@ define([ var msg = isLoggedIn() ? Messages.forgetPrompt : Messages.fm_removePermanentlyDialog; common.confirm(msg, function (yes) { if (!yes) { return; } - common.forgetPad(href, function (err) { - if (err) { - console.log("unable to forget pad"); - console.error(err); - callback(err, null); - return; - } - var n = getNetwork(); - var r = getRealtime(); - if (n && r) { - whenRealtimeSyncs(r, function () { - n.disconnect(); - callback(); - }); - } else { - callback(); - } + moveToTrash(function (err) { + if (err) { return void callback(err); } var cMsg = isLoggedIn() ? Messages.movedToTrash : Messages.deleted; common.alert(cMsg, undefined, true); + callback(); return; }); }); diff --git a/www/common/sframe-common.js b/www/common/sframe-common.js index af7058da1..113e6e733 100644 --- a/www/common/sframe-common.js +++ b/www/common/sframe-common.js @@ -1,12 +1,14 @@ define([ '/bower_components/nthen/index.js', + '/customize/messages.js', '/common/sframe-chainpad-netflux-inner.js', '/common/sframe-channel.js', '/common/sframe-common-title.js', '/common/sframe-common-interface.js', '/common/metadata-manager.js', -], function (nThen, CpNfInner, SFrameChannel, Title, UI, MetadataMgr) { + '/common/cryptpad-common.js' +], function (nThen, Messages, CpNfInner, SFrameChannel, Title, UI, MetadataMgr, Cryptpad) { // Chainpad Netflux Inner var funcs = {}; @@ -21,7 +23,7 @@ define([ return ctx.cpNfInner; }; - funcs.isLoggedIn = function () { + var isLoggedIn = funcs.isLoggedIn = function () { if (!ctx.cpNfInner) { throw new Error("cpNfInner is not ready!"); } return ctx.cpNfInner.metadataMgr.getPrivateData().accountName; }; @@ -77,16 +79,169 @@ define([ }); }; + // TODO + + funcs.feedback = function () {}; + var prepareFeedback = function () {}; + + // BUTTONS + var isStrongestStored = function () { + var data = ctx.metadataMgr.getPrivateData(); + return !data.readOnly || !data.availableHashes.editHash; + }; + funcs.createButton = function (type, rightside, data, callback) { + var button; + var size = "17px"; + switch (type) { + case 'export': + button = $('