Project

General

Profile

Defect #588

賛同しましたダイアログが複数出る

Added by 啓介 大橋 over 10 years ago. Updated over 10 years ago.

Status:
終了(Closed)
Priority:
通常(Normal)
Assignee:
Target version:
Start date:
10/08/2010
Due date:
% Done:

100%

Estimated time:

Description

UserUIにて「"自分も賛同する"」ボタンをクリックするたびに、
agreedSubmit(ボタン)にaddClickHandlerをしてしまっている為、
同じHandlerが複数動いてしまっている。
(多分同じ人が重複登録されていたのもそれのせい?)

addClickHandlerするときの戻り値HandlerRegistrationを保存しておいて、
登録前に毎回消してから登録する必要あり。
(それかagreedSubmitをnewしなおす)

#1

Updated by yusuke kokubo over 10 years ago

あー。なるほど。
やっと問題を理解できました。

これどうやってなおしましょうね…。

#2

Updated by yusuke kokubo over 10 years ago

  • Target version set to Sprint10.10
#3

Updated by 啓介 大橋 over 10 years ago

毎回agreedSubmitをつくり直しちゃうのが楽だとは思いますが、
ほかはagreeSubmit.addClickHandlerで返ってくるHandlerRegistrationをUserUIに保持しておいて、
makeAgreedButtonのreturn 直前でnullじゃなければHandlerRegistration#removeHandlerを呼び出せば直るはずっす。

#4

Updated by yusuke kokubo over 10 years ago

ありがとうございます。

よくわかってなくてすみません。
この方法だと最後にaddClickHandlerしたハンドラしか有効にならなくないですか?

#5

Updated by 啓介 大橋 over 10 years ago

賛同ボタンクリックしたタイミングで、addClickHandlerされるので、
大丈夫かなと思ってます。
(キャンセルや、submitをしてダイアログとじても、
次に賛同ボタンが押されるときには、前のやつを消せばまだHandlerが積まれてない)
毎回賛同ボタン押すごとに最新のHandlerを更新するみたいな感じで。

完全にやるなら、submitや、cancelのタイミングでHandlerRegistration#removeHandlerを呼び出して
削除してもいいです。(削除後保存している、HandlerRegistrationをnull更新)

ちょっと試せてませんが。。。。
申し訳ないっす。。。

#6

Updated by yusuke kokubo over 10 years ago

  • Status changed from 新規(New) to 担当(Assigned)
  • Assignee set to yusuke kokubo

とりあえずこんな感じに直してみました。どうでしょう?

http://github.com/YusukeKokubo/SkillMaps/commit/03314e1d06e0cd22654c4994ff7cf254a0c94b51

#7

Updated by 啓介 大橋 over 10 years ago

多分大丈夫な気がします!

1回目
賛同ボタン作成→賛同ボタンクリック→submit click handler登録→(ホゲホゲ)

2回目以降
賛同ボタン作成、前回のsubmit click handler削除→賛同ボタンクリック→submit click handler登録→(ホゲホゲ)

で動くはずっす!
すいません やってもらって。。。

#8

Updated by yusuke kokubo over 10 years ago

1回目
賛同ボタン作成→賛同ボタンクリック→submit click handler登録→(ホゲホゲ)

2回目以降
賛同ボタン作成、前回のsubmit click handler削除→賛同ボタンクリック→submit click handler登録→(ホゲホゲ)

あー。なるほど!

すいません やってもらって。。。

こちらこそありがとうございます!
この問題はわかってる人に教えてもらわないとずっとわからないままだったと思います。

#9

Updated by yusuke kokubo over 10 years ago

  • Status changed from 担当(Assigned) to 解決(Resolved)
#10

Updated by yusuke kokubo over 10 years ago

  • Status changed from 解決(Resolved) to 終了(Closed)
  • % Done changed from 0 to 100

最新のmasterではボタンを作るごとにインスタンスを別にしたので
重複するようなことはなくなったはず。

Also available in: Atom PDF