<!--
@license
Copyright (C) 2017 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-thread/gr-diff-comment-thread.html">
<link rel="import" href="../../../styles/shared-styles.html">

<dom-module id="gr-diff-comment-thread-group">
  <template>
    <style include="shared-styles">
      :host {
        display: block;
        max-width: var(--content-width, 80ch);
        white-space: normal;
      }
      gr-diff-comment-thread + gr-diff-comment-thread {
        margin-top: .2em;
      }
    </style>
    <template is="dom-repeat" items="[[threads]]" as="thread">
      <gr-diff-comment-thread
          comments="[[thread.comments]]"
          comment-side="[[thread.commentSide]]"
          is-on-parent="[[isOnParent]]"
          parent-index="[[parentIndex]]"
          change-num="[[changeNum]]"
          patch-num="[[thread.patchNum]]"
          root-id="{{thread.rootId}}"
          path="[[path]]"
          project-name="[[projectName]]"
          range="[[thread.range]]"
          on-thread-discard="_handleThreadDiscard"></gr-diff-comment-thread>
    </template>
  </template>
  <script src="gr-diff-comment-thread-group.js"></script>
</dom-module>
