diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2018-11-23 12:35:15 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2018-11-23 12:35:15 +0000 |
| commit | 5339b4054f1dc2c9ab7bcdebe2656d2d9d614be7 (patch) | |
| tree | 7deea561faac2ca0dafd08d91ab59663f40814ee | |
| parent | add blog (diff) | |
| download | mmm-5339b4054f1dc2c9ab7bcdebe2656d2d9d614be7.tar.gz mmm-5339b4054f1dc2c9ab7bcdebe2656d2d9d614be7.zip | |
fix page transition for browser navigates
| -rw-r--r-- | mmm/mmmfs/browser.moon | 13 |
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 |
