
Ext.ns('GeoPrisma.Test.PHPUnit');

GeoPrisma.Test.PHPUnit.DataView = Ext.extend(Ext.DataView, {
    
    multiSelect : false,
    //autoHeight   : true,
    //frame        : true,
    itemSelector:'div.phpunit-state',

    tpl          : new Ext.XTemplate(
        '<tpl for=".">',
            '<div class="phpunit-state" >',
                '<div class="general">',
                    '<img class="state-img" src="./img/state/{status}.png" alt="{status}" />',
                    '<tpl if="this.isClean(values.status)">',
                        '<div class="state">Good</div>',
                    '</tpl>',  
                    '<tpl if="this.isAlert(values.status)">',     
                        '<div class="state">Bad</div>',  
                    '</tpl>',
                    '<tpl if="this.isUnknown(values.status)">',     
                        '<div class="state">Unknown</div>',  
                    '</tpl>',
                    '<div class="message">{message}</div>',
                '</div>', 
                '<div class="precision">',
                    '<div class="severity">',
                        '<img class="severity-img" src="./img/phpunit/ok.gif" alt="error" />',   
                        'Ok : {ok}',
                    '</div>',
                    '<div class="severity">',
                        '<img class="severity-img" src="./img/phpunit/failure.gif" alt="warning" />',   
                        'Failure : {failure}',
                    '</div>',
                    '<div class="severity">',
                        '<img class="severity-img" src="./img/phpunit/error.gif" alt="warning" />',   
                        'Error : {error}',
                    '</div>',
                '</div>',
            '</div>',         
        '</tpl>', {
             isAlert: function(status){
                 return status == 'alert';
             },
             isClean: function(status){
                 return status == 'clean';
             },
             isUnknown: function(status){
                 return status == 'unknown';
             }
        }                     
    ),
    
    initComponent:function() {
        this.store = new Ext.data.JsonStore({
            url: 'php/service/test/phpunit_state.json.php',
            root: 'states',
            idProperty : 'id',
            fields : ['id', 'ok', 'error','failure', 'status', 'message']
        });
        this.store.load();
 
        GeoPrisma.Test.PHPUnit.DataView.superclass.initComponent.call(this);
    }
});
