openui / open-ui

Maintain an open standard for UI and promote its adherence and adoption.
https://open-ui.org
Other
3.52k stars 191 forks source link

[invokers] Should invokers toggling a dialog close or cancel? #937

Open keithamus opened 10 months ago

keithamus commented 10 months ago

Right now the explainer for invokers suggests that any of the toggle actions should cancel the dialog.

<dialog id=d>
  <button invokertarget=d>This will cancel the dialog</button>
</dialog>

The cancel event is fired when a CloseWatcher closes a dialog, it currently doesn't fire for buttons, so having these buttons cancel the dialog would be somewhat new behaviour.

My vote is that they should close instead of cancel, but I'd like to hear others' thoughts.

/cc @lukewarlow @mfreed7 @scottaohara @domenic

lukewarlow commented 10 months ago

For me it would make sense for cancel buttons to cancel and submit buttons to close.

Given we can't know the intent for toggles I think close is the better approach.

I do think a cancel action is useful separate to the toggle ones though.

scottaohara commented 10 months ago

by cancel you mean button/input type=reset?

what would button type=button do?

Edit: the call today clarified my question, and i was mistakenly thinking that input type=reset also closed dialogs.

css-meeting-bot commented 10 months ago

The Open UI Community Group just discussed [invokers] Should invokers toggling a dialog close or cancel?, and agreed to the following:

The full IRC log of that discussion <jarhar> keithamus: the close button or default/auto behavior for an invoke button inside the dialog
<bkardell_> close
<jarhar> keithamus: could be toggle togglemodal or close
<jarhar> keithamus: should it fire the cancel event?
<bkardell_> it should not fire *a* cancel event
<jarhar> masonf: the auto action is going to be togglemodal, so if the modal is already open its close
<keithamus> Proposed resolution: closing a dialog from an invoker will not dispatch a cancel event
<Luke> +1
<jarhar> +1
<keithamus> RESOLVED: closing a dialog from an invoker will not dispatch a cancel event
github-actions[bot] commented 1 week ago

There hasn't been any discussion on this issue for a while, so we're marking it as stale. If you choose to kick off the discussion again, we'll remove the 'stale' label.