Поделиться через


Предварительное выделение места для заполнителей расширений SharePoint Framework

Настройщики приложений можно использовать для добавления структур и содержимого на современные страницы. Это можно сделать с помощью определенных заполнителей на странице, в которую затем будет загружена настраиваемая расширяемость. Так как расширения будут загружены довольно поздно в жизненном цикле загрузки страницы, при добавлении расширений может возникнуть дополнительное перемещение страницы.

Примечание.

Эта функция поддерживается только в SharePoint Online.

Чтобы уменьшить перемещение страницы, можно предварительно выделить область расширения, уже на стороне сервера при создании структуры страницы. Эту конфигурацию можно применить с помощью нового HostProperties свойства в UserCustomAction коллекции, чтобы указать на стороне сервера, какие настройщики приложений загружаются на страницу.

Существует два разных свойства, которые можно использовать с конфигурацией HostProperties :

  • preAllocatedApplicationCustomizerTopHeight: предварительно выделенная высота для верхнего заполнителя
  • preAllocatedApplicationCustomizerBottomHeight: предварительно выделенная высота нижнего заполнителя

Высота определяется в пикселях.

Определение распределения свойств hostProperties в решении SharePoint Framework

Предварительное выделение на стороне сервера можно определить непосредственно в коде решения SharePoint Framework, что гарантирует, что предварительное выделение будет применено при использовании решения. Предварительное выделение можно определить в elements.xml или в файлахClientSideInstance.xml в зависимости от структуры решения.

Значение свойств узла должно быть правильно закодировано в XML-файлах, чтобы обеспечить успешную упаковку решения.

Определение предварительного выделения в развертывании на уровне сайта

Если расширение предназначено для установки в области сайта, предварительное выделение можно настроить с помощью файла ./sharepoint/assets/elements.xml . Конфигурация, включенная в этот файл, по умолчанию применяется к сайту, когда SharePoint Framework решение установлено в области сайта.

Следующий фрагмент xml был обновлен дополнительной HostProperties записью и определена высота по умолчанию 50 пикселей.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
      Title="HeaderDemo"
      Location="ClientSideExtension.ApplicationCustomizer"
      ClientSideComponentId="03dd08c7-2575-4336-899e-68cfce663c4d"
      ClientSideComponentProperties="{&quot;testMessage&quot;:&quot;Test message&quot;}"
      HostProperties="{&quot;preAllocatedApplicationCustomizerTopHeight&quot;:&quot;50&quot;,&quot;preAllocatedApplicationCustomizerBottomHeight&quot;:&quot;50&quot;}">
  </CustomAction>
</Elements>

Определение предварительного выделения с помощью параметра развертывания на уровне клиента

Расширения, которые должны быть активированы с помощью параметров развертывания на уровне клиента, можно настроить для использования предварительно выделенного пространства, добавив HostProperties свойство для ClientSideComponentInstance элемента в файле ./sharepoint/assets/ClientSideInstance.xml .

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ClientSideComponentInstance
      Title="HeaderDemo"
      Location="ClientSideExtension.ApplicationCustomizer"
      ComponentId="03dd08c7-2575-4336-899e-68cfce663c4d"
      Properties="{&quot;testMessage&quot;:&quot;Test message&quot;}"
      HostProperties="{&quot;preAllocatedApplicationCustomizerTopHeight&quot;:&quot;50&quot;,&quot;preAllocatedApplicationCustomizerBottomHeight&quot;:&quot;50&quot;}">
  </ClientSideComponentInstance>
</Elements>

HostProperties Запись из этой конфигурации будет добавлена в запись списка Расширения на уровне клиента в семействе веб-сайтов каталога приложений, которое содержит столбец Свойства узла для каждого элемента.

Рекомендации

В зависимости от реализации следует учитывать несколько аспектов.

  • Если заданная высота слишком большая, у div будет дополнительное место в указанном положении. Если высота меньше, чем у настройщиков приложений, то настройщики приложений сжимаются в заполнитель.
  • Если вы определили предварительное выделение, но настройщик приложений не создает заполнитель в коде или не связан с страницей, выделенное пространство на стороне сервера останется на странице.

Примечание.

HostProperties также можно определить для существующих настройщиков приложений, изменяющих объект CustomAction на уровне сайта или используя столбец Свойства узла в списке Расширения на уровне клиента на сайте каталога приложений. Так как это параметр на стороне сервера, он также может применяться к расширениям, созданным с использованием более старых SharePoint Framework версий.