From 296b76a937a52093db298bf86f8125ed41d9db4b Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Wed, 3 Oct 2012 15:25:38 -0400 Subject: [PATCH] Sort Templates/Reports/Output By name for Templates/Reports, by Run Time for Output. Signed-off-by: Thomas Berezansky Signed-off-by: Michael Peters Signed-off-by: Ben Shum --- Open-ILS/web/opac/common/js/fm_table.js | 17 +++++++++++++++++ Open-ILS/web/opac/common/js/fm_table_conf.js | 9 ++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Open-ILS/web/opac/common/js/fm_table.js b/Open-ILS/web/opac/common/js/fm_table.js index 95c5bc9d83..a0608eb665 100644 --- a/Open-ILS/web/opac/common/js/fm_table.js +++ b/Open-ILS/web/opac/common/js/fm_table.js @@ -106,6 +106,19 @@ FMObjectBuilder.prototype.build = function() { for( var i = 0; i < this.keys.length; i++ ) this.thead_tr.appendChild(elem('td',null,this.keys[i])); + + if ( this.sortdata ) { + var sortdata = this.sortdata; + this.obj.sort(function(a, b){ + var ret = 1; + var left = a[sortdata[0]]().toLowerCase(); + var right = b[sortdata[0]]().toLowerCase(); + if (left == right) return 0; + if (left < right) + ret = -1; + return ret * sortdata[1]; + }); + } for( var i = 0; i < this.obj.length; i++ ) this.buildObjectRow(this.obj[i]); @@ -137,6 +150,7 @@ FMObjectBuilder.prototype.setKeys = function(o) { this.keys = this.display[o.classname].fields; this.bold = this.display[o.classname].bold; this.money = this.display[o.classname].money; + this.sortdata = this.display[o.classname].sortdata; } if(!this.keys && FM_TABLE_DISPLAY[o.classname]) @@ -148,6 +162,9 @@ FMObjectBuilder.prototype.setKeys = function(o) { if(!this.money && FM_TABLE_DISPLAY[o.classname]) this.money = FM_TABLE_DISPLAY[o.classname].money; + if(!this.sortdata && FM_TABLE_DISPLAY[o.classname]) + this.sortdata = FM_TABLE_DISPLAY[o.classname].sortdata; + if(!this.keys) { this.keys = fmclasses[o.classname]; sortme = true; diff --git a/Open-ILS/web/opac/common/js/fm_table_conf.js b/Open-ILS/web/opac/common/js/fm_table_conf.js index 646d485552..e5db8877fd 100644 --- a/Open-ILS/web/opac/common/js/fm_table_conf.js +++ b/Open-ILS/web/opac/common/js/fm_table_conf.js @@ -98,7 +98,8 @@ var FM_TABLE_DISPLAY = { 'recur', 'recurrence', 'owner', - ] + ], + sortdata : [ 'name', 1 ] }, 'rt' : { name : 'name', @@ -107,7 +108,8 @@ var FM_TABLE_DISPLAY = { 'description', 'create_time', 'owner', - ] + ], + sortdata : [ 'name', 1 ] }, 'rs' : { fields : [ @@ -124,6 +126,7 @@ var FM_TABLE_DISPLAY = { ], bold : [ 'error_text', - ] + ], + sortdata : [ 'run_time', -1 ] } } -- 2.43.2