forked from gitea/gitea
1
0
Fork 0
gitea/templates/repo
Yarden Shoham 937e8b5514
Fix elipsis button not working if the last commit loading is deferred (#29544)
Before this change, if we had more than 200 entries being deferred in
loading, the entire table would get replaced thus losing any event
listeners attached to the elements within the table, such as the elipsis
button and commit list with tippy.

With this change we remove the previous javascript code that replaced
the table and use htmx to replace the table.

htmx attributes added:
- `hx-indicator="tr.notready td.message span"`: attach the loading
spinner to the files whose last commit is still being loaded
- `hx-trigger="load"` trigger the request-replace behavior as soon as
possible
- `hx-swap="morph"`: use the idiomorph morphing algorithm, this is the
thing that makes it so the elipsis button event listener is kept during
the replacement, fixing the bug because we don't actually replace the
table, only modifying it
- `hx-post="{{.LastCommitLoaderURL}}"`: make a post request to this url
to get the table with all of the commit information

As part of this change I removed the handling of partial replacement in
the case we have less than 200 "not ready" files. The first reason is
that I couldn't make htmx replace only a subset of returned elements,
the second reason is that we have a cache implemented in the backend
already so the only cost added is that we query the cache a few times
(which is sure to be populated due to the initial request), and the last
reason is that since the last refactor of this functionality that
removed jQuery we don't properly send the "not ready" entries as the
backend expects `FormData` with `f[]` and we send a JSON with `f` so we
always query for all rows anyway.

# Before

![before](https://github.com/go-gitea/gitea/assets/20454870/482ebfec-66c5-40cc-9c1e-e3b3bfe1bbc1)

# After

![after](https://github.com/go-gitea/gitea/assets/20454870/454c517e-3a4e-4006-a49f-99cc56e0fd60)

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-03-02 19:31:59 +00:00
..
actions Remove unnecessary "Safe" modifier from templates (#29318) 2024-02-22 17:02:33 +00:00
branch Remove unnecessary "Str2html" modifier from templates (#29319) 2024-02-22 18:05:47 +00:00
cite Update JS and PY dependencies (#27501) 2023-10-08 00:16:20 +00:00
code Remove incorrect and unnecessary Escape from templates (#29394) 2024-02-25 14:02:20 +00:00
diff Fix incorrect redirection when creating a PR fails (#29537) 2024-03-02 12:45:14 +00:00
editor Fix incorrect tree path value for patch editor (#29377) 2024-02-26 09:05:22 +00:00
find Always use `ctx.Locale.Tr` inside templates (#27231) 2023-09-25 08:56:50 +00:00
graph Rework markup link rendering (#26745) 2024-01-15 08:49:24 +00:00
issue Fix incorrect redirection when creating a PR fails (#29537) 2024-03-02 12:45:14 +00:00
migrate Refactor Safe modifier (#29392) 2024-02-25 10:45:56 +00:00
projects Use full width for project boards (#28225) 2023-11-27 17:43:52 +00:00
pulls Remove unnecessary "Safe" modifier from templates (#29318) 2024-02-22 17:02:33 +00:00
release Fix a bug returning 404 when display a single tag with no release (#29466) 2024-03-02 14:03:39 +00:00
settings Rename Str2html to SanitizeHTML and clarify its behavior (#29516) 2024-03-01 10:16:19 +00:00
tag Fix more "locale" usages (#27259) 2023-09-25 20:42:40 +08:00
wiki Remove incorrect and unnecessary Escape from templates (#29394) 2024-02-25 14:02:20 +00:00
activity.tmpl Implement recent commits graph (#29210) 2024-02-24 10:22:51 +00:00
blame.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 2024-02-22 18:05:47 +00:00
branch_dropdown.tmpl Rework spellchecking, add `lint-spell` (#29106) 2024-02-09 03:59:39 +00:00
clone_buttons.tmpl Fix more "locale" usages (#27259) 2023-09-25 20:42:40 +08:00
clone_script.tmpl Fix URL calculation in clone input box (#29470) 2024-02-28 15:04:04 +00:00
code_frequency.tmpl Implement code frequency graph (#29191) 2024-02-23 23:41:24 +00:00
commit_load_branches_and_tags.tmpl Wrap contained tags and branches again (#29021) 2024-02-02 04:51:09 +00:00
commit_page.tmpl Rename Str2html to SanitizeHTML and clarify its behavior (#29516) 2024-03-01 10:16:19 +00:00
commit_status.tmpl Restore warning commit status (#27504) 2023-10-08 22:16:06 +00:00
commit_statuses.tmpl Show commit status for releases (#29149) 2024-02-19 10:27:05 +00:00
commits.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 2023-09-25 08:56:50 +00:00
commits_list.tmpl Show `View at this point in history` for every commit (#29122) 2024-02-13 09:07:59 +01:00
commits_list_small.tmpl Rework markup link rendering (#26745) 2024-01-15 08:49:24 +00:00
commits_table.tmpl Fix more "locale" usages (#27259) 2023-09-25 20:42:40 +08:00
contributors.tmpl Deduplicate translations for contributors graph (#29256) 2024-02-19 12:47:38 +00:00
create.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 2024-02-22 18:05:47 +00:00
create_helper.tmpl Remove incorrect and unnecessary Escape from templates (#29394) 2024-02-25 14:02:20 +00:00
empty.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 2024-02-22 18:05:47 +00:00
file_info.tmpl Show in Web UI if file is vendored and generated (#28620) 2024-01-24 13:51:37 +08:00
forks.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 2023-09-25 08:56:50 +00:00
graph.tmpl Fix more "locale" usages (#27259) 2023-09-25 20:42:40 +08:00
header.tmpl Use a predictiable fork URL to allow forking repositories without providing a repo ID (#29519) 2024-03-01 12:52:30 +00:00
home.tmpl Move citiation button to proper place (#29374) 2024-02-25 02:13:04 +02:00
icon.tmpl Tweak repo header (#29134) 2024-02-15 16:52:21 +00:00
latest_commit.tmpl Show latest commit for file (#28067) 2024-01-15 17:42:15 +01:00
navbar.tmpl Implement recent commits graph (#29210) 2024-02-24 10:22:51 +00:00
packages.tmpl Fix inconsistent user profile layout across tabs (#25625) 2023-07-06 18:59:24 +00:00
pulse.tmpl Remove unnecessary "Safe" modifier from templates (#29318) 2024-02-22 17:02:33 +00:00
recent_commits.tmpl Implement recent commits graph (#29210) 2024-02-24 10:22:51 +00:00
release_tag_header.tmpl Fix a bug returning 404 when display a single tag with no release (#29466) 2024-03-02 14:03:39 +00:00
search.tmpl Remove incorrect and unnecessary Escape from templates (#29394) 2024-02-25 14:02:20 +00:00
search_name.tmpl Clean template/helper.go (#23922) 2023-04-07 03:31:41 -04:00
shabox_badge.tmpl cleanup locale function usage (#27227) 2023-09-24 20:31:58 +00:00
star_unstar.tmpl Don't do a full page load when clicking `Watch` or `Star` (#29001) 2024-02-05 09:56:20 +00:00
sub_menu.tmpl Enable followCursor for language stats bar (#27713) 2023-10-22 13:06:04 +00:00
unicode_escape_prompt.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 2024-02-22 18:05:47 +00:00
upload.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 2023-09-25 08:56:50 +00:00
user_cards.tmpl Remove unnecessary "Safe" modifier from templates (#29318) 2024-02-22 17:02:33 +00:00
view_file.tmpl Fix incorrect button CSS usages (#29015) 2024-02-01 21:28:50 +00:00
view_list.tmpl Fix elipsis button not working if the last commit loading is deferred (#29544) 2024-03-02 19:31:59 +00:00
watch_unwatch.tmpl Don't do a full page load when clicking `Watch` or `Star` (#29001) 2024-02-05 09:56:20 +00:00
watchers.tmpl Fix user-cards format (#24428) 2023-04-29 15:43:01 -04:00