]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/reports/xul/template_builder.xul
menulist
[Evergreen.git] / Open-ILS / web / reports / xul / template_builder.xul
1 <?xml version="1.0"?>
2 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3 <?xml-stylesheet href="reporter.css" type="text/css"?>
4 <?xml-stylesheet href="calendar/calendar-brown.css" type="text/css" ?>
5
6 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xhtml="http://www.w3.org/1999/xhtml" onload="loadIDL()">
7
8 <script src='/opac/common/js/utils.js' type="application/x-javascript; e4x=1"/>
9 <script src='/opac/common/js/config.js' type="application/x-javascript; e4x=1"/>
10 <script src='/opac/common/js/CGI.js' type="application/x-javascript; e4x=1"/>
11 <script src='/opac/common/js/JSON.js' type="application/x-javascript; e4x=1"/>
12 <script src='/opac/common/js/fmall.js' type="application/x-javascript; e4x=1"/>
13 <script src='/opac/common/js/fmgen.js' type="application/x-javascript; e4x=1"/>
14 <script src='/opac/common/js/Cookies.js' type="application/x-javascript; e4x=1"/>
15 <script src='/opac/common/js/opac_utils.js' type="application/x-javascript; e4x=1"/>
16 <script src='/opac/common/js/OrgTree.js' type="application/x-javascript; e4x=1"/>
17 <script src='/opac/common/js/org_utils.js' type="application/x-javascript; e4x=1"/>
18 <script src='/opac/common/js/RemoteRequest.js' type="application/x-javascript; e4x=1"/>
19 <script src='/opac/common/js/md5.js' type="application/x-javascript; e4x=1"/>
20
21 <script src="../adminlib.js" type="application/x-javascript; e4x=1"/>
22
23 <script src="utilities.js" type="application/x-javascript; e4x=1"/>
24 <script src="xulbuilder.js" type="application/x-javascript; e4x=1"/>
25 <script src="source-setup.js" type="application/x-javascript; e4x=1"/>
26 <script src="source-browse.js" type="application/x-javascript; e4x=1"/>
27 <script src="template-config.js" type="application/x-javascript; e4x=1"/>
28 <script src="transforms.js" type="application/x-javascript; e4x=1"/>
29 <script src="operators.js" type="application/x-javascript; e4x=1"/>
30
31 <script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/calendar.js"/>
32 <script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/lang/calendar-en.js"/>
33 <script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/calendar-setup.js"/>
34
35 <groupbox flex="1">
36         <caption label="Database Source Browser"/>
37         <hbox flex="1">
38                 <hbox flex="1">
39                         <vbox flex="1">
40                                 <menulist label="Sources" popup="source-menu"/>
41                                 <tree
42                                         id="idl-browse-tree"
43                                         flex="2"
44                                         onclick="sourceTreeHandler(event)"
45                                         ondblclick="sourceTreeHandlerDblClick(event)"
46                                 >
47                                         <treecols>
48                                                 <treecol primary="true" label="Source Name" flex="1"/>
49                                         </treecols>
50                                         <treechildren id="sources-treetop" alternatingbackground="true" />
51                                 </tree>
52                         </vbox>
53                 </hbox>
54
55                 <splitter id="rtp-browse-splitter" collapse="before" persist="state hidden"><grippy/></splitter>
56
57                 <hbox flex="2">
58                         <vbox flex="1">
59                                 <hbox>
60                                         <label control="path-label" value="Source Specifier:"/>
61                                         <textbox id="path-label" flex="1"/>
62                                 </hbox>
63                                 <hbox flex="1">
64                                         <hbox flex="3">
65                                                 <vbox flex="1">
66                                                         <tree
67                                                                 id="class-view"
68                                                                 flex="3"
69                                                                 onclick="detailTreeHandler()"
70                                                                 ondblclick="addReportAtoms()"
71                                                                 enableColumnDrag="true"
72                                                         >
73                                                                 <treecols>
74                                                                         <treecol label="Field Name" flex="1"/>
75                                                                         <treecol label="Data Type" flex="0"/>
76                                                                 </treecols>
77                                                                 <treechildren id="class-treetop" alternatingbackground="true" />
78                                                         </tree>
79                                                 </vbox>
80                                         </hbox>
81
82                                         <splitter><grippy/></splitter>
83
84                                         <hbox flex="2">
85                                                 <vbox flex="1">
86                                                         <tree
87                                                                 id="trans-view"
88                                                                 flex="1"
89                                                                 seltype="single"
90                                                                 onclick="transformSelectHandler()"
91                                                                 ondblclick="addReportAtoms()"
92                                                                 enableColumnDrag="true"
93                                                         >
94                                                                 <treecols>
95                                                                         <treecol label="Field Transform" flex="1"/>
96                                                                         <treecol label="Params" flex="0" hidden="true"/>
97                                                                         <treecol label="Applicable Datatypes" flex="1" hidden="true"/>
98                                                                         <treecol label="Output Type" flex="1" />
99                                                                 </treecols>
100                                                                 <treechildren id="trans-treetop" alternatingbackground="true" />
101                                                         </tree>
102                                                 </vbox>
103                                         </hbox>
104                                 </hbox>
105                                 <hbox>
106                                         <spacer flex="1"/>
107                                         <button label="Add Selected Fields" id="source-add" oncommand="addReportAtoms()"/>
108                                 </hbox>
109                         </vbox>
110                 </hbox>
111         </hbox>
112 </groupbox>
113
114 <splitter style="margin:3px" id="rtp-browse-build-splitter" collapse="before" persist="state hidden"><grippy/></splitter>
115
116
117 <groupbox flex="1" orient="horizontal">
118         <caption label="Template Configuration"/>
119
120         <hbox flex="1">
121                 <vbox flex="1">
122                         <hbox>
123                         <vbox>
124                                 <label control="template-name" value="Name:" style="height:2em"/>
125                                 <label control="template-description" value="Description:"/>
126                         </vbox>
127                         <vbox flex="1">
128                                 <textbox id="template-name" flex="1"/>
129                                 <textbox id="template-description" multiline="true" flex="1" style="max-height:3em"/>
130                         </vbox>
131                         <vbox pack="end">
132                                 <button onclick="save_template();" label="Save"/>
133                         </vbox>
134                         </hbox>
135
136                         <hbox flex="1">
137                                 <tabbox flex="2" id="used-source-fields-tabbox">
138                                         <tabs>
139                                                 <tab
140                                                         id="dis_tab"
141                                                         label="Displayed Fields"
142                                                         onclick="transformSelectHandler(true);"
143                                                 />
144                                                 <tab
145                                                         id="filter_tab"
146                                                         label="Base Filters"
147                                                         onclick="transformSelectHandler(true);"
148                                                 />
149                                                 <tab
150                                                         id="aggfilter_tab"
151                                                         label="Aggregate Filters"
152                                                         disabled="true"
153                                                         onclick="transformSelectHandler(true);"
154                                                 />
155                                                 <!--
156                                                 <tab
157                                                         id="order_tab"
158                                                         label="Field Order"
159                                                         onclick="transformSelectHandler(true);"
160                                                 />
161                                                 -->
162                                         </tabs>
163
164                                         <tabpanels flex="1">
165                                                 <tabpanel id="dis_tabpanel" orient="vertical">
166                                                         <vbox flex="1">
167                                                                 <hbox flex="1">
168                                                                         <tree
169                                                                                 id="dis-col-view"
170                                                                                 flex="1"
171                                                                                 seltype="single"
172                                                                                 ondblclick="alterColumnLabel()"
173                                                                                 onselect="populateTransformContext()"
174                                                                                 enableColumnDrag="true"
175                                                                         >
176                                                                                 <treecols>
177                                                                                         <treecol label="Display Name" flex="3"/>
178                                                                                         <treecol label="Field Name" hidden="true" flex="1"/>
179                                                                                         <treecol label="Data Type" flex="1"/>
180                                                                                         <treecol label="Field Transform" flex="1"/>
181                                                                                         <treecol label="Field Transform Type" hidden="true" flex="1"/>
182                                                                                 </treecols>
183                                                                                 <treechildren id="dis-col-treetop" alternatingbackground="true" />
184                                                                         </tree>
185                                                                 </hbox>
186                                                                 <hbox pack="center">
187                                                                         <button label="Alter Display Header" oncommand="alterColumnLabel()"/>
188                                                                         <menulist label="Change Transform" popup='dis_tab_trans_menu'/>
189                                                                         <spacer flex="1"/>
190                                                                         <button label="Move Up" oncommand="changeDisplayOrder('u')"/>
191                                                                         <button label="Move Down" oncommand="changeDisplayOrder('d')"/>
192                                                                         <spacer flex="1"/>
193                                                                         <button label="Remove Selected Field" oncommand="removeReportAtom()"/>
194                                                                 </hbox>
195                                                         </vbox>
196                                                 </tabpanel>
197
198                                                 <tabpanel id="filter_tabpanel" orient="vertical">
199                                                         <vbox flex="1">
200                                                                 <hbox flex="1">
201                                                                         <tree
202                                                                                 id="filter-col-view"
203                                                                                 flex="1"
204                                                                                 seltype="single"
205                                                                                 onselect="populateTransformContext();populateOperatorContext();changeTemplateFilterValue();"
206                                                                                 enableColumnDrag="true"
207                                                                         >
208                                                                                 <treecols>
209                                                                                         <treecol label="Filter Field" flex="2"/>
210                                                                                         <treecol label="Field Name" hidden="true" flex="1"/>
211                                                                                         <treecol label="Data Type" hidden="true" flex="1"/>
212                                                                                         <treecol label="Field Transform" flex="1"/>
213                                                                                         <treecol label="Field Transform Type" hidden="true" flex="1"/>
214                                                                                         <treecol label="Operator" flex="1"/>
215                                                                                         <treecol label="Value" flex="1"/>
216                                                                                 </treecols>
217                                                                                 <treechildren id="filter-col-treetop" alternatingbackground="true" />
218                                                                         </tree>
219                                                                 </hbox>
220                                                                 <hbox pack="center">
221                                                                         <menulist label="Change Transform" popup='filter_tab_trans_menu'/>
222                                                                         <menulist label="Change Operator" popup='filter_tab_op_menu'/>
223                                                                         <button label="Change value" command="filter_tab_value_action"/>
224                                                                         <button label="Remove value" oncommand="removeTemplateFilterValue()"/>
225                                                                         <spacer flex="1"/>
226                                                                         <button label="Remove Selected Fields" oncommand="removeReportAtom()"/>
227                                                                 </hbox>
228                                                         </vbox>
229                                                 </tabpanel>
230
231                                                 <tabpanel id="aggfilter_tabpanel" orient="vertical">
232                                                         <vbox flex="1">
233                                                                 <hbox flex="1">
234                                                                         <tree
235                                                                                 id="aggfilter-col-view"
236                                                                                 flex="1"
237                                                                                 seltype="single"
238                                                                                 onselect="populateTransformContext();populateOperatorContext();changeTemplateFilterValue();"
239                                                                                 enableColumnDrag="true"
240                                                                         >
241                                                                                 <treecols>
242                                                                                         <treecol label="Filter Field" flex="2"/>
243                                                                                         <treecol label="Field Name" hidden="true" flex="1"/>
244                                                                                         <treecol label="Data Type" hidden="true" flex="1"/>
245                                                                                         <treecol label="Field Transform" flex="1"/>
246                                                                                         <treecol label="Field Transform Type" hidden="true" flex="1"/>
247                                                                                         <treecol label="Operator" flex="1"/>
248                                                                                         <treecol label="Value" flex="1"/>
249                                                                                 </treecols>
250                                                                                 <treechildren id="aggfilter-col-treetop" alternatingbackground="true" />
251                                                                         </tree>
252                                                                 </hbox>
253                                                                 <hbox pack="center">
254                                                                         <menulist label="Change Transform" popup='aggfilter_tab_trans_menu'/>
255                                                                         <menulist label="Change Operator" popup='aggfilter_tab_op_menu'/>
256                                                                         <button label="Change value" command="aggfilter_tab_value_action"/>
257                                                                         <button label="Remove value" oncommand="removeTemplateFilterValue()"/>
258                                                                         <spacer flex="1"/>
259                                                                         <button label="Remove Selected Fields" oncommand="removeReportAtom()"/>
260                                                                 </hbox>
261                                                         </vbox>
262                                                 </tabpanel>
263                                         </tabpanels>
264                                 </tabbox>
265                         </hbox>
266                 </vbox>
267         </hbox>
268
269         <splitter id="rtp-build-splitter" collapse="after" persist="state hidden"><grippy/></splitter>
270
271         <hbox flex="3">
272                 <tree
273                         id="used-sources"
274                         flex="1"
275                         onclick="renderSources(true)"
276                         ondblclick="changeTemplateFilterValue()"
277                         enableColumnDrag="true"
278                 >
279                         <treecols>
280                                 <treecol label="Source Specifier" flex="2"/>
281                                 <treecol label="Table Name" flex="1" hidden="true"/>
282                                 <treecol label="SQL Alias" flex="1" hidden="true"/>
283                                 <treecol label="Relationship" flex="1" hidden="true"/>
284                         </treecols>
285                         <treechildren id="used-sources-treetop" alternatingbackground="true" />
286                 </tree>
287         </hbox>
288
289 </groupbox>
290
291 <commandset>
292         <command id='filter_tab_value_action'/>
293         <command id='aggfilter_tab_value_action'/>
294 </commandset>
295
296 <popupset>
297         <popup id="source-menu" position="after_start"/>
298         <popup id="dis_tab_trans_menu" position="before_start"/>
299         <popup id="filter_tab_op_menu" position="before_start"/>
300         <popup id="filter_tab_trans_menu" position="before_start"/>
301         <popup id="aggfilter_tab_op_menu" position="before_start"/>
302         <popup id="aggfilter_tab_trans_menu" position="before_start"/>
303         <popup
304                 id="calendar-widget"
305                 position="before_start"
306         />
307 </popupset>
308
309 </window>
310