from browser import bind, window, document
import editor


def dispatch_event():
    code = editor.get_code()
    detail = {
        'key': 'python-editor',
        'verb': 'run',
        'context': {'code': code}
    }
    name = 'drawer.contentwindow.log'
    event = window.CustomEvent.new(name, {'detail': detail})
    window.dispatchEvent(event)


@bind(document['run'], 'click')
def handle_run(e):
    dispatch_event()
    editor.run()
