projects
/
roojs1
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Roo/form/ComboBoxArray.js
[roojs1]
/
Roo
/
form
/
ComboBoxArray.js
diff --git
a/Roo/form/ComboBoxArray.js
b/Roo/form/ComboBoxArray.js
index
65dcd82
..
d880af1
100644
(file)
--- a/
Roo/form/ComboBoxArray.js
+++ b/
Roo/form/ComboBoxArray.js
@@
-185,7
+185,7
@@
Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
return;
// not sure if this is needed..
return;
// not sure if this is needed..
- this.combo.onResize(w,h);
+
//
this.combo.onResize(w,h);
if(typeof w != 'number'){
// we do not handle it!?!?
if(typeof w != 'number'){
// we do not handle it!?!?
@@
-252,10
+252,11
@@
Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
reset : function()
{
reset : function()
{
- Roo.form.ComboBoxArray.superclass.reset.call(this);
+
//
Roo.form.ComboBoxArray.superclass.reset.call(this);
this.items.each(function(f) {
f.remove();
});
this.items.each(function(f) {
f.remove();
});
+ this.el.dom.value = '';
if (this.hiddenEl) {
this.hiddenEl.dom.value = '';
}
if (this.hiddenEl) {
this.hiddenEl.dom.value = '';
}
@@
-268,8
+269,11
@@
Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
setValue: function(v) // not a valid action - must use addItems..
{
setValue: function(v) // not a valid action - must use addItems..
{
+ this.reset();
- if (this.store.isLocal) {
+
+
+ if (this.store.isLocal && (typeof(v) == 'string')) {
// then we can use the store to find the values..
// comma seperated at present.. this needs to allow JSON based encoding..
this.hiddenEl.value = v;
// then we can use the store to find the values..
// comma seperated at present.. this needs to allow JSON based encoding..
this.hiddenEl.value = v;
@@
-286,9
+290,14
@@
Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
this.addItem(add);
}, this)
this.addItem(add);
}, this)
-
-
-
+
+ }
+ if (typeof(v) == 'object') {
+ // then let's assume it's an array of objects..
+ Roo.each(v, function(l) {
+ this.addItem(l);
+ }, this);
+
}
}
@@
-296,12
+305,20
@@
Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField,
setFromData: function(v)
{
// this recieves an object, if setValues is called.
setFromData: function(v)
{
// this recieves an object, if setValues is called.
-
Roo.log(v
);
+
this.reset(
);
this.el.dom.value = v[this.displayField];
this.hiddenEl.dom.value = v[this.valueField];
this.el.dom.value = v[this.displayField];
this.hiddenEl.dom.value = v[this.valueField];
+ if (typeof(v[this.valueField]) != 'string' || !v[this.valueField].length) {
+ return;
+ }
+ var kv = v[this.valueField];
+ var dv = v[this.displayField];
+ kv = typeof(kv) != 'string' ? '' : kv;
+ dv = typeof(dv) != 'string' ? '' : dv;
+
- var keys =
v[this.valueField]
.split(',');
- var display =
v[this.displayField]
.split(',');
+ var keys =
kv
.split(',');
+ var display =
dv
.split(',');
for (var i = 0 ; i < keys.length; i++) {
add = {};
for (var i = 0 ; i < keys.length; i++) {
add = {};