| 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 : booleanvoidpublic function bufferedListener(String eventName, Function handler, [Object scope], [Number millis])
eventName : Stringhandler : Functionscope : Objectmillis : NumberFunctionpublic function clearFilter()
voidpublic function clearSelections([Boolean suppressEvent])
suppressEvent : Booleanvoidpublic function delayedListener(String eventName, Function handler, [Object scope], [Number delay])
eventName : Stringhandler : Functionscope : Objectdelay : NumberFunctionpublic function filter(String property, String/RegExp value)
property : Stringvalue : String/RegExpvoidpublic function filterBy(Function fn, [Object scope])
fn : Functionscope : Objectvoidpublic function findItemFromChild(HTMLElement node)
node : HTMLElementHTMLElementpublic function fireEvent(String eventName, Object... args)
eventName : Stringargs : Object...Booleanpublic function getCount()
Numberpublic function getEl()
YAHOO.ext.Elementpublic function getNode(HTMLElement/String/Number nodeInfo)
nodeInfo : HTMLElement/String/NumberHTMLElementpublic function getNodes(Number startIndex, Number endIndex)
startIndex : NumberendIndex : NumberArraypublic function getSelectedIndexes()
Arraypublic function getSelectedNodes()
Arraypublic function getSelectionCount()
Numberpublic function indexOf(HTMLElement/String/Number nodeInfo)
nodeInfo : HTMLElement/String/NumberNumberpublic 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 : Booleanvoidpublic function on(String eventName, Function handler, [Object scope], [boolean override])
eventName : Stringhandler : Functionscope : Objectoverride : booleanvoidpublic function prepareData(Array/Object data, Number index)
data : Array/Objectindex : Numbervoidpublic function purgeListeners()
voidpublic function refresh()
voidpublic function refreshNode(Number index)
index : Numbervoidpublic function removeListener(String eventName, Function handler, [Object scope])
eventName : Stringhandler : Functionscope : Objectvoidpublic function select(Array/HTMLElement/String/Number nodeInfo, [Boolean keepExisting], [Boolean suppressEvent])
nodeInfo : Array/HTMLElement/String/NumberkeepExisting : BooleansuppressEvent : Booleanvoidpublic function setDataModel(DataModel dataModel)
dataModel : DataModelvoidpublic function sort(String property, [String direction], [Function sortType])
property : Stringdirection : StringsortType : Functionvoidpublic function unplugDataModel(DataModel dataModel)
dataModel : DataModelvoidpublic 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