OOUI/Creating interfaces programmatically/fr

La bibliothèque OOUI contient les blocs de base pour construire une interface utilisateur orientée objet. Elle comprend beaucoup de widgets et d'affichages prêts à l'emploi, ainsi que des éléments de base pouvant être assemblés pour créer quelque chose de votre conception. Des systèmes complexes, tels que les fenêtres et les barres d'outils, sont également fournis et peuvent être étendus et associés pour répondre aux besoins de votre application.

Les interfaces utilisateur sont créés dans OOUI par programmation, ce qui supprime entièrement le balisage HTML. Cette technique permet au balisage d'évoluer, tant que l'API qui génère le balisage reste stable. Le balisage peut changer quand on étend une classe pour qu'elle prenne en compte une nouvelle fonctionnalité, ou quand on corrige un bogue pour augmenter la compatibilité.

Tout ce qui existe dans OOUI et que l'utilisateur peut voir est construit en utilisant des éléments assemblés de manière à former les parties discrètes de l'interface utilisateur, et pouvant fonctionner ensemble. En maximisant la réutilisation des éléments, l'aspect, le comportement et la cohérence de l'API sont plus faciles à maintenir.



Pour commencer
Si vous n'êtes pas encore assez familiarisé avec la manière de créer des interfaces avec OOUI, cette section contient un tutoriel rapide sur la manière de construire un widget en utilisant la bibliothèque.

Créer un widget se fait en deux étapes de base :


 * 1) le widget est créé et configuré
 * 2) le widget est ajouté au DOM

Notez que les objets OOUI doivent être ajoutés au DOM avant d'être visibles par l'utilisateur. Les développeurs qui écrivent du code doivent tenir compte du fait qu'un widget peut ou non être attaché au DOM, et ne sera jamais attaché au DOM lors de l'exécution du constructeur. Même après qu'un élément ait été attaché, il peut ultérieurement être détaché. Vous pouvez vérifier qu'un élément est actuellement attaché en utilisant la méthode.

N'oubliez pas d'inclure les bibliothèques nécessaires jQuery et Special:MyLanguage/OOjs ainsi que les informations de style pertinentes (un des thèmes OOUI, actuellement WikimediaUI par défaut ou Apex comme alternative) et la bibliothèque OOUI elle-même.



Créer et configurer un widget
Chaque widget est créé et configuré avec soit un objet de configuration qui est passé à son constructeur, soit en utilisant les méthodes pour initialiser les configurations (voir l'exemple ci-dessous). Beaucoup des méthodes de la bibliothèque sont chaînables, comme montré dans l'exemple.

Une fois le widget créé, il doit être attaché au DOM pour être visible par l'utilisateur. Utiliser la méthode jQuery  pour insérer le nouveau widget dans le DOM en utilisant sa propriété.

L'exemple suivant montre comment créer et ajouter un simple  qui, lorsqu'il est cliqué, ouvre https://www.mediawiki.org dans une nouvelle fenêtre. est configuré en utilisant un objet config. est configuré en utilisant les méthodes du widget :



Notez que certaines méthodes de type get comme  ou , ne doivent pas être chaînées. Ces méthodes peuvent renvoyer ‘null’, et le fait d'appeler une autre méthode avec ‘null’ provoque une erreur.



Connecter un gestionnaire d'événements à un widget
Les Widgets émettent des événements quand vous agissez dessus ou lorsqu'ils sont modifiés d'une manière particulière. Ces événements peuvent être récupérés en leur connectant un gestionnaire d'événements. L'exemple ci-dessous utilise un gestionnaire d'événements pour afficher une alerte lorsque le bouton est cliqué. Quand le bouton est cliqué, son libellé est remplacé par « Do not click me! » en utilisant la méthode setLabel du bouton.

La gestion des événements est fournie par la classe EventEmitter, mixée dans tous les widgets. Pour d'autres informations à propos de EventEmitter, veuillez consulter l'introduction à OOjs.



Comprendre les mixins
Le concept des mixins est fondamental pour la bibliothèque, et beaucoup de ses éléments peuvent être adaptés en utilisant les fonctionnalités du mixin. Par exemple on peut facilement ajouter une icône à un widget de bouton en tirant avantage du fait que la classe  est mixée dans la classe.



Les classes de mixin peuvent être utilisées pour créer ou pour ajouter de nouveaux éléments à un widget (comme l'icône de l'exemple ci-dessus), ou pour ajouter de nouveaux comportements (comme de nouvelles méthodes pour gérer les drapeaux de style ou les titres).

Il existe trois sortes d'éléments mixins, chacun d'eux étant identifié par une convention de nommage :

Notez que si une classe mixin peut créer et initialiser un objet, elle ne l'ajoute pas au DOM. Ceci doit être fait manuellement si vous souhaitez manipuler l'objet directement.
 * Content &mdash; les mixins de contenu génèrent les éléments par défaut (par exemple les groupes, icônes, indicateurs et étiquettes). Les noms des éléments de contenu n'ont pas de suffixe (par exemple,  , etc.)
 * Attribute &mdash; les mixins d'attributs opèrent sur  par défaut (par exemple les drapeaux et les titres). Les noms des mixins d'attributs ont un suffixe « ed » (comme ,  , etc.)
 * Behaviour &mdash; les mixins de comportement opèrent sur  par défaut (comme clippable). Les mixins de comportement sont identifiés par le suffixe « able » (comme , etc.)

Il n'est pas rare de voir des widgets composés de multiple mixins : par exemple la classe  utilise utilise les mixins   et   (et quelques autres). Vous pouvez voir facilement les classes mixées disponibles en regardant la documentation de niveau code pour chacune des classes. Les classes mixin seront toujours affichées dans le coin supérieur droit de l'écran de documentation de chaque classe. En plus, chaque option de configuration note le nom de la classe qui la définit.