Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 1 | <!-- |
| 2 | Copyright (C) 2015 The Android Open Source Project |
| 3 | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | you may not use this file except in compliance with the License. |
| 6 | You may obtain a copy of the License at |
| 7 | |
| 8 | http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | |
| 10 | Unless required by applicable law or agreed to in writing, software |
| 11 | distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | See the License for the specific language governing permissions and |
| 14 | limitations under the License. |
| 15 | --> |
| 16 | |
| 17 | <link rel="import" href="../../../bower_components/polymer/polymer.html"> |
| 18 | <link rel="import" href="../../shared/gr-account-link/gr-account-link.html"> |
| 19 | <link rel="import" href="../../shared/gr-button/gr-button.html"> |
| 20 | <link rel="import" href="../../shared/gr-date-formatter/gr-date-formatter.html"> |
Wyatt Allen | 4f1b5c2 | 2016-11-08 15:49:05 -0800 | [diff] [blame] | 21 | <link rel="import" href="../../shared/gr-formatted-text/gr-formatted-text.html"> |
Urs Wolfer | f98ec4a | 2016-03-09 22:48:16 +0100 | [diff] [blame] | 22 | <link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html"> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 23 | |
| 24 | <link rel="import" href="../gr-comment-list/gr-comment-list.html"> |
| 25 | |
| 26 | <dom-module id="gr-message"> |
| 27 | <template> |
| 28 | <style> |
| 29 | :host { |
| 30 | border-top: 1px solid #ddd; |
| 31 | display: block; |
| 32 | position: relative; |
| 33 | } |
| 34 | :host(:not([expanded])) { |
| 35 | cursor: pointer; |
| 36 | } |
| 37 | gr-avatar { |
| 38 | position: absolute; |
| 39 | left: var(--default-horizontal-margin); |
| 40 | } |
| 41 | .collapsed .contentContainer { |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 42 | align-items: baseline; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 43 | color: #777; |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 44 | display: flex; |
| 45 | white-space: nowrap; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 46 | } |
| 47 | .showAvatar.expanded .contentContainer { |
| 48 | margin-left: calc(var(--default-horizontal-margin) + 2.5em); |
| 49 | padding: 10px 0; |
| 50 | } |
| 51 | .showAvatar.collapsed .contentContainer { |
| 52 | margin-left: calc(var(--default-horizontal-margin) + 1.75em); |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 53 | } |
| 54 | .hideAvatar.collapsed .contentContainer, |
| 55 | .hideAvatar.expanded .contentContainer { |
| 56 | margin-left: 0; |
Andrew Bonventre | a490130 | 2016-08-29 19:14:42 -0400 | [diff] [blame] | 57 | } |
| 58 | .showAvatar.collapsed .contentContainer, |
| 59 | .hideAvatar.collapsed .contentContainer, |
| 60 | .hideAvatar.expanded .contentContainer { |
beckysiegel | 93b37a9 | 2016-09-21 14:25:19 -0700 | [diff] [blame] | 61 | padding: .75em 0; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 62 | } |
| 63 | .collapsed gr-avatar { |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 64 | top: .5em; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 65 | height: 1.75em; |
| 66 | width: 1.75em; |
| 67 | } |
| 68 | .expanded gr-avatar { |
| 69 | top: 12px; |
| 70 | height: 2.5em; |
| 71 | width: 2.5em; |
| 72 | } |
| 73 | .name { |
| 74 | font-weight: bold; |
| 75 | } |
Wyatt Allen | a258d65 | 2016-10-14 16:09:03 -0700 | [diff] [blame] | 76 | .message { |
| 77 | max-width: 80ch; |
| 78 | } |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 79 | .collapsed .name, |
| 80 | .collapsed .content, |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 81 | .collapsed .message, |
| 82 | gr-account-chip { |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 83 | display: inline; |
| 84 | } |
| 85 | .collapsed gr-comment-list, |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 86 | .collapsed .replyContainer, |
| 87 | .collapsed .hideOnCollapsed, |
| 88 | .hideOnOpen { |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 89 | display: none; |
| 90 | } |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 91 | .collapsed .hideOnOpen { |
| 92 | display: block; |
| 93 | } |
| 94 | .collapsed .content { |
| 95 | flex: 1; |
| 96 | min-width: 0; |
| 97 | overflow: hidden; |
| 98 | text-overflow: ellipsis; |
| 99 | } |
| 100 | .collapsed .date { |
| 101 | position: static; |
| 102 | } |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 103 | .collapsed .name { |
| 104 | color: var(--default-text-color); |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 105 | margin-right: .4em; |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 106 | } |
| 107 | .expanded .name { |
| 108 | cursor: pointer; |
| 109 | } |
| 110 | .date { |
| 111 | color: #666; |
| 112 | position: absolute; |
| 113 | right: var(--default-horizontal-margin); |
| 114 | top: 10px; |
| 115 | } |
| 116 | .replyContainer { |
| 117 | padding: .5em 0 1em; |
| 118 | } |
| 119 | </style> |
| 120 | <div class$="[[_computeClass(expanded, showAvatar)]]"> |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 121 | <gr-avatar account="[[author]]" image-size="100"></gr-avatar> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 122 | <div class="contentContainer"> |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 123 | <div class="name" on-tap="_handleNameTap">[[author.name]]</div> |
| 124 | <template is="dom-if" if="[[message.message]]"> |
| 125 | <div class="content"> |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 126 | <div class="message hideOnOpen">[[message.message]]</div> |
Wyatt Allen | 4f1b5c2 | 2016-11-08 15:49:05 -0800 | [diff] [blame] | 127 | <gr-formatted-text |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 128 | class="message hideOnCollapsed" |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 129 | content="[[message.message]]" |
Wyatt Allen | 4f1b5c2 | 2016-11-08 15:49:05 -0800 | [diff] [blame] | 130 | config="[[projectConfig.commentlinks]]"></gr-formatted-text> |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 131 | <gr-comment-list |
| 132 | comments="[[comments]]" |
| 133 | change-num="[[changeNum]]" |
beckysiegel | 2adcd76 | 2016-09-20 14:56:14 -0700 | [diff] [blame] | 134 | patch-num="[[message._revision_number]]" |
| 135 | project-config="[[projectConfig]]"></gr-comment-list> |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 136 | </div> |
| 137 | <a class="date" href$="[[_computeMessageHash(message)]]" on-tap="_handleLinkTap"> |
| 138 | <gr-date-formatter date-str="[[message.date]]"></gr-date-formatter> |
| 139 | </a> |
| 140 | </template> |
| 141 | <template is="dom-if" if="[[message.reviewer]]"> |
Becky Siegel | e478965 | 2016-11-18 09:42:25 -0800 | [diff] [blame^] | 142 | <div class="content"> |
| 143 | set reviewer status for |
| 144 | <gr-account-chip account="[[message.reviewer]]"> |
| 145 | </gr-account-chip> |
| 146 | to [[message.state]]. |
| 147 | </div> |
Viktar Donich | ae36556 | 2016-07-27 16:17:17 -0700 | [diff] [blame] | 148 | <gr-date-formatter class="date" date-str="[[message.updated]]"> |
| 149 | </gr-date-formatter> |
| 150 | </template> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 151 | </div> |
| 152 | <div class="replyContainer" hidden$="[[!showReplyButton]]" hidden> |
| 153 | <gr-button small on-tap="_handleReplyTap">Reply</gr-button> |
| 154 | </div> |
| 155 | </div> |
Urs Wolfer | f98ec4a | 2016-03-09 22:48:16 +0100 | [diff] [blame] | 156 | <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
Andrew Bonventre | 78792e8 | 2016-03-04 17:48:22 -0500 | [diff] [blame] | 157 | </template> |
| 158 | <script src="gr-message.js"></script> |
| 159 | </dom-module> |