From: erickson Date: Mon, 16 Feb 2009 18:55:09 +0000 (+0000) Subject: in addition to the field list, provide a name-based hash for faster/simpler runtime... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fcb83412ed002740e46404494fbe651d0a5d6bc8;p=evergreen%2Ftadl.git in addition to the field list, provide a name-based hash for faster/simpler runtime lookup git-svn-id: svn://svn.open-ils.org/ILS/trunk@12191 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/dojo/fieldmapper/IDL.js b/Open-ILS/web/js/dojo/fieldmapper/IDL.js index 69a1c78ebb..105e246e8b 100644 --- a/Open-ILS/web/js/dojo/fieldmapper/IDL.js +++ b/Open-ILS/web/js/dojo/fieldmapper/IDL.js @@ -41,9 +41,12 @@ if(!dojo._hasResource["fieldmapper.IDL"]) { var id = node.getAttribute('id'); var fields = node.getElementsByTagName('fields')[0]; window.fmclasses[id] = []; + + var fieldData = this._parseFields(node, id); var obj = { - fields : this._parseFields(node, id), + fields : fieldData.list, + field_map : fieldData.map, name : node.getAttribute('id'), //table : node.getAttributeNS(this.NS_PERSIST, 'tablename'), //core : node.getAttributeNS(this.NS_REPORTS, 'core'), @@ -92,6 +95,7 @@ if(!dojo._hasResource["fieldmapper.IDL"]) { /* parses the links and fields portion of the IDL */ _parseFields : function(node, classname) { var data = []; + var map = {}; var fields = node.getElementsByTagName('fields')[0]; fields = fields.getElementsByTagName('field'); @@ -139,6 +143,7 @@ if(!dojo._hasResource["fieldmapper.IDL"]) { } data.push(obj); + map[obj.name] = obj; } /* @@ -151,7 +156,7 @@ if(!dojo._hasResource["fieldmapper.IDL"]) { ); */ - return data; + return { list : data, map : map }; } });