From 4ececb710018460de0cb9ac3e8fea163cffdb2f2 Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 5 Oct 2006 03:37:01 +0000 Subject: [PATCH] added order_by clause creation, did some basic testing now i need to add order_by pruning when deleting display items git-svn-id: svn://svn.open-ils.org/ILS/trunk@6393 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/reports/oils_rpt_builder.js | 45 ++++++++++++++++++++++-- Open-ILS/web/reports/oils_rpt_builder.xhtml | 4 +-- Open-ILS/web/reports/oils_rpt_param_editor.js | 4 ++- Open-ILS/web/reports/oils_rpt_param_editor.xhtml | 2 ++ Open-ILS/web/reports/oils_rpt_report_editor.js | 4 ++- 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/Open-ILS/web/reports/oils_rpt_builder.js b/Open-ILS/web/reports/oils_rpt_builder.js index 53020cf768..eda54d6dca 100644 --- a/Open-ILS/web/reports/oils_rpt_builder.js +++ b/Open-ILS/web/reports/oils_rpt_builder.js @@ -573,8 +573,13 @@ function oilsRptSetDataWindowActions(div) { function(){oilsRptHideEditorDivs();unHideMe(DOM.oils_rpt_filter_div)}; DOM.oils_rpt_agg_filter_tab.onclick = function(){oilsRptHideEditorDivs();unHideMe(DOM.oils_rpt_agg_filter_div)}; + DOM.oils_rpt_order_by_tab.onclick = - function(){oilsRptHideEditorDivs();unHideMe(DOM.oils_rpt_order_by_div)}; + function(){ + oilsRptHideEditorDivs(); + oilsRptDrawOrderByWindow(); + unHideMe(DOM.oils_rpt_order_by_div); + }; DOM.oils_rpt_tform_tab.onclick(); DOM.oils_rpt_column_editor_close_button.onclick = function(){hideMe(div);}; @@ -649,13 +654,47 @@ function oilsRptDrawTransformWindow(path, col, cls, field) { } -function oilsRptDrawOrderByWindow(path, col, cls, field) { +//function oilsRptDrawOrderByWindow(path, col, cls, field) { +function oilsRptDrawOrderByWindow() { var sel = DOM.oils_rpt_order_by_selector; removeChildren(sel); DOM.oils_rpt_order_by_submit.onclick = function() { - alert('make me work'); + oilsRptAddOrderBy(getSelectorVal(sel)); + } + + var cols = oilsRpt.def.select; + for( var i = 0; i < cols.length; i++ ) { + var obj = cols[i]; + insertSelectorVal(sel, -1, obj.alias, obj.path); } } +function oilsRptAddOrderBy(path) { + var rel = hex_md5(oilsRptPathRel(path)); + var order_by = oilsRpt.def.order_by; + + /* if this item is already in the order by remove it and overwrite it */ + order_by = grep(oilsRpt.def.order_by, + function(i) {return (i.path != path)}); + + if(!order_by) order_by = []; + + /* find the column definition in the select blob */ + var obj = grep(oilsRpt.def.select, + function(i) {return (i.path == path)}); + + if(!obj) return; + obj = obj[0]; + + order_by.push({ + relation : obj.relation, + column : obj.column, + direction : getSelectorVal(DOM.oils_rpt_order_by_dir) + }); + + oilsRpt.def.order_by = order_by; + oilsRptDebug(); +} + diff --git a/Open-ILS/web/reports/oils_rpt_builder.xhtml b/Open-ILS/web/reports/oils_rpt_builder.xhtml index 0e3ac94d98..0f5c4bde92 100644 --- a/Open-ILS/web/reports/oils_rpt_builder.xhtml +++ b/Open-ILS/web/reports/oils_rpt_builder.xhtml @@ -153,19 +153,17 @@
- diff --git a/Open-ILS/web/reports/oils_rpt_param_editor.js b/Open-ILS/web/reports/oils_rpt_param_editor.js index c09d3e5713..48c42d6102 100644 --- a/Open-ILS/web/reports/oils_rpt_param_editor.js +++ b/Open-ILS/web/reports/oils_rpt_param_editor.js @@ -37,13 +37,14 @@ oilsRptParamEditor.prototype.draw = function() { $n(row, 'action').appendChild(text(par.op)); par.widget = this.buildWidget(par, $n(row, 'widget')); par.widget.draw(); - this.buildRelWidget(par, row); + //this.buildRelWidget(par, row); this.tbody.appendChild(row); } } /* display the time-relative options if necessary */ +/* oilsRptParamEditor.prototype.buildRelWidget = function(par, row) { var field = oilsRptFindField( @@ -64,6 +65,7 @@ oilsRptParamEditor.prototype.buildRelWidget = function(par, row) { if( cb.checked ) par.relWidgetChecked = true; } } +*/ oilsRptParamEditor.prototype.buildWidget = function(param, node) { diff --git a/Open-ILS/web/reports/oils_rpt_param_editor.xhtml b/Open-ILS/web/reports/oils_rpt_param_editor.xhtml index 7b2ea6c778..c29eee215f 100644 --- a/Open-ILS/web/reports/oils_rpt_param_editor.xhtml +++ b/Open-ILS/web/reports/oils_rpt_param_editor.xhtml @@ -72,11 +72,13 @@ + diff --git a/Open-ILS/web/reports/oils_rpt_report_editor.js b/Open-ILS/web/reports/oils_rpt_report_editor.js index d0edbe9d12..b937ca454e 100644 --- a/Open-ILS/web/reports/oils_rpt_report_editor.js +++ b/Open-ILS/web/reports/oils_rpt_report_editor.js @@ -69,10 +69,12 @@ oilsRptReportEditor.prototype.save = function() { for( var p in this.paramEditor.params ) { var par = this.paramEditor.params[p]; _debug("adding report param "+par.key+" to report data"); + /* if( par.relWidgetChecked ) data[par.key] = par.relWidget.getValue(); else - data[par.key] = par.widget.getValue(); + */ + data[par.key] = par.widget.getValue(); } data = js2JSON(data); -- 2.11.0
Choose the direction the sorting should occur: