mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* added news feed component * move button to news component * create newsfeed hooks and conver NewsPanel to functional component * added news_feed_enabled and news_feed_url to server settings ini * add default value in defaults.ini * set news drawer settings value to true by default * remove server settings config * use useToggle hook * fix newsitem render * support drawer on mobile screen * use media query utility
22 lines
513 B
TypeScript
22 lines
513 B
TypeScript
import { useAsyncFn } from 'react-use';
|
|
|
|
import { DataFrameView } from '@grafana/data';
|
|
|
|
import { loadFeed } from './feed';
|
|
import { NewsItem } from './types';
|
|
import { feedToDataFrame } from './utils';
|
|
|
|
export function useNewsFeed(url: string) {
|
|
const [state, getNews] = useAsyncFn(
|
|
async () => {
|
|
const feed = await loadFeed(url);
|
|
const frame = feedToDataFrame(feed);
|
|
return new DataFrameView<NewsItem>(frame);
|
|
},
|
|
[url],
|
|
{ loading: true }
|
|
);
|
|
|
|
return { state, getNews };
|
|
}
|