Question

J'ai ajouté un nouveau bouton au ruban de SharePoint pour les bibliothèques de documents. Tout cela fonctionne bien et le bouton est activé / désactivé en fonction du nombre d'articles sélectionnés ... bien!

Je veux améliorer en désactivant le bouton lorsqu'un dossier est sélectionné similaire à la façon dont SharePoint standard « envoyer un lien » bouton fonctionne. Quelqu'un peut-il offrir des conseils sur la façon d'aborder ce sujet? Je l'ai googlé autour, mais n'ont pas été en mesure de trouver quoi que ce soit.

Le code que j'ai actuellement est la suivante:

  <CustomAction
    Id="Muhimbi.SharePoint.DocumentConverter.PDF.Ribbon.Documents.Copies.Controls.ConvertAndDownload.Action"
    Location="CommandUI.Ribbon"
    RegistrationType="ContentType"
    RegistrationId="0x0101"
    >
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition
          Location="Ribbon.Documents.Copies.Controls._children">
          <Button Id="Muhimbi.SharePoint.DocumentConverter.PDF.Ribbon.Documents.Copies.Controls.ConvertAndDownload.Button"
                  Command="Muhimbi.SharePoint.DocumentConverter.PDF.Ribbon.Documents.Copies.Controls.ConvertAndDownload.Button.Command"
                  Image16by16="/_layouts/images/Muhimbi.PDFConverter/pdf16.gif"
                  Image32by32="/_layouts/images/Muhimbi.PDFConverter/pdf32.gif"
                  LabelText="$Resources:ecb_title;"
                  Sequence="12"
                  TemplateAlias="o1" />
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler
          Command="Muhimbi.SharePoint.DocumentConverter.PDF.Ribbon.Documents.Copies.Controls.ConvertAndDownload.Button.Command"
          CommandAction="javascript:window.location='{SiteUrl}/_layouts/Muhimbi.PDFConverter/Convert.aspx?action=ConvertAndDownload&amp;ListId={ListId}&amp;ItemId=' + SP.ListOperation.Selection.getSelectedItems()[0].id + '&amp;Source=' + window.location"
          EnabledScript="javascript:function singleEnable()
          {
            var items = SP.ListOperation.Selection.getSelectedItems();
            var ci = CountDictionary(items);
            return (ci == 1);
          }
          singleEnable();" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
Était-ce utile?

La solution

Utilisez la propriété fsObjType:

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

Autres conseils

u peut alerter ce que vous obtenez lorsque vous sélectionnez un dossier à l'aide SP.ListOperation.Selection.getSelectedItems ();

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top