1 if(!dojo._hasResource['openils.widget.EditDialog']) {
2 dojo.provide('openils.widget.EditDialog');
3 dojo.require('openils.widget.AutoWidget');
4 dojo.require('fieldmapper.Fieldmapper');
5 dojo.require('dijit.Dialog');
6 dojo.require('openils.Util');
7 dojo.require('openils.User');
8 dojo.require('fieldmapper.IDL');
12 * Given a fieldmapper object, this builds a pop-up dialog used for editing the object
16 'openils.widget.EditDialog',
24 * Builds a basic table of key / value pairs. Keys are IDL display labels.
25 * Values are dijit's, when values set
27 startup : function() {
28 this.inherited(arguments);
29 this.fmClass = (this.fmObject) ? this.fmObject.classname : this.fmClass;
30 fmIDL = fieldmapper.IDL.fmclasses[this.fmClass];
32 var table = document.createElement('table');
33 var tbody = document.createElement('tbody');
34 this.domNode.appendChild(table);
35 table.appendChild(tbody);
38 if(fmIDL.permacrud && fmIDL.permacrud[this.mode])
39 this.limitPerms = fmIDL.permacrud[this.mode].perms;
41 for(var f in fmIDL.fields) {
42 var field = fmIDL.fields[f];
43 if(field.virtual) continue;
45 var row = document.createElement('tr');
46 var nameTd = document.createElement('td');
47 var valTd = document.createElement('td');
49 nameTd.appendChild(document.createTextNode(field.label));
50 row.appendChild(nameTd);
51 row.appendChild(valTd);
52 tbody.appendChild(row);
54 new openils.widget.AutoWidget({
56 fmObject : this.fmObject,
58 orgLimitPerms : this.limitPerms
62 openils.Util.addCSSClass(table, 'oils-fm-edit-dialog');