Skip to content
Snippets Groups Projects
Commit 69e96c5f authored by Andreas Gohr's avatar Andreas Gohr
Browse files

Merge pull request #135 from Chris--S/master

Proposed fix for #2541
parents db770f69 870c8a4b
No related branches found
No related tags found
No related merge requests found
......@@ -22,24 +22,27 @@ dw_page = {
jQuery('form.btn_secedit')
.mouseover(function(){
var $tgt = jQuery(this).parent(),
nr = $tgt.attr('class').match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2];
// Walk the DOM tree up (first previous siblings, then parents)
// until boundary element
while($tgt.length > 0 && !$tgt.hasClass('sectionedit' + nr)) {
// go down when the sectionedit begin marker is below $tgt
if ($tgt.find('.sectionedit' + nr).length > 0) {
$tgt = $tgt.children().last();
} else {
// $.last gives the DOM-ordered last element:
// prev if present, else parent.
$tgt = $tgt.prev().add($tgt.parent()).last();
}
$tgt.addClass('section_highlight');
nr = $tgt.attr('class').match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2],
$highlight = jQuery(), // holder for elements in the section to be highlighted
$highlightWrap = jQuery('<div class="section_highlight"></div>'); // section highlight wrapper
// Walk the dom tree in reverse to find the sibling which is or contains the section edit marker
while($tgt.length > 0 && !($tgt.hasClass('sectionedit' + nr) || $tgt.find('.sectionedit' + nr).length)) {
$tgt = $tgt.prev();
$highlight = $highlight.add($tgt);
}
// insert the section highlight wrapper before the last element added to $highlight
$highlight.filter(':last').before($highlightWrap);
// and move the elements to be highlighted inside the section highlight wrapper
$highlight.detach().appendTo($highlightWrap);
})
.mouseout(function(){
jQuery('.section_highlight').removeClass('section_highlight');
// find the section highlight wrapper...
var $highlightWrap = jQuery('.section_highlight');
// ...move its children in front of it (as siblings)...
$highlightWrap.before($highlightWrap.children().detach());
// ...and remove the section highlight wrapper
$highlightWrap.detach();
});
},
......
......@@ -140,8 +140,10 @@ div.picker button.toolbutton {
}
/* style for section highlighting (only sections below headings) */
.dokuwiki div.section_highlight {
margin: -3em -1em -.01em -1em; /* negative side margin = side padding + side border */
padding: 3em .5em .01em .5em;
margin-left: -1em; /* negative side margin = side padding + side border */
margin-right: -1em; /* negative side margin = side padding + side border */
padding-left: .5em;
padding-right: .5em;
border: solid __background_alt__;
border-width: 0 .5em;
}
......@@ -421,8 +421,10 @@
}
.dokuwiki div.section_highlight {
margin: -3em -2em -.01em -2em;
padding: 3em 1em .01em 1em;
margin-left: -2em;
margin-right: -2em;
padding-left: 1em;
padding-right: 1em;
border-width: 0 1em;
}
[dir=rtl] .dokuwiki div.section_highlight {
......
......@@ -92,8 +92,10 @@
/* _edit */
.dokuwiki div.section_highlight {
margin: -3em -1em -.01em -1em;
padding: 3em .5em .01em .5em;
margin-left: -1em;
margin-right: -1em;
padding-left: .5em;
padding-right: .5em;
border-width: 0 .5em;
}
.dokuwiki div.preview {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment