Страница для индексации
Перейти на сайт
Поле view - служит для отображения динамически формируемых списков (например список писем в почтовиках). Поле view ссылается на объект класса View , который этот список формирует (описания объектов класса View должны находиться в каталоге views ).
Перед первой прорисовкой формы на клиенте поле view делает xhr запрос и загружает данные для отображения в виде JSON -строки.
Пример поля view в левой части экрана. Список разделов и подчиненных им подразделов формируется в модуле outline.py
Для упрощения работы с видами есть функция viewDiv , которая формирует нужные элементы разметки (фиксированный toolbar над видом, сам вид, scrollbar ) и упаковывает их в словарь.
CODE__
viewDiv(
'slideBar', # имя поля
viewClass='Outline', # имя объекта класса View (модуль outline.py)
style={'width': 250, 'paddingTop': 25}, # стиль обрамляющего div
viewStyle={'width': 250, 'height': 'calc(100vh - 255px)'}, # стиль вида
toolbar='site', # фиксированная область с кнопками над видом
dbAlias=well('MAIN', 'BOOK'), # алиас группы таблиц (для MongoDB коллекции) при обращении к БД
filtered=None, # дополнительный параметр при обращении к БД (например, фильтр)
form='topic', # этот параметр сообщает тулбару, с какой формой создавать документ по кнопке new
)
__CODE
{_ {"div":"Вид (представление, view)", "className":"h2", "style":{"border":"0 solid blue", "borderBottomWidth":1}} _}
{_ {"a":"React(class View): src/Book/fields/View.js", "href":"js?api/react.js/src/Book/fields/View.js"} _}

{_ {"div":"В качестве примера показан список разделов без обрамляющего div и без тулбара", "style":{"color":"red", "fontWeight": "bold"}} _}
{_ {"div":"{\"field\": [\"slideBar\", \"view\"], \"dbAlias\":\"SOVA/SITE\", \"viewName\":\"outline\", \"style\":{\"padding\":10, \"width\":300, \"border\": \"1px solid #aaa\"}}", "style":{"color":"blue", "fontWeight": "bold"}} _}

{_ {"field": ["slideBar", "view"], "dbAlias":"SOVA/SITE", "viewClass":"Outline", "style": {"width":250, "height":"calc(100vh - 234px)", "overflow":"auto"}} _}