def setUp(self): self.conn_mock = MagicMock() _tornado.connections.append(self.conn_mock) self.elm = WdomElement('tag') set_app(self.elm) self.elm.js_exec = MagicMock() self.mock = MagicMock(_is_coroutine=False) self.elm.addEventListener('click', self.mock) msg = {'type': 'click', 'currentTarget': {'id': self.elm.wdom_id}} self.event = create_event(msg)
def setUp(self): super().setUp() self.elm = WdomElement('tag') set_app(self.elm) self.elm.js_exec = MagicMock() self.msg = { 'type': 'response', 'id': self.elm.wdom_id, } self.conn_mock = MagicMock() _tornado.connections.append(self.conn_mock)
def setUp(self): super().setUp() self.elm = WdomElement('tag') set_app(self.elm) self.c1 = WdomElement() self.c2 = WdomElement() self.js_mock = MagicMock() self.js_mock1 = MagicMock() self.js_mock2 = MagicMock() self.elm.js_exec = self.js_mock self.c1.js_exec = self.js_mock1 self.c2.js_exec = self.js_mock2 self.conn_mock = MagicMock() _tornado.connections.append(self.conn_mock)
def init(start, capture_file=None): logger.debug("Initializing UI...") global ui ui = SnifferUI(start, capture_file=capture_file) set_app(ui) logger.debug("Finished initializing UI.")
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from wdom.event import Event from wdom.themes import H1 def rev_text(event: Event) -> None: elm = event.currentTarget elm.textContent = elm.textContent[::-1] def sample_app(**kwargs) -> H1: h1 = H1('Click!') h1.addEventListener('click', rev_text) return h1 if __name__ == '__main__': from wdom.document import set_app from wdom import server set_app(sample_app()) server.start()
# TIPS: Wen just showing HTML, `appendChild(RawHtmlNode)` is better # than innerHTML on performance since it skips parse process. self.viewer.appendChild(RawHtmlNode(self.md(src))) def render(self, event): content = event.currentTarget.textContent # self.viewer.innerHTML = self.md(content) # TIPS: Same as above reason, RawHtml node is also better here self.viewer.replaceChild(RawHtmlNode(self.md(content)), self.viewer.firstChild) def set_style(self, style: str): self.css.innerHTML = HtmlFormatter(style=style).get_style_defs() def sample_page(**kwargs): get_document().register_theme(default) app = Div(style='width: 90vw; margin: auto') title = H1('Simple Markdown Editor', class_='text-center') app.appendChild(title) app.appendChild(Hr()) app.appendChild(Editor()) return app if __name__ == '__main__': from wdom.document import set_app from wdom import server set_app(sample_page()) server.start()
#coding=utf8 import sys;'qgb.U' in sys.modules or sys.path.append('E:/QGB/babun/cygwin/bin/') import sys;'qgb.U' in sys.modules or sys.path.append('./'); from qgb import * from wdom.tag import H1 from wdom.document import set_app,get_document from wdom.server import start import wdom q=F.dill_load(F.getHome()+'(sys.q) = [0 (102 )].dill')[0] def iterQ(): for p in q: for s in p: h=wdom.tag.Div() h.innerHTML=s yield h # U.ipy_embed()() if __name__ == '__main__': document = get_document() # for i in iterQ(): # document.appendChild(i) div=wdom.tag.HTMLIFrameElement() div.innerHTML=N.HTTP.get('http://192.168.1.111:23571/r=sys.q[-1][-1]') document.appendChild(div) set_app(document) # equivalent to `wdom.document.get_document().body.appendChild(h1)` start()
from wdom.server import start from wdom.document import set_app from wdom.tag import Div, H1, Input class MyElement(Div): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.h1 = H1(parent=self) self.h1.textContent = 'Hello, WDOM' self.input = Input(parent=self) self.input.addEventListener('input', self.update) def update(self, event): self.h1.textContent = event.target.value if __name__ == '__main__': set_app(MyElement()) start()
def main(): set_app(sample_page()) server.start()
def setUp(self): super().setUp() from wdom.examples.global_events import sample_page, set_app set_app(sample_page()) self.start()
def setUp(self): super().setUp() from wdom.examples.drag import sample_app set_app(sample_app()) self.start()