5.4 Отображение данных
Last updated
Last updated
Когда ваши пользователи ввели какие-то данные, которые стали сущностями, вы можете отобразить эти данные в каких-то элементах на странице. Базовая логика следующая: в контексте элемента может находиться сущность, и вложенные элементы могут обращаться к этой сущности, чтобы отобразить значения её полей.
Такие контейнеры, как Группа, Всплывающее окно и Плавающая группа (Groups, Popup, Floating Group) могут в своем контексте иметь сущность. Для того, чтобы назначить сущность контейнеру, для начала нужно обозначить тип содержимого, с которым будет ассоциироваться элемент. Заполнение этой информации позволит Bubble сделать две вещи:
Это даёт доступ к соответствующим полям и настройкам выпадающих меню во время использования сущности в группе
Позволяет Bubble соотносить типы, чтобы избежать несовпадений и сообщать об ошибках с помощью Инспектора ошибок.
Когда тип содержимого установлен, у вас есть два способа ввести (или "отобразить") данные в контейнер. Вы можете либо использовать поле источника данных на уровне элемента, либо изменить сущность в группе с помощью действия в ходе рабочего процесса. Обе операции эквивалентны, но действия имеют приоритет перед полем источника данных.
Следующий раздел (!!!ЛНК!!!) описывает создание динамических выражений, которые будут использоваться для заполнения полей "Источник данных"/"Data source" и "Данные для отображения"/"Data to display". Так как у вас есть сущности, элементы внутри смогут получить доступ к "Сущности Родительского элемента"/"Parent Element's thing". Важно отметить, что элемент может получить доступ только к сущности непосредственного родителя. Если группа находится внутри другой группы, элементы внутри первой группы получат доступ к сущности этой группы, а не к элементу прародителя.
Вы можете очистить группу, чтобы стереть сущность, которая в ней отображается. Когда вы используете действие "очистить группу"/"reset group", сущность вернется к тому виду, в каком она была при запросе из источника данных (включая то, что она останется пустой, если поля не были изначально заполнены). Когда группа очищается, поля ввода также возвращаются к исходным значениям. Отметьте, что когда бы ни изменялось содержимое группы, группа перезагружается и в ней отображается новая сущность.
Подобное можно делать и на уровне страницы. Страница может иметь тип содержимого и принимать данные. Например, если вы создаете социальную сеть и хотите иметь страницу профиля ваших пользователей, вы должны создать в вашем приложении одну главную страницу под профиль, чтобы тип её содержимого был "Пользователь".
Другой способ передачи данных на страницу с помощью рабочего процесса - использовать действие "Перейти на страницу"/"Go to page". Он работает так же, как и элемент ссылки. Если у целевой страницы есть тип содержимого, то нужно будет передать сущность. Если целевая страница совпадает с текущей, то сущность страницы будет обновлена без перезагрузки страницы (но со сменой URL).
Примите во внимание, что если у страницы установлен тип содержимого, в неё нужно передать сущность. Если её оставить пустой, это приведет к сообщению об ошибке.
Повторяющаяся группа - специальный тип контейнера, который принимает список сущностей. Вы задаёте тип содержимого, а затем либо указываете источник данных либо используете действие "отобразить список в повторяющейся группе". Источник данных должен быть списком сущностей того типа, который был задан. Один из наиболее распространенных способов задать источник данных - поиск по базе данных, это описано в следующем разделе (!!!ЛНК!!!).
Наиболее распространенный способ передачи данных на страницу - с помощью ссылки.Если у страницы задан тип содержимого, вам предложат уточнить, какую сущность передать на страницу. Это добавит к вашей ссылке на страницу уникальный ID, который укажет на сущность для этой страницы. Эта ссылка будет содержать информацию, которая нужна, чтобы настроить сущность, и этой ссылкой можно поделиться.