Source code for tablate.library.renderers.html.render_html_frames
from tablate.library.checkers.is_last_element import is_last_element
from tablate.library.formatters.html.style.elements.style_frame import style_frame
from tablate.library.renderers.html.frames.render_html_columns import render_html_column
from tablate.library.renderers.html.frames.render_html_table_body import render_html_table_body
from tablate.type.type_store import FrameStoreList
from tablate.type.type_global import Globals
[docs]
def render_html_frames(frame_list: FrameStoreList, global_options: Globals) -> str:
return_html = ''
for frame_index, frame_item in enumerate(frame_list):
frame_item.html_frame_styles.html_px_multiplier = frame_item.html_frame_styles.html_px_multiplier * global_options.html.html_container_styles.html_px_multiplier
frame_styler = global_options.html.styler.frame(frame_index)
last_element = False
if is_last_element(frame_index, frame_list):
last_element = True
style_frame(frame_store=frame_item, frame_styler=frame_styler, is_last_element=last_element)
if frame_item.type == "grid" or frame_item.type == "text":
return_html += render_html_column(frame_dict=frame_item,
global_options=global_options,
frame_styler=frame_styler)
if frame_item.type == "table_header":
return_html += render_html_column(frame_dict=frame_item,
global_options=global_options,
frame_styler=frame_styler,
frame_type="head")
if frame_item.type == "table_body":
return_html += render_html_table_body(table_body_frame_store=frame_item,
global_options=global_options,
frame_styler=frame_styler)
return return_html