问题标签 [gwt-editors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1251 浏览

gwt - 如何使用客户端验证器验证方法调用的返回值在 EditorDriver 上设置约束条件

使用 GWT 2.5.0,我想使用客户端验证和编辑器。尝试将 ConstraintViolation java.util.Set 传递给 EditorDriver 时遇到以下错误,如下所示。

The method setConstraintViolations(Iterable<ConstraintViolation<?>>) in the type EditorDriver<Person> is not applicable for the arguments (Set<ConstraintViolation<Person>>)

我能找到的唯一相关的帖子是问题 6270

下面是一个带有 Person Editor 的 PopUpDialog 示例,它允许您指定名称并根据您的注释对其进行验证。注释掉personDriver.setConstraintViolations(violations);PersonEditorDialog 中的行将允许您运行示例。

我没有足够的声誉点来发布示例的图像。

课程


人物编辑器对话框

样本验证工厂

EditorValidationTest

绑定器

PersonEditorDialog.ui.xml

GWT 模块

类路径所需的库

  • hibernate-validator-4.1.0.Final.jar
  • hibernate-validator-4.1.0.Final-sources.jar
  • validation-api-1.0.0.GA.jar(在 GWT SDK 中)
  • validation-api-1.0.0.GA-sources.jar(在 GWT SDK 中)
  • slf4j-api-1.6.1.jar
  • slf4j-log4j12-1.6.1.jar
  • log4j-1.2.16.jar
0 投票
1 回答
141 浏览

gwt - 具有多态类型的 GWT ListEditor - 无法更新

我的问题与这个问题几乎相同: 具有多态类型的 ListEditor Thomas 有一个很好的答案,但这对我来说还不够。

我想显示可能不同的对象列表,因此每个编辑器的显示方式可能不同。它几乎可以工作,只是我找不到问题:无法获取当前值并保存它。(我认为setValue方法必须自动调用,但我必须自己调用)

这是一些代码:

形状列表编辑器:

形状编辑器包装器:

形状编辑器:

ShapeTriangleEditor 和 ShapeSquareEditor 具有相同的属性,但我不想拥有相同的显示。此类覆盖 setValue(),创建并显示具有良好值的字段。但是,如果我更改一个值,则不会检测到任何修改。

谁能告诉我我错过了什么?

提前致谢

0 投票
1 回答
688 浏览

gwt - 使用 GIN 注入 ListEditor 的泛型工厂

我编写了一个能够创建任何类型的 ListEditor 的工厂:

及其实现:

如果我使用 Gin 注入的 Provider 直接实例化工厂,效果会非常好:

但是,如果我想像这样注入整个 ListEditorFactory:

杜松子酒抱怨一个简单的bind(ListEditorFactory.class).to(ListEditorFactoryImpl.class);绑定:

我试过了,bind(new TypeLiteral<ListEditorFactory<?, ?>>() {}).to(new TypeLiteral<ListEditorFactoryImpl<?, ?>>() {});但得到了一个

绑定bind(new TypeLiteral<ListEditorFactory<NoteDTO, CharacterNoteScreen>>() {}).to(new TypeLiteral<ListEditorFactoryImpl<NoteDTO, CharacterNoteScreen>>() {});正在工作,但通用工厂失去了很多兴趣。

您知道声明此绑定的通用方法吗?

谢谢

0 投票
1 回答
97 浏览

gwt - 使用 GWT 编辑器进行 JUnit 测试

在我当前的项目中,我们有一个基于 mvp 模式的 gwt 客户端应用程序。现在,我有一个实现Editor的 View和一个Presenter ,每个 getter 访问都获取EditorDriver 。Presenter在EditorDriver上调用edit()flush()

我发现的是MockSimpleBeanEditorDriver但没有像editormock。准备好使用“MockSimpleBeanEditor”会很好。

有没有办法让它在 JUnit 测试中工作?

0 投票
2 回答
75 浏览

java - 几个编辑只需要一个 GWT 驱动程序?

我有主要的小部件,它EditorUser. UserWidget包含字段地址,这是具有自己的小部件的不同实体。这两个小部件都是用 UIBinder 制作的。制作为对话框的地址小部件。当我driver.flush()在主小部件中调用时,如何从地址小部件对话框文本框中获取数据?

0 投票
1 回答
90 浏览

gwt - 链表编辑器

我有多个具有一对多关系的实体,例如:

我正在尝试由编辑编辑这些实体

在 UI 中,它看起来像:

因此,当我尝试编辑已保存的数据时,它可以正常工作。但是如果我动态创建 B 和 C,那么同时保存列表 Bc == null

为什么 RF 不发送 CListEditor 列表?

0 投票
1 回答
2040 浏览

java - 在基于 EnumSet 的 GWT ValueListBox 中设置可接受值的列表?

鉴于我将此实体作为编辑器链的一部分:

和这个编辑器:

目前,ValueListBox 呈现 CommissionType 的所有可能选项,如下所示:

ValueListBox 呈现 Enum 的所有可能值

EnumSet 可以包含 1 到 4 个可能的选项,具体取决于特定实体。有没有办法让 ValueListBox 只呈现 EnumSet 中的选项,然后将值保存在 CommissionType 中?

请记住,我也想设置commissionType 的值。

0 投票
0 回答
1388 浏览

java - GWT Editors - 使用 valuelistbox 从列表中选择一个项目

我有一个包含几个子编辑器的 ValueAwareEditor:

本质上,OfferDto 由 TariffDto 和 Commission 组成。委员会可以是 4 种子类型之一,但只有一种。通常,TariffDto 中可能的佣金列表仅包含一个元素,但有时可以包含两个元素。

当佣金包含多个项目时,我想显示一个包含两个选项的下拉列表,并添加允许用户在它们之间进行选择,每次在 OfferDto 和 CommissionEditor 中重置佣金。

问题是,当第二次调用commission.setValue() 时,编辑器没有改变。我应该在这里做什么?

目前,我在 ValueListBox 中呈现佣金列表,然后当值更改时,我将该值推送到 OfferDto。委员会似乎设置正确,但 subEditor 没有改变。

非常感谢任何帮助。

编辑:

CommissionEditor 根据类型显示相关的子编辑器。

可能的解决方案:

OfferEditor是这样改的:

新编辑器CommissionsEditor是 CompositeEditor。它需要获取 List duty.commissions 并将选择的 Commission 设置为 offer.commission:

CommissionsEditor渲染下拉菜单并被onValueChange()调用时,新编辑器被创建,但佣金的值似乎从未被设置。

由于某种原因,选定的 subEditor 的值没有被推入offer.setCommission(). 我以为chain.attach()会为我执行此操作?

0 投票
1 回答
92 浏览

java - GWT 编辑器客户端验证?

使用编辑器框架,我发现您必须自己进行客户端验证。这是一个处理这个主题的问题。

当我想将客户端验证与编辑器框架集成时,我真的必须编写所有这些代码吗?

0 投票
1 回答
87 浏览

gwt - 自定义 GWT 编辑器如何知道新编辑开始(在 setValue 之前)

如果我们有一个带有 LeafValue 子编辑器的编辑器。我们可以实现接口ValueAwareEditor。使用这个接口可以实现一个flush和一个setValue。但是在驱动程序在子编辑器中设置了所有值之后调用 setValue。我们如何在子编辑器中驱动程序设置值之前执行代码。(这可能允许清除编辑器的状态)。

编辑器中的编辑(或显示)循环是否有等效的刷新方法?

谢谢。