@@ -273,6 +273,11 @@ def set_title(self, title):
273273
274274class BODY (Widget ):
275275 EVENT_ONLOAD = 'onload'
276+ EVENT_ONERROR = 'onerror'
277+ EVENT_ONONLINE = 'ononline'
278+ EVENT_ONPAGEHIDE = 'onpagehide'
279+ EVENT_ONPAGESHOW = 'onpageshow'
280+ EVENT_ONRESIZE = 'onresize'
276281
277282 def __init__ (self , * args , ** kwargs ):
278283 super (BODY , self ).__init__ (* args , ** kwargs , _type = 'body' )
@@ -282,6 +287,57 @@ def __init__(self, *args, **kwargs):
282287 loading_widget .set_identifier ("loading" )
283288
284289 self .append (loading_widget )
290+
291+ @decorate_set_on_listener ("(self, emitter)" )
292+ @decorate_event_js ("""sendCallback('%(emitter_identifier)s','%(event_name)s');
293+ event.stopPropagation();event.preventDefault();
294+ return false;""" )
295+ def onload (self ):
296+ """Called when page gets loaded."""
297+ return ()
298+
299+ @decorate_set_on_listener ("(self, emitter)" )
300+ @decorate_event_js ("""
301+ function(message, source, lineno, colno, error){
302+ var params={};params['message']=message;
303+ params['source']=source;
304+ params['lineno']=lineno;
305+ params['colno']=colno;
306+ sendCallbackParam('%(emitter_identifier)s','%(event_name)s',params);
307+ return false;
308+ }""" )
309+ def onerror (self , message , source , lineno , colno ):
310+ """Called when an error occurs."""
311+ print ("DOCUMENT ERROR: " + message )
312+ return (message , source , lineno , colno )
313+
314+ @decorate_set_on_listener ("(self, emitter)" )
315+ @decorate_event_js ("""sendCallback('%(emitter_identifier)s','%(event_name)s');
316+ event.stopPropagation();event.preventDefault();
317+ return false;""" )
318+ def ononline (self ):
319+ return ()
320+
321+ @decorate_set_on_listener ("(self, emitter)" )
322+ @decorate_event_js ("""sendCallback('%(emitter_identifier)s','%(event_name)s');
323+ event.stopPropagation();event.preventDefault();
324+ return false;""" )
325+ def onpagehide (self ):
326+ return ()
327+
328+ @decorate_set_on_listener ("(self, emitter)" )
329+ @decorate_event_js ("""sendCallback('%(emitter_identifier)s','%(event_name)s');
330+ event.stopPropagation();event.preventDefault();
331+ return false;""" )
332+ def onpageshow (self ):
333+ return ()
334+
335+ @decorate_set_on_listener ("(self, emitter)" )
336+ @decorate_event_js ("""sendCallback('%(emitter_identifier)s','%(event_name)s');
337+ event.stopPropagation();event.preventDefault();
338+ return false;""" )
339+ def onresize (self ):
340+ return ()
285341
286342
287343class Tag (object ):
0 commit comments