rnb-js

Librairie javascript qui regroupe une série de fonctions et d'objets développés sur le site http://omacronides.com depuis 2004.

Présentation

La création de cette librairie s'est faite peu à peu, à partir de 2004, lorsque le javascript a fait irruption sur le site. A l'époque, une série de projets indépendants comme la présentation par onglet possédaient des méthodes ou des comportements communs et utilisables dans d'autres contextes. Pour simplifier le travail, il a fallu regrouper le tout de manière cohérente en un même endroit afin d'éviter les répétitions.

Depuis août 2016 une version 2, « rnb2 », remplace peu à peu la version historique, afin d'alléger le code, de rendre les modules plus indépendants les uns et des autres et pour abadonner totalement le support des navigateurs obsolètes.

rnb-js peut parfois apparaître comme un outil d'expérimentation mais il est utilisé en production à la fois sur ce site et dans un cadre professionnel.

Documentation

Attention: Documentation en cours de rédaction.

  • rnb/charts/
  • rnb/core/
    • dom — utilitaires DOM.
    • keyboard — utilitaires pour événements clavier.
    • strings — utilitaires pour manipuler les chaînes de caractères.
    • uri — Manipulation de l'url de la page.
  • rnb/tables/
    • Table — Gestion de tableaux
    • TableFilter — Filtre de lignes de tableau.
    • TableSelecter — Sélection de ligne de tableau.
    • TableSorter — tri de lignes de tableau.
  • rnb/tools/
    • BoundClick — Limiter la zone de click
    • ScrollTracker
    • Selecter
    • StickyScroll — Attache d'élément au sommet de la fenêtre lors du scroll.
    • tooltips
  • rnb/trees/
    • Tree — Arbre hiérarchique pliable
    • Toc — Table des matières
  • rnb/ui/
    • Accordion — Contenu en accordéon
    • expanders — Disclosure widgets
    • lazygals — Chargement de galleries d'images à la demande
    • lazypics — Chargement d'images au passage dans le viewport
    • meters — Éléments meters
    • ranges — Éléments range
    • spoilers — Autre disclosure widget.
    • Suggest — Champ de saisie avec liste de suggestions.

Historique

2018-09
  • upd Création du module charts.
  • add rnb/charts/PieChart.
2018-02
  • upd fusion rnb2 / rnb avec passage définitif à ES6.
2016-08
  • upd création de « rnb2 », version de la librairie avec des modules plus indépendants et l'abandon total du support des navigateurs obsolètes.
2013-11
  • upd restructuration du projet (branche « modern ») avec une organisation plus simple, une limitation des dépendances à l'objet global rnb.
  • upd module lang pour tout ce qui touche à l'
2013-08
  • fix Simplification de la librairie.
  • del Suppression des styles, gérés totalement par rnb.css.
  • add Génération d'une première documentation avec rnb-php/codedoc.
  • upd Utilisation d'objets plus modernes comme MutationObserver.
  • upd Utilisation d'attributs aria au lieu de classes pour illustrer des états.
2013-04
  • upd Maintenance (corrections, simplifications).
  • upd GeoScale
  • add Timeline
2013-01
  • del Nettoyage pour supprimer le support IE 6/7/8.
  • upd Simplification des objets.
  • fix Déplacement des méthodes d'aides dans le prototype des objets natifs quand elles font partie des spécifications (polyfills).
2012-04
  • del rnb.dom - suppression des méthodes liées aux classes ; utilisation de classList.
  • upd Simplification des objets.
2012-03
  • upd rnb.define et rnb.rquire deviennent define et require.
  • add Possibilité d'utiliser le chargeur interne de modules ou un chargeur externe (requirejs).
2011-08
  • add Split du fichier principal en sous-fichiers fusionnés lors du build.
  • add Nouveau gestionnaire de modules : les modules retournent leur contenu et n'alimentent plus l'objet global rnb.
  • upd Réorganisation du projet.
  • fix Divers corrections de bugs.
2011-05
  • add Définition de modules (rnb.define).
  • fix Mises à jour et corrections diverses.
  • fix Simplification des objets.
2010-10
  • upd rnb.gc.Gal devient rnb.gc.SlideView, un outil plus générique.
2010-04
  • add Composant rnb.gc.Spinner.
  • add Composant rnb.wg.CladeTree.
  • add Composant rnb.wg.GeoScale.
  • add Composant rnb.wg.PTE.
2009-05
  • add Interfaces de comportement et rnb.Base pour factoriser le code et harmoniser les comportements.
  • add Composant rnb.gc.ContentPane.
  • add Composant rnb.gc.Pane.
  • add Composant rnb.gc.Menu.
  • add Composant rnb.gc.RTE.
  • upd Nouvelles structures et organisation.
  • upd Espaces de nommage rnb.gc et rnb.wg en lieu et place de rnb.comp.
2008-06
  • upd Espace de nommage rnb.comp, prédécesseurs de rnb.gc et rnb.wg.
  • upd rnb.fwk : début de gestion des héritages.
  • add Espace de nommage rnb.forms.
2008-01
  • add Méthodes d'indentification de type, de manipulation de chaînes de caractères, de gestion des méthodes.
  • add rnb.MouseMoveManager : gestion du mouvement de la souris.
  • add Composant rnb.fx.Resizer.
  • add Composant rnb.fx.Zoom.
  • add Composant rnb.gc.Nav.
  • add Composant rnb.gc.Splitter.
  • add Composant rnb.gc.Table.
  • add Composant rnb.gc.Toc.
  • add Composant rnb.wg.Apod.
  • upd Réécriture complète de la plupart des composants, proches de leur forme définitive.
  • upd rnb.dom enrichit : forme presque définitive même si les méthodes sont encore distribuées dans 3 espaces de nommage différents.
  • upd rnb.fwk : gestion des dépendances et des fichiers minifiés.
  • upd Composant rnb.fx.Anim.
  • upd Composant rnb.fx.Dragger.
2007-04
  • add Espace de nommage rnb.
  • add Méthodes de manipulation de l'arborescence DOM, des attributs (class), de gestion des événements.
  • add Espace de nommage rnb.fx avec dragger et pseudo-anim.
  • add Composant rnb.Toggler.
2006-04
  • add Objet de requêtes asynchrones (futur rnb.xhr).
  • add Composant rnb.gc.Tree.
  • upd Popup avec requêtes asynchrones.
2005-08
  • add include : inclure des appels à des fichiers javascript et css.
  • add Composant rnb.gc.StxHighlight.
  • add Débuts de ce qui deviendra rnb.dom.
  • upd Evolution du gestionnaire de popup.
  • upd Version finale du moteur de recherche.
  • upd Composant rnb.gc.TabView.
  • upd Composant rnb.gc.Gal.
2005-04
  • fix Correction de bugs.
2004-12
  • upd Scripts indépendants prélude à certains composants de la librairie.
  • add Moteur de recherche (futur rnb.gc.Suggest).
  • add Gestion d'onglets dérivée du DomTab de Christian Heilmann (futur rnb.gc.TabView).
  • add Gestion de gallerie d'images dérivée d'un script de Jeremy Keith (futur rnb.gc.Gal).
  • add Gestion de popup (futur rnb.gc.Popup).