* Use grafana toolkit template for building plugin * Fix linter and type errors * Update styles building * Fix sass deprecation warning * Remove empty js files produced by webpack building sass * Fix signing script * Replace classnames with cx * Fix data source config page * Use custom webpack config instead of overriding original one * Use gpx_ prefix for plugin executable * Remove unused configs * Roll back react hooks dependencies usage * Move plugin-specific ts config to root config file * Temporary do not use rst2html for function description tooltip * Remove unused code * remove unused dependencies * update react table dependency * Migrate tests to typescript * remove unused dependencies * Remove old webpack configs * Add sign target to makefile * Add magefile * Update CI test job * Update go packages * Update build instructions * Downgrade go version to 1.18 * Fix go version in ci * Fix metric picker * Add comment to webpack config * remove angular mocks * update bra config * Rename datasource-zabbix to datasource (fix mage build) * Add instructions for building backend with mage * Fix webpack targets * Fix ci backend tests * Add initial e2e tests * Fix e2e ci tests * Update docker compose for cypress tests * build grafana docker image * Fix docker stop task * CI: add Grafana compatibility check
26 lines
857 B
TypeScript
26 lines
857 B
TypeScript
// Due to the grafana/ui Icon component making fetch requests to
|
|
// `/public/img/icon/<icon_name>.svg` we need to mock react-inlinesvg to prevent
|
|
// the failed fetch requests from displaying errors in console.
|
|
|
|
import React from 'react';
|
|
|
|
type Callback = (...args: any[]) => void;
|
|
|
|
export interface StorageItem {
|
|
content: string;
|
|
queue: Callback[];
|
|
status: string;
|
|
}
|
|
|
|
export const cacheStore: { [key: string]: StorageItem } = Object.create(null);
|
|
|
|
const SVG_FILE_NAME_REGEX = /(.+)\/(.+)\.svg$/;
|
|
|
|
const InlineSVG = ({ src }: { src: string }) => {
|
|
// testId will be the file name without extension (e.g. `public/img/icons/angle-double-down.svg` -> `angle-double-down`)
|
|
const testId = src.replace(SVG_FILE_NAME_REGEX, '$2');
|
|
return <svg xmlns="http://www.w3.org/2000/svg" data-testid={testId} viewBox="0 0 24 24" />;
|
|
};
|
|
|
|
export default InlineSVG;
|