mirror of
https://github.com/cryptpad/cryptpad.git
synced 2026-09-12 19:49:59 +05:00
Fix #2216: Table of contents not clickable in read-only mode
Problem: - In read-only mode, clicking on table of contents links does nothing - The anchor links use CKEditor's restoreRealElement which may not work in read-only mode Solution: - Add fallback to find anchor by ID directly - Use foundAnchor flag to stop searching after first match This matches the implementation in links.js which already has this fallback.
This commit is contained in:
parent
5514dc7caa
commit
fb0a216eb9
@ -728,13 +728,21 @@ define([
|
||||
var href = el.getAttribute('href');
|
||||
if (/^#/.test(href)) {
|
||||
try {
|
||||
var foundAnchor = false;
|
||||
$inner.find('.cke_anchor[data-cke-realelement]').each(function (j, el) {
|
||||
if (foundAnchor) { return; }
|
||||
var i = editor.restoreRealElement($(el));
|
||||
var node = i.$;
|
||||
if (node.id === href.slice(1)) {
|
||||
el.scrollIntoView();
|
||||
foundAnchor = true;
|
||||
}
|
||||
});
|
||||
// Fallback: try to find anchor by ID directly
|
||||
if (!foundAnchor) {
|
||||
var anchorsById = $inner.find('#' + href.slice(1));
|
||||
if (anchorsById.length) { anchorsById[0].scrollIntoView(); }
|
||||
}
|
||||
} catch (err) {}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user