Mashup Builder > Мэшапы > Создание вложенного мэшапа
Создание вложенного мэшапа
При создании приложений, основанных на адаптивных мэшапах, рекомендуется разбивать приложение на меньшие повторно используемые компоненты. Повторно используемые компоненты - это группа виджетов, которые можно использовать в различных ситуациях. Виджет "Вложенный мэшап" можно использовать для добавления мэшапа в контейнер в компоновке. Повторно используемые мэшапы позволяют:
Создавать более простую структуру мэшапа с меньшим количеством привязок в родительском мэшапе. Это облегчает решение проблем с приложением.
Разбивать мэшап на разделы, чтобы несколько разработчиков могли работать с одним и тем же приложением.
Быстро создавать сложные мэшапы путем повторного использования простых мэшапов.
Дополнительные сведения см. в разделе Виджет "Вложенный мэшап".
Вложенные мэшапы можно конфигурировать в их родительском мэшапе. Например, рассмотрим приложение мэшапа, которое используется для запроса данных аудита в ThingWorx. Вместо создания единого мэшапа можно разбить приложение на несколько мэшапов и построить его с помощью повторно используемых компонентов:
Верхний раздел содержит опции навигации, кнопки и виджеты ввода данных для поиска.
Раздел поиска содержит возвращенные данные из сервиса запросов и отображает их в сетке.
В разделе визуализации отображаются данные из сетки на различных диаграммах.
Добавление вложенного мэшапа
1. Откройте и измените существующий мэшап или создайте новый мэшап.
2. На панели Компоновка добавьте контейнер к родительскому мэшапу.
3. Перетащите виджет "Вложенный мэшап" с панели Виджеты в контейнер.
4. Выберите мэшап, чтобы отображать виджет одним из следующих способов.
На панели Свойства выберите мэшап для свойства Name.
Перетащите мэшап с панели Мэшап в виджет на канве.
5. Щелкните Сохранить, а затем щелкните Просмотр мэшапа. Вложенный мэшап отображается в текущем мэшапе во время выполнения.
После добавления вложенного мэшапа можно использовать параметры мэшапа для привязки данных и событий к вложенному мэшапу и из него. Дополнительные сведения см. в разделе Конфигурирование параметров мэшапа.
Конфигурирование компоновок вложенных мэшапов
При добавлении вложенного мэшапа в компоновку он отображается в соответствии с размерами контейнера виджета. Если размеры вложенного мэшапа выходят за пределы доступного пространства в контейнере, появляются полосы прокрутки. Это может быть неудобным при наличии нескольких вложенных мэшапов. Если один или несколько вложенных мэшапов выходят за пределы доступного пространства в контейнере, в родительском мэшапе может отображаться несколько полос прокрутки. Можно развернуть эти контейнеры, чтобы вписать содержимое вложенных мэшапов. Используйте свойство ResizeToContent вложенного виджета в мэшапе, чтобы развернуть контейнер и отображать полное содержимое во вложенном мэшапе.
Чтобы развернуть контейнер в родительском мэшапе, выполните следующие шаги:
1. Откройте родительский мэшап с виджетом "Вложенный мэшап".
2. На панели Проводник выберите контейнер с виджетом "Вложенный мэшап".
3. На панели Компоновка в разделе Расширенный задайте для поля Коэффициент сжатия значение 0.
4. Повторите предыдущий шаг для других контейнеров в компоновке. Это предотвращает занятие вложенным мэшапом всего доступного пространства в компоновке.
При включении свойства контейнер вложенного мэшапа растягивается по вертикали или по горизонтали в зависимости от ориентации компоновки. Свойство влияет на мэшап только в том случае, если вложенный мэшап имеет компоненты с фиксированным размером. Например, статический контейнер, мэшап или неадаптивный виджет. Вложенный мэшап должен иметь определенную высоту, чтобы расширять содержимое родительского контейнера. Например, виджет "Расширенная сетка" является адаптивным виджетом, который использует доступное пространство в контейнере. При увеличении виджета для размещения большего числа строк родительский контейнер вложенного мэшапа сохраняет размер. Чтобы развернуть родительский контейнер, укажите фиксированный размер для мэшапа, контейнера или виджета.
Было ли это полезно?