--
JoaoCarreira - 22 Dec 2009
Menu Counter
The component
xeo:MenuCounter allows adding counters to the
TreePanel entires (think unread messages in outlook). This component extends the xvw:menu component.
Declaration
<xeo:menuCounter ... >
Properties
Property |
Values |
Description |
id |
string |
Component Id |
boql |
string / EL |
BOQL to give the count. Eg. select Ebo_Perf where active='1' |
sql |
string / EL |
SQL to give the count. Eg: select count(*) from OEbo_Perf |
counterValue |
string / EL |
Value to put in the counter, if the couter result is a bean property, or a fix value |
counterMask |
string |
Value Presentation Mask: Eg: <b style='color:red'>%s</b> Where %s is replaced by the counter value. |
updateInterval |
string |
Time in seconds between each update |
Observations
The component to retrieve the counter value uses the following processing order:
- Checks if the counterValue has value.
- Checks if the boql property has a value.
- Checks if the sql property has a value
- Checks if the value has a JSON Object, and if it has the boql property.
Childs Elements
NO
Examples
Declaring a MenuCounter in a viewer using the predefined buttons.
<xvw:viewer (...)>
<xvw:treePanel renderComponent='false' id='tree'>
<xeo:menuCounter
id='testeCntr'
boql="select MyObject"
sql=""
updateInterval='60'
icon='resources/Ebo_Package/ico16.gif'
text='Packages'
value="{viewerName:'viewers/Ebo_Package/list.xvw', boql:'select Ebo_Package where deployed=\'1\''}"
target='Tab'
serverAction="#{viewBean.listObject}"
/>
</xvw:treePanel>
(...)
ESTOU NESTE LOCAL
In the exemplified case, as there are no counterValue, boql and sql properties defined the cont will be done to the boql in the JSON Object of the value.
Update the example counter in a Bean action:
// Update the specified counter
public void updateCounter() {
MenuCounter.updateClientCounter( "formMain:testeCntr" );
}
public void updateCounter() {
MenuCounter.updateClientCountera();
}