问题标签 [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 投票
0 回答
148 浏览

gwt - 是否应该重新设计 GWT 2.4 中的 ErrorCollector(它是 JSR-303 功能的一部分)?

我知道这个问题与我遇到的特定问题无关。这对 GWT SDK 团队来说是个问题。据我所知,StackOverflow 现在是他们与工程社区的官方沟通渠道 :)

问题:

对于别名编辑器,例如ValueBoxEditorDecorator您将在您的HasEditorErrors.showErrors()- ValueBoxEditorDecorator 本身和嵌套 ValueBoxEditor 中收到重复错误。当前的实现ValueBoxEditorDecorator遍历错误列表并拒绝不属于嵌套编辑器的错误。对我来说,这看起来像是一个 hacky 解决方法:)

问题:

我认为应该在更早的地方丢弃重复项,例如在SimpleViolation.pushViolationsorDelegateMap.ofErrorCollector.endVisit.

最初我想为什么不只为每个唯一的代表保留一个代表EditorContext.getAbsolutePath而放弃其余的代表。然后我意识到,当 ValueBoxEditorDecorator 及其内部的 ValueBoxEditor 会出现不同的错误时,也许有一个用例,尽管由于我对 gwt 来源的短时间了解,我无法想出它是如何发生的场景。

所以这就是我的想法。为什么我们不使用 map inErrorCollector.errorStack而不是List键是 EditorError.getAbsolutePath() 和 EditorError.getUserData() 的组合?它将解决 IMO 的两个问题:

  • 我们不需要过滤掉编辑器中的重复错误。
  • ErrorCollector.visit() 不会假设像这样的编辑器是按层次顺序遍历的。我在文档中看不到访问者总是以这种方式工作的任何地方。

你怎么看 ?

0 投票
1 回答
218 浏览

gwt - GWT 编辑器框架,为这个复杂的用例提供编辑器支持的正确编辑器接口是什么

我有一个 TabPanel wdget,它将有一个未知数量的 TabItems 小部件,每个小部件将有一个未知数量的 FieldSet 类,每个它们都实现

TabItem 类有一个添加 FieldSet 的方法,TabPanel 有一个添加 TabItem 的方法。

我想知道我应该在 TabItem 类或/和 TabPanel 类上实现哪种编辑器,以便提供一个 FooEditor 来处理整个 FieldSet。

我的意思是当我定义:

我需要 FooEditor 将每个 FieldSet 视为子编辑器。

任何帮助将不胜感激。
丹尼尔

0 投票
1 回答
692 浏览

gwt - 如何从 GWT Editor 类访问底层 POJO

我的 POJO 中有一个 HashMap,我正在使用 GWT 中的编辑器框架进行编辑。虽然我可以访问通过他们的 getter/setter 绑定的标准成员变量,但我不知道如何访问 HashMap 中的值。如何访问正在通过使用 SimpleBeanEditorDriver 的编辑器编辑的底层 POJO?

我的 POJO:

我的编辑器:

因此,鉴于我有一个来自 userManager 的有效配置文件 ID 列表,我该如何从我的编辑器中的 POJO 调用 getProfile 方法?

0 投票
1 回答
295 浏览

gwt - GWT 编辑器 onPropertyChange

如何使用 ValueAwareEditor.onPropertyChange?这个功能已经实现了吗?编辑器属性更改时不会调用它。

此外,我看不出是否在 GWT 代码中的任何地方调用了此方法。

0 投票
2 回答
340 浏览

gwt - 将列表子编辑器添加到选项卡面板

我曾经ListEditor允许编辑儿童列表,我所做的一切就像我在一些示例中看到的那样。与示例的唯一区别是我希望将编辑儿童的小部件作为选项卡添加到某些TabLayoutPanel.

问题是我想给这个新选项卡一个标题,这个标题不是恒定的,而是取决于新创建的子编辑器正在编辑的对象(所以让标题是child.getName()),我不知道内部EditorSource#create()方法。

如何将依赖于值的标题设置为由创建的选项卡create()?任何帮助/解决方法将不胜感激。

0 投票
1 回答
182 浏览

gwt - 接口的 Gwt Editor 框架

我正在尝试实现 gwt 编辑器框架。

我创建了一个驱动程序如下:

ABC 是我的班级,我将 ABC 班级的对象传递给

功能。

现在我想使用接口而不是类。但是既然我们不能创建一个接口的实例,我该如何继续呢?我们可以在上述情况下使用接口吗?

0 投票
1 回答
350 浏览

java - GWT Editor Framework,如何实现编辑器的有效复用

在许多情况下,我有相同的面板来编辑不同 DTO 共有的一组属性。所以我希望这个面板只定义一次并重用,所以我为其中一个想出了以下实现:

因此,我将根据需要编辑的模型使用具有不同 DTO 的 IdentificationPanel。例如我有:

因此,在我需要编辑的 2 个类的编辑器的实现中,我将拥有:

当我尝试编译它时,GWT 抱怨,因为它说在生成委托时没有以类 ExampleTrans02Header 作为父类的 IdentificationPanel_businessUnit_Context 类的构造函数。

我知道我可以通过扩展 IdentificationPanel 来解决这个问题,比如:

然后使用这些类而不是参数化的类,但该解决方案似乎有点讨厌,因为这些类不会有任何其他用途。

那么问题来了,有没有其他的方式来实现这个案例呢?我想知道这应该是一个非常常见的用例,但我找不到太多关于它的信息。

在旁注中,我可能会说我是编辑器框架的新手,所以也许我解释错了,如果你能把我引向正确的方向,我将不胜感激。

问候,丹尼尔

0 投票
3 回答
4169 浏览

gwt - 如何将 GWT 的 Editor Framework 与 gwt-platform 一起使用?

我正在使用 gwt-platform 并尝试实现 GWT 的编辑器框架。但我不能从演示者内部得到它。网上有一些答案,说我必须以某种方式将 EditorDriver 注入 Presenter,但我不知道该怎么做......

目前我尝试了这个但没有成功:

如果我明确指定 ViewImplementation,它就可以工作,但这不是 MVP 应该工作的方式:

如果有人能给我一个如何做正确的例子,我会很好。

谢谢

0 投票
2 回答
775 浏览

gwt - 如何使用 GWT Editor 框架编辑 Set?

为了简单起见:

有和匹配

我得到了 UiBuinder 类来编辑 AddressProxy 并且我很清楚如何使用 ListEditor 以防万一我得到 List 但在 Person 类中设置了数据我如何使用 Editor Framework 来编辑它们?或者当它变成 PersonProxy 时,我如何将 Set 转换为 List?

我尝试放置一种可以实现的适配器编辑器类

然后在 LeafValueEditor.setValue() 内部移动到一个 List 并在一个单独的 Editor 层次结构上启动一个新的 driver.edit() ,该层次结构负责 List 编辑,但现在很幸运。

0 投票
2 回答
1794 浏览

gwt - 只读和编辑模式的 GWT 编辑器

GWT 的 Editor 框架非常方便,它不仅可以用于编辑POJO,还可以用于只读显示。

但是,我不完全确定进行内联编辑的最佳做法是什么。

假设我有一个PersonProxy,我有一Presenter-View对用于显示和编辑PersonProxy. 默认情况下,此 Presenter-View 应该以PersonProxy只读模式显示,如果用户按下编辑按钮,它应该允许用户编辑PersonProxy对象。

我想出的解决方案是创建两个编辑器(PersonEditEditorPersonDisplayEditor),它们都通过添加UiBinderView. PersonEditEditorcontains ValueBoxEditorDecorators 和contains PersonDisplayEditornormal Labels
最初我显示PersonDisplayEditor和隐藏PersonEditEditor

View我为每个编辑器创建两个RequestFactoryEditorDriver并使其可以Presenter通过View界面访问。我还在接口中定义了一个setState() 方法View

Presenter我第一次调用时显示PersonDisplayDriver.display()setState(DISPLAYING)

当用户单击编辑按钮时,我会调用PersonEditDriver.edit()setState(EDITING)从我的Presenter.
setState(EDITING)将隐藏PersonDisplayEditor并使其PersonEditEditor可见。

我不确定这是否是最好的方法。如果不是,推荐的内联编辑方法是什么?在编辑器上进行单元测试的最佳方法是什么?