forgejo/web_src/js/features
Yarden Shoham 6403d5fca7
Remove jQuery AJAX from the repo editor (#29636)
# Preview Tab
- Removed the jQuery AJAX call and replaced with our fetch wrapper
- Tested the preview tab functionality and it works as before

# Diff Tab
- Removed the jQuery AJAX call and replaced with htmx
- Tested the diff tab functionality and it works as before

## htmx Attributes
- `hx-post="{{.RepoLink}}..."`: make a POST request to the endpoint
- `hx-indicator=".tab[data-tab='diff']"`: attach the loading indicator
to the tab body
- `hx-target=".tab[data-tab='diff']"`: target the tab body for swapping
with the response
- `hx-swap="innerHTML"`: swap the target's inner HTML
- `hx-include="#edit_area"`: include the value of the textarea (content)
in the request body
- `hx-vals='{"context":"{{.BranchLink}}"}'`: include the context in the
request body
- `hx-params="context,content"`: include only these keys in the request
body

# Demo using `fetch` and `htmx` instead of jQuery AJAX

![demo](https://github.com/go-gitea/gitea/assets/20454870/585cd6e8-f329-4c9e-ab53-a540acbd7988)

---------

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: silverwind <me@silverwind.io>
(cherry picked from commit c1331d1f7ab60249ed2f080b24f3e32093fa708d)
2024-03-11 23:36:59 +07:00
..
admin
comp
captcha.js
citation.js
clipboard.js
code-frequency.js
codeeditor.js
colorpicker.js
common-global.js
common-issue-list.js
common-issue-list.test.js
common-organization.js
contextpopup.js
contributors.js
copycontent.js
dropzone.js
emoji.js
eventsource.sharedworker.js
file-fold.js
heatmap.js
imagediff.js
install.js
notification.js
org-team.js
pull-view-file.js
recent-commits.js
repo-branch.js
repo-code.js
repo-code.test.js
repo-commit.js
repo-common.js
repo-diff-commit.js
repo-diff-commitselect.js
repo-diff-filetree.js
repo-diff.js
repo-editor.js Remove jQuery AJAX from the repo editor (#29636) 2024-03-11 23:36:59 +07:00
repo-findfile.js
repo-findfile.test.js
repo-graph.js
repo-home.js
repo-issue-content.js
repo-issue-list.js
repo-issue-pr-form.js
repo-issue-pr-status.js
repo-issue.js
repo-legacy.js
repo-migrate.js
repo-migration.js
repo-projects.js
repo-release.js
repo-search.js
repo-settings.js
repo-template.js
repo-unicode-escape.js
repo-wiki.js
sshkey-helper.js
stopwatch.js
tablesort.js
tribute.js
user-auth-webauthn.js
user-auth.js
user-settings.js