function
update_csv_download_link (type, tab, show) {
var
form =
'#'
+ tab +
'_form'
;
var
query = $(form).serialize();
if
(show.length) {
$(
'#nd_csv-download'
)
.attr(
'href'
, uri_base +
'/ajax/content/'
+ type +
'/'
+ tab +
'?'
+ query)
.attr(
'download'
,
'netdisco-'
+ type +
'-'
+ tab +
'.csv'
)
.show();
}
else
{
$(
'#nd_csv-download'
).hide();
}
}
function
update_page_title (tab) {
var
pgtitle =
'Netdisco'
;
if
($.trim($(
'#nd_device-name'
).text()).length) {
pgtitle = $.trim($(
'#nd_device-name'
).text()) +
' - '
+ $(
'#'
+ tab +
'_link'
).text();
}
return
pgtitle;
}
function
update_browser_history (tab, pgtitle, push) {
var
form =
'#'
+ tab +
'_form'
;
var
query = $(form).serialize();
if
(query.length) { query =
'?'
+ query }
if
(window.History && window.History.enabled) {
is_from_history_plugin = 1;
if
(push.length) {
var
target = uri_base +
'/'
+ path +
'/'
+ tab + query;
if
(location.pathname == target) {
return
};
window.History.pushState(
{name: tab, fields: $(form).serializeArray()}, pgtitle, target
);
}
else
{
var
target = uri_base +
'/'
+ path + query;
window.History.replaceState(
{name: tab, fields: $(form).serializeArray()}, pgtitle, target
);
}
is_from_history_plugin = 0;
}
}
function
copy_navbar_to_sidebar (tab) {
var
form =
'#'
+ tab +
'_form'
;
if
($(
'#nq'
).val()) {
$(form).find(
"input[name=q]"
).val( $(
'#nq'
).val() );
}
$(
'form'
).find(
"input[name=q]"
).each(
function
() {
$(
this
).val( $(form).find(
"input[name=q]"
).val() );
});
}
$(document).ready(
function
() {
[% IF search %]
[% FOREACH tab IN settings._search_tabs %]
$(
'[% "#${tab.tag}_form" %]'
).submit(
function
(event) {
var
pgtitle = update_page_title(
'[% tab.tag | html_entity %]'
);
copy_navbar_to_sidebar(
'[% tab.tag | html_entity %]'
);
update_browser_history(
'[% tab.tag | html_entity %]'
, pgtitle,
''
);
update_csv_download_link(
'search'
,
'[% tab.tag | html_entity %]'
,
'[% tab.provides_csv | html_entity %]'
);
do_search(event,
'[% tab.tag | html_entity %]'
);
});
[% END %]
[% END %]
[% IF device %]
[% FOREACH tab IN settings._device_tabs %]
$(
'[% "#${tab.tag}_form" %]'
).submit(
function
(event) {
var
pgtitle = update_page_title(
'[% tab.tag | html_entity %]'
);
copy_navbar_to_sidebar(
'[% tab.tag | html_entity %]'
);
update_browser_history(
'[% tab.tag | html_entity %]'
, pgtitle,
''
);
update_csv_download_link(
'device'
,
'[% tab.tag | html_entity %]'
,
'[% tab.provides_csv | html_entity %]'
);
[% IF tab.tag ==
'ports'
%]
$(
'#nd_sidebar-reset-link'
).attr(
'href'
, uri_base +
'/device?tab=[% tab.tag | html_entity %]&reset=on&firstsearch=on&'
+
$(
'#ports_form'
)
.find(
'input[name="q"],input[name="f"],input[name="partial"],input[name="invert"]'
)
.serialize());
[% ELSIF tab.tag ==
'netmap'
%]
$(
'#nd_sidebar-reset-link'
).attr(
'href'
, uri_base +
'/device?tab=[% tab.tag | html_entity %]&reset=on&firstsearch=on&'
+
$(
'#netmap_form'
).find(
'input[name="q"]'
).serialize());
[% END %]
do_search(event,
'[% tab.tag | html_entity %]'
);
});
[% END %]
[% END %]
[% IF report %]
$(
'[% "#${report.tag}_form" %]'
).submit(
function
(event) {
var
pgtitle = update_page_title(
'[% report.tag | html_entity %]'
);
update_browser_history(
'[% report.tag | html_entity %]'
, pgtitle,
'1'
);
update_csv_download_link(
'report'
,
'[% report.tag | html_entity %]'
,
'1'
);
do_search(event,
'[% report.tag | html_entity %]'
);
});
[% END -%]
[% IF task %]
$(
'[% "#${task.tag}_form" %]'
).submit(
function
(event) {
update_page_title(
'[% task.tag | html_entity %]'
);
update_csv_download_link(
'admin'
,
'[% task.tag | html_entity %]'
,
'1'
);
do_search(event,
'[% task.tag | html_entity %]'
);
});
[% END %]
[% IF params.tab %]
[% IF params.tab ==
'ipinventory'
OR params.tab ==
'subnets'
%]
$(
'#[% params.tab | html_entity %]_submit'
).click();
[% ELSE %]
$(
'#[% params.tab | html_entity %]_form'
).trigger(
"submit"
);
[% END %]
[% END %]
});