Hot answers tagged

17

You can associate your custom action to a specific list by using the RegistrationId property. Example: <CustomAction ControlAssembly="MagicalProject.Actions" ControlClass="MagicalProject.Actions" ControlSrc="/_layouts/MagicalSite/MagicalPage.aspx" Description="This is my custom action which does magical ...


10

Jquery approach can be implemented, but I'm afraid it will be exceedingly complicated, because ribbon buttons can change their size if you resize the browser window (so the id of the button will be changed respectively, for example from ..-Large to ..-Medium, etc.), and also they're created after page load, dynamically with js - so you will need some ...


10

You can use the SPRibbon.TrimById(controlId) method to hide controls. http://msdn.microsoft.com/en-us/library/microsoft.web.commandui.ribbon.trimbyid.aspx This page lists the controlIDs: http://msdn.microsoft.com/en-us/library/ee537543.aspx You can use other OM methods to determine the user's permission and call the TrimById method accordingly. For example,...


9

I know you asked for 2013 but I'm leaving the 2010 one here too in case anyone go crazy like you did. 2010 When any ribbon tab is open (other than the 'browse' one) it forces a 135px height on its container, which is a sibling of the #s4-workspace container, see where I am going? #s4-ribbonrow[style='height: 135px;'] ~ #s4-workspace #s4-leftpanel { ...


8

As described in this article : Remove button from the Ribbon in SharePoint 2010, you can, with a feature, remove existing button. In your case, the feature.xml file should be : <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="RemoveDataSheetButton" Location="...


8

Put this in a content editor webpart <script> setTimeout(function() { var elem = document.getElementById("MSOZoneCell_WebPartWPQ2"); if(elem != null) { var dummyevent = new Array() dummyevent["target"] = elem dummyevent["srcElement"] = elem WpClick(dummyevent) } }, 2000) </script>


8

http://msdn.microsoft.com/en-us/library/ff458385.aspx: {SiteUrl} – The fully qualified URL to the site (Url). The SharePoint code proves it - here's the SPCustomActionElement.ReplaceUrlTokens method: internal static string ReplaceUrlTokens(string urlAction, SPWeb web, SPList list, SPListItem item) { if (string.IsNullOrEmpty(urlAction)) ...


8

They have a JavaScript API for this: http://msdn.microsoft.com/en-us/library/office/ff408647(v=office.14).aspx You can even add command ui extension like you have them. var context = new SP.ClientContext.get_current(); this.site = context.get_web(); var customAction = this.site.get_userCustomActions().add(); customAction.set_location('CommandUI.Ribbon....


8

Check http://sharepoint.stackexchange.com/a/52877/35604: <script type="text/javascript"> function Custom_Submit(command) { SP.Ribbon.PageState.Handlers.showStateChangeDialog(command, SP.Ribbon.PageState.ImportedNativeData.CommandHandlers[command]); } </script> <input type="button" onclick="javascript:Custom_Submit('...


7

Bil! Looks like, you have missed Scaling element inside Groups element. Try add this to your definition: <Scaling Id="BilSimser.Ribbon.ListForm.Display.CustomerGroup.Scaling"> <MaxSize Id="BilSimser.Ribbon.ListForm.Display.CustomerGroup.MaxSize" GroupId="BilSimser.Ribbon.ListForm.Display.CustomerGroup" ...


7

