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, props: { filterField: 'filter' } },
..._.range(settings?.additionalFilterCount || 0).map(index => ({
fieldName: `additionalFilter${index + 1}`,
header: `OR Filter ${index + 2}`,
slot: 5,
props: { filterField: `additionalFilter${index + 1}` },
})),
hasGroupedColumn && {
fieldName: 'groupFilter',
header: 'Group filter',
slot: 5,
props: { filterField: 'groupFilter' },
},
..._.range(hasGroupedColumn ? settings?.additionalGroupFilterCount || 0 : 0).map(index => ({
fieldName: `additionalGroupFilter${index + 1}`,
header: `OR group filter ${index + 2}`,
slot: 5,
props: { filterField: `additionalGroupFilter${index + 1}` },
})),
{ fieldName: 'actions', header: '', slot: 7 },
]}
>
{#if row.isCustomExpression}
{
changeColumn({ ...row, customExpression: e.target.value });
}}
/>
{:else}
{row.columnName}
{/if}
{
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' },
{ label: '4th, ascending', value: '4' },
{ label: '4th, descending', value: '-4' },
{ label: '5th, ascending', value: '5' },
{ label: '5th, descending', value: '-5' },
{ label: '6th, ascending', value: '6' },
{ label: '6th, descending', value: '-6' },
{ label: '7th, ascending', value: '7' },
{ label: '7th, descending', value: '-7' },
{ label: '8th, ascending', value: '8' },
{ label: '8th, descending', value: '-8' },
{ label: '9th, ascending', value: '9' },
{ label: '9th, descending', value: '-9' },
{ label: '10th, ascending', value: '10' },
{ label: '10th, descending', value: '-10' },
]}
/>
{
changeColumn({ ...row, [filterField]: filter });
}}
/>
removeColumn(row)} square>
moveColumn(row, -1)} square>
moveColumn(row, 1)} square>
{#if settings?.additionalFilterCount > 0}
{/if}
{#if hasGroupedColumn}
{/if}
{#if hasGroupedColumn && settings?.additionalGroupFilterCount > 0}
{/if}