2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3 <?xml-stylesheet href="reporter.css" type="text/css"?>
4 <?xml-stylesheet href="/opac/common/js/jscalendar/calendar-brown.css" type="text/css" ?>
5 <?xml-stylesheet href='/js/dojo/dojo/resources/dojo.css' type='text/css'?>
7 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xhtml="http://www.w3.org/1999/xhtml">
10 <script type="text/javascript">
18 <script type="text/javascript" src="/js/dojo/dojo/dojo.js"></script>
19 <script type="text/javascript">
21 dojo.require('dojo.parser');
25 <script src='/opac/common/js/utils.js' type="application/x-javascript; e4x=1"/>
26 <script src='/opac/common/js/config.js' type="application/x-javascript; e4x=1"/>
27 <script src='/opac/common/js/CGI.js' type="application/x-javascript; e4x=1"/>
28 <script src='/opac/common/js/JSON_v1.js' type="application/x-javascript; e4x=1"/>
29 <script src='/opac/common/js/fmall.js' type="application/x-javascript; e4x=1"/>
30 <script src='/opac/common/js/fmgen.js' type="application/x-javascript; e4x=1"/>
31 <script src='/opac/common/js/Cookies.js' type="application/x-javascript; e4x=1"/>
32 <script src='/opac/common/js/opac_utils.js' type="application/x-javascript; e4x=1"/>
33 <script src='/opac/common/js/OrgTree.js' type="application/x-javascript; e4x=1"/>
34 <script src='/opac/common/js/org_utils.js' type="application/x-javascript; e4x=1"/>
35 <script src='/opac/common/js/RemoteRequest.js' type="application/x-javascript; e4x=1"/>
36 <script src='/opac/common/js/md5.js' type="application/x-javascript; e4x=1"/>
38 <script src="../adminlib.js" type="application/x-javascript; e4x=1"/>
40 <script src="utilities.js" type="application/x-javascript; e4x=1"/>
41 <script src="xulbuilder.js" type="application/x-javascript; e4x=1"/>
42 <script src="source-setup.js" type="application/x-javascript; e4x=1"/>
43 <script src="source-browse.js" type="application/x-javascript; e4x=1"/>
44 <script src="template-config.js" type="application/x-javascript; e4x=1"/>
45 <script src="transforms.js" type="application/x-javascript; e4x=1"/>
46 <script src="operators.js" type="application/x-javascript; e4x=1"/>
48 <script type="text/javascript">
50 dojo.addOnLoad(loadIDL);
54 <script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/calendar.js"/>
55 <script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/lang/calendar-en.js"/>
56 <script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/calendar-setup.js"/>
59 <caption label="Database Source Browser"/>
63 <menulist label="Sources" popup="source-menu"/>
67 onclick="sourceTreeHandler(event)"
68 ondblclick="sourceTreeHandlerDblClick(event)"
71 <treecol primary="true" label="Source Name" flex="1"/>
73 <treechildren id="sources-treetop" alternatingbackground="true" />
78 <splitter id="rtp-browse-splitter" collapse="before" persist="state hidden"><grippy/></splitter>
83 <label control="path-label" value="Source Specifier:"/>
84 <textbox id="path-label" flex="1"/>
92 onclick="detailTreeHandler()"
93 ondblclick="addReportAtoms()"
94 enableColumnDrag="true"
97 <treecol label="Field Name" flex="1"/>
98 <treecol label="Data Type" flex="0"/>
100 <treechildren id="class-treetop" alternatingbackground="true" />
105 <splitter><grippy/></splitter>
113 onclick="transformSelectHandler()"
114 ondblclick="addReportAtoms()"
115 enableColumnDrag="true"
118 <treecol label="Field Transform" flex="1"/>
119 <treecol label="Params" flex="0" hidden="true"/>
120 <treecol label="Applicable Datatypes" flex="1" hidden="true"/>
121 <treecol label="Output Type" flex="1" />
123 <treechildren id="trans-treetop" alternatingbackground="true" />
130 <button label="Add Selected Fields" id="source-add" oncommand="addReportAtoms()"/>
137 <splitter style="margin:3px" id="rtp-browse-build-splitter" collapse="before" persist="state hidden"><grippy/></splitter>
140 <groupbox flex="1" orient="horizontal">
141 <caption label="Template Configuration"/>
147 <label control="template-name" value="Name:" style="height:2em"/>
148 <label control="template-description" value="Description:"/>
151 <textbox id="template-name" flex="1"/>
152 <textbox id="template-description" multiline="true" flex="1" style="max-height:3em"/>
155 <button onclick="save_template();" label="Save"/>
160 <tabbox flex="2" id="used-source-fields-tabbox">
164 label="Displayed Fields"
165 onclick="transformSelectHandler(true);"
170 onclick="transformSelectHandler(true);"
174 label="Aggregate Filters"
176 onclick="transformSelectHandler(true);"
182 onclick="transformSelectHandler(true);"
188 <tabpanel id="dis_tabpanel" orient="vertical">
195 ondblclick="alterColumnLabel()"
196 onselect="populateTransformContext()"
197 enableColumnDrag="true"
200 <treecol label="Display Name" flex="3"/>
201 <treecol label="Field Name" hidden="true" flex="1"/>
202 <treecol label="Data Type" flex="1"/>
203 <treecol label="Field Transform" flex="1"/>
204 <treecol label="Field Transform Type" hidden="true" flex="1"/>
206 <treechildren id="dis-col-treetop" alternatingbackground="true" />
210 <button label="Alter Display Header" oncommand="alterColumnLabel()"/>
211 <button type="menu" label="Change Transform">
212 <menupopup id='dis_tab_trans_menu'/>
215 <button label="Move Up" oncommand="changeDisplayOrder('u')"/>
216 <button label="Move Down" oncommand="changeDisplayOrder('d')"/>
218 <button label="Remove Selected Field" oncommand="removeReportAtom()"/>
223 <tabpanel id="filter_tabpanel" orient="vertical">
230 onselect="populateTransformContext();populateOperatorContext();changeTemplateFilterValue();"
231 enableColumnDrag="true"
234 <treecol label="Filter Field" flex="2"/>
235 <treecol label="Field Name" hidden="true" flex="1"/>
236 <treecol label="Data Type" hidden="true" flex="1"/>
237 <treecol label="Field Transform" flex="1"/>
238 <treecol label="Field Transform Type" hidden="true" flex="1"/>
239 <treecol label="Operator" flex="1"/>
240 <treecol label="Value" flex="1"/>
242 <treechildren id="filter-col-treetop" alternatingbackground="true" />
246 <button type="menu" label="Change Transform">
247 <menupopup id='filter_tab_trans_menu'/>
249 <button type="menu" label="Change Operator">
250 <menupopup id='filter_tab_op_menu'/>
252 <button label="Change value" command="filter_tab_value_action"/>
253 <button label="Remove value" oncommand="removeTemplateFilterValue()"/>
255 <button label="Remove Selected Fields" oncommand="removeReportAtom()"/>
260 <tabpanel id="aggfilter_tabpanel" orient="vertical">
264 id="aggfilter-col-view"
267 onselect="populateTransformContext();populateOperatorContext();changeTemplateFilterValue();"
268 enableColumnDrag="true"
271 <treecol label="Filter Field" flex="2"/>
272 <treecol label="Field Name" hidden="true" flex="1"/>
273 <treecol label="Data Type" hidden="true" flex="1"/>
274 <treecol label="Field Transform" flex="1"/>
275 <treecol label="Field Transform Type" hidden="true" flex="1"/>
276 <treecol label="Operator" flex="1"/>
277 <treecol label="Value" flex="1"/>
279 <treechildren id="aggfilter-col-treetop" alternatingbackground="true" />
283 <button type="menu" label="Change Transform">
284 <menupopup id='aggfilter_tab_trans_menu'/>
286 <button type="menu" label="Change Operator">
287 <menupopup id='aggfilter_tab_op_menu'/>
289 <button label="Change value" command="aggfilter_tab_value_action"/>
290 <button label="Remove value" oncommand="removeTemplateFilterValue()"/>
292 <button label="Remove Selected Fields" oncommand="removeReportAtom()"/>
302 <splitter id="rtp-build-splitter" collapse="after" persist="state hidden"><grippy/></splitter>
308 onclick="renderSources(true)"
309 ondblclick="changeTemplateFilterValue()"
310 enableColumnDrag="true"
313 <treecol label="Source Specifier" flex="2"/>
314 <treecol label="Table Name" flex="1" hidden="true"/>
315 <treecol label="SQL Alias" flex="1" hidden="true"/>
316 <treecol label="Relationship" flex="1" hidden="true"/>
318 <treechildren id="used-sources-treetop" alternatingbackground="true" />
325 <command id='filter_tab_value_action'/>
326 <command id='aggfilter_tab_value_action'/>
330 <popup id="source-menu" position="after_start"/>
333 position="before_start"