def html_card(todo, do_action, cancel_action=None): """ Gera um card html usando o todo como referência. Args: - todo: {'name': 'name', 'id': 'id', 'description': 'description'} - do_action: {'text': 'Fazer!', 'action': bind} - cancel_action: {'text': 'Cancelar!', 'action': bind} Note: *_acions = Dict[str, Union[str, Callable]] """ div = html.DIV(Class='terminal-card') div <= html.HEADER(f'{todo["name"]} #{todo["id"]}') div <= html.DIV(f'{todo["description"]}') buts = html.DIV(Class='buttons') do_button = html.BUTTON(do_action['text'], Class='btn btn-primary btn-ghost do') buts <= do_button do_button.bind('click', do_action['action']) if cancel_action: cancel_button = html.BUTTON(cancel_action['text'], Class='btn btn-error btn-ghost cancel') cancel_button.bind('click', cancel_action['action']) buts <= cancel_button div <= buts return div
def create_card(event): name, desc, checked, valid = read_form() if valid: todo = document.select_one('#todo') card = html.DIV(Class='terminal-card') card <= html.HEADER(name, Class='name') card <= html.DIV(desc, Class='description') buttons = html.DIV(Class='buttons') do = html.BUTTON('Fazer', Class='btn btn-primary btn-ghost do') cancel = html.BUTTON('Cancelar', Class='btn btn-error btn-ghost cancel') do.bind('click', doing_card) cancel.bind('click', cancel_card) buttons <= do buttons <= cancel card <= buttons if checked: todo.insertBefore(card, todo.firstChild) else: todo <= card
def create_card(event): name, desc, checked, valid = read_form() if valid: todo = document.select_one('#todo') card = html.DIV(Class='terminal-card') card <= html.HEADER(name) card <= html.DIV(desc) buttons = html.DIV(Class='buttons') do = html.BUTTON('Fazer', Class='btn btn-primary btn-ghost do') cancel = html.BUTTON( 'Cancelar', Class='btn btn-error btn-ghost cancel' ) do.bind('click', doing_card) cancel.bind('click', cancel_card) buttons <= do buttons <= cancel card <= buttons timer.set_timeout( partial(create_card_timer, checked, todo, card), randint(1, 3000) )
# Create initial layout from browser import html from browser import document header = html.HEADER(Class="text-center") main = html.MAIN() footer = html.FOOTER() headingOne = html.H1('Python101') subtitleOne = html.SMALL('Learning how to use python') header.append(headingOne) header.append(subtitleOne) main.append(html.H2('Main Section', Class="text-center")) footer.append(html.H3('Footer Section', Class="text-center")) document.body.append(header) document.body.append(main) document.body.append(footer)