fix(DimensionFilter): configurable param names + 'all' skip + init refresh_display

- h_param_name/v_param_name/keyword_param_name options for URL param mapping
- 'all' values filtered out of params (treat as no filter)
- refresh_display() called after initial data load
This commit is contained in:
yumoqing 2026-07-30 16:49:08 +08:00
parent 9f4ca625c6
commit 09a07904fc

View File

@ -123,6 +123,7 @@ bricks.DimensionFilter = class extends bricks.VBox {
} }
this.build_horizontal_buttons(); this.build_horizontal_buttons();
this.build_vertical_buttons(); this.build_vertical_buttons();
await this.refresh_display();
} }
build_horizontal_buttons(){ build_horizontal_buttons(){
@ -219,13 +220,13 @@ bricks.DimensionFilter = class extends bricks.VBox {
async refresh_display(){ async refresh_display(){
this.display_w.clear_widgets(); this.display_w.clear_widgets();
var params = { var hp = this.opts.h_param_name || 'h_id';
h_id: this.selected_h_id, var vp = this.opts.v_param_name || 'v_id';
v_id: this.selected_v_id var kp = this.opts.keyword_param_name || 'keyword';
}; var params = {};
if (this.search_keyword){ if (this.selected_h_id != 'all') params[hp] = this.selected_h_id;
params.keyword = this.search_keyword; if (this.selected_v_id != 'all') params[vp] = this.selected_v_id;
} if (this.search_keyword) params[kp] = this.search_keyword;
var desc = { var desc = {
widgettype: 'urlwidget', widgettype: 'urlwidget',
options: { options: {