
Ext.ns('GeoPrisma.Test.Sniffer');

GeoPrisma.Test.Sniffer.DataView = Ext.extend(Ext.DataView, {
    
    multiSelect : false,
    //autoHeight   : true,
    //frame        : true,
    itemSelector:'div.sniffer-state',

    tpl          : new Ext.XTemplate(
        '<tpl for=".">',
            '<div class="sniffer-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/severity/error.png" alt="error" />',   
                        'Error : {error}',
                    '</div>',
                    '<div class="severity">',
                        '<img class="severity-img" src="./img/severity/warning.png" alt="warning" />',   
                        'Warning : {warning}',
                    '</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/sniffer_state.json.php',
            root: 'states',
            idProperty : 'id',
            fields : ['id', 'error', 'warning','status', 'message']
        });
        this.store.load();
 
        GeoPrisma.Test.Sniffer.DataView.superclass.initComponent.call(this);
    }
});
