From 09a07904fce0686ca4e96dcd3e8dbf97761080e7 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 30 Jul 2026 16:49:08 +0800 Subject: [PATCH] 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 --- bricks/dimension_filter.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bricks/dimension_filter.js b/bricks/dimension_filter.js index 65e1b91..15b6eb1 100644 --- a/bricks/dimension_filter.js +++ b/bricks/dimension_filter.js @@ -123,6 +123,7 @@ bricks.DimensionFilter = class extends bricks.VBox { } this.build_horizontal_buttons(); this.build_vertical_buttons(); + await this.refresh_display(); } build_horizontal_buttons(){ @@ -219,13 +220,13 @@ bricks.DimensionFilter = class extends bricks.VBox { async refresh_display(){ this.display_w.clear_widgets(); - var params = { - h_id: this.selected_h_id, - v_id: this.selected_v_id - }; - if (this.search_keyword){ - params.keyword = this.search_keyword; - } + var hp = this.opts.h_param_name || 'h_id'; + var vp = this.opts.v_param_name || 'v_id'; + var kp = this.opts.keyword_param_name || 'keyword'; + var params = {}; + if (this.selected_h_id != 'all') params[hp] = this.selected_h_id; + if (this.selected_v_id != 'all') params[vp] = this.selected_v_id; + if (this.search_keyword) params[kp] = this.search_keyword; var desc = { widgettype: 'urlwidget', options: {