ui: change a bit the architecture of sidediv line number

So we can easily customize with plugins, such as ep_author_neat
This commit is contained in:
Sebastian Castro 2020-05-01 16:43:25 +02:00 committed by muxator
parent a522db3ef4
commit 9587c1c673
3 changed files with 10 additions and 10 deletions

View File

@ -106,12 +106,12 @@ body.doesWrap:not(.noprewrap) > div {
#sidediv:not(.sidedivdelayed) { /* before sidediv get initialized, hide text */ #sidediv:not(.sidedivdelayed) { /* before sidediv get initialized, hide text */
color: transparent; color: transparent;
} }
#sidediv.sidedivhidden { .line-numbers-hidden #sidediv .line-number {
/* Do not use display: none to hide the sidediv, otherwise the parent container does not display: none;
get its height properly calculated by flexboxes */ }
visibility: hidden; #sidediv:not(.authorColors) #sidedivinner>div:before {
width: 0; content: none !important;
padding: 0; }
} }
#linemetricsdiv { #linemetricsdiv {
position: absolute; position: absolute;

View File

@ -956,8 +956,7 @@ function Ace2Inner(){
showsuserselections: setClassPresenceNamed(root, "userSelections"), showsuserselections: setClassPresenceNamed(root, "userSelections"),
showslinenumbers : function(value){ showslinenumbers : function(value){
hasLineNumbers = !! value; hasLineNumbers = !! value;
setClassPresence(sideDiv, "sidedivhidden", !hasLineNumbers); setClassPresence(sideDiv.parentNode, "line-numbers-hidden", !hasLineNumbers);
setClassPresence(sideDiv.parentNode, "sidediv-hidden", !hasLineNumbers);
fixView(); fixView();
}, },
grayedout: setClassPresenceNamed(outerWin.document.body, "grayedout"), grayedout: setClassPresenceNamed(outerWin.document.body, "grayedout"),
@ -5275,7 +5274,7 @@ function Ace2Inner(){
function initLineNumbers() function initLineNumbers()
{ {
lineNumbersShown = 1; lineNumbersShown = 1;
sideDiv.innerHTML = '<div id="sidedivinner" class="sidedivinner"><div>1</div></div>'; sideDiv.innerHTML = '<div id="sidedivinner" class="sidedivinner"><div><span class="line-number">1</span></div></div>';
sideDivInner = outerWin.document.getElementById("sidedivinner"); sideDivInner = outerWin.document.getElementById("sidedivinner");
$(sideDiv).addClass("sidediv"); $(sideDiv).addClass("sidediv");
} }
@ -5352,7 +5351,7 @@ function Ace2Inner(){
div.style.height = h +"px"; div.style.height = h +"px";
} }
div.appendChild(odoc.createTextNode(String(n))); $(div).append($("<span class='line-number'>" + String(n) + "</span>"));
fragment.appendChild(div); fragment.appendChild(div);
if(b){ if(b){
b = b.nextSibling; b = b.nextSibling;

View File

@ -135,6 +135,7 @@ var padeditor = (function()
v = getOption('showAuthorColors', true); v = getOption('showAuthorColors', true);
self.ace.setProperty("showsauthorcolors", v); self.ace.setProperty("showsauthorcolors", v);
$('#chattext').toggleClass('authorColors', v); $('#chattext').toggleClass('authorColors', v);
$('iframe[name="ace_outer"]').contents().find('#sidedivinner').toggleClass('authorColors', v);
padutils.setCheckbox($("#options-colorscheck"), v); padutils.setCheckbox($("#options-colorscheck"), v);
// Override from parameters if true // Override from parameters if true