小编oll*_*nen的帖子

如何获取 Vaadin 14 中网格的列顺序?

例如,在 Vaadin 8 中,您只需执行以下操作即可按屏幕上显示的顺序获取列的列表。

String columnOrderPreference = ((List<Grid.Column>)grid.getColumns()).stream()
            .map(Grid.Column::getId)
            .collect(Collectors.joining(VALUE_SEPARATOR));
Run Code Online (Sandbox Code Playgroud)

这特别方便,因为您可以保存该字符串,然后调用:

grid.setColumnOrder(columnOrderPreference.split(VALUE_SEPARATOR));
Run Code Online (Sandbox Code Playgroud)

在 Vaadin 14 中(忽略getId()现在应该使用的getKey()),这不再可能,因为getColumns()列表现在总是按照它们添加的顺序而不是它们的排序顺序返回。您仍然可以调用setColumnOrder(...)(使用不同的参数 - list of grid.getColumnByKey(columnKey)),但我无法弄清楚如何按照显示的顺序获取列列表。

这对于尝试保存用户返回同一页面(使用网格)时设置/更改的列顺序特别有用。

vaadin vaadin-flow vaadin14

4
推荐指数
1
解决办法
1057
查看次数

将 Vaadin 14.0.10 应用程序更新到 14.5.4 会导致从 /VAADIN/ 加载的资源出现 MIME 类型错误

我有一个带有 Spring Boot 和 Spring Security 配置的 Vaadin 14.0.10 应用程序。我正在尝试将其更新到 14.5.4,但更新后,当我尝试加载应用程序时,出现空白页面。服务器日志上没有错误,但在浏览器控制台上,显示两个错误:

Refused to execute script from 'http://localhost:8080/login' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
Run Code Online (Sandbox Code Playgroud)

login:1 Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
Run Code Online (Sandbox Code Playgroud)

查看“网络”选项卡,似乎两者webcomponents-loader.jsvaadin-bundle-*.cache.js获得状态 302“脚本/重定向”。这两个文件都是从下面提供的/VAADIN/build

起初我认为这可能是 Spring Security 配置问题,但在我的WebSecurityConfigurerAdapter实现中,我有:

Refused to execute script from …
Run Code Online (Sandbox Code Playgroud)

vaadin vaadin-flow

3
推荐指数
1
解决办法
252
查看次数

如何在 Horizo​​ntalLayout 中调整 Vaadin 组件的垂直对齐方式?

我想将按钮与文本字段对齐在同一行上。项目对齐已设置为Alignment.CENTER,但正如您从图像中看到的,由于文本字段顶部的标签,它们的垂直中心较低。

    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setAlignItems(FlexComponent.Alignment.CENTER);
    Div div = new Div(buttonAddPriceRange);
    horizontalLayout.add(spanneVon, spanneBis, div);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

vaadin vaadin-flow

3
推荐指数
1
解决办法
68
查看次数

Vaadin 7 小部件集编译失败并显示“检查您的模块是否继承了‘com.google.gwt.core.Core’”

我有一个现有的 Vaadin 7 项目,它曾经可以正常工作。现在我正在尝试编译它,widgetset 编译失败, [ERROR] Hint: Check that your module inherits 'com.google.gwt.core.Core' either directly or indirectly 原因可能是什么?

vaadin vaadin7

3
推荐指数
1
解决办法
36
查看次数

使用 Vaadin 和 Spring 运行应用程序时出现问题(MySQL DB)

我正在尝试按照我在此处找到的说明将 Vaadin 项目连接到 MySQL 数据库:https: //dzone.com/articles/how-to-connect-a-mysql-database-to-a-vaadin-applic

我下载了文章中准备好的项目(也可以在这里找到: https: //github.com/Liskokuningas/databasemysqlexample

然后,我在 MySQL Workbench 中创建了虚拟数据架构,并尝试通过 Windows 10 命令行运行该应用程序,如下所示: mvn clean install -U /*all is fine here, build is successful*/ 然后mvn spring-boot:run

然后我得到一个错误:



Followed by:
java.lang.RuntimeException: Unable to initialize com.vaadin.flow.spring.VaadinServletContextInitializer$VaadinAppShellContextListener
        at com.vaadin.flow.spring.VaadinServletContextInitializer$FailFastServletContextListener.contextInitialized(VaadinServletContextInitializer.java:192) ~[vaadin-spring-16.0.1.jar:na]
        at com.vaadin.flow.spring.VaadinServletContextInitializer$CompositeServletContextListener.lambda$contextInitialized$0(VaadinServletContextInitializer.java:209) ~[vaadin-spring-16.0.1.jar:na]
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na]
        at com.vaadin.flow.spring.VaadinServletContextInitializer$CompositeServletContextListener.contextInitialized(VaadinServletContextInitializer.java:209) ~[vaadin-spring-16.0.1.jar:na]
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4680) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[na:na]
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ~[tomcat-embed-core-9.0.22.jar:9.0.22]
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) …
Run Code Online (Sandbox Code Playgroud)

java mysql tomcat vaadin spring-boot

3
推荐指数
1
解决办法
1177
查看次数

如何在不使用 SpringBoot 但使用嵌入式 Tomcat 的情况下从 Vaadin 8 迁移到 Vaadin 20?

我当前的Vaadin 8项目遇到的问题是,我有一个 java 入口类,它使用一些静态和动态上下文启动Tomcat的 2 个实例。

Vaadin 8中,我曾经在 Eclipse 上静态链接所有库,因此之前我没有使用 pom.xml 文件,但为了更新当前工作流程,我在 pom.xml 文件上定义了所有这些库。现在我正在使用 pom.xml 文件,我意识到整个前端是通过vaadin-maven-plugin启动的,我真的不知道如何使用嵌入式Tomcat服务器来工作前端( Fusion 和 Flow ) ,但是没有SpringBoot

我认为 vaadin 团队希望社区越来越多地使用SpringBoot 。

那么如何集成Vaadin 20(Fusion 和 Flow)+ 嵌入式Tomcat服务器但没有SpringBoot呢?或者您是否建议也迁移到SpringBoot我看到了Vaadin 20 Fusion部分所需的许多注释,并且仅适用于SpringBoot

tomcat vaadin spring-boot vaadin20 hilla

3
推荐指数
1
解决办法
140
查看次数

Vaadin:动态更改 CSS 变量

有没有办法动态改变 lumo 原色:

html {
  --lumo-primary-text-color: hsl(214, 35%, 15%);
  --lumo-primary-color-50pct: rgba(140, 236, 0, 0.5);
  --lumo-primary-color-10pct: rgba(140, 236, 0, 0.1);
  --lumo-primary-color: #8CEC00;
  --lumo-primary-contrast-color: hsl(214, 35%, 15%);
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

最好的问候, 托马斯

vaadin vaadin-flow

2
推荐指数
1
解决办法
65
查看次数

Vaadin + LitElement - 来自`get style()` 的样式没有得到应用

我有一个简单的 LitElement 类,我想用一些内部 CSS 设置样式:

import {LitElement, html, css, customElement, property} from 'lit-element';


@customElement('address-card')
export class AddressCard extends LitElement {

  @property()
  streetAddress?: string;

  @property()
  postalCode?: string;

  @property()
  city?: string;


  static get styles() {
    return css`
      .address { border: 1px dashed gray; }
      `;
  }

  render() {
    return html`
    <div class="address">  
      <div>${this.streetAddress}</div> 
      <div>${this.postalCode} ${this.city}</div>
    </div>
    `;

  // Remove this method to render the contents of this view inside Shadow DOM
  createRenderRoot() {
    return this;
  }
}
Run Code Online (Sandbox Code Playgroud)

static get styles()方法应该允许我向组件添加样式,但我在那里添加的任何内容似乎都没有得到应用。甚至 …

css vaadin lit-element

2
推荐指数
1
解决办法
30
查看次数

无法在 Vaadin 视图中从 @JavaScript import 调用 JS 函数

我有这样的瓦丁观点:

@Route()
@JavaScript(value="scripts/print.js")
public class PrintableView extends BaseView {


    @Override
    public void setParameter(BeforeEvent event, @OptionalParameter String parameter) {
        super.setParameter(event, parameter);
    }

    @Override
    protected void onAttach(AttachEvent attachEvent) {
        UI.getCurrent().getPage().executeJs("printWhenLoaded($0);",".layout");
    }
    

}
Run Code Online (Sandbox Code Playgroud)

以及 JavaScript 导入:

function printWhenLoaded(selector) {
  setTimeout(function () {
    var e = document.querySelector(selector);
    if(e && e.innerHTML.length) {
        window.print();
        window.close();
    }
    else printWhenLoaded(selector)
  }, 200)
};
//printWhenLoaded('.layout');
Run Code Online (Sandbox Code Playgroud)

导入成功加载(最终),因为当我取消注释最后一行时,它起作用了。但是,当尝试从 onAttach 方法调用它时,我在浏览器控制台中看到一个错误,指出“printWhenLoaded”未定义。

看来在 onAttach 时,JS 文件实际上还没有被浏览器加载。

vaadin vaadin-flow

2
推荐指数
1
解决办法
217
查看次数

如何将 javascript 文件包含到 Vaadin 14 litlement 组件中

如何将 JavaScript 库文件包含到 Vaadin 14 中的 LitElement 模板组件中?我想加载一个文件并在组件附加到组件层次结构时自动执行它。

vaadin

0
推荐指数
1
解决办法
299
查看次数