Skip to content

Commit

Permalink
Fixes JuliaGizmos#109. Always calls evalscripts in fill.
Browse files Browse the repository at this point in the history
Moves the fade/no-fade decision from julia down into javascript, so that
more code can be reused between the two.

This also simplifies the `content!` function body, which will make
fixing JuliaGizmos#108 a bit easier.
  • Loading branch information
NHDaly committed Jan 9, 2018
1 parent e25741d commit e13f6f4
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
15 changes: 12 additions & 3 deletions res/blink.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,18 +97,27 @@
}
}

function fill(node, html) {
function fill(node, html, fade) {
node = select(node);
fade ?
fillfade(node, html) :
fillnofade(node, html)
}
function fillfade(node, html) {
node = select(node);
node.classList.add('blink-show');
callback(function () {
node.classList.add('blink-fade');
callback(0.2, function() {
node.innerHTML = html;
evalscripts(node);
fillnofade(node, html);
node.classList.remove('blink-fade');
});
});
}
function fillnofade(node, html) {
node.innerHTML = html;
evalscripts(node);
}

Blink.fill = fill;

Expand Down
4 changes: 1 addition & 3 deletions src/content/api.jl
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
export body!, content!, loadcss!, loadjs!, load!, importhtml!

content!(o, sel, html::AbstractString; fade = true) =
fade ?
@js_(o, Blink.fill($sel, $html)) :
@js_ o document.querySelector($sel).innerHTML = $html
@js_(o, Blink.fill($sel, $html, $(fade ? 1 : 0)))

content!(o, sel, html; fade = true) =
content!(o, sel, stringmime(MIME"text/html"(), html), fade = fade)
Expand Down

0 comments on commit e13f6f4

Please sign in to comment.