GWT の Editor フレームワークは非常に便利で、POJOの編集だけでなく、読み取り専用表示にも使用できます。
ただし、インライン編集を行うためのベスト プラクティスが何であるかは完全にはわかりません。
を持っていて、を表示および編集するためのペアPersonProxyが 1 つあるとします。この Presenter-View は、デフォルトで を読み取り専用モードで表示し、ユーザーが編集ボタンを押すと、ユーザーがオブジェクトを編集できるようにする必要があります。 Presenter-ViewPersonProxyPersonProxyPersonProxy
私が思いついた解決策はPersonEditEditor、. にはが含まれ
、 には normal が含まれます。
最初は を表示して非表示にします。PersonDisplayEditorUiBinderViewPersonEditEditorValueBoxEditorDecoratorPersonDisplayEditorLabelsPersonDisplayEditorPersonEditEditor
では、エディタごとViewに 2 つ作成し、インターフェイス経由でからアクセスできるようにします。 また、インターフェイスでメソッドを定義します。 RequestFactoryEditorDriverPresenterViewsetState()View
初めて が表示されたときは、とPresenterを呼び出します。 PersonDisplayDriver.display()setState(DISPLAYING)
ユーザーが[編集] ボタンをクリックするPersonEditDriver.edit()とsetState(EDITING)、Presenter.
setState(EDITING)を隠してPersonDisplayEditor見えるようにしPersonEditEditorます。
これが最善のアプローチであるかどうかはわかりません。そうでない場合、インライン編集を行うための推奨されるアプローチは何ですか? エディタで単体テストを行う最良の方法は何ですか?