1
0
Fork 0
forked from forgejo/forgejo

fix commit view JS features, reimplement folding (#9968)

* fix commit view JS features, reimplement folding

File content folding was not working so I reimplemented it in a saner
way. Then I noticed the issue was actually because of missing JS
libraries (seen on the console of every commit with error
'SimpleMDE is not defined').

Fixed the libraries. I think the reimplementation is worth to keep.

* add .closest polyfill

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
silverwind 2020-01-26 09:17:25 +01:00 committed by zeripath
parent 8d51f28ba0
commit fd094eea95
5 changed files with 36 additions and 13 deletions

View file

@ -3,6 +3,7 @@
/* exported toggleDeadlineForm, setDeadline, updateDeadline, deleteDependencyModal, cancelCodeComment, onOAuthLoginClick */
import './publicPath.js';
import './polyfills.js';
import './gitGraphLoader.js';
import './semanticDropdown.js';
import initContextPopups from './features/contextPopup';
@ -2109,17 +2110,12 @@ function initCodeView() {
}
}).trigger('hashchange');
}
$('.ui.fold-code').on('click', (e) => {
const $foldButton = $(e.target);
if ($foldButton.hasClass('fa-chevron-down')) {
$(e.target).parent().next().slideUp('fast', () => {
$foldButton.removeClass('fa-chevron-down').addClass('fa-chevron-right');
});
} else {
$(e.target).parent().next().slideDown('fast', () => {
$foldButton.removeClass('fa-chevron-right').addClass('fa-chevron-down');
});
}
$('.fold-code').on('click', ({ target }) => {
const box = target.closest('.file-content');
const folded = box.dataset.folded !== 'true';
target.classList.add(`fa-chevron-${folded ? 'right' : 'down'}`);
target.classList.remove(`fa-chevron-${folded ? 'down' : 'right'}`);
box.dataset.folded = String(folded);
});
function insertBlobExcerpt(e) {
const $blob = $(e.target);