blob: d7a2ffb4a8cac3e117eadc3322994491da33babf [file] [log] [blame]
<!-- The <commits-dialog-sk> custom element declaration.
An element to display information on one or more commits.
Listens for 'show-commits' events on it's parent element and then displays
the info it receives in each event. Relies upon e.detail containing a
serialized slice of types.Commit that could have made up that dot.
Attributes:
None.
Events:
None.
Methods:
setCommitInfo(commitinfo) - Where commitinfo is an array of objects of the form:
{
author: "foo@example.org"
commit_time: 1428574804
hash: "d9f8862ab6bed4195cbfe5dda48693e1062b01e2"
}
-->
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/paper-dialog/paper-dialog.html">
<link rel="import" href="../common/imp/commit-panel.html" />
<dom-module id="commits-dialog-sk">
<template>
<style include="shared-styles">
#commitsDialog {
position: fixed;
bottom: 1em;
right: 1em;
}
</style>
<paper-dialog id="commitsDialog">
<h1>Commit(s)</h1>
<commits-panel-sk id="commitsPanel" repo="{{_repo}}"></commits-panel-sk>
<div class="buttons">
<paper-button raised dialog-dismiss>Close</paper-button>
</div>
</paper-dialog>
</template>
<script>
Polymer({
is: 'commits-dialog-sk',
properties:{
_repo: {
type: String,
value: sk.app_config.baseRepoURL
}
},
ready: function () {
this.listen(this.parentElement, 'show-commits', '_handleCommitSelected');
this.listen(this.$.commitsPanel, 'commits-loaded', '_handleCommitsLoaded');
// this.$.commitsDialog.positionTarget = document.body;
},
_handleCommitSelected: function(ev) {
this.setCommitInfo(ev.detail);
},
setCommitInfo: function(commitInfo) {
if (this.$.commitsDialog.opened) {
this.$.commitsDialog.close();
}
this.$.commitsPanel.setCommitInfo(commitInfo);
},
_handleCommitsLoaded: function(ev) {
this.$.commitsDialog.open();
}
});
</script>
</dom-module>