~ubuntu-branches/ubuntu/karmic/pypy/karmic

« back to all changes in this revision

Viewing changes to pypy/translator/js/examples/guestbook_client.py

  • Committer: Bazaar Package Importer
  • Author(s): Alexandre Fayolle
  • Date: 2007-04-13 09:33:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070413093309-yoojh4jcoocu2krz
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
""" rpython guestbook client-side code
 
2
 
 
3
    this code can be tested in CPython, but will also be converted to
 
4
    JavaScript to provide the client-side functionality for the guestbook
 
5
    example
 
6
"""
 
7
 
 
8
from pypy.translator.js.modules import dom
 
9
from pypy.translator.js.examples.guestbook import exported_methods
 
10
 
 
11
def _get_messages_callback(messages):
 
12
    for message in messages:
 
13
        add_html_message(message)
 
14
 
 
15
def init_guestbook():
 
16
    exported_methods.get_messages(_get_messages_callback)
 
17
 
 
18
def _add_message_callback(message):
 
19
    add_html_message(message)
 
20
 
 
21
def add_message():
 
22
    doc = dom.window.document
 
23
    name = doc.getElementById('name').value
 
24
    message = doc.getElementById('message').value
 
25
    exported_methods.add_message(name, message, _add_message_callback)
 
26
 
 
27
def add_html_message(text=''):
 
28
    doc = dom.window.document
 
29
    div = doc.getElementById('messages')
 
30
    msgdiv = doc.createElement('div')
 
31
    msgdiv.style.border = '1px solid black'
 
32
    msgdiv.style.margin = '1em'
 
33
    msgdiv.appendChild(doc.createTextNode(text))
 
34
    div.appendChild(msgdiv)
 
35