From 9fee917c6102df9371580d0796431e99143907db Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Sun, 24 Nov 2013 19:33:34 -0500 Subject: Ajout d'un flag pour se souvenir de l'état ouvert ou fermé d'un article. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/scripts/main.js | 44 +++++++++++++++++++++------------- public/themes/default/freshrss.css | 3 +++ public/themes/flat-design/freshrss.css | 3 +++ 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/public/scripts/main.js b/public/scripts/main.js index e21483f28..81538f4c4 100644 --- a/public/scripts/main.js +++ b/public/scripts/main.js @@ -1,6 +1,19 @@ "use strict"; var $stream = null; +// Create a new object to store FreshRSS methods and variables. +// It will prevent over-riding other libraries methods and variables. +var FreshRSS = {}; +FreshRSS.isCollapsed = true; + +FreshRSS.Entry = {}; + +// Toggle the collapse flag +FreshRSS.Entry.toggleCollapse = function() { + FreshRSS.isCollapsed = !FreshRSS.isCollapsed; + $(".flux.current").toggleClass("active"); +}; + function is_normal_mode() { return $stream.hasClass('normal'); } @@ -143,9 +156,12 @@ function toggleContent(new_active, old_active) { }); } - old_active.removeClass("active"); + old_active.removeClass("active").removeClass("current"); if (old_active[0] !== new_active[0]) { - new_active.addClass("active"); + if (FreshRSS.isCollapsed) { + new_active.addClass("active"); + }; + new_active.addClass("current"); } var box_to_move = "html,body", @@ -185,7 +201,7 @@ function toggleContent(new_active, old_active) { } function prev_entry() { - var old_active = $(".flux.active"), + var old_active = $(".flux.current"), last_active = $(".flux:last"), new_active = old_active.prevAll(".flux:first"); @@ -197,7 +213,7 @@ function prev_entry() { } function next_entry() { - var old_active = $(".flux.active"), + var old_active = $(".flux.current"), first_active = $(".flux:first"), last_active = $(".flux:last"), new_active = old_active.nextAll(".flux:first"); @@ -213,10 +229,6 @@ function next_entry() { } } -function collapse_entry() { - $(".flux.active").removeClass("active"); -} - function inMarkViewport(flux, box_to_follow, relative_follow) { var top = flux.position().top; if (relative_follow) { @@ -303,7 +315,7 @@ function init_shortcuts() { // Touches de manipulation shortcut.add(shortcuts.mark_read, function () { // on marque comme lu ou non lu - var active = $(".flux.active"); + var active = $(".flux.current"); mark_read(active, false); }, { 'disable_in_input': true @@ -317,13 +329,13 @@ function init_shortcuts() { }); shortcut.add(shortcuts.mark_favorite, function () { // on marque comme favori ou non favori - var active = $(".flux.active"); + var active = $(".flux.current"); mark_favorite(active); }, { 'disable_in_input': true }); shortcut.add(shortcuts.collapse_entry, function () { - collapse_entry(); + FreshRSS.Entry.toggleCollapse(); }, { 'disable_in_input': true }); @@ -333,7 +345,7 @@ function init_shortcuts() { 'disable_in_input': true }); shortcut.add("shift+" + shortcuts.prev_entry, function () { - var old_active = $(".flux.active"), + var old_active = $(".flux.current"), first = $(".flux:first"); if (first.hasClass("flux")) { @@ -346,7 +358,7 @@ function init_shortcuts() { 'disable_in_input': true }); shortcut.add("shift+" + shortcuts.next_entry, function () { - var old_active = $(".flux.active"), + var old_active = $(".flux.current"), last = $(".flux:last"); if (last.hasClass("flux")) { @@ -359,7 +371,7 @@ function init_shortcuts() { var url_website = $(".flux.active .link a").attr("href"); if (auto_mark_site) { - $(".flux.active").each(function () { + $(".flux.current").each(function () { mark_read($(this), true); }); } @@ -372,7 +384,7 @@ function init_shortcuts() { function init_stream_delegates(divStream) { divStream.on('click', '.flux_header>.item.title, .flux_header>.item.date', function (e) { //flux_header_toggle - var old_active = $(".flux.active"), + var old_active = $(".flux.current"), new_active = $(this).parent().parent(); if (e.target.tagName.toUpperCase() === 'A') { //Leave real links alone if (auto_mark_article) { @@ -427,7 +439,7 @@ function init_nav_entries() { return false; }); $nav_entries.find('.up').click(function () { - var active_item = $(".flux.active"), + var active_item = $(".flux.current"), windowTop = $(window).scrollTop(), item_top = active_item.position().top; diff --git a/public/themes/default/freshrss.css b/public/themes/default/freshrss.css index 78f76dd83..c0581bae5 100644 --- a/public/themes/default/freshrss.css +++ b/public/themes/default/freshrss.css @@ -280,6 +280,9 @@ color: #000; outline: none; } + .flux.current .item.title a { + text-decoration: underline; + } .flux.not_read .flux_header .item.title { font-weight: bold; } diff --git a/public/themes/flat-design/freshrss.css b/public/themes/flat-design/freshrss.css index 602845ef1..af6f55060 100644 --- a/public/themes/flat-design/freshrss.css +++ b/public/themes/flat-design/freshrss.css @@ -259,6 +259,9 @@ body { color: #333; outline: none; } + .flux.current .item.title a { + text-decoration: underline; + } .flux.not_read .flux_header .item.title { font-weight: bold; } -- cgit v1.2.3 From 7e06d0df30af18219d8b35e07634c08494adef32 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Mon, 25 Nov 2013 19:30:02 -0500 Subject: Changement de syntaxe pour être conforme à la norme utilisée ailleurs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/scripts/main.js | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/public/scripts/main.js b/public/scripts/main.js index bc40e4879..3077d611a 100644 --- a/public/scripts/main.js +++ b/public/scripts/main.js @@ -1,18 +1,7 @@ "use strict"; var $stream = null; -// Create a new object to store FreshRSS methods and variables. -// It will prevent over-riding other libraries methods and variables. -var FreshRSS = {}; -FreshRSS.isCollapsed = true; - -FreshRSS.Entry = {}; - -// Toggle the collapse flag -FreshRSS.Entry.toggleCollapse = function() { - FreshRSS.isCollapsed = !FreshRSS.isCollapsed; - $(".flux.current").toggleClass("active"); -}; +var isCollapsed = true; function is_normal_mode() { return $stream.hasClass('normal'); @@ -158,7 +147,7 @@ function toggleContent(new_active, old_active) { old_active.removeClass("active").removeClass("current"); if (old_active[0] !== new_active[0]) { - if (FreshRSS.isCollapsed) { + if (isCollapsed) { new_active.addClass("active"); }; new_active.addClass("current"); @@ -229,6 +218,11 @@ function next_entry() { } } +function collapse_entry() { + isCollapsed = !isCollapsed; + $(".flux.current").toggleClass("active"); +}; + function inMarkViewport(flux, box_to_follow, relative_follow) { var top = flux.position().top; if (relative_follow) { @@ -343,7 +337,7 @@ function init_shortcuts() { 'disable_in_input': true }); shortcut.add(shortcuts.collapse_entry, function () { - FreshRSS.Entry.toggleCollapse(); + collapse_entry(); }, { 'disable_in_input': true }); -- cgit v1.2.3