From bf909db3f99ba269bfcf3048ec57c24dd141667f Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 18 Sep 2014 20:05:05 +0200 Subject: [PATCH] jshint and format app.js --- auto/gui.files.go | 2 +- gui/app.js | 137 ++++++++++++++++++++++++++-------------------- 2 files changed, 78 insertions(+), 61 deletions(-) diff --git a/auto/gui.files.go b/auto/gui.files.go index fecd731c..0919abc8 100644 --- a/auto/gui.files.go +++ b/auto/gui.files.go @@ -27,7 +27,7 @@ func Assets() map[string][]byte { bs, _ = ioutil.ReadAll(gr) assets["angular/angular.min.js"] = bs - bs, _ = base64.StdEncoding.DecodeString("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") + bs, _ = base64.StdEncoding.DecodeString("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") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) assets["app.js"] = bs diff --git a/gui/app.js b/gui/app.js index 3bb90935..5c24b344 100644 --- a/gui/app.js +++ b/gui/app.js @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. /*jslint browser: true, continue: true, plusplus: true */ -/*global $: false, angular: false */ +/*global $: false, angular: false, console: false, validLangs: false */ 'use strict'; @@ -42,15 +42,15 @@ syncthing.controller('EventCtrl', function ($scope, $http) { console.log("event", event.id, event.type, event.data); $scope.$emit(event.type, event); }); - }; + } $scope.lastEvent = data[data.length - 1]; lastID = $scope.lastEvent.id; setTimeout(function () { $http.get(urlbase + '/events?since=' + lastID) - .success(successFn) - .error(errorFn); + .success(successFn) + .error(errorFn); }, 500); }; @@ -59,8 +59,8 @@ syncthing.controller('EventCtrl', function ($scope, $http) { setTimeout(function () { $http.get(urlbase + '/events?limit=1') - .success(successFn) - .error(errorFn); + .success(successFn) + .error(errorFn); }, 1000); }; @@ -92,7 +92,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.upgradeInfo = {}; $scope.stats = {}; - $http.get(urlbase+"/lang").success(function (langs) { + $http.get(urlbase + "/lang").success(function (langs) { // Find the first language in the list provided by the user's browser // that is a prefix of a language we have available. That is, "en" // sent by the browser will match "en" or "en-US", while "zh-TW" will @@ -108,11 +108,11 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca // The langs returned by the /rest/langs call will be in lower // case. We compare to the lowercase version of the language // code we have as well. - possibleLang = possibleLang.toLowerCase() + possibleLang = possibleLang.toLowerCase(); if (possibleLang.length > lang.length) { - return possibleLang.indexOf(lang) == 0; + return possibleLang.indexOf(lang) === 0; } else { - return lang.indexOf(possibleLang) == 0; + return lang.indexOf(possibleLang) === 0; } }); if (matching.length >= 1) { @@ -122,9 +122,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca } // Fallback if nothing matched $translate.use("en"); - }) + }); - $(window).bind('beforeunload', function() { + $(window).bind('beforeunload', function () { navigatingAway = true; }); @@ -140,20 +140,20 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca 'rmdir': 'Del (dir)', 'sync': 'Sync', 'touch': 'Update', - } + }; $scope.needIcons = { 'rm': 'remove', 'rmdir': 'remove', 'sync': 'download', 'touch': 'asterisk', - } + }; $scope.$on('UIOnline', function (event, arg) { if (online && !restarting) { return; } - if (restarting){ + if (restarting) { document.location.reload(true); } else { console.log('UIOnline'); @@ -222,7 +222,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }); $scope.$on('ConfigLoaded', function (event) { - if ($scope.config.Options.URAccepted == 0) { + if ($scope.config.Options.URAccepted === 0) { // If usage reporting has been neither accepted nor declined, // we want to ask the user to make a choice. But we don't want // to bug them during initial setup, so we set a cookie with @@ -232,14 +232,14 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca var firstVisit = document.cookie.replace(/(?:(?:^|.*;\s*)firstVisit\s*\=\s*([^;]*).*$)|^.*$/, "$1"); if (!firstVisit) { - document.cookie = "firstVisit=" + Date.now() + ";max-age=" + 30*24*3600; + document.cookie = "firstVisit=" + Date.now() + ";max-age=" + 30 * 24 * 3600; } else { - if (+firstVisit < Date.now() - 4*3600*1000){ + if (+firstVisit < Date.now() - 4 * 3600 * 1000) { $('#ur').modal(); } } } - }) + }); $scope.$on('ConfigSaved', function (event, arg) { updateLocalConfig(arg.data); @@ -301,7 +301,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca function refreshCompletion(node, repo) { if (node === $scope.myID) { - return + return; } var key = "refreshCompletion" + node + repo; @@ -313,7 +313,8 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca } $scope.completion[node][repo] = data.completion; - var tot = 0, cnt = 0; + var tot = 0, + cnt = 0; for (var cmp in $scope.completion[node]) { if (cmp === "_total") { continue; @@ -333,8 +334,8 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca function refreshConnectionStats() { $http.get(urlbase + '/connections').success(function (data) { var now = Date.now(), - td = (now - prevDate) / 1000, - id; + td = (now - prevDate) / 1000, + id; prevDate = now; for (id in data) { @@ -373,7 +374,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca } var refreshNodeStats = debounce(function () { - $http.get(urlbase+"/stats/node").success(function (data) { + $http.get(urlbase + "/stats/node").success(function (data) { $scope.stats = data; for (var node in $scope.stats) { $scope.stats[node].LastSeen = new Date($scope.stats[node].LastSeen); @@ -383,7 +384,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }); }, 500); - $scope.init = function() { + $scope.init = function () { refreshSystem(); refreshConfig(); refreshConnectionStats(); @@ -497,7 +498,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }; $scope.findNode = function (nodeID) { - var matches = $scope.nodes.filter(function (n) { return n.NodeID == nodeID; }); + var matches = $scope.nodes.filter(function (n) { + return n.NodeID == nodeID; + }); if (matches.length != 1) { return undefined; } @@ -534,9 +537,13 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $('#settings').modal(); }; - $scope.saveConfig = function() { + $scope.saveConfig = function () { var cfg = JSON.stringify($scope.config); - var opts = {headers: {'Content-Type': 'application/json'}}; + var opts = { + headers: { + 'Content-Type': 'application/json' + } + }; $http.post(urlbase + '/config', cfg, opts).success(function () { $http.get(urlbase + '/config/sync').success(function (data) { $scope.configInSync = data.configInSync; @@ -547,17 +554,17 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.saveSettings = function () { // Make sure something changed var changed = !angular.equals($scope.config.Options, $scope.tmpOptions) || - !angular.equals($scope.config.GUI, $scope.tmpGUI); + !angular.equals($scope.config.GUI, $scope.tmpGUI); if (changed) { // Check if usage reporting has been enabled or disabled if ($scope.tmpOptions.UREnabled && $scope.tmpOptions.URAccepted <= 0) { $scope.tmpOptions.URAccepted = 1000; - } else if (!$scope.tmpOptions.UREnabled && $scope.tmpOptions.URAccepted > 0){ + } else if (!$scope.tmpOptions.UREnabled && $scope.tmpOptions.URAccepted > 0) { $scope.tmpOptions.URAccepted = -1; } // Check if protocol will need to be changed on restart - if($scope.config.GUI.UseTLS !== $scope.tmpGUI.UseTLS){ + if ($scope.config.GUI.UseTLS !== $scope.tmpGUI.UseTLS) { $scope.protocolChanged = true; } @@ -565,7 +572,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.thisNode().Name = $scope.tmpOptions.NodeName; $scope.config.Options = angular.copy($scope.tmpOptions); $scope.config.GUI = angular.copy($scope.tmpGUI); - $scope.config.Options.ListenAddress = $scope.config.Options.ListenStr.split(',').map(function (x) { return x.trim(); }); + $scope.config.Options.ListenAddress = $scope.config.Options.ListenStr.split(',').map(function (x) { + return x.trim(); + }); $scope.saveConfig(); } @@ -580,14 +589,14 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.configInSync = true; // Switch webpage protocol if needed - if($scope.protocolChanged){ + if ($scope.protocolChanged) { var protocol = 'http'; - if($scope.config.GUI.UseTLS){ - protocol = 'https'; + if ($scope.config.GUI.UseTLS) { + protocol = 'https'; } - setTimeout(function(){ + setTimeout(function () { window.location.protocol = protocol; }, 2500); @@ -628,7 +637,10 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }; $scope.addNode = function () { - $scope.currentNode = {AddressesStr: 'dynamic', Compression: true}; + $scope.currentNode = { + AddressesStr: 'dynamic', + Compression: true + }; $scope.editingExisting = false; $scope.editingSelf = false; $scope.nodeEditor.$setPristine(); @@ -660,7 +672,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $('#editNode').modal('hide'); nodeCfg = $scope.currentNode; - nodeCfg.Addresses = nodeCfg.AddressesStr.split(',').map(function (x) { return x.trim(); }); + nodeCfg.Addresses = nodeCfg.AddressesStr.split(',').map(function (x) { + return x.trim(); + }); done = false; for (i = 0; i < $scope.nodes.length; i++) { @@ -682,7 +696,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }; $scope.otherNodes = function () { - return $scope.nodes.filter(function (n){ + return $scope.nodes.filter(function (n) { return n.NodeID !== $scope.myID; }); }; @@ -763,7 +777,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }; $scope.addRepo = function () { - $scope.currentRepo = {selectedNodes: {}}; + $scope.currentRepo = { + selectedNodes: {} + }; $scope.currentRepo.RescanIntervalS = 60; $scope.currentRepo.FileVersioningSelector = "none"; $scope.currentRepo.simpleKeep = 5; @@ -784,7 +800,9 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca repoCfg.selectedNodes[$scope.myID] = true; for (var nodeID in repoCfg.selectedNodes) { if (repoCfg.selectedNodes[nodeID] === true) { - repoCfg.Nodes.push({NodeID: nodeID}); + repoCfg.Nodes.push({ + NodeID: nodeID + }); } } delete repoCfg.selectedNodes; @@ -822,7 +840,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.saveConfig(); }; - $scope.sharesRepo = function(repoCfg) { + $scope.sharesRepo = function (repoCfg) { var names = []; repoCfg.Nodes.forEach(function (node) { names.push($scope.nodeName($scope.findNode(node.NodeID))); @@ -852,7 +870,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $('#urPreview').modal().on('hidden.bs.modal', function () { $('#settings').modal(); }); - } + }; $scope.acceptUR = function () { $scope.config.Options.URAccepted = 1000; // Larger than the largest existing report version @@ -879,7 +897,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca var fDelete = 4096; var fDirectory = 16384; - if ((file.Flags & (fDelete+fDirectory)) === fDelete+fDirectory) { + if ((file.Flags & (fDelete + fDirectory)) === fDelete + fDirectory) { return 'rmdir'; } else if ((file.Flags & fDelete) === fDelete) { return 'rm'; @@ -958,12 +976,11 @@ function decimals(val, num) { return decs; } -function randomString(len, bits) -{ +function randomString(len, bits) { bits = bits || 36; - var outStr = "", newStr; - while (outStr.length < len) - { + var outStr = "", + newStr; + while (outStr.length < len) { newStr = Math.random().toString(bits).slice(2); outStr += newStr.slice(0, Math.min(newStr.length, (len - outStr.length))); } @@ -981,7 +998,7 @@ function isEmptyObject(obj) { function debounce(func, wait) { var timeout, args, context, timestamp, result, again; - var later = function() { + var later = function () { var last = Date.now() - timestamp; if (last < wait) { timeout = setTimeout(later, wait - last); @@ -995,7 +1012,7 @@ function debounce(func, wait) { } }; - return function() { + return function () { context = this; args = arguments; timestamp = Date.now(); @@ -1077,15 +1094,15 @@ syncthing.filter('basename', function () { if (!parts || parts.length < 1) { return input; } - return parts[parts.length-1]; + return parts[parts.length - 1]; }; }); -syncthing.directive('uniqueRepo', function() { +syncthing.directive('uniqueRepo', function () { return { require: 'ngModel', - link: function(scope, elm, attrs, ctrl) { - ctrl.$parsers.unshift(function(viewValue) { + link: function (scope, elm, attrs, ctrl) { + ctrl.$parsers.unshift(function (viewValue) { if (scope.editingExisting) { // we shouldn't validate ctrl.$setValidity('uniqueRepo', true); @@ -1102,16 +1119,16 @@ syncthing.directive('uniqueRepo', function() { }; }); -syncthing.directive('validNodeid', function($http) { +syncthing.directive('validNodeid', function ($http) { return { require: 'ngModel', - link: function(scope, elm, attrs, ctrl) { - ctrl.$parsers.unshift(function(viewValue) { + link: function (scope, elm, attrs, ctrl) { + ctrl.$parsers.unshift(function (viewValue) { if (scope.editingExisting) { // we shouldn't validate ctrl.$setValidity('validNodeid', true); } else { - $http.get(urlbase + '/nodeid?id='+viewValue).success(function (resp) { + $http.get(urlbase + '/nodeid?id=' + viewValue).success(function (resp) { if (resp.error) { ctrl.$setValidity('validNodeid', false); } else { @@ -1138,5 +1155,5 @@ syncthing.directive('modal', function () { close: '@', large: '@', }, - } + }; });