diff --git a/packages/web/src/designer/ColumnLine.svelte b/packages/web/src/designer/ColumnLine.svelte index 4a3284e8a..0095c575b 100644 --- a/packages/web/src/designer/ColumnLine.svelte +++ b/packages/web/src/designer/ColumnLine.svelte @@ -6,6 +6,7 @@ import ColumnLabel from '../elements/ColumnLabel.svelte'; import CheckboxField from '../forms/CheckboxField.svelte'; + import { plusExpandIcon } from '../icons/expandIcons'; import FontIcon from '../icons/FontIcon.svelte'; import contextMenu from '../utility/contextMenu'; import SortOrderIcon from './SortOrderIcon.svelte'; @@ -21,6 +22,11 @@ export let onAddReferenceByColumn; export let onSelectColumn; export let settings; + export let nestingSupported = null; + export let isExpandable = false; + export let isExpanded = false; + export let expandLevel = 0; + export let toggleExpanded = null; $: designerColumn = (designer.columns || []).find( x => x.designerId == designerId && x.columnName == column.columnName @@ -115,16 +121,27 @@ })} use:contextMenu={settings?.canSelectColumns ? createMenu : '__no_menu'} > + {#if nestingSupported} + + { + toggleExpanded(!isExpanded); + }} + /> + + {/if} + {#if settings?.allowColumnOperations} x.designerId == designerId && x.columnName == column.columnName && x.isOutput )} on:change={e => { if (settings?.setColumnChecked) { - settings?.setColumnChecked(designerId, column.columnName, e.target.checked); + settings?.setColumnChecked(designerId, column, e.target.checked); } else { if (e.target.checked) { onChangeColumn( diff --git a/packages/web/src/designer/DesignerTable.svelte b/packages/web/src/designer/DesignerTable.svelte index ca3162057..4459f6ce6 100644 --- a/packages/web/src/designer/DesignerTable.svelte +++ b/packages/web/src/designer/DesignerTable.svelte @@ -1,6 +1,6 @@
tick().then(onMoveReferences)} class:scroll={settings?.allowScrollColumns}> - {#each columns || [] as column} + {#each flatColumns || [] as column} x.getChildColumns)} + isExpandable={!!column.getChildColumns} + isExpanded={column.isExpanded} + expandLevel={column.expandLevel} + toggleExpanded={column.toggleExpanded} {column} {table} {designer} diff --git a/packages/web/src/perspectives/PerspectiveDesigner.svelte b/packages/web/src/perspectives/PerspectiveDesigner.svelte index 4731813f2..873d1590a 100644 --- a/packages/web/src/perspectives/PerspectiveDesigner.svelte +++ b/packages/web/src/perspectives/PerspectiveDesigner.svelte @@ -1,6 +1,9 @@