You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/templates/repo/issue/view_content
wxiaoguang 0bc8bb3cc4
Make issue meta dropdown support Enter, confirm before reloading (#23014)
As the title. Label/assignee share the same code.

* Close #22607
* Close #20727

Also:

* partially fix for #21742, now the comment reaction and menu work with
keyboard.
* partially fix for #17705, in most cases the comment won't be lost.
* partially fix for #21539
* partially fix for #20347
* partially fix for #7329

### The `Enter` support

Before, if user presses Enter, the dropdown just disappears and nothing
happens or the window reloads.

After, Enter can be used to select/deselect labels, and press Esc to
hide the dropdown to update the labels (still no way to cancel ....
maybe you can do a Cmd+R or F5 to refresh the window to discard the
changes .....)


This is only a quick patch, the UX is still not perfect, but it's much
better than before.


### The `confirm` before reloading

And more fixes for the `reload` problem, the new behaviors:

* If nothing changes (just show/hide the dropdown), then the page won't
be reloaded.
* If there are draft comments, show a confirm dialog before reloading,
to avoid losing comments.

That's the best effect can be done at the moment, unless completely
refactor these dropdown related code.

Screenshot of the confirm dialog:

<details>


![image](https://user-images.githubusercontent.com/2114189/220538288-e2da8459-6a4e-43cb-8596-74057f8a03a2.png)

</details>

---------

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
1 year ago
..
add_reaction.tmpl Make issue meta dropdown support Enter, confirm before reloading (#23014) 1 year ago
attachments.tmpl Remove fomantic image module (#21145) 2 years ago
comments.tmpl Improve accessibility for issue comments (#22612) 1 year ago
comments_delete_time.tmpl Make sure fmt catches all templates (#20979) 2 years ago
context_menu.tmpl Make issue meta dropdown support Enter, confirm before reloading (#23014) 1 year ago
pull.tmpl Fix the Manually Merged form (#23015) 1 year ago
pull_merge_instruction.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
reactions.tmpl Make sure fmt catches all templates (#20979) 2 years ago
reference_issue_dialog.tmpl Make sure fmt catches all templates (#20979) 2 years ago
sidebar.tmpl Make issue meta dropdown support Enter, confirm before reloading (#23014) 1 year ago
update_branch_by_merge.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago