save sidebar settings when Update View; fix bugs
This commit is contained in:
@@ -8,6 +8,10 @@ function do_search (event, tab) {
|
|||||||
// stop form from submitting normally
|
// stop form from submitting normally
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
// save current sidebar settings
|
||||||
|
var datatable = $(target).find('table').first().DataTable();
|
||||||
|
datatable.state.save();
|
||||||
|
|
||||||
// hide or show sidebars depending on previous state,
|
// hide or show sidebars depending on previous state,
|
||||||
// and whether the sidebar contains any content (detected by TT)
|
// and whether the sidebar contains any content (detected by TT)
|
||||||
if (has_sidebar[tab] == 0) {
|
if (has_sidebar[tab] == 0) {
|
||||||
@@ -50,7 +54,6 @@ function do_search (event, tab) {
|
|||||||
scrollingTop: 40
|
scrollingTop: 40
|
||||||
,useAbsolutePositioning: false
|
,useAbsolutePositioning: false
|
||||||
});
|
});
|
||||||
global_inner_view_processing(tab);
|
|
||||||
inner_view_processing(tab);
|
inner_view_processing(tab);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -103,38 +106,6 @@ function update_content(from, to) {
|
|||||||
$(to_form).trigger("submit");
|
$(to_form).trigger("submit");
|
||||||
}
|
}
|
||||||
|
|
||||||
// called after every ajax, in case updating anything is required
|
|
||||||
function global_inner_view_processing(tab) {
|
|
||||||
// find the current tab's datatables object
|
|
||||||
// then update sidebar checkboxes to hook the datatables colvis
|
|
||||||
var table = $('#' + tab + '_pane').find('table').first();
|
|
||||||
var colvis = new $.fn.dataTable.ColVis( table );
|
|
||||||
var columns = colvis.s.dt.aoColumns;
|
|
||||||
|
|
||||||
if ( $.inArray( 'all', colvis.s.exclude ) === -1 ) {
|
|
||||||
for ( var i=0, iLen=columns.length ; i<iLen ; i++ ) {
|
|
||||||
if ( $.inArray( i, colvis.s.exclude ) === -1 ) {
|
|
||||||
var button = colvis.dom.buttons.shift();
|
|
||||||
|
|
||||||
$(button).find('label').addClass('checkbox');
|
|
||||||
$(button).find('input').attr('id', columns[i]["name"]);
|
|
||||||
$(button).find('input').attr('name', columns[i]["name"]);
|
|
||||||
|
|
||||||
var target = $('#' + columns[i]["name"]);
|
|
||||||
$(button).find('span').text( target.closest('label').text() );
|
|
||||||
$(button).find('input').first().prop('checked', target.prop('checked'));
|
|
||||||
|
|
||||||
// need to re-activate tooltips on new content
|
|
||||||
$(button).click(function() {
|
|
||||||
$("[rel=tooltip]").tooltip({live: true});
|
|
||||||
});
|
|
||||||
|
|
||||||
target.closest('li').replaceWith( button );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// handler for ajax navigation
|
// handler for ajax navigation
|
||||||
if (window.History && window.History.enabled) {
|
if (window.History && window.History.enabled) {
|
||||||
var History = window.History;
|
var History = window.History;
|
||||||
|
|||||||
@@ -50,4 +50,34 @@
|
|||||||
// load all sidebar settings
|
// load all sidebar settings
|
||||||
var sidebarform = $('#[% tabname %]_form');
|
var sidebarform = $('#[% tabname %]_form');
|
||||||
sidebarform.deserialize( data.sidebarform );
|
sidebarform.deserialize( data.sidebarform );
|
||||||
|
},
|
||||||
|
"initComplete": function (settings, json) {
|
||||||
|
// find the current tab's datatables object
|
||||||
|
// then update sidebar checkboxes to hook the datatables colvis
|
||||||
|
var table = $('#[% tabname %]_pane').find('table').first();
|
||||||
|
var colvis = new table.dataTable.ColVis( table );
|
||||||
|
var columns = colvis.s.dt.aoColumns;
|
||||||
|
|
||||||
|
if ( $.inArray( 'all', colvis.s.exclude ) === -1 ) {
|
||||||
|
for ( var i=0, iLen=columns.length ; i<iLen ; i++ ) {
|
||||||
|
if ( $.inArray( i, colvis.s.exclude ) === -1 ) {
|
||||||
|
var button = colvis.dom.buttons.shift();
|
||||||
|
|
||||||
|
$(button).find('label').addClass('checkbox');
|
||||||
|
$(button).find('input').attr('id', columns[i]["name"]);
|
||||||
|
$(button).find('input').attr('name', columns[i]["name"]);
|
||||||
|
|
||||||
|
var target = $('#' + columns[i]["name"]);
|
||||||
|
$(button).find('span').text( target.closest('label').text() );
|
||||||
|
$(button).find('input').first().prop('checked', target.prop('checked'));
|
||||||
|
|
||||||
|
// need to re-activate tooltips on new content
|
||||||
|
$(button).click(function() {
|
||||||
|
$("[rel=tooltip]").tooltip({live: true});
|
||||||
|
});
|
||||||
|
|
||||||
|
target.closest('li').replaceWith( button );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,11 +69,9 @@
|
|||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// on page load, load the content for the active tab
|
// on page load, load the content for the active tab
|
||||||
[% IF tabname %]
|
[% IF tabname AND (tabname == 'ipinventory' OR tabname == 'subnets') %]
|
||||||
[% IF tabname == 'ipinventory' OR tabname == 'subnets' %]
|
|
||||||
$('#[% tabname %]_submit').click();
|
$('#[% tabname %]_submit').click();
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
$('#[% tabname %]_form').trigger("submit");
|
$('#[% tabname %]_form').trigger("submit");
|
||||||
[% END %]
|
[% END %]
|
||||||
[% END %]
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
</label></span>
|
</label></span>
|
||||||
<div id="nd_columns" class="collapse in">
|
<div id="nd_columns" class="collapse in">
|
||||||
<ul id="nd_column-controls" class="nd_inputs-list unstyled">
|
<ul id="nd_column-controls" class="nd_inputs-list unstyled">
|
||||||
[% FOREACH entry IN settings.table_display.$section.${tab.tag}.columns %]
|
[% FOREACH entry IN settings.table_display.device.ports.columns %]
|
||||||
[% SET keyname = entry.keys.first %]
|
[% SET keyname = entry.keys.first %]
|
||||||
[% NEXT IF keyname == 'c_admin' AND NOT user_has_role('port_control') %]
|
[% NEXT IF keyname == 'c_admin' AND NOT user_has_role('port_control') %]
|
||||||
<li>
|
<li>
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="neigh_id"
|
<input type="checkbox" class="nd_dynamic-dp" id="neigh_id"
|
||||||
name="neigh_id"[% ' checked="checked"' IF
|
name="neigh_id"[% ' checked="checked"' IF
|
||||||
(params.neigh_id || settings.table_display.$section.${tab.tag}.content.neigh_id) %] />
|
(params.neigh_id || settings.table_display.device.ports.content.neigh_id) %] />
|
||||||
Connected Device ID
|
Connected Device ID
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="n_age"
|
<input type="checkbox" class="nd_dynamic-dp" id="n_age"
|
||||||
name="n_age"[% ' checked="checked"' IF
|
name="n_age"[% ' checked="checked"' IF
|
||||||
(params.n_age || settings.table_display.$section.${tab.tag}.content.n_age) %] />
|
(params.n_age || settings.table_display.device.ports.content.n_age) %] />
|
||||||
Age Stamp
|
Age Stamp
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="n_ip"
|
<input type="checkbox" class="nd_dynamic-dp" id="n_ip"
|
||||||
name="n_ip"[% ' checked="checked"' IF
|
name="n_ip"[% ' checked="checked"' IF
|
||||||
(params.n_ip || settings.table_display.$section.${tab.tag}.content.n_ip) %] />
|
(params.n_ip || settings.table_display.device.ports.content.n_ip) %] />
|
||||||
IP Address
|
IP Address
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -153,7 +153,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="n_netbios"
|
<input type="checkbox" class="nd_dynamic-dp" id="n_netbios"
|
||||||
name="n_netbios"[% ' checked="checked"' IF
|
name="n_netbios"[% ' checked="checked"' IF
|
||||||
(params.n_netbios || settings.table_display.$section.${tab.tag}.content.n_netbios) %] />
|
(params.n_netbios || settings.table_display.device.ports.content.n_netbios) %] />
|
||||||
NetBIOS
|
NetBIOS
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -161,7 +161,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="n_ssid"
|
<input type="checkbox" class="nd_dynamic-dp" id="n_ssid"
|
||||||
name="n_ssid"[% ' checked="checked"' IF
|
name="n_ssid"[% ' checked="checked"' IF
|
||||||
(params.n_ssid || settings.table_display.$section.${tab.tag}.content.n_ssid) %] />
|
(params.n_ssid || settings.table_display.device.ports.content.n_ssid) %] />
|
||||||
SSID
|
SSID
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="n_vendor"
|
<input type="checkbox" class="nd_dynamic-dp" id="n_vendor"
|
||||||
name="n_vendor"[% ' checked="checked"' IF
|
name="n_vendor"[% ' checked="checked"' IF
|
||||||
(params.n_vendor || settings.table_display.$section.${tab.tag}.content.n_vendor) %] />
|
(params.n_vendor || settings.table_display.device.ports.content.n_vendor) %] />
|
||||||
Vendor
|
Vendor
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -177,7 +177,7 @@
|
|||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="nd_dynamic-dp" id="n_archived"
|
<input type="checkbox" class="nd_dynamic-dp" id="n_archived"
|
||||||
name="n_archived"[% ' checked="checked"' IF
|
name="n_archived"[% ' checked="checked"' IF
|
||||||
(params.n_archived || settings.table_display.$section.${tab.tag}.content.n_archived) %] />
|
(params.n_archived || settings.table_display.device.ports.content.n_archived) %] />
|
||||||
Archived Data
|
Archived Data
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -185,7 +185,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button id="[% tab.tag %]_submit" type="submit" class="btn btn-info nd_sidebar-btn-drop">
|
<button id="ports_submit" type="submit" class="btn btn-info nd_sidebar-btn-drop">
|
||||||
<i class="icon-search icon-large pull-left nd_navbar-icon"></i> Update View</button>
|
<i class="icon-search icon-large pull-left nd_navbar-icon"></i> Update View</button>
|
||||||
<button class="btn btn-info dropdown-toggle nd_sidebar-btn-drop-drop" data-toggle="dropdown">
|
<button class="btn btn-info dropdown-toggle nd_sidebar-btn-drop-drop" data-toggle="dropdown">
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
|
|||||||
Reference in New Issue
Block a user