<!-- The <query-summary-sk> custom element declaration.

  Displays a summary of a selection made using query-sk.

  Attributes:
    url - If supplied, the displayed summary will be a link to the given URL.

    selection - A query-sk selection formatted as query parameters to be
      displayed.
  Events:
    None.

  Methods:
    None.
-->
<dom-module id="query-summary-sk">
  <style>
    #query,
    a[href] {
      max-width: 30em;
      overflow: auto;
      color: #1f78b4;
      font-weight: bold;
      word-wrap: break-word;
      vertical-align: middle;
    }
  </style>
  <template>
    <pre id=query><template is="dom-if" if="{{url}}"><a href="{{url}}">{{_display(selection)}}</a></template><template is="dom-if" if="{{!url}}">{{_display(selection)}}</template></pre>
  </template>
</dom-module>

<script>
  Polymer({
    is: "query-summary-sk",

    properties: {
      url: {
        type: String,
        value: "",
        reflectToAttribute: true,
      },
      selection: {
        type: String,
        value: "",
        reflectToAttribute: true,
      },
    },

    _display: function(s) {
      if (!s) {
        return "[No filters applied]";
      }
      var p = sk.query.toParamSet(s);
      var keys = Object.keys(p);
      keys.sort();
      var ret = [];
      keys.forEach(function(key) {
        p[key].forEach(function(value) {
          ret.push(key + "=" + value);
        });
      });
      return ret.join("\n");
    },
  });
</script>
