def _set_pagination_handlers(data_grid, handler): grid_dom = _js.get_dom_node(data_grid) for name in ["first", "last", "previous", "next"]: btn = grid_dom.querySelector(f".{name}-page") # use True so that we capture this event before the anvil click event btn.addEventListener("click", _prevent_disabled, True) btn.addEventListener( "click", _wrap_js_event( _partial( handler, sender=data_grid, button=name, event_name="pagination_click", )), ) # note we don't tidy this up - we should probably call removeEventListener # but this will be called from code and is unlikely that the user will call this function twice if __name__ == "__main__": _ = _anvil.ColumnPanel() _.set_event_handler( "show", lambda **e: _anvil.Notification("oops AnvilAugment is a dependency", timeout=None).show(), ) _anvil.open_form(_) _ = None
from random import choice as _random_choice from string import ascii_letters as _letters def _get_random_string(_len): return ''.join(_random_choice(_letters) for _ in range(_len)) _visible_popovers = {} _template = '<div class="popover anvil-popover" role="tooltip" popover_id={} style="max-width:{}; "><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' # temp style for updating popovers without transition animations _S("""<style> .PopNoTransition { -moz-transition: none !important; -webkit-transition: none !important; -o-transition: none !important; transition: none !important; } </style> """).appendTo(_S('head')) if __name__ == "__main__": _ = _anvil.ColumnPanel() _.set_event_handler('show', lambda **e: _anvil.Notification( 'oops, popover is a dependency', style='danger', timeout=None).show()) _anvil.open_form(_) _ = None
def _get_random_string(_len): return ''.join(_random_choice(_letters) for _ in range(_len)) _visible_popovers = {} _template = '<div class="popover anvil-popover" role="tooltip" popover_id={} style="max-width:{}; "><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' # temp style for updating popovers without transition animations _S("""<style> .PopNoTransition { -moz-transition: none !important; -webkit-transition: none !important; -o-transition: none !important; transition: none !important; } </style> """).appendTo(_S('head')) if __name__ == "__main__": _ = _anvil.ColumnPanel() _.set_event_handler( 'show', lambda **e: _anvil.Notification('oops, popover is a dependency', style='danger', timeout=None).show()) _anvil.open_form(_) _ = None
_visible_popovers = {} _template = '<div class="popover anvil-popover" role="tooltip" popover_id="{}" style="max-width:{};"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' # temp style for updating popovers without transition animations _S( """<style> .PopNoTransition { -moz-transition: none !important; -webkit-transition: none !important; -o-transition: none !important; transition: none !important; } </style> """ ).appendTo(_S("head")) if __name__ == "__main__": _ = _anvil.ColumnPanel() _.set_event_handler( "show", lambda **e: _anvil.Notification( "oops, popover is a dependency", style="danger", timeout=None ).show(), ) _anvil.open_form(_) _ = None