|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.gwtext.client.widgets.Component
com.gwtext.client.widgets.BoxComponent
com.gwtext.client.widgets.DataView
public class DataView
A mechanism for displaying data using custom layout templates and formatting. DataView uses XTemplate
as its internal
templating mechanisma, and is bound to an Store
so that as the data in the store changes the view is automatically
updated to reflect the changes. The view also provides built-in behavior for many common events that can occur for its contained
items including click, doubleclick, mouseover, mouseout, etc. as well as a built-in selection model.
An itemSelector which is passed to the constructor is used to determine what nodes it will be working with.
The example below binds a DataView to a Store and renders it into a Panel
.
// data here is Object[][] of local data.
MemoryProxy dataProxy = new MemoryProxy(getData());
ArrayReader reader = new ArrayReader(new RecordDef(new FieldDef[]{
new StringFieldDef("name"),
new IntegerFieldDef("size"),
new DateFieldDef("lastmod", "timestamp"),
new StringFieldDef("url")}));
Store store = new Store(dataProxy, reader);
store.load();
XTemplate template = new XTemplate(new String[]{
"<tpl for='.'>",
"<div class='thumb-wrap' id='{name}'>",
"<div class='thumb'><img src='{url}' title='{name}'></div>",
"<span class='x-editable'>{shortName}</span></div>",
"</tpl>",
"<div class='x-clear'></div>"});
Panel panel = new Panel();
panel.setId("images-view");
panel.setFrame(true);
panel.setAutoHeight(true);
panel.setCollapsible(true);
panel.setLayout(new FitLayout());
panel.setTitle("Simple DataView with editable labels, multi and drag selection");
//pre process the data from te store before passing it to the DataView
DataView dataView = new DataView("div.thumb-wrap") {
public void prepareData(Data data) {
data.setProperty("shortName", Format.ellipsis(data.getProperty("name"), 15));
} };
dataView.setStore(store);
dataView.setTpl(template);
dataView.setAutoHeight(true);
dataView.setMultiSelect(true);
dataView.setOverCls("x-view-over");
dataView.setEmptyText("No Images to display");
panel.add(dataView);
RootPanel.get().add(panel);
Nested Class Summary | |
---|---|
static class |
DataView.Data
|
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject |
---|
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled |
Field Summary |
---|
Fields inherited from class com.gwtext.client.widgets.Component |
---|
config, id |
Fields inherited from class com.google.gwt.user.client.ui.UIObject |
---|
DEBUG_ID_PREFIX |
Constructor Summary | |
---|---|
DataView(com.google.gwt.core.client.JavaScriptObject jsObj)
|
|
DataView(java.lang.String itemSelector)
Create a new DataView. |
Method Summary | |
---|---|
void |
addListener(DataViewListener listener)
|
void |
clearSelections()
Clears all selections. |
void |
clearSelections(boolean suppressEvent)
Clears all selections. |
protected com.google.gwt.core.client.JavaScriptObject |
create(com.google.gwt.core.client.JavaScriptObject config)
|
void |
deselect(com.google.gwt.user.client.Element element)
Deselects a node. |
void |
deselect(int nodeIndex)
Deselects a node. |
com.google.gwt.user.client.Element |
findItemFromChild()
Returns the template node the passed child belongs to, or null if it doesn't belong to one. |
com.google.gwt.user.client.Element |
getNode(int nodeIndex)
Gets a template node. |
com.google.gwt.user.client.Element |
getNode(java.lang.String nodeID)
Gets a template node. |
com.google.gwt.user.client.Element[] |
getNodes(int start,
int end)
Gets a range nodes. |
Record |
getRecord(com.google.gwt.user.client.Element node)
Gets a record from a node. |
int[] |
getSelectedIndexes()
Gets the indexes of the selected nodes. |
Record[] |
getSelectedRecords()
Gets an array of the selected records. |
int |
getSelectionCount()
Gets the number of selected nodes. |
java.lang.String |
getXType()
Gets the xtype for this component as registered with ComponentMgr. |
int |
indexOf(com.google.gwt.user.client.Element element)
Finds the index of the passed node. |
int |
indexOf(int nodeIndex)
Finds the index of the passed node. |
int |
indexOf(java.lang.String nodeID)
Finds the index of the passed node. |
boolean |
isSelected(com.google.gwt.user.client.Element element)
Returns true if the passed node is selected, else false. |
boolean |
isSelected(int nodeIndex)
Returns true if the passed node is selected, else false. |
void |
prepareData(DataView.Data data)
This method that can be overridden to provide custom formatting for the data that is sent to the template for each node. |
void |
refresh()
Refreshes the view by reloading the data from the store and re-rendering the template. |
void |
refreshNode(int nodeIndex)
Refreshes an individual node's data from the store. |
void |
select(com.google.gwt.user.client.Element node)
Selectsthe node. |
void |
select(com.google.gwt.user.client.Element node,
boolean keepExisting,
boolean suppressEvent)
Selects the node. |
void |
select(int nodeIndex)
Selects the node. |
void |
select(int[] nodeIndexes)
Selects a set of nodes. |
void |
select(int[] nodeIndexes,
boolean keepExisting,
boolean suppressEvent)
Selects a set of nodes. |
void |
select(int nodeIndex,
boolean keepExisting,
boolean suppressEvent)
Selects the node. |
void |
select(java.lang.String[] nodeIDs)
Selects a set of nodes. |
void |
select(java.lang.String[] nodeIDs,
boolean keepExisting,
boolean suppressEvent)
Selects a set of nodes. |
void |
selectRange(int start,
int end)
Selects a range of nodes. |
void |
selectRange(int start,
int end,
boolean keepExisting)
Selects a range of nodes. |
void |
setEmptyText(java.lang.String emptyText)
The text to display in the view when there is no data to display (defaults to ''). |
void |
setItemSelector(java.lang.String itemSelector)
A CSS selector in any format supported by DomQuery that will be used to determine
what nodes this DataView will be working with. |
void |
setLoadingText(java.lang.String loadingText)
A string to display during data load operations (defaults to undefined). |
void |
setMultiSelect(boolean multiSelect)
True to allow selection of more than one item at a time, false to allow selection of only a single item at a time or no selection at all, depending on the value of singleSelect (defaults to false). |
void |
setOverCls(java.lang.String overCls)
A CSS class to apply to each item in the view on mouseover (defaults to undefined). |
void |
setSimpleSelect(boolean simpleSelect)
True to enable multiselection by clicking on multiple items without requiring the user to hold Shift or Ctrl, false to force the user to hold Ctrl or Shift to select more than on item (defaults to false). |
void |
setSingleSelect(boolean singleSelect)
True to allow selection of exactly one item at a time, false to allow no selection at all (defaults to false). |
void |
setStore(Store store)
The Store to bind this DataView to. |
void |
setTpl(XTemplate tpl)
An XTemplate constructed with the the HTML fragment or an array of fragments that will make up the template used by this DataView. |
Methods inherited from class com.gwtext.client.widgets.BoxComponent |
---|
addListener, doOnRender, doOnRender, getAutoHeight, getAutoWidth, getBox, getBox, getConfigPrototype, getHeight, getPosition, getPosition, getSize, getWidth, setAutoHeight, setAutoWidth, setHeight, setHeight, setPagePosition, setPosition, setSize, setSize, setWidth, setWidth, syncSize, updateBox |
Methods inherited from class com.google.gwt.user.client.ui.Widget |
---|
doAttachChildren, doDetachChildren, getParent, isAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent |
Methods inherited from class com.google.gwt.user.client.ui.UIObject |
---|
ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, setElement, setPixelSize, setStyleName, setStyleName, setStylePrimaryName, setVisible, sinkEvents, unsinkEvents |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DataView(java.lang.String itemSelector)
itemSelector
- a CSS selector in any format supported by DomQuery
that will be used to determine
what nodes this DataView will be working with.public DataView(com.google.gwt.core.client.JavaScriptObject jsObj)
Method Detail |
---|
public java.lang.String getXType()
Component
TextField field = new TextField();
field.getXType() returns "textfield"
getXType
in class BoxComponent
protected com.google.gwt.core.client.JavaScriptObject create(com.google.gwt.core.client.JavaScriptObject config)
create
in class BoxComponent
public void prepareData(DataView.Data data)
data
- the view datapublic void clearSelections()
public void clearSelections(boolean suppressEvent)
suppressEvent
- true to prevent firing of the selectionchange eventpublic void deselect(com.google.gwt.user.client.Element element)
element
- the node to delselectpublic void deselect(int nodeIndex)
nodeIndex
- index of node to deselectpublic com.google.gwt.user.client.Element findItemFromChild()
public com.google.gwt.user.client.Element getNode(java.lang.String nodeID)
nodeID
- the id of a template node
public com.google.gwt.user.client.Element getNode(int nodeIndex)
nodeIndex
- the index of a template node
public com.google.gwt.user.client.Element[] getNodes(int start, int end)
start
- the index of the first node in the rangeend
- the index of the last node in the range
public Record getRecord(com.google.gwt.user.client.Element node)
node
- The node to evaluate
public int[] getSelectedIndexes()
public Record[] getSelectedRecords()
public int getSelectionCount()
public int indexOf(com.google.gwt.user.client.Element element)
element
- the node
public int indexOf(java.lang.String nodeID)
nodeID
- the node ID
public int indexOf(int nodeIndex)
nodeIndex
- the node index
public boolean isSelected(com.google.gwt.user.client.Element element)
element
- the node
public boolean isSelected(int nodeIndex)
nodeIndex
- the node index
public void refresh()
public void refreshNode(int nodeIndex)
nodeIndex
- the node indexpublic void select(com.google.gwt.user.client.Element node)
node
- the noedpublic void select(com.google.gwt.user.client.Element node, boolean keepExisting, boolean suppressEvent)
node
- the nodekeepExisting
- true to keep existing selectionssuppressEvent
- true to skip firing of the selectionchange ventpublic void select(int nodeIndex)
nodeIndex
- the node indexpublic void select(int nodeIndex, boolean keepExisting, boolean suppressEvent)
nodeIndex
- the node indexkeepExisting
- true to keep existing selectionssuppressEvent
- true to skip firing of the selectionchange eventpublic void select(int[] nodeIndexes)
nodeIndexes
- the node indexespublic void select(int[] nodeIndexes, boolean keepExisting, boolean suppressEvent)
nodeIndexes
- the node indexeskeepExisting
- true to keep existing selectionssuppressEvent
- true to skip firing of the selectionchange eventpublic void select(java.lang.String[] nodeIDs)
nodeIDs
- the node ID'spublic void select(java.lang.String[] nodeIDs, boolean keepExisting, boolean suppressEvent)
nodeIDs
- the node ID'skeepExisting
- true to keep existing selectionssuppressEvent
- true to skip firing of the selectionchange eventpublic void selectRange(int start, int end)
start
- The index of the first node in the rangeend
- The index of the last node in the rangepublic void selectRange(int start, int end, boolean keepExisting)
start
- The index of the first node in the rangeend
- The index of the last node in the rangekeepExisting
- true to retain existing selectionspublic void addListener(DataViewListener listener)
public void setEmptyText(java.lang.String emptyText)
emptyText
- the empty textpublic void setItemSelector(java.lang.String itemSelector)
DomQuery
that will be used to determine
what nodes this DataView will be working with.
itemSelector
- the items selectorpublic void setLoadingText(java.lang.String loadingText)
loadingText
- the loading textpublic void setMultiSelect(boolean multiSelect)
multiSelect
- true to allow multiple selectionspublic void setOverCls(java.lang.String overCls) throws java.lang.IllegalStateException
overCls
- a CSS class to apply to each item in the view on mouseover (defaults to undefined).
java.lang.IllegalStateException
- this property cannot be changed after the Component has been renderedpublic void setSimpleSelect(boolean simpleSelect)
simpleSelect
- true to enable multiselection by clicking on multiple items without requiring the user to hold Shift or Ctrlpublic void setSingleSelect(boolean singleSelect)
singleSelect
- true to allow selection of exactly one item at a time, false to allow no selection at allpublic void setStore(Store store)
Store
to bind this DataView to.
store
- the Ext.data.Store to bind this DataView to.public void setTpl(XTemplate tpl)
tpl
- the DataView tempalte
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |