The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<table id="vs-data-table" class="table table-striped table-bordered" width="100%" cellspacing="0">
  <thead>
    <tr>
      <th>Vlan</th>
      <th>Device</th>
      <th>Description</th>
      <th>Model</th>
      <th>OS</th>
      <th>Vendor</th>
    </tr>
  </thead>
</table>

<script type="text/javascript">
$(document).ready(function() {
  var table = $('#vs-data-table').dataTable({
    "processing": true,
    "stateSave": true,
    "pageLength": [% settings.table_pagesize %],
    "language": {
      "search": 'Filter records: '
    },
    "deferRender": true,
    "data": [% results %],
    "columns": [{
        "data": 'vlans.vlan',
        "render": function(data, type, row, meta) {
          return '<a class="nd_linkcell nd_stealth-link" href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(data) + '">' + data + '</a>';
        }
      }, {
        "data": 'ip',
        "render": function(data, type, row, meta) {
          return '<a href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(row.vlans.vlan) + '">' + he.encode(row.dns || row.ip) + '</a>';
        }
      }, {
        "data": 'vlans.description',
        "render": function(data, type, row, meta) {
          return '<a class="nd_linkcell nd_stealth-link" href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(row.vlans.vlan) + '">' + he.encode(data || '') + '</a>';
        }
      }, {
        "data": 'model',
        "render": function(data, type, row, meta) {
          return '<a class="nd_linkcell nd_stealth-link" href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(row.vlans.vlan) + '">' + he.encode(data || '') + '</a>';
        }
      }, {
        "data": 'os',
        "render": function(data, type, row, meta) {
          return '<a class="nd_linkcell nd_stealth-link" href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(row.vlans.vlan) + '">' + he.encode(data || '') + '</a>';
        }
      }, {
        "data": 'vendor',
        "render": function(data, type, row, meta) {
          return '<a class="nd_linkcell nd_stealth-link" href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(row.vlans.vlan) + '">' + he.encode(data || '') + '</a>';
        }
      }
    ]
  });
});</script>