Dezi-Admin

 view release on metacpan or  search on metacpan

lib/Dezi/Admin/UI/static/js/dezi-admin.js  view on Meta::CPAN

        layout: 'border',
        height: 400,
        border: false,
        items: [tree, propertyGrid]
    
    });
     
    //return tree; 
    return panel;

}

Dezi.Admin.Stats.TimesChart = function() {
    var search_path = '*/search';
    if (Ext.isDefined(DEZI_ABOUT.search)) {
        search_path = DEZI_ABOUT.search.replace(DEZI_ABOUT.api_base_url,'*');
    }
    var statsStore = Ext.create('Ext.data.Store', {
        model: 'Dezi.Admin.Stats.Model',
        proxy: {
            type: 'ajax',
            url: DEZI_ADMIN_BASE_URL + '/api/stats',
            extraParams: {
                sort:   'tstamp',
                dir:    'DESC',
                q:      'path:'+search_path,
                limit:  100
            },
            reader: {
                type: 'json'
            }  
        },
        remoteFilter: true,
        // fetch most recent, display oldest to newest left to right
        sorters: [
            { property: 'tstamp', direction: 'ASC' }
        ],
        listeners: {
            load: function(store, records, successful, eOpts) {
                // TODO transform records??
                //console.log('loaded: ', records);
                
            },
            metachange: function(store,meta,eOpts) {
                //console.log('meta changed to: ', meta);
                
            }
        
        
        },

        autoLoad: true
    });
    
    var chart = Ext.create('Ext.chart.Chart', {
        xtype: 'chart',
        border: false,
        animate: true,
        store: statsStore,
        insetPadding: 30,
        legend: {
            position: 'right'  
        },
        axes: [{
            type: 'Numeric',
            minimum: 0,
            decimals: 4,            
            position: 'left',
            fields: ['build_time','search_time'],
            title: 'Seconds',
            width: 10,
            grid: true,
            label: {
                renderer: Ext.util.Format.numberRenderer('0.00'),
                font: '10px Arial'
            }
        }, {
            type: 'Category',  // TODO Time
            position: 'bottom',
            fields: ['tstamp'],
            title: 'Request time',
            grid: true,
            label: {
                font: '9px Arial',
                renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
                rotate: {
                    degrees: 270
                }
            }
        }],
        series: [
          {
            type: 'column',
            axis: 'left',
            xField: 'tstamp',
            yField: ['build_time','search_time'],
            tips: {
                trackMouse: true,
                width: 150,
                height: 60,
                renderer: function(storeItem, item) {
                    //console.log(item);
                    this.setTitle(item.yField+' ('+storeItem.get(item.yField)+")<br/>"+storeItem.get('total')+" hits for<br/>"+storeItem.get('q'));
                }
            }
          }
        ]
    });

    return chart;
}
    
Ext.define('Dezi.Admin.Stats.List', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.dezi-admin-stats-list',
    
    onStoreSizeChange: function () {
        //console.log(this);
        Ext.getCmp('dezi-admin-stats-list').down('#status').update({count: this.getTotalCount()});
    },
    



( run in 2.111 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )