From: Jason Etheridge Date: Wed, 1 Jun 2011 07:16:05 +0000 (-0400) Subject: Allow util.functional.convert_object_list_to_hash to handle more than fieldmapper... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=5af6401f5f4f2fbffdb77c5abb7c04e8f361600c;p=evergreen%2Fequinox.git Allow util.functional.convert_object_list_to_hash to handle more than fieldmapper-like objects Signed-off-by: Jason Etheridge Signed-off-by: Galen Charlton --- diff --git a/Open-ILS/xul/staff_client/chrome/content/util/functional.js b/Open-ILS/xul/staff_client/chrome/content/util/functional.js index 776a7f49fc..0dc9eb148c 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/functional.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/functional.js @@ -89,11 +89,17 @@ util.functional.map_object_to_list = function(obj,f) { return new_list; } -util.functional.convert_object_list_to_hash = function(list) { +util.functional.convert_object_list_to_hash = function(list,key_field) { var my_hash = new Object(); if (list) { for (var i = 0; i < list.length; i++) { - if (typeof list[i].id == 'function') { + if (key_field && typeof list[i][key_field] != 'undefined') { + if (typeof list[i][key_field] == 'function') { + my_hash[ list[i][key_field]() ] = list[i]; + } else { + my_hash[ list[i][key_field] ] = list[i]; + } + } else if (typeof list[i].id == 'function') { my_hash[ list[i].id() ] = list[i]; } else if (typeof list[i].code == 'function') { my_hash[ list[i].code() ] = list[i];