From 89d95305f970fdda6572862be1613aabfbb6b49d Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Fri, 27 Aug 2021 15:32:00 +0300 Subject: [PATCH] feat(core-blocks): CB-1199 support for external img --- webapp/packages/core-blocks/src/IconOrImage.tsx | 6 ++++-- webapp/packages/core-blocks/src/StaticImage.tsx | 4 ++-- .../AuthConfigurationsTable/AuthConfiguration.tsx | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/webapp/packages/core-blocks/src/IconOrImage.tsx b/webapp/packages/core-blocks/src/IconOrImage.tsx index da647a0566..72249883c7 100644 --- a/webapp/packages/core-blocks/src/IconOrImage.tsx +++ b/webapp/packages/core-blocks/src/IconOrImage.tsx @@ -8,6 +8,8 @@ import { useMemo } from 'react'; +import { isValidUrl } from '@cloudbeaver/core-utils'; + import { Icon } from './Icon'; import { StaticImage } from './StaticImage'; @@ -19,13 +21,13 @@ export interface IconOrImageProps { viewBox?: string; } -export const IconOrImage = function IconOrImage({ icon, className, title, onClick, viewBox }: IconOrImageProps) { +export const IconOrImage: React.FC = function IconOrImage({ icon, className, title, onClick, viewBox }) { const isStaticIcon = useMemo( () => icon && (icon.startsWith('platform:') || icon.startsWith('/')), [icon] ); - if (isStaticIcon) { + if (isStaticIcon || isValidUrl(icon)) { return ; } diff --git a/webapp/packages/core-blocks/src/StaticImage.tsx b/webapp/packages/core-blocks/src/StaticImage.tsx index bbaafb9f77..00893be2a1 100644 --- a/webapp/packages/core-blocks/src/StaticImage.tsx +++ b/webapp/packages/core-blocks/src/StaticImage.tsx @@ -6,7 +6,7 @@ * you may not use this file except in compliance with the License. */ -import { GlobalConstants } from '@cloudbeaver/core-utils'; +import { GlobalConstants, isValidUrl } from '@cloudbeaver/core-utils'; interface Props { icon?: string; @@ -22,7 +22,7 @@ export const StaticImage: React.FC = function StaticImage({ return null; } - const url = GlobalConstants.absoluteUrl(icon); + const url = isValidUrl(icon) ? icon : GlobalConstants.absoluteUrl(icon); return ; }; diff --git a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/AuthConfiguration.tsx b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/AuthConfiguration.tsx index e5a0a5f7fe..a661be7308 100644 --- a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/AuthConfiguration.tsx +++ b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/AuthConfiguration.tsx @@ -57,7 +57,7 @@ export const AuthConfiguration: React.FC = observer(function AuthConfigur - + {configuration.displayName} {configuration.providerId}