From: erickson Date: Mon, 2 Mar 2009 01:22:59 +0000 (+0000) Subject: can now pass in override widget types to grid and edit pane X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=2be8b718beaaeb934ca65ac536c98872e654f6be;p=evergreen%2Ftadl.git can now pass in override widget types to grid and edit pane git-svn-id: svn://svn.open-ils.org/ILS/trunk@12339 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js b/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js index aa8ab1cd29..28d69fa72d 100644 --- a/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js +++ b/Open-ILS/web/js/dojo/openils/widget/AutoGrid.js @@ -16,6 +16,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { editOnEnter : false, defaultCellWidth : null, editStyle : 'dialog', + suppressFields : null, /* by default, don't show auto-generated (sequence) fields */ showSequenceFields : false, @@ -27,6 +28,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { this.setStructure(this._compileStructure()); this.setStore(this.buildAutoStore()); this.overrideEditWidgets = {}; + this.overrideEditWidgetClass = {}; if(this.editOnEnter) this._applyEditOnEnter(); else if(this.singleEditStyle) @@ -40,6 +42,10 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { var self = this; function pushEntry(entry) { + if(self.suppressFields) { + if(dojo.indexOf(self.suppressFields, entry.field) != -1) + return; + } if(!entry.get) entry.get = openils.widget.AutoGrid.defaultGetter if(!entry.width && self.defaultCellWidth) @@ -122,6 +128,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { var pane = new openils.widget.EditPane({ fmObject:fmObject, overrideWidgets : this.overrideEditWidgets, + overrideWidgetClass : this.overrideEditWidgetClass, onPostSubmit : function() { for(var i in fmObject._fields) { var field = fmObject._fields[i]; @@ -157,6 +164,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) { var pane = new openils.widget.EditPane({ fmClass : this.fmClass, overrideWidgets : this.overrideEditWidgets, + overrideWidgetClass : this.overrideEditWidgetClass, onPostSubmit : function(r) { var fmObject = openils.Util.readResponse(r); if(fmObject) diff --git a/Open-ILS/web/js/dojo/openils/widget/EditPane.js b/Open-ILS/web/js/dojo/openils/widget/EditPane.js index 7126a541bd..c7cb9e0981 100644 --- a/Open-ILS/web/js/dojo/openils/widget/EditPane.js +++ b/Open-ILS/web/js/dojo/openils/widget/EditPane.js @@ -44,6 +44,9 @@ if(!dojo._hasResource['openils.widget.EditPane']) { if(!this.overrideWidgets) this.overrideWidgets = {}; + if(!this.overrideWidgetClass) + this.overrideWidgetClass = {}; + for(var f in this.sortedFieldList) { var field = this.sortedFieldList[f]; if(!field || field.virtual) continue; @@ -71,7 +74,8 @@ if(!dojo._hasResource['openils.widget.EditPane']) { parentNode : valSpan, orgLimitPerms : this.limitPerms, readOnly : this.readOnly, - widget : this.overrideWidgets[field.name] + widget : this.overrideWidgets[field.name], + widgetClass : this.overrideWidgetClass[field.name] }); widget.build();