sidebar defaults follow params; fix state saving
This commit is contained in:
@@ -16,6 +16,10 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
"stateSaveParams": function (settings, data) {
|
"stateSaveParams": function (settings, data) {
|
||||||
|
var pgtitle = update_page_title('[% tabname %]');
|
||||||
|
update_browser_history('[% tabname %]', pgtitle, '');
|
||||||
|
// TODO: would be nice to update CSV link too
|
||||||
|
|
||||||
var datatable = $('#[% tabname %]_pane').find('table').first().DataTable();
|
var datatable = $('#[% tabname %]_pane').find('table').first().DataTable();
|
||||||
// if no existing state, all columns default to visible.
|
// if no existing state, all columns default to visible.
|
||||||
// on table load, state is saved... we can find out whether there was
|
// on table load, state is saved... we can find out whether there was
|
||||||
@@ -23,9 +27,11 @@
|
|||||||
// visibility.
|
// visibility.
|
||||||
if (datatable.state.loaded() === null) {
|
if (datatable.state.loaded() === null) {
|
||||||
$('#[% tabname %]_form').find('input[type="checkbox"]').each( function() {
|
$('#[% tabname %]_form').find('input[type="checkbox"]').each( function() {
|
||||||
var id = $(this).attr('id');
|
var id = $(this).attr('id');
|
||||||
if (datatable.column( id + ':name' ).length === 1) {
|
var col = datatable.column( id + ':name' );
|
||||||
datatable.column( id + ':name' ).visible( $(this).prop('checked') );
|
if (col.length === 1) {
|
||||||
|
col.visible( $(this).prop('checked') );
|
||||||
|
data.columns[col.index()].visible = $(this).prop('checked');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,16 +148,6 @@
|
|||||||
update_csv_download_link('device', '[% tab.tag %]', '[% tab.provides_csv %]');
|
update_csv_download_link('device', '[% tab.tag %]', '[% tab.provides_csv %]');
|
||||||
|
|
||||||
[% IF tab.tag == 'ports' %]
|
[% IF tab.tag == 'ports' %]
|
||||||
// to be fair I can't remember why we do this in JS and not from the app
|
|
||||||
// perhaps because selecting form fields to go in the cookie is easier?
|
|
||||||
var cookie = $('#ports_form').find('input,select')
|
|
||||||
.not('#nd_port-query,input[name="q"],input[name="tab"]')
|
|
||||||
.serializeArray();
|
|
||||||
$('#ports_form').find('input[type="checkbox"]').map(function() {
|
|
||||||
cookie.push({'name': 'columns', 'value': $(this).attr('name')});
|
|
||||||
});
|
|
||||||
$.cookie('nd_ports-form', $.param(cookie) ,{ expires: 365 });
|
|
||||||
|
|
||||||
// form reset icon on ports tab
|
// form reset icon on ports tab
|
||||||
$('#nd_sidebar-reset-link').attr('href', uri_base + '/device/[% tab.tag %]?reset=on&' +
|
$('#nd_sidebar-reset-link').attr('href', uri_base + '/device/[% tab.tag %]?reset=on&' +
|
||||||
$('#ports_form')
|
$('#ports_form')
|
||||||
|
|||||||
@@ -58,17 +58,17 @@
|
|||||||
<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.$section.${tab.tag}.columns %]
|
||||||
[% NEXT IF entry.keys.first == 'c_admin' AND NOT user_has_role('port_control') %]
|
[% SET keyname = entry.keys.first %]
|
||||||
|
[% NEXT IF keyname == 'c_admin' AND NOT user_has_role('port_control') %]
|
||||||
<li>
|
<li>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<!-- FIXME look at param not default -->
|
|
||||||
<input type="checkbox" class="nd_dynamic-dp"
|
<input type="checkbox" class="nd_dynamic-dp"
|
||||||
[% ' checked="checked"' IF entry.item(entry.keys.first).default %]
|
[% ' checked="checked"' IF (params.$keyname || entry.item(keyname).default) %]
|
||||||
id="[% entry.keys.first | html_entity %]" name="[% entry.keys.first | html_entity %]" />
|
id="[% keyname | html_entity %]" name="[% keyname | html_entity %]" />
|
||||||
[% IF entry.item(entry.keys.first).highlight %]
|
[% IF entry.item(keyname).highlight %]
|
||||||
<span class="label label-info">[% entry.item(entry.keys.first).label | html_entity %]</span>
|
<span class="label label-info">[% entry.item(keyname).label | html_entity %]</span>
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
[% entry.item(entry.keys.first).label | html_entity %]
|
[% entry.item(keyname).label | html_entity %]
|
||||||
[% END %]
|
[% END %]
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -110,7 +110,8 @@
|
|||||||
<li>
|
<li>
|
||||||
<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 params.neigh_id %] />
|
name="neigh_id"[% ' checked="checked"' IF
|
||||||
|
(params.neigh_id || settings.table_display.$section.${tab.tag}.content.neigh_id) %] />
|
||||||
Connected Device ID
|
Connected Device ID
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
@@ -135,42 +136,48 @@
|
|||||||
<li>
|
<li>
|
||||||
<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 settings.table_display.$section.${tab.tag}.content.n_age %] />
|
name="n_age"[% ' checked="checked"' IF
|
||||||
|
(params.n_age || settings.table_display.$section.${tab.tag}.content.n_age) %] />
|
||||||
Age Stamp
|
Age Stamp
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<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 settings.table_display.$section.${tab.tag}.content.n_ip %] />
|
name="n_ip"[% ' checked="checked"' IF
|
||||||
|
(params.n_ip || settings.table_display.$section.${tab.tag}.content.n_ip) %] />
|
||||||
IP Address
|
IP Address
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<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 settings.table_display.$section.${tab.tag}.content.n_netbios %] />
|
name="n_netbios"[% ' checked="checked"' IF
|
||||||
|
(params.n_netbios || settings.table_display.$section.${tab.tag}.content.n_netbios) %] />
|
||||||
NetBIOS
|
NetBIOS
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<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 settings.table_display.$section.${tab.tag}.content.n_ssid %] />
|
name="n_ssid"[% ' checked="checked"' IF
|
||||||
|
(params.n_ssid || settings.table_display.$section.${tab.tag}.content.n_ssid) %] />
|
||||||
SSID
|
SSID
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<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 settings.table_display.$section.${tab.tag}.content.n_vendor %] />
|
name="n_vendor"[% ' checked="checked"' IF
|
||||||
|
(params.n_vendor || settings.table_display.$section.${tab.tag}.content.n_vendor) %] />
|
||||||
Vendor
|
Vendor
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<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 settings.table_display.$section.${tab.tag}.content.n_archived %] />
|
name="n_archived"[% ' checked="checked"' IF
|
||||||
|
(params.n_archived || settings.table_display.$section.${tab.tag}.content.n_archived) %] />
|
||||||
Archived Data
|
Archived Data
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user