GWT / MVP:適切なMVPパターンを持つテーブル内の変更イベントの検出

StackOverflow https://stackoverflow.com/questions/3215816

  •  13-09-2020
  •  | 
  •  

質問

GWT-Presenterを使用していますが、実際にはそれに固有の質問ではありません...

ユーザーがユーザーのテーブルを持っています。(発表者によって提供されたデータから)ビューでテーブルを構築すると、行の最後に2つのアクションボタン(「編集」、および「削除」)を追加する必要があります。

クリックハンドラをクリックするのに最適な方法は、発表者がクリックしたことを知っているようにします。これ以降に、プライベートフィールドをプレゼンターに渡して、そのボタンにディスクリートクリックハンドラを添付します。ただし、この方法はかなり剛性であり、このシナリオでは非常にうまく機能しません。

事前にありがとうございました。

役に立ちましたか?

解決

編集/削除イベントの購読を許可して、個々の行をクリックしてからイベントを登録してから、ビューで登録されているものにイベント処理を委任してから、イベント処理を委任しますか?

次のPESUDOコードのようなものを意味します:

ビュー:

addRowEditClickHandler(ClickHandler handler) {
    this.rowEditClickHandler = handler; 
}
addRowDeleteClickHandler(ClickHandler handler) {
    this.rowDeleteClickHandler = handler; 
}

//... somewhere when setting up of the grid...

rowEditButton.addClickHandler = new ClickHandler() {
    onClick(args) {
        this.rowEditClickHandler.onClick(args)

}

rowDeleteButton.addClickHandler = new ClickHandler() {
    onClick(args) {
        this.rowDeleteClickHandler.onClick(args)

}
.

プレゼンター:

View view = new View();
view.addRowEditClickHandler( new ClickHandler() {
    onClick(args) {
        doSomething();
    }
});
view.addRowDeleteClickHandler( new ClickHandler() {
    onClick(args) {
        doSomething();
    }
});
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top