Widget API¶
-
class
jibe.
Widget
(*args, style=None, identifier=None, render_on_change=True, notify_server_on_change=True)¶ Jibe widget.
-
attributes
= None¶ DOM element attributes.
-
deliver
(message)¶ Passes a message to the parent to be delivered to the Browser.
- Parameters
message –
- Returns
-
descendent_index
= None¶ Index for fast lookup of children. TODO: Check if this contains only children or all descendents.
-
identifier
= None¶ Unique identifier to find the browser counterpart.
-
message
(message)¶ Send a message to this widget’s browser side.
- Parameters
message –
- Returns
-
notifyServerOnChange
= None¶ Whether the JS widget should send the server a message to notify the change in its model (properties).
-
on_browser_side_ready
(source, message)¶ Javascript counterpart is ready in the browser and can receive messages. Delivers all queued messages.
- Parameters
source – Widget where the event originated (should be self).
message – Message from the browser.
- Returns
None
-
on_change
(propname, newval, oldval)¶ Callback for change in self.properties. Sends a message to the browser notifying of the change.
- Parameters
propname – Name of the property that has changed.
newval – New value of the property.
oldval – Previous value of the property.
- Returns
None
-
on_children
(source, message)¶ Javascript counterpart request for children. Widgets that have children will request for their children once they are instantiated in the browser.
TODO: Check if this is still being used.
- Parameters
source – Widget that triggered the event. Should be self.
message – Message from the browser.
- Returns
None
-
on_children_append
(*args, **kwargs)¶ Called when this.children.append() is called. Sends the appended child to the browser.
- Parameters
args –
kwargs –
- Returns
-
on_children_change
()¶ Called when the children attribute is assigned.
Children are “adopted”, i.e. their parent property is set to this widget.
Triggers a call to self.update_descendents(). Actually, each child calls it when it detects that its ‘parent’ member is being set.
Sends the children to the browser.
- Returns
None
-
on_children_remove
(*args, **kwargs)¶ Called when this.children.remove() is called. Notifies the browser of the removal.
TODO: Not yet implemented.
- Parameters
args –
kwargs –
- Returns
-
on_message
(message)¶ Invoked when a message for this Widget is received from the browser.
- Parameters
message –
- Returns
-
outbox
= None¶ Message queue waiting for browser side to be ready.
-
register
(event: str, handler: Callable)¶ Register the event handler for the specified event (message). The handler receives two parameters, the widget generating the event and the message from the server.
- Parameters
event – Name of the event
handler – Callable.
- Returns
None
-
renderOnChange
= None¶ Whether the JS widget should render when there is a change in its model (properties).
-
send_children
()¶ Serialize and send children to the browser.
- Returns
None
-
serialize
()¶ Returns a string with a JSON representation of this widget.
-
style
= None¶ Style attribute
-
style_string
()¶ Serialize this widget’s style member into a CSS compatible string.
- Returns
CSS string for this widget.
-
subscribers
= None¶ For others to be notified of events. So far, these only get called by the methods in self.local_event_handlers. This is populated with self.register(callback).
-
tagname
= None¶ DOM element tag type.
-
template_txt
= None¶ Widget body template in Handlebars syntax. Has access to the widget’s properties.
-
toJSON
()¶ JSON representation of the object.
- Returns
JSON-compatible object representation of this widget.
-
update_descendents
(*args)¶ Called by children when adopted to notify about all known descendents. In turn, forwards this information to this widgent’s parent and should bubble up to the main app.
- Parameters
args – Widget, Dictionary of widgets by identifier or List of Widgets.
- Returns
None
-