LWC Workspace API

Salesforce NewsLWC Workspace API

LWC Workspace API

Raptem kilka miesięcy temu na łamach Coffee & Force narzekałem, że Salesforce nie spieszy się z implementacją funkcjonalności, postulowanych przez użytkowników, co wymusza stosowanie rozmaitych workaroundów i obejść, a kilka dni temu spotkała mnie niespodzianka – wprowadzone zostało Workspace API dla Lightning Web Components.

LWC Workspace API póki co jest w wersji Beta, dostępne od release’u Winter 2024, więc chcąc je przetestować, musimy utworzyć Pre-Release Org, co można zrobić pod adresem https://www.salesforce.com/form/signup/prerelease-winter24/.  Dodatkowo upewnijmy się, że mamy włączone Lightning Web Security, co można zrobić w Setup ⇒ Security ⇒ Session Settings.

W pliku js musimy zaimportować moduł lightning/platformWorkspaceApi, dający nam dostęp do metod, adapterów oraz interfejsów API opartych na eventach za pośrednictwem Lightning Message Service.

import {
  EnclosingTabId,  
  openTab,
  openSubtab,
  getTabInfo
} from "lightning/platformWorkspaceApi";

Dostęp do identyfikatora aktualnego taba jest dostępny poprzez adapter wire:

@wire(EnclosingTabId) tabId;

Jest też szereg kanałów LMS, które możemy zasubskrybować, żeby otrzymywać eventy np. o zamknięciu, otwarciu taba, zmiany focusa, itp.

lightning__tabClosed
lightning__tabCreated
lightning__tabFocused

Maciej Król

Salesforce Developer
Type at least 1 character to search