News: Expose config option to disable News feed (#69365)

* customize news feed

* remove url customisation
This commit is contained in:
Ashley Harrison
2023-06-01 14:35:05 +02:00
committed by GitHub
parent 6d9db92a07
commit 778963849e
11 changed files with 30 additions and 7 deletions

View File

@@ -1241,6 +1241,11 @@ enabled = true
# Enable the Profile section
enabled = true
#################################### News #############################
[news]
# Enable the news feed section
news_feed_enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history

View File

@@ -1173,6 +1173,11 @@
# Enable the Profile section
;enabled = true
#################################### News #############################
[news]
# Enable the news feed section
; news_feed_enabled = true
#################################### Query History #############################
[query_history]
# Enable the Query history

View File

@@ -1656,6 +1656,12 @@ Configures the Profile section.
Enable or disable the Profile section. Default is `enabled`.
## [news]
### news_feed_enabled
Enables the news feed section. Default is `true`
## [query_history]
Configures Query history in Explore.

View File

@@ -173,6 +173,7 @@ export interface GrafanaConfig {
queryHistoryEnabled: boolean;
helpEnabled: boolean;
profileEnabled: boolean;
newsFeedEnabled: boolean;
ldapEnabled: boolean;
sigV4AuthEnabled: boolean;
azureAuthEnabled: boolean;

View File

@@ -62,6 +62,7 @@ export class GrafanaBootConfig implements GrafanaConfig {
queryHistoryEnabled = false;
helpEnabled = false;
profileEnabled = false;
newsFeedEnabled = true;
ldapEnabled = false;
jwtHeaderName = '';
jwtUrlLogin = false;

View File

@@ -147,6 +147,7 @@ type FrontendSettingsDTO struct {
ExploreEnabled bool `json:"exploreEnabled"`
HelpEnabled bool `json:"helpEnabled"`
ProfileEnabled bool `json:"profileEnabled"`
NewsFeedEnabled bool `json:"newsFeedEnabled"`
QueryHistoryEnabled bool `json:"queryHistoryEnabled"`
GoogleAnalyticsId string `json:"googleAnalyticsId"`

View File

@@ -32,5 +32,6 @@ type IndexViewData struct {
CSPEnabled bool
IsDevelopmentEnv bool
// Nonce is a cryptographic identifier for use with Content Security Policy.
Nonce string
Nonce string
NewsFeedEnabled bool
}

View File

@@ -123,6 +123,7 @@ func (hs *HTTPServer) getFrontendSettings(c *contextmodel.ReqContext) (*dtos.Fro
ExploreEnabled: setting.ExploreEnabled,
HelpEnabled: setting.HelpEnabled,
ProfileEnabled: setting.ProfileEnabled,
NewsFeedEnabled: setting.NewsFeedEnabled,
QueryHistoryEnabled: hs.Cfg.QueryHistoryEnabled,
GoogleAnalyticsId: hs.Cfg.GoogleAnalyticsID,
GoogleAnalytics4Id: hs.Cfg.GoogleAnalytics4ID,

View File

@@ -110,6 +110,7 @@ func (hs *HTTPServer) setIndexViewData(c *contextmodel.ReqContext) (*dtos.IndexV
ThemeType: theme.Type,
AppUrl: appURL,
AppSubUrl: appSubURL,
NewsFeedEnabled: setting.NewsFeedEnabled,
GoogleAnalyticsId: settings.GoogleAnalyticsId,
GoogleAnalytics4Id: settings.GoogleAnalytics4Id,
GoogleAnalytics4SendManualPageViews: hs.Cfg.GoogleAnalytics4SendManualPageViews,

View File

@@ -135,6 +135,9 @@ var (
// Profile UI
ProfileEnabled bool
// News Feed
NewsFeedEnabled bool
// Grafana.NET URL
GrafanaComUrl string
@@ -1104,6 +1107,9 @@ func (cfg *Cfg) Load(args CommandLineArgs) error {
profile := iniFile.Section("profile")
ProfileEnabled = profile.Key("enabled").MustBool(true)
news := iniFile.Section("news")
NewsFeedEnabled = news.Key("news_feed_enabled").MustBool(true)
queryHistory := iniFile.Section("query_history")
cfg.QueryHistoryEnabled = queryHistory.Key("enabled").MustBool(true)

View File

@@ -55,7 +55,7 @@ export const TopSearchBar = React.memo(function TopSearchBar() {
<ToolbarButton iconOnly icon="question-circle" aria-label="Help" />
</Dropdown>
)}
<NewsContainer className={styles.newsButton} />
{config.newsFeedEnabled && <NewsContainer />}
{!contextSrv.user.isSignedIn && <SignInLink />}
{profileNode && (
<Dropdown overlay={() => <TopNavBarMenu node={profileNode} />} placement="bottom-end">
@@ -105,9 +105,4 @@ const getStyles = (theme: GrafanaTheme2) => ({
width: '24px',
},
}),
newsButton: css({
[theme.breakpoints.down('sm')]: {
display: 'none',
},
}),
});