# j-ShoppingCart

> j-ShoppingCart : singleton ; supporte le rabais

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: fr
Content-SHA256: 5d5290591150427427f3d2978a98abeb7e1c1d2e829aea72be15e831e57969e3
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

- singleton
- Soutenir le discount
- Les données sont stockées dans localStorage

__Configuration__ :

- `discount {Number}` un rabais en pourcentage (optionnel, par défaut: `0`)
- `expiration {String}` Défaut de données (defaut) : `6 days`)

__Sortie__ :

```js
{
	items: [
		{
			name: String,
			price: Number,
			total: Number,
			count: Number,
			date: Date
		}
	],
	price: Number,
	total: Number,
	count: Number
}
```

### Méthodes

- `instance.add(id, price, count, [name])` ajoute un nouveau produit ou augmente le nombre si le produit existe
- `instance.upd(id, [count], [price], [name])` Mise à jour des données du produit
- `instance.buy(id, price, count, [name])` Créer / Mise à jour du produit
- `instance.rem(id)` supprimer le produit
- Le produit de `instance.has(id)`
- Le produit `instance.read(id)`
- `instance.clear()` : tous les produits sont nettoyés
- `instance.clean()` supprime tous les produits avec un nombre zéro
- `instance.sync(function(array_id_products, meta) {})` crée des données pour la synchronisation avec le serveur

### événements mondiaux

- `ON('shoppingcart.add', function(item) {})`
- `ON('shoppingcart.upd', function(item) {})`
- `ON('shoppingcart.rem', function(id) {})`
- `ON('shoppingcart.sum', function(data) {})`
- `ON('shoppingcart.clear', function() {})`

Utilisez-le avec `<ui-component name="shoppingcart">`. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans `DEF.fallback` (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.

```html example.html
<ui-component name="shoppingcart" path="common.shoppingcart"></ui-component>

<script>
	var common = {};
</script>
```
