Only log DashboardDisplayed for the default user dashboard.

This is the main view for a user in dashboard and it's performance
characteristcs can be different from repo and custom dashboards, skewing
the metrics.

For example the change query for such dashboard is preloaded using
`IndexPreloadingUtil.java`, but not for the other types of dashboards.

We introduce an extra field in the DashboardViewState. The field can in
most (maybe all) cases be deduced for the fields. But that would add
extra complexity and brittleness to the code. It's easier to populate
the type at the state creation time.

Google-Bug-Id: b/303741140
Release-Notes: skip
Change-Id: I8c73a9c3b1a93144cda228f3597d7635a43f7ce0
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.ts b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.ts
index 234bf95..50e506b 100644
--- a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.ts
+++ b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.ts
@@ -51,6 +51,7 @@
 } from '../../../test/test-data-generators';
 import {ParsedChangeInfo} from '../../../types/types';
 import {ViewState} from '../../../models/views/base';
+import {DashboardType} from '../../../models/views/dashboard';
 
 suite('gr-router tests', () => {
   let router: GrRouter;
@@ -591,6 +592,7 @@
         // CUSTOM_DASHBOARD: /^\/dashboard\/?$/,
         await checkUrlToState('/dashboard?title=Custom Dashboard&a=b&d=e', {
           ...createDashboardViewState(),
+          type: DashboardType.CUSTOM,
           sections: [
             {name: 'a', query: 'b'},
             {name: 'd', query: 'e'},
@@ -599,6 +601,7 @@
         });
         await checkUrlToState('/dashboard?a=b&c&d=&=e&foreach=is:open', {
           ...createDashboardViewState(),
+          type: DashboardType.CUSTOM,
           sections: [{name: 'a', query: 'is:open b'}],
           title: 'Custom Dashboard',
         });