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?
Witam Cię w kolejnej lekcji, w której
nadal kontynuujemy naszą przygodę z bardem i tym razem.
Naszym zadaniem będzie dodanie funkcjonalnego menu.
Zanim jednak do tego przejdziemy, ja tutaj
całej bazy z Nest War Table dodałem nową tabelę o nazwie OS Dashboard Views.
Jeżeli nie widzisz jej w swoich
skopiowanych wersji, to otwórz proszę pliki źródłowe.
Kliknij w link do tej tabeli War Table tej
głównej i zobaczysz dodaną tutaj nową tabelę.
W ten sposób będziesz mógł na nowo
skopiować sobie całą bazę, albo po prostu posiłkować się tylko tą jedną tabelą.
Aby dodać do swojej aplikacji Babel właśnie ten nowy set, który my zaraz
wykorzystamy do budowy naszego funkcjonalnego menu.
A więc ja już taką operację wykonałem.
Jak widzisz mam tutaj nowy set o nazwie Ostatni wóz.
Tak więc teraz zapał mój proszę to wideo i
uzupełnij właśnie ten set zgodnie z tabelą wzorcową.
OK. Mam nadzieję, że dodałeś już ten open set.
A my zanim przystąpimy do budowy naszego
menu, musimy sobie omówić jedną bardzo ważną rzecz.
Przejdźmy tutaj do przeglądarki Chrome.
Jestem teraz na
naszym projekcie wzorcowym, z którego korzystam i chciałbym, żebyś zwrócił swoją
uwagę w to miejsce przede wszystkim tutaj na pasek adresu oraz tutaj na tą ikonkę.
Zobacz co się dzieje, jeżeli będąc na stronie index owej.
Przejdę sobie teraz na stronę search.
Przede wszystkim zmienił mi się tutaj URL,
a tutaj pojawiła się taka ikonka ładowania.
Dlaczego?
Ponieważ oczywiście połączyliśmy się między stronami.
I takie podejście w tworzeniu aplikacji jest jak najbardziej
poprawne i użytkownicy są przyzwyczajeni do tego, że przełączają się między
stronami Twojego serwisu, a więc w naszym przypadku jest to np.
strona indeksowana.
Mamy tutaj osobno zaprojektowaną stronę search, osobno projektowaliśmy stronę
tutaj listingu, a także strony autentykacji.
Natomiast zobacz co się stanie, jeżeli
teraz w projekcie wzorcowym zaloguje się do Dashboard u.
Na przykład na konto gościa.
I tak mamy tutaj menu,
które teoretycznie powinno przełączać użytkownika pomiędzy stronami.
A więc zwróć proszę uwagę na pasek URL oraz tutaj na tę ikonkę.
Jestem teraz na stronie bookingu.
Mam tutaj informację o tym guest box.
Przełączam się na guest reviews i tak URL
mi się zmienił, ale tutaj nic się nie ładowało.
Dlaczego?
Otóż odpowiedz jest bardzo prosta.
W przypadku dashboard ów najczęściej
korzysta się z podejścia o nazwie SPA, czyli Single Page Application.
Oznacza to, że pracujemy w ramach jednej strony.
Cały czas jesteśmy tutaj na stronie Dashboard, a przełączając się tutaj
pomiędzy różnymi widokami lub tak naprawdę w naszym przypadku różnymi stronami.
I tu się ten pasek URL ów zmienia.
Nadal jesteśmy jednak na stronie Dashboard u.
Wiem, że to brzmi trochę zagmatwanie,
ale oznacza tylko tyle, że pracujemy tylko i wyłącznie na tej jednej stronie.
Mimo, że mamy tutaj różne widoki, dalej
pozostajemy właśnie w obrębie strony Dashboard.
Jedyne co robimy,
to ukrywamy bądź pokazujemy odpowiednie sekcje, w naszym przypadku właśnie
te tutaj na środku, więc przełącza się na booking.
Mam tutaj właśnie content dla tej strony bookingu.
Takie podejście jest Inner Page Application.
Ma bardzo wiele zalet.
Przede wszystkim działa to niesamowicie szybko i
niesamowicie płynnie, ponieważ użytkownik nie przeładowuje całej strony, nie musi
czekać na ponowne wczytanie wszystkich elementów, a jedynie label odpowiednio
pokazuje bądź ukrywa odpowiednie sekcje, a cała reszta pozostaje niezmieniona,
dzięki czemu działa to tak niesamowicie szybko.
Natomiast bardzo dużą wadą, na którą bardzo często ludzie zwracają uwagę
jest fakt, że już w momencie załadowania się strony Dashboard musimy sobie pobrać i
załadować wszystkie te sekcje, które będziemy wyświetlać.
Natomiast w Babel nie do końca tak działa, co zresztą udowodnię Ci później.
Natomiast chcę, abyś na ten moment
zapamiętał tylko tyle właśnie, że single Page Application
oznacza nie mniej nic więcej niż pracę właśnie z jedną stroną.
To znaczy, że cała Twoja aplikacja, w naszym przypadku cały nasz dashboard, jest
ładowany właśnie w obrębie tej jednej strony.
A skoro ten przydługi wstęp mamy już za
sobą, to przejdźmy do naszego edytora i przystąpimy do pracy.
A więc przechodzę sobie tutaj na stronę
Dashboard, gdzie jestem na stronie Dashboard.
Przechodzę do zakładki Design i chcę teraz tutaj utworzyć nasze menu.
Dla ułatwienia skopiuję sobie tą grupę, czyli menu Left Bottom Group.
Kopiuję i wklejam tutaj do menu Left Top.
To co będę chciał zrobić, to przede wszystkim pozbyć się tego burdelu na
górze, a w zasadzie odznaczyć ten checkbox.
Nie potrzebujemy tutaj żadnego obramowania.
Przechodzę do layout i pozbywam się jeszcze tego padding na górze.
Teraz zmieniam nazwę na.
Gest menu Group.
Teraz zaznaczam tutaj tą grupę Help Center i nazwę zmieniam na.
Jest.
Booking.
Grób.
Będę chciał sobie pozostawić tutaj te
wszystkie layouty i wszystkie style bez zmian.
Natomiast wstawić tutaj typowy content będzie to dashboard views.
I w naszym przypadku odnoszę się do
konkretnego rekordu, czyli do Guest Booking.
W ten sposób będę mógł teraz do środka
przekazywać dynamicznie odpowiednie wartości, czyli dla tej grupy.
Help Center Icon zmieniamy nazwę na.
Gest.
Po Kings Icon Group.
Ustawiamy odpowiedni type of content.
Wybieramy odpowiedni Tata Soros
i teraz to mogę przekazać właściwą ikonkę naszego setu.
A tutaj w tym przypadku chcę się odnieść.
Nie do display tylko do text.
I teraz wywalamy tą grupę Lock out Group.
Na wszelki wypadek może powiedzmy chwilowo tylko jeden raz.
Zmieńmy nazwę na gest.
Raz jeszcze sprawdzę to w projekcie wzorcowym.
W tym przypadku będzie to gest reviews.
Tutaj zmienimy to na Geste Reviews Group.
Poprawne to dla tej grupy z ikonką.
Odniesienie się do właściwego Data Souls.
I przejdźmy teraz do podglądu naszej aplikacji.
Ja zamknę ten projekt wzorcowy,
a tu mam podgląd naszej aplikacji, którą właśnie teraz budujemy.
Jestem na stronie logowania, loguje się jako demo gest.
Jest to w naszym dashboard, a więc nasze menu jak widzisz tutaj działa.
Mamy zakładkę Books, mamy zakładkę Review.
Natomiast w jaki sposób możemy teraz przełączać się pomiędzy tymi widokami tak
aby zmieniał nam się pasek URL, a nie przeładowywania nam się cała strona?
Czyli jak mamy tutaj zastosować to
podejście singiel Page Application, o którym Ci wcześniej mówiłem.
Babel Jest to niesamowicie proste.
Przede wszystkim po kliknięciu w taką grupę będę chciał wykorzystać tutaj akcje
nawigacji i przejścia pod stronę Dashboard.
Natomiast Bubble zadziała to w ten sposób,
jeżeli przechodzisz ze strony na tą samą stronę, czyli jeżeli przejdziemy ze strony
Dashboard znów na stronę Dashboard, to Babel jest na tyle sprytne, że nie będzie
nam przeładowywać całej strony, ale jedynie menu to co zmienić się
powinno, czyli ewentualnie ukryje bądź pokaże jakieś właściwe grupy,
albo zastosuje inne conditions, ale zaraz zobaczysz jak to działa.
Natomiast tak jak przekazywać tutaj
ten pasek adresu tak, żeby on był zgodny z naszym projektem wzorcowym.
Pamiętasz, w lekcji z listingu pokazywałem Ci, jak działają
właśnie tutaj URL parameters, czyli moglibyśmy tutaj go zastosować.
Zresztą spróbujmy to zrobić.
Wracamy do edytora.
Zaznaczam całą tą grupę, klikam Add workflow i wybieram Account.
A w zasadzie Navigation Go to Page Dashboard.
I wykorzystajmy tutaj parameters.
Skrócony zapis, czyli v jw.
Chcę się odnieść do DS Group całej tej grupy.
Ona jest dashboard WS i tym razem do Display.
I zobacz co się teraz stanie.
Odświeżam.
Klikam na grupę Brookings i wszystko się zgadza.
Nasz URL parametr się pojawił.
Natomiast dla mnie taki zapis dashboard jest niesamowicie brzydki.
Bardzo nie lubię właśnie tutaj takiego zapisu.
Wolałbym, żeby to wyglądało w ten sposób,
czyli dashboard łamane tutaj na Xbox w ten sposób.
Jak taki efekt osiągnąć?
Babel Jest to niesamowicie proste.
Mamy odpowiednie narzędzia, które ułatwią nam pracę i zaraz Ci to udowodnię.
Wracamy sobie tutaj i tym razem.
Zamiast przekazywać display naszego seta jako parametr,
będę chciał to odznaczyć, przekazać go w to miejsce, czyli w pole Data to Send.
Czyli znów odnoszę się do Disk Group, a jest dashboard display.
I to wszystko co musieliśmy zrobić.
Przejdźmy tutaj.
Tak, pozbądźmy się chwilowo tego, czyli
wróćmy do normalnego adresu, czyli naszego URL dashboard.
Klikam na grupę Bugs.
Wskoczyło mi już teraz to poprawnie, żeby Ci to udowodnić.
Żeby dokładnie.
Taki sam.
Workflow utworzyć dla tego drugiego
linku, czyli ADO Workflow i skopiuje sobie ten krok.
I teraz przejdźmy do podglądu.
Odświeżamy.
Mamy gest, bo King's Quest Reviews i tak dalej.
A więc już teraz wiesz, w jaki sposób
możesz przekazywać takie dane do paska adresu.
A więc wszystko to, co przekażesz tutaj.
W tym polu data to send zostanie wyświetlone w pasku URL.
Po znaku forward slash na stronie, na którą kierujesz użytkownika.
W naszym przypadku kierowaliśmy go ze strony Dashboard na stronę Dashboard.
To się zgadza i właśnie przekazywaliśmy
tutaj nasz display, czyli w tym przypadku np.
Xbox, a tutaj Guest reviews.
OK, wiesz już w takim razie jak przekazywać te dane tutaj do URL?
Ale jak się do nich odnieść?
W zasadzie jak sobie pobrać teraz te dane?
Jak sprawdzić jaką wartość tutaj mamy?
Aby teraz odpowiednio wyświetlać
elementy właśnie tutaj, w tej naszej głównej sekcji contentu?
Znów w Babel.
Mamy do tego odpowiednie narzędzia.
Jest to niesamowicie proste, co zresztą zaraz Ci udowodnię.
Wracamy na stronę designu.
I może zacznijmy odpowiedniego
dostosowania tutaj tych naszych linków w menu.
Ja będę tak chciał zmieniać tutaj kolor całej tej grupy.
Domyślnie ma ona kolor biały.
Ja będę chciał ją zmienić na kolor primary.
A więc tak dodajmy tutaj przede wszystkim.
Background style transition ustawiony na 300.
Teraz przejdźmy do zakładki Condition.
Ale skoro mamy do czynienia z gorylem, to
jak się domyślasz zaczynamy od pisania URL.
Odnosimy się do znanej Ci już opcji Get data from page Wall.
Z tego korzystaliśmy na stronie listingu
i tam właśnie wybieraliśmy ten typ parametru i odnosiliśmy się do jego nazwy.
W tym przypadku wybieramy z tej listy segment as List.
Jaki typ te dane mają mieć.
To nie będzie tekst tylko będzie nasz OS Dashboard views.
Samo to jeszcze nie wystarczy, ponieważ
musimy wskazać teraz do którego itemu z tego URL chcemy się odnieść.
Jak to działa w praktyce?
To jest nasz główny URL pomijalny.
Natomiast to jest rozbite na poszczególne segmenty.
A więc tak dashboard to jest item numer 1.
To będzie item nr 2.
Gdyby to był forward, slash i cokolwiek innego byłby to item numer 3 itd itd.
A więc w naszym przypadku musimy się odnieść do item nr 2 czyli do tego.
Sam wybieram item hash 2 i mówię, że to ma być równe.
Jest Brookings.
Aby sobie sprawdzić czy rzeczywiście tak jest, porównaj ten conditions.
Jeżeli to będzie działało, jeżeli to
osiągnie wartość true, to oczywiście ten warunek tam zadziała.
Ja tutaj chcę się odnieść do background color i zmienić kolor na primary.
Mogę sobie skopiować.
Ten condition.
I to samo zmienić teraz dla ikonki.
Zmienić jej kolor na kolor biały.
A dodatkowo ten tekst.
Tutaj zmienić.
Na kolor.
Primary 600.
I zerknijmy, czy to zadziała.
Przechodzę, pozbywam się tego, przechodzę do.
Tu się jeszcze nic nie dzieje, ale klikam sobie tutaj na ten link.
Booking jak widzisz ma już to zastosowanie.
Nasz condition, ale się odpalił.
Sprawdził sobie wartość tego segmentu
czyli itemu numer 2 i on jest akurat równy Guess booking a więc te condition.
Ale się zastosowały i to samo.
Możemy zresztą zastosować tutaj
Laos reviews, żeby Ci to zabawą sterować, że to działa tak jak powinno.
A więc.
Zaznaczam sobie tą grupę i tym razem mówię, że to ma być równanie
Guest booking tylko jak się domyślasz guest reviews.
Kopiujemy cały ten całe to wyrażenie.
A w zasadzie niestety musimy zrobić tak kopię Condition.
No właśnie najpierw tak musi się zmienić kolor ikonki na białe.
I teraz dopiero tutaj wskazać gest RWS.
Kopiuje Condition All.
Dodaję go tutaj.
I Font Color.
Zmieniam na Primary 600.
Przechodzę do strony.
Odświeżam.
Jak widzisz teraz.
Działa to tak jak powinno.
I właśnie tutaj to od razu widać zastosowanie Single page Application.
Czyli przechodzimy ze strony Dashboard na stronę Dashboard.
Nic się tutaj nie przeładowuje, a Babel tylko wyłapuje sobie odpowiednie
conditions i aktualizuje to na stronie, czyli właśnie tutaj.
Dodaje odpowiednie kolorki, zmienia kolor ikony, kolor tekstu i kolor tej grupy.
Już działa to niesamowicie płynnie i bardzo szybko.
Możemy więc tutaj dodać resztę naszego menu.
Dla ułatwienia ja sobie tak
skopiuje tą grupę, ale z wykorzystaniem workflow, czyli kopii zapasowej.
Wybieram Copy Witch Workflow.
Zaznaczam całą tą grupę.
Jaka jest menu grup?
Edit.
Vide Workflow.
Jeszcze raz.
Jest menu grup.
Edit.
Pakiet Fit Workflow.
I teraz to stosuje tutaj odpowiednio nazwę to będzie w naszym przypadku.
Wish list.
Czyli gest.
Jeśli jest.
Mogę sobie to skopiować?
Poprawić tutaj.
Poprawić tutaj nazwę ikonki.
Mamy jakąś literówkę.
Zaraz poprawimy te conditions, ale zerknijmy czy tutaj.
Wszystko jest ok.
East Reviews.
OK.
Musimy to zmienić.
To samo zresztą tu i tu tylko tę literówkę poprawić.
I ok.
Przejdźmy do tych conditions, czyli.
Warunki są poprawne, musimy tylko odnieść się do odpowiedniego itemu.
Najpierw do całej tej grupy gestów i stóp
odnosimy się do rekordu Gas with this option setu.
I teraz przechodzimy do tych conditions i wybieramy właściwy item.
Tutaj.
I tutaj jeszcze.
To samo musimy zrobić tutaj.
To będzie gest.
Messages.
Przekazuję tu odpowiedni temat.
Zmieniam tu nazwę.
I tutaj też zaraz będziemy musieli to jeszcze poprawić, bo zapomniałem.
Tu mamy messages.
Tu mamy gest messages icon.
I jeszcze wszystkie conditions.
Zaczynam od grupy.
Z ikonką.
Kolejna sama ikonka.
I jeszcze ten tekst.
Teraz zaznaczmy s ten gest fit listy Icon Group i musimy poprawić.
Na to Soros.
Reszta powinna się zgadzać.
Zaraz sprawdzimy to w praktyce.
Mam nadzieję, że nic nie pominąłem.
Tu nam się coś nie przekazuje.
Zaraz zobaczymy o co chodzi.
Jest Messages Group.
Jest messages co mamy tutaj,
a nie przekazuje nam się, bo nie uzupełniłem tego patrząc.
Wstawiam odpowiednią ikonkę i teraz już powinno być dobrze.
Mamy wszystkie cztery pozycje w naszym menu.
Po kliknięciu przechodzimy.
Odpowiedniego widoku.
I tutaj się to odpowiednio zmienia.
Więc skoro zmieniamy to w menu, to zmieńmy to również tutaj.
W tej sekcji, czyli w tym miejscu
powinniśmy wyświetlać właściwy widok, na którym aktualnie jesteśmy.
Jak to zrobić?
Dokładnie tak samo jak wykorzystaliśmy Condition, ale tutaj
do zmiany tych stylów musimy przejść do naszego.
Czyli na dashboard.
Re.
I ten tekst będę chciał zmienić na
dynamiczne, czyli wyciągnąć go sobie z URL.
Segment Assist.
Tutaj zostawiam to jako tekst, chociaż może zmieńmy to na dashboard Views.
I tutaj chcemy.
Co my chcemy wyciągnąć.
Hitem numer dwa.
I wartość display.
Teraz powinna to działać.
Już właściwie.
OK, tylko pewnie to jest nie pole display tylko pole text.
A właśnie nie ten atrybut wyciągnąłem.
Teraz się zgadza.
Przełączamy widoki, nazwa nam się zmienia, style się dostosowują,
a to co możemy jeszcze zrobić to utworzyć sobie tutaj menu mobilne.
W tym celu oczywiście ułatwimy sobie zadanie.
Wracam na stronę Dashboard i zaznaczam tutaj całą grupę Guest Menu Group.
Kopiuję ją razem z workflow, czyli Edit Kopi Special Kopi Video Workflow.
Wstawiam tutaj do naszego menu mobilnego czyli.
Edit.
Twój workflow.
I teraz musimy tylko odpowiednio to pozmieniać.
Będzie to gest menu Mobile Group.
Przechodzę do layoutu i zmieniam go z kolumnowy na row.
I będę chciał tutaj wybrać opcję Space between.
Tu nic więcej nie zmieniać.
I tylko poprawić te grupy.
Przede wszystkim pozbyć się tych tekstów.
I tutaj zmieniać nazwę na gest mobilny.
Po Kings Group.
W sumie to skopiuję.
To samo zrobię tutaj.
Usuwam tekst.
Poprawiam nazwę.
Oczywiście powinniśmy ją zmienić również i tutaj.
Ja zajmę się tym później, aby nie marnować Twojego czasu.
Tu wstawiam jeszcze nazwę mobile i to samo robię tutaj dla Messages.
Teraz sprawdźmy jeszcze etykietę grupy
i wybierzmy dla każdej z nich fit fit content.
I tu, i tu. Content i tutaj też.
A jak widzisz teraz to się odpowiednio zastosowało to wyrównanie space between,
a my możemy sobie sprawdzić czy nam to odpowiednio zadziała.
Przejdźmy tutaj do widoku.
Tablet owego.
Już style mają zastosowanie po kliknięciu tutaj.
URL też tam się zmienia.
A więc Pani mobilna działa fantastycznie i desktopowe również.
Jak widzisz, tutaj te style się dostosowują.
A więc nasze zadanie w tej lekcji jest już skończone.
Ty dowiedziałeś się czym jest singiel Page
Application i jak to wykorzystać Babel w praktyce?
A naszym kolejnym zadaniem będzie dopracowanie tej prawej kolumny.
Ale tym zajmiemy się już w lekcji następnej.