When you click Check In button, method handleCommand called from javascript object SP.Ribbon.PageState.PageStateHandler (sp.ribbon.js) with commandId = "PageStateGroupCheckin" If you debug it, you can find that it executes this line at least: return SP.Ribbon.PageState.Handlers.showStateChangeDialog(properties['CommandValueId'], SP.Ribbon.PageState....


7

You can even use GetCurrentCtx() to get context info and get much of information among the list title (name): var ctx = GetCurrentCtx(); var title =ctx.ListTitle;


7

You can do it with SharePoint Management shell: Set-SPSuiteBarBrandingElement -WebAppUrl http://sp2013.intranet.adventureworks.com -Text 'AdventureWorks Intranet' Just replace the AdventureWorks Intranetwith the text you want. More details here


6

I noticed that the in the webpart div container there were two attributes, 'onkeyup' and 'onmouseup' which called a JavaScript function to trigger the list tools to show. I added a single line of jQuery code to remove those two attributes from the s4-wpcell div container and I no longer get the list tools to show on when I click anywhere inside the list ...


6

There are a couple reasons it may not be displaying: You're not running the Enterprise edition of SharePoint. This feature requires Forms Services, which are only available in EE. You're looking at a list type that does not support this feature. Basically, any list type that uses a non-standard display for an item, like Calendars, will not have this option ...


6

just add .ms-dialog in front of the class you want to change, and it will only affect the modal dialogs: .ms-dialog .ms-cui-topBar2{ background-color: red; }


6

You have two options here. One is to create simple toggle button with this markup: <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="8DCC5B17-4B9E-41A7-BA51-65CBC6F8205D" Location="CommandUI.Ribbon" Sequence="10"> <CommandUIExtension&...


6

You can specify Location="CommandUI.Ribbon.ListView" and RegistrationType="ContentType" with ID set to 0x01 for custom button to appear on ListView pages of all the lists. <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="ShowHelloWorldButton" RegistrationType="...


6

Nicholas, The SharePoint 2010 ribbon is kind of a double-edged sword. I have seen many business users asking for "not having" the ribbon for the sake of branding. Then there were instances when people needed some extended administrative sections in SharePoint sites without the ribbon. The fact is no matter what you do, without the ribbon there are numerous ...


6

Site Actions -> Navigation -> Show and Hide Ribbon Setting Make "Show Ribbon" and "Hide Ribbon" commands available to No should prevent the ribbon from disabling and requiring folks to enable it. It should also make it available all the time for everyone.


6

Apparently, this is a common problem (I'm surprised that nobody already had a custom solution). Apparently, this is what causes the problem: When you add a web part to the standard list views, the page is no longer classified as a list view page, but instead it is classed as an application page. Katrina over on Stack Exchange posted this solution. ...


6

This is not a bug. If you have more than one web part on a page then you must click the one you want the ribbon for.


6

You can use SP.ListOperation.Selection.getSelectedItems() to get the currently selected item. Here is a code sample: var context = SP.ClientContext.get_current(); var selectedItems = SP.ListOperation.Selection.getSelectedItems(context); var item; for (i in selectedItems) { alert(selectedItems[i].id); } Once you have the id of the item, you will ...


5

Use the fsObjType property: EnabledScript="javascript: var items = SP.ListOperation.Selection.getSelectedItems(); (items.length == 1 &amp;&amp; items[0].fsObjType == 0);"


5

According to Connect to Outlook – Tipps und Tricks (English version), it looks like you want something like this: <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Id="RemoveRibbonButton" Location="CommandUI.Ribbon" RegistrationType="List" ...


5

You may well need to define your own GroupTemplate. The out of box ones - such as Ribbon.Template.Flexible - are not necessarily available. http://www.andrewconnell.com/blog/archive/2010/10/10/always-create-your-own-group-templates-with-sharepoint-ribbon-customizations.aspx


5

Just on the off chance: You are using Internet Explorer, right? If not, I'm afraid this is an IE-specific function; as I discovered when trying to pry it open with Chrome's dev tools.


5

I think you can go that way: Register a javascript on your page which will add a Listener to all ribbon buttons on a page, but make sure, that your listener will be the second and will not break real ribbon listener. It seems it's possible to have 2 js listeners for 1 event. You can use jQuery - http://api.jquery.com/click/ or regular js - http://www....


5

ExecuteOrDelayUntilScriptLoaded(function () { var pageStateGroupPublishValue = SP.Ribbon.PageState.PageStateCommands.pageStateGroupSubmitForApproval; SP.Ribbon.PageManager.get_instance().executeRootCommand(pageStateGroupPublishValue, window.g_CUIcommandProperties, { CommandId: pageStateGroupPublishValue }, null); }, "sp.ribbon.js");


5

I've made some research on the subject of RegistrationId and RegistrationType according to declarative Ribbon customization. All my findings can be found here: RegistrationType & RegistrationId in SharePoint 2010 declarative Ribbon customizations As a short summary: You can use all four registration types to target some content for Ribbon customization....



Only top voted, non community-wiki answers of a minimum length are eligible