Shouldn't this be an option for all widgets? The gauges, bar charts, pie charts, etc all should be togglable to show all results or just in current window, akin to a feature layer's on demand mode?
The Dashboard team is actually working on the support for current map extent in all widgets. As of today, when you configure the map widget of a view, you can add an attribute-based filter to a data source. In the upcoming release, when you define a filter data source you can enable the "use current map extent" filter in addition to any attribute-based filter. That way, when you pan/zoom to change the map extent, all widgets that consume that data source will be refreshed accordingly and they consider only the features in the current extent.
Yes this feature is in the app already. You can find the setting by first opening your map widget's config window --> then click the data source which you want to add a spatial filter --> then click the Add button --> The Query Definition window will then open and it will give you the option to set a spatial filter.