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