<html>
<head>
  <title>triage-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="../../node_modules/native-promise-only/npo.js"></script>
  <script src="../common/js/common.js"></script>
  <script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <script src="bower_components/sinonjs/sinon.js"></script>

  <link rel="import" href="bower_components/polymer/polymer.html">
  <link rel="import" href="triage-sk.html">

</head>
<body>
  <h1>triage-sk demo</h1>

  <dom-module id="main-document-element">
    <template>
      <triage-sk filter vert value="{{val}}"></triage-sk> <br>
      <triage-sk value="{{val}}"></triage-sk> <br>
      <triage-sk value="{{val}}"></triage-sk> <br>
      <br>
      <br>
      Value: {{val}} <br>
      Event: '{{eventTriggered}}'
    </template>

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

          properties: {
            val: "triaged",
            eventTriggered: {
              type: String,
              value: ''
            }
          },

          ready: function() {
            this.addEventListener('change', function(e) {
              this.eventTriggered = this.eventTriggered + ".";
              e.stopPropagation();
            }.bind(this));
          }

        });
      });
    </script>
  </dom-module>

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

</body>
</html>
