diff --git a/src/components/Assets/AssetTypeList/index.tsx b/src/components/Assets/AssetTypeList/index.tsx index 8fd000e14..7b0b7e641 100644 --- a/src/components/Assets/AssetTypeList/index.tsx +++ b/src/components/Assets/AssetTypeList/index.tsx @@ -202,6 +202,10 @@ export const AssetTypeList = (props: AssetTypeListProps) => { return ; } + if (config.scope !== null) { + return ; + } + return ; } diff --git a/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx b/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx index 83f320d40..775a93f57 100644 --- a/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx +++ b/src/components/Assets/NoDataMessage/NoDataMessage.stories.tsx @@ -34,3 +34,9 @@ export const NoSearchResults: Story = { type: "noSearchResults" } }; + +export const NoDataForAssetResults: Story = { + args: { + type: "noDataForAsset" + } +}; diff --git a/src/components/Assets/NoDataMessage/index.tsx b/src/components/Assets/NoDataMessage/index.tsx index 8653ad722..67e7be68c 100644 --- a/src/components/Assets/NoDataMessage/index.tsx +++ b/src/components/Assets/NoDataMessage/index.tsx @@ -43,6 +43,22 @@ export const NoDataMessage = (props: NoDataMessageProps) => { /> ); break; + case "noDataForAsset": + content = ( + + + No child assets found for the current scope. Add more + observability to track internal functions not currently tracked. + + + } + /> + ); + break; case "noSearchResults": content = ( http://localhost:5050 otlp none + none \${pom.artifactId} + grpc> \${env.TMPDIR}/temp-digma-otel-jars/digma-otel-agent-extension.jar @@ -65,6 +67,8 @@ export const runDigmaWithCommandLine: PageContent = { systemProperty 'otel.exporter.otlp.traces.endpoint', 'http://localhost:5050' systemProperty 'otel.traces.exporter', 'otlp' systemProperty 'otel.metrics.exporter', 'none' + systemProperty 'otel.logs.exporter', 'none' + systemProperty 'otel.exporter.otlp.protocol', 'grpc' systemProperty 'otel.service.name', "\${project.name}" systemProperty 'otel.javaagent.extensions', "\${tempDir}/temp-digma-otel-jars/digma-otel-agent-extension.jar" } @@ -83,6 +87,8 @@ export const runDigmaWithCommandLine: PageContent = { systemProperty("otel.exporter.otlp.traces.endpoint", "http://localhost:5050") systemProperty("otel.traces.exporter", "otlp") systemProperty("otel.metrics.exporter", "none") + systemProperty("otel.logs.exporter", "none") + systemProperty("otel.exporter.otlp.protocol", "grpc") systemProperty("otel.service.name", project.name) systemProperty("otel.javaagent.extensions", "\${tempDir}/temp-digma-otel-jars/digma-otel-agent-extension.jar") } @@ -102,15 +108,16 @@ export const runDigmaWithCommandLine: PageContent = { application name: diff --git a/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx b/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx index 24dd71e02..92ac1e3b4 100644 --- a/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx +++ b/src/components/Documentation/pages/RunDigma/runDigmaWithDocker.tsx @@ -22,7 +22,7 @@ export const runDigmaWithDocker: PageContent = { ), content: ( { const config = useContext(ConfigContext); const previousConfig = usePrevious(config); const previousScope = usePrevious(config.scope?.span); + const refreshData = useCallback( + () => + props.onQueryChange({ + page, + sorting, + searchQuery: debouncedSearchInputValue + }), + [page, sorting, debouncedSearchInputValue, props] + ); useEffect(() => { if (!previousScope || previousScope !== config.scope?.span) { @@ -51,11 +62,7 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => { }, [previousConfig, config]); useEffect(() => { - props.onQueryChange({ - page, - sorting, - searchQuery: debouncedSearchInputValue - }); + refreshData(); }, []); useEffect(() => { @@ -64,11 +71,7 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => { (previousSorting && previousSorting !== sorting) || previousSearchQuery !== debouncedSearchInputValue ) { - props.onQueryChange({ - page, - sorting, - searchQuery: debouncedSearchInputValue - }); + refreshData(); } }, [ previousSorting, @@ -77,7 +80,8 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => { page, debouncedSearchInputValue, previousSearchQuery, - props.onQueryChange + props.onQueryChange, + refreshData ]); return ( @@ -108,6 +112,13 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => { ]} default={defaultQuery.sorting} /> + + refreshData()} + /> + theme.colors.v3.stroke.dark}; + color: ${({ theme }) => theme.colors.v3.icon.tertiary}; + + &:hover:enabled { + color: ${({ theme }) => theme.colors.v3.icon.white}; + background: none; + } +`; diff --git a/src/components/common/icons/16px/RefreshIcon.tsx b/src/components/common/icons/16px/RefreshIcon.tsx new file mode 100644 index 000000000..8b2b3bbf7 --- /dev/null +++ b/src/components/common/icons/16px/RefreshIcon.tsx @@ -0,0 +1,23 @@ +import React from "react"; +import { useIconProps } from "../hooks"; +import { IconProps } from "../types"; + +const RefreshIconComponent = (props: IconProps) => { + const { size, color } = useIconProps(props); + return ( + + + + + + + ); +}; + +export const RefreshIcon = React.memo(RefreshIconComponent);