aboutsummaryrefslogtreecommitdiff
path: root/app/views/javascript
AgeCommit message (Collapse)Author
2024-11-28Upgrade code to php 8.1 (#6748)Gravatar Luc SANCHEZ
* revert Fix code indentation Fix code Upgrade code to php 8.1 * fix remarques * code review * code review * code review * Apply suggestions from code review * code review * Fixes * Many remainging updates of array syntax * Lost case 'reading-list' * Uneeded PHPDoc --------- Co-authored-by: Luc Sanchez <l.sanchez-prestataire@alptis.fr> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-06-09Pass PHPStan level 9 (#6544)Gravatar Alexandre Alapetite
* More PHPStan * More, passing * 4 more files * Update to PHPStan 1.11.4 Needed for fixed bug: Consider numeric-string types after string concat https://github.com/phpstan/phpstan/releases/tag/1.11.4 * Pass PHPStan level 9 Start tracking booleansInConditions * Fix mark as read * Fix doctype * ctype_digit
2023-11-16Use strict_types (#5830)Gravatar Luc SANCHEZ
* Little's optimisations and booleans in conditions * Apply strict type * Apply strict type * Apply strict type * Fix multiple bugs with PHP 8.2 and 8.3 * Many declares missing, more errors fixed * Apply strict type * Another approach * Stronger typing for Minz_Session * Fix case of SQLite --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-11Typed view model classes (#5380)Gravatar Alexandre Alapetite
* Typed view model classes * Add ability to provide a typed view model class to a controller * Use `::class` instead of string for referring to classes * Examplified with `stats` and `javascript` controllers / views (more to do) * Also useful for extensions (my usecase today), which did not have the ability to define own view model attributes before. * Typo
2022-07-04Dynamic OPML (#4407)Gravatar Alexandre Alapetite
* Dynamic OPML draft #fix https://github.com/FreshRSS/FreshRSS/issues/4191 * Export dynamic OPML http://opml.org/spec2.opml#1629043127000 * Restart with simpler approach * Minor revert * Export dynamic OPML also for single feeds * Special category type for importing dynamic OPML * Parameter for excludeMutedFeeds * Details * More draft * i18n * Fix update * Draft manual import working * Working manual refresh * Draft automatic update * Working Web refresh + fixes * Import/export dynamic OPML settings * Annoying numerous lines in SQL logs * Fix minor JavaScript error * Fix auto adding new columns * Add require * Add missing 🗲 * Missing space * Disable adding new feeds to dynamic categories * Link from import * i18n typo * Improve theme icon function * Fix pink-dark
2021-12-31Add PHPStan (#4021)Gravatar Alexandre Alapetite
* Add PHPStan #fix https://github.com/FreshRSS/FreshRSS/issues/4016 https://phpstan.org/ ```sh composer run-script phpstan ``` * More fixes * Fix global variables * Add .phtml * Fix merge https://github.com/FreshRSS/FreshRSS/pull/4090 * Fix more warnings * Fix view errors and enable in CI * ReturnTypeWillChange * Dynamic view type * Fix Minz static/self bug
2018-09-29Custom labels (#2027)Gravatar Alexandre Alapetite
* First draft of custom tags https://github.com/FreshRSS/FreshRSS/issues/928 https://github.com/FreshRSS/FreshRSS/issues/1367 * SMALLINT to BIGINT for id_entry And uppercase SQL types * Fix layout for unreads * Start UI menu * Change menu order * Clean database helpers https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r217971535 * Travis rules do not understand PostgreSQL constants Grrr * Tag controller + UI * Add column attributes to tags * Use only favicon for now, for label * Fix styling for different themes * Constant for maximum InnoDB index length in Unicode https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r219052200 (I would have personnally prefered keeping the readability of a real value instead of a constant, in this case of many SQL fields) * Use FreshRSS_Factory::createCategoryDao * Add view of all articles containing any tag * Fix search in tags * Mark as read tags * Partial auto-update unread tags * More auto update tag unreads * Add tag deletion * Do not purge tagged articles * Minor comment * Fix SQLite and UI bug * Google Reader API support for user tags Add SQL check that tag names must be distinct from category names * whitespace * Add missing API for EasyRSS * Compatibility SQLite Problematic parentheses * Add SQL DISTINCT for cases with multiple tags * Fix for PostgreSQL PostgreSQL needs some additional type hint to avoid "could not determine data type of parameter $1" http://www.postgresql-archive.org/Could-not-determine-data-type-of-parameter-1-tp2171092p2171094.html
2016-02-27CSP manually refreshing feedsGravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/1075
2014-12-11Fix french i18n for last viewsGravatar Marien Fressinaud
2014-08-10Improve design of actualize notificationGravatar Marien Fressinaud
- Remove progress bar - Show title of updated feed
2014-07-09Block user to click many times on the refresh buttonGravatar Marien Fressinaud
See https://github.com/marienfressinaud/FreshRSS/issues/513
2014-06-03Fix theme Origine2Gravatar Marien Fressinaud
It should be equivalent to Origine (modulo some improvements) See https://github.com/marienfressinaud/FreshRSS/issues/320
2014-02-13Use complete instead of done during feed refreshGravatar Marien Fressinaud
A request can fail: in this case, the progress bar is not updated by using "done". See #421
2014-02-13Add possibility to open notification in JavaScript + new messageGravatar Marien Fressinaud
Notifications can be opened directly in JavaScript Class .notification is now id #notification New message when there is no feed to refresh See 06abbd02c2d10934155b2464f73d8ecdb2a68de1 (comments)
2014-02-06Petite simplification mise à jour JavaScriptGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/pull/414
2014-02-05Changement du rafraichissement manuel des fluxGravatar Alexis Degrugillier
Au lieu de lancer un rafraichissement sur l'ensemble des flux, le rafraichissement se fait sur 10 flux simultanément. Quand un flux est rafraichit, il lance le rafraichissement d'un autre flux jusqu'à épuisement des flux disponibles.
2014-01-11Mot de passe + nonce serveurGravatar Alexandre Alapetite
Début de https://github.com/marienfressinaud/FreshRSS/issues/104
2014-01-09Nouveau rafraîchissement automatique du nombre d'articles non lus + session ↵Gravatar Alexandre Alapetite
Persona Devrait aussi résoudre https://github.com/marienfressinaud/FreshRSS/issues/358 À tester
2014-01-02JavaScript : Bug actualize quand il n'y a aucun fluxGravatar Alexandre Alapetite
+ un peu de JSLint.
2013-12-15Grosse refactorisation pour permettre le chargement automatique des classesGravatar Alexandre Alapetite
C'est parti de changements pour https://github.com/marienfressinaud/FreshRSS/issues/255 et finalement j'ai continué la refactorisation... Ajout de préfixes FreshRSS_ et Minz_ sur le modèle de SimplePie_. Toutes les classes sont maintenant en chargement automatique (devrait améliorer les performances en évitant de charger plein de classes inutilisées, et faciliter la maintenance). Suppression de set_include_path(). Si souhaité, certaines classes de Minz pourraient être déplacées dans un sous-répertoire, par exemple les exceptions. Tests et relecture nécessaires.
2013-11-08Déplace le fichier main.phtmlGravatar Marien Fressinaud
app/views/javascript/main.phtml est déplacé vers app/views/helpers/javascript_vars.phtml Il reste à déplacer le fichier actualize.phtml pour se débarrasser de javascriptController
2013-11-08Ne charge les raccourcis que sur la page principaleGravatar Marien Fressinaud
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-08Meilleur async pour PersonaGravatar Alexandre Alapetite
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/235
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-04Variable full_lazyloadGravatar Alexandre Alapetite
Pour savoir s'il faut attendre le chargement async de jquery.lazyload.min.js ou pas
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-10-13Chargement à la volée de actualize.phtmlGravatar Alexandre Alapetite
Au lieu de faire une requête systématiquement à chaque action de l'utilisateur vers actualize.phtml (qui est lourd à générer et à lire), cette requête se fait maintenant uniquement lors de son utilisation.
2013-10-13Remplace main.phtml non-cachable par main.js cachableGravatar Alexandre Alapetite
Amélioration des performances en permettant la mise en cache de 10Ko de JavaScript et en évitant une requête HTTP à chaque action de l'utilisateur.
2013-10-07Fix défilement articles dépliés en vue globaleGravatar Marien Fressinaud
2013-10-07Fix le scroll en changeant d'articleGravatar Marien Fressinaud
2013-10-07Merge branch 'patch-1' of github.com:Alkarex/FreshRSS into Alkarex-patch-1Gravatar Marien Fressinaud
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-07Corrige images qui ne se chargent pas avec LazyLoadGravatar Alexandre Alapetite
Tel qu'utilisé, LazyLoad charge les nouvelles images lors d'un scroll. Hors dans certains cas (navigation clavier ou clic souris sur un article pour l'ouvrir), aucun scroll n'est généré et du coup les images ne sont pas chargées. Ce patch ajoute un événement scroll artificiel dans ces cas là. Exemple de cas sans scroll: bas de liste d'articles (ex: non lus), avec des articles plus petits que la taille verticale de la fenêtre, il n'y a pas de matière pour scroller plus haut.
2013-10-07Design + suppression 2 raccourcisGravatar Marien Fressinaud
Les raccourcis page suivante et précédente n'avait plus lieu d'être avec le mode endless Petite correction du design pour les formulaire : les labels (float left) dépassaient des form-group
2013-10-06Corrige doublons autochargement avec navigation clavierGravatar Alexandre Alapetite
1) Lors de la navigation clavier, si le chargement automatique en bas de page est activé, il ne faut pas manuellement charger les nouveaux articles, sinon il y a des doublons. 2) Il faut d'abord changer d'article avant d'en charger des nouveaux. Vite fait, et vite testé, mais semble marcher et corriger les bugs de doublons que je constatais en navigation clavier (les articles non-lus que je venais de lire se rechargeaient une 2ème fois).
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-08-21Issue #125 : "suivant" charge articles suivantsGravatar Marien Fressinaud
Le raccourci pour passer à l'article suivant charge automatiquement les articles suivants si on vient d'ouvrir le dernier article de la page Il reste à rajouter une option pour les charger si on se trouve en bas de la page
2013-08-21Fix issue #131 : pied d'articleGravatar Marien Fressinaud
Ajout de la date et du lien vers site externe au pied des articles Modification comportement raccourci "up" : si la fenêtre est sous l'article actif, on remonte en haut de cet article. Si la fenêtre est au début de l'article actif ou au-dessus, on remonte en haut de l'écran
2013-08-18Amélioration marquage des articles au défilementGravatar Marien Fressinaud
Un petit bug faisait qu'un article marqué comme lu pouvait repasser en non lu même en mettant le paramètre "only_not_read" à true pour la fonction mark_read.
2013-08-18Correction comportement JSGravatar Marien Fressinaud
L'ouverture d'un article sur le site d'origine via le raccourci fonctionne de nouveau normalement Lorsque la connexion est paramétrée et la lecture anonyme autorisée, une personne non connectée pouvait avoir l'impression de marquer des articles comme (non) lus (mais ça n'était pas effectif après un rafraichissement de la page). Les articles ne peuvent plus être marqués désormais
2013-07-26Fix issues #98 #99 : marquage lors du défilementGravatar Marien Fressinaud
Modification de la zone du viewport qui faisait toute la taille de l'écran. Désormais le viewport va du haut de l'écran jusqu'à sa moitié Modification de la zone de marquage en la réduisant : début au 3/4 de l'article et fin 50px plus loin (ou bas de l'article si dépasse)
2013-07-02Fix issues #93 et #94Gravatar Marien Fressinaud
Les noms de catégorie trop longs ne cassent plus les boutons dans la colonne de gauche (ajout d'un overflow hidden) Les articles enroulés ne bugguent plus lorsqu'on charge plus d'articles. L'action au clic pour dérouler un article était appliqué deux fois, désormais on "unbind" d'abord l'action avant de la réappliquer (pas très efficace mais c'est la façon la plus simple)
2013-06-23Amélioration du marquage au défilementGravatar Marien Fressinaud
Ne marque plus que lorsqu'on s'est déplacé de plus de 50px (évite de checker à chaque fois) De plus, lorsque les articles sont repliés, le marquage ne marche plus (évite donc de marquer des articles non lus)
2013-06-23Fix #77 : articles marqués comme lus au défilementGravatar Marien Fressinaud
Possibilité de marquer les articles automatiquement comme lus lors du défilement de la page. Le marquage survient aux 3/4 de l'article visible. Ajout d'une option pour activer / désactiver (défaut) la fonctionnalité et disparition de l'option de marquage au chargement de la page. Ajout de 2 boutons pour marquer comme lu et en favori en bas des articles
2013-06-23Ajout d'une barre de navigation en version mobileGravatar Marien Fressinaud
Fix issue #57 : pas d'effet de slide (effet trop bling-bling) mais ajout d'une barre de navigation permettant d'aller à l'article suivant / précédent ou de remonter en haut de la page
2013-06-16Implémentation des vues lecture et globale (issue #67)Gravatar Marien Fressinaud
2013-06-15Première version de la vue lecture (issue #67)Gravatar Marien Fressinaud