Código fonte da aplicação: [link]
<canvas
title="Portal Java Who is Online"
width="200" proxied="false">
<attribute name="flag" value="true" type="boolean" />
<!-- dataset da aplicação -->
<dataset
name="ds"
src="http:whoisonline.php"
querytype="post"
request="false"
proxied="false"/>
<!-- trata o evento de recebimento de dados pelo dataset -->
<handler reference="ds" name="ondata"><![CDATA[
// verifica o tratamento de tempo para executar a cada 1 segundo
if( typeof this.del == "undefined" ) {
this.del = new LzDelegate( this, "atualizaInfo" );
LzTimer.addTimer( this.del, 1000 );
} else {
LzTimer.resetTimer( this.del, 1000 );
}
]]></handler>
<!-- método que trata a inicialização da aplicação -->
<method name="init"><![CDATA[
this.atualizaInfo();
]]></method>
<!-- método para atualizar -->
<method name="atualizaInfo"><![CDATA[
if( this.flag ) {
// requisita os dados para o servidor
this.ds.doRequest();
}
]]></method>
<!-- @BEGIN: definição visual -->
<simplelayout axis="y" spacing="5"/>
<text><u><b> Pessoas on-line: </b></u></text>
<view>
<text>Membros: </text>
<text x="65" datapath="ds:/pjonline/membros/text()"/>
</view>
<view>
<text>Visitantes: </text>
<text x="65" datapath="ds:/pjonline/visitantes/text()"/>
</view>
<view>
<text>Total: </text>
<text x="65" datapath="ds:/pjonline/total/text()"/>
</view>
<button x="20" name="btn" text="Parar">
<handler name="onclick"><![CDATA[
if( canvas.flag ) {
canvas.btn.setAttribute( "text", "Atualizar" );
canvas.flag = false;
} else {
canvas.btn.setAttribute( "text", "Parar" );
canvas.flag = true;
canvas.ds.doRequest();
}
]]></handler>
</button>
<!-- @END: definição visual -->
</canvas>
Formato do XML recuperado com as informações:
<pjonline><membros>4</membros><visitantes>185</visitantes><total>189</total></pjonline>