問題タブ [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 に答える
1401 参照

java - GWT Editor Framework - 独自のエディターで ValueListBox を使用して ENUM を表示

私は Enum を持っていますSupplierCode:

を使用してエディターに表示しますValueListBox

アプリでこのタイプを数回編集する必要があるため、このドロップダウン用のエディターを作成したいと思いましたSupplierCodeEditor

しかし、私がそれを使用すると、オプションでリストを正常にレンダリングしますが、リストから実際の値を選択しません。getValue() および setValue() メソッドを使用すると機能すると思いましたが、機能しないようです。

これを1つのエディターファイルに入れる方法を知っている人はいますか? そうすれば、レンダラーのコードを繰り返して、使用するすべての場所で setAcceptableValues() を呼び出す必要がなくなります。

0 投票する
1 に答える
286 参照

gwt - 編集中に GWT Editor を変更する方法

ここに画像の説明を入力選択内容に応じていくつかのフィールドを変更する GWT フォームがあります。フォームは Editor、Driver GWT モジュールを使用します

ストーリーは、自分のプロフィールを編集して、「私はユーザーです」または「私は売り手です」(最終的には「私は別の何かです」)と言う人です。 、ビュー内の一部のエディターを変更したい (人の姓、名は会社名になり、税金のシリアル番号になり、他の多くのフィールドは同じままですが、場所を変更します)。UiBinder 画面を 2 セット (プロファイルごとに 1 つ) 作成しました。そして、これらのサブエディターを処理する「私は会社です」チェックボックスを含むメインの UiBinder があります

今までできると思っていたのは、サブエディターを持つ ValueAwareEditor があることです。

両方ともドライバーによって埋められますが、そのうちの 1 つだけが表示されます。

問題は、多くのエディターで同じプロパティを持つという考えが好きではなく、このアプローチが意味するパフォーマンスも好きではないということです

一方、CompanyBasicInfo と PersonBasicInfo は通常の Editor 実装です。そのため、必要なときに setValue() を呼び出すことができないため、両方に @Ignore を設定することはできません。

また、ValueAwareEditor を実装することは、通常のエディター ウィジェットが含まれているため明確ではありません。そのため、フィールドで setValue() を呼び出すことはできません。問題をさらに一歩進めるだけです...

ビューでは、ドライバーにアクセスして edit() を再度呼び出すこともできません。リストでそれがどのように行われるかを調べましたが、新しい概念が多すぎます。この単純なケースを処理できるようにするためだけにすべてのコードを学ぶ必要はないと思います

回答ありがとうございます

0 投票する
1 に答える
227 参照

gwt - GWT エディター: フィールドとサブエディターへの変更を記録する方法は? (リクエストファクトリー?)

Editor Framework を多用するアプリがあります。現在、新しい機能を追加したいところです。ユーザーがエンティティを編集した場合、どの変更が行われたかを記録し、それらを別のデータストア エンティティに保存したいと考えています。これには、フィールドが変更されたかどうか、フィールド名、および変更後の値を知る必要があります。

これは私が実装したいものです:

  1. アプリは edit(bean); を呼び出します。
  2. ユーザーが変更を行い、flush() を呼び出すと、データがサーバーに送り返されます。
  3. サーバーハンドラーでは、Bean からの変更が送信されprocessChanges(List<String> paths)、「field foo」が「bar」に変更されたというレコードが作成および保存されます。
  4. エンティティが保存され、既存のエンティティが上書きされます。

私は GWTP を使用しており、現在は RPC コマンド パターンを使用しています。RequestFactory について少し読んだことがありますが、その主な利点の 1 つは、「デルタ」と呼ばれる変更されたフィールドのみをサーバーに送信してペイロードを最小限に抑えることです。私のアプリにより適していますか?

お詫び - GWT のドキュメントと Editor Framework と RequestFactory の Javadoc を読んでいますが、まだかなり混乱しています。RequestFactoryEditorDriver.getPaths()は私が必要としているもののようですが、アドバイスやポインタは大歓迎です。

おそらくクライアント側の変更を監視できますが、それは悪い考えのようです。

0 投票する
0 に答える
515 参照

java - 多相型の GWT エディター フレームワーク

クラス階層に従っています。

ここで、A のエディターを再利用し、B と C の値でもうまく機能するエディターが必要です。したがって、次のように進めました。

次に、編集中の実際のタイプに基づいてエディターを選択します。ドライバーはオブジェクトを正しくフラッシュします。しかし、制約違反を表示すると、すべての違反がウィジェットに送信される前に複製されます。

「タイトルを空にすることはできません」「タイトルを空にすることはできません」</p>

さらに悪いことに、そのようなウィジェット (@Path("") アノテーション付き) を 1 つのフォームに複数含めると、違反が増え続けます。以下のセットアップでは、3 つの違反が設定されています。

回避策は、EditorB 内で EditorA を使用しないことです。代わりに、EditorA のすべてのウィジェットをコピーして EditorB.ui.xml に貼り付けます。その後、単一の違反のみが設定されます (予想どおり)。ただし、実際には EditorA は非常に複雑であるため、これは多くのコードの重複です。

この種のエディター設定の何が問題になっていますか? 私は基本的にここに記載されているガイドラインに従っています: http://www.gwtproject.org/doc/latest/DevGuideUiEditors.html#Very_large_objects

======更新=======

さらにデバッグしました (まだ成功していません) SimpleViolation.java では、次のコードは 1 つのプロパティに対して 3 つの一致するデリゲートを見つけることができます。

上記の delegateList には、構成に応じて 2 つまたは 3 つのエディターがあります。考えられる理由は、subType がすべての superType プロパティにアクセスできるため、subType エディター ドライバーがそのプロパティのデリゲートと見なされるためです。SuperType のエディターは、それ自体がデリゲートです。全員がエディタを実装しているため、全員が違反を設定する責任があります。関係するすべてのエディターについて、違反を複数回表示する同じテキストボックスに違反をプッシュします。

これは期待されていますか?はいの場合、ポリモーフィック型のエディター フレームワークを正しく使用し、ConstraintViolation を 1 回だけ表示するにはどうすればよいですか?

0 投票する
1 に答える
166 参照

java - エディタとリクエスト ファクトリを使用した Gwt クライアントの検証

RequestFactory と Editors で使用される GWT Client Validation に問題がありました。

編集コードは次のとおりです。

保存コードは次のとおりです。

私の問題は、ローカル検証が常に読み込まれたバージョンで検証され、ユーザーが編集したバージョンでは検証されないことです。リクエストに保存されたフラッシュされたオブジェクトを取得するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
58 参照

google-maps - 複数のプロパティを編集する Gwt エディター

複数のプロパティを編集するプロキシ エディタを作成することはできますか?

これが私がやりたいことを示す例です:

'LATITUDE' と 'LONGITUDE' の 2 つのプロパティを持つ Marker (Google マップなど) と呼ばれるエンティティがあるとします。そのため、最初に行うことは、2 つのサブエディター (Double を編集する GWTBootstap の DoubleBox) で構成された CompositeEditor を作成することです。 ..

しかし、今はより良いフロントエンドアプリを作りたいと思っています。そのため、マップにマーカーを配置し、その緯度と経度のプロパティを使用してプロキシに設定できるGoogleマップを使用しています。

どうすればこれを行うことができますか??? 2 つのプロパティ (緯度と経度) を編集する 1 つの MAP エディター。

私の英語でごめんなさい。

0 投票する
0 に答える
291 参照

java - getter/setter Bean クラスだけではない Gwt エディター

2 つの日付フィールド (開始日と終了日) を持つエディター インターフェイス (com.google.gwt.editor.client.Editor) を実装する UI-Binder である GWT でフォームをビルドしたとします。Bean クラスには次のメンバーが必要です。

さて、Bean クラスが記述済みとして定義されている間は問題ありませんが、次のようなものを追加した直後に:

コンパイル エラーが発生しました (たとえば fromDate の場合):

一時ファイル (qualifiedBeanClass_fromDate_Context.java) で生成されたコードには次のように見えます。

親は私のBeanクラスです。これはひどく間違っています。getToDate() は Date (または null) インスタンスを返すため、コンパイル エラーにはまったく問題はありません。問題は、なぜ GWT がこれらのメソッド (hasToDate/hasFromDate) を気にするのか、または getter/setter メソッドのみを持つことが必須なのかということです。