thanks for this lovely framework.
i wanna hug the whole community
(yes, is my first post)

I havent any deadline since im coding for food in php outside of website environments, but i love to play at weekends with Ext toys.

I had fun while writing some class at ux namespace, but while extending DataView, i faced one badlookin workaround. It does the expected work, but im expecting too that it can be done in other (better) way.

When i extend Ext.DataView, i override the default store/tpl and my wish is to call some method of this extension when user click some tag inside the tpl markup.

As pasted below, i call this method by using a poor workaround (bold), and i need also another poor workaround to remember/call the id of each item of tpl in order to show/hide them (underline).

It works, but i feel link a noob.
Im wondering about creating the markup elements inside the onRender event, and handle them easy, also, then im able to work with Ext.util.ClickRepeater to add functionality to the buttons rather than a ugly strict onclick.

I dont do it yet cos i think that this simple extension of DataView is enough, less than for this little issue xD
My question is, how can be improved this piece of code?

Ext.ux.Weather = Ext.extend(Ext.DataView, {
  initComponent:function() {
    Ext.apply(this, {
      store: new{
        url: location.pathname,
          'Call': 'clsLOGWeather'
        reader: new{
          root: 'data',
          totalProperty: 'total',
          id: 'date'
          {name: 'seed', mapping: 'seed'},
          {name: 'date'}, {name: 'icon'}, {name: 'text'}, {name: 'temp'},
          {name: 'hi'}, {name: 'lo'}, {name: 'humi'}, {name: 'wind'}
      tpl: new Ext.XTemplate(
        '<tpl for=".">'
          +'<table id="w{seed}{[xindex]}" class="{[xindex > 1 ? "x-hidden" : ""]}" cellspacing="0" width="100%">'
            +'<tr height="21">'
              +'<td class="x-date-left">'
                +'<tpl if="xindex &gt; 1">'
                  +'<a href="javascript:void();" onclick="Ext.ux.Weather.prototype.movePage(\'w{seed}{[xindex]}\',\'w{seed}{[xindex-1]}\');"> </a>'
              +'<td class="x-date-middle" align="center">'
              +'<td class="x-date-right">'
                +'<tpl if="xindex &lt; 10">'
                  +'<a href="javascript:void();" onclick="Ext.ux.Weather.prototype.movePage(\'w{seed}{[xindex]}\',\'w{seed}{[xindex+1]}\');"> </a>'
              +'<td colspan="3">'
                +'<table cellspacing="0">'
                    +'<td width="52" style="padding-left:6px;">'
                      +'<img ext:qtip="{text}" src="{icon}.gif"border="0" height="52" width="52">'
                    +'<td style="padding-left:4px;">'
                      +'<tpl if="xindex &lt; 2">'
                        +'<div ext:qtip="{text}">Temperatura: <b ext:qtip="{text}">{temp}</b></div>'
                      +'<tpl if="xindex &gt; 1">'
                        +'<div ext:qtip="{text}">Max: <b ext:qtip="{text}">{hi}</b> Min:<b ext:qtip="{text}">{lo}</b></div>'
                      +'<div ext:qtip="{text}"><b ext:qtip="{text}" style="float:right">{humi}</b>Humitat:</div>'
                      +'<div ext:qtip="{text}"><b ext:qtip="{text}" style="float:right">{wind}</b>Vent:</div>'
      style:'margin-bottom:10px;margin-top:10px;border:1px #9ACD68 solid;background-color:#F6F6F6;',
  onRender:function(ct, pos) {	
    var myStore =;
    new Ext.util.TaskRunner().start({
      run: function() {
      interval: 21*60*1000
    });, ct, pos);

  movePage: function(h,s) {
Ext.reg('uxweather', Ext.ux.Weather);
As curiosity the store point to:
$XML = new SimpleXMLElement(file_get_contents(
$data[] = array(
"seed" => uSeed ,
"date" => "Barcelona ".date("H:ia") ,
"text" => "{$XML->cc->t}" ,
"temp" => "{$XML->cc->tmp}