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

<dom-module id="gr-diff-comment-thread">
  <template>
    <style>
      :host {
        border: 1px solid #bbb;
        display: block;
        margin-bottom: 1px;
        white-space: normal;
      }
      #container {
        background-color: #fcfad6;
      }
      #container.unresolved {
        background-color: #fcfaa6;
      }
    </style>
    <div id="container" class$="[[_computeHostClass(_unresolved)]]">
      <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]]"
            comment-side="[[comment.__commentSide]]"
            project-config="[[projectConfig]]"
            on-comment-discard="_handleCommentDiscard"
            on-create-ack-comment="_handleCommentAck"
            on-create-done-comment="_handleCommentDone"
            on-create-fix-comment="_handleCommentFix"
            on-create-reply-comment="_handleCommentReply"></gr-diff-comment>
      </template>
    </div>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
    <gr-storage id="storage"></gr-storage>
  </template>
  <script src="gr-diff-comment-thread.js"></script>
</dom-module>
