summaryrefslogtreecommitdiff
path: root/httemplate/elements
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/elements')
-rw-r--r--httemplate/elements/broadband_snmp_get-dialog.html68
-rw-r--r--httemplate/elements/select-mib-popup.html186
2 files changed, 68 insertions, 186 deletions
diff --git a/httemplate/elements/broadband_snmp_get-dialog.html b/httemplate/elements/broadband_snmp_get-dialog.html
new file mode 100644
index 000000000..61bb9c763
--- /dev/null
+++ b/httemplate/elements/broadband_snmp_get-dialog.html
@@ -0,0 +1,68 @@
+<%doc>
+Adds a link to display snmp statistics based on broadband_snmp_get export config.
+Performs necessary checks such that, if no such exports are configured for the passed
+service, returns blank space (ie may be safely invoked even if no exports are configured.)
+
+ <& '/elements/broadband_snmp_get-dialog.html', svc => $svc &>
+
+</%doc>
+% if (@snmp) {
+<& '/elements/xmlhttp.html',
+ 'url' => $fsurl.'misc/xmlhttp-broadband_snmp_get.cgi',
+ 'subs' => [ 'broadband_snmp_get_request' ]
+ &>
+<SCRIPT>
+function broadband_snmp_get (svcnum) {
+ var jqd = $( '#broadband_snmp_get_dialog' );
+ if (!jqd.dialog( 'isOpen' )) {
+ jqd.dialog( 'open' );
+ }
+ document.getElementById('broadband_snmp_get_dialog').innerHTML = '<B>Loading...</B>';
+ broadband_snmp_get_request('svcnum',svcnum,
+ function (result) {
+ var objects = JSON.parse(result) || [];
+ if (objects.length) {
+ var table = document.createElement('table');
+ for (i = 0; i < objects.length; i++) {
+ var row = document.createElement('tr');
+ var obj = objects[i];
+ if (obj.error) {
+ var cell = document.createElement('td');
+ cell.colSpan = '2';
+ cell.innerHTML = obj['error'];
+ row.appendChild(cell);
+ } else {
+ var cell = document.createElement('td');
+ cell.innerHTML = obj['label'];
+ row.appendChild(cell);
+ cell = document.createElement('td');
+ cell.innerHTML = obj['value'];
+ row.appendChild(cell);
+ }
+ table.appendChild(row);
+ }
+ var dialog = document.getElementById('broadband_snmp_get_dialog');
+ dialog.innerHTML = '';
+ dialog.appendChild(table);
+ } // if objects.length
+ } // function
+ ); // broadband_snmp_get_request
+} // broadband_snmp_get
+</SCRIPT>
+<SPAN ID="broadband_snmp_get_dialog"></SPAN>
+<SPAN ID="broadband_snmp_get_link">
+<A HREF="javascript: void(0)" onclick="broadband_snmp_get('<% $svcnum %>')">(snmp)</A>
+</SPAN>
+<SCRIPT>
+$( '#broadband_snmp_get_dialog' ).dialog({
+ position: { my: "left top", at: "left top", of: "#broadband_snmp_get_link" },
+ autoOpen: false,
+ title: 'SNMP',
+});
+</SCRIPT>
+% } #if @snmp
+<%init>
+my(%opt) = @_;
+my @snmp = $opt{'svc'}->cust_svc->part_svc->part_export('broadband_snmp_get');
+my $svcnum = $opt{'svc'}->svcnum;
+</%init>
diff --git a/httemplate/elements/select-mib-popup.html b/httemplate/elements/select-mib-popup.html
deleted file mode 100644
index f95ce2b97..000000000
--- a/httemplate/elements/select-mib-popup.html
+++ /dev/null
@@ -1,186 +0,0 @@
-<& /elements/header-popup.html &>
-<DIV STYLE="visibility: hidden; position: absolute" ID="measurebox"></DIV>
-<TABLE WIDTH="100%">
-<TR>
- <TD WIDTH="30%" ALIGN="right">Module:</TD>
- <TD><SELECT ID="select_module"></SELECT></TD>
-</TR>
-<TR>
- <TD ALIGN="right">Object:</TD>
- <TD><INPUT TYPE="text" NAME="path" ID="input_path" SIZE=50 WIDTH="100%"></TD>
-</TR>
-<TR>
- <TD COLSPAN=2>
- <SELECT STYLE="width:100%" SIZE=12 ID="select_path"></SELECT>
- </TD>
-</TR>
-<TR>
- <TH ALIGN="center" COLSPAN=2 ID="mib_objectID"></TH>
-</TR>
-<TR>
- <TD ALIGN="right">Module: </TD><TD ID="mib_moduleID"></TD>
-</TR>
-<TR>
- <TD ALIGN="right">Data type: </TD><TD ID="mib_type"></TD>
-</TR>
-<TR>
- <TH COLSPAN=2>
- <BUTTON ID="submit_button" onclick="submit()" DISABLED=1>Continue</BUTTON>
- </TH>
-</TR>
-</TABLE>
-<& /elements/xmlhttp.html,
- url => $p.'misc/xmlhttp-mib-browse.html',
- subs => [qw( search get_module_list )],
-&>
-<SCRIPT TYPE="text/javascript">
-
-var selected_mib;
-
-function show_info(state) {
- document.getElementById('mib_objectID').style.display =
- document.getElementById('mib_moduleID').style.display =
- document.getElementById('mib_type').style.display =
- state ? '' : 'none';
-}
-
-function clear_list() {
- var select_path = document.getElementById('select_path');
- select_path.options.length = 0;
-}
-
-var measurebox = document.getElementById('measurebox');
-function add_item(value) {
- var select_path = document.getElementById('select_path');
- var input_path = document.getElementById('input_path');
- var opt = document.createElement('option');
- var v = value;
- if ( v.match(/-$/) ) {
- opt.className = 'leaf';
- v = v.substring(0, v.length - 1);
- }
- var optvalue = v; // may not be the name we display
- // shorten these if they don't fit in the box
- if ( v.length > 30 ) { // unless they're already really short
- measurebox.innerHTML = v;
- while ( measurebox.clientWidth > select_path.clientWidth - 10
- && v.match(/^\..*\./) ) {
- v = v.replace(/^\.[^\.]+/, '');
- measurebox.innerHTML = v;
- }
- if ( optvalue != v ) {
- v = '...' + v;
- }
- }
- opt.value = optvalue;
- opt.text = v;
- opt.selected = (input_path.value == v);
- select_path.add(opt, null);
-}
-
-var timerID = 0;
-
-function populate(json_result) {
- var result = JSON.parse(json_result);
- clear_list();
- for (var x in result['choices']) {
- opt = document.createElement('option');
- add_item(result['choices'][x]);
- }
- if ( result['objectID'] ) {
- selected_mib = result;
- show_info(true);
- // show details on the selected node
- document.getElementById('mib_objectID').innerHTML = result.objectID;
- document.getElementById('mib_moduleID').innerHTML = result.moduleID;
- document.getElementById('mib_type').innerHTML = result.type;
- document.getElementById('submit_button').disabled = !result.type;
- } else {
- selected_mib = undefined;
- show_info(false);
- }
-}
-
-function populate_modules(json_result) {
- var result = JSON.parse(json_result);
- var select_module = document.getElementById('select_module');
- var opt = document.createElement('option');
- opt.value = 'ANY';
- opt.text = '(any)';
- select_module.add(opt, null);
- for (var x in result['modules']) {
- opt = document.createElement('option');
- opt.value = opt.text = result['modules'][x];
- select_module.add(opt, null);
- }
-}
-
-function dispatch_search() {
- // called from the interval timer
- var search_string = document.getElementById('select_module').value + ':' +
- document.getElementById('input_path').value;
-
- search(search_string, populate);
-}
-
-function delayed_search() {
- // onkeyup handler for the text input
- // 500ms after the user stops typing, send the search request
- if (timerID != 0) {
- clearTimeout(timerID);
- }
- timerID = setTimeout(dispatch_search, 500);
-}
-
-function handle_choose_object() {
- // onchange handler for the selector
- // when the user picks an option, set the text input to that, and then
- // search for it as though it was entered
- var input_path = document.getElementById('input_path');
- input_path.value = this.value;
- dispatch_search();
-}
-
-function handle_choose_module() {
- input_path.value = ''; // just to avoid confusion
- delayed_search();
-}
-
-function submit() {
-% if ( $callback ) {
- <% $callback %>;
- parent.nd(1); // close popup
-% } else {
- alert(document.getElementById('input_path').value);
-% }
-}
-
-var input_path = document.getElementById('input_path');
-input_path.onkeyup = delayed_search;
-var select_path = document.getElementById('select_path');
-select_path.onchange = handle_choose_object;
-var select_module = document.getElementById('select_module');
-select_module.onchange = handle_choose_module;
-% if ( $cgi->param('curr_value') ) {
-input_path.value = <% $cgi->param('curr_value') |js_string %>;
-% }
-dispatch_search();
-get_module_list('', populate_modules);
-
-</SCRIPT>
-<& /elements/footer.html &>
-<%init>
-my $callback = 'alert("(no callback defined)" + selected_mib.stringify)';
-$cgi->param('callback') =~ /^(\w+)$/;
-if ( $1 ) {
- # construct the JS function call expresssion
- $callback = 'window.parent.' . $1 . '(selected_mib';
- foreach ($cgi->param('arg')) {
- # pass-through arguments
- /^(\w+)$/ or next;
- $callback .= ",'$1'";
- }
- $callback .= ')';
-}
-
-</%init>