2 function sourceTreeHandlerDblClick (ev) { return sourceTreeHandler(ev,true) }
4 function sourceTreeHandler (ev, dbl) {
6 var row = {}, col = {}, part = {}, item;
7 var tree = $('idl-browse-tree');
11 tree.treeBoxObject.getCellAt(ev.clientX, ev.clientY, row, col, part);
12 item = tree.contentView.getItemAtIndex(row.value);
17 if (part.value == 'twisty' || dbl) { // opening or closing
18 if (item.getAttribute('open') == 'true' && item.lastChild.childNodes.length == 0) {
19 //var subtree = item.lastChild;
20 //while (subtree.childNodes.length)
21 // subtree.removeChild(subtree.lastChild);
23 var p = getIDLClass( item.getAttribute('idlclass') );
26 var link_fields = p.getElementsByTagName('link');
28 for ( var i = 0; i < link_fields.length; i++ ) {
29 var field = getIDLField( p, link_fields[i].getAttribute('field') );
33 var name = field.getAttributeNS(rptNS,'label');
34 if (!name) name = field.getAttribute('name');
36 var idlclass = link_fields[i].getAttribute('class');
37 var map = link_fields[i].getAttribute('map');
38 var link = link_fields[i].getAttribute('field');
39 var key = link_fields[i].getAttribute('key');
40 var reltype = link_fields[i].getAttribute('reltype');
45 findAnscestorStack( item, 'treeitem', pathList );
48 for (var j in pathList.reverse()) {
49 var n = pathList[j].getAttribute('idlclass');
50 var f = pathList[j].getAttribute('field');
52 if (f) fullpath += "-" + f;
54 if (fullpath) fullpath += ".";
59 fullpath += "-" + link;
66 field : field.getAttribute('name'),
74 populateSourcesSubtree( item.lastChild, subtreeList );
77 var classtree = $('class-treetop');
79 while (classtree.childNodes.length)
80 classtree.removeChild(classtree.lastChild);
82 var c = getIDLClass( item.getAttribute('idlclass') );
94 function transformSelectHandler (noswap) {
95 var transform_tree = $('trans-view');
96 var transform = getSelectedItems(transform_tree)[0];
99 if (transform.getAttribute('aggregate') == 'true') {
100 $( 'filter_tab' ).setAttribute('disabled','true');
101 $( 'aggfilter_tab' ).setAttribute('disabled','false');
103 if (!noswap && $( 'filter_tab' ).selected)
104 $( 'filter_tab' ).parentNode.selectedItem = $( 'aggfilter_tab' );
106 $( 'filter_tab' ).setAttribute('disabled','false');
107 $( 'aggfilter_tab' ).setAttribute('disabled','true');
109 if (!noswap && $( 'aggfilter_tab' ).selected)
110 $( 'aggfilter_tab' ).parentNode.selectedItem = $( 'filter_tab' );
114 if ($( 'filter_tab' ).selected) {
115 if ($( 'filter_tab' ).getAttribute('disabled') == 'true')
116 $( 'source-add' ).setAttribute('disabled','true');
118 $( 'source-add' ).setAttribute('disabled','false');
120 } else if ($( 'aggfilter_tab' ).selected) {
121 if ($( 'aggfilter_tab' ).getAttribute('disabled') == 'true')
122 $( 'source-add' ).setAttribute('disabled','true');
124 $( 'source-add' ).setAttribute('disabled','false');
126 } else if ($( 'dis_tab' ).selected) {
127 $( 'source-add' ).setAttribute('disabled','false');
131 function detailTreeHandler (args) {
132 var class_tree = $('class-view');
133 var transform_tree = $('trans-treetop');
135 while (transform_tree.childNodes.length)
136 transform_tree.removeChild(transform_tree.lastChild);
138 var class_items = getSelectedItems(class_tree);;
140 var transforms = new Object();
141 for (var i in class_items) {
142 var item = class_items[i];
143 var dtype = item.lastChild.lastChild.getAttribute('label');
145 var item_transforms = getTransforms({ datatype : dtype });
147 for (var j in item_transforms) {
148 transforms[item_transforms[j]] = OILS_RPT_TRANSFORMS[item_transforms[j]];
149 transforms[item_transforms[j]].name = item_transforms[j];
153 var transformList = [];
154 for (var i in transforms) {
155 transformList.push( transforms[i] );
158 transformList.sort( sortHashLabels );
160 $( 'aggfilter_tab' ).setAttribute('disabled','true');
162 for (var i in transformList) {
163 var t = transformList[i];
164 transform_tree.appendChild(
166 { aggregate : t.aggregate,
173 createTreeCell( { label : t.label } ),
174 createTreeCell( { label : t.params ? t.params : '0' } ),
175 createTreeCell( { label : t.datatype.length > 0 ? t.datatype.join(', ') : 'all' } ),
176 createTreeCell( { label : t.aggregate ? 'Aggregate' : 'Non-Aggregate' } )
181 if (t.aggregate) $( 'aggfilter_tab' ).setAttribute('disabled','false');
184 transformSelectHandler(true);