<!--
  The common.js file must be included before this file.

  This in an HTML Import-able file that contains the definition
  of the following elements:

    <fuzzer-file-list-sk>

  This element will request once from /json/fuzz-summary for the fuzz contents to display, which will be an array of FileDetails.
  See fuzzer-collapse-file-sk.html for more information.

  To use this file import it:

    <link href="/res/imp/fuzzer-file-list-sk.html" rel="import" />

  Usage:

    <fuzzer-file-list-sk></fuzzer-file-list-sk>

  Properties:
    None.

  Methods:
    None.

  Events:
    None.
-->
<link rel="import" href="fuzzer-collapse-file-sk.html">
<link rel="import" href="/res/imp/bower_components/iron-ajax/iron-ajax.html">
<dom-module id="fuzzer-file-list-sk">
  <template>
   <iron-ajax auto url="/json/fuzz-summary"
      handle-as="json"
      params="{{_urlParams}}"
      last-response="{{files}}">
    </iron-ajax>
    <template is="dom-repeat" items="{{files}}" as="file">
      <fuzzer-collapse-file-sk file="{{file}}" category="{{category}}"></fuzzer-collapse-file-sk>
    </template>
  </template>
  <script>
  Polymer({
    is: 'fuzzer-file-list-sk',

    properties: {
      files: {
        type: Array,
        value: function() {
          return [];
        },
      },
      category: {
        type: String,
        value: ""
      },
      _urlParams: {
        type: String,
        computed: "_getURLParams(category)",
      }
    },

    _getURLParams: function(category) {
      return {"category":category};
    }
  });
  </script>
</dom-module>
