Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: appengine/swarming/elements/res/js/common.js

Issue 2338383002: Refactor prior to adding task-page (Closed) Base URL: git@github.com:luci/luci-py@master
Patch Set: Address nits Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The LUCI Authors. All rights reserved. 1 // Copyright 2016 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 this.swarming = this.swarming || function() { 5 this.swarming = this.swarming || function() {
6 6
7 var swarming = {}; 7 var swarming = {};
8 8
9 // naturalCompare tries to use natural sorting (e.g. sort ints by value).
10 swarming.naturalCompare = function(a, b) {
11 // Try numeric, aka "natural" sort and use it if ns is not NaN.
12 // Javascript will try to corece these to numbers or return NaN.
13 var ns = a - b;
14 if (!isNaN(ns)) {
15 return ns;
16 }
17 return String(a).localeCompare(b);
18 };
19
20
9 swarming.stableSort = function(arr, comp) { 21 swarming.stableSort = function(arr, comp) {
10 if (!arr || !comp) { 22 if (!arr || !comp) {
11 console.log("missing arguments to stableSort", arr, comp); 23 console.log("missing arguments to stableSort", arr, comp);
12 return; 24 return;
13 } 25 }
14 // We can guarantee a potential non-stable sort (like V8's 26 // We can guarantee a potential non-stable sort (like V8's
15 // Array.prototype.sort()) to be stable by first storing the index in the 27 // Array.prototype.sort()) to be stable by first storing the index in the
16 // original sorting and using that if the original compare was 0. 28 // original sorting and using that if the original compare was 0.
17 arr.forEach(function(e, i){ 29 arr.forEach(function(e, i){
18 if (e !== undefined && e !== null) { 30 if (e !== undefined && e !== null) {
(...skipping 13 matching lines...) Expand all
32 return -1; 44 return -1;
33 } 45 }
34 var c = comp(a, b); 46 var c = comp(a, b);
35 if (c === 0) { 47 if (c === 0) {
36 return a.__sortIdx - b.__sortIdx; 48 return a.__sortIdx - b.__sortIdx;
37 } 49 }
38 return c; 50 return c;
39 }); 51 });
40 } 52 }
41 53
42 // naturalCompare tries to use natural sorting (e.g. sort ints by value).
43 swarming.naturalCompare = function(a, b) {
44 // Try numeric, aka "natural" sort and use it if ns is not NaN.
45 // Javascript will try to corece these to numbers or return NaN.
46 var ns = a - b;
47 if (!isNaN(ns)) {
48 return ns;
49 }
50 return String(a).localeCompare(b);
51 };
52
53 // postWithToast makes a post request and updates the error-toast 54 // postWithToast makes a post request and updates the error-toast
54 // element with the response, regardless of failure. See error-toast.html 55 // element with the response, regardless of failure. See error-toast.html
55 // for more information. 56 // for more information.
56 swarming.postWithToast = function(url, msg, auth_headers) { 57 swarming.postWithToast = function(url, msg, auth_headers) {
57 // Keep toast displayed until we hear back from the request. 58 // Keep toast displayed until we hear back from the request.
58 sk.errorMessage(msg, 0); 59 sk.errorMessage(msg, 0);
59 60
60 sk.request("POST", url, undefined, auth_headers).then(function(response) { 61 sk.request("POST", url, undefined, auth_headers).then(function(response) {
61 sk.errorMessage("Request sent. Response: "+response, 3000); 62 sk.errorMessage("Request sent. Response: "+response, 3000);
62 }).catch(function(reason) { 63 }).catch(function(reason) {
63 console.log("Request failed", reason); 64 console.log("Request failed", reason);
64 sk.errorMessage("Request failed. Reason: "+reason, 5000); 65 sk.errorMessage("Request failed. Reason: "+reason, 5000);
65 }); 66 });
66 } 67 }
67 68
68 return swarming; 69 return swarming;
69 }(); 70 }();
OLDNEW
« no previous file with comments | « appengine/swarming/elements/res/imp/tasklist/task-list-data.html ('k') | appengine/swarming/templates/public_bot_index.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698