| <html> |
| <head> |
| <title>commits-panel-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> |
| <link rel=import href="/res/imp/bower_components/polymer/polymer.html"> |
| <link rel=import href="commit-panel.html"> |
| <link rel=import href="error-toast-sk.html"> |
| <script src="/res/js/common.js"></script> |
| <script src="bower_components/sinonjs/sinon.js"></script> |
| |
| <script> |
| // We have a /json/gitlog that offers a subset of gittile's API |
| // |
| // Gittiles would return something like: |
| // { |
| // "commit": "bb886749feb444edfd8fbf053a9ea815e3605f8a", |
| // "tree": "9e706bbbffd860ee22390c3599ebb32154ad596f", |
| // "parents": [ |
| // "e02716908fe82c7c4ae9b415793277620a22bcd6" |
| // ], |
| // "author": { |
| // "name": "reed", |
| // "email": "reed@chromium.org", |
| // "time": "Sat Aug 15 07:42:31 2015 -0700" |
| // }, |
| // "committer": { |
| // "name": "Commit bot", |
| // "email": "commit-bot@chromium.org", |
| // "time": "Sat Aug 15 07:42:31 2015 -0700" |
| // }, |
| // "message": "Fetched because origin was set" |
| // }, |
| // for a given commit. The structure below reflects what |
| // /json/gitlog returns (since we only need the message) |
| var remoteCommitInfo = { |
| log: [ |
| { |
| "commit": "bb886749feb444edfd8fbf053a9ea815e3605f8a", |
| "message": "Fetched because origin was set" |
| }, |
| { |
| "commit": "e02716908fe82c7c4ae9b415793277620a22bcd6", |
| "message": "Not from googlesource, the default behavior" |
| } |
| ] |
| }; |
| |
| var server = sinon.fakeServer.create(); |
| |
| // Let the requests to http://skia.googlesource go through to do a real request. |
| sinon.FakeXMLHttpRequest.useFilters = true; |
| sinon.FakeXMLHttpRequest.addFilter(function(method, url, async, username, password) { |
| return url.startsWith("http"); |
| }); |
| |
| |
| server.autoRespond = true; |
| server.autoRespondAfter = 1000; |
| |
| server.respondWith("GET", /\/json\/gitlog.*/, function(request) { |
| console.log("Called " + JSON.stringify(request)); |
| request.respond(200, {"Content-Type":"application/json"}, |
| JSON.stringify(remoteCommitInfo)); |
| }); |
| |
| </script> |
| |
| |
| <style type="text/css" media="screen"> |
| body { |
| font-family:Helvetica,Arial,'Bitstream Vera Sans',sans-serif; |
| } |
| |
| commits-panel-sk { |
| margin-top: 3em; |
| display: block; |
| } |
| |
| a { |
| color: #FF7F00; |
| font-weight: bold; |
| } |
| </style> |
| </head> |
| <body> |
| <h1>Commits</h1> |
| |
| <commits-panel-sk></commits-panel-sk> |
| |
| <commits-panel-sk progress id=panel2></commits-panel-sk> |
| |
| <h2>Allow selections</h2> |
| <commits-panel-sk mailbox=foo selection id=panel3></commits-panel-sk> |
| |
| <br> |
| <h2>Origin repo</h2> |
| <commits-panel-sk commits=foo id=panel4 origin></commits-panel-sk> |
| |
| <script type="text/javascript" charset="utf-8"> |
| var commitinfo = [ |
| { |
| commit_time: 1439649751, |
| author: "reed (reed@chromium.org)", |
| hash: "bb886749feb444edfd8fbf053a9ea815e3605f8a", |
| message: "", |
| }, |
| { |
| author: "reed (reed@chromium.org)", |
| commit_time: 1439648914, |
| hash: "e02716908fe82c7c4ae9b415793277620a22bcd6", |
| message: "", |
| }, |
| ] |
| sk.Mailbox.send("commits", commitinfo); |
| $$$('#panel2').setCommitInfo(commitinfo); |
| |
| $$$('#panel4').setCommitInfo(commitinfo); |
| </script> |
| |
| <error-toast-sk></error-toast-sk> |
| </body> |
| </html> |