|  | /** | 
|  | * Copyright (C) 2016 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. | 
|  | */ | 
|  |  | 
|  | {namespace com.google.gerrit.server.mail.template} | 
|  |  | 
|  | /** | 
|  | * @param commentFiles | 
|  | * @param commentCount | 
|  | * @param email | 
|  | * @param labels | 
|  | * @param patchSet | 
|  | * @param patchSetCommentBlocks | 
|  | */ | 
|  | {template .CommentHtml autoescape="strict" kind="html"} | 
|  | {let $commentHeaderStyle kind="css"} | 
|  | margin-bottom: 4px; | 
|  | {/let} | 
|  |  | 
|  | {let $blockquoteStyle kind="css"} | 
|  | border-left: 1px solid #aaa; | 
|  | margin: 10px 0; | 
|  | padding: 0 10px; | 
|  | {/let} | 
|  |  | 
|  | {let $ulStyle kind="css"} | 
|  | list-style: none; | 
|  | padding: 0; | 
|  | {/let} | 
|  |  | 
|  | {let $fileLiStyle kind="css"} | 
|  | margin: 0; | 
|  | padding: 0; | 
|  | {/let} | 
|  |  | 
|  | {let $commentLiStyle kind="css"} | 
|  | margin: 0; | 
|  | padding: 0 0 0 16px; | 
|  | {/let} | 
|  |  | 
|  | {let $voteStyle kind="css"} | 
|  | border-radius: 3px; | 
|  | display: inline-block; | 
|  | margin: 0 2px; | 
|  | padding: 4px; | 
|  | {/let} | 
|  |  | 
|  | {let $positiveVoteStyle kind="css"} | 
|  | {$voteStyle} | 
|  | background-color: #d4ffd4; | 
|  | {/let} | 
|  |  | 
|  | {let $negativeVoteStyle kind="css"} | 
|  | {$voteStyle} | 
|  | background-color: #ffd4d4; | 
|  | {/let} | 
|  |  | 
|  | {let $neutralVoteStyle kind="css"} | 
|  | {$voteStyle} | 
|  | background-color: #ddd; | 
|  | {/let} | 
|  |  | 
|  | {if $patchSetCommentBlocks} | 
|  | {call .WikiFormat}{param content: $patchSetCommentBlocks /}{/call} | 
|  | {/if} | 
|  |  | 
|  | {if length($labels) > 0} | 
|  | <p> | 
|  | Patch set {$patchSet.patchSetId}: | 
|  | {foreach $label in $labels} | 
|  | {if $label.value > 0} | 
|  | <span style="{$positiveVoteStyle}"> | 
|  | {$label.label}{sp}+{$label.value} | 
|  | </span> | 
|  | {elseif $label.value < 0} | 
|  | <span style="{$negativeVoteStyle}"> | 
|  | {$label.label}{sp}{$label.value} | 
|  | </span> | 
|  | {else} | 
|  | <span style="{$neutralVoteStyle}"> | 
|  | -{$label.label} | 
|  | </span> | 
|  | {/if} | 
|  | {/foreach} | 
|  | </p> | 
|  | {/if} | 
|  |  | 
|  | {if $email.changeUrl} | 
|  | <p> | 
|  | {call .ViewChangeButton data="all" /} | 
|  | </p> | 
|  | {/if} | 
|  |  | 
|  | {if $commentCount == 1} | 
|  | <p>1 comment:</p> | 
|  | {elseif $commentCount > 1} | 
|  | <p>{$commentCount} comments:</p> | 
|  | {/if} | 
|  |  | 
|  | <ul style="{$ulStyle}"> | 
|  | {foreach $group in $commentFiles} | 
|  | <li style="{$fileLiStyle}"> | 
|  | <p> | 
|  | <a href="{$group.link}">{$group.title}:</a> | 
|  | </p> | 
|  |  | 
|  | <ul style="{$ulStyle}"> | 
|  | {foreach $comment in $group.comments} | 
|  | <li style="{$commentLiStyle}"> | 
|  | {if $comment.isRobotComment} | 
|  | <p style="{$commentHeaderStyle}"> | 
|  | Robot Comment from{sp} | 
|  | {if $comment.robotUrl}<a href="{$comment.robotUrl}">{/if} | 
|  | {$comment.robotId} | 
|  | {if $comment.robotUrl}</a>{/if}{sp} | 
|  | (run ID {$comment.robotRunId}): | 
|  | </p> | 
|  | {/if} | 
|  |  | 
|  | <p style="{$commentHeaderStyle}"> | 
|  | <a href="{$comment.link}"> | 
|  | {if $comment.startLine == 0} | 
|  | Patch Set #{$group.patchSetId}: | 
|  | {else} | 
|  | Patch Set #{$group.patchSetId},{sp} | 
|  | Line {$comment.startLine}: | 
|  | {/if} | 
|  | </a>{sp} | 
|  | {if length($comment.lines) == 1} | 
|  | <code style="font-family:monospace,monospace"> | 
|  | {$comment.lines[0]} | 
|  | </code> | 
|  | {/if} | 
|  | </p> | 
|  |  | 
|  | {if length($comment.lines) > 1} | 
|  | <p> | 
|  | <blockquote style="{$blockquoteStyle}"> | 
|  | {call .Pre}{param content kind="html"} | 
|  | {foreach $line in $comment.lines} | 
|  | {$line}{\n} | 
|  | {/foreach} | 
|  | {/param}{/call} | 
|  | </blockquote> | 
|  | </p> | 
|  | {/if} | 
|  |  | 
|  | {if $comment.parentMessage} | 
|  | <p> | 
|  | <blockquote style="{$blockquoteStyle}"> | 
|  | {$comment.parentMessage} | 
|  | </blockquote> | 
|  | </p> | 
|  | {/if} | 
|  |  | 
|  | {call .WikiFormat}{param content: $comment.messageBlocks /}{/call} | 
|  | </li> | 
|  | {/foreach} | 
|  | </ul> | 
|  | </li> | 
|  | {/foreach} | 
|  | </ul> | 
|  | {/template} |