fix: codeViewBuilder支持DataRow调用(rec为undefined时用desc.user_data)并增加field_name_text查找逻辑
This commit is contained in:
parent
f49994cea7
commit
b43d2e7cbd
@ -108,11 +108,23 @@ bricks.uitypesdef.setViewBuilder('float', floatViewBuilder);
|
|||||||
var codeViewBuilder = function(desc, rec){
|
var codeViewBuilder = function(desc, rec){
|
||||||
var opts = objcopy(desc)
|
var opts = objcopy(desc)
|
||||||
if (opts.uiparams) bricks.extend(opts, opts.uiparams);
|
if (opts.uiparams) bricks.extend(opts, opts.uiparams);
|
||||||
var name = desc.textFeild || 'text';
|
// rec may be undefined when called from DataRow, use desc.user_data instead
|
||||||
var v = rec[name];
|
var record = rec || desc.user_data || {};
|
||||||
|
// Try textField (correct spelling) first, then textFeild (legacy typo), then default 'text'
|
||||||
|
var tf = desc.textField || desc.textFeild || 'text';
|
||||||
|
var v = record[tf];
|
||||||
if (! v) {
|
if (! v) {
|
||||||
name = desc.valueField || 'value';
|
// Try field_name + '_text' convention
|
||||||
v = rec[name];
|
v = record[desc.name + '_text'];
|
||||||
|
}
|
||||||
|
if (! v) {
|
||||||
|
// Fall back to valueField or 'value'
|
||||||
|
var vf = desc.valueField || 'value';
|
||||||
|
v = record[vf];
|
||||||
|
}
|
||||||
|
if (! v) {
|
||||||
|
// Last resort: use the raw field value
|
||||||
|
v = record[desc.name];
|
||||||
}
|
}
|
||||||
return buildText(v, 'left')
|
return buildText(v, 'left')
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user