Jak dostosować interfejs użytkownika CODE i ukryć określone paski narzędzi
Krótka odpowiedź: W CODE zmień ogólny styl paska narzędzi, ustawiając widok kompaktowy lub z kartami. Aby ukryć jedną kartę notatnika lub jedno polecenie, obsługiwanym rozwiązaniem jest interfejs API PostMessage hosta WOPI; standardowe menu przeglądarki nie usuwają trwale poszczególnych poleceń u wszystkich użytkowników. Administratorzy mogą ustawić domyślny tryb interfejsu dla serwera, a hosty z osadzonym CODE mogą wysyłać komunikaty ukrywania lub pokazywania na poziomie sesji.
Wybierz metodę odpowiadającą Twojemu dostępowi. Jeśli potrzebujesz tylko więcej miejsca na dokument, zwiń pasek narzędzi lub przełącz na widok kompaktowy. Jeśli integracja WOPI ma pomijać kartę Pomoc lub polecenie formatowania, wyślij odpowiednią wiadomość PostMessage po zakończeniu pracy edytora. Jeśli chcesz uniemożliwić wykonanie czynności, takiej jak drukowanie, pobieranie lub edycja, skorzystaj również z odpowiedniej funkcji lub uprawnienia WOPI; ukrycie przycisku zmienia prezentację, a nie autoryzację.
Wybierz odpowiednią personalizację
Co chcesz zmienić
Użyj tej metody
Na co to wpływa
Domyślnie użyj kompaktowego menu lub paska notatnika z zakładkami
Ustaw user_interface.modew konfiguracji serwera
Domyślny tryb interfejsu dla tego wdrożenia KODU
Tymczasowo zrób więcej miejsca na dokument
Zwiń pasek notatnika z poziomu interfejsu użytkownika lub wyślijCollapse_Notebookbar
Ukrywa przyciski kart; użytkownik może je ponownie rozwinąć
Ukryj kartę paska notatnika, taką jak Pomoc
WysłaćHide_NotebookTab
Jedna karta w sesji edytora osadzonego w WOPI
Ukryj jedno polecenie w interfejsie użytkownika edytora
WysłaćHide_Command
Wpisy menu, paska narzędzi i menu kontekstowego tego polecenia
Ukryj tylko konkretny przycisk paska narzędzi
Wyślij Hide_Buttonz identyfikatorem przycisku
Jeden przycisk na pasku narzędzi; identyfikator może się różnić w zależności od interfejsu użytkownika i wersji
Odpowiedni podręcznik SDK określa Hide_NotebookTabdostępność od wersji 24.04.11.1 i Hide_Command24.04.11.2. Pakiety wydań CODE i kompilacje integratorów mogą się różnić, dlatego przed skorzystaniem z komunikatu API należy sprawdzić wersję serwera, na którym się faktycznie pracuje.
Zmiana domyślnego widoku między widokiem kompaktowym a widokiem kart
Widok kompaktowy wykorzystuje menu i mniejszy pasek narzędzi. Widok z kartami grupuje elementy sterujące w karty paska notatnika. Ustawienie serwera to user_interface.mode, z obsługiwanymi wartościami compacti tabbed. Starsze etykiety, takie jak classici , notebookbarsą wycofywane ze względu na te nazwy.
Przykładowy widok kompaktowy: edytor korzysta z wiersza menu i wąskiego paska narzędzi formatowania nad dokumentem.
W przypadku ustawień domyślnych kontrolowanych przez administratora należy edytować istniejący <mode>wpis w <user_interface>sekcji coolwsd.xml:
<user_interface>
<mode type="string" desc="Controls the user interface style. The 'default' means: Take the value from ui_defaults, or decide for one of compact or tabbed (default|compact|tabbed)" default="default">tabbed</mode>
</user_interface>
Użyj compactzamiast tabbeddla menu kompaktowego. W prawdziwym pliku konfiguracyjnym zmień istniejący wpis trybu, zamiast dodawać kolejny. Dokładna ścieżka konfiguracji i procedura ponownego uruchomienia zależą od tego, czy CODE jest zainstalowany jako pakiet, kontener, czy za pośrednictwem innej platformy. Postępuj zgodnie z metodą konfiguracji dla tego wdrożenia, zrestartuj lub przeładuj usługę w razie potrzeby i otwórz nową sesję dokumentu, aby potwierdzić ustawienia domyślne.
Ustawia domyślny tryb interfejsu; nie ukrywa konkretnego polecenia. Użytkownik lub integrator mógł zapisać preferencje interfejsu, które mają pierwszeństwo, w zależności od konfiguracji zapisanego stanu interfejsu użytkownika na serwerze. Jeśli jedna przeglądarka ciągle otwiera się w innym widoku, przetestuj nową sesję i sprawdź zachowanie preferencji użytkownika integratora przed zmianą kolejnych ustawień serwera.
Zwiń pasek narzędzi bez usuwania poleceń
Gdy celem jest po prostu zwiększenie przestrzeni na dokument, zwinięcie paska notatnika z zakładkami zazwyczaj wystarcza. Komunikat SDK Collapse_Notebookbarukrywa przyciski paska notatnika; nazwy zakładek pozostają widoczne, dzięki czemu użytkownicy mogą ponownie rozwinąć elementy sterujące. Ten sam komunikat ukrywa również pasek przycisków w widoku kompaktowym. Jest to odwracalna zmiana wyświetlania, a nie sposób na wyłączenie funkcji edycji.
Ilustrujący widok z kartami paska notatnika i widocznymi grupowanymi elementami sterującymi formatowaniem.
W obsługiwanym interfejsie użytkownik może również zwinąć lub rozwinąć pasek notatnika, wchodząc w interakcję z paskiem kart. Precyzyjne działanie kliknięcia lub dwukrotnego kliknięcia może się różnić w zależności od widoku i zwolnienia przycisku. Jeśli użytkownicy muszą przywrócić zwinięty pasek, należy zachować widoczne nazwy kart i przetestować działanie w tej samej kompilacji KODU, której używają.
Ukryj jedną kartę lub polecenie w integracji WOPI
Ukrywanie w ramach sesji wymaga aplikacji hosta, która osadza kod CODE w ramce iframe i może wysyłać do niej wiadomości. Nie jest to ustawienie ogólnego przeznaczenia, które można wkleić do pliku coolwsd.xml. Interfejs API PostMessage używa wiadomości z MessageId, znacznikiem czasu i opcjonalnym Values. Host WOPI musi zakończyć wymianę informacji o gotowości przed wysłaniem poleceń edytora. Skonfiguruj WOPI PostMessageOrigindla strony hosta i użyj dokładnego źródła ramki iframe CODE jako celu wiadomości przeglądarki; nie używaj źródła docelowego z symbolem wieloznacznym.
App_LoadingStatusPo otrzymaniu i wysłaniu odpowiedniego zdarzenia gotowości host Host_PostmessageReadymoże wysłać komunikat ukrywający. Na przykład poniższe wywołania ukrywają kartę Pomoc i polecenie podkreślenia dla otwartej sesji edytora:
Ilustrujący widok z kartami, z ukrytą kartą Pomoc i nadal widocznymi innymi kartami paska notatnika.Przykładowa personalizacja hosta WOPI: polecenie podkreślenia jest ukryte, a reszta paska narzędzi pozostaje widoczna.
Zastąp office.example.comźródło własnej ramki iframe CODE. Przykład ilustruje kształt wiadomości; połącz ją z rzeczywistym cyklem życia ramki iframe hosta i sprawdź źródło wiadomości przychodzących przed udzieleniem odpowiedzi. Dokumentacja CODE informuje, że wiadomości hosta wysłane wcześniej Host_PostmessageReadymogą zostać zignorowane.
Którego komunikatu powinieneś użyć?
Hide_NotebookTab: Użyj go dla całej karty w widoku kart. Jest to ididentyfikator karty, taki jak Help. Show_NotebookTabcofa zmianę. Karta pozostaje ukryta przez całą sesję do momentu pojawienia się komunikatu o pokazaniu.
Hide_Command: Użyj tego, gdy polecenie ma zniknąć z menu, paska narzędzi i menu kontekstowych. Przykładowy identyfikator to .uno:Underline. Show_Commandodwraca to. Użyj tego tylko wtedy, gdy zamierzonym rezultatem jest usunięcie tego polecenia ze wszystkich tych powierzchni.
Hide_Button: Użyj go, gdy chcesz ukryć pojedynczy przycisk, a nie wszystkie wpisy interfejsu użytkownika dla danego polecenia. Jego identyfikator to identyfikator przycisku paska narzędzi, niekoniecznie nazwa polecenia UNO. Collabora dokumentuje, że te identyfikatory zazwyczaj pozostają stabilne, ale nie ma gwarancji ich stabilności; sprawdź je w źródle, aby uzyskać informacje o konkretnej kompilacji i formacie urządzenia.
Hide_Menubar: Ukrywa cały pasek menu. Nie jest to kontrolka dla poszczególnych poleceń i nie należy jej mylić z ukrywaniem zakładki paska notatnika.
Interfejs API postMessage jest przeznaczony dla hosta integracyjnego. Jeśli korzystasz z NextCloud, ownCloud lub innej platformy, sprawdź, czy jej konektor udostępnia obsługiwane ustawienie przed utworzeniem niestandardowego kodu hosta. Unikaj wstrzykiwania kodu CSS na stronę edytora: jest on wrażliwy w różnych wersjach i ukrywa jedynie kontrolki wizualnie.
Sprawdź, czy zmiana jest zgodna z Twoim przypadkiem użycia
Otwórz dokument testowy, używając tej samej przeglądarki, tego samego typu dokumentu, tych samych uprawnień i wersji KODU, co Twoi użytkownicy. Potwierdź wybrany tryb, sprawdź, czy ukryta jest tylko zakładka lub polecenie, i przetestuj działanie opcji „pokaż komunikat” lub „rozwiń pasek narzędzi”. Powtórz te czynności dla programów Writer, Calc i Impress, jeśli integracja obsługuje wszystkie trzy; dostępne polecenia i identyfikatory pasków narzędzi niekoniecznie są identyczne między modułami.
Jeśli nadal pojawia się ukryta kontrolka, sprawdź, czy host wysłał kontrolkę Host_PostmessageReady, czy jej źródło docelowe WOPI PostMessageOrigini iframe jest poprawne oraz czy wiadomość używa oczekiwanego identyfikatora i odpowiedniej pisowni. Sprawdź również wersję serwera pod kątem udokumentowanej linii bazowej funkcji. Pomyślne ukrycie wizualne nie usuwa polecenia z bazowego mechanizmu dokumentów ani nie ustanawia ograniczenia bezpieczeństwa. Użyj uprawnień WOPI i polityki zaplecza do kontroli dostępu.