def render_model(model, comm=None): if not isinstance(model, Model): raise ValueError("notebook_content expects a single Model instance") from ..config import panel_extension as pnext target = model.ref['id'] (docs_json, [render_item]) = standalone_docs_json_and_render_items([model], True) div = div_for_render_item(render_item) render_item = render_item.to_json() requirements = [pnext._globals[ext] for ext in pnext._loaded_extensions if ext in pnext._globals] ipywidget = 'ipywidgets_bokeh' in sys.modules script = DOC_NB_JS.render( docs_json=serialize_json(docs_json), render_items=serialize_json([render_item]), requirements=requirements, ipywidget=ipywidget ) bokeh_script, bokeh_div = script, div html = "<div id='{id}'>{html}</div>".format(id=target, html=bokeh_div) data = {'text/html': html, 'application/javascript': bokeh_script} return ({'text/html': mimebundle_to_html(data), EXEC_MIME: ''}, {EXEC_MIME: {'id': target}})
def render_model(model, comm=None): if not isinstance(model, Model): raise ValueError("notebook_content expects a single Model instance") target = model.ref['id'] (docs_json, [render_item]) = standalone_docs_json_and_render_items([model], True) div = div_for_render_item(render_item) render_item = render_item.to_json() script = DOC_NB_JS.render( docs_json=serialize_json(docs_json), render_items=serialize_json([render_item]), ) bokeh_script, bokeh_div = script, div html = "<div id='{id}'>{html}</div>".format(id=target, html=bokeh_div) data = {'text/html': html, 'application/javascript': bokeh_script} return ({ 'text/html': mimebundle_to_html(data), EXEC_MIME: '' }, { EXEC_MIME: { 'id': target } })
def render_model(model, comm=None): if not isinstance(model, Model): raise ValueError("notebook_content expects a single Model instance") target = model.ref['id'] (docs_json, [render_item]) = standalone_docs_json_and_render_items([model]) div = div_for_render_item(render_item) render_item = render_item.to_json() script = DOC_NB_JS.render( docs_json=serialize_json(docs_json), render_items=serialize_json([render_item]), ) bokeh_script, bokeh_div = encode_utf8(script), encode_utf8(div) html = "<div id='{id}'>{html}</div>".format(id=target, html=bokeh_div) # Publish bokeh plot JS msg_handler = bokeh_msg_handler.format(plot_id=target) if comm: comm_js = comm.js_template.format(plot_id=target, comm_id=comm.id, msg_handler=msg_handler) bokeh_js = '\n'.join([comm_js, bokeh_script]) else: bokeh_js = bokeh_script data = {'text/html': html, 'application/javascript': bokeh_js} return ({'text/html': mimebundle_to_html(data), EXEC_MIME: ''}, {EXEC_MIME: {'id': target}})
def _model_to_traits(cls, model, document=None): if document is None: document = Document() document.add_root(model) kwargs = {} (docs_json, [render_item]) = standalone_docs_json_and_render_items([model], True) kwargs['doc_json'] = docs_json kwargs['render_items'] = [render_item.to_json()] kwargs['div'] = div_for_render_item(render_item) return kwargs, document
def _model_to_traits(cls, model): if model.document is None: document = Document() document.add_root(model) (docs_json, [render_item]) = standalone_docs_json_and_render_items([model], True) render_bundle = dict( docs_json=docs_json, render_items=[render_item.to_json()], div=div_for_render_item(render_item), ) return render_bundle
def test_render(self) -> None: render_item = RenderItem(docid="doc123", elementid="foo123") assert bee.div_for_render_item(render_item).strip( ) == """<div class="bk-root" id="foo123"></div>"""
def test_render(self): render_item = RenderItem(docid="doc123", elementid="foo123") assert bee.div_for_render_item(render_item).strip() == """<div class="bk-root" id="foo123"></div>"""