Skip to content

Commit 6faacb7

Browse files
committed
some trad for 8-2
1 parent c1dbc1c commit 6faacb7

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

8-web-components/2-custom-elements/article.md

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,68 @@
11

22
# Custom elements
33

4-
We can create custom HTML elements, described by our class, with its own methods and properties, events and so on.
4+
Nous pouvons créer des éléments HTML personnalisés, définis par nos classes, avec leur propres méthodes et propriétés, gestionnaires d'événement, etc.
55

6-
Once a custom element is defined, we can use it on par with built-in HTML elements.
6+
Une fois qu'un élément personnalisé est définit, nous pouvons l'utiliser au même titre qu'un élément HTML classique.
77

8-
That's great, as HTML dictionary is rich, but not infinite. There are no `<easy-tabs>`, `<sliding-carousel>`, `<beautiful-upload>`... Just think of any other tag we might need.
8+
C'est parfait, sachant que le dictionnaire HTML est riche, mais pas infini. Il n'y a pas de `<easy-tabs>`, `<sliding-carousel>`, `<beautiful-upload>`... Pensez un instant à toute les balises dont nous pourrions avoir besoin.
99

10-
We can define them with a special class, and then use as if they were always a part of HTML.
10+
Nous pouvons les définir avec une classe spéciale, et les utiliser comme des balises HTML classique.
1111

12-
There are two kinds of custom elements:
12+
Il y a deux sortes d'éléments personnalisés :
1313

14-
1. **Autonomous custom elements** -- "all-new" elements, extending the abstract `HTMLElement` class.
15-
2. **Customized built-in elements** -- extending built-in elements, like a customized button, based on `HTMLButtonElement` etc.
14+
2. **Éléments personnalisés autonome** -- les nouveaux éléments, qui étendent la classe abstraite `HTMLElement`.
15+
<!-- 2. **Customized built-in elements** -- extending built-in elements, like a customized button, based on `HTMLButtonElement` etc. -->
16+
**Éléments personnalisés intégrés** -- ils étendent les éléments déjà intégrés au navigateur, comme un bouton personnalisé, basé sur `HTMLButtonElement`.
1617

17-
First we'll cover autonomous elements, and then move to customized built-in ones.
18+
<!-- First we'll cover autonomous elements, and then move to customized built-in ones. -->
19+
Nous allons voir les éléments personnalisés autonome dans un premier temps, puis nous passerons aux éléments personnalisés déjà intégrés au navigateur.
1820

19-
To create a custom element, we need to tell the browser several details about it: how to show it, what to do when the element is added or removed to page, etc.
21+
<!-- To create a custom element, we need to tell the browser several details about it: how to show it, what to do when the element is added or removed to page, etc. -->
22+
Pour créer un élément personnalisé, nous allons devoir donner quelques détails au navigateur : Comment le montrer, que faire lorsque cet élément est chargé dans le DOM, ect...
2023

21-
That's done by making a class with special methods. That's easy, as there are only few methods, and all of them are optional.
24+
<!-- That's done by making a class with special methods. That's easy, as there are only few methods, and all of them are optional. -->
25+
C'est possible en créant une classe avec des méthodes spéciales. C'est facile, sachant qu'il n'y seulement que quelques méthodes, et elles sont toutes optionnelles.
2226

23-
Here's a sketch with the full list:
27+
<!-- Here's a sketch with the full list: -->
28+
Voici la classe et toute ses méthodes :
2429

2530
```js
2631
class MyElement extends HTMLElement {
2732
constructor() {
2833
super();
29-
// element created
34+
// créer l'élément
3035
}
3136

3237
connectedCallback() {
33-
// browser calls this method when the element is added to the document
34-
// (can be called many times if an element is repeatedly added/removed)
38+
// le navigateur appelle cette méthode lorsque l'élément est ajouté au document
39+
// elle peut-être appelé autant de fois que lélément est ajouté ou supprimé)
3540
}
3641

3742
disconnectedCallback() {
38-
// browser calls this method when the element is removed from the document
39-
// (can be called many times if an element is repeatedly added/removed)
43+
// le navigateur appelle cette méthode lorsque l'élément est supprimé du document
44+
// elle peut-être appelé autant de fois que lélément est ajouté ou supprimé)
4045
}
4146

4247
static get observedAttributes() {
43-
return [/* array of attribute names to monitor for changes */];
48+
return [/* tableau listant les attributs dont les changements sont à surveiller */];
4449
}
4550

4651
attributeChangedCallback(name, oldValue, newValue) {
47-
// called when one of attributes listed above is modified
52+
// appelé lorsque l'un des attributs listé par la méthode ci-dessus est modifié
4853
}
4954

5055
adoptedCallback() {
51-
// called when the element is moved to a new document
52-
// (happens in document.adoptNode, very rarely used)
56+
// méthode appelé lorsque l'élément est envoyé vers un nouveau document
57+
// (utilisé très rarement avec document.adoptNode)
5358
}
5459

55-
// there can be other element methods and properties
60+
// vous pouvez ajouter d'autres méthodes ou propriétées
5661
}
5762
```
5863

59-
After that, we need to register the element:
64+
<!-- After that, we need to register the element: -->
65+
Après ça, nous devons enregistrer cet élément :
6066

6167
```js
6268
// let the browser know that <my-element> is served by our new class

0 commit comments

Comments
 (0)