diff --git a/packages/web/src/designer/DesignerTable.svelte b/packages/web/src/designer/DesignerTable.svelte index de6336af2..d0204ebc5 100644 --- a/packages/web/src/designer/DesignerTable.svelte +++ b/packages/web/src/designer/DesignerTable.svelte @@ -64,7 +64,7 @@ $: objectTypeField = table?.objectTypeField; $: left = table?.left; $: top = table?.top; - + $: mainIcon = settings?.getMainTableIcon ? settings?.getMainTableIcon(designerId) : null; export function isSelected() { return table?.isSelectedTable; } @@ -249,6 +249,10 @@ /> {/if} + {#if mainIcon} + + {/if} + {alias || pureName} {#if settings?.showTableCloseButton} diff --git a/packages/web/src/icons/FontIcon.svelte b/packages/web/src/icons/FontIcon.svelte index 7e3fbb811..492be6dbb 100644 --- a/packages/web/src/icons/FontIcon.svelte +++ b/packages/web/src/icons/FontIcon.svelte @@ -115,6 +115,30 @@ 'icon no-color': 'mdi mdi-format-color-marker-cancel', 'icon palette': 'mdi mdi-palette', + 'icon num-0': 'mdi mdi-numeric-0-circle', + 'icon num-1': 'mdi mdi-numeric-1-circle', + 'icon num-2': 'mdi mdi-numeric-2-circle', + 'icon num-3': 'mdi mdi-numeric-3-circle', + 'icon num-4': 'mdi mdi-numeric-4-circle', + 'icon num-5': 'mdi mdi-numeric-5-circle', + 'icon num-6': 'mdi mdi-numeric-6-circle', + 'icon num-7': 'mdi mdi-numeric-7-circle', + 'icon num-8': 'mdi mdi-numeric-8-circle', + 'icon num-9': 'mdi mdi-numeric-9-circle', + 'icon num-9-plus': 'mdi mdi-numeric-9-plus-circle', + + 'icon num-0-outline': 'mdi mdi-numeric-0-circle-outline', + 'icon num-1-outline': 'mdi mdi-numeric-1-circle-outline', + 'icon num-2-outline': 'mdi mdi-numeric-2-circle-outline', + 'icon num-3-outline': 'mdi mdi-numeric-3-circle-outline', + 'icon num-4-outline': 'mdi mdi-numeric-4-circle-outline', + 'icon num-5-outline': 'mdi mdi-numeric-5-circle-outline', + 'icon num-6-outline': 'mdi mdi-numeric-6-circle-outline', + 'icon num-7-outline': 'mdi mdi-numeric-7-circle-outline', + 'icon num-8-outline': 'mdi mdi-numeric-8-circle-outline', + 'icon num-9-outline': 'mdi mdi-numeric-9-circle-outline', + 'icon num-9-plus-outline': 'mdi mdi-numeric-9-plus-circle-outline', + 'img ok': 'mdi mdi-check-circle color-icon-green', 'img ok-inv': 'mdi mdi-check-circle color-icon-inv-green', 'img alert': 'mdi mdi-alert-circle color-icon-blue', diff --git a/packages/web/src/perspectives/PerspectiveDesigner.svelte b/packages/web/src/perspectives/PerspectiveDesigner.svelte index 09287fbaf..a6352a0c2 100644 --- a/packages/web/src/perspectives/PerspectiveDesigner.svelte +++ b/packages/web/src/perspectives/PerspectiveDesigner.svelte @@ -202,6 +202,14 @@ isColumnFiltered: (designerId, columnName) => { return !!config.nodes.find(x => x.designerId == designerId)?.filters?.[columnName]; }, + getMainTableIcon: designerId => { + const node = root?.findNodeByDesignerId(designerId); + if (!node) return null; + const level = node?.level + 1; + if (level == 1) return `icon num-${level}`; + if (level <= 9) return `icon num-${level}-outline`; + return 'icon num-9-plus'; + }, }} referenceComponent={QueryDesignerReference} value={createDesignerModel(config, dbInfos)}