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

Ribbon per JavaScript erweitern - neue Gruppe wird nicht angezeigt

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 1 Antwort | 1 Follower

Top-25-Beitragsschreiber
367 Beiträge
Christian Merkel erstellt in 24 Aug 2017 11:09

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 :)

SharePoint Enthusiast

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

Beantwortet Geprüfte Antwort

Top-25-Beitragsschreiber
367 Beiträge

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

Seite 1 von 1 (2 Elemente) | RSS