Improve layout of robot comments
* Switch service account and robot name * Remove Run ID and replace with Run Details * Remove robot icon * https://imgur.com/a/pijB2KP Change-Id: If42ca1f72ea3c3656f55d5002c82c2439898a5f3
This commit is contained in:
@@ -247,7 +247,7 @@ limitations under the License.
|
||||
<div id="container" class="container">
|
||||
<div class="header" id="header" on-click="_handleToggleCollapsed">
|
||||
<div class="headerLeft">
|
||||
<span class="authorName">[[comment.author.name]]</span>
|
||||
<span class="authorName">[[_computeAuthorName(comment)]]</span>
|
||||
<span class="draftLabel">DRAFT</span>
|
||||
<gr-tooltip-content class="draftTooltip"
|
||||
has-tooltip
|
||||
@@ -258,6 +258,13 @@ limitations under the License.
|
||||
<div class="headerMiddle">
|
||||
<span class="collapsedContent">[[comment.message]]</span>
|
||||
</div>
|
||||
<div hidden$="[[_computeHideRunDetails(comment, collapsed)]]" class="runIdMessage message">
|
||||
<div class="runIdInformation">
|
||||
<a class="robotRunLink" href$="[[comment.url]]">
|
||||
<span class="robotRun link">Run Details</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<gr-button
|
||||
id="deleteBtn"
|
||||
link
|
||||
@@ -284,10 +291,9 @@ limitations under the License.
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<template is="dom-if" if="[[comment.robot_id]]">
|
||||
<template is="dom-if" if="[[isRobotComment]]">
|
||||
<div class="robotId" hidden$="[[collapsed]]">
|
||||
<iron-icon class="robotIcon" icon="gr-icons:robot"></iron-icon>
|
||||
[[comment.robot_id]]
|
||||
[[comment.author.name]]
|
||||
</div>
|
||||
</template>
|
||||
<template is="dom-if" if="[[editing]]">
|
||||
@@ -306,19 +312,6 @@ limitations under the License.
|
||||
content="[[comment.message]]"
|
||||
no-trailing-margin="[[!comment.__draft]]"
|
||||
config="[[projectConfig.commentlinks]]"></gr-formatted-text>
|
||||
<div hidden$="[[!comment.robot_run_id]]" class="message">
|
||||
<div class="runIdInformation" hidden$="[[collapsed]]">
|
||||
Run ID:
|
||||
<template is="dom-if" if="[[comment.url]]">
|
||||
<a class="robotRunLink" href$="[[comment.url]]">
|
||||
<span class="robotRun link">[[comment.robot_run_id]]</span>
|
||||
</a>
|
||||
</template>
|
||||
<template is="dom-if" if="[[!comment.url]]">
|
||||
<span class="robotRun text">[[comment.robot_run_id]]</span>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions humanActions" hidden$="[[!_showHumanActions]]">
|
||||
<div class="action resolve hideOnPublished">
|
||||
<label>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
static get properties() {
|
||||
return {
|
||||
changeNum: String,
|
||||
/** @type {?} */
|
||||
/** @type {!Gerrit.Comment} */
|
||||
comment: {
|
||||
type: Object,
|
||||
notify: true,
|
||||
@@ -672,6 +672,19 @@
|
||||
return overlay.open();
|
||||
}
|
||||
|
||||
_computeAuthorName(comment) {
|
||||
if (!comment) return '';
|
||||
if (comment.robot_id) {
|
||||
return comment.robot_id;
|
||||
}
|
||||
return comment.author && comment.author.name;
|
||||
}
|
||||
|
||||
_computeHideRunDetails(comment, collapsed) {
|
||||
if (!comment) return true;
|
||||
return !(comment.robot_id && comment.url && !collapsed);
|
||||
}
|
||||
|
||||
_closeOverlay(overlay) {
|
||||
Polymer.dom(Gerrit.getRootElement()).removeChild(overlay);
|
||||
overlay.close();
|
||||
|
||||
@@ -456,17 +456,13 @@ limitations under the License.
|
||||
element.editing = false;
|
||||
element.collapsed = false;
|
||||
flushAsynchronousOperations();
|
||||
assert.isNotOk(element.$$('.robotRun.link'));
|
||||
assert.notEqual(getComputedStyle(element.$$('.robotRun.text')).display,
|
||||
'none');
|
||||
assert.isTrue(element.$$('.robotRun.link').textContent === 'Run Details');
|
||||
|
||||
// A robot comment with run ID and url should display a link.
|
||||
element.set(['comment', 'url'], '/path/to/run');
|
||||
flushAsynchronousOperations();
|
||||
assert.notEqual(getComputedStyle(element.$$('.robotRun.link')).display,
|
||||
'none');
|
||||
assert.equal(getComputedStyle(element.$$('.robotRun.text')).display,
|
||||
'none');
|
||||
});
|
||||
|
||||
test('collapsible drafts', () => {
|
||||
@@ -527,6 +523,37 @@ limitations under the License.
|
||||
'header middle content is not visible');
|
||||
});
|
||||
|
||||
test('robot comment layout', () => {
|
||||
const comment = Object.assign({
|
||||
robot_id: 'happy_robot_id',
|
||||
url: '/robot/comment',
|
||||
author: {
|
||||
name: 'Happy Robot',
|
||||
},
|
||||
}, element.comment);
|
||||
element.comment = comment;
|
||||
element.collapsed = false;
|
||||
flushAsynchronousOperations();
|
||||
|
||||
let runIdMessage;
|
||||
runIdMessage = element.$$('.runIdMessage');
|
||||
assert.isFalse(runIdMessage.hidden);
|
||||
|
||||
const runDetailsLink = element.$$('.robotRunLink');
|
||||
assert.isTrue(runDetailsLink.href.indexOf(element.comment.url) !== -1);
|
||||
|
||||
const robotServiceName = element.$$('.authorName');
|
||||
assert.isTrue(robotServiceName.textContent === 'happy_robot_id');
|
||||
|
||||
const authorName = element.$$('.robotId');
|
||||
assert.isTrue(authorName.innerText === 'Happy Robot');
|
||||
|
||||
element.collapsed = true;
|
||||
flushAsynchronousOperations();
|
||||
runIdMessage = element.$$('.runIdMessage');
|
||||
assert.isTrue(runIdMessage.hidden);
|
||||
});
|
||||
|
||||
test('draft creation/cancellation', done => {
|
||||
assert.isFalse(element.editing);
|
||||
MockInteractions.tap(element.$$('.edit'));
|
||||
|
||||
@@ -273,4 +273,27 @@ Gerrit.GrSuggestionItem;
|
||||
* makeSuggestionItem: function(Object): Gerrit.GrSuggestionItem,
|
||||
* }}
|
||||
*/
|
||||
Gerrit.GrSuggestionsProvider;
|
||||
Gerrit.GrSuggestionsProvider;
|
||||
|
||||
/**
|
||||
* @typedef {{
|
||||
* patch_set: ?number,
|
||||
* id: ?string,
|
||||
* path: ?Object,
|
||||
* side: ?string,
|
||||
* parent: ?number,
|
||||
* line: ?Object,
|
||||
* in_reply_to: ?string,
|
||||
* message: ?Object,
|
||||
* updated: ?string,
|
||||
* author: ?Object,
|
||||
* tag: ?Object,
|
||||
* unresolved: ?boolean,
|
||||
* robot_id: ?string,
|
||||
* robot_run_id: ?string,
|
||||
* url: ?string,
|
||||
* properties: ?Object,
|
||||
* fix_suggestions: ?Object,
|
||||
* }}
|
||||
*/
|
||||
Gerrit.Comment;
|
||||
|
||||
Reference in New Issue
Block a user