Add: 为 Page 新增 render_embed 方法 (#1103)

This commit is contained in:
陈键冬 2019-05-11 14:03:29 +08:00 committed by GitHub
parent 9e2c662e59
commit 9e752c40b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,20 +42,33 @@ class Page:
def __len__(self):
return len(self._charts)
def _prepare_render(self):
for c in self:
c.json_contents = c.dump_options()
if c.theme not in ThemeType.BUILTIN_THEMES:
self.js_dependencies.add(c.theme)
def render(
self,
path: str = "render.html",
template_name: str = "simple_page.html",
env: Optional[Environment] = None,
):
for c in self:
c.json_contents = c.dump_options()
if c.theme not in ThemeType.BUILTIN_THEMES:
self.js_dependencies.add(c.theme)
self._prepare_render()
RenderEngine(env).render_chart_to_file(
template_name=template_name, chart=self, path=path
)
def render_embed(
self,
template_name: str = "simple_page.html",
env: Optional[Environment] = None,
):
self._prepare_render()
return RenderEngine(env).render_chart_to_template(
template_name=template_name, chart=self
)
def render_notebook(self):
for c in self:
c.json_contents = c.dump_options()