Предварительное выделение места для заполнителей расширений 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="{"testMessage":"Test message"}"
HostProperties="{"preAllocatedApplicationCustomizerTopHeight":"50","preAllocatedApplicationCustomizerBottomHeight":"50"}">
</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="{"testMessage":"Test message"}"
HostProperties="{"preAllocatedApplicationCustomizerTopHeight":"50","preAllocatedApplicationCustomizerBottomHeight":"50"}">
</ClientSideComponentInstance>
</Elements>
HostProperties
Запись из этой конфигурации будет добавлена в запись списка Расширения на уровне клиента в семействе веб-сайтов каталога приложений, которое содержит столбец Свойства узла для каждого элемента.
Рекомендации
В зависимости от реализации следует учитывать несколько аспектов.
- Если заданная высота слишком большая, у div будет дополнительное место в указанном положении. Если высота меньше, чем у настройщиков приложений, то настройщики приложений сжимаются в заполнитель.
- Если вы определили предварительное выделение, но настройщик приложений не создает заполнитель в коде или не связан с страницей, выделенное пространство на стороне сервера останется на странице.
Примечание.
HostProperties
также можно определить для существующих настройщиков приложений, изменяющих объект CustomAction на уровне сайта или используя столбец Свойства узла в списке Расширения на уровне клиента на сайте каталога приложений. Так как это параметр на стороне сервера, он также может применяться к расширениям, созданным с использованием более старых SharePoint Framework версий.