summaryrefslogtreecommitdiff
path: root/public/scripts
AgeCommit message (Collapse)Author
2013-11-17Corrige bug mode endless dans la vue globaleGravatar Marien Fressinaud
Problème d'initialisation après le remaniement du code Corrige #275
2013-11-12Fade out pour les notificationsGravatar Marien Fressinaud
Fluidifie un peu leur fermeture (le slideUp faisait disparaître la notification avant qu'elle ne soit totalement refermée)
2013-11-10Mise à jour de la vue globaleGravatar Marien Fressinaud
* Nombre de non lus mis à jour automatiquement * Mise à jour structure HTML * Mise à jour design
2013-11-09Lance une actualisation des flux après import OPMLGravatar Marien Fressinaud
Le script d'actualisation est lancé après avoir importé les flux automatiquement Voir issue #196
2013-11-09Déplacement de confirm_action_scriptGravatar Marien Fressinaud
Ce script a été intégré à main.js pour être certain que JQuery est chargé au moment de l'initialisation Voir commentaires commit c06aede546514aa35ab5369575f15710b30a2a23
2013-11-09Affichage dynamique des favoris non lusGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/222 Il reste toujours une situation curieuse lorsqu'on a fini de lire tous les favoris non-lus, mais à voir une autre fois
2013-11-08Ne charge les raccourcis que sur la page principaleGravatar Marien Fressinaud
2013-11-08Fix issue #208: chargement dynamique des joursGravatar Marien Fressinaud
Les indications de jours (aujourd'hui, hier, à partir d'avant-hier) sont maintenant chargés dynamiquement
2013-11-08Corrige erreur async shortcutsGravatar Alexandre Alapetite
2013-11-08Issue #235: ajout d'une condition pour PersonaGravatar Marien Fressinaud
Si la connexion n'est pas paramétrée, on ne charge pas Persona
2013-11-08Fix issue #235: annule le cache après connexion réussieGravatar Marien Fressinaud
2013-11-08Meilleur async pour PersonaGravatar Alexandre Alapetite
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/235
2013-11-08Fix issue #235: Persona fonctionne de nouveauGravatar Marien Fressinaud
2013-11-07Issue #235: refactorisation code PersonaGravatar Marien Fressinaud
Le code pour la connexion via Persona a été bougée dans le fichier main.js avec le reste du code JS Ça ne marche toujours pas sous Firefox car il essaye d'initialiser navigator.id.watch avant que le fichier login.persona.org/include.js ne soit chargé L'url est correctement écrite côté serveur pour permettre à Persona d'indiquer au site que la connexion s'est bien passée
2013-11-04Améliorations chargement JS asyncGravatar Alexandre Alapetite
En particulier pour global_view.js. Suppression d'une requête avortée dans Chrome.
2013-11-04Chargement asynchrone plus robusteGravatar Alexandre Alapetite
Fonctionne aussi si DOMContentLoaded est déjà consommé avant le chargement de main.js, et permet d'attendre les autres scripts tels jQuery si ceux-ci ne sont pas encore chargés.
2013-11-04Préchargement et requêtes conditionnelles HTTP/1.1Gravatar Alexandre Alapetite
Grosse amélioration des performances en utilisant le cache HTTP : - Implémentation de HTTP/1.1, c.a.d. If-Modified-Since, If-None-Match, If-Unmodified-Since, If-Match... avec la librairie http://alexandre.alapetite.fr/doc-alex/php-http-304/ - Support de HEAD (HTTP /1.0). - Préchargement de la page suivante (avec link next prefetch) dans le cas de pagination. - Et nouvelle possibilité de navigation pour les navigateurs qui supportent "next". - La date de dernier changement est pour l'instant primitive et correspond au dernier changement de la session PHP ou Configuration.array.php ou application.log ou touch.txt. - touch.txt est modifié a chaque requête UPDATE ou INSERT ou DELETE.
2013-11-04Grosse optimisation JavaScriptGravatar Alexandre Alapetite
* Fusion de endless_mode.js dans main.js car endless_mode.js est toujours chargé et assez petit. * Suppression des changements de style en JavaScript lors du chargement (genre boucle de .hide(), ou d'ajout de classe ".stick") et implémentation en PHP + CSS à la place. * Chargement JavaScript asynchrone (defer + async) pour de meilleurs performances. * Utilisation préférable des événements globaux plutôt que des événements pour chaque élément avec jQuery.on(events, selector) pour un chargement plus rapide et moins de mémoire utilisée. * Optimisation manuelle du JavaScript (sélecteurs CSS plus performants, méthodes jQuery plus appropriées, etc.). * Désactivation de init_img() qui était coûteux, lancé à un moment où les images ne sont de toute manière pas encore chargées, et qui n'apporte rien car il y a déjà un img {max-width:100%} en CSS. * JavaScript en mode strict. * Enfin, passage du code JavaScript dans JSLint et du coup nombreuses corrections (syntaxe, variables, méthodes dépréciées...). * Devrait permettre de fermer https://github.com/marienfressinaud/FreshRSS/issues/121 * Au passage, quelques simplifications CSS pour de meilleures performances.
2013-11-04Merge pull request #224 from Alkarex/manualLazyloadGravatar Alexandre Alapetite
LazyLoad manuel pour les articles repliés
2013-11-04Merge pull request #215 from Alkarex/notificationsMainGravatar Alexandre Alapetite
Fusionne notification.js dans main.js
2013-11-04Merge pull request #214 from Alkarex/updateUnreadsGravatar Alexandre Alapetite
Mise à jour automatique des nombres d'articles non lus et favoris
2013-10-29jQuery 2.xGravatar Alexandre Alapetite
Il semble qu'il y aurait pas mal de changements à faire pour supporter IE8 (qui ne supporte pas les sélecteurs CSS3 par exemple). Vue l'audience probable de FreshRSS, il me semble raisonnable de commencer à IE9, et dans ce cas jQuery 2.x est mieux (entre autres plus léger) que la branche 1.x qui supporte IE6+ http://jquery.com/browser-support/
2013-10-29LazyLoad manuel pour les articles repliésGravatar Alexandre Alapetite
LazyLoad.js utilise énormément de CPU et ralentit considérablement le défilement de page, en particulier lorsque le nombre d'articles augmente. Dans le cas des articles repliés, il n'y a en fait pas besoin du mécanisme complexe de LazyLoad.js basé sur les événements scroll, car il suffit de charger les images lors du dépliage es articles, et cela allège énormément l'expérience.
2013-10-26Fusionne notification.js dans main.jsGravatar Alexandre Alapetite
notification.js était tout petit et occasionnait une requête supplémentaire et un événement JavaScript en plus. Proposition de fusion dans le nouveau main.js statique.
2013-10-26Mise à jour automatique des nombres d'articles non lus et favorisGravatar Alexandre Alapetite
En JavaScript, sans requête au serveur, décrémente ou incrémente le nombre d'articles non lus ou en favoris suite à une action de l'utilisateur. Utilise un nouvel attribut data-unread pour stocker le nombre d'articles non-lus et du pur CSS pour afficher cette valeur. Nouvel attribut data-priority (pour savoir s'il faut inclure le flux ou pas dans les nombres d'articles non lus). Légère simplification CSS au passage (d'autres optimisations des performances CSS seraient souhaitables en évitant les règles contenant trop de sélecteurs universels imbriqués genre ".categories .favorites .btn" et en évitant les changements de style en JavaScript lors du chargement - j'essayerai de faire une proposition dans un patch séparé). Bug connu : une catégorie finissant par une espace suivi d'un nombre entre parenthèses comme "Exemple (2)" cause actuellement un léger bug d'affichage dans le <title> s'il y a 0 article non lu et que l'utilisateur en marque un comme "non lu". Il faudra une modification pour utiliser data-unread aussi pour le <title>
2013-10-13Ajout de main.jsGravatar Alexandre Alapetite
2013-10-07Correction scroll vue globaleGravatar Marien Fressinaud
En scrollant en lisant une catégorie, en en ouvrant une autre, le scroll se trouvait au même endroit qu'à la fin de la première catégorie
2013-10-07Correction global viewGravatar Marien Fressinaud
init_stream_delegates était appelé à chaque ouverture de panel. Un seul appel suffit (surtout si l'on veut éviter les bugs)
2013-10-07Ajout d'un fond noir en mode vue globaleGravatar Marien Fressinaud
Cache le site pour se concentrer sur la liste d'articles
2013-10-07Corrige la vue globaleGravatar Marien Fressinaud
On initialisait plus correctement le panel de la vue globale depuis l'ajout de la fonction JS init_stream_delegates(). C'est corrigé :)
2013-10-06Fix issue #171: doublon lors de l'autochargementGravatar Marien Fressinaud
On n'essaye plus de charger les articles suivant s'il n'y a plus rien après. On teste donc que le lien a#load_more existe, sinon l'url de chargement est vidée
2013-10-04Update LazyLoad from 1.8.4 to 1.9.0Gravatar Alexandre Alapetite
Appears to solve some problems of images not appearing (Firefox)
2013-09-04jQuery updated from version 1.5.2 to 1.10.2Gravatar Alexandre Alapetite
(checked that it is ok with jQuery Migrate Plugin)
2013-09-04Speed: jQuery optimisation of init_posts()Gravatar Alexandre Alapetite
- jQuery updated from version 1.5.2 to 1.10.2 (checked that it is ok with jQuery Migrate Plugin) - Put hide_posts() first to avoid flashing content during load - Big speed optimisation of init_img() - Use a single on() delegated event (jQuery 1.7+) instead of all per-article click events as described on http://api.jquery.com/on/ - Moved all the per-article click events to an outside function init_stream_delegates() that is called only once even when new articles are dynamically added. Much lighter approach, and does not require unbinding events and rebinding them at each dynamic load. - Side effect: corrected the bug of favourites and read/unread that were not properly unbound during dynamic loading. - Corrected a JavaScript error for auto_load_more when #load_more is not visible and therefore does not have a position() defined.
2013-08-21Fix issue #130 : amélioration vue globaleGravatar Marien Fressinaud
Désormais, en cliquant sur une catégorie ou un flux, une "popup" s'ouvre nous proposant les flux à lire directement. Les mêmes actions que la vue normale sont alors possibles Cela a impliqué de gros changements javascript en aval puisque les articles n'étaient plus repérés en fonction de la fenêtre, mais en fonction du popup (#panel) Le code va vraiment devoir être repris pour avoir une architecture logique (voir issue #121)
2013-08-21Fix issue #125 : "Load more" automatiqueGravatar Marien Fressinaud
En bas de page, si l'option a été cochée (ne l'est pas par défaut), on va charger automatiquement les articles suivants
2013-06-15Fix issue #71 : remise en place du mode endless + correction bug à ↵Gravatar Marien Fressinaud
l'importation OPML
2013-06-14Fix issue #75 : chargement des images en lazyload, reste à le rendre optionnelGravatar Marien Fressinaud
2013-03-17Fix bug #30 : lorsque articles non lus dans une catégorie, les autres ↵Gravatar Marien Fressinaud
catégories affichent désormais tous leurs articles
2013-03-11Correction bug notificationGravatar Marien Fressinaud
2013-03-11Màj design + suppression endless_mode + suppression read_mode (reviendra ↵Gravatar Marien Fressinaud
sous une autre forme ?)
2012-12-08Ajout mode lecture (en js par contre) fix issue #6Gravatar Marien Fressinaud
2012-12-03Correction design (issue #6), début correction bug #16 (à voir où ça en est)Gravatar Marien Fressinaud
2012-11-07Fix bug get_content_by_parsing()Gravatar Marien Fressinaud
2012-11-07Fix issue #7 : ajout du mode endlessGravatar Marien Fressinaud
2012-11-05Fix issue #4 : ajout des retours utilisateurGravatar Marien Fressinaud
2012-10-22ajout des touches de raccourcis et de tout le javascriptGravatar Marien Fressinaud