mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* NewsPanel: Add support for showing social image before content * Fix link and spacing * Add wide layout
37 lines
1.3 KiB
TypeScript
Executable File
37 lines
1.3 KiB
TypeScript
Executable File
import { isString } from 'lodash';
|
|
import { PanelPlugin } from '@grafana/data';
|
|
import { NewsPanel } from './NewsPanel';
|
|
import { PanelOptions, defaultPanelOptions } from './models.gen';
|
|
import { DEFAULT_FEED_URL, PROXY_PREFIX } from './constants';
|
|
|
|
export const plugin = new PanelPlugin<PanelOptions>(NewsPanel).setPanelOptions((builder) => {
|
|
builder
|
|
.addTextInput({
|
|
path: 'feedUrl',
|
|
name: 'URL',
|
|
description: 'Only RSS feed formats are supported (not Atom).',
|
|
settings: {
|
|
placeholder: DEFAULT_FEED_URL,
|
|
},
|
|
defaultValue: defaultPanelOptions.feedUrl,
|
|
})
|
|
.addBooleanSwitch({
|
|
path: 'showImage',
|
|
name: 'Show image',
|
|
description: 'Controls if the news item social (og:image) image is shown above text content',
|
|
showIf: (currentConfig: PanelOptions) => {
|
|
return isString(currentConfig.feedUrl) && !currentConfig.feedUrl.startsWith(PROXY_PREFIX);
|
|
},
|
|
defaultValue: defaultPanelOptions.showImage,
|
|
})
|
|
.addBooleanSwitch({
|
|
path: 'useProxy',
|
|
name: 'Use Proxy',
|
|
description: 'If the feed is unable to connect, consider a CORS proxy',
|
|
showIf: (currentConfig: PanelOptions) => {
|
|
return isString(currentConfig.feedUrl) && !currentConfig.feedUrl.startsWith(PROXY_PREFIX);
|
|
},
|
|
defaultValue: defaultPanelOptions.useProxy,
|
|
});
|
|
});
|