allow to access sub elements of configuration items for binding.
E.g., if the following configuration is present:
foo: {
bar: true
}
one could do:
xtype: 'displayfield',
cbind {
value: '{foo.bar}'
}
[...]
This mirrors the abillity of ExtJS's 'bind', which can do this also.
Simple implementation mirroring the surrounding code.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
if (match[1]) cvalue = !cvalue;
obj[prop] = cvalue;
found = true;
+ } else if (match = /^\{(!)?([a-z_][a-z0-9_]*(\.[a-z_][a-z0-9_]*)+)\}$/i.exec(cdata)) {
+ var keys = match[2].split('.');
+ var cvalue = getConfigValue(keys.shift());
+ keys.forEach(function(k) {
+ if (k in cvalue) {
+ cvalue = cvalue[k];
+ } else {
+ throw "unable to get cbind data for '" + match[2] + "'";
+ }
+ });
+ if (match[1]) cvalue = !cvalue;
+ obj[prop] = cvalue;
+ found = true;
} else {
obj[prop] = cdata.replace(/{([a-z_][a-z0-9_]*)\}/ig, function(match, cname) {
var cvalue = getConfigValue(cname);