From: miker Date: Wed, 23 Jul 2008 20:36:51 +0000 (+0000) Subject: add support for dojo data store virtual fields X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=06e83e3708b485eec2ca098db6cd46e54155862c;p=Evergreen.git add support for dojo data store virtual fields git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@10106 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/dojo/fieldmapper/dojoData.js b/Open-ILS/web/js/dojo/fieldmapper/dojoData.js index a0ab494c9a..3e5a1ad1af 100644 --- a/Open-ILS/web/js/dojo/fieldmapper/dojoData.js +++ b/Open-ILS/web/js/dojo/fieldmapper/dojoData.js @@ -48,7 +48,7 @@ if(!dojo._hasResource['fieldmapper.dojoData']){ var data = { label : label, identifier : params.identifier, items : [] }; - for (var i in list) data.items.push( list[i].toHash(true) ); + for (var i in list) data.items.push( list[i].toHash(true, params.virtualFields) ); if (params.children && params.parent) { var _hash_list = data.items; diff --git a/Open-ILS/web/js/dojo/fieldmapper/hash.js b/Open-ILS/web/js/dojo/fieldmapper/hash.js index 333a2d90b9..8e57e6980c 100644 --- a/Open-ILS/web/js/dojo/fieldmapper/hash.js +++ b/Open-ILS/web/js/dojo/fieldmapper/hash.js @@ -29,16 +29,24 @@ if(!dojo._hasResource['fieldmapper.hash']){ return this; } - function _toHash (includeNulls) { + function _toHash (includeNulls, virtFields) { var _hash = {}; for ( var i=0; i < this._fields.length; i++) { if (includeNulls || this[this._fields[i]]() != null) { if (this[this._fields[i]]() == null) - _hash[this._fields[i]] = null; - else - _hash[this._fields[i]] = '' + this[this._fields[i]](); - } + _hash[this._fields[i]] = null; + else + _hash[this._fields[i]] = '' + this[this._fields[i]](); + } } + + if (virtFields && virtFields.length > 0) { + for (var i in virtFields) { + if (!_hash[virtFields[i]]) + _hash[virtFields[i]] = null; + } + } + return _hash; }