You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2007/06/07 01:14:02 UTC
svn commit: r544985 [3/3] - in /struts/struts2/trunk/plugins/dojo/src/main:
java/org/apache/struts2/dojo/components/
resources/org/apache/struts2/static/dojo/
resources/org/apache/struts2/static/dojo/struts/widget/
Modified: struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js?view=diff&rev=544985&r1=544984&r2=544985
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js (original)
+++ struts/struts2/trunk/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js Wed Jun 6 16:14:00 2007
@@ -24162,12 +24162,13 @@
//if notifyTopics is published on the first request (onload)
//the value of listeners will be reset
- if(!this.firstRequest) {
- this.firstRequest = false;
+ if(!this.firstRequest || type == "error") {
this.cbox.notify.apply(this.cbox, [data, type, evt]);
}
+
+ this.firstRequest = false;
var arrData = null;
- var dataByName = data[this.cbox.dataFieldName];
+ var dataByName = data[dojo.string.isBlank(this.cbox.dataFieldName) ? this.cbox.name : this.cbox.dataFieldName];
if(!dojo.lang.isArray(data)) {
//if there is a dataFieldName, take it
if(dataByName) {
@@ -24178,7 +24179,7 @@
//it is an object, treat it like a map
arrData = [];
for(var key in dataByName){
- arrData.push([dataByName[key], key]);
+ arrData.push([key, dataByName[key]]);
}
}
} else {
@@ -24192,7 +24193,7 @@
} else {
//if nathing else is found, we will use values in this
//object as the data
- tmpArrData.push([data[key], key]);
+ tmpArrData.push([key, data[key]]);
}
//grab the first array found, we will use it if nothing else
//is found
@@ -24541,12 +24542,13 @@
},
notify : function(data, type, e) {
+ var self = this;
+ //general topics
if(this.notifyTopicsArray) {
- var self = this;
dojo.lang.forEach(this.notifyTopicsArray, function(topic) {
try {
- dojo.event.topic.publish(topic, data, type, e);
- } catch(ex) {
+ dojo.event.topic.publish(topic, data, type, e, self);
+ } catch(ex){
self.log(ex);
}
});
@@ -24556,28 +24558,26 @@
var topicsArray = null;
switch(type) {
case "before":
- topicsArray = this.beforeNotifyTopicsArray;
+ this.notifyTo(this.beforeNotifyTopicsArray, [e, this]);
break;
case "load":
- topicsArray = this.afterNotifyTopicsArray;
+ this.notifyTo(this.afterNotifyTopicsArray, [data, e, this]);
break;
case "error":
- topicsArray = this.errorNotifyTopicsArray;
- break;
- case "valuechanged":
- topicsArray = this.valueNotifyTopicsArray;
+ this.notifyTo(this.errorNotifyTopicsArray, [data, e, this]);
break;
+ case "valuechanged":
+ this.notifyTo(this.valueNotifyTopicsArray, [this.getSelectedValue(), this.getSelectedKey(), this.getText(), this]);
+ break;
}
-
- this.notifyTo(topicsArray, data, type, e);
},
- notifyTo : function(topicsArray, data, type, e) {
+ notifyTo : function(topicsArray, params) {
var self = this;
if(topicsArray) {
dojo.lang.forEach(topicsArray, function(topic) {
try {
- dojo.event.topic.publish(topic, data, type, e);
+ dojo.event.topic.publishApply(topic, params);
} catch(ex){
self.log(ex);
}
@@ -24620,28 +24620,13 @@
getSelectedKey : function() {
return this.comboBoxSelectionValue.value;
},
-
- setSelectedValue : function(text) {
- if(this.dataProvider) {
- var data = this.dataProvider.data;
- for(element in data) {
- var obj = data[element];
- if(obj[0].toString() == text) {
- this.setValue(obj[0].toString());
- this.comboBoxSelectionValue.value = obj[1].toString();
- }
- }
- } else {
- this.comboBoxSelectionValue.value = text;
- }
- },
-
+
getSelectedValue : function() {
return this.comboBoxValue.value;
},
getText : function() {
- return this.textInputNode.value();
+ return this.textInputNode.value;
}
});