This commit is contained in:
Jan Prochazka
2021-01-23 07:22:09 +01:00
parent 37cc86f8d2
commit 451af5d09f
141 changed files with 763 additions and 787 deletions

View File

@@ -6,7 +6,7 @@ import InlineButton from '../widgets/InlineButton';
import { findDesignerFilterType } from './designerTools';
function getTableDisplayName(column, tables) {
const table = (tables || []).find((x) => x.designerId == column.designerId);
const table = (tables || []).find(x => x.designerId == column.designerId);
if (table) return table.alias || table.pureName;
return '';
}
@@ -15,10 +15,10 @@ export default function QueryDesignColumns({ value, onChange }) {
const { columns, tables } = value || {};
const changeColumn = React.useCallback(
(col) => {
onChange((current) => ({
col => {
onChange(current => ({
...current,
columns: (current.columns || []).map((x) =>
columns: (current.columns || []).map(x =>
x.designerId == col.designerId && x.columnName == col.columnName ? col : x
),
}));
@@ -27,30 +27,28 @@ export default function QueryDesignColumns({ value, onChange }) {
);
const removeColumn = React.useCallback(
(col) => {
onChange((current) => ({
col => {
onChange(current => ({
...current,
columns: (current.columns || []).filter(
(x) => x.designerId != col.designerId || x.columnName != col.columnName
),
columns: (current.columns || []).filter(x => x.designerId != col.designerId || x.columnName != col.columnName),
}));
},
[onChange]
);
const hasGroupedColumn = !!(columns || []).find((x) => x.isGrouped);
const hasGroupedColumn = !!(columns || []).find(x => x.isGrouped);
return (
<TableControl rows={columns || []}>
<TableColumn fieldName="columnName" header="Column/Expression" />
<TableColumn fieldName="tableDisplayName" header="Table" formatter={(row) => getTableDisplayName(row, tables)} />
<TableColumn fieldName="tableDisplayName" header="Table" formatter={row => getTableDisplayName(row, tables)} />
<TableColumn
fieldName="isOutput"
header="Output"
formatter={(row) => (
formatter={row => (
<CheckboxField
checked={row.isOutput}
onChange={(e) => {
onChange={e => {
if (e.target.checked) changeColumn({ ...row, isOutput: true });
else changeColumn({ ...row, isOutput: false });
}}
@@ -60,10 +58,10 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="alias"
header="Alias"
formatter={(row) => (
formatter={row => (
<TextField
value={row.alias}
onChange={(e) => {
onChange={e => {
changeColumn({ ...row, alias: e.target.value });
}}
/>
@@ -73,10 +71,10 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="isGrouped"
header="Group by"
formatter={(row) => (
formatter={row => (
<CheckboxField
checked={row.isGrouped}
onChange={(e) => {
onChange={e => {
if (e.target.checked) changeColumn({ ...row, isGrouped: true });
else changeColumn({ ...row, isGrouped: false });
}}
@@ -86,11 +84,11 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="aggregate"
header="Aggregate"
formatter={(row) =>
formatter={row =>
!row.isGrouped && (
<SelectField
value={row.aggregate}
onChange={(e) => {
onChange={e => {
changeColumn({ ...row, aggregate: e.target.value });
}}
>
@@ -108,10 +106,10 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="sortOrder"
header="Sort order"
formatter={(row) => (
formatter={row => (
<SelectField
value={row.sortOrder}
onChange={(e) => {
onChange={e => {
changeColumn({ ...row, sortOrder: parseInt(e.target.value) });
}}
>
@@ -128,11 +126,11 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="filter"
header="Filter"
formatter={(row) => (
formatter={row => (
<DataFilterControl
filterType={findDesignerFilterType(row, value)}
filter={row.filter}
setFilter={(filter) => {
setFilter={filter => {
changeColumn({ ...row, filter });
}}
/>
@@ -142,11 +140,11 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="groupFilter"
header="Group filter"
formatter={(row) => (
formatter={row => (
<DataFilterControl
filterType={findDesignerFilterType(row, value)}
filter={row.groupFilter}
setFilter={(groupFilter) => {
setFilter={groupFilter => {
changeColumn({ ...row, groupFilter });
}}
/>
@@ -156,7 +154,7 @@ export default function QueryDesignColumns({ value, onChange }) {
<TableColumn
fieldName="actions"
header=""
formatter={(row) => (
formatter={row => (
<>
<InlineButton onClick={() => removeColumn(row)}>Remove</InlineButton>
</>