0cfea4b00ec429bf0d9c082c2241387a094095ac
[evergreen-equinox.git] / Open-ILS / web / js / dojo / fieldmapper / hash.js
1 /*
2 # ---------------------------------------------------------------------------
3 # Copyright (C) 2008  Georgia Public Library Service / Equinox Software, Inc
4 # Mike Rylander <miker@esilibrary.com>
5
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 # ---------------------------------------------------------------------------
16 */
17
18 if(!dojo._hasResource['fieldmapper.hash']){
19
20         dojo._hasResource['fieldmapper.hash'] = true;
21         dojo.provide('fieldmapper.hash');
22
23     if(!dojo._hasResource["fieldmapper.Fieldmapper"]) {
24
25         /* XXX Content loaded in Fieldmapper */
26         /* XXX deprecate this file **/
27
28         function _fromHash (_hash) {
29             for ( var i=0; i < this._fields.length; i++) {
30                 if (_hash[this._fields[i]] != null)
31                     this[this._fields[i]]( _hash[this._fields[i]] );
32             }
33             return this;
34         }
35
36         function _toHash (includeNulls, virtFields) {
37             var _hash = {};
38             for ( var i=0; i < this._fields.length; i++) {
39                 if (includeNulls || this[this._fields[i]]() != null) {
40                     if (this[this._fields[i]]() == null)
41                         _hash[this._fields[i]] = null;
42                     else
43                         _hash[this._fields[i]] = '' + this[this._fields[i]]();
44                 }
45             }
46
47             if (virtFields && virtFields.length > 0) {
48                 for (var i = 0; i < virtFields.length; i++) {
49                     if (!_hash[virtFields[i]])
50                         _hash[virtFields[i]] = null;
51                 }
52             }
53
54             return _hash;
55         }
56
57         for (var i in fmclasses) {
58             window[i].prototype.fromHash = _fromHash;
59             window[i].prototype.toHash = _toHash;
60         }
61     }
62 }