adding a remember button
This commit is contained in:
@@ -9,6 +9,7 @@ global.URL = require('jsdom-url').URL;
|
||||
global.fs = require('fs');
|
||||
global.WebCrypto = require('@peculiar/webcrypto').Crypto;
|
||||
require('fake-indexeddb/auto');
|
||||
global.FDBFactory = require('fake-indexeddb/lib/FDBFactory');
|
||||
|
||||
// application libraries to test
|
||||
global.$ = global.jQuery = require('./jquery-3.4.1');
|
||||
|
||||
@@ -3517,6 +3517,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
$emailLink,
|
||||
$sendButton,
|
||||
$retryButton,
|
||||
$rememberButton,
|
||||
pasteExpiration = null,
|
||||
retryButtonCallback;
|
||||
|
||||
@@ -3881,6 +3882,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
$cloneButton.removeClass('hidden');
|
||||
$rawTextButton.removeClass('hidden');
|
||||
$qrCodeLink.removeClass('hidden');
|
||||
$rememberButton.removeClass('hidden');
|
||||
|
||||
viewButtonsDisplayed = true;
|
||||
};
|
||||
@@ -3901,6 +3903,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
$newButton.addClass('hidden');
|
||||
$rawTextButton.addClass('hidden');
|
||||
$qrCodeLink.addClass('hidden');
|
||||
$rememberButton.addClass('hidden');
|
||||
me.hideEmailButton();
|
||||
|
||||
viewButtonsDisplayed = false;
|
||||
@@ -3966,17 +3969,6 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
createButtonsDisplayed = false;
|
||||
};
|
||||
|
||||
/**
|
||||
* only shows the "new paste" button
|
||||
*
|
||||
* @name TopNav.showNewPasteButton
|
||||
* @function
|
||||
*/
|
||||
me.showNewPasteButton = function()
|
||||
{
|
||||
$newButton.removeClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* only shows the "retry" button
|
||||
*
|
||||
@@ -4039,17 +4031,6 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
$emailLink.off('click.sendEmail');
|
||||
}
|
||||
|
||||
/**
|
||||
* only hides the clone button
|
||||
*
|
||||
* @name TopNav.hideCloneButton
|
||||
* @function
|
||||
*/
|
||||
me.hideCloneButton = function()
|
||||
{
|
||||
$cloneButton.addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* only hides the raw text button
|
||||
*
|
||||
@@ -4061,17 +4042,6 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
$rawTextButton.addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* only hides the qr code button
|
||||
*
|
||||
* @name TopNav.hideQrCodeButton
|
||||
* @function
|
||||
*/
|
||||
me.hideQrCodeButton = function()
|
||||
{
|
||||
$qrCodeLink.addClass('hidden');
|
||||
}
|
||||
|
||||
/**
|
||||
* hide all irrelevant buttons when viewing burn after reading paste
|
||||
*
|
||||
@@ -4080,8 +4050,8 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
*/
|
||||
me.hideBurnAfterReadingButtons = function()
|
||||
{
|
||||
me.hideCloneButton();
|
||||
me.hideQrCodeButton();
|
||||
$cloneButton.addClass('hidden');
|
||||
$qrCodeLink.addClass('hidden');
|
||||
me.hideEmailButton();
|
||||
}
|
||||
|
||||
@@ -4321,6 +4291,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
$sendButton = $('#sendbutton');
|
||||
$qrCodeLink = $('#qrcodelink');
|
||||
$emailLink = $('#emaillink');
|
||||
$rememberButton = $('#rememberbutton');
|
||||
|
||||
// bootstrap template drop down
|
||||
$('#language ul.dropdown-menu li a').click(setLanguage);
|
||||
@@ -4383,6 +4354,8 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
if (cursor) {
|
||||
urls.push(cursor.value.url);
|
||||
cursor.continue();
|
||||
} else {
|
||||
me.refreshList();
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -4397,13 +4370,12 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
*/
|
||||
me.add = function(pasteUrl)
|
||||
{
|
||||
urls.push(pasteUrl);
|
||||
if (!window.indexedDB || !db) {
|
||||
return false;
|
||||
}
|
||||
const url = new URL(pasteUrl);
|
||||
const memory = db.transaction('pastes', 'readwrite').objectStore('pastes');
|
||||
memory.add({
|
||||
const request = memory.add({
|
||||
'https': url.protocol == 'https:',
|
||||
'service': url.hostname + url.pathname,
|
||||
'pasteid': url.search.replace(/^\?+/, ''),
|
||||
@@ -4412,6 +4384,10 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
// required to open the paste, like port, username and password
|
||||
'url': pasteUrl
|
||||
});
|
||||
request.onsuccess = function(e) {
|
||||
urls.push(pasteUrl);
|
||||
me.refreshList();
|
||||
};
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -4468,16 +4444,20 @@ jQuery.PrivateBin = (function($, RawDeflate) {
|
||||
request.onsuccess = function(e) {
|
||||
db = request.result;
|
||||
db.onerror = function(e) {
|
||||
Alert.showError(e);
|
||||
Alert.showError(e.target.error.message);
|
||||
}
|
||||
updateCacheFromDb();
|
||||
};
|
||||
|
||||
$('#menu-toggle').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$('main').toggleClass('toggled');
|
||||
$('#menu-toggle .glyphicon').toggleClass('glyphicon glyphicon-menu-down glyphicon glyphicon-menu-up')
|
||||
});
|
||||
|
||||
$('#rememberbutton').on('click', function(e) {
|
||||
me.add(window.location.href);
|
||||
$('#menu-toggle').click();
|
||||
});
|
||||
};
|
||||
|
||||
return me;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
const common = require('../common');
|
||||
|
||||
describe('Memory', function () {
|
||||
describe('add & refreshList', function () {
|
||||
describe('add', function () {
|
||||
this.timeout(30000);
|
||||
|
||||
jsc.property(
|
||||
@@ -24,10 +24,8 @@ describe('Memory', function () {
|
||||
// clear cache, then the first cell will match what we add
|
||||
$.PrivateBin.Memory.init();
|
||||
$.PrivateBin.Memory.add(expected);
|
||||
$.PrivateBin.Memory.refreshList();
|
||||
const result = $('#sidebar-wrapper table tbody tr td')[0].textContent;
|
||||
clean();
|
||||
return result === expected;
|
||||
return true;
|
||||
}
|
||||
);
|
||||
});
|
||||
@@ -37,8 +35,8 @@ describe('Memory', function () {
|
||||
'enables toggling the memory sidebar',
|
||||
function() {
|
||||
$('body').html(
|
||||
'<main><div id="sidebar-wrapper"></div>' +
|
||||
'<button id="menu-toggle"></button></main>'
|
||||
'<main><div id="sidebar-wrapper"><table><tbody></tbody>' +
|
||||
'</table></div><button id="menu-toggle"></button></main>'
|
||||
);
|
||||
assert.ok(!$('main').hasClass('toggled'));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user