# j-ShoppingCart

> j-ShoppingCart: singleton; suporta desconto

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: pt
Content-SHA256: 473a117aec3c0371a0beb4b485eaca13a999dfa3b016db07e3aa9c31699d6009
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

- Singularidade
- Suporte ao desconto
- Os dados são armazenados em local

__Configuração__:

- `discount {Number}` um desconto em percentagem (opcional, padrão: `0`)
- Data de expiração `expiration {String}` (default: `6 days`)

__saída__:

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

### Métodos

- `instance.add(id, price, count, [name])` adiciona um novo produto ou aumenta o número se o produto existe
- `instance.upd(id, [count], [price], [name])` atualiza os dados do produto
- `instance.buy(id, price, count, [name])` cria / atualiza o produto
- `instance.rem(id)` remove o produto
- `instance.has(id)` verifica o produto
- `instance.read(id)` Leia o produto
- `instance.clear()` limpa todos os produtos
- `instance.clean()` remove todos os produtos com zero
- `instance.sync(function(array_id_products, meta) {})` cria dados para sincronização com o servidor

### Eventos globais

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

Use-o com `<ui-component name="shoppingcart">`Quando o componente ainda não está carregado, jComponent Descarrega-o no primeiro uso do endereço `DEF.fallback` (a partir do Componentator CDN por padrão). autor: Peter Širka. fonte: o Componentator Reserva de componentes, licença MIT.

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

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