}
var panel = $.jsPanel({
+ theme: 'dark',
+
id: dialogid,
headerTitle: title,
.fail(function() {
if (exports.connection_error >= 3 && exports.connection_error_panel == null) {
exports.connection_error_panel = $.jsPanel({
+ theme: 'dark',
id: "connection-alert",
headerTitle: 'Cannot Connect to Kismet',
headerControls: {
kismet.putStorage('kismet.base.devicetable.order', JSON.stringify(dt.order()));
kismet.putStorage('kismet.base.devicetable.search', JSON.stringify(dt.search()));
- // Snapshot where we are, because the 'don't reset page' in ajax.reload
- // DOES still reset the scroll position
- var prev_pos = {
- 'top': $(dt.settings()[0].nScrollBody).scrollTop(),
- 'left': $(dt.settings()[0].nScrollBody).scrollLeft()
- };
- dt.ajax.reload(function(d) {
- // Restore our scroll position
- $(dt.settings()[0].nScrollBody).scrollTop( prev_pos.top );
- $(dt.settings()[0].nScrollBody).scrollLeft( prev_pos.left );
- }, false);
+ dt.ajax.reload(function(d) { }, false);
}
} catch (error) {
- ;
+ console.log(error);
}
// Set our timer outside of the datatable callback so that we get called even
/* Create the device table */
exports.CreateDeviceTable = function(element) {
devicetableElement = element;
- var statuselement = $('#' + element.attr('id') + '_status');
+ // var statuselement = $('#' + element.attr('id') + '_status');
var dt = exports.InitializeDeviceTable(element);
}
exports.InitializeDeviceTable = function(element) {
- var statuselement = $('#' + element.attr('id') + '_status');
+ // var statuselement = $('#' + element.attr('id') + '_status');
/* Make the fields list json and set the wrapper object to aData to make the DT happy */
var cols = exports.GetDeviceColumns();
.on('xhr.dt', function (e, settings, json, xhr) {
json = kismet.sanitizeObject(json);
+ /*
if (json['recordsFiltered'] != json['recordsTotal'])
statuselement.html(json['recordsTotal'] + " devices (" + json['recordsFiltered'] + " shown after filter)");
else
statuselement.html(json['recordsTotal'] + " devices");
+ */
} )
.DataTable( {
destroy: true,
scrollResize: true,
- scrollY: 200,
+ // scrollY: 200,
scrollX: "100%",
+ pageResize: true,
serverSide: true,
processing: true,
- dom: '<"viewselector">ft',
+ // stateSave: true,
+
+ dom: '<"viewselector">ftip',
deferRender: true,
lengthChange: false,
+ /*
scroller: {
loadingIndicator: true,
},
+ */
// Create a complex post to get our summary fields only
ajax: {
device_dt = element.DataTable();
// var dt_base_height = element.height();
+
+ try {
+ device_dt.stateRestore.state.add("AJAX");
+ } catch (_err) { }
// $('div.viewselector').html("View picker");
exports.BuildDeviceViewSelector($('div.viewselector'));