summaryrefslogtreecommitdiff
path: root/public/scripts/main.js
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-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