forgejo/templates/repo/issue
Yarden Shoham 5ddf67a9c2
Make issue meta dropdown support Enter, confirm before reloading (#23014) (#23102)
Backport #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: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-02-24 17:40:36 +08:00
..
fields Support Issue forms and PR forms (#20987) 2022-09-02 15:58:49 +08:00
labels Refactor hiding-methods, remove jQuery show/hide, remove .hide class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
view_content Make issue meta dropdown support Enter, confirm before reloading (#23014) (#23102) 2023-02-24 17:40:36 +08:00
branch_selector_field.tmpl Refactor hiding-methods, remove jQuery show/hide, remove .hide class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
choose.tmpl Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
comment_tab.tmpl Use link in UI which returned a relative url but not html_url which contains an absolute url (#21986) 2023-02-06 12:09:18 -06:00
label_precolors.tmpl Fix purple color in suggested label colors (#18241) 2022-01-11 12:11:40 -06:00
labels.tmpl Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
list.tmpl Refactor hiding-methods, remove jQuery show/hide, remove .hide class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
milestone_issues.tmpl Refactor hiding-methods, remove jQuery show/hide, remove .hide class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
milestone_new.tmpl Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
milestones.tmpl Move helpers to be prefixed with gt- (#22879) 2023-02-13 17:59:59 +00:00
navbar.tmpl Add some headings to repo views (#22869) 2023-02-12 20:20:12 +08:00
new.tmpl Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
new_form.tmpl Refactor hiding-methods, remove jQuery show/hide, remove .hide class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
openclose.tmpl Move helpers to be prefixed with gt- (#22879) 2023-02-13 17:59:59 +00:00
search.tmpl Issues: add Project filter to issues list and search (#22544) 2023-01-29 11:45:29 +08:00
view.tmpl Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
view_content.tmpl Improve accessibility for issue comments (#22612) (#23083) 2023-02-23 16:32:15 +08:00
view_title.tmpl Fix pull request branch selector visible without clicking Edit (#23012) 2023-02-21 00:08:32 +08:00