blob: ebbcd44aec0703137eb7876df510a9ac492730d0 [file] [log] [blame]
<html>
<head>
<title>job-sk demo</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
<script src="/res/common/js/common.js"></script>
<script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
<script type="text/javascript" charset="utf-8">
// job1 represents real task data.
var job1 = {
"buildbucketBuildId": 0,
"buildbucketLeaseKey": 0,
"created": "2016-10-10T15:56:13.393516175-04:00",
"dbModified": "2016-10-10T19:56:44.572122663Z",
"dependencies": {
"Build-Ubuntu-GCC-x86_64-Release-GN": null,
"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": ["Build-Ubuntu-GCC-x86_64-Release-GN"],
"Upload-Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": ["Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN"],
},
"finished": "2016-10-11T15:30:45.22367Z",
"id": "20161010T195613.393516175Z_0000000000000048",
"isForce": false,
"name": "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN",
"priority": 0.8,
"issue": "2410843002",
"patchset": "1",
"server": "https://codereview.chromium.org",
"repo": "https://skia.googlesource.com/skia.git",
"revision": "6ca48820407244bbdeb8f9e0ed7d76dd94270460",
"status": "SUCCESS",
"tasks": {
"Build-Ubuntu-GCC-x86_64-Release-GN": [{
"id": "20161011T152315.308660290Z_0000000000000a40",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": [{
"id": "20161011T152506.638634008Z_0000000000000a41",
"status": "SUCCESS",
"swarmingTaskId": "31cd2a6aef2ec410",
}],
"Upload-Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": [{
"id": "20161011T152813.960219550Z_0000000000000a42",
"status": "SUCCESS",
"swarmingTaskId": "31cd2d46acc0e110",
}],
},
};
// job2 is fake data but is more visually interesting.
var job2 = {
"created": (new Date(new Date().getTime() - 5000000)).toUTCString(),
"dbModified": "2016-10-10T19:56:44.572122663Z",
"dependencies": {
"F": ["E"],
"E": ["B"],
"D": ["B"],
"C": ["A"],
"B": ["A"],
"A": [],
},
"finished": "",
"id": "20161010T195613.393516175Z_0000000000000048",
"isForce": false,
"name": "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN",
"priority": 0.8,
"issue": "2410843002",
"patchset": "1",
"server": "https://codereview.chromium.org",
"repo": "https://skia.googlesource.com/skia.git",
"revision": "6ca48820407244bbdeb8f9e0ed7d76dd94270460",
"status": "",
"tasks": {
"A": [{
"id": "A1",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"B": [{
"id": "B1",
"status": "FAILURE",
"swarmingTaskId": "31cd28b854e04d10",
}, {
"id": "B2",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"C": [{
"id": "C1",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"D": [{
"id": "D1",
"status": "",
"swarmingTaskId": "31cd28b854e04d10",
}],
"E": [{
"id": "E1",
"status": "RUNNING",
"swarmingTaskId": "31cd28b854e04d10",
}],
},
};
// Mock out sk.get and so we can fake a response from the server.
sk.get = function(url) {
return new Promise(function (resolve, reject) {
if (url.indexOf("/json/job/") != -1) {
if (url.indexOf("job1") != -1) {
resolve(JSON.stringify(job1));
} else {
resolve(JSON.stringify(job2));
}
} else if (url == "/loginstatus/") {
resolve('{"Email":"user@google.com","LoginURL":"https://accounts.google.com/"}');
} else {
reject("Unknown url " + url);
}
});
};
sk.post = function(url) {
return new Promise(function (resolve, reject) {
var j = job1;
if (url.indexOf("job1") == -1) {
j = job2;
}
j.status = "CANCELED";
j.finished = (new Date()).toISOString();
resolve(JSON.stringify(j));
});
};
</script>
<link rel="import" href="job-sk.html">
<link rel="import" href="/res/common/imp/error-toast-sk.html">
<link rel="import" href="/res/common/imp/login.html">
<link rel="import" href="/res/imp/bower_components/paper-toggle-button/paper-toggle-button.html" />
</head>
<body>
<dom-module id="job-sk-demo">
<template>
Alternate tasks set
<paper-toggle-button checked="{{alternate}}"></paper-toggle-button>
<job-sk id="job_sk" swarming-server="chromium-swarm.appspot.com"></job-sk>
</template>
<script>
Polymer({
is: 'job-sk-demo',
properties: {
alternate: {
type: Boolean,
value: false,
observer: "_alternateChanged",
},
},
ready: function() {
if (this.alternate) {
this.$.job_sk.jobId = "job1";
} else {
this.$.job_sk.jobId = "job2";
}
},
_alternateChanged: function() {
if (this.alternate) {
this.$.job_sk.jobId = "job1";
} else {
this.$.job_sk.jobId = "job2";
}
},
});
</script>
</dom-module>
<login-sk style="display:none"></login-sk>
<h1>job-sk demo</h1>
<job-sk-demo></job-sk-demo>
<error-toast-sk></error-toast-sk>
</body>
</html>