class trame_client.ui.core.AbstractLayout(_server, _root_elem, template_name='main', width='100%', height='600px', base_url='http://localhost', iframe_builder=None, **kwargs)

A layout is responsible for a section if not all the ui of your application. It follow the same logic as any HTML container except that it also have to evaluate its content so it can be reflected on the client side. Usually to do that you will need call flush_content or by using it as a ContextManager.

A layout needs to be bound to a server

property iframe_builder

Instance of iframe builder responsible for generating the iframe tag for mainly for Jupyter

property root

Top level Vue component. Useful for providing / injecting into children components. Setting makes old root child of new root.

property html

Compute corresponding layout String which represent the html part.

property server

Return the server

property controller

Return the server.controller

property state

Return the server.state


Push new content to client