0

我正在尝试在我的项目中使用 JGrowlFeedbackPanel 组件。这是 JGrowl 插件 (JQuery) 的检票口采用。我从一个 Maven 的存储库中得到它。

ResourceReference cssMenuRef = new ResourceReference(HomePage.class, "style_menu.css");
add(CSSPackageResource.getHeaderContribution(cssMenuRef));

JGrowlFeedbackPanel feedbackPanel = new JGrowlFeedbackPanel("feedbackPanel", new ErrorLevelFeedbackMessageFilter(FeedbackMessage.WARNING));
add(feedbackPanel);
Options errorOptions = new Options();
errorOptions.set("header", "Error"); //works
errorOptions.set("sticky", true); //works
errorOptions.set("position", "center"); //doesn't work
errorOptions.set("theme", "feedback"); //doesn't work
error("TEST!");
feedbackPanel.setErrorMessageOptions(errorOptions);

.feedback {
color: #ff0000;
background-color: #FFFFFF !important ; 
width: 400px;
}

我想改变 jGrowl 的默认位置和颜色,但它们根本没有改变。我可以在我的 css 文件中使用 !important 声明,但我认为这不是一个好主意。我将不胜感激任何建议。谢谢!

4

2 回答 2

0

与 WicketStuff 的 jGrowl 面板集成后,我今天注意到了两件事。

  1. 它总是错过我的第一条消息,除非我在页面上显示任何反馈消息之前先调用 $.jGrowl()。这仅在 IE10 中受到影响,请参阅https://github.com/stanlemon/jGrowl/issues/17
  2. 如果您将选项作为字符串传递,它附带的 Options 类喜欢在选项周围加上单引号。因此,请确保使用 new Interger(x) 或其他类型的对象。

否则,这是一个不错的 UI 添加。

于 2013-11-21T22:47:55.143 回答
0

对于该职位,jGrowl 在其文档中明确表示:

这必须在调用启动方法之前更改默认值。

链接:jGrowl

-> 根据我在这里找到的源代码: JGrowlFeedbackMessage.java 和这里: JGrowlFeedbackPanel.java 这可能无法正常工作,因为您必须进入“jquery.jgrowl.js”内部来修改默认位置。 ..

另外我不明白为什么 jGrowl 选项不能在 JS 中完全扩展。

也许更好的建议是使用 jquery 通知程序,构建自己的面板并包装调用以通过 target.appendJavaScript() 方法触发通知。wicket6 的示例:

    public void showExpiringNotification(final String title, final String message, final int expiringSpeed) {
      AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
      if (target != null) {
        target.appendJavaScript("$('#container').notify('create','error',{title: '" + title + "', text: '" + message
                + "' },{expires: " + expiringSpeed + "})");
      }
    }

如果需要,我可能会在我的博客上提供更详细的示例...

于 2012-11-21T08:53:34.023 回答