diff --git a/docs/widgets.md b/docs/widgets.md index d5f7d92a..8a6cb456 100644 --- a/docs/widgets.md +++ b/docs/widgets.md @@ -74,6 +74,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a - [Continuous Updates](#continuous-updates) - [Proxying Requests](#proxying-requests) - [Setting Timeout](#setting-timeout) + - [Ignoring Errors](#ignoring-errors) - [Custom CSS Styling](#widget-styling) - [Customizing Charts](#customizing-charts) - [Language Translations](#language-translations) @@ -2040,6 +2041,21 @@ For example: --- +### Ignoring Errors + +When there's an error fetching or displaying a widgets data, then it will be highlighted in yellow, and a message displayed on the UI. + +In some instances, this is a false positive, and the widget is actually functioning correctly. If this is the case, you can disable the UI error message of a given widget by setting: `ignoreErrors: true` + +```yaml +- type: gl-disk-io + ignoreErrors: true + options: + hostname: https://glances.dns-device.local +``` + +--- + ### Widget Styling Like elsewhere in Dashy, all colours can be easily modified with CSS variables. diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue index d34d135d..3353029f 100644 --- a/src/components/Widgets/WidgetBase.vue +++ b/src/components/Widgets/WidgetBase.vue @@ -541,11 +541,12 @@ export default { widgetOptions() { const options = this.widget.options || {}; const timeout = this.widget.timeout || null; + const ignoreErrors = this.widget.ignoreErrors || false; const useProxy = this.appConfig.widgetsAlwaysUseProxy || !!this.widget.useProxy; const updateInterval = this.widget.updateInterval !== undefined ? this.widget.updateInterval : null; return { - timeout, useProxy, updateInterval, ...options, + timeout, ignoreErrors, useProxy, updateInterval, ...options, }; }, /* A unique string to reference the widget by */ diff --git a/src/mixins/WidgetMixin.js b/src/mixins/WidgetMixin.js index 4e4385e2..2d3a1e87 100644 --- a/src/mixins/WidgetMixin.js +++ b/src/mixins/WidgetMixin.js @@ -74,7 +74,9 @@ const WidgetMixin = { /* Called when an error occurs. Logs to handler, and passes to parent component */ error(msg, stackTrace) { ErrorHandler(msg, stackTrace); - this.$emit('error', msg); + if (!this.options.ignoreErrors) { + this.$emit('error', msg); + } }, /* When a data request update starts, show loader */ startLoading() {