# ----------------------------------------------------------------------------------
# Reports GUI
# ----------------------------------------------------------------------------------
-<LocationMatch /reports/>
+<LocationMatch /reports>
Options +Includes
SetEnvIfNoCase Accept-Language "en" locale=en-US
SetEnvIfNoCase Accept-Language "fr-CA" locale=fr-CA
SetEnvIfNoCase Accept-Language "hy-AM" locale=hy-AM
- AddOutputFilter INCLUDES .xhtml
+ AddOutputFilter INCLUDES;XMLENT .xhtml
</LocationMatch>
<LocationMatch /reports/fm_IDL.xml>
Options +Includes
- XMLEntStripDoctype "no"
+ XMLEntStripDoctype "yes"
XMLEntStripComments "no"
XMLEntContentType "text/xml; charset=utf-8"
AddOutputFilter INCLUDES;XMLENT .xml
--- /dev/null
+{
+ "RPT_BUILDER_CONFIRM_SAVE": "Name : ${0}\nDescription: ${1}\nSave Template?",
+
+ "FILTERS_LABEL_EQUALS":"Equals",
+ "FILTERS_LABEL_LIKE": "Contains Matching substring",
+ "FILTERS_LABEL_ILIKE": "Contains Matching substring (ignore case)",
+ "FILTERS_LABEL_GREATER_THAN": "Greater than",
+ "FILTERS_LABEL_GT_TIME": "After (Date/Time)",
+ "FILTERS_LABEL_GT_EQUAL": "Greater than or equal to",
+ "FILTERS_LABEL_GTE_TIME": "On or After (Date/Time)",
+ "FILTERS_LABEL_LESS_THAN": "Less than",
+ "FILTERS_LABEL_LT_TIME": "Before (Date/Time)",
+ "FILTERS_LABEL_LT_EQUAL": "Less than or equal to",
+ "FILTERS_LABEL_LSE_TIME": "On or Before (Date/Time)",
+ "FILTERS_LABEL_IN": "In list",
+ "FILTERS_LABEL_NOT_IN": "Not in list",
+ "FILTERS_LABEL_BETWEEN": "Between",
+ "FILTERS_LABEL_NOT_BETWEEN": "Not between",
+ "FILTERS_LABEL_NULL": "Is NULL",
+ "FILTERS_LABEL_NOT_NULL": "Is not NULL",
+ "FILTERS_LABEL_NULL_BLANK": "Is NULL or Blank",
+ "FILTERS_LABEL_NOT_NULL_BLANK": "Is not NULL or Blank",
+
+ "FOLDERS_TEMPLATES": "Templates",
+ "FOLDERS_TEMPLATE": "Template",
+ "FOLDERS_REPORTS": "Reports",
+ "FOLDERS_REPORT": "Report",
+ "FOLDERS_OUTPUT": "Output",
+
+ "FOLDER_WINDOW_SELECT_ITEM": "Please select an item from the list",
+ "FOLDER_WINDOW_CHANGE_FOLDERS": "Change Folders",
+ "FOLDER_WINDOW_REPORT_OUTPUT": "Report Output: ${0}",
+ "FOLDER_WINDOW_COLNAME_SELECT": "Select",
+ "FOLDER_WINDOW_COLNAME_ALL": "All",
+ "FOLDER_WINDOW_COLNAME_NONE": "None",
+
+ "REPORT_EDITOR_REPORT_FOLDERS": "Report Folders",
+ "REPORT_EDITOR_OUTPUT_FOLDERS": "Output Folders",
+ "REPORT_EDITOR_PROVIDE_FOLDER_ALERT": "Please provide a report folder",
+ "REPORT_EDITOR_ENTER_NAME_ALERT": "Please enter a report name",
+ "REPORT_EDITOR_INVALID_DATE_ALERT": "invalid start date - YYYY-MM-DD",
+ "REPORT_EDITOR_PROVIDE_OUTPUT_ALERT": "Please provide an output folder",
+
+ "TFORMS_LABEL_RAW_DATA": "Raw Data",
+ "TFORMS_LABEL_FIRST": "First Value",
+ "TFORMS_LABEL_LAST": "Last Value",
+ "TFORMS_LABEL_COUNT": "Count",
+ "TFORMS_LABEL_COUNT_DISTINCT": "Count Distinct",
+ "TFORMS_LABEL_MIN": "Min",
+ "TFORMS_LABEL_MAX": "Max",
+ "TFORMS_LABEL_LOWER": "Lower case",
+ "TFORMS_LABEL_UPPER": "Upper case",
+ "TFORMS_LABEL_FIRST5": "First 5 characters (for US ZIP code)",
+ "TFORMS_LABEL_FIRST_WORD": "First contiguous non-space string",
+ "TFORMS_LABEL_DOW": "Day of Week",
+ "TFORMS_LABEL_DOM": "Day of Month",
+ "TFORMS_LABEL_DOY": "Day of Year",
+ "TFORMS_LABEL_WOY": "Week of Year",
+ "TFORMS_LABEL_MOY": "Month of Year",
+ "TFORMS_LABEL_QOY": "Quarter of Year",
+ "TFORMS_LABEL_HOD": "Hour of day",
+ "TFORMS_LABEL_DATE": "Date",
+ "TFORMS_LABEL_MONTH_TRUNC": "Year + Month",
+ "TFORMS_LABEL_YEAR_TRUNC": "Year",
+ "TFORMS_LABEL_HOUR_TRUNC": "Hour",
+ "TFORMS_LABEL_DAY_NAME": "Day Name",
+ "TFORMS_LABEL_MONTH_NAME": "Month Name'",
+ "TFORMS_LABEL_AGE": "Age",
+ "TFORMS_LABEL_MONTHS_AGO": "Months ago",
+ "TFORMS_LABEL_QUARTERS_AGO": "Quarters ago",
+ "TFORMS_LABEL_SUM": "Sum",
+ "TFORMS_LABEL_AVERAGE": "Average",
+ "TFORMS_LABEL_ROUND": "Round",
+ "TFORMS_LABEL_INT": "Drop trailing decimals",
+
+ "WIDGET_DAYS": "Day(s)",
+ "WIDGET_MONTHS": "Month(s)",
+ "WIDGET_YEARS": "Year(s)",
+ "WIDGET_QUARTERS": "Quarter(s)",
+ "WIDGET_REAL_DATE": "Real Date",
+ "WIDGET_RELATIVE_DATE": "Relative Date"
+}
<head>
<title>Evergreen: Reports</title>
<!--#include virtual="oils_rpt_common.xhtml"-->
+ <script type="text/javascript">
+ <![CDATA[
+ var rptInit = function() {
+ if (oilsInitReports()) {
+ oilsRtpInitFolders();
+ }
+ }
+ dojo.addOnLoad(rptInit);
+ dojo.addOnUnload(oilsCleanupReports);
+ ]]>
+ </script>
</head>
- <body onload='if(oilsInitReports())oilsRtpInitFolders();' onunload='oilsCleanupReports();'>
+ <body>
<div class='welcome_box'>
<span>You are logged in as </span><b><span id='oils_rpt_user'/></b>
</div>
/** initializes reports, some basid display settings,
* grabs and builds the IDL tree
*/
+dojo.requireLocalization("openils.reports", "reports");
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
var __dblclicks = {}; /* retain a cache of the selector value doubleclick event handlers */
function oilsInitReportBuilder() {
tmpl.folder(new CGI().param('folder'));
tmpl.data(js2JSON(oilsRpt.def));
- if(!confirm('Name : '+tmpl.name() + '\nDescription: ' + tmpl.description()+'\nSave Template?'))
+ if(!confirm(dojo.string.substitute( rpt_strings.RPT_BUILDER_CONFIRM_SAVE, [tmpl.name(), tmpl.description()] )) )
return;
debugFMObject(tmpl);
<head>
<title>Evergreen: Report Builder</title>
<!--#include virtual="oils_rpt_common.xhtml"-->
+ <script type="text/javascript">
+ <![CDATA[
+ dojo.addOnLoad(oilsInitReportBuilder);
+ dojo.addOnUnload(oilsCleanupReports);
+ ]]>
+ </script>
+
</head>
- <body onload='oilsInitReportBuilder();' onunload='oilsCleanupReports();'>
+ <body>
<div class='welcome_box'>
<span>You are logged in as </span><b><span id='oils_rpt_user'/></b>
-<script language='javascript' src='/opac/common/js/utils.js'> </script>
-<script language='javascript' src='/opac/common/js//config.js'> </script>
-<script language='javascript' src='/opac/common/js/CGI.js'> </script>
-<script language='javascript' src='/opac/common/js/Cookie.js'> </script>
-<script language='javascript' src='/opac/common/js/JSON_v1.js'> </script>
-<script language='javascript' src='/opac/common/js/fmall.js'> </script>
-<script language='javascript' src='/opac/common/js/fmgen.js'> </script>
-<script language='javascript' src='/opac/common/js/Cookies.js'> </script>
-<script language='javascript' src='/opac/common/js/opac_utils.js'> </script>
-<script language='javascript' src='/opac/common/js/OrgTree.js'> </script>
-<script language='javascript' src='/opac/common/js/org_utils.js'> </script>
-<script language='javascript' src='/opac/common/js/init.js'> </script>
-<script language='javascript' src='/opac/common/js/RemoteRequest.js'> </script>
-<script language='javascript' src='/opac/common/js/slimtree.js'> </script>
-<script language='javascript' src='/opac/common/js/sorttable.js'> </script>
-<script language='javascript' src='/opac/common/js/fm_table.js'> </script>
-<script language='javascript' src='/opac/common/js/fm_table_conf.js'> </script>
-<script language='javascript' src='/opac/common/js/md5.js'> </script>
-<script>
+<!-- Load dojo -->
+<style type="text/css">
+ @import url('/js/dojo/dojo/resources/dojo.css');
+ @import url('/js/dojo/dijit/themes/tundra/tundra.css');
+ @import url('/js/dojo/dojox/widget/Toaster/Toaster.css');
+</style>
+<script type="text/javascript">
+ var djConfig= {
+ isDebug: false,
+ parseOnLoad: true
+ }
+</script>
+<script type="text/javascript" src="/js/dojo/dojo/dojo.js"></script>
+<script type="text/javascript">
+ dojo.require('dojo.parser');
+
+ function status_update (markup) {
+ dojo.byId('status_text').innerHTML = markup;
+ }
+</script>
+
+<script type='text/javascript' src='/opac/common/js/utils.js'> </script>
+<script type='text/javascript' src='/opac/common/js//config.js'> </script>
+<script type='text/javascript' src='/opac/common/js/CGI.js'> </script>
+<script type='text/javascript' src='/opac/common/js/Cookie.js'> </script>
+<script type='text/javascript' src='/opac/common/js/JSON_v1.js'> </script>
+<script type='text/javascript' src='/opac/common/js/fmall.js'> </script>
+<script type='text/javascript' src='/opac/common/js/fmgen.js'> </script>
+<script type='text/javascript' src='/opac/common/js/Cookies.js'> </script>
+<script type='text/javascript' src='/opac/common/js/opac_utils.js'> </script>
+<script type='text/javascript' src='/opac/common/js/OrgTree.js'> </script>
+<script type='text/javascript' src='/opac/common/js/org_utils.js'> </script>
+<script type='text/javascript' src='/opac/common/js/init.js'> </script>
+<script type='text/javascript' src='/opac/common/js/RemoteRequest.js'> </script>
+<script type='text/javascript' src='/opac/common/js/slimtree.js'> </script>
+<script type='text/javascript' src='/opac/common/js/sorttable.js'> </script>
+<script type='text/javascript' src='/opac/common/js/fm_table.js'> </script>
+<script type='text/javascript' src='/opac/common/js/fm_table_conf.js'> </script>
+<script type='text/javascript' src='/opac/common/js/md5.js'> </script>
+<script type="text/javascript">
stpicopen = '../opac/images/slimtree/folder2.gif';
stpicclose = '../opac/images/slimtree/folderopen2.gif';
stpicblank = '../opac/images/slimtree/page.gif';
<link type='text/css' rel='stylesheet' href="/opac/common/css/fm_table.css"/>
<link rel="stylesheet" type="text/css" href="oils_rpt.css"> </link>
-<script>function _l(l) { location.href = l + location.search; }</script>
+<script type="text/javascript">function _l(l) { location.href = l + location.search; }</script>
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
+
var OILS_RPT_FILTERS = {
'=' : {
- label : 'Equals',
+ label : rpt_strings.FILTERS_LABEL_EQUALS
},
'like' : {
- label : 'Contains Matching substring',
+ label : rpt_strings.FILTERS_LABEL_LIKE
},
ilike : {
- label : 'Contains Matching substring (ignore case)',
+ label : rpt_strings.FILTERS_LABEL_ILIKE
},
'>' : {
- label : 'Greater than',
- labels : { timestamp : 'After (Date/Time)' }
+ label : rpt_strings.FILTERS_LABEL_GREATER_THAN,
+ labels : { timestamp : rpt_strings.FILTERS_LABEL_GT_TIME }
},
'>=' : {
- label : 'Greater than or equal to',
- labels : { timestamp : 'On or After (Date/Time)' }
+ label : rpt_strings.FILTERS_LABEL_GT_EQUAL,
+ labels : { timestamp : rpt_strings.FILTERS_LABEL_GTE_TIME }
},
'<' : {
- label : 'Less than',
- labels : { timestamp : 'Before (Date/Time)' }
+ label : rpt_strings.FILTERS_LABEL_LESS_THAN,
+ labels : { timestamp : rpt_strings.FILTERS_LABEL_LT_TIME }
},
'<=' : {
- label : 'Less than or equal to',
- labels : { timestamp : 'On or Before (Date/Time)' }
+ label : rpt_strings.FILTERS_LABEL_LT_EQUAL,
+ labels : { timestamp : rpt_strings.FILTERS_LABEL_LSE_TIME }
},
'in' : {
- label : 'In list',
+ label : rpt_strings.FILTERS_LABEL_IN
},
'not in' : {
- label : 'Not in list',
+ label : rpt_strings.FILTERS_LABEL_NOT_IN
},
'between' : {
- label : 'Between',
+ label : rpt_strings.FILTERS_LABEL_BETWEEN
},
'not between' : {
- label : 'Not between',
+ label : rpt_strings.FILTERS_LABEL_NOT_BETWEEN
},
'is' : {
- label : 'Is NULL'
+ label : rpt_strings.FILTERS_LABEL_NULL
},
'is not' : {
- label : 'Is not NULL'
+ label : rpt_strings.FILTERS_LABEL_NOT_NULL
},
'is blank' : {
- label : 'Is NULL or Blank'
+ label : rpt_strings.FILTERS_LABEL_NULL_BLANK
},
'is not blank' : {
- label : 'Is not NULL or Blank'
+ label : rpt_strings.FILTERS_LABEL_NOT_NULL_BLANK
}
}
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
var OILS_TEMPLATE_INTERFACE = 'xul/template_builder.xul';
var OILS_LEGACY_TEMPLATE_INTERFACE = 'oils_rpt_builder.xhtml';
objs = objs.concat( this.fmTable2.getSelected() );
if( objs.length == 0 )
- return alert('Please select an item from the list');
+ return alert(rpt_strings.FOLDER_WINDOW_SELECT_ITEM);
var action = getSelectorVal(DOM.oils_rpt_folder_contents_action_selector);
var obj = this;
type,
DOM.oils_rpt_move_folder_picker,
'tree9807897',
- 'Change Folders',
+ rpt_strings.FOLDER_WINDOW_CHANGE_FOLDERS,
function(node) {
appendClear(DOM.oils_rpt_move_folder_selected, node.folder.name());
selectedFolder = node.folder.id();
_debug("launching report output view at URL: " + url);
if(isXUL())
xulG.new_tab('/xul/server/util/rbrowser.xul?url=' + url, /* this comes from urls.XUL_REMOTE_BROWSER */
- {tab_name:'Report Output: ' + r.name(), browser:true},
+ {tab_name: dojo.string.substitute( rpt_strings.FOLDER_WINDOW_REPORT_OUTPUT, [r.name] ), browser:true},
{no_xulG:false, show_nav_buttons:true, show_print_button:true});
else {
//goTo(url);
dest : obj.selector,
obj : res,
selectCol : true,
- selectColName : 'Select',
- selectAllName : 'All',
- selectNoneName : 'None'
+ selectColName : rpt_strings.FOLDER_WINDOW_COLNAME_SELECT,
+ selectAllName : rpt_strings.FOLDER_WINDOW_COLNAME_ALL,
+ selectNoneName : rpt_strings.FOLDER_WINDOW_COLNAME_NONE
}
);
}
dest : selector,
obj : [sched],
selectCol : true,
- selectColName : 'Select',
- selectAllName : 'All',
- selectNoneName : 'None'
+ selectColName : rpt_strings.FOLDER_WINDOW_COLNAME_SELECT,
+ selectAllName : rpt_strings.FOLDER_WINDOW_COLNAME_ALL,
+ selectNoneName : rpt_strings.FOLDER_WINDOW_COLNAME_NONE
}
);
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
+
var oilsRptFolderNodeCache = {};
oilsRptFolderNodeCache.template = {};
oilsRptFolderNodeCache.report = {};
'oilsRptTemplateFolderTree');
//'images/template-page.gif');
- oilsRptTemplateFolderTree.addNode(this.tId, -1, 'Templates',
+ oilsRptTemplateFolderTree.addNode(this.tId, -1, rpt_strings.FOLDERS_TEMPLATES,
function() {
unHideMe(DOM.oils_rpt_folder_table_alt_td);
unHideMe(DOM.oils_rpt_top_folder);
hideMe(DOM.oils_rpt_editor_div);
- appendClear(DOM.oils_rpt_top_folder_type,text('Template'));
+ appendClear(DOM.oils_rpt_top_folder_type,text(rpt_strings.FOLDERS_TEMPLATE));
hideMe(DOM.oils_rpt_folder_table_right_td);
DOM.oils_rpt_top_folder_create.onclick = function() {
obj.createTopFolder('template', orgsel);
//'images/report-page.gif');
- oilsRptReportFolderTree.addNode(this.rId, -1, 'Reports',
+ oilsRptReportFolderTree.addNode(this.rId, -1, rpt_strings.FOLDERS_REPORTS,
function() {
unHideMe(DOM.oils_rpt_folder_table_alt_td);
unHideMe(DOM.oils_rpt_top_folder);
hideMe(DOM.oils_rpt_editor_div);
hideMe(DOM.oils_rpt_folder_table_right_td);
- appendClear(DOM.oils_rpt_top_folder_type,text('Report'));
+ appendClear(DOM.oils_rpt_top_folder_type,text(rpt_strings.FOLDERS_REPORT));
DOM.oils_rpt_top_folder_create.onclick = function() {
obj.createTopFolder('report', orgsel);
}
'oilsRptOutputFolderTree');
//'images/output-page.gif');
- oilsRptOutputFolderTree.addNode(this.oId, -1, 'Output',
+ oilsRptOutputFolderTree.addNode(this.oId, -1, rpt_strings.FOLDERS_OUTPUT,
function() {
unHideMe(DOM.oils_rpt_folder_table_alt_td);
unHideMe(DOM.oils_rpt_top_folder);
hideMe(DOM.oils_rpt_editor_div);
hideMe(DOM.oils_rpt_folder_table_right_td);
- appendClear(DOM.oils_rpt_top_folder_type,text('Output'));
+ appendClear(DOM.oils_rpt_top_folder_type,text(rpt_strings.FOLDERS_OUTPUT));
DOM.oils_rpt_top_folder_create.onclick = function() {
obj.createTopFolder('output', orgsel);
}
'oilsRptSharedTemplateFolderTree');
//'images/template-page.gif');
- oilsRptSharedTemplateFolderTree.addNode(this.stId, -1, 'Templates')
+ oilsRptSharedTemplateFolderTree.addNode(this.stId, -1, rpt_strings.FOLDERS_TEMPLATES)
oilsRptSharedReportFolderTree =
'oilsRptSharedReportFolderTree');
//'images/report-page.gif');
- oilsRptSharedReportFolderTree.addNode(this.srId, -1, 'Reports')
+ oilsRptSharedReportFolderTree.addNode(this.srId, -1, rpt_strings.FOLDERS_REPORTS)
oilsRptSharedOutputFolderTree =
new SlimTree(
'oilsRptSharedOutputFolderTree');
//'images/output-page.gif');
- oilsRptSharedOutputFolderTree.addNode(this.soId, -1, 'Output')
+ oilsRptSharedOutputFolderTree.addNode(this.soId, -1, rpt_strings.FOLDERS_OUTPUT)
this.fetchFolders(auth);
}
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
+
oilsRptSetSubClass('oilsRptReportEditor', 'oilsRptObject');
var oilsRptReportEditorFolderTree;
'report',
DOM.oils_rpt_report_editor_dest_folder,
'oilsRptReportEditorFolderTree',
- 'Report Folders',
+ rpt_strings.REPORT_EDITOR_REPORT_FOLDERS,
function(node) {
appendClear(DOM.oils_rpt_report_editor_selected_folder, node.folder.name());
obj.selectedFolder = node; });
'output',
DOM.oils_rpt_output_dest_folder,
'oilsRptReportEditorOutputTree',
- 'Output Folders',
+ rpt_strings.REPORT_EDITOR_OUTPUT_FOLDERS,
function(node) {
appendClear(DOM.oils_rpt_output_selected_folder, node.folder.name());
obj.selectedOutputFolder = node; });
var report = new rr();
if(!this.selectedFolder)
- return alert('Please provide a report folder');
+ return alert(rpt_strings.REPORT_EDITOR_PROVIDE_FOLDER_ALERT);
if(!DOM.oils_rpt_report_editor_name.value)
- return alert('Please enter a report name');
+ return alert(rpt_strings.REPORT_EDITOR_ENTER_NAME_ALERT);
report.owner( USER.id() );
report.template( this.template.id() );
var dt = DOM.oils_rpt_param_editor_sched_start_date.value;
if(!dt || !dt.match(/^\d{4}-\d{2}-\d{2}$/) ) {
/* for now.. make this better in the future */
- alert('invalid start date - YYYY-MM-DD');
+ alert(rpt_strings.REPORT_EDITOR_INVALID_DATE_ALERT);
return;
}
var hour = getSelectorVal(DOM.oils_rpt_param_editor_sched_start_hour);
}
if(!this.selectedOutputFolder)
- return alert('Please provide an output folder');
+ return alert(rpt_strings.REPORT_EDITOR_PROVIDE_OUTPUT_ALERT);
var schedule = new rs();
schedule.folder(this.selectedOutputFolder.folder.id());
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
+
var OILS_RPT_TRANSFORMS = {
Bare : {
- label : 'Raw Data'
+ label : rpt_strings.TFORMS_LABEL_RAW_DATA
},
first : {
- label : 'First Value'
+ label : rpt_strings.TFORMS_LABEL_FIRST
},
last : {
- label : 'Last Value'
+ label : rpt_strings.TFORMS_LABEL_LAST
},
count : {
aggregate : true,
- label : 'Count'
+ label : rpt_strings.TFORMS_LABEL_COUNT
},
count_distinct : {
aggregate : true,
- label : 'Count Distinct'
+ label : rpt_strings.TFORMS_LABEL_COUNT_DISTINCT
},
min : {
aggregate : true,
- label : 'Min'
+ label : rpt_strings.TFORMS_LABEL_MIN
},
max : {
aggregate : true,
- label : 'Max'
+ label : rpt_strings.TFORMS_LABEL_MAX
},
/* string transforms ------------------------- */
lower : {
datatype : [OILS_RPT_DTYPE_STRING, 'text'],
- label : 'Lower case'
+ label : rpt_strings.TFORMS_LABEL_LOWER
},
upper : {
datatype : [OILS_RPT_DTYPE_STRING, 'text'],
- label : 'Upper case'
+ label : rpt_strings.TFORMS_LABEL_UPPER
},
first5 : {
datatype : [OILS_RPT_DTYPE_STRING, 'text'],
- label : 'First 5 characters (for US ZIP code)'
+ label : rpt_strings.TFORMS_LABEL_FIRST5
},
first_word : {
datatype : [OILS_RPT_DTYPE_STRING, 'text'],
- label : 'First contiguous non-space string'
+ label : rpt_strings.TFORMS_LABEL_FIRST_WORD
},
/* timestamp transforms ----------------------- */
dow : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Day of Week',
+ label : rpt_strings.TFORMS_LABEL_DOW,
regex : /^[0-6]$/
},
dom : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Day of Month',
+ label : rpt_strings.TFORMS_LABEL_DOM,
regex : /^[0-9]{1,2}$/
},
doy : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Day of Year',
+ label : rpt_strings.TFORMS_LABEL_DOY,
regex : /^[0-9]{1,3}$/
},
woy : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Week of Year',
+ label : rpt_strings.TFORMS_LABEL_WOY,
regex : /^[0-9]{1,2}$/
},
moy : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Month of Year',
+ label : rpt_strings.TFORMS_LABEL_MOY,
regex : /^\d{1,2}$/
},
qoy : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Quarter of Year',
+ label : rpt_strings.TFORMS_LABEL_QOY,
regex : /^[1234]$/
},
hod : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Hour of day',
+ label : rpt_strings.TFORMS_LABEL_HOD,
regex : /^\d{1,2}$/
},
date : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Date',
+ label : rpt_strings.TFORMS_LABEL_DATE,
regex : /^\d{4}-\d{2}-\d{2}$/,
hint : 'YYYY-MM-DD',
cal_format : '%Y-%m-%d',
month_trunc : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Year + Month',
+ label : rpt_strings.TFORMS_LABEL_MONTH_TRUNC,
regex : /^\d{4}-\d{2}$/,
hint : 'YYYY-MM',
cal_format : '%Y-%m',
year_trunc : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Year',
+ label : rpt_strings.TFORMS_LABEL_YEAR_TRUNC,
regex : /^\d{4}$/,
hint : 'YYYY',
cal_format : '%Y',
hour_trunc : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Hour',
+ label : rpt_strings.TFORMS_LABEL_HOUR_TRUNC,
regex : /^\d{2}$/,
hint : 'HH',
cal_format : '%H',
day_name : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Day Name'
+ label : rpt_strings.TFORMS_LABEL_DAY_NAME
},
month_name : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Month Name'
+ label : rpt_strings.TFORMS_LABEL_MONTH_NAME
},
age : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Age'
+ label : rpt_strings.TFORMS_LABEL_AGE
},
months_ago : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Months ago'
+ label : rpt_strings.TFORMS_LABEL_MONTHS_AGO
},
quarters_ago : {
datatype : OILS_RPT_DTYPE_TIMESTAMP,
- label : 'Quarters ago'
+ label : rpt_strings.TFORMS_LABEL_QUARTERS_AGO
},
/* int / float transforms ----------------------------------- */
sum : {
datatype : [ OILS_RPT_DTYPE_INT, OILS_RPT_DTYPE_FLOAT ],
- label : 'Sum',
+ label : rpt_strings.TFORMS_LABEL_SUM,
aggregate : true
},
average : {
datatype : [ OILS_RPT_DTYPE_INT, OILS_RPT_DTYPE_FLOAT ],
- label : 'Average',
+ label : rpt_strings.TFORMS_LABEL_AVERAGE,
aggregate : true
},
round : {
datatype : [ OILS_RPT_DTYPE_INT, OILS_RPT_DTYPE_FLOAT ],
- label : 'Round',
+ label : rpt_strings.TFORMS_LABEL_ROUND,
},
'int' : {
datatype : OILS_RPT_DTYPE_FLOAT,
- label : 'Drop trailing decimals'
+ label : rpt_strings.TFORMS_LABEL_INT
}
}
insertSelectorVal(this.count, -1, i, i);
//insertSelectorVal(this.type, -1, ' -- Select One -- ', '');
- insertSelectorVal(this.type, -1, 'Day(s)', 'days');
- insertSelectorVal(this.type, -1, 'Month(s)', 'months');
- insertSelectorVal(this.type, -1, 'Year(s)', 'years');
+ insertSelectorVal(this.type, -1, rpt_strings.WIDGET_DAYS, 'days');
+ insertSelectorVal(this.type, -1, rpt_strings.WIDGET_MONTHS, 'months');
+ insertSelectorVal(this.type, -1, rpt_strings.WIDGET_YEARS, 'years');
this.node.appendChild(this.count);
this.node.appendChild(this.type);
}
args.node = this.node;
this.selector = elem('select');
- insertSelectorVal(this.selector,-1,'Real Date',1);
- insertSelectorVal(this.selector,-1,'Relative Date',2);
+ insertSelectorVal(this.selector,-1,rpt_strings.WIDGET_REAL_DATE,1);
+ insertSelectorVal(this.selector,-1,rpt_strings.WIDGET_RELATIVE_DATE,2);
this.numberPicker =
new oilsRptNumberWidget({node:this.relSpan,size:90,start:1});
this.label = 'Day(s)';
- if(this.type == 'month') this.label = 'Month(s)';
- if(this.type == 'quarter') this.label = 'Quarter(s)';
- if(this.type == 'year') this.label = 'Year(s)';
- if(this.type == 'date') this.label = 'Day(s)';
+ if(this.type == 'month') this.label = rpt_strings.WIDGET_MONTHS;
+ if(this.type == 'quarter') this.label = rpt_strings.WIDGET_QUARTERS;
+ if(this.type == 'year') this.label = rpt_strings.WIDGET_YEARS;
+ if(this.type == 'date') this.label = rpt_strings.WIDGET_DAYS;
}
oilsRptTruncPicker.prototype.draw = function() {
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="reporter.css" type="text/css"?>
<?xml-stylesheet href="/opac/common/js/jscalendar/calendar-brown.css" type="text/css" ?>
+<?xml-stylesheet href='/js/dojo/dojo/resources/dojo.css' type='text/css'?>
-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xhtml="http://www.w3.org/1999/xhtml" onload="loadIDL()">
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xhtml="http://www.w3.org/1999/xhtml">
+
+<!-- Load dojo -->
+<script type="text/javascript">
+<![CDATA[
+ var djConfig= {
+ isDebug: false,
+ parseOnLoad: true
+ }
+]]>
+</script>
+<script type="text/javascript" src="/js/dojo/dojo/dojo.js"></script>
+<script type="text/javascript">
+<![CDATA[
+ dojo.require('dojo.parser');
+]]>
+</script>
<script src='/opac/common/js/utils.js' type="application/x-javascript; e4x=1"/>
<script src='/opac/common/js/config.js' type="application/x-javascript; e4x=1"/>
<script src="transforms.js" type="application/x-javascript; e4x=1"/>
<script src="operators.js" type="application/x-javascript; e4x=1"/>
+<script type="text/javascript">
+<![CDATA[
+ dojo.addOnLoad(loadIDL);
+]]>
+</script>
+
<script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/calendar.js"/>
<script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/lang/calendar-en.js"/>
<script type="application/x-javascript; e4x=1" src="/opac/common/js/jscalendar/calendar-setup.js"/>