From 65a1decd73ba1a89979ec520937f8d5740f333a0 Mon Sep 17 00:00:00 2001 From: ansuz Date: Wed, 10 Jan 2018 10:14:49 +0100 Subject: [PATCH] step towards customizable login functionality --- {www/common => customize.dist}/credential.js | 0 {www/common => customize.dist}/login.js | 2 +- customize.dist/store.js | 97 -------------------- www/login/main.js | 2 +- www/register/main.js | 4 +- 5 files changed, 4 insertions(+), 101 deletions(-) rename {www/common => customize.dist}/credential.js (100%) rename {www/common => customize.dist}/login.js (99%) delete mode 100644 customize.dist/store.js diff --git a/www/common/credential.js b/customize.dist/credential.js similarity index 100% rename from www/common/credential.js rename to customize.dist/credential.js diff --git a/www/common/login.js b/customize.dist/login.js similarity index 99% rename from www/common/login.js rename to customize.dist/login.js index 847ca74a7..b7a9d4e84 100644 --- a/www/common/login.js +++ b/customize.dist/login.js @@ -4,7 +4,7 @@ define([ '/bower_components/chainpad-crypto/crypto.js', '/common/common-util.js', '/common/outer/network-config.js', - '/common/credential.js', + '/customize/credential.js', '/bower_components/chainpad/chainpad.dist.js', '/bower_components/tweetnacl/nacl-fast.min.js', diff --git a/customize.dist/store.js b/customize.dist/store.js deleted file mode 100644 index 5b82921ed..000000000 --- a/customize.dist/store.js +++ /dev/null @@ -1,97 +0,0 @@ -define(function () { - /* - This module uses localStorage, which is synchronous, but exposes an - asyncronous API. This is so that we can substitute other storage - methods. - - To override these methods, create another file at: - /customize/storage.js - */ - - var Store = {}; - - // Store uses nodebacks... - Store.set = function (key, val, cb) { - localStorage.setItem(key, JSON.stringify(val)); - cb(); - }; - - // implement in alternative store - Store.setBatch = function (map, cb) { - Object.keys(map).forEach(function (key) { - localStorage.setItem(key, JSON.stringify(map[key])); - }); - cb(void 0, map); - }; - - var safeGet = window.safeGet = function (key) { - var val = localStorage.getItem(key); - try { - return JSON.parse(val); - } catch (err) { - console.log(val); - console.error(err); - return val; - } - }; - - Store.get = function (key, cb) { - cb(void 0, safeGet(key)); - }; - - // implement in alternative store - Store.getBatch = function (keys, cb) { - var res = {}; - keys.forEach(function (key) { - res[key] = safeGet(key); - }); - cb(void 0, res); - }; - - Store.remove = function (key, cb) { - localStorage.removeItem(key); - cb(); - }; - - // implement in alternative store - Store.removeBatch = function (keys, cb) { - keys.forEach(function (key) { - localStorage.removeItem(key); - }); - cb(); - }; - - Store.keys = function (cb) { - cb(void 0, Object.keys(localStorage)); - }; - - Store.ready = function (f) { - if (typeof(f) === 'function') { - f(void 0, Store); - } - }; - - var changeHandlers = Store.changeHandlers = []; - - Store.change = function (f) { - if (typeof(f) !== 'function') { - throw new Error('[Store.change] callback must be a function'); - } - changeHandlers.push(f); - - if (changeHandlers.length === 1) { - // start listening for changes - window.addEventListener('storage', function (e) { - changeHandlers.forEach(function (f) { - f({ - key: e.key, - oldValue: e.oldValue, - newValue: e.newValue, - }); - }); - }); - } - }; - - return Store; -}); diff --git a/www/login/main.js b/www/login/main.js index ce3aa8835..24f0e905a 100644 --- a/www/login/main.js +++ b/www/login/main.js @@ -1,7 +1,7 @@ define([ 'jquery', '/common/cryptpad-common.js', - '/common/login.js', + '/customize/login.js', '/common/common-interface.js', '/common/common-realtime.js', '/common/common-feedback.js', diff --git a/www/register/main.js b/www/register/main.js index 5337dfa87..a6c31509f 100644 --- a/www/register/main.js +++ b/www/register/main.js @@ -1,9 +1,9 @@ define([ 'jquery', - '/common/login.js', + '/customize/login.js', '/common/cryptpad-common.js', '/common/test.js', - '/common/credential.js', // preloaded for login.js + '/customize/credential.js', // preloaded for login.js '/common/common-interface.js', '/common/common-util.js', '/common/common-realtime.js',