From e13f6f49cd687301c680229ff6867f544b27119f Mon Sep 17 00:00:00 2001 From: Nathan Daly Date: Mon, 8 Jan 2018 20:36:14 -0600 Subject: [PATCH] Fixes #109. Always calls `evalscripts` in `fill`. 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 #108 a bit easier. --- res/blink.js | 15 ++++++++++++--- src/content/api.jl | 4 +--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/res/blink.js b/res/blink.js index 9ce61ac..cf1e7ae 100644 --- a/res/blink.js +++ b/res/blink.js @@ -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; diff --git a/src/content/api.jl b/src/content/api.jl index 7d0cfdc..6db7a26 100644 --- a/src/content/api.jl +++ b/src/content/api.jl @@ -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)