Salesforce Summer’ 18 Release – 5 nowości dla Lightning Components

Lightning Component to nowoczesny framework przeznaczony do tworzenia dynamicznych aplikacji webowych, zarówno na urządzenia mobilne, jak i stacjonarne. Podobnie jak poprzednie wydania, Summer’ 18 Release wprowadza nowe możliwości, dostępne od teraz dla Lightning Components. Warto je poznać aby jeszcze efektywniej pracować z Salesforce!

Oto pięć wybranych przez nas funkcjonalności:

 

1. Nowe bazowe komponenty do szybszego budowania interfejsu użytkownika

 

Letni Release wprowadza kilka nowych komponentów, szczególnie przydatnych do budowania UI. Komponenty wymagają API w wersji 43.0 lub wyższej.

  • lightning:insertImageButton: – otwiera natywną przeglądarkę plików, umożliwiając wybór i wstawienie obrazka w pole tekstowe.

 

Lightning Components

 

  • lightning:quickActionApi: – umożliwia dostęp do metod odpowiedzialnych za interakcję z Quick Actions bezpośrednio na Lightning Page. Używany jest do wywołania JavaScriptowego API dla Lightning Quick Action.

 

  • ligtning:navigationItemApi: – zapewnia dostęp do metod kontrolujących elementy nawigacyjne w aplikacjach Lightning:

 

– focusNavigationItem()
– getNavigationItems()
– getSelectedNavigationItem()
– refreshNavigationItem()

 

  • lightning:recordForm: – usprawnia tworzenie formularzy. Wybór trybu umożliwia edycję/przeglądanie/dodawanie rekordów, a to wszystko dużo prościej niż przy użyciu lightning:recordEditForm lub lightning:recordViewForm

 

Lightning Experience

 

  • lightning:navigation: –  tworzy URL dla danego obiektu pageReference, opisującego typ, atrybuty i stan strony.

 

2. Ogólnodostępna biblioteka Lightning Components

 

Jeżeli męczy Cię przełączanie między Developer Guide a biblioteką komponentów, mamy dobrą wiadomość! Od teraz cała dokumentacja dotycząca komponentów, interfejsów i eventów znajduje się w jednym miejscu. Wystarczy wejśc na: https://<myDomain>.lightning.force.com/componentReference/suite.app i znaleźć potrzebne informacje.

 

3. Uruchomienie trybu debugowania dla wybranych użytkowników

 

Tryb debugowania znacząco pogarsza czas ładowania stron, co dotychczas sprawiało, że debugowanie na instancjach produkcyjnych było dość uciążliwe. Od teraz istnieje możliwość uruchomienia debuggera dla wybranych użytkowników, by nie wpływać na wydajność Salesforce’a dla reszty organizacji.

 

Lightning Components

 

4. Zwracanie obiektów typu Blob nie powoduje już (zbyt) ogólnych błędów

 

Dotychczas każde zwrócenie obiektu Blob powodowało trudny do zdebuggowania, ogólny błąd. Teraz typ ten zwraca wartość typu string – Blob(sizeOfBlobInBytes). Aby uzyskać właściwą zawartość “Bloba”, należy zwrócić wartość w formie zserializowanego JSON-a, np. w postaci stringa lub integera. Po stronie klienta, można dostosować otrzymaną wartość do dowolnej struktury danych przy użyciu JavaScriptu. Obiekt Blob otrzymuje się z kontrolera po stronie serwera w przypadku:

  • zwracania obiektu zawierającego Blob, np: ContentNote
  • zwracania wyników zapytania SOQL odwołującego się do pola typu Blob
  • zwracania obiektu klasy Apexowej, zawierającego pole typu Blob.

 

W każdym z tych przypadków, zwracana wartość będzie typu string i określać będzie wielkość danego obiektu.

 

5. Lightning Navigation API dla Lightning Components

 

Dzięki interfejsowi lightning:isUrlAdressable, istnieje możliwość kontroli tego, które Lightning Components można otwierać programowo. Od teraz możemy również w prosty sposób przechwytywać parametry URL za pomocą atrybutu v.PageReference, i używać ich wartości w treści komponentu. Przy wykorzystaniu lightning:navigation da się także zdefiniować obiekt PageReference prowadzący do customowego komponentu implementującego lightning:isUrlAddressable – i ustawić jego atrybuty!

 

Nowe funkcjonalności znacznie przyspieszają pracę z Lightning Components, upraszczając tym samym skomplikowane dotychczas procedury. Więcej szczegółowych informacji dotyczących zmian w Salesforce Summer’ 18 Release można znaleźć w oficjalnych Release Notes.