<!--
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="../gr-diff-comment/gr-diff-comment.html">

<dom-module id="gr-diff-comment-thread">
  <template>
    <style>
      :host {
        display: block;
        white-space: normal;
      }
      gr-diff-comment {
        border-left: 1px solid #ddd;
      }
      gr-diff-comment:first-of-type {
        border-top: 1px solid #ddd;
      }
      gr-diff-comment:last-of-type {
        border-bottom: 1px solid #ddd;
      }
    </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-height-change="_handleCommentHeightChange"
            on-reply="_handleCommentReply"
            on-discard="_handleCommentDiscard"
            on-done="_handleCommentDone"></gr-diff-comment>
      </template>
    </div>
  </template>
  <script src="gr-diff-comment-thread.js"></script>
</dom-module>
