<html>
<head>
  <title>detail-list2-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
  <script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <script src="bower_components/d3/d3.js"></script>
  <script src="../common/js/common.js"></script>
  <script src="../js/gold.js"></script>
  <script src="testdata.js"></script>

  <link rel="import" href="bower_components/polymer/polymer.html">
  <link rel="import" href="digest-details-sk.html">
  <link rel="import" href="detail-list2-sk.html">
  <link rel="import" href="commits-dialog-sk.html">
  <style type="text/css" media="screen">
    body {
      font-family: Arial, sans-serif;
    }
  </style>

</head>
<body>
  <h1>detail-list2-sk demo</h1>

  <dom-module id="main-document-element">
    <style type="text/css" media="screen">
      digest-details-sk {
        display: block;
        box-shadow: 3px 3px 6px 1px rgba(133,133,133,1);
        margin-top: 1em;
        margin-bottom: 1em;
        margin-left: 0;
        margin-right: 0;
        padding-left: 1em;
        padding-top: 1em;
        padding-bottom: 1em;
        padding-right: 0;
      }

      digest-details-sk[data-focus] {
        box-shadow: 3px 3px 6px 5px #FF7F00;
      }
    </style>
    <template>
      <div>
        <detail-list2-sk id="list"></detail-list2-sk>
      </div>
      <commits-dialog-sk></commits-dialog-sk>
    </template>

    <script>
      HTMLImports.whenReady(function () {
        Polymer({
          is: 'main-document-element',

          ready: function() {
            this.$.list.data = {
              digests: testdata.newSearchDetails,
              commits: testdata.commits,
              issue: null,
              offset: 0,
              size: testdata.newSearchDetails.length,
            }
            this.$.list.startUse();
          },
        });
      });
    </script>
  </dom-module>

  <!-- Instantite the element defined above -->
  <main-document-element></main-document-element>

</body>
</html>
