aboutsummaryrefslogtreecommitdiffstats
path: root/config/haproxy-devel/pkg/haproxy_htmllist.inc
diff options
context:
space:
mode:
Diffstat (limited to 'config/haproxy-devel/pkg/haproxy_htmllist.inc')
-rw-r--r--config/haproxy-devel/pkg/haproxy_htmllist.inc24
1 files changed, 20 insertions, 4 deletions
diff --git a/config/haproxy-devel/pkg/haproxy_htmllist.inc b/config/haproxy-devel/pkg/haproxy_htmllist.inc
index 7eaad023..d5386fcd 100644
--- a/config/haproxy-devel/pkg/haproxy_htmllist.inc
+++ b/config/haproxy-devel/pkg/haproxy_htmllist.inc
@@ -42,8 +42,8 @@ class HaproxyHtmlList
<tableId>_field_changed(tableId, rowNr, fieldId, field)
*/
- private $tablename = "";
- private $fields = array();
+ public $tablename = "";
+ public $fields = array();
public $editmode = false;
public $fields_details = null;
public $keyfield = "";
@@ -269,7 +269,13 @@ class HaproxyHtmlList
foreach($itemdetails as $item) {
$itemname = $item['name'];
$itemvalue = $value[$itemname];
- //TODO don't filter empty items, filter context un-related items through customizable function..
+ if ($this->fields_details_showfieldfunction != null) {
+ // filter context un-related items through customizable function.
+ $fn = &$this->fields_details_showfieldfunction;
+ if ($fn($this, $itemname, $value) == false) {
+ continue;
+ }
+ } else
if (empty($itemvalue)) {
continue;
}
@@ -488,7 +494,10 @@ function haproxy_htmllist_js(){
subtr.appendChild(subtd);
subtd = d.createElement("td");
subtd.setAttribute("class","vncell");
- subtd.innerHTML = field['description'] + "<br/>" + fieldhtml;
+ if (field['description']) {
+ fieldhtml = field['description'] + "<br/>" + fieldhtml;
+ }
+ subtd.innerHTML = fieldhtml;
subtr.appendChild(subtd);
table.appendChild(subtr);
}
@@ -539,6 +548,13 @@ function haproxy_htmllist_js(){
if (typeof fn === 'function'){
fn(tableId, totalrows);
}
+
+ // show/hide conditional fields if applicable using a custom function.
+ javascript_event = tableId + "_listitem_change";
+ var fn = window[javascript_event];
+ if (typeof fn === 'function'){
+ fn(tableId, "toggle_details", totalrows, null);
+ }
}
function editRow(num) {
var trview = document.getElementById('tr_view_' + num);