aboutsummaryrefslogtreecommitdiff
path: root/js/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers')
-rw-r--r--js/controllers/redirectorpage.js52
1 files changed, 48 insertions, 4 deletions
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);
}
}]);