fix: data_filter form fields missing uitype and browserfields lookup
1. Default uitype to 'str' when no alter matches (text input) 2. Handle alter.uitype='select' by converting to code with inline data 3. Read browserfields from opts.row_options.browserfields (CRUD-generated UIs nest it under row_options, not at opts top level)
This commit is contained in:
parent
94a95b529b
commit
81fd808d02
@ -268,7 +268,8 @@ bricks.DataViewer = class extends bricks.VBox {
|
|||||||
get_filter_fields(){
|
get_filter_fields(){
|
||||||
var fields = [];
|
var fields = [];
|
||||||
var self = this;
|
var self = this;
|
||||||
var alters = (this.opts.browserfields && this.opts.browserfields.alters) || {};
|
var bf = this.opts.browserfields || (this.opts.row_options && this.opts.row_options.browserfields) || {};
|
||||||
|
var alters = bf.alters || {};
|
||||||
var labels = this.opts.filter_labels || {};
|
var labels = this.opts.filter_labels || {};
|
||||||
|
|
||||||
function extract(node){
|
function extract(node){
|
||||||
@ -304,6 +305,11 @@ bricks.DataViewer = class extends bricks.VBox {
|
|||||||
if (alter.data_field){
|
if (alter.data_field){
|
||||||
f.data_field = alter.data_field;
|
f.data_field = alter.data_field;
|
||||||
}
|
}
|
||||||
|
} else if (alter.uitype === 'select' && alter.options){
|
||||||
|
f.uitype = 'code';
|
||||||
|
f.data = alter.options;
|
||||||
|
} else {
|
||||||
|
f.uitype = 'str';
|
||||||
}
|
}
|
||||||
fields.push(f);
|
fields.push(f);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user