Ext.define('IW.view.activity.List' ,{
extend: 'Ext.grid.Panel',
alias: 'widget.activitylist',
invalidateScrollerOnRefresh: false,
viewConfig: {
loadMask: false
},
hideHeaders: true,
border: 0,
store: 'Activities',
getSince: function(dateString) {
var dt = new Date(dateString);
var seconds = Math.floor(Ext.Date.getElapsed(dt) / 1000);
var interval = Math.floor(seconds / 31536000);
if (interval > 1) {
return interval + " years";
}
interval = Math.floor(seconds / 2592000);
if (interval > 1) {
return interval + " months";
}
interval = Math.floor(seconds / 86400);
if (interval > 1) {
return interval + " days";
}
interval = Math.floor(seconds / 3600);
if (interval > 1) {
return interval + " hours";
}
interval = Math.floor(seconds / 60);
if (interval > 1) {
return interval + " minutes";
}
return Math.floor(seconds) + " seconds";
},
initComponent: function() {
this.columns = [
{header: 'Image',
width: 48,
renderer: function (value, metaData, record, row, col, store, gridView) {
return '
';
}
},
{header: 'Name',
dataIndex: 'Activity_id',
flex: 1,
renderer: function (value, metaData, record, row, col, store, gridView) {
var template = '{0} {1} {2} {3} {4} ago';
var action = '';
if (record.data.Activity_type == 'ACTIVE') {
action = 'modified';
} else if (record.data.Activity_type == 'DELETED') {
action = 'deleted';
}
var since = this.getSince(record.data.Timestamp);
return Ext.String.format(template,
record.data.User_name,
action,
Ext.util.Format.lowercase(record.data.Target_type),
record.data.Target_title,
since
);
}
},
];
this.callParent(arguments);
}
});