const grid = new gridjs.Grid({ columns: [ { data: (row) => row.id, name: 'Thumbnail', formatter: (cell) => gridjs.html(``), sort: {enabled: false} }, { id: 'name', name: 'Name', data: (row) => row.name, formatter: (name, row) => gridjs.html(`${name}`) }, { id: 'renderer', data: (row) => `${row.renderer}-${row.renderer_version}`, name: 'Renderer' }, { id: 'priority', name: 'Priority' }, { id: 'status', name: 'Status', data: (row) => row, formatter: (cell, row) => gridjs.html(` ${cell.status} ${cell.status} `)}, { id: 'time_elapsed', name: 'Time Elapsed' }, { data: (row) => row.total_frames ?? 'N/A', name: 'Frame Count' }, { id: 'client', name: 'Client'}, { data: (row) => row.last_output ?? 'N/A', name: 'Last Output', formatter: (output, row) => gridjs.html(`${output}`) }, { data: (row) => row, name: 'Commands', formatter: (cell, row) => gridjs.html(`
`), sort: false }, { id: 'owner', name: 'Owner' } ], autoWidth: true, server: { url: '/api/jobs', then: results => results, }, sort: true, }).render(document.getElementById('table'));