separated pane and dialog build out into 2 separate functions
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 1 Mar 2009 18:47:11 +0000 (18:47 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 1 Mar 2009 18:47:11 +0000 (18:47 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12333 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/widget/AutoGrid.js

index d4c858c..0ba69ed 100644 (file)
@@ -3,6 +3,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
     dojo.require('dojox.grid.DataGrid');
     dojo.require('openils.widget.AutoWidget');
     dojo.require('openils.widget.AutoFieldWidget');
+    dojo.require('openils.widget.EditPane');
     dojo.require('openils.widget.EditDialog');
     dojo.require('openils.Util');
 
@@ -106,11 +107,12 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                 );
             },
 
-            _drawEditDialog : function(storeItem, rowIndex) {
+            _makeEditPane : function(storeItem, rowIndex) {
                 var grid = this;
                 var fmObject = new fieldmapper[this.fmClass]().fromStoreItem(storeItem);
                 var idents = grid.store.getIdentityAttributes();
-                var dialog = new openils.widget.EditDialog({
+
+                var pane = new openils.widget.EditPane({
                     fmObject:fmObject,
                     overrideWidgets : this.overrideEditWidgets,
                     onPostSubmit : function() {
@@ -120,7 +122,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                                 continue; // don't try to edit an identifier field
                             grid.store.setValue(storeItem, field, fmObject[field]());
                         }
-                        dialog.destroy();
+                        pane.destroy();
 
                         if(self.onPostUpdate)
                             self.onPostUpdate(storeItem, rowIndex);
@@ -138,15 +140,15 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                             grid.views.views[0].getCellNode(rowIndex, 0).focus();},200);
                     }
                 });
-                dialog.editPane.fieldOrder = this.fieldOrder;
-                dialog.editPane.mode = 'update';
-                dialog.startup();
-                dialog.show();
+
+                pane.fieldOrder = this.fieldOrder;
+                pane.mode = 'update';
+                return pane;
             },
 
-            showCreateDialog : function() {
+            _makeCreatePane : function() {
                 var grid = this;
-                var dialog = new openils.widget.EditDialog({
+                var pane = new openils.widget.EditPane({
                     fmClass : this.fmClass,
                     overrideWidgets : this.overrideEditWidgets,
                     onPostSubmit : function(r) {
@@ -164,8 +166,22 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                         },200);
                     },
                 });
-                dialog.editPane.fieldOrder = this.fieldOrder;
-                dialog.editPane.mode = 'create';
+                pane.fieldOrder = this.fieldOrder;
+                pane.mode = 'create';
+                return pane;
+            },
+
+
+            _drawEditDialog : function(storeItem, rowIndex) {
+                var pane = this._makeEditPane(storeItem, rowIndex);
+                var dialog = new openils.widget.EditDialog({editPane:pane});
+                dialog.startup();
+                dialog.show();
+            },
+
+            showCreateDialog : function() {
+                var pane = this._makeCreatePane();
+                var dialog = new openils.widget.EditDialog({editPane:pane});
                 dialog.startup();
                 dialog.show();
             },