Project Outline
applyUid(data)
addItem(data)
getObject(itemRender)
setData(data, ignoreEvent, ignoreDom)
dataSetBind(, bind)
addControl(, true)
triggerEvent(name, data)
setState(name, value)
getState(name)
setAttribute(key, value)
setStyle(style)
addCss(css)
setCss(css)
switchCssClass(oldClass, newClass)
hasCssClass(search)
setVisible(v, speed, type, callback)
setEnabled(e, recursive)
getHtml(markAsRendered)
setId(id)
render(control)
setPage(page)
setParent(parent)
bind(name, func, data)
hasBind(name, func)
unbind(name, func)
alterData(key, Boolean)
toggleCheckStateFrom(index, datasource, checkbox)
openNode(index, datasource)
closeNode(index, datasource)
setData(data)
toLogger(messsage)
setItemRenderByIndex(index, render, dontCreate, ignoreDataItemRenderMap)
setNodeData(nodeData)
setNodeDataByData(data, source)
createNodeInfo(datasource, parentIndex, func)
addItem(item)
addDataSource(source, targetItems, instant)
nodeClicked(int, true)
removeToggleControl(index, rerender)
createLoadMoreButton(index, limit, nodeData)
selectIndex(index, preventEvent)
selectAllFromIndex(index, datasource)
applyUid(data)
getObject(itemRender)
dataSetBind(, bind)
addControl(, true)
triggerEvent(name, data)
setState(name, value)
getState(name)
setAttribute(key, value)
setStyle(style)
addCss(css)
setCss(css)
switchCssClass(oldClass, newClass)
hasCssClass(search)
setVisible(v, speed, type, callback)
setEnabled(e, recursive)
getHtml(markAsRendered)
setId(id)
render(control)
setPage(page)
setParent(parent)
bind(name, func, data)
hasBind(name, func)
unbind(name, func)
addItem(data, render)
setItemRenderByIndex(index, render, dontCreate, ignoreDataItemRenderMap)
setItemRenderByIndices(indices, renderFactory)
hasItemRenderAt(index, itemRender)
applyUid(data)
getObject(itemRender)
setData(data, ignoreEvent, ignoreDom)
dataSetBind(, bind)
addControl(, true)
triggerEvent(name, data)
setState(name, value)
getState(name)
setAttribute(key, value)
setStyle(style)
addCss(css)
setCss(css)
switchCssClass(oldClass, newClass)
hasCssClass(search)
setVisible(v, speed, type, callback)
setEnabled(e, recursive)
getHtml(markAsRendered)
setId(id)
render(control)
setPage(page)
setParent(parent)
bind(name, func, data)
hasBind(name, func)
unbind(name, func)
addItem(data, when)
addItems(items)
addItemAt(item, index, render, preventRender)
addItemsAt(item, index, render)
setItemRenderByIndex(index, render, dontCreate, ignoreDataItemRenderMap)
setItemRenderByIndices(indices, renderFactory)
setItemRender(itemRender)
hasItemRenderAt(int, itemRender)
applyUid(data)
getObject(itemRender)
setData(data, ignoreEvent, ignoreDom)
dataSetBind(, bind)
addControl(, true)
triggerEvent(name, data)
setState(name, value)
getState(name)
setAttribute(key, value)
setStyle(style)
addCss(css)
setCss(css)
switchCssClass(oldClass, newClass)
hasCssClass(search)
setVisible(v, speed, type, callback)
setEnabled(e, recursive)
getHtml(markAsRendered)
setId(id)
render(control)
setPage(page)
setParent(parent)
bind(name, func, data)
hasBind(name, func)
unbind(name, func)
toLogger(messsage)
setItemRenderByIndex(index, render, dontCreate, ignoreDataItemRenderMap)
setNodeData(nodeData)
setNodeDataByData(data, source)
createNodeInfo(datasource, parentIndex, func)
addItem(item)
addDataSource(source, targetItems, instant)
openNode(index, datasource)
closeNode(index, datasource)
nodeClicked(int, true)
removeToggleControl(index, rerender)
createLoadMoreButton(index, limit, nodeData)
selectIndex(index, preventEvent)
selectAllFromIndex(index, datasource)
applyUid(data)
getObject(itemRender)
setData(data, ignoreEvent, ignoreDom)
dataSetBind(, bind)
addControl(, true)
triggerEvent(name, data)
setState(name, value)
getState(name)
setAttribute(key, value)
setStyle(style)
addCss(css)
setCss(css)
switchCssClass(oldClass, newClass)
hasCssClass(search)
setVisible(v, speed, type, callback)
setEnabled(e, recursive)
getHtml(markAsRendered)
setId(id)
render(control)
setPage(page)
setParent(parent)
bind(name, func, data)
hasBind(name, func)
unbind(name, func)
setData(data, ignoreEvent, ignoreDom)
setR(value)
setG(value)
setB(value)
setH(value)
setS(value)
setV(value)
setValue(either)
render(data, target)
replace(data, target)
renderHtml(data, target, dontAppend)
clear(control)
remove(control)
setData(value, control)
setTextData(value, control)
setCheckBoxData(value, control)
getData(control)
setLevel(String, Boolean)
showTimes(Boolean)
addErrorData(data, page)
write(String, type)
debug(String)
notice(String)
warning(String)
error(String)
route(String)
«
Framework jProton

Class Banana.Application

Defined in: Banana.js.

Constructor Summary
new Banana.Application (settings) Main Banana Application components.
Method Summary
loadPage(page, key, ignoreHistoryParams) Loads a page.
run(page) Run a page This function should only be initially called to bootstrap the framework.
Constructor Detail
new Banana.Application(settings)
Main Banana Application components. This object is responsible for loading and running pages. By default the application is accessible through Banana.Application. if you need multiple instances, an application name is required. typicaly an instance of banana is started with
It is also possible to launch multiple instances of banana. Make sure the applicationName is unique var applicationParameters = {}; applicationParameters.renderTarget = 'target'; //id of the target div applicationParameters.imagedir ='images'; applicationParameters.paths = {}; applicationParameters.applicationName = "myUniqueApp"; applicationParameters.paths.pages = "Application.Pages"; applicationParameters.paths.pageTemplates = "Application.Pages.PageTemplates"; var pageClass = Banana.Page.extend({ createComponents : function() { //do something here } }); var page = new pageClass(); var app = new Banana.Application(applicationParameters); app.run(page); Following parameters are available for creating a new application - renderTarget Id of the dom element where the application is rendered in. - imagedir relative path of various images Banana uses - paths.pages namespace of Banana Pages (by default "Application.Pages") - paths.pageTemplates namespace of Banana Template Pages (by default "Application.Pages.PageTemplates") A new page can be loaded by calling loadPage(String page). The current page will be removed and replaced by the new page. Url history params are restored in case an already visited page is loaded.

									
									
									
										
											
Parameters:
{Object} settings
Method Detail
getSettings() : Array

										
									
Returns:
{Array} of settings
setSectionVerticalScrollPosition(section)

										
									
Parameters:
{String} section
getSectionVerticalScrollPosition(section) : String

										
									
Parameters:
{String} section
Returns:
{String}
loadPage(page, key, ignoreHistoryParams)
Loads a page. Loads a page by specifying the full namespace name of the page. Additional parameters can be send along. Parameters should be in key => value format stored in an Object. All parameters will be written in the hash section of the url. Loading a page also results in saving the url parameters of the current page. This means that we when we have a url like http://mysite?page=foo#section=Home&id=12 we save the id parameter only. Unless specified we restore the original parameters when the page is reloaded.

										
									
Parameters:
{string} page to be loaded. This is the full namespace name
{object} key value format
{bool} ignoreHistoryParams if true we ignore previous url params.
run(page)
Run a page This function should only be initially called to bootstrap the framework. Consecutive pages should be loaded by using #loadPage.

										
									
Parameters:
{string} page
Documentation generated by JsDoc Toolkit 2.4.0 on Wed Dec 05 2012 21:57:27 GMT+0100 (CET)