关于过滤器名称显示在标签页上的问题

我为一个浏览界面设置了过滤器之后,系统会默认把页面标签页的标题改成:“设计时的名称:过滤器的名称”,这种设计相当不好(一个页面可能多个过滤器)。请问在哪里关掉,让标签页还是显示设计时定义好的标题。如下图:
1、打开用户浏览,显示的是“用户”,这是设计时定义好的标题
1
2、编辑一个过滤器,取名称,保存
2
3、标签页的标题自动改了
3

希望标签页还是显示“用户”,该怎么设置

这个功能是在 WebFilter 内部实现的。目前没有开放接口和配置。如果需要改动,目前只能继承 WebFilter 做定制扩展。另外,已经提了issue,可以关注issue,了解进展。

这是个严重的设计不合理,希望能默认不要把过滤器的名称加到标签页之后。如果一个页面里面有2,3个过滤器,请问你觉得把哪个过滤器的名称放到标签页后面合适?明显是无厘头的设计。:skull_and_crossbones:

并不是把所有的过滤器都显示在tab上的。在过滤器的下拉列表选中过滤器之后,才会在tab显示过滤器名称,选中哪个,显示哪个。这样的话,有一个好处是在打开多标签的时候能够分辨各个 “用户” 标签分别应用了哪个过滤器。当然,对于单标签应用来说,这个功能是有点问题,所以也提了issue,计划在 7.1 解决。

我的页面里有两个过滤器,我为他们都设置了默认的过滤条件。界面一打开,标签页后面就跟着其中一个过滤器的名称。其实完全没有必要。在别的地方提示用户使用了什么过滤器比较合适,页面标题毕竟是整个页面的主题名称

开发人员已经有回复:
过滤器标题和窗口标题可以用下面的方式改。
filter.addFilterEntityChangeListener(filterEntity -> {
// 设置filter group的标题
filter.setCaption("My Custom Filter: " + filterEntity.getName());
////tab 移除名称。这里有点疑问,需要测试下。
getWindow().setDescription(null);
});

Filter 现在包含一个 setWindowCaptionUpdateEnabled() 方法,可以关掉窗口标题更改:

    @Inject
    protected Filter filter;

    @Subscribe
    protected void onInit(InitEvent event) {
        filter.setWindowCaptionUpdateEnabled(false);
    }

不过这个fix要等到 7.1.0. 应该最近就会发布。

1 个赞

现在才到7.0.6,回头验证一下

可以了!但是强烈建议默认关闭这个功能,有需要再打开。而不是默认打开。