| /** |
| * 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.CommentHtml} |
| |
| import * as mailTemplate from 'com/google/gerrit/server/mail/Private.soy'; |
| |
| {template CommentHtml} |
| {@param commentFiles: ?} |
| {@param commentCount: ?} |
| {@param email: ?} |
| {@param labels: ?} |
| {@param patchSet: ?} |
| {@param patchSetCommentBlocks: ?} |
| {@param unsatisfiedSubmitRequirements: ?} |
| {@param oldSubmitRequirements: ?} |
| {@param newSubmitRequirements: ?} |
| {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 mailTemplate.WikiFormat} |
| {param content: $patchSetCommentBlocks /} |
| {/call} |
| {/if} |
| |
| {if length($labels) > 0} |
| <p> |
| Patch set {$patchSet.patchSetId}: |
| {for $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} |
| {/for} |
| </p> |
| {/if} |
| |
| {if $unsatisfiedSubmitRequirements} |
| <p> |
| The change is no longer submittable:{sp} |
| {if length($unsatisfiedSubmitRequirements) > 0} |
| {for $unsatisfiedSubmitRequirement, $index in $unsatisfiedSubmitRequirements} |
| {if $index > 0} |
| {if $index == length($unsatisfiedSubmitRequirements) - 1} |
| {sp}and{sp} |
| {else} |
| ,{sp} |
| {/if} |
| {/if} |
| {$unsatisfiedSubmitRequirement} |
| {/for} |
| {sp} |
| {if length($unsatisfiedSubmitRequirements) == 1} |
| is |
| {else} |
| are |
| {/if} |
| {sp}unsatisfied now. |
| {/if} |
| </p> |
| {/if} |
| |
| {if $email.changeUrl} |
| <p> |
| {call mailTemplate.ViewChangeButton data="all" /} |
| </p> |
| {/if} |
| |
| {if $commentCount == 1} |
| <p>1 comment:</p> |
| {elseif $commentCount > 1} |
| <p>{$commentCount} comments:</p> |
| {/if} |
| |
| <ul style="{$ulStyle}"> |
| {for $group in $commentFiles} |
| <li style="{$fileLiStyle}"> |
| <p> |
| {$group.title}: |
| </p> |
| |
| <ul style="{$ulStyle}"> |
| {for $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 mailTemplate.Pre} |
| {param content kind="html"} |
| {for $line in $comment.lines} |
| {$line}{\n} |
| {/for} |
| {/param} |
| {/call} |
| </blockquote> |
| </p> |
| {/if} |
| |
| {if $comment.parentMessage} |
| <p> |
| <blockquote style="{$blockquoteStyle}"> |
| {$comment.parentMessage} |
| </blockquote> |
| </p> |
| {/if} |
| |
| {call mailTemplate.WikiFormat} |
| {param content: $comment.messageBlocks /} |
| {/call} |
| </li> |
| {/for} |
| </ul> |
| </li> |
| {/for} |
| </ul> |
| {/template} |