Add readme.md
This commit is contained in:
88
readme.md
Normal file
88
readme.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# IdmQuantityPicker
|
||||
|
||||
`IdmQuantityPicker` to lekka klasa JavaScript umożliwiająca stworzenie prostego komponentu do wybierania ilości (`quantity picker`) z przyciskami `+` i `-`, obsługująca minimalne i maksymalne wartości.
|
||||
|
||||
## Funkcje
|
||||
|
||||
* Obsługuje minimalną (`min`) i maksymalną (`max`) wartość.
|
||||
* Automatycznie blokuje przyciski, gdy osiągnięto limit.
|
||||
* Synchronizuje wartość w polu input z przyciskami.
|
||||
* Łatwa integracja z istniejącym HTML-em.
|
||||
|
||||
## Struktura HTML
|
||||
|
||||
Twój komponent powinien wyglądać mniej więcej tak:
|
||||
|
||||
```html
|
||||
<div class="idm-quantity-picker">
|
||||
<button class="idm-quantity-picker__button-minus">-</button>
|
||||
<input type="number" class="idm-quantity-picker__input" value="1" min="1" max="10">
|
||||
<button class="idm-quantity-picker__button-plus">+</button>
|
||||
</div>
|
||||
```
|
||||
|
||||
> **Uwaga:** Klasy w HTML są wymagane, aby skrypt mógł odnaleźć elementy.
|
||||
|
||||
## Użycie
|
||||
|
||||
### Inicjalizacja przez selektor CSS
|
||||
|
||||
```javascript
|
||||
const picker = new IdmQuantityPicker({
|
||||
selector: ".idm-quantity-picker",
|
||||
min: 1,
|
||||
max: 20
|
||||
});
|
||||
```
|
||||
|
||||
### Inicjalizacja przez referencję do elementu
|
||||
|
||||
```javascript
|
||||
const container = document.querySelector("#my-picker");
|
||||
const picker = new IdmQuantityPicker({
|
||||
ref: container,
|
||||
min: 1,
|
||||
max: 50
|
||||
});
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### Właściwości
|
||||
|
||||
* `value` – obecna wartość (getter i setter)
|
||||
* `min` – minimalna wartość
|
||||
* `max` – maksymalna wartość
|
||||
|
||||
### Metody
|
||||
|
||||
* `handlePlus()` – zwiększa wartość o 1
|
||||
* `handleMinus()` – zmniejsza wartość o 1
|
||||
* `updateButtons()` – aktualizuje stan przycisków
|
||||
* `updateInput()` – aktualizuje wartość w polu input
|
||||
|
||||
## Przykład działania
|
||||
|
||||
```html
|
||||
<div id="example-picker" class="idm-quantity-picker">
|
||||
<button class="idm-quantity-picker__button-minus">-</button>
|
||||
<input type="number" class="idm-quantity-picker__input" value="1" min="1" max="5">
|
||||
<button class="idm-quantity-picker__button-plus">+</button>
|
||||
</div>
|
||||
|
||||
<script src="IdmQuantityPicker.js"></script>
|
||||
<script>
|
||||
const examplePicker = new IdmQuantityPicker({
|
||||
ref: document.querySelector('#example-picker'),
|
||||
min: 1,
|
||||
max: 5
|
||||
});
|
||||
|
||||
</script>
|
||||
```
|
||||
|
||||
## Uwagi
|
||||
SIGMA
|
||||
* Jeśli nie podasz `min` lub `max`, zostaną użyte wartości z atrybutów `input`.
|
||||
* Przyciski zostaną automatycznie zablokowane, gdy osiągnięty zostanie limit minimalny lub maksymalny.
|
||||
* Skrypt loguje błędy, jeśli nie znajdzie wymaganych elementów w kontenerze.
|
||||
Reference in New Issue
Block a user