From 806ec25d8e4a68cdfff53b1bffd832b497e7732a Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 7 Nov 2014 04:36:45 -0500 Subject: [PATCH] refactor(config) onLocalStorageChange --- lib/client/config.js | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/lib/client/config.js b/lib/client/config.js index 427d27a8..fa3b8979 100644 --- a/lib/client/config.js +++ b/lib/client/config.js @@ -249,28 +249,35 @@ var CloudCmd, Util, DOM, io; } function onLocalStorageChange(checked) { - var elLocalStorage = DOM.getById('localStorage', Element), - elDiff = DOM.getById('diff', Element), - elBuffer = DOM.getById('buffer', Element), - elDirStorage = DOM.getById('dirStorage', Element), - isChecked = elDiff.checked || elBuffer.checked || elDirStorage.checked, + var isChecked, + names = ['diff', 'buffer', 'dirStorage', 'localStorage'], + elements = names.map(DOM.getById), + el = {}, msg = 'Diff, Buffer and Directory Storage do not work without localStorage'; - if (isChecked && !elLocalStorage.checked) { + elements.map(function(element) { + var name = element.id; + + el[name] = element; + + if (element.checked) + isChecked = true; + }); + + if (isChecked && !el.localStorage.checked) { alert(msg); - checked = - elDiff.checked = - elBuffer.checked = - elDirStorage.checked = false; - - onChange({ - target: elDiff + elements.forEach(function(element) { + if (element.checked) { + element.checked = false; + + onChange({ + target: element + }); + } }); - onChange({ - target: elBuffer - }); + checked = false; } return checked;