## Is your feature request related to a problem?

When setting up dashboards I'd like to filter the stats to a certain page/subdomain. 

## Describe the solution you'd like

Allow adding a extra filters for all graphs on a dashboard (e.g. filter by $current_url)

## Describe alternatives you've considered

Updating every graph in dashboard one-by-one and then reverting them back.

## Additional context

Related to https://github.com/PostHog/posthog/issues/780

Datadog has a decent solution for this: https://docs.datadoghq.com/dashboards/template_variables/, which I think we can simplify and use ourselves.

Came up during #2560 

#### *Thank you* for your feature request – we love each and every one!

posthog/api/test/test_insight.py
other_team = Team.objects.create(organization=self.organization, name="other team")
        filter_dict = {
            "events": [{"id": "$pageview"}],
        }
        insight = Insight.objects.create(
            filters=Filter(data=filter_dict).to_dict(), team=self.team, short_id="12345678",
        )
        response = self.client.post(f"/api/projects/{other_team.id}/insights/{insight.id}/viewed")
        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
        self.assertEqual(InsightViewed.objects.count(), 0)
    def test_cant_create_insight_viewed_for_insight_in_another_team(self):
        other_team = Team.objects.create(organization=self.organization, name="other team")
        filter_dict = {
            "events": [{"id": "$pageview"}],
        }
        insight = Insight.objects.create(
            filters=Filter(data=filter_dict).to_dict(), team=other_team, short_id="12345678",
        )
        response = self.client.post(f"/api/projects/{self.team.id}/insights/{insight.id}/viewed")
        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
        self.assertEqual(InsightViewed.objects.count(), 0)
    def test_get_recently_viewed_insights(self):