diff options
| author | 2016-01-24 13:18:48 +0100 | |
|---|---|---|
| committer | 2016-01-24 13:18:48 +0100 | |
| commit | 362dbad0b8ff0a29241f4e29556910dfaf7d66e5 (patch) | |
| tree | 8a75e83012716cd9539ac1456c454bf4921513c2 | |
| parent | e664138bd2906942b793d85d4eaa6f8c01459509 (diff) | |
Several position problems, in particular in the global view
Multiple small bugs in global and reader views.
Related to these old issues:
https://github.com/FreshRSS/FreshRSS/issues/634
https://github.com/FreshRSS/FreshRSS/issues/275
| -rw-r--r-- | app/layout/layout.phtml | 4 | ||||
| -rw-r--r-- | app/views/helpers/javascript_vars.phtml | 7 | ||||
| -rw-r--r-- | p/scripts/main.js | 30 |
3 files changed, 16 insertions, 25 deletions
diff --git a/app/layout/layout.phtml b/app/layout/layout.phtml index 000a6c0d2..1d3afbf71 100644 --- a/app/layout/layout.phtml +++ b/app/layout/layout.phtml @@ -5,10 +5,10 @@ <meta name="viewport" content="initial-scale=1.0" /> <?php echo self::headTitle(); ?> <?php echo self::headStyle(); ?> - <?php echo self::headScript(); ?> <script>//<![CDATA[ <?php $this->renderHelper('javascript_vars'); ?> //]]></script> + <?php echo self::headScript(); ?> <?php $url_base = Minz_Request::currentRequest(); if (FreshRSS_Context::$next_id !== '') { @@ -42,7 +42,7 @@ <meta name="robots" content="noindex,nofollow" /> <?php } ?> </head> - <body class="<?php echo Minz_Request::param('output', 'normal'); ?>"> + <body class="<?php echo Minz_Request::actionName(); ?>"> <?php $this->partial('header'); ?> <div id="global"> diff --git a/app/views/helpers/javascript_vars.phtml b/app/views/helpers/javascript_vars.phtml index adf0783f3..36d6e693d 100644 --- a/app/views/helpers/javascript_vars.phtml +++ b/app/views/helpers/javascript_vars.phtml @@ -4,8 +4,7 @@ $mark = FreshRSS_Context::$user_conf->mark_when; $mail = Minz_Session::param('mail', false); $auto_actualize = Minz_Session::param('actualize_feeds', false); -$hide_posts = (FreshRSS_Context::$user_conf->display_posts || - Minz_Request::param('output') === 'reader'); +$hide_posts = !(FreshRSS_Context::$user_conf->display_posts || Minz_Request::actionName() === 'reader'); $s = FreshRSS_Context::$user_conf->shortcuts; $url_login = Minz_Url::display(array( @@ -19,7 +18,7 @@ $url_logout = Minz_Url::display(array( echo 'var context={', 'auto_remove_article:', FreshRSS_Context::isAutoRemoveAvailable() ? 'true' : 'false', ',', - 'hide_posts:', $hide_posts ? 'false' : 'true', ',', + 'hide_posts:', $hide_posts ? 'true' : 'false', ',', 'display_order:"', Minz_Request::param('order', FreshRSS_Context::$user_conf->sort_order), '",', 'auto_mark_article:', $mark['article'] ? 'true' : 'false', ',', 'auto_mark_site:', $mark['site'] ? 'true' : 'false', ',', @@ -31,7 +30,7 @@ echo 'var context={', 'html5_notif_timeout:', FreshRSS_Context::$user_conf->html5_notif_timeout, ',', 'auth_type:"', FreshRSS_Context::$system_conf->auth_type, '",', 'current_user_mail:', $mail ? ('"' . $mail . '"') : 'null', ',', - 'current_view:"', Minz_Request::param('output', 'normal'), '"', + 'current_view:"', Minz_Request::actionName(), '"', "},\n"; echo 'shortcuts={', diff --git a/p/scripts/main.js b/p/scripts/main.js index f64927c14..45a028a7d 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -246,18 +246,18 @@ function toggleContent(new_active, old_active) { var box_to_move = "html,body", relative_move = false; - if (context['current_view'] == 'global') { + if (context['current_view'] === 'global') { box_to_move = "#panel"; relative_move = true; } if (context['sticky_post']) { var prev_article = new_active.prevAll('.flux'), - new_pos = new_active.position().top, + new_pos = new_active.offset().top, old_scroll = $(box_to_move).scrollTop(); - if (prev_article.length > 0 && new_pos - prev_article.position().top <= 150) { - new_pos = prev_article.position().top; + if (prev_article.length > 0 && new_pos - prev_article.offset().top <= 150) { + new_pos = prev_article.offset().top; } if (context['hide_posts']) { @@ -451,11 +451,8 @@ function auto_share(key) { } } -function inMarkViewport(flux, box_to_follow, relative_follow) { - var top = flux.position().top; - if (relative_follow) { - top += box_to_follow.scrollTop(); - } +function inMarkViewport(flux, box_to_follow) { + var top = flux.offset().top; var height = flux.height(), begin = top + 3 * height / 4, bot = Math.min(begin + 75, top + height), @@ -466,17 +463,15 @@ function inMarkViewport(flux, box_to_follow, relative_follow) { } function init_posts() { - var box_to_follow = $(window), - relative_follow = false; - if (context['current_view'] == 'global') { + var box_to_follow = $(window); + if (context['current_view'] === 'global') { box_to_follow = $("#panel"); - relative_follow = true; } if (context['auto_mark_scroll']) { box_to_follow.scroll(function () { $('.not_read:visible').each(function () { - if ($(this).children(".flux_content").is(':visible') && inMarkViewport($(this), box_to_follow, relative_follow)) { + if ($(this).children(".flux_content").is(':visible') && inMarkViewport($(this), box_to_follow)) { mark_read($(this), true); } }); @@ -490,10 +485,7 @@ function init_posts() { return; } var boxBot = box_to_follow.scrollTop() + box_to_follow.height(), - load_more_top = load_more.position().top; - if (relative_follow) { - load_more_top += box_to_follow.scrollTop(); - } + load_more_top = load_more.offset().top; if (boxBot >= load_more_top) { load_more_posts(); } @@ -765,7 +757,7 @@ function init_nav_entries() { $nav_entries.find('.up').click(function () { var active_item = $(".flux.current"), windowTop = $(window).scrollTop(), - item_top = active_item.position().top; + item_top = active_item.offset().top; if (windowTop > item_top) { $("html,body").scrollTop(item_top); |
