From 86e89d9dc3e1091e3e9bde82a889a610b89f993e Mon Sep 17 00:00:00 2001 From: nikki-kiga <42276368+nikki-kiga@users.noreply.github.com> Date: Thu, 14 Oct 2021 08:30:24 -0700 Subject: [PATCH] Geomap: Add icon to ResourceDimensionEditor and fix marker color (#40418) * add resourcedimension icon and fix marker color * update to input prefix and markerShapePath * update to svg from icon --- .../editors/ResourceDimensionEditor.tsx | 32 ++++++++++-- .../panel/geomap/layers/data/markersLayer.tsx | 6 +-- .../panel/geomap/utils/regularShapes.ts | 52 +++++++++---------- 3 files changed, 56 insertions(+), 34 deletions(-) diff --git a/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx b/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx index 74871153863..d556e19226b 100644 --- a/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx +++ b/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx @@ -1,11 +1,17 @@ import React, { FC, useCallback, useState } from 'react'; -import { FieldNamePickerConfigSettings, StandardEditorProps, StandardEditorsRegistryItem } from '@grafana/data'; +import { + FieldNamePickerConfigSettings, + GrafanaTheme2, + StandardEditorProps, + StandardEditorsRegistryItem, +} from '@grafana/data'; import { ResourceDimensionConfig, ResourceDimensionMode, ResourceDimensionOptions } from '../types'; -import { InlineField, InlineFieldRow, RadioButtonGroup, Button, Modal, Input } from '@grafana/ui'; +import { InlineField, InlineFieldRow, RadioButtonGroup, Button, Modal, Input, useStyles2 } from '@grafana/ui'; import { FieldNamePicker } from '../../../../../packages/grafana-ui/src/components/MatchersUI/FieldNamePicker'; import { ResourcePicker } from './ResourcePicker'; -import { ResourceFolderName } from '..'; - +import { getPublicOrAbsoluteUrl, ResourceFolderName } from '..'; +import SVG from 'react-inlinesvg'; +import { css } from '@emotion/css'; const resourceOptions = [ { label: 'Fixed', value: ResourceDimensionMode.Fixed, description: 'Fixed value' }, { label: 'Field', value: ResourceDimensionMode.Field, description: 'Use a string field result' }, @@ -22,6 +28,7 @@ export const ResourceDimensionEditor: FC< const { value, context, onChange, item } = props; const labelWidth = 9; const [isOpen, setOpen] = useState(false); + const styles = useStyles2(getStyles); const onModeChange = useCallback( (mode) => { @@ -62,6 +69,7 @@ export const ResourceDimensionEditor: FC< const showSourceRadio = item.settings?.showSourceRadio ?? true; const mediaType = item.settings?.resourceType ?? 'icon'; const folderName = item.settings?.folderName ?? ResourceFolderName.Icon; + const srcPath = mediaType === 'icon' && value ? getPublicOrAbsoluteUrl(value?.fixed) : ''; return ( <> @@ -92,7 +100,13 @@ export const ResourceDimensionEditor: FC< {mode === ResourceDimensionMode.Fixed && ( - + } + />