GWT / MVP:適切なMVPパターンを持つテーブル内の変更イベントの検出
質問
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();
}
});
. 所属していません StackOverflow