diff options
author | Einar Egilsson <einar@einaregilsson.com> | 2018-08-17 10:41:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-17 10:41:58 +0000 |
commit | 506f78a13124fdbe5e33485dbd0b079cd8fffd47 (patch) | |
tree | 0e269965cc77f6b78c4b8821c910518c259ab414 /js/controllers | |
parent | 005cdf5953a165c5f117102382cd38ecb641fa2f (diff) | |
parent | 12c3df39097905f981a392dceaa93ac879813159 (diff) |
Merge pull request #120 from gkrishnaks/master
Typo correction in variable declaration, and closes feature requests #104, #86, #72 and fix for issue #115, updated excludeMatch() for faster regex check.
Diffstat (limited to 'js/controllers')
-rw-r--r-- | js/controllers/editredirect.js | 2 | ||||
-rw-r--r-- | js/controllers/importexport.js | 4 | ||||
-rw-r--r-- | js/controllers/redirectorpage.js | 52 |
3 files changed, 51 insertions, 7 deletions
diff --git a/js/controllers/editredirect.js b/js/controllers/editredirect.js index 3d63340..81a4ee9 100644 --- a/js/controllers/editredirect.js +++ b/js/controllers/editredirect.js @@ -79,7 +79,7 @@ redirectorApp.controller('EditRedirectCtrl', ['$scope', function($s) { arr.splice(index, 1); } - var order = 'main_frame,sub_frame,stylesheet,script,image,object,xmlhttprequest,other'; + var order = 'main_frame,sub_frame,stylesheet,script,image,imageset,object,xmlhttprequest,other'; arr.sort(function(a,b) { return order.indexOf(a) - order.indexOf(b); diff --git a/js/controllers/importexport.js b/js/controllers/importexport.js index b9a90c7..5ea9756 100644 --- a/js/controllers/importexport.js +++ b/js/controllers/importexport.js @@ -51,7 +51,7 @@ redirectorApp.config([ reader.onload = function(e) { var data; try { - var data = JSON.parse(reader.result); + data = JSON.parse(reader.result); } catch(e) { $s.showMessage('Failed to parse JSON data, invalid JSON: ' + (e.message||'').substr(0,100)); return $s.$parent.$apply(); @@ -107,4 +107,4 @@ redirectorApp.config([ } $s.updateExportLink(); //Run once so the a will have a href to begin with -}]);
\ No newline at end of file +}]); diff --git a/js/controllers/redirectorpage.js b/js/controllers/redirectorpage.js index d18883c..e9ed30c 100644 --- a/js/controllers/redirectorpage.js +++ b/js/controllers/redirectorpage.js @@ -19,10 +19,45 @@ redirectorApp.controller('RedirectorPageCtrl', ['$scope', '$timeout', function($ var arr = $s.redirects.map(normalize); chrome.runtime.sendMessage({type:"saveredirects", redirects:arr}, function(response) { - console.log('Saved ' + arr.length + ' redirects at ' + new Date() + '. Message from background page:' + response.message); + console.log(response.message); + if(response.message.indexOf("Redirects failed to save") > -1){ + $s.showMessage(response.message, false); + }else{ + console.log('Saved ' + arr.length + ' redirects at ' + new Date() + '. Message from background page:' + response.message); + } }); } - + + // Default is LOCAL storage, allow user to select toggle to Sync if they wish + $s.isSyncEnabled = false; + + chrome.storage.local.get({isSyncEnabled:false},function(obj){ + $s.isSyncEnabled = obj.isSyncEnabled; + $s.$apply(); + }); + + $s.toggleSyncSetting = function(){ + chrome.runtime.sendMessage({type:"ToggleSync", isSyncEnabled: !$s.isSyncEnabled}, function(response) { + if(response.message === "syncEnabled"){ + $s.isSyncEnabled = true; + $s.showMessage('Sync is enabled!',true); + } else if(response.message === "syncDisabled"){ + $s.isSyncEnabled = false; + $s.showMessage('Sync is disabled - local storage will be used!',true); + } else if(response.message.indexOf("Sync Not Possible")>-1){ + $s.isSyncEnabled = false; + chrome.storage.local.set({isSyncEnabled: $s.isSyncEnabled}, function(){ + // console.log("set back to false"); + }); + $s.showMessage(response.message, false); + } + else { + $s.showMessage('Error occured when trying to change Sync settings. Refer logging and raise an issue',false); + } + $s.$apply(); + }); + } + $s.redirects = []; //Need to proxy this through the background page, because Firefox gives us dead objects @@ -39,12 +74,21 @@ redirectorApp.controller('RedirectorPageCtrl', ['$scope', '$timeout', function($ $s.showMessage = function(message, success) { $s.message = message; $s.messageType = success ? 'success' : 'error'; + var timer = 20; + /*if($s.message.indexOf("Error occured")>-1 || $s.message.indexOf("Sync Not Possible")>-1 || $s.message.indexOf("Redirects failed to save")>-1 ){ + timer = 10; + // just to reload the page - when I tested, $s.$apply() didn't refresh as I expected for "Sync Not Possible". + // Reloading the page is going to getRedirects and show actual values to user after showing 10 seconds error message + } */ //Remove the message in 20 seconds if it hasn't been changed... $timeout(function() { if ($s.message == message) { $s.message = null; - } - }, 20 * 1000); + } + /* if(timer == 10){ + chrome.tabs.reload(); + } */ + }, timer * 1000); } }]); |