getTableDisplayName(row, tables) }, { fieldName: 'isOutput', header: 'Output', slot: 0 }, { fieldName: 'alias', header: 'Alias', slot: 1 }, { fieldName: 'isGrouped', header: 'Group by', slot: 2 }, { fieldName: 'aggregate', header: 'Aggregate', slot: 3 }, { fieldName: 'sortOrder', header: 'Sort order', slot: 4 }, { fieldName: 'filter', header: 'Filter', slot: 5 }, hasGroupedColumn && { fieldName: 'groupFilter', header: 'Group filter', slot: 6 }, { fieldName: 'actions', header: '', slot: 7 }, ]} > { if (e.target.checked) changeColumn({ ...row, isOutput: true }); else changeColumn({ ...row, isOutput: false }); }} /> { changeColumn({ ...row, alias: e.target.value }); }} /> { if (e.target.checked) changeColumn({ ...row, isGrouped: true }); else changeColumn({ ...row, isGrouped: false }); }} /> {#if !row.isGrouped} { changeColumn({ ...row, aggregate: e.detail }); }} options={['---', 'MIN', 'MAX', 'COUNT', 'COUNT DISTINCT', 'SUM', 'AVG'].map(x => ({ label: x, value: x }))} /> {/if} { changeColumn({ ...row, sortOrder: parseInt(e.detail) }); }} options={[ { label: '---', value: '0' }, { label: '1st, ascending', value: '1' }, { label: '1st, descending', value: '-1' }, { label: '2nd, ascending', value: '2' }, { label: '2nd, descending', value: '-2' }, { label: '3rd, ascending', value: '3' }, { label: '3rd, descending', value: '-3' }, ]} /> { changeColumn({ ...row, filter }); }} /> { changeColumn({ ...row, groupFilter }); }} /> removeColumn(row)}>Remove