2023-07-27 10:47:41 +00:00
|
|
|
import {hideElem, showElem, toggleElem} from '../utils/dom.js';
|
2023-09-19 00:50:30 +00:00
|
|
|
import {GET} from '../modules/fetch.js';
|
2023-07-27 10:47:41 +00:00
|
|
|
|
|
|
|
async function loadBranchesAndTags(area, loadingButton) {
|
|
|
|
loadingButton.classList.add('disabled');
|
|
|
|
try {
|
2023-09-19 00:50:30 +00:00
|
|
|
const res = await GET(loadingButton.getAttribute('data-fetch-url'));
|
2023-07-27 10:47:41 +00:00
|
|
|
const data = await res.json();
|
|
|
|
hideElem(loadingButton);
|
|
|
|
addTags(area, data.tags);
|
|
|
|
addBranches(area, data.branches, data.default_branch);
|
|
|
|
showElem(area.querySelectorAll('.branch-and-tag-detail'));
|
|
|
|
} finally {
|
|
|
|
loadingButton.classList.remove('disabled');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function addTags(area, tags) {
|
|
|
|
const tagArea = area.querySelector('.tag-area');
|
2023-07-28 15:05:24 +00:00
|
|
|
toggleElem(tagArea.parentElement, tags.length > 0);
|
2023-07-27 10:47:41 +00:00
|
|
|
for (const tag of tags) {
|
|
|
|
addLink(tagArea, tag.web_link, tag.name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function addBranches(area, branches, defaultBranch) {
|
|
|
|
const defaultBranchTooltip = area.getAttribute('data-text-default-branch-tooltip');
|
|
|
|
const branchArea = area.querySelector('.branch-area');
|
2023-07-28 15:05:24 +00:00
|
|
|
toggleElem(branchArea.parentElement, branches.length > 0);
|
2023-07-27 10:47:41 +00:00
|
|
|
for (const branch of branches) {
|
|
|
|
const tooltip = defaultBranch === branch.name ? defaultBranchTooltip : null;
|
|
|
|
addLink(branchArea, branch.web_link, branch.name, tooltip);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function addLink(parent, href, text, tooltip) {
|
|
|
|
const link = document.createElement('a');
|
Migrate margin and padding helpers to tailwind (#30043)
This will conclude the refactor of 1:1 class replacements to tailwind,
except `gt-hidden`. Commands ran:
```bash
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-0#tw-$1$2-0#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-1#tw-$1$2-0.5#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-2#tw-$1$2-1#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-3#tw-$1$2-2#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-4#tw-$1$2-4#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-5#tw-$1$2-8#g' {web_src/js,templates,routers,services}/**/*
```
(cherry picked from commit 68ec9b48592fe88765bcc3a73093d43c98b315de)
Conflicts:
routers/web/repo/view.go
templates/base/head_navbar.tmpl
templates/repo/code/recently_pushed_new_branches.tmpl
templates/repo/diff/box.tmpl
templates/repo/diff/compare.tmpl
templates/repo/diff/conversation.tmpl
templates/repo/header.tmpl
templates/repo/issue/filter_list.tmpl
templates/repo/issue/view_content/conversation.tmpl
templates/repo/issue/view_content/sidebar.tmpl
templates/repo/settings/options.tmpl
templates/repo/view_file.tmpl
templates/shared/user/blocked_users.tmpl
templates/status/500.tmpl
web_src/js/components/DashboardRepoList.vue
resolved by prefering Forgejo version and applying the
commands to all files
2024-03-24 16:42:49 +00:00
|
|
|
link.classList.add('muted', 'tw-px-1');
|
2023-07-27 10:47:41 +00:00
|
|
|
link.href = href;
|
|
|
|
link.textContent = text;
|
|
|
|
if (tooltip) {
|
2024-03-18 14:47:05 +00:00
|
|
|
link.classList.add('tw-border', 'tw-border-secondary', 'tw-rounded');
|
2023-07-27 10:47:41 +00:00
|
|
|
link.setAttribute('data-tooltip-content', tooltip);
|
|
|
|
}
|
|
|
|
parent.append(link);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function initRepoDiffCommitBranchesAndTags() {
|
|
|
|
for (const area of document.querySelectorAll('.branch-and-tag-area')) {
|
|
|
|
const btn = area.querySelector('.load-branches-and-tags');
|
|
|
|
btn.addEventListener('click', () => loadBranchesAndTags(area, btn));
|
|
|
|
}
|
|
|
|
}
|