Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#3603 closed defect (fixed)

devise scheme for popup to tear down the widget it creates

Reported by: Adam Peller Owned by: bill
Priority: high Milestone: 0.9
Component: Dijit Version: 0.9
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by Adam Peller)

We've talked about this. Broke this out of #3580:

  • Eventually we want to change Menu, TooltipDialog?? etc. so that dijit.util.popup or at least the parent widget (the DropDownButton??) closes them, rather than closing themselves, but I guess that's a separate issue.

Among the things to consider: onValueChanged, execute and cancel (might deserve their own event?)

May be related to #3462

Change History (5)

comment:1 Changed 15 years ago by Adam Peller

Description: modified (diff)

comment:2 Changed 15 years ago by bill

Resolution: fixed
Status: newclosed

(In [9550]) All widgets that popup are now required to implement either onExecute()/onCancel() or onChange() callbacks, so the parent widget knows when to close them. Think of Menu etc. as a sort of poor-man's dialog with auto-submit just by single mouse-click. changed so that it never closes the popup directly but rather notifies (via "onBlur" callback) when user has clicked something else on the screen, thereby suggesting the popup chain be closed. makes four callbacks now:

  • onExecute: when user clicks a menu item or hits the OK button on a TooltipDialog?
  • onCancel: when user hits ESC key or the cancel button on a dialog
  • onBlur: when user implicitly closes a dialog by clicking away or tabbing to a different node
  • onClose: called when the popup has been closed via user call to dijit.util.close(), closeAll() or closeTo()

Fixes #3603. Refs #3596.

comment:3 Changed 15 years ago by bill

(In [9551]) Convert TooltipDialog? to issue onExecute()/onCancel() callbacks so parent knows when to close it, rather than closing itself.

Refs #3603.

comment:4 Changed 15 years ago by bill

(In [9553]) fix TAB key handling, which is supposed to close the whole chain of popups not just the most recent one. refs #3603

comment:5 Changed 15 years ago by bill

(In [9555]) oops, forgot to set isShowingNow to false when erasing the drop down. refs #3603.

Note: See TracTickets for help on using tickets.