Home
» Hoe
»
De Collabora CODE-werkbalken aanpassen zonder de broncode te bewerken
De Collabora CODE-werkbalken aanpassen zonder de broncode te bewerken
Om de Collabora Online Development Edition (CODE)-editor te vereenvoudigen, kiest u Compact of Tabbed voor de algehele lay-out en gebruikt u vervolgens de PostMessage-integratie van de WOPI-host om afzonderlijke opdrachten, knoppen of tabbladen van de Notebookbar te verbergen. Het inklappen van een werkbalk is een handige manier om de weergave aan te passen; het verbergen van een besturingselement via de host is geschikter wanneer u een consistente interface wilt voor elke bewerkingssessie.
Welke CODE-interface moet u aanpassen?
CODE biedt een compacte lay-out met traditionele menu's en toolbars, en een lay-out met tabbladen en een notitieboekbalk. Begin met te bepalen welke lay-out uw gebruikers zien: een ID van een toolbarknop en een ID van een notitieboektabblad zijn niet uitwisselbaar. Volgens de ondersteuningsrichtlijnen van Collabora zijn de oudere namen classicen notebookbarafgeschaft ten gunste van compacten tabbedvanaf de 21.11-serie. Zie de configuratierichtlijnen voor de Collabora-interface .
De tabbladindeling groepeert bewerkingshulpmiddelen onder benoemde tabbladen; het tabblad Help is een mogelijk doelwit voor Hide_NotebookTab.De compacte lay-out maakt gebruik van een aparte menubalk en een kleinere knoppenstrook, waardoor menu- en knopbedieningselementen verschillende identificaties nodig hebben.
Moet je een serverstandaard of een gebruikerssessie wijzigen?
Wijzig de standaardinstellingen van de server alleen wanneer de meeste gebruikers met dezelfde lay-out moeten beginnen. Bij zelfbeheerde installaties accepteert de user_interface.modeinstelling , , of . Maak een back-up van de configuratie en wijzig vervolgens de bestaande waarde in plaats van een nieuw XML-element toe te voegen:coolwsd.xmldefaultcompacttabbedmode
Deze verkorte XML toont de instelling, niet de volledige configuratiesectie. Voer de wijziging door via het normale configuratie- en serviceherstartproces van uw implementatie en open vervolgens een document opnieuw. Containerimplementaties kunnen in plaats daarvan --o:user_interface.mode=tabbedhun bestaande CODE-opstartoverrides doorgeven. Een ingebedde applicatie kan de opstartmodus ook beïnvloeden via de WOPI- ui_defaultswaarde. De voorkeur van de host kan van belang zijn wanneer de server deze modus gebruikt default, dus ga er niet vanuit dat een serverbewerking een integratiespecifieke keuze overschrijft.
Kun je een complete werkbalk verbergen zonder de broncode te bewerken?
Voor meer leesruimte kunt u de notitiebalk inklappen door op het geselecteerde tabblad te klikken; door er nogmaals op te klikken, klapt deze weer uit. Collabora beschrijft dit gedrag in de officiële introductie van de notitiebalk . De PostMessage API documenteert ook Collapse_Notebookbarde mogelijkheid om de knoppen van de notitiebalk of de compacte knoppenbalk te verbergen. Dit is een omkeerbare weergavestatus, geen permanent beheerdersbeleid.
Voor meer controle kunt u de PostMessage-actie kiezen die overeenkomt met het element. De volgende toewijzingen staan vermeld in de handleiding van de Collabora Online SDK :
Wat te verbergen
PostMessage-actie
ID-formaat
Een knop in de werkbalk
Hide_Button
Knop-ID
Een opdracht die in alle menu's en werkbalken beschikbaar is.
Hide_Command
UNO-commando, zoals.uno:ThemeDialog
Eén tabblad in de tabbladindeling
Hide_NotebookTab
Tab-ID, bijvoorbeeldHelp
Een compact menu-item
Hide_Menu_Item
Menu-item-ID
De tabspecifieke actie is gedocumenteerd vanaf versie 24.04.11.1 . De SDK vermeldt ook een uitgebreidere dekking voor contextmenu's Hide_Commandin versie 24.04.11.2 . Controleer uw geïmplementeerde CODE-build voordat u op een van beide gedragingen vertrouwt.
Hoe verstuur je de hide-commando's vanaf de WOPI-host?
Deze acties worden verzonden door de applicatie die CODE in een iframe insluit – ze worden niet ingevoerd in een dialoogvenster met CODE-instellingen. U hebt controle over die hostintegratie nodig, een functionerende WOPI- CheckFileInforespons en een PostMessageOriginwaarde die overeenkomt met de oorsprong van uw hostwebapplicatie. Als u een kant-en-klare Nextcloud- of ownCloud-integratie gebruikt, biedt deze mogelijk geen willekeurige aangepaste PostMessage-hooks; in dat geval moet u de wijziging in de integratie zelf doorvoeren of de ondersteunde instellingen gebruiken.
1. Wacht tot CODE klaar is met laden.
Registreer een berichtlistener op de hostpagina. Controleer zowel het afzendervenster als de oorsprong. Wanneer CODE rapporteert App_LoadingStatusmet Status: Document_Loaded, verstuur Host_PostmessageReadydan vóór de aanpassingsberichten. Zonder die handshake kan CODE hostopdrachten negeren – een fout die wordt uitgelegd in Collabora-probleem #13224 .
2. Een tabblad en een opmaakopdracht verbergen
De volgende JavaScript-code aan de hostzijde gaat ervan uit dat uw pagina al een iframe met ID . heeft collabora-frame. Stel deze editorOriginin op de exacte HTTPS-origin die uw CODE-editor bedient, niet op de WOPI-opslagserver. Registreer de listener vóór de documentinitialisatie in uw daadwerkelijke applicatie:
In het broncodevenster van de hostapplicatie kunt u de postMessage-conversie bekijken. Gebruik hiervoor het volledige codevoorbeeld in het artikel, niet de verkorte tekst die in dit venster wordt weergegeven.
Hier Helpziet u het doel van het tabblad Notebookbar, terwijl dit .uno:ThemeDialogeen LibreOffice UNO-opdracht identificeert. De ontwikkelaars van Collabora beschrijven deze laatste ID specifiek in hun handleiding voor het verbergen van UNO-elementen . Om in plaats daarvan een specifieke knop in de Compact-werkbalk te verbergen, vervangt u de actie door Hide_Buttonen geeft u de geverifieerde knop-ID op. Raad de ID niet aan de hand van het zichtbare onderschrift; raadpleeg uw geïnstalleerde CODE-broncode of de handleiding voor werkbalk-ID's van de SDK.
Wat als het tabblad of de werkbalk niet verdwijnt?
Controleer de browserconsole en netwerkactiviteit voordat u CODE-bestanden wijzigt. De meest voorkomende oorzaken zijn een ontbrekende Host_PostmessageReadyhandshake, een onjuiste configuratie PostMessageOrigin, het verzenden van berichten vóór de bewerking Document_Loaded, of het selecteren van een compact menu-item terwijl de editor in de tabbladmodus staat. Het opnieuw openen van het bestand start een nieuwe sessie, dus pas de optie 'berichten verbergen' elke keer opnieuw toe.
Er bestaan ook versie-specifieke defecten. Zo beschrijft Collabora-issue #15910Hide_NotebookTab een JavaScript-fout in CODE 25.04.9.4, die in juni 2026 werd gemeld; het issue is weliswaar gesloten, maar dat bewijst niet welke uitgebrachte builds een oplossing bevatten. Controleer uw exacte versie en de bijbehorende release-opmerkingen als u de gemelde fout tegenkomt.
Tot slot is verbergen geen toegangscontrole. Een verborgen knop voor afdrukken of downloaden kan ervoor zorgen dat er nog steeds equivalente API's of andere paden beschikbaar zijn. Als het doel is om die bewerkingen te verbieden, gebruik dan de gedocumenteerde WOPI- DisablePrintof DisableExportflags en handhaaf uw opslagrechten naar behoren, in plaats van te vertrouwen op Hide_Buttonof Hide_Command.
Hoe kunt u controleren of de aanpassing gelukt is?
Open een nieuw document in de gewenste lay-out. Controleer of het Helptabblad ontbreekt in de tabbladmodus en of de thema-opdracht niet langer wordt aangeboden waar deze voorheen wel zichtbaar was. Bewerk en sla vervolgens een testdocument op om te controleren of normaal bewerken nog steeds werkt. Herhaal de controle met een ander documenttype en na het opnieuw laden van de pagina, omdat de host de sessiespecifieke verbergopdrachten opnieuw moet toepassen.
Nadat het tabblad Help is verborgen, blijven de andere bewerkingstabbladen en het documentcanvas beschikbaar voor een functionele controle.