Wdrożenie projektu
15 godz. 6 min · UI, UX i Webdesign
Krzysiek PiekarzAutomation Specialist / No-code DeveloperMateriał szkoleniowy został zaprojektowany tak, aby mogło z niego skorzystać jak najszersze grono odbiorców. Nieważne czy jesteś totalnym laikiem, czy też posiadasz już wiedzę z zakresu programowania lub designu, na pewno znajdziesz tu coś dla siebie. A więc kto jeszcze może skorzystać z wiedzy zawartej w tym kursie?
Tej lekcji zajmiemy się kolejnym z widoków naszym dashboard jakim są wishlisty.
Tutaj w pierwszej kolejności dla naszego
roju element dla empty state, czyli tego, który widzisz teraz na ekranie.
Dodałem popup, który otwiera się po kliknięciu w przycisk.
Jest on w pełni statyczny.
Nie ma tutaj żadnych dynamicznych danych, żadnego przekazywania danych do popu itd.
Mamy tutaj na sztywno wpisany tekst, pole input i przycisk.
Jedyne workflow jakie tutaj działają to
to, które otwiera ten popup oraz oczywiście to, którego zamyka.
I to wszystko.
Natomiast jeżeli przejdziemy do podglądu full state, myślę zresztą, że
już na tym etapie wiesz, jak sobie przełączać te widoki.
Mówiłem o tym w lekcji poprzedniej.
Po prostu trzeba dodać kolejny atrybut do
data type user i tutaj zmieniać go oczywiście 0/1 i na
podstawie tego oczywiście dostosować sobie condition, ale.
Natomiast jeżeli przejdę do full state
to tutaj znów zastosowałem bardzo fajny trick, zaraz się pokaże jaki.
Natomiast układ jest mega prosty stwierdzić.
Wiem, że jeżeli chodzi o wishlisty to
pójdźmy po najmniejszej linii oporu i tylko przygotujmy sobie listę.
Oczywiście w przyszłości będziemy musieli zadbać o to, aby po kliknięciu np.
taki item pojawiał się popup, który będzie wyświetlał wszystkie listing dodane takiej
listy, ale na chwilę obecną tym się nie przejmujemy.
Zadbamy o to w kolejnym sprincie.
Natomiast tak ja w tym przypadku stworzyłem sobie nowe Option Set.
Możemy do niego przejść.
Wracamy więc do edytora Data set o nazwie OS VCS.
Nie dodawałem go już do bazy for table, ponieważ jest on niesamowicie prosty.
Mamy tutaj tylko display oraz listing czy odniesienie
set listing, ale w tym przypadku wybrałem to jako listę.
A więc wystarczy, że wskażesz tutaj
listing i zaznaczysz ten checkbox, aby uzyskać właśnie taki typ pola.
Natomiast dla samych tych rekordów.
Możesz dodać tutaj konkretny listing, tak
jak zresztą robiliśmy to właśnie o ile dobrze pamiętam na OST Reviews.
Musisz pamiętać o tym, aby kliknąć tutaj
Add, aby nam to wyskoczyło, podobnie zresztą jak to miało miejsce z obrazkami.
Ja to zrobiłem w ten sposób.
Że pierwszy ma tutaj tylko jeden rekord w tej kolumnie.
Far Far Away ma 2, a Berk ma trzy.
Jak widzisz jestem fanem animacji DreamWorks, o czym tutaj świadczą tytuły.
I w ten sposób w podglądzie
mogę sobie sprawdzić ile rekordów w tej kolumnie listing posiadam.
Jeżeli jest jeden to wyświetlam tutaj ten
jeden obrazek, który sobie z niego wyciągam.
Jeżeli mam tam dwa listingu to wyświetlam sobie oba te obrazki.
Pobieram je po prostu odnosząc się do tych listingu.
Zaraz zobaczę jak to robię i wyciągam.
Oczywiście mają mieć.
W ten sam sposób wyświetlam tutaj
informację, ile tych listingu tam się znajduje.
Stwierdziłem, że maksymalnie będę to robił dla trzech, czyli tu 1 2.
Jeżeli będzie 3 lub więcej, to właśnie będę wyświetlał w ten sposób.
Dzięki czemu wydaje mi się, że te listy dużo fajniej się tu prezentują,
zamiast po prostu wyświetlać za każdym razem tylko jeden obrazek.
Ale jak to jest tak naprawdę skonstruowane?
No więc wracamy do edytora.
Jestem w gestii Sister.
I tak przejdźmy do właściwych elementów.
Tutaj w filtrach zostawiłem tylko sortowanie po dacie.
Nie mamy tutaj żadnych przycisków.
Tutaj mamy repeat thing grupę, która odnosi się do spójrz list.
W tym przypadku tak.
Nie mam określonej liczby rzędów, ponieważ
nie wiem ile użytkownik takich list sobie stworzy.
Zastosowałem standardowy trik, czyli min.
Height ustawiłem na 100%.
Pozbyłem się również tutaj stałej liczby kolumn i stwierdziłem, że minimalna
szerokość takiej kolumny powinna wynosić 260 pikseli, dzięki czemu Babel sam zadba
o to, aby odpowiednio wyświetlać liczbę tych elementów.
Zaraz zresztą zobaczysz, jak to działa w podglądzie mobilnym.
Natomiast przejdźmy tutaj.
Do samej karty.
Tutaj oczywiście przekazujemy sobie pojedynczy rekord.
Mamy tutaj tak.
Ten obrazek jak widzisz odnoszę się do pola listy, która jest listą
i odnoszę się do itemu numer 1 i z niego wyciągam sobie
oczywiście image main w ten sposób, że to ma być first image.
Jest i w zasadzie nie.
W zasadzie to ta sama czy First Aid, czy First Image.
Tu mamy tylko jeden obrazek, w tym image main.
Więc dokładnie w ten sposób możesz się odnieść.
Tu również mógłbyś wstawić item 1 tak jak tutaj.
Natomiast nam jest po prostu łatwiej to
zrozumieć i zapamiętać, że sobie to ustawiam jako first item.
Mam tutaj odpowiednik Andersona, który
pokazuje mi ten obrazek tylko wtedy, kiedy to pole listing, jego count, czyli
liczba rekordów, które się tam znajdują jest równa 1.
Zamknijmy to, pokażmy sobie to.
Tutaj jak widzisz kontekst zmienia nam się na dwa.
Mam tutaj. Rafał.
Odsunąłem te dwa piksele.
Ustawiłem sobie tutaj stałą wysokość.
Ten obrazek i wszystkie te grupy mają
stałą wysokość, dzięki czemu te karty są równe i fajnie wyglądają.
Możesz sobie oczywiście posprawdzać na moim edytorze i odpowiednio odwzorować.
A w środku, jak się domyślasz tutaj.
Odnosimy się do item 1 image main first
item a tutaj oczywiście item nr 2 image main first item czyli wyciągamy
sobie po prostu obrazki z poszczególnych elementów.
Właśnie w tej kolumnie Listing.
I analogicznie oczywiście tutaj.
W tym przypadku nie korzystamy z ISIS, ponieważ gdybyśmy
wybrali ISIS to by oznaczało, że to koniecznie musi mieć trzy obrazki.
Ale wybieramy sobie tutaj ten operator większe bądź równe.
Czyli jeżeli taki rekord w kolumnie listing posiada minimum trzy
elementy lub więcej, to dopiero wtedy chcemy go wyświetlać.
A więc większe równe 3.
I tu, jak widzisz zresztą tutaj po samych
nazwach odnosimy się do konkretnych itemów, czyli item numer 1, a potem numer
2 i 3 kolejno do Image main i wyciągamy właśnie ten obrazek.
Kolejną ciekawą sztuczką, którą tutaj
zastosowałem jest ten element, gdzie wyświetlamy liczbę itemów.
Zobacz jaki mam tutaj zapis.
Odnoszę się do tak Parent group use list listing account.
No to to już wiesz.
To wiesz, że możemy się tak odnieść do ilości rekordów.
Natomiast pamiętaj, że mamy tutaj albo
jeden item jeżeli to będzie właśnie jeden rekord, albo np.
items czyli liczbę mnogą.
Dlatego też ja mogę powiedzieć, że jeżeli ta liczba jest równa 1,
to jak widzisz mam tutaj informacje ewoluują i to jest albo noł.
Czyli mogę powiedzieć, że jeżeli ta liczba
jest równa 1, otrzymuje jest albo, no to wtedy Babel
pozwala mi to sformatować jako tekst i w tym przypadku.
To wpisujesz wartość.
Jeżeli to jest teraz to jest tutaj odpowiednia informacja.
Czyli jeżeli tam jest jeden item to ja na sztywno wpisałem onet item.
Jeżeli to nie jest 1 item czyli 0, 2, 3 itd.
Na pewno nie jeden, to wtedy odnosimy się
właśnie do konta i wpisuję na sztywno items.
W ten sposób taki dynamiczny zapis zamiast stosować condition, ale tutaj
możesz go właśnie zastosować w takiej formie.
To jest taka skrócona forma, z której bardzo często się korzysta.
Jeżeli jesteś w stanie osiągnąć tutaj
coś, co ewoluuje do snow, to wtedy możesz sobie to sformatować jako tekst.
Mam nadzieję, że rozumiesz jak to działa.
Tu jest wartość dla jest, tu jest wartość dla nauki.
I tutaj oczywiście znów możemy się odnosić
do dynamicznych wartości albo wpisywać je na sztywno.
To by było tyle jeżeli chodzi o całą tą grupę.
A w zasadzie ten riff zawiera element.
Jak widzisz nie ma tutaj nic trudnego.
Kilka fajnych sztuczek, dzięki czemu uzyskaliśmy całkiem interesujący efekt.
Ale zanim zakończymy tą lekcję, omówmy sobie jeszcze jak działa to właśnie
dynamiczne wyświetlanie elementów, które zastosowaliśmy.
Jak pamiętasz tutaj dla tej listy, dla całej tej repeat grupy.
Nie mamy określonej liczby rzędów, nie mamy określonej liczby kolumn.
Natomiast powiedzieliśmy Babel, że taka
kolumna może mieć minimalnie 260 pikseli tutaj na YouTube.
Jeżeli przejdę sobie do całej takiej karty.
Jak widzisz nie mam tutaj żadnych jakiś
maksymalnych szerokości, żadnego fit, fit tu content.
W ten sposób Babel będzie działał
tak, że postara się wszędzie wyświetlić jak najwięcej takich kolumn.
Tu mamy 3, więc troszkę je rozciągnął, ale
nie mają teraz 260, tylko na pewno trochę więcej.
Natomiast jeżeli będę sobie zmniejszał tutaj tą rozdzielczość.
Zacznijmy może właśnie od tej laptop owej 1440p.
Tak, widzisz, one mi się teraz tutaj mieszczą.
Natomiast jeżeli będę sobie zjeżdżał,
to to się okazało, że Babel dotarł do tego minimum komórki 260 pikseli.
Więcej już nie był w stanie jej ścisnąć.
Określiliśmy taką minimalną szerokość
danej kolumny, a więc wyświetlił ten rekord, który już się tutaj nie mieścił.
W kolejnym rzędzie i tak to właśnie będzie działało.
W ten sposób, jak widzisz, te komórki się
tutaj zmniejszają, a ja mogę sobie zjeżdżać rozdzielczością.
I ta lista będzie mi tutaj automatycznie się dopasowywać do szerokości.
Jest to całkiem fajny efekt.
Widzisz, tutaj to odpowiednio sama wskakuje.
Nie musimy tak naprawdę nic więcej robić.
Wszystko zadba Babel.
I to ustawienie, które nadaliśmy właśnie dla całej tej repeat grupy.
To by było na tyle, jeżeli chodzi o widok na wish list.
W kolejnej lekcji powinniśmy się zająć
widokiem Messages, ale tego nie zrobimy z jednego prostego powodu.
Do tej pory pracowaliśmy wspólnie.
Po Kings stworzyliśmy właśnie tutaj, razem pracując nad tą sekcją od podstaw Review i
jeśli wdrożyłem sam, a Ty będziesz mógł je odwzorować albo po
prostu wymyślać coś całkowicie innego, jeżeli tylko będziesz chciał.
Natomiast w przypadku Messages chciałbym,
abyś popuścił wodze fantazji i wdrożył tę sekcję sam.
Ja ją specjalnie nie wdrażam, abyś się nie wzorował na żadnym moim rozwiązaniu.
Nie chcę Ci narzucać żadnego kierunku pracy.
Możesz wykorzystać weekendy, które polecałem na początku tego kursu.
Możesz poszukać jakiś innych darmowych w sieci.
Możesz tutaj jako wzór wykorzystać na przykład swój ulubiony komunikator.
Cokolwiek postanowisz, trzymam kciuki za to, żeby Ci się udało.
Myślę, że jesteś na takim etapie, że wdrożenie po prostu takiej pojedynczej
sekcji nie powinno stanowić dla Ciebie żadnego problemu.
Jeśli uda Ci się w jakiś fajny sposób zdynamizować, ja będę szczerze dumny.
A jeżeli postanowisz po prostu stworzyć to
po najmniejszej linii oporu, tak jak ja zrobiłem na With this, to też ok.
Nie ma tutaj też złych rozwiązań, a przynajmniej taką mam nadzieję.
A jeżeli wdrożysz tutaj swój widok
ten Łukasz z Messages, to podziel się nim ze mną.
Z chęcią zobaczę jakie efekty osiągnąłeś.
A ja już teraz dziękuję Ci za uwagę i widzimy się w kolejnej lekcji.