$(() => {
const $blamePanel = $('.p3x-gitlist-blame-panel')
if ($blamePanel.length > 0) {
let $buttonToggleCodeMirrorCurrent;
let $textareaCurrent;
let $textCurrent
for(let blame of $blamePanel) {
const index = blame.dataset.index
const $buttonToggleCodeMirror = $(`#p3x-gitlilst-blame-heading-button-codemirror-${ index }`)
const $text = $(`#p3x-gitlist-blame-text-${ index }`)
const $textarea = $(`#p3x-gitlist-blame-codemirror-${ index }`)
$buttonToggleCodeMirror.on('click', function(event) {
if ($buttonToggleCodeMirrorCurrent !== undefined) {
$('.CodeMirror-wrap').remove()
const wasActive = $buttonToggleCodeMirror.hasClass('active')
window.gitlist.blameCodeMirror = undefined
$buttonToggleCodeMirrorCurrent.removeClass('active')
$textCurrent.removeClass('hidden')
$textareaCurrent.addClass('hidden')
if (wasActive) {
return;
}
}
$buttonToggleCodeMirrorCurrent = $buttonToggleCodeMirror
$textCurrent = $text;
$textareaCurrent = $textarea;
$text.addClass('hidden');
$textarea.removeClass('hidden')
$buttonToggleCodeMirror.addClass('active')
const cm = CodeMirror.fromTextArea($textarea.get(0), {
styleActiveLine: true,
styleSelectedText: true,
value: blame.value,
lineNumbers: true,
matchBrackets: true,
lineWrapping: true,
readOnly: true,
height: 'auto',
mode: blame.dataset.mode,
theme: window.gitlist.getActualThemeCodemirror(),
});
window.gitlist.blameCodeMirror = cm
})
}
}
})