aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2018-11-23 12:35:15 +0000
committers-ol <s-ol@users.noreply.github.com>2018-11-23 12:35:15 +0000
commit5339b4054f1dc2c9ab7bcdebe2656d2d9d614be7 (patch)
tree7deea561faac2ca0dafd08d91ab59663f40814ee
parentadd blog (diff)
downloadmmm-5339b4054f1dc2c9ab7bcdebe2656d2d9d614be7.tar.gz
mmm-5339b4054f1dc2c9ab7bcdebe2656d2d9d614be7.zip
fix page transition for browser navigates
-rw-r--r--mmm/mmmfs/browser.moon13
1 files changed, 7 insertions, 6 deletions
diff --git a/mmm/mmmfs/browser.moon b/mmm/mmmfs/browser.moon
index 97efc4e..dd1ab9e 100644
--- a/mmm/mmmfs/browser.moon
+++ b/mmm/mmmfs/browser.moon
@@ -34,6 +34,7 @@ class Browser
-- update URL bar
if MODE == 'CLIENT'
@path\subscribe (path) ->
+ document.body.classList\add 'loading'
return if @skip
vis_path = path .. (if '/' == path\sub -1 then '' else '/')
window.history\pushState path, '', vis_path
@@ -110,7 +111,11 @@ class Browser
-- append or patch #browser-content
main\append with get_or_create 'div', 'browser-content', class: 'content'
- \append (@facet\map (p) -> @get_content p), (rehydrate and .node.lastChild)
+ content = ReactiveVar @get_content @facet\get!
+ if MODE == 'CLIENT'
+ @facet\subscribe (p) ->
+ window\setTimeout (-> content\set @get_content p), 150
+ \append content, (rehydrate and .node.lastChild)
if rehydrate
-- force one rerender to set onclick handlers etc
@@ -190,11 +195,7 @@ class Browser
default_convert = (key) => @get key.name, 'mmm/dom'
navigate: (new) =>
- if MODE == 'CLIENT'
- document.body.classList\add 'loading'
- window\setTimeout (-> @path\set new), 150
- else
- @path\set new
+ @path\set new
{
:Browser