
What it looks like: http://imgur.com/U37fSkk Will only trigger if the element has a title value and also has its hasTooltip property set. Add titles to the label buttons and turn tooltips on for those. Bug: Issue 3901 Change-Id: Id02f79bcf218419ab92d8100477ced093623f4d2
158 lines
5.1 KiB
HTML
158 lines
5.1 KiB
HTML
<!--
|
|
Copyright (C) 2015 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<link rel="import" href="../../../bower_components/polymer/polymer.html">
|
|
<link rel="import" href="../../../bower_components/iron-autogrow-textarea/iron-autogrow-textarea.html">
|
|
<link rel="import" href="../../../bower_components/iron-selector/iron-selector.html">
|
|
<link rel="import" href="../../../behaviors/rest-client-behavior.html">
|
|
<link rel="import" href="../../shared/gr-button/gr-button.html">
|
|
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
|
|
|
|
<dom-module id="gr-reply-dialog">
|
|
<template>
|
|
<style>
|
|
:host {
|
|
display: block;
|
|
max-height: 90vh;
|
|
}
|
|
:host([disabled]) {
|
|
pointer-events: none;
|
|
}
|
|
:host([disabled]) .container {
|
|
opacity: .5;
|
|
}
|
|
.container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-height: 90vh;
|
|
}
|
|
section {
|
|
border-top: 1px solid #ddd;
|
|
padding: .5em .75em;
|
|
}
|
|
.labelsContainer,
|
|
.actionsContainer {
|
|
flex-shrink: 0;
|
|
}
|
|
.textareaContainer {
|
|
position: relative;
|
|
display: flex;
|
|
}
|
|
iron-autogrow-textarea {
|
|
padding: 0;
|
|
font-family: var(--monospace-font-family);
|
|
}
|
|
.message {
|
|
border: none;
|
|
width: 100%;
|
|
}
|
|
.labelsNotShown {
|
|
color: #666;
|
|
}
|
|
.labelContainer:not(:first-of-type) {
|
|
margin-top: .5em;
|
|
}
|
|
.labelName {
|
|
display: inline-block;
|
|
min-width: 7em;
|
|
margin-right: .5em;
|
|
white-space: nowrap;
|
|
}
|
|
iron-selector {
|
|
display: inline-flex;
|
|
}
|
|
iron-selector > gr-button {
|
|
margin-right: .25em;
|
|
}
|
|
iron-selector > gr-button:first-of-type {
|
|
border-top-left-radius: 2px;
|
|
border-bottom-left-radius: 2px;
|
|
}
|
|
iron-selector > gr-button:last-of-type {
|
|
border-top-right-radius: 2px;
|
|
border-bottom-right-radius: 2px;
|
|
}
|
|
iron-selector > gr-button.iron-selected {
|
|
background-color: #ddd;
|
|
}
|
|
.draftsContainer {
|
|
overflow-y: auto;
|
|
}
|
|
.draftsContainer h3 {
|
|
margin-top: .25em;
|
|
}
|
|
.actionsContainer {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
.action:link,
|
|
.action:visited {
|
|
color: #00e;
|
|
}
|
|
</style>
|
|
<div class="container">
|
|
<section class="textareaContainer">
|
|
<iron-autogrow-textarea
|
|
id="textarea"
|
|
class="message"
|
|
placeholder="Say something..."
|
|
disabled="{{disabled}}"
|
|
rows="4"
|
|
max-rows="15"
|
|
bind-value="{{draft}}"></iron-autogrow-textarea>
|
|
</section>
|
|
<section class="labelsContainer">
|
|
<template is="dom-if" if="[[_computeShowLabels(patchNum, revisions)]]">
|
|
<template is="dom-repeat"
|
|
items="[[_computeLabelArray(permittedLabels)]]" as="label">
|
|
<div class="labelContainer">
|
|
<span class="labelName">[[label]]</span>
|
|
<iron-selector data-label$="[[label]]"
|
|
selected="[[_computeIndexOfLabelValue(labels, permittedLabels, label, _account)]]">
|
|
<template is="dom-repeat"
|
|
items="[[_computePermittedLabelValues(permittedLabels, label)]]"
|
|
as="value">
|
|
<gr-button has-tooltip data-value$="[[value]]"
|
|
title$="[[_computeLabelValueTitle(labels, label, value)]]">[[value]]</gr-button>
|
|
</template>
|
|
</iron-selector>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<template is="dom-if" if="[[!_computeShowLabels(patchNum, revisions)]]">
|
|
<span class="labelsNotShown">
|
|
Labels are not shown because this is not the most recent patch set.
|
|
<a href$="/c/[[changeNum]]">Go to the latest patch set.</a>
|
|
</span>
|
|
</template>
|
|
</section>
|
|
<section class="draftsContainer" hidden$="[[_computeHideDraftList(diffDrafts)]]">
|
|
<h3>[[_computeDraftsTitle(diffDrafts)]]</h3>
|
|
<gr-comment-list
|
|
comments="[[diffDrafts]]"
|
|
change-num="[[changeNum]]"
|
|
patch-num="[[patchNum]]"></gr-comment-list>
|
|
</section>
|
|
<section class="actionsContainer">
|
|
<gr-button primary class="action send" on-tap="_sendTapHandler">Send</gr-button>
|
|
<gr-button class="action cancel" on-tap="_cancelTapHandler">Cancel</gr-button>
|
|
</section>
|
|
</div>
|
|
<gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
|
|
</template>
|
|
<script src="gr-reply-dialog.js"></script>
|
|
</dom-module>
|