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


Жизненный цикл элемента

Рекомендуемый поток для создания элементов в пользовательском интерфейсе Fabric

  1. Укажите пользователю имя элемента.
  2. Создайте пустой элемент.
  3. Измените и сохраните новый элемент.

Схематическое представление первой части управления жизненным циклом элементов в Microsoft Fabric.

Этот процесс можно разделить на следующие этапы:

  1. Создание пустого элемента
  2. Загрузка элемента
  3. Изменение элемента

Схематическое представление второй части управления жизненным циклом элементов в Microsoft Fabric.

Когда пользователь выбирает кнопку, чтобы создать элемент любого типа, код FE Fabric (Portal) должен загрузить соответствующий редактор элементов. Fabric FE вызывает API Fabric BE для получения необходимых сведений, включая исходный URL-адрес, сведения о приложении идентификатора Microsoft Entra и URL-адрес BE рабочей нагрузки, соответствующие текущему контексту. После получения этой информации создается элемент. Обычно элемент загружает статические ресурсы, такие как HTML, JavaScript, CSS и изображения из CDN. Рекомендуется использовать развертывание CDN с несколькими регионами и настроить разрешение имен, чтобы исходный URL-адрес разрешал на сервер CDN, который физически ближе всего к текущему расположению браузера.

Примечание.

Обычно редактор элементов должен выполнять вызовы рабочей нагрузки BE, возможно, во время редактирования. Для этого требуется разрешение URL-адреса рабочей нагрузки BE на основе текущего контекста. В настоящее время код может использовать жестко закодированный URL-адрес BE.

Создание пустого элемента

Это распространенная практика в Fabric, позволяющая создавать элемент без ввода пользователем, кроме имени элемента. Ожидается, что такие элементы делают что-либо значимые (следовательно, пустые), но они появляются в рабочей области и могут участвовать в основных потоках и операциях. Кроме того, в некоторых случаях они могут даже быть функциональными на основе разумных значений по умолчанию, заданных рабочей нагрузкой.

Этот поток начинается с запроса пользователя указать имя нового элемента. Имея имя, iframe выполняет вызов API JS узла для запуска потока создания элемента, передав необязательный объект JSON как "полезные данные создания", а затем узел вызовет Fabric BE. Проверка подлинности обрабатывается узлом. Fabric BE разрешает URL-адрес рабочей нагрузки BE на основе контекста и вызывает CreateItem API рабочей нагрузки, передавая полезные данные создания, отправляемые iframe. Ожидается, что рабочая нагрузка BE будет хранить метаданные нового элемента, возможно, выделить некоторые ресурсы (хотя этот шаг можно отложить на более позднюю точку) и выполнить любую другую соответствующую работу. После завершения создания элемента с точки зрения рабочей нагрузки BE необходимо уведомить Fabric BE об изменении метаданных элементов. Тот же процесс должен произойти при любом обновлении метаданных элемента, поэтому маркер субъекта необходимо обменять на аудиторию Fabric BE.

Примечание.

API для уведомления об обновлении метаданных элемента в настоящее время недоступен.

Загрузка элемента

Чтобы изменить элемент, iframe необходимо загрузить его метаданные. Этот процесс совпадает с загрузкой пустых и инициализированных элементов. Iframe вызывает API JS узла, который вызывает Fabric BE, который, в свою очередь, вызывает API рабочей нагрузки GetItemPayload. Рабочая нагрузка BE может возвращать объект JSON, который затем передается обратно в iframe. Проверка подлинности обрабатывается узлом.

Изменение элемента

После загрузки метаданных элемента сеанс редактирования может начаться. В начале или во время этого сеанса iframe может потребоваться выполнить вызовы рабочей нагрузки BE (например, чтобы получить конфигурацию, заполнить элементы управления пользовательского интерфейса, выполнить проверку и многое другое). Для этого необходимо запросить маркер из API JS узла.