<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.6.3.js"></script>
<link href="https://cdn.datatables.net/v/dt/dt-2.0.6/b-3.0.2/date-1.5.2/sb-1.7.1/datatables.min.css" rel="stylesheet">
 
<script src="https://cdn.datatables.net/v/dt/dt-2.0.6/b-3.0.2/date-1.5.2/sb-1.7.1/datatables.min.js"></script>    <meta charset=utf-8 />
    <title>DataTables - JS Bin</title>
  </head>
  <body>
    <div class="container">
      <table id="example" class="display" width="100%">
        <thead>
          <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Extn.</th>
            <th>Start date</th>
            <th>Salary</th>
          </tr>
        </thead>
        <tfoot>
          <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Extn.</th>
            <th>Start date</th>
            <th>Salary</th>
          </tr>
        </tfoot>
      </table>
    </div>
  </body>
</html>
 
var table = new DataTable('#example', {
  layout: {
    top1: 'searchBuilder',
    topStart: {
      buttons: [
        {
          text: 'Share',
          action: function (e, dt, node, config) {
            const search = dt.searchBuilder.getDetails();
            const value = JSON.stringify(search);
            const queryParams = new URLSearchParams();
            queryParams.set("searchBuilder", value);
            const shareUrl = `${window.location.origin}/yaroyala/2?${queryParams}`;
            // TODO - Display link to user
            console.log(shareUrl);
          }
        },
      ]
    }
  },
  processing: true,
  serverSide: true,
  ajax: {
    url: '/ssp/objects.php',
    type: 'post'
  },
  columns: [
    { data: 'first_name' },
    { data: 'last_name' },
    { data: 'position' },
    { data: 'office' },
    { data: 'start_date' },
    { data: 'salary' },
  ]    
});
    
table.ready(function () {
    var d = table.searchBuilder.getDetails();
    console.log(d);
    
    console.log("draw - TODO Share SearchBuilder Feature");
    // console.log(table.searchBuilder.getDetails());
 
    const urlParams = new URLSearchParams(window.location.search);
    const searchBuilderParam = urlParams.get('searchBuilder');
    if (searchBuilderParam) {
        table.searchBuilder.rebuild(JSON.parse(searchBuilderParam));
    }
});
7 warnings
Line 9: 'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Line 10: 'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Line 11: 'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Line 13: 'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Line 13: Unexpected '`'.
Line 45: 'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Line 46: 'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers