7 logme("widget_selector called for table $tableid");
9 # if we got some columns, use them. if not, get all non-primary columns
12 '/reporter/tables/table[@id="' _ tableid _
13 '"]/fields/field[not(@primary) or @primary!="true"]'
14 columns = config.findnodes(columns_xpath);
15 logme("widget_selector had to grab columns for table $tableid!");
18 column_input_type="checkbox";
20 column_input_type="hidden";
23 FOR column IN columns;
24 column_name=column.findvalue('@name');
27 WRAPPER html/cell valign='top' align='right';
28 # checkbox for column filter here ...
29 INCLUDE $column_input_type
30 name="filter:$tableid"
33 column.findvalue('label');
37 col_widget_fams_xpath =
38 '/reporter/widgets/widget-family[@datatype="' _
39 column.findvalue('@datatype') _ '"]';
41 IF column.findnodes('@widget-family');
42 col_widget_fams_xpath =
43 '/reporter/widgets/widget-family[@name="' _
44 column.findvalue('@widget-family') _ '"]';
47 logme("finding widget families using $col_widget_fams_xpath");
49 widget_fams = config.findnodes(col_widget_fams_xpath);
52 FOR fam IN widget_fams;
64 fam_name = fam.findvalue('@name');
65 # radio for widget family here ...
68 name="filter:$tableid:$column_name"
70 fam.findvalue('label');
73 FOR widget IN fam.findnodes('widget');
85 widget_name = widget.findvalue('@name');
86 # radio for widget here ...
89 name="filter:$tableid:$column_name:$fam_name"
91 widget.findvalue('label');