<!--
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="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
<link rel="import" href="../gr-diff-comment/gr-diff-comment.html">

<dom-module id="gr-diff-comment-thread">
  <template>
    <style>
      :host {
        background-color: #ffd;
        border: 1px solid #bbb;
        display: block;
        padding: 0 .7em;
        white-space: normal;
      }
    </style>
    <div id="container">
      <template id="commentList" is="dom-repeat" items="[[_orderedComments]]" as="comment">
        <gr-diff-comment
            comment="{{comment}}"
            change-num="[[changeNum]]"
            patch-num="[[patchNum]]"
            draft="[[comment.__draft]]"
            show-actions="[[_showActions]]"
            project-config="[[projectConfig]]"
            on-reply="_handleCommentReply"
            on-comment-discard="_handleCommentDiscard"
            on-ack="_handleCommentAck"
            on-done="_handleCommentDone"></gr-diff-comment>
      </template>
    </div>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
  </template>
  <script src="gr-diff-comment-thread.js"></script>
</dom-module>
