From 5af6401f5f4f2fbffdb77c5abb7c04e8f361600c Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Wed, 1 Jun 2011 03:16:05 -0400 Subject: [PATCH] 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 --- Open-ILS/xul/staff_client/chrome/content/util/functional.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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]; -- 2.11.0