Allegro summer e-xperience 2017 Maciej Wójcik
To repozytorium zawiera kod komponentu na zadanie stażowe w allegro summer e-xperience. Komponent został napisany z użyciem biblioteki do JavaScript’u Polymer w wersji 2.0. Komponent jest responsywny i interaktywny. Wykorzystuje najnowsze technologie do budowy web-components. Zachęcam do obejrzenia demo komponentu dostępnego na github-pages.
Po pierwsze trzeba mieć zainstalowane npm , oraz Polymer CLI
Do instalacji będziemy potrzebować zainstalowanego GIT'a na komputerze
Polymer CLI instalujemy wpisując po kolei poniższe komendy:
npm install npm@latest –g
npm install -g bower
npm install -g polymer-cli@next
Istnieją dwie drogi instalacji komponentu. Można ściągniąć kod źródłowy z githuba, albo zainstalować komponent wpisując w konsole
bower install MaciejWWojcik/drop-down-box
a następnie wpisując w katalogu głównym ściągniętego projektu ( domyślnie ./bower_components/drop-down-box/)
bower install
Uruchomienie komponentu następuje poprzez wpisanie w konsole
polymer serve
na konsoli pojawi się informacją na jakim adresie i porcie został wystawiony dany komponent.
Wszystko jest opisane na github-pages
Komponentu używamy jak każdy inny element deklarując go w kodzie html
<drop-down-box></drop-down-box>
i importując plik drop-down-box.html w nagłówku
kod JS komponentu dostępny jest w pliku
drop-down-box.html
Komponent powinien już działać
Możemy dodać do niego różne parametry, żeby zmienić jego zachowanie:
-
is-active
powoduje włączenie na stałe zielonego podkreślenia, które normalnie pokazuje, ze został wybrany element z listy -
is-wrong
powoduje włączenie na stałe czerwonego podkreślenia, które normalnie wyświetla się, gdy walidacja pola jest włączona, a użytkownik nie wybrał, żadnego elementu z listy. -
is-disable
powoduje zablokowanie elementu. -
Używając parametru
default=”element
” możemy wybrać domyślny wybrany element, który będzie wyświetlony i zwracany nawet jeśli użytkownik nic nie zaznaczy.
Oprócz tego, żeby modyfikować zachowanie naszego elementu i jego wygląd możemy korzystać, z funkcji opisanych w API, oraz zmieniając dowolnie style. Element jest responsywny, można go dopasować do swoich potrzeb.
Poniżej przedstawiam listę funkcji przygotowanych dla developera.
setItems(string[])
– zmienia aktualną listę elementów na liście z podaną w argumenciegetCurrentItem()
– zwraca aktualnie wybrany element z listysetDisabled(Boolean)
– ustawia zmienną disabled zgodnie z argumentem funkcjienable()
– ustawia zmienną disabled na falsedisable()
– ustawia zmienną disabled na truesetValidator(Boolean)
– włącza lub wyłącza walidacje pola zgodnie z argumentem funkcjisetActiveParam(Boolean)
– ustawia wartość zmiennej is-active zgodnie z argumentemsetWrongParam(Boolean)
- ustawia wartość zmiennej is-wrong zgodnie z argumentem