| <!-- The <commit-detail-picker-sk> custom element declaration. |
| |
| Attributes: |
| title - The text to display in the button when no commit |
| has been selected. |
| |
| commit - The cid.CommitDetail of the selected commit, or |
| null if no commit has been selected. |
| |
| Events: |
| commit-selected - Event produced when a commit is selected. The |
| the event detail contains the serialized cid.CommitDetail. |
| |
| { |
| author: "foo (foo@example.org)", |
| url: "skia.googlesource.com/bar", |
| message: "Commit from foo.", |
| ts: 1439649751, |
| }, |
| |
| Methods: |
| setCommitDetail(d) - Where d is an Array of serialized cid.CommitDetail, |
| i.e. they look like: |
| |
| { |
| author: "foo (foo@example.org)", |
| url: "skia.googlesource.com/bar", |
| message: "Commit from foo.", |
| ts: 1439649751, |
| }, |
| |
| select(index) - Causes the commit at 'index' to be selected. |
| --> |
| |
| <link rel="stylesheet" href="/res/common/css/md.css"> |
| <link rel="import" href="/res/imp/bower_components/paper-dialog/paper-dialog.html"> |
| <link rel="import" href="/res/imp/bower_components/paper-dialog-scrollable/paper-dialog-scrollable.html"> |
| |
| <link rel="import" href="commit-detail-panel.html"> |
| |
| <dom-module id="commit-detail-picker-sk"> |
| <style> |
| </style> |
| <template> |
| <button class=raised id=select>[[title]]</button> |
| <paper-dialog id=dialog> |
| <paper-dialog-scrollable> |
| <commit-detail-panel-sk selectable id=panel><commit-detail-panel-sk> |
| </paper-dialog-scrollable> |
| <div class=buttons> |
| <button dialog-confirm>Close</button> |
| </div> |
| </paper-dialog> |
| </template> |
| </dom-module> |
| |
| <script> |
| Polymer({ |
| is: "commit-detail-picker-sk", |
| |
| properties: { |
| title: { |
| type: String, |
| value: "Choose a commit.", |
| }, |
| commit: { |
| type: Object, |
| value: null, |
| }, |
| }, |
| |
| listeners: { |
| "select.tap": "_selectTap", |
| "panel.commit-selected": "_panelSelect", |
| }, |
| |
| setCommitDetail: function(details) { |
| this.$.panel.setCommitDetail(details); |
| this.commit = {}; |
| }, |
| |
| select: function(index) { |
| this.$.panel.select(index); |
| }, |
| |
| _selectTap: function() { |
| this.$.dialog.open(); |
| }, |
| |
| _panelSelect: function(e) { |
| this.set('title', e.detail.description); |
| this.commit = e.detail.commit; |
| }, |
| |
| }); |
| </script> |