SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Ribbon per JavaScript erweitern - neue Gruppe wird nicht angezeigt

Geprüfte Antwort Dieser Beitrag hat 1 Antworten

Ohne Rang
367 Beiträge
Christian Merkel erstellt 24 Aug. 2017 11:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

ich hab mich an folgendem Beispiel entlang gehangelt und es auch geschafft eine eigene Gruppe und einen eigenen Button zu implementieren:

https://devscopeninjas.azurewebsites.net/2017/04/13/javascript-api-creating-ribbon-tabs-buttons/

Einziger Unterschied: Ich füge meine Gruppe in einen bestehenden Tab ein ("Ribbon.ListForm.Display").

Wenn ich das Anzeigeformular (ich nutz es hier über die JSLink-Eigenschaft der DisplayForm) mit aktivierten Entwicklertools öffne, ist alles ok, der Button wird angezeigt (manchmal jedoch deaktiviert...).

Sobald ich die Entwicklertools aus mache und das FOrmular öffne, wird meine Gruppe nicht mehr angezeigt.
Klicke ich dann jedoch oben auf den Reiter "Anzeigen" wird auf einmal mein Button gerendert....

Wie kann ich jetzt sagen, das er beim Laden schon mit da ist!?

SelectRibbonTab(tabId, true); ( --> tabId = "Ribbon.ListForm.Display")

Hilft nix...

Danke euch :)

Alle Antworten

Ohne Rang
367 Beiträge
Christian Merkel Als Antwort am 24 Aug. 2017 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nach einigen Debug-Versuchen bin ich jetzt bei folgendem rausgekommen.

Das Beispiel vom LInk habe ich etwas erweitert und folgende Zeilen geändert / hinzugefügt:

        var button = new CUI.Controls.Button(ribbon, 'My.Print.Button', controlProperties);
        var controlComponent =  button.createComponentForDisplayMode('Large');
        var row1 = section.getRow(1);
        row1.addChild(controlComponent);
        group.selectLayout('My Print Layout');
        ribbon.refresh();
        //SelectRibbonTab("My.Print.Tab");
        //SelectRibbonTab(tabId, true);
        controlComponent.set_enabled(true);
        button.set_enabled(true);

Durch die Änderung der Reihenfolge von "controlComponet.set_enabled" und "button.set_enabled" wird der BUtton immer als aktiv jetzt erkannt. Vorher war er immer deaktiviert dargestellt.

Und dank "ribbon.refresh()" wird auch meine Gruppe direkt angezeigt, nicht erst bei klick in den PageContext oder auf den Tab :)

SharePoint Enthusiast

Ich helfe gern, wenn es mein Zeit zu lässt :)
Gern auch per direkter Anfrage auf XING