Package: | YAHOO.ext |
Class: | JsonView |
Extends: | View |
Defined In: | TemplateView.js |
var view = new YAHOO.ext.JsonView('my-element',
'<div id="{id}">{foo} - {bar}</div>', // auto create template
{ multiSelect: true, jsonRoot: 'data' });
// listen for node click?
view.on('click', function(vw, index, node, e){
alert('Node "' + node.id + '" at index: ' + index + ' was clicked.');
});
// direct load of JSON data
view.load('foobar.php');
// Example from my blog list
var tpl = new YAHOO.ext.Template(
'<div class="entry">' +
'<a class="entry-title" href="{link}">{title}</a>' +
'<h4>{date} by {author} | {comments} Comments</h4>{description}' +
'</div><hr />'
);
var moreView = new YAHOO.ext.JsonView('entry-list', tpl, {
jsonRoot: 'posts'
});
moreView.on('beforerender', this.sortEntries, this, true);
moreView.load({
url:'/blog/get-posts.php',
params: 'allposts=true',
text:'Loading Blog Entries...'
});
Property | Defined By | |
---|---|---|
jsonData : Object | View | |
The current json data or null | ||
jsonRoot : String | View | |
The root property in the loaded json object that contains the data | ||
selectedClass : YAHOO.ext.DomHelper.Template | View | |
The css class to add to selected nodes | ||
tpl : YAHOO.ext.DomHelper.Template | View | |
The template used by this View |
Method | Defined By | |
---|---|---|
JsonView(String/HTMLElement/Element container , DomHelper.Template tpl , Object config ) |
JsonView | |
Create a new JsonView | ||
addListener(String eventName , Function handler , [Object scope ], [boolean override ]) : void |
Observable | |
Appends an event handler to this component | ||
bufferedListener(String eventName , Function handler , [Object scope ], [Number millis ]) : Function |
Observable | |
Appends an event handler to this component that is buffered. If the event is triggered more than once in the specifie... | ||
clearFilter() : void | JsonView | |
Clears the current filter. | ||
clearSelections([Boolean suppressEvent ]) : void |
View | |
Clear all selections | ||
delayedListener(String eventName , Function handler , [Object scope ], [Number delay ]) : Function |
Observable | |
Appends an event handler to this component that is delayed the specified number of milliseconds. This is useful for e... | ||
filter(String property , String/RegExp value ) : void |
JsonView | |
Filter the data by a specific property. | ||
filterBy(Function fn , [Object scope ]) : void |
JsonView | |
Filter by a function. The passed function will be called with each object in the current dataset. If the function re... | ||
findItemFromChild(HTMLElement node ) : HTMLElement |
View | |
Returns the template node the passed child belongs to or null if it doesn't belong to one. | ||
fireEvent(String eventName , Object... args ) : Boolean |
Observable | |
Fires the specified event with the passed parameters (minus the event name). | ||
getCount() : Number | JsonView | |
Get the number of records in the current JSON dataset | ||
getEl() : YAHOO.ext.Element | View | |
Returns the element this view is bound to. | ||
getNode(HTMLElement/String/Number nodeInfo ) : HTMLElement |
View | |
Gets a template node. | ||
getNodes(Number startIndex , Number endIndex ) : Array |
View | |
Gets a range template nodes. | ||
getSelectedIndexes() : Array | View | |
Get the indexes of the selected nodes. | ||
getSelectedNodes() : Array | View | |
Get the currently selected nodes. | ||
getSelectionCount() : Number | View | |
Get the number of selected nodes. | ||
indexOf(HTMLElement/String/Number nodeInfo ) : Number |
View | |
Finds the index of the passed node | ||
load(Object/String/Function url , [String/Object params ], [Function callback ], [Boolean discardUrl ]) : void |
JsonView | |
Performs an async request, loading the JSON from the response. If params are specified it uses POST, otherwise it use... | ||
on(String eventName , Function handler , [Object scope ], [boolean override ]) : void |
Observable | |
Appends an event handler to this element (shorthand for addListener) | ||
prepareData(Array/Object data , Number index ) : void |
View | |
Function to override to reformat the data that is sent to the template for each node. | ||
purgeListeners() : void | Observable | |
Removes all listeners for this object | ||
refresh() : void | View | |
Refreshes the view. | ||
refreshNode(Number index ) : void |
View | |
Refresh an individual node. | ||
removeListener(String eventName , Function handler , [Object scope ]) : void |
Observable | |
Removes a listener | ||
select(Array/HTMLElement/String/Number nodeInfo , [Boolean keepExisting ], [Boolean suppressEvent ]) : void |
View | |
Selects nodes. | ||
setDataModel(DataModel dataModel ) : void |
View | |
Changes the data model this view uses and refresh the view. | ||
sort(String property , [String direction ], [Function sortType ]) : void |
JsonView | |
Sorts the data for this view and refreshes it. | ||
unplugDataModel(DataModel dataModel ) : void |
View | |
Unplug the data model and stop updates. |
Event | Defined By | |
---|---|---|
beforerender : (YAHOO.ext.View this , Object data ) |
JsonView | |
Fires before rendering of the downloaded json data. | ||
beforeselect : (YAHOO.ext.View this , HTMLElement node , Array selections ) |
View | |
Fires before a selection is made. If any handlers return false, the selection is cancelled. | ||
click : (YAHOO.ext.View this , Number index , HTMLElement node , YAHOO.ext.EventObject e ) |
View | |
Fires when a template node is clicked. | ||
contextmenu : (YAHOO.ext.View this , Number index , HTMLElement node , YAHOO.ext.EventObject e ) |
View | |
Fires when a template node is right clicked. | ||
dblclick : (YAHOO.ext.View this , Number index , HTMLElement node , YAHOO.ext.EventObject e ) |
View | |
Fires when a template node is double clicked. | ||
load : (YAHOO.ext.View this , Object data , Object response ) |
JsonView | |
Fires when data is loaded. | ||
loadexception : (YAHOO.ext.View this , Object response ) |
JsonView | |
Fires when loading fails. | ||
selectionchange : (YAHOO.ext.View this , Array selections ) |
View | |
Fires when the selected nodes change. |
public String jsonRoot
public YAHOO.ext.DomHelper.Template selectedClass
public YAHOO.ext.DomHelper.Template tpl
public function JsonView(String/HTMLElement/Element container
, DomHelper.Template tpl
, Object config
)
container
: String/HTMLElement/Elementtpl
: DomHelper.Templateconfig
: Objectpublic function addListener(String eventName
, Function handler
, [Object scope
], [boolean override
])
eventName
: Stringhandler
: Functionscope
: Objectoverride
: booleanvoid
public function bufferedListener(String eventName
, Function handler
, [Object scope
], [Number millis
])
eventName
: Stringhandler
: Functionscope
: Objectmillis
: NumberFunction
public function clearFilter()
void
public function clearSelections([Boolean suppressEvent
])
suppressEvent
: Booleanvoid
public function delayedListener(String eventName
, Function handler
, [Object scope
], [Number delay
])
eventName
: Stringhandler
: Functionscope
: Objectdelay
: NumberFunction
public function filter(String property
, String/RegExp value
)
property
: Stringvalue
: String/RegExpvoid
public function filterBy(Function fn
, [Object scope
])
fn
: Functionscope
: Objectvoid
public function findItemFromChild(HTMLElement node
)
node
: HTMLElementHTMLElement
public function fireEvent(String eventName
, Object... args
)
eventName
: Stringargs
: Object...Boolean
public function getCount()
Number
public function getEl()
YAHOO.ext.Element
public function getNode(HTMLElement/String/Number nodeInfo
)
nodeInfo
: HTMLElement/String/NumberHTMLElement
public function getNodes(Number startIndex
, Number endIndex
)
startIndex
: NumberendIndex
: NumberArray
public function getSelectedIndexes()
Array
public function getSelectedNodes()
Array
public function getSelectionCount()
Number
public function indexOf(HTMLElement/String/Number nodeInfo
)
nodeInfo
: HTMLElement/String/NumberNumber
public function load(Object/String/Function url
, [String/Object params
], [Function callback
], [Boolean discardUrl
])
url
: Object/String/Function view.load({ url: 'your-url.php',
params: {param1: 'foo', param2: 'bar'}, // or a URL encoded string
callback: yourFunction,
scope: yourObject, //(optional scope)
discardUrl: false,
nocache: false,
text: 'Loading...',
timeout: 30,
scripts: false
});
The only required property is url. The optional properties nocache, text and scripts are shorthand for disableCaching, indicatorText and loadScripts and are used to set their associated property on this UpdateManager instance.params
: String/Objectcallback
: FunctiondiscardUrl
: Booleanvoid
public function on(String eventName
, Function handler
, [Object scope
], [boolean override
])
eventName
: Stringhandler
: Functionscope
: Objectoverride
: booleanvoid
public function prepareData(Array/Object data
, Number index
)
data
: Array/Objectindex
: Numbervoid
public function purgeListeners()
void
public function refresh()
void
public function refreshNode(Number index
)
index
: Numbervoid
public function removeListener(String eventName
, Function handler
, [Object scope
])
eventName
: Stringhandler
: Functionscope
: Objectvoid
public function select(Array/HTMLElement/String/Number nodeInfo
, [Boolean keepExisting
], [Boolean suppressEvent
])
nodeInfo
: Array/HTMLElement/String/NumberkeepExisting
: BooleansuppressEvent
: Booleanvoid
public function setDataModel(DataModel dataModel
)
dataModel
: DataModelvoid
public function sort(String property
, [String direction
], [Function sortType
])
property
: Stringdirection
: StringsortType
: Functionvoid
public function unplugDataModel(DataModel dataModel
)
dataModel
: DataModelvoid
public event beforerender
this
: YAHOO.ext.Viewdata
: Objectpublic event beforeselect
this
: YAHOO.ext.Viewnode
: HTMLElementselections
: Arraypublic event click
this
: YAHOO.ext.Viewindex
: Numbernode
: HTMLElemente
: YAHOO.ext.EventObjectpublic event contextmenu
this
: YAHOO.ext.Viewindex
: Numbernode
: HTMLElemente
: YAHOO.ext.EventObjectpublic event dblclick
this
: YAHOO.ext.Viewindex
: Numbernode
: HTMLElemente
: YAHOO.ext.EventObjectpublic event load
this
: YAHOO.ext.Viewdata
: Objectresponse
: Objectpublic event loadexception
this
: YAHOO.ext.Viewresponse
: Objectpublic event selectionchange
this
: YAHOO.ext.Viewselections
: Array