]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/extras/fieldmapper.pl
script to build fieldmapper.js file for using fieldmapper objects in javascript
[OpenSRF.git] / src / extras / fieldmapper.pl
1 #!/usr/bin/perl
2 use strict; use warnings;
3
4 use Data::Dumper; 
5 use OpenILS::Utils::Fieldmapper;  
6
7 my $map = $Fieldmapper::fieldmap;
8
9 print <<JS;
10
11 //  ----------------------------------------------------------------
12 // Autogenerated by fieldmapper.pl
13 //  ----------------------------------------------------------------
14
15 JS
16
17 for my $object (keys %$map) {
18
19 my $short_name = $map->{$object}->{hint};
20
21 print <<JS;
22
23 //  ----------------------------------------------------------------
24 // Class: $short_name
25 //  ----------------------------------------------------------------
26
27 JS
28
29 print   <<JS;
30 function $short_name(array) {
31         if(array) { this.array = array; } 
32         else { this.array = []; }
33 }
34
35 $short_name.prototype._is_array = function() {
36         return true;
37 }
38 JS
39
40 for my $field (keys %{$map->{$object}->{fields}}) {
41
42 my $position = $map->{$object}->{fields}->{$field}->{position};
43
44 print <<JS;
45 $short_name.prototype.$field = function(new_value) {
46         if(new_value) { this.array[$position] = new_value; }
47         return this.array[$position];
48 }
49 JS
50
51 }
52 }
53