You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Plugins/features/deepLink/dataTables.deepLink.min.js

44 lines
2.1 KiB
JavaScript

/*!
6 years ago
Copyright 2017 SpryMedia Ltd.
License MIT - http://datatables.net/license/mit
This feature plug-in for DataTables provides a function which will
take DataTables options from the browser's URL search string and
return an object that can be used to construct a DataTable. This
allows deep linking to be easily implemented with DataTables - for
example a URL might be `myTable?displayStart=10` which will
automatically cause the second page of the DataTable to be displayed.
This plug-in works on a whitelist basis - you must specify which
[initialisation parameters](//datatables.net/reference/option) you
want the URL search string to specify. Any parameter given in the
URL which is not listed will be ignored (e.g. you are unlikely to
want to let the URL search string specify the `ajax` option).
This specification is done by passing an array of property names
to the `$.fn.dataTable.ext.deepLink` function. If you do which to
allow _every_ parameter (I wouldn't recommend it) you can use `all`
instead of an array.
@example
// Allow a display start point and search string to be specified
$('#myTable').DataTable(
$.fn.dataTable.ext.deepLink( [ 'displayStart', 'search.search' ] )
);
@example
// As above, but with a default search
var options = $.fn.dataTable.ext.deepLink(['displayStart', 'search.search']);
$('#myTable').DataTable(
$.extend( true, {
search: { search: 'Initial search value' }
}, options )
);
Deep linking options parsing support for DataTables
2017 SpryMedia Ltd - datatables.net/license
*/
6 years ago
(function(l,m,b,n){var h=b.fn.dataTable.ext.internal._fnSetObjectDataFn;b.fn.dataTable.ext.deepLink=function(e){for(var f=location.search.replace(/^\?/,"").split("&"),g={},c=0,k=f.length;c<k;c++){var a=f[c].split("="),d=decodeURIComponent(a[0]);a=decodeURIComponent(a[1]);if("true"===a)a=!0;else if("false"===a)a=!1;else if(!a.match(/[^\d]/)&&"search.search"!==d)a*=1;else if(0===a.indexOf("{")||0===a.indexOf("["))try{a=b.parseJSON(a)}catch(p){}"all"!==e&&-1===b.inArray(d,e)||h(d)(g,a)}return g}})(window,
document,jQuery);