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.
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>
1 year ago
..
actions Remove unnecessary "Safe" modifier from templates (#29318) 1 year ago
branch Remove unnecessary "Str2html" modifier from templates (#29319) 1 year ago
cite Update JS and PY dependencies (#27501) 2 years ago
code Remove incorrect and unnecessary Escape from templates (#29394) 1 year ago
diff Fix incorrect redirection when creating a PR fails (#29537) 1 year ago
editor Fix incorrect tree path value for patch editor (#29377) 1 year ago
find Always use `ctx.Locale.Tr` inside templates (#27231) 2 years ago
graph Rework markup link rendering (#26745) 1 year ago
issue Fix incorrect redirection when creating a PR fails (#29537) 1 year ago
migrate Refactor Safe modifier (#29392) 1 year ago
projects Use full width for project boards (#28225) 1 year ago
pulls Remove unnecessary "Safe" modifier from templates (#29318) 1 year ago
release Fix a bug returning 404 when display a single tag with no release (#29466) 1 year ago
settings Rename Str2html to SanitizeHTML and clarify its behavior (#29516) 1 year ago
tag Fix more "locale" usages (#27259) 2 years ago
wiki Remove incorrect and unnecessary Escape from templates (#29394) 1 year ago
activity.tmpl Implement recent commits graph (#29210) 1 year ago
blame.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 1 year ago
branch_dropdown.tmpl Rework spellchecking, add `lint-spell` (#29106) 1 year ago
clone_buttons.tmpl Fix more "locale" usages (#27259) 2 years ago
clone_script.tmpl Fix URL calculation in clone input box (#29470) 1 year ago
code_frequency.tmpl Implement code frequency graph (#29191) 1 year ago
commit_load_branches_and_tags.tmpl Wrap contained tags and branches again (#29021) 1 year ago
commit_page.tmpl Rename Str2html to SanitizeHTML and clarify its behavior (#29516) 1 year ago
commit_status.tmpl Restore warning commit status (#27504) 2 years ago
commit_statuses.tmpl Show commit status for releases (#29149) 1 year ago
commits.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 2 years ago
commits_list.tmpl Show `View at this point in history` for every commit (#29122) 1 year ago
commits_list_small.tmpl Rework markup link rendering (#26745) 1 year ago
commits_table.tmpl Fix more "locale" usages (#27259) 2 years ago
contributors.tmpl Deduplicate translations for contributors graph (#29256) 1 year ago
create.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 1 year ago
create_helper.tmpl Remove incorrect and unnecessary Escape from templates (#29394) 1 year ago
empty.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 1 year ago
file_info.tmpl Show in Web UI if file is vendored and generated (#28620) 1 year ago
forks.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 2 years ago
graph.tmpl Fix more "locale" usages (#27259) 2 years ago
header.tmpl Use a predictiable fork URL to allow forking repositories without providing a repo ID (#29519) 1 year ago
home.tmpl Move citiation button to proper place (#29374) 1 year ago
icon.tmpl Tweak repo header (#29134) 1 year ago
latest_commit.tmpl Show latest commit for file (#28067) 1 year ago
navbar.tmpl Implement recent commits graph (#29210) 1 year ago
packages.tmpl Fix inconsistent user profile layout across tabs (#25625) 2 years ago
pulse.tmpl Remove unnecessary "Safe" modifier from templates (#29318) 1 year ago
recent_commits.tmpl Implement recent commits graph (#29210) 1 year ago
release_tag_header.tmpl Fix a bug returning 404 when display a single tag with no release (#29466) 1 year ago
search.tmpl Remove incorrect and unnecessary Escape from templates (#29394) 1 year ago
search_name.tmpl Clean template/helper.go (#23922) 2 years ago
shabox_badge.tmpl cleanup locale function usage (#27227) 2 years ago
star_unstar.tmpl Don't do a full page load when clicking `Watch` or `Star` (#29001) 1 year ago
sub_menu.tmpl Enable followCursor for language stats bar (#27713) 1 year ago
unicode_escape_prompt.tmpl Remove unnecessary "Str2html" modifier from templates (#29319) 1 year ago
upload.tmpl Always use `ctx.Locale.Tr` inside templates (#27231) 2 years ago
user_cards.tmpl Remove unnecessary "Safe" modifier from templates (#29318) 1 year ago
view_file.tmpl Fix incorrect button CSS usages (#29015) 1 year ago
view_list.tmpl Fix elipsis button not working if the last commit loading is deferred (#29544) 1 year ago
watch_unwatch.tmpl Don't do a full page load when clicking `Watch` or `Star` (#29001) 1 year ago
watchers.tmpl Fix user-cards format (#24428) 2 years ago