Tweaks to the reply dialog to make it usable with drafts
+ Re-center once drafts have been loaded.
+ Clamp the drafts section so that it scrolls and doesn't
push the action buttons off screen.
+ Allow the dialog a bit more width if it needs it.
+ Set a max-height of 90vh.
Change-Id: Ifae6d1ccfadcae38a3907c55bf3bab6e906a0472
diff --git a/polygerrit-ui/app/elements/gr-change-view.html b/polygerrit-ui/app/elements/gr-change-view.html
index b8d8bfd..05eb709 100644
--- a/polygerrit-ui/app/elements/gr-change-view.html
+++ b/polygerrit-ui/app/elements/gr-change-view.html
@@ -87,7 +87,8 @@
margin-left: var(--default-horizontal-margin);
}
gr-reply-dialog {
- width: 30em;
+ min-width: 30em;
+ max-width: 50em;
}
.changeStatus {
color: #999;
@@ -170,6 +171,7 @@
margin-top: .5em;
}
gr-reply-dialog {
+ min-width: initial;
width: 90vw;
}
.download {
@@ -447,7 +449,9 @@
},
_handleReplyOverlayOpen: function(e) {
- this.$.replyDialog.reload();
+ this.$.replyDialog.reload().then(function() {
+ this.async(function() { this.$.replyOverlay.center() }, 1);
+ }.bind(this));
this.$.replyDialog.focus();
},
diff --git a/polygerrit-ui/app/elements/gr-reply-dialog.html b/polygerrit-ui/app/elements/gr-reply-dialog.html
index ed01928..ead001a 100644
--- a/polygerrit-ui/app/elements/gr-reply-dialog.html
+++ b/polygerrit-ui/app/elements/gr-reply-dialog.html
@@ -26,6 +26,7 @@
<style>
:host {
display: block;
+ max-height: 90vh;
}
:host([disabled]) {
pointer-events: none;
@@ -33,10 +34,20 @@
:host([disabled]) .container {
opacity: .5;
}
+ .container {
+ display: flex;
+ flex-direction: column;
+ max-height: 90vh;
+ }
section {
border-top: 1px solid #ddd;
padding: .5em .75em;
}
+ .textareaContainer,
+ .labelsContainer,
+ .actionsContainer {
+ flex-shrink: 0;
+ }
.textareaContainer {
position: relative;
}
@@ -74,6 +85,9 @@
iron-selector > gr-button.iron-selected {
background-color: #ddd;
}
+ .draftsContainer {
+ overflow-y: auto;
+ }
.draftsContainer h3 {
margin-top: .25em;
}
@@ -98,9 +112,10 @@
placeholder="Say something..."
disabled="{{disabled}}"
rows="4"
+ max-rows="15"
bind-value="{{draft}}"></iron-autogrow-textarea>
</section>
- <section>
+ <section class="labelsContainer">
<template is="dom-repeat"
items="[[_computeLabelArray(permittedLabels)]]" as="label">
<div class="labelContainer">
@@ -179,7 +194,7 @@
},
reload: function() {
- this.$.draftsXHR.generateRequest();
+ return this.$.draftsXHR.generateRequest().completes;
},
focus: function() {