Events in Ctesius are small JavaScript callbacks which will be run a set times, or after certain page interactions. Events are registered by calling Ctesius.registerEvent with the event name and a callback function, which can optionally take n arguments:
Ctesius.registerEvent('EVENT_NAME', function(..ARGS..){
...
});Events can also be triggered by ‘kicking’:
Ctesius.kickEvent('EVENT_NAME', arg1, arg2, argn...);If you want plug in to the toggle system (grid view, list view, etc), the following events will be kicked when appropriate:
before_properties_map_and_list_toggle_view_displayedbefore_properties_map_toggle_view_displayedbefore_properties_map_toggle_view_displayedproperties_grid_toggle_view_displayedproperties_map_and_list_toggle_view_displayedproperties_map_toggle_view_displayedtogglable_list_displayedrender_tab(tab_name)no_root_view_displayedThe following events will trigger when there is an action on a map.
When various help texts are displayed on a drawable map the following actions may be kicked:
deletebannertoggleddrawbannertogglededitbannertoggleddeletebannerdeletebannertoggledWhen a map state has been changed and new properties should be fetched:
before_draggable_map_updatedCalled before a Draggable (or drawn) map is updated with fresh properties called from the server. Useful for showing ‘updating map’ style page statuses.
draggable_map_updated(properties)Called when results have been returned from a draggable map update. Returns the raw response from the server. The map has not yet been updated with new pins.
map_marker_rendered(property)Called when a map marker has been rendered for the given property.
When interacting with a map:
map_marker_opened(marker)Called when a map marker’s popup section has been opened.
map_view_renderedCalled whenever a map has been rendered.
small_map_view_renderedbranch_map_view_renderedpage_reloadingSome actions, like a redrawing of a polygon, may require a reloading of the page if a tab is switched. This event is kicked just before that happens, giving time for the page to show a ‘loading’ style alert.
The following events will be kicked when a saved property is added or removed. The by_action events signify that the user has saved a property where it was not previously saved - these events are useful for displaying a flash message or a subtle animation. Without the by_action, the event should be used to decorate saved properties or remove descorating. For instance, changing text from ‘Save property’ to ‘Remove property’:
before_saved_property_removed_by_action(property)after_saved_property_added_by_action(property)saved_property_added(property)saved_property_removed(property)The following methods will be called if a saved properties list is rendered:
saved_properties_view_renderedsaved_property_view_rendered(property)Saved searches work in a similar way to saved properties:
saved_search_addedsaved_search_removedbefore_create_new_userCalled before validation on a user, when data is submitted using the action.
user_history_readyuser_history_search_addeduser_log_in_faileduser_logged_inuser_logged_outuser_sign_upuser_sign_up_failedbefore_user_log_inbefore_user_sign_upWhen a JavaScript view is rendered, events are typically kicked before and after:
disambiguation_renderedbefore_most_recent_search_view_renderedbefore_redirection_flash_readyCalled before the system will display a flash notification (#/flash/some-notification):
redirection_flash_readyuser_micro_view_rendereduser_profile_lightview_renderedbefore_user_micro_view_renderedbefore_user_profile_lightview_renderedprevious_property_renderednext_property_renderedmost_recent_search_view_renderedbefore_search_form_submittedCalled before validation search form data.