<!DOCTYPE html>
<html>
<head>
  <title>query-sk</title>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  <h1>query-sk</h1>
  <query-sk></query-sk>
  <h2>Actions</h2>
  <div>
    <button id=swap>Swap Paramset</button>
  </div>

  <h2>Events</h2>
  <pre id=events></pre>
  <query-summary-sk></query-summary-sk>
  <script type="text/javascript" charset="utf-8">
    const q = document.querySelector('query-sk');
    const summary = document.querySelector('query-summary-sk');
    const events = document.querySelector('#events');
    q.addEventListener('query-change', (e) => {
      events.textContent = JSON.stringify(e.detail, null, '  ');
      summary.selection = e.detail.q;
    });

    var n = 0;
    var paramset = {
        "config": ["565", "8888"],
        "type": ["CPU", "GPU"],
        "units": ["ms", "bytes"],
        "test": [
          "DeferredSurfaceCopy_discardable",
          "DeferredSurfaceCopy_nonDiscardable",
          "GLInstancedArraysBench_instance",
          "GLInstancedArraysBench_one_0",
          "GLInstancedArraysBench_one_1",
          "GLInstancedArraysBench_one_2",
          "GLInstancedArraysBench_one_4",
          "GLInstancedArraysBench_one_8",
          "GLInstancedArraysBench_two_0",
          "GLInstancedArraysBench_two_1",
          "GLInstancedArraysBench_two_2",
          "GLInstancedArraysBench_two_4",
          "GLInstancedArraysBench_two_8",
          "GLVec4ScalarBench_scalar_1_stage",
          "GLVec4ScalarBench_scalar_2_stage",
        ],
      };
    var paramset2 = {
        "config": ["565"],
        "type": ["CPU", "GPU"],
        "test": [
          "DeferredSurfaceCopy_discardable",
          "DeferredSurfaceCopy_nonDiscardable",
        ],
      };
    q.paramset = paramset;
    q.key_order = ['test', 'units'];

    document.querySelector('#swap').addEventListener('click', function(e){
      n = (n + 1) % 2;
      q.paramset = [paramset, paramset2][n];
    });

  </script>
</body>
</html>
