How to format data before displaying it on ag-grid

You can do this by using cellRenderer (or valueFormatter as pointed in the UPDATE) and moment library.

 {
      headerName: 'Datuk kreiranja', field: 'createdAt',
      cellRenderer: (data) => {
          return moment(data.createdAt).format('MM/DD/YYYY HH:mm')
      }
 }

If you don't want to use moment, then below is how you can do it.

cellRenderer: (data) => {
     return data.value ? (new Date(data.value)).toLocaleDateString() : '';
}

For Author field as well,

cellRenderer: (data) => {
     return data.author.firstname + ' ' + data.author.lastname;
}

Reference: ag-grid: Cell Rendering


UPDATE

As suggested by @Mariusz, using valueFormatter makes more sense in this scenario. As per documentation, Value Formatter vs Cell Renderer

value formatter's are for text formatting and cell renderer's are for when you want to include HTML markup and potentially functionality to the cell. So for example, if you want to put punctuation into a value, use a value formatter, but if you want to put buttons or HTML links use a cell renderer.


You can use valueFormatter

{headerName: 'Datuk kreiranja', field: 'createdAt', valueFormatter: this.dateFormatter},

Create a small function:

dateFormatter(params) {
  return moment(params.value).format('MM/DD/YYYY HH:mm');
}