mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-30 13:56:09 +01:00
52cbe2bdbc
- Show popover on hover/focus (tippy default) instead of click - If there is only one status, add href to trigger element - Increase tippy [interactiveBorder](https://atomiks.github.io/tippyjs/v6/all-props/#interactiveborder), making it easier to keep interactive tooltips open with sloppy mouse movement - Fix a overflow issue in the commit list Commit list before: <img width="459" alt="Screen Shot 2022-09-09 at 19 00 01" src="https://user-images.githubusercontent.com/115237/189405517-68de5a69-e312-4ea2-ab81-87629db6064b.png"> Commit List after: <img width="475" alt="Screen Shot 2022-09-09 at 19 01 43" src="https://user-images.githubusercontent.com/115237/189405574-13e84885-9073-4f86-9eeb-d008c1639647.png"> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
import $ from 'jquery';
|
|
import {createTippy} from '../modules/tippy.js';
|
|
|
|
const {csrfToken} = window.config;
|
|
|
|
export function initRepoEllipsisButton() {
|
|
$('.ellipsis-button').on('click', function (e) {
|
|
e.preventDefault();
|
|
const expanded = $(this).attr('aria-expanded') === 'true';
|
|
$(this).parent().find('.commit-body').toggle();
|
|
$(this).attr('aria-expanded', String(!expanded));
|
|
});
|
|
}
|
|
|
|
export function initRepoCommitLastCommitLoader() {
|
|
const entryMap = {};
|
|
|
|
const entries = $('table#repo-files-table tr.notready')
|
|
.map((_, v) => {
|
|
entryMap[$(v).attr('data-entryname')] = $(v);
|
|
return $(v).attr('data-entryname');
|
|
})
|
|
.get();
|
|
|
|
if (entries.length === 0) {
|
|
return;
|
|
}
|
|
|
|
const lastCommitLoaderURL = $('table#repo-files-table').data('lastCommitLoaderUrl');
|
|
|
|
if (entries.length > 200) {
|
|
$.post(lastCommitLoaderURL, {
|
|
_csrf: csrfToken,
|
|
}, (data) => {
|
|
$('table#repo-files-table').replaceWith(data);
|
|
});
|
|
return;
|
|
}
|
|
|
|
$.post(lastCommitLoaderURL, {
|
|
_csrf: csrfToken,
|
|
'f': entries,
|
|
}, (data) => {
|
|
$(data).find('tr').each((_, row) => {
|
|
if (row.className === 'commit-list') {
|
|
$('table#repo-files-table .commit-list').replaceWith(row);
|
|
return;
|
|
}
|
|
// there are other <tr> rows in response (eg: <tr class="has-parent">)
|
|
// at the moment only the "data-entryname" rows should be processed
|
|
const entryName = $(row).attr('data-entryname');
|
|
if (entryName) {
|
|
entryMap[entryName].replaceWith(row);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
export function initCommitStatuses() {
|
|
$('.commit-statuses-trigger').each(function () {
|
|
const top = $('.repository.file.list').length > 0 || $('.repository.diff').length > 0;
|
|
|
|
createTippy(this, {
|
|
content: this.nextElementSibling,
|
|
placement: top ? 'top-start' : 'bottom-start',
|
|
interactive: true,
|
|
});
|
|
});
|
|
}
|