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