| <html> |
| <head> |
| <title>comments-sk demo</title> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <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"> |
| // Comments to display. |
| var comments = [ |
| { |
| id: 0, |
| user: "user@google.com", |
| time: 15000000, |
| message: "Hi! Check this out: http://www.google.com skia:4253", |
| extraBool: true, |
| extraText: "extra", |
| }, |
| { |
| id: 1, |
| user: "me@google.com", |
| time: 140000, |
| message: "Helloworld", |
| extraBool: true, |
| extraText: "extra", |
| }, |
| { |
| id: 2, |
| user: "user@google.com", |
| time: 1500002330, |
| message: "asdfkl", |
| extraBool: false, |
| extraText: "extra", |
| }, |
| { |
| id: 3, |
| user: "user@google.com", |
| time: 15000000, |
| message: "Hdsfai!", |
| extraBool: true, |
| extraText: "extra", |
| }, |
| { |
| id: 4, |
| user: "user@google.com", |
| time: 15000000, |
| message: "Hi42!", |
| extraBool: false, |
| extraText: "extra", |
| }, |
| { |
| id: 5, |
| user: "user@google.com", |
| time: 15000000, |
| message: "Hiasdkfj24390r8934!", |
| extraBool: true, |
| extraText: "extra", |
| }, |
| { |
| id: 6, |
| user: "user@google.com", |
| time: 15000000, |
| message: "H42094532985439849!", |
| extraBool: true, |
| extraText: "extra", |
| } |
| ]; |
| |
| function updateDemos() { |
| comments = comments.slice(); |
| var commentBoxes = $$("comments-sk"); |
| for (var i = 0; i < commentBoxes.length; i++) { |
| commentBoxes[i].comments = comments; |
| } |
| } |
| |
| function deleteComment(id) { |
| for (var i = 0; i < comments.length; i++) { |
| if (comments[i].id == id) { |
| comments.splice(i, 1); |
| updateDemos(); |
| return true; |
| } |
| } |
| return false; |
| } |
| |
| function addComment(comment) { |
| var maxId = 0; |
| for (var i = 0; i < comments.length; i++) { |
| if (comments[i].id > maxId) { |
| maxId = comments[i].id; |
| } |
| } |
| comment.id = maxId + 1, |
| comment.user = "YOU@google.com", |
| comment.time = 15000000, |
| comment.message = comment.comment, |
| comments.push(comment); |
| |
| updateDemos(); |
| } |
| |
| // Mock out sk.get() to return the login info. |
| sk.get = function(url) { |
| return new Promise(function (resolve, reject) { |
| resolve('{"Email":"user@google.com","LoginURL":"https://accounts.google.com/"}'); |
| }); |
| }; |
| |
| // Mock out sk.post() and sk.delete() to pretend to support adding and |
| // deleting comments. |
| sk.post = function(url, body) { |
| return new Promise(function (resolve, reject) { |
| addComment(JSON.parse(body)); |
| resolve("Added the comment."); |
| }); |
| } |
| |
| sk.delete = function(url) { |
| return new Promise(function (resolve, reject) { |
| var split = url.split("/"); |
| var id = split[split.length - 1]; |
| if (deleteComment(id)) { |
| resolve(""); |
| } else { |
| reject("Failed to delete the comment."); |
| } |
| }); |
| }; |
| </script> |
| <link rel="import" href="comments-sk.html"> |
| <link rel="import" href="error-toast-sk.html"> |
| <link rel="import" href="login.html"> |
| <style> |
| div.demo { |
| background-color: #EEEEEE; |
| padding: 10px; |
| margin: 10px; |
| } |
| comments-sk { |
| width: 100%; |
| } |
| </style> |
| </head> |
| <body> |
| <h1>comments-sk demo</h1> |
| <login-sk style="display:none;"></login-sk> |
| |
| <hr/> |
| <h2>Simple</h2> |
| <comments-sk></comments-sk> |
| |
| <hr/> |
| <h2>Allow Add Comments</h2> |
| <comments-sk allow_add_comment></comments-sk> |
| |
| <hr/> |
| <h2>Allow Delete Comments</h2> |
| <comments-sk allow_delete_comment></comments-sk> |
| |
| <hr/> |
| <h2>Allow Add and Delete</h2> |
| <comments-sk allow_add_comment allow_delete_comment></comments-sk> |
| |
| <hr/> |
| <h2>Collapsible</h2> |
| <comments-sk collapsible></comments-sk> |
| |
| <hr/> |
| <h2>Extra Fields</h2> |
| <comments-sk allow_add_comment extra_fields='[{"name":"extraText","label":"Extra Text","type":"text"},{"name":"extraBool","label":"Extra Bool","type":"bool"}]'></comments-sk> |
| |
| <error-toast-sk></error-toast-sk> |
| <script type="text/javascript" charset="utf-8"> |
| updateDemos(); |
| </script> |
| </body> |
| </html> |