gitea/web_src/js/features
JakobDev aaa1094663
Add the ability to pin Issues (#24406)
This adds the ability to pin important Issues and Pull Requests. You can
also move pinned Issues around to change their Position. Resolves #2175.

## Screenshots

![grafik](https://user-images.githubusercontent.com/15185051/235123207-0aa39869-bb48-45c3-abe2-ba1e836046ec.png)

![grafik](https://user-images.githubusercontent.com/15185051/235123297-152a16ea-a857-451d-9a42-61f2cd54dd75.png)

![grafik](https://user-images.githubusercontent.com/15185051/235640782-cbfe25ec-6254-479a-a3de-133e585d7a2d.png)

The Design was mostly copied from the Projects Board.

## Implementation
This uses a new `pin_order` Column in the `issue` table. If the value is
set to 0, the Issue is not pinned. If it's set to a bigger value, the
value is the Position. 1 means it's the first pinned Issue, 2 means it's
the second one etc. This is dived into Issues and Pull requests for each
Repo.

## TODO
- [x] You can currently pin as many Issues as you want. Maybe we should
add a Limit, which is configurable. GitHub uses 3, but I prefer 6, as
this is better for bigger Projects, but I'm open for suggestions.
- [x] Pin and Unpin events need to be added to the Issue history.
- [x] Tests
- [x] Migration

**The feature itself is currently fully working, so tester who may find
weird edge cases are very welcome!**

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Giteabot <teabot@gitea.io>
2023-05-25 15:17:19 +02:00
..
admin Introduce eslint-plugin-no-jquery/no-event-shorthand (#24198) 2023-04-20 05:28:27 -04:00
comp Support markdown editor for issue template (#24400) 2023-05-08 22:22:52 +00:00
captcha.js Add new captcha: cloudflare turnstile (#22369) 2023-02-05 15:29:03 +08:00
citation.js Introduce eslint-plugin-no-jquery/no-event-shorthand (#24198) 2023-04-20 05:28:27 -04:00
clipboard.js Use clippie module to copy to clipboard (#23801) 2023-04-02 17:25:36 +08:00
codeeditor.js Improve "goto issue by number" button (#24577) 2023-05-10 15:50:58 +00:00
colorpicker.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
common-global.js Support Copy Link for video attachments (#24833) 2023-05-21 22:06:17 +00:00
common-issue-list.js Improve "goto issue by number" button (#24577) 2023-05-10 15:50:58 +00:00
common-issue-list.test.js Improve "goto issue by number" button (#24577) 2023-05-10 15:50:58 +00:00
common-organization.js Fix Org edit page bugs: renaming detection, maxlength (#24161) 2023-04-17 11:35:57 -04:00
contextpopup.js Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876) 2023-04-03 18:06:57 +08:00
copycontent.js Add two eslint plugins (#24776) 2023-05-18 09:14:31 +08:00
dropzone.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
emoji.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
eventsource.sharedworker.js Fix the JS error "EventSource is not defined" caused by some non-standard browsers (#20584) 2022-08-03 22:58:27 +03:00
file-fold.js Scroll collapsed file into view (#23702) 2023-04-05 07:51:42 +08:00
heatmap.js Localize activity heatmap (except tooltip) (#24131) 2023-04-17 14:26:01 -04:00
imagediff.js Fix various ImageDiff/SVG bugs (#23312) 2023-03-07 20:11:24 +08:00
install.js Fix various bugs for "install" page (#23194) 2023-03-04 10:12:02 +08:00
notification.js Rework notifications list (#24812) 2023-05-25 02:31:26 +00:00
org-team.js Add status indicator on main home screen for each repo (#24638) 2023-05-13 21:59:01 +00:00
pull-view-file.js Improve accessibility when (re-)viewing files (#24817) 2023-05-21 20:47:41 +00:00
repo-branch.js Display warning when user try to rename default branch (#24512) 2023-05-04 22:54:38 +00:00
repo-code.js Improve accessibility when (re-)viewing files (#24817) 2023-05-21 20:47:41 +00:00
repo-code.test.js Ignore line anchor links with leading zeroes (#21728) 2022-11-11 18:22:36 +08:00
repo-commit.js Fix hidden commit status on multiple checks (#22889) 2023-02-20 16:43:04 +08:00
repo-common.js Introduce eslint-plugin-no-jquery/no-event-shorthand (#24198) 2023-04-20 05:28:27 -04:00
repo-diff-filetree.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
repo-diff.js Improve accessibility when (re-)viewing files (#24817) 2023-05-21 20:47:41 +00:00
repo-editor.js Add popup to hashed comments/pull requests/issues in file editing/adding preview tab (#24040) 2023-04-11 23:03:23 -04:00
repo-findfile.js Refactor branch/tag selector to Vue SFC (#23421) 2023-03-14 17:51:20 +08:00
repo-findfile.test.js Refactor branch/tag selector to Vue SFC (#23421) 2023-03-14 17:51:20 +08:00
repo-graph.js Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
repo-home.js Sort repo topic labels by name (#24123) 2023-04-14 15:29:05 -04:00
repo-issue-content.js Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
repo-issue-list.js Add the ability to pin Issues (#24406) 2023-05-25 15:17:19 +02:00
repo-issue-pr-form.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
repo-issue.js Improve accessibility when (re-)viewing files (#24817) 2023-05-21 20:47:41 +00:00
repo-legacy.js Support markdown editor for issue template (#24400) 2023-05-08 22:22:52 +00:00
repo-migrate.js Make repo migration cancelable and fix various bugs (#24605) 2023-05-11 08:25:46 +00:00
repo-migration.js Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
repo-projects.js Add two eslint plugins (#24776) 2023-05-18 09:14:31 +08:00
repo-release.js Update JS dependencies, add new eslint rules (#24597) 2023-05-09 02:35:49 +00:00
repo-settings.js Support for status check pattern (#24633) 2023-05-17 16:11:13 +08:00
repo-template.js Add status indicator on main home screen for each repo (#24638) 2023-05-13 21:59:01 +00:00
repo-unicode-escape.js Improve accessibility when (re-)viewing files (#24817) 2023-05-21 20:47:41 +00:00
repo-wiki.js Fix EasyMDE toolbar (#24489) 2023-05-03 01:23:39 -04:00
serviceworker.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
sshkey-helper.js Use explicit jQuery import, remove unused eslint globals (#18435) 2022-01-28 21:00:11 +00:00
stopwatch.js Move helpers to be prefixed with `gt-` (#22879) 2023-02-13 17:59:59 +00:00
tablesort.js JS refactors (#22227) 2022-12-24 00:03:11 +08:00
tribute.js Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876) 2023-04-03 18:06:57 +08:00
user-auth-webauthn.js Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00
user-auth.js Fix OAuth loading state (#24788) 2023-05-18 11:50:11 +00:00
user-settings.js Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 2023-02-19 12:06:14 +08:00