diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/components/analytics_dashboard.vue b/ee/app/assets/javascripts/product_analytics/dashboards/components/analytics_dashboard.vue index b87d516734eaa2cc88491a700681cf1d4b76194f..ec46a660b6397d27712fd48ed7efb093ccf2f127 100644 --- a/ee/app/assets/javascripts/product_analytics/dashboards/components/analytics_dashboard.vue +++ b/ee/app/assets/javascripts/product_analytics/dashboards/components/analytics_dashboard.vue @@ -4,16 +4,27 @@ import CustomizableDashboard from 'ee/vue_shared/components/customizable_dashboa // TODO: Replace the hardcoded values with API calls in https://gitlab.com/gitlab-org/gitlab/-/issues/382551 const VISUALIZATION_JSONS = { - cube_analytics_line_chart: () => - import(`../gl_dashboards/visualizations/cube_analytics_line_chart.json`), - cube_analytics_data_table: () => - import(`../gl_dashboards/visualizations/cube_analytics_data_table.json`), - cube_analytics_single_stat: () => - import(`../gl_dashboards/visualizations/cube_analytics_single_stat.json`), + average_session_duration: () => + import(`../gl_dashboards/visualizations/average_session_duration.json`), + average_sessions_per_user: () => + import(`../gl_dashboards/visualizations/average_sessions_per_user.json`), + browsers_per_users: () => import(`../gl_dashboards/visualizations/browsers_per_users.json`), + daily_active_users: () => import(`../gl_dashboards/visualizations/daily_active_users.json`), + events_over_time: () => import(`../gl_dashboards/visualizations/events_over_time.json`), + page_views_over_time: () => import(`../gl_dashboards/visualizations/page_views_over_time.json`), + returning_users_percentage: () => + import(`../gl_dashboards/visualizations/returning_users_percentage.json`), + sessions_over_time: () => import(`../gl_dashboards/visualizations/sessions_over_time.json`), + sessions_per_browser: () => import(`../gl_dashboards/visualizations/sessions_per_browser.json`), + top_pages: () => import(`../gl_dashboards/visualizations/top_pages.json`), + total_events: () => import(`../gl_dashboards/visualizations/total_events.json`), + total_pageviews: () => import(`../gl_dashboards/visualizations/total_pageviews.json`), + total_sessions: () => import(`../gl_dashboards/visualizations/total_sessions.json`), + total_unique_users: () => import(`../gl_dashboards/visualizations/total_unique_users.json`), }; const DASHBOARD_JSONS = { - dashboard_overview: () => import(`../gl_dashboards/dashboard_overview.json`), + dashboard_behavior: () => import(`../gl_dashboards/dashboard_behavior.json`), dashboard_audience: () => import(`../gl_dashboards/dashboard_audience.json`), }; diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/analytics_dashboards.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/analytics_dashboards.json index 55bc1428c2c48b36ef15e97ba4ac7a0182b532e7..61350fe3e57b29e77e855e05608580080921d0f3 100644 --- a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/analytics_dashboards.json +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/analytics_dashboards.json @@ -1,18 +1,16 @@ { "internalDashboards": [ - { - "id": "dashboard_overview", - "title": "Overview", - "description": "All insights in one quick glance" - }, { "id": "dashboard_audience", "title": "Audience", "description": "Understand your audience", "icon": "users", - "labels": [ - "Audience" - ] + "labels": ["Audience"] + }, + { + "id": "dashboard_behavior", + "title": "Behavior", + "description": "All insights on user activity" } ] -} \ No newline at end of file +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_audience.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_audience.json index 2fe99bfbe93b85807c511bf49a36302d3a4e7154..c9092f588352019d4125e6d0a0bdd9ec829f2310 100644 --- a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_audience.json +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_audience.json @@ -2,12 +2,112 @@ "title": "Audience", "widgets": [ { - "visualization": "cube_analytics_line_chart", - "title": "Audience", + "id": 1, + "visualization": "daily_active_users", + "title": "Daily Active Users", "gridAttributes": { - "width": 3, + "yPos": 2, + "xPos": 0, + "width": 6, + "height": 5 + }, + "options": {} + }, + { + "id": 2, + "visualization": "sessions_over_time", + "title": "Sessions over Time", + "gridAttributes": { + "yPos": 2, + "xPos": 6, + "width": 6, + "height": 5 + }, + "options": {} + }, + { + "id": 3, + "visualization": "total_unique_users", + "title": "Total Unique Users", + "gridAttributes": { + "yPos": 0, + "xPos": 0, + "width": 4, + "height": 1 + }, + "options": {} + }, + { + "id": 4, + "visualization": "returning_users_percentage", + "title": "Returning Users Percentage", + "gridAttributes": { + "yPos": 0, + "xPos": 4, + "width": 4, + "height": 1 + }, + "options": {} + }, + { + "id": 5, + "visualization": "average_session_duration", + "title": "Average Session duration", + "gridAttributes": { + "yPos": 1, + "xPos": 6, + "width": 6, + "height": 1 + }, + "options": {} + }, + { + "id": 6, + "visualization": "total_sessions", + "title": "Total sessions", + "gridAttributes": { + "yPos": 0, + "xPos": 8, + "width": 4, + "height": 1 + }, + "options": {} + }, + { + "id": 7, + "visualization": "average_sessions_per_user", + "title": "Average Sessions per User", + "gridAttributes": { + "yPos": 1, + "xPos": 0, + "width": 6, + "height": 1 + }, + "options": {} + }, + { + "id": 8, + "visualization": "browsers_per_users", + "title": "Browsers per Users", + "gridAttributes": { + "yPos": 7, + "xPos": 0, + "width": 6, + "height": 3 + }, + "options": {} + }, + { + "id": 9, + "visualization": "sessions_per_browser", + "title": "Sessions per Browser", + "gridAttributes": { + "yPos": 7, + "xPos": 6, + "width": 6, "height": 3 - } + }, + "options": {} } ] -} \ No newline at end of file +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_behavior.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_behavior.json new file mode 100644 index 0000000000000000000000000000000000000000..62f69e30afd374643531f3550e8d5cf40789c86d --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_behavior.json @@ -0,0 +1,65 @@ +{ + "title": "Behavior", + "widgets": [ + { + "id": 1, + "visualization": "page_views_over_time", + "title": "Page views over time", + "gridAttributes": { + "yPos": 1, + "xPos": 0, + "width": 6, + "height": 5 + }, + "options": {} + }, + { + "id": 2, + "visualization": "total_pageviews", + "title": "Total pageviews", + "gridAttributes": { + "yPos": 0, + "xPos": 0, + "width": 6, + "height": 1 + }, + "options": {} + }, + { + "id": 3, + "visualization": "total_events", + "title": "Total events", + "gridAttributes": { + "yPos": 0, + "xPos": 6, + "width": 6, + "height": 1 + }, + "options": {} + }, + { + "id": 4, + "visualization": "events_over_time", + "title": "Events over time", + "gridAttributes": { + "yPos": 1, + "xPos": 6, + "width": 6, + "height": 5 + }, + "options": {} + }, + { + "id": 5, + "visualization": "top_pages", + "title": "Top pages", + "gridAttributes": { + "yPos": 6, + "xPos": 0, + "width": 12, + "height": 4 + }, + "options": {} + } + ] +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_overview.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_overview.json deleted file mode 100644 index f659e5ff3d5f9a5795b939a934ca99b01f0f3833..0000000000000000000000000000000000000000 --- a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/dashboard_overview.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "title": "Analytics Overview", - "widgets": [ - { - "visualization": "cube_analytics_single_stat", - "title": "Session count", - "gridAttributes": { - "yPos": 0, - "xPos": 0, - "width": 6, - "height": 2 - } - }, - { - "visualization": "cube_analytics_line_chart", - "title": "Audience", - "gridAttributes": { - "xPos": 6, - "width": 6, - "height": 5 - } - }, - { - "visualization": "cube_analytics_data_table", - "title": "Sources", - "gridAttributes": { - "yPos": 2, - "width": 6, - "height": 5 - } - } - ] -} \ No newline at end of file diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/average_session_duration.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/average_session_duration.json new file mode 100644 index 0000000000000000000000000000000000000000..ae7db96dc1e72d6e067bf9686bf29f8f0d1c5371 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/average_session_duration.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Average Session duration", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Sessions.averageDurationMinutes"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/average_sessions_per_user.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/average_sessions_per_user.json new file mode 100644 index 0000000000000000000000000000000000000000..1e60e9970009c280ff4ef02f1a81cad168f0f585 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/average_sessions_per_user.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Average Sessions per User", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Sessions.averagePerUser"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/browsers_per_users.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/browsers_per_users.json new file mode 100644 index 0000000000000000000000000000000000000000..56f3d275af1009ab5f4b0b1d15f81bb0f092eeba --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/browsers_per_users.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Browsers per Users", + "type": "DataTable", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.uniqueUsersCount"], + "dimensions": ["Jitsu.parsedUaUaFamily", "Jitsu.parsedUaUaVersion"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_data_table.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_data_table.json deleted file mode 100644 index 10ea9370463b3d61edafd198ac1513beca664a8a..0000000000000000000000000000000000000000 --- a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_data_table.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "version": "1", - "type": "DataTable", - "data": { - "type": "cube_analytics", - "query": { - "measures": [ - "Jitsu.count" - ], - "dimensions": [ - "Jitsu.sourceIp" - ], - "order": { - "Jitsu.count": "desc" - }, - "limit": 100 - } - } -} \ No newline at end of file diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_line_chart.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_line_chart.json deleted file mode 100644 index ee6af1fd1ed0d654345968315eeb5e29543b8460..0000000000000000000000000000000000000000 --- a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_line_chart.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "version": "1", - "type": "LineChart", - "data": { - "type": "cube_analytics", - "query": { - "measures": [ - "Jitsu.count" - ], - "dimensions": [ - "Jitsu.eventType" - ], - "timeDimensions": [ - { - "granularity": "day", - "dimension": "Jitsu.utcTime" - } - ], - "limit": 5000 - } - }, - "options": { - "xAxis": { - "name": "Time", - "type": "time" - }, - "yAxis": { - "name": "Counts" - } - } -} \ No newline at end of file diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_single_stat.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_single_stat.json deleted file mode 100644 index b7fe88d79d07a5e5ef61ac0f7b8e516ee8880e90..0000000000000000000000000000000000000000 --- a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/cube_analytics_single_stat.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "version": "1", - "type": "SingleStat", - "data": { - "type": "cube_analytics", - "query": { - "measures": [ - "Jitsu.count" - ], - "timeDimensions": [ - { - "dimension": "Jitsu.utcTime", - "dateRange": "Today" - } - ], - "limit": 5000 - } - } -} \ No newline at end of file diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/daily_active_users.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/daily_active_users.json new file mode 100644 index 0000000000000000000000000000000000000000..03c01965137b204c2538306c15f0b2800047c8a1 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/daily_active_users.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "title": "Daily Active Users", + "type": "LineChart", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.uniqueUsersCount"], + "timeDimensions": [{ "dimension": "Jitsu.utcTime", "granularity": "day" }], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [] + } + }, + "options": { + "xAxis": { "name": "Time", "type": "time" }, + "yAxis": { "name": "Counts", "type": "time" } + } +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/events_over_time.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/events_over_time.json new file mode 100644 index 0000000000000000000000000000000000000000..f085826e00189584a87c3f23ae37fa63297cb668 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/events_over_time.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "title": "Events over time", + "type": "LineChart", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.count"], + "timeDimensions": [{ "dimension": "Jitsu.utcTime", "granularity": "day" }], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [] + } + }, + "options": { + "xAxis": { "name": "Time", "type": "time" }, + "yAxis": { "name": "Counts", "type": "time" } + } +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/page_views_over_time.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/page_views_over_time.json new file mode 100644 index 0000000000000000000000000000000000000000..cad6de8dcd5fce7c9f6ab7b4a34f51e9d8cfff79 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/page_views_over_time.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "title": "Page views over time", + "type": "LineChart", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.pageViewsCount"], + "timeDimensions": [{ "dimension": "Jitsu.utcTime", "granularity": "day" }], + "filters": [{ "operator": "equals", "values": ["pageview"], "member": "Jitsu.eventType" }], + "limit": 100, + "timezone": "UTC", + "dimensions": [] + } + }, + "options": { + "xAxis": { "name": "Time", "type": "time" }, + "yAxis": { "name": "Counts", "type": "time" } + } +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/returning_users_percentage.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/returning_users_percentage.json new file mode 100644 index 0000000000000000000000000000000000000000..16035d218ad97366dcb1b264b033efb2371b2e0c --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/returning_users_percentage.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Returning Users Percentage", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Sessions.repeatPercent"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/sessions_over_time.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/sessions_over_time.json new file mode 100644 index 0000000000000000000000000000000000000000..ad3b0f45ea539311d4deb15004fef2e5925131aa --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/sessions_over_time.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "title": "Sessions over Time", + "type": "LineChart", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Sessions.count"], + "timeDimensions": [{ "dimension": "Jitsu.utcTime", "granularity": "day" }], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [] + } + }, + "options": { + "xAxis": { "name": "Time", "type": "time" }, + "yAxis": { "name": "Counts", "type": "time" } + } +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/sessions_per_browser.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/sessions_per_browser.json new file mode 100644 index 0000000000000000000000000000000000000000..eec629258d7152112bd141c48ad41aacbc5ffc56 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/sessions_per_browser.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Sessions per Browser", + "type": "DataTable", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Sessions.count"], + "dimensions": ["Jitsu.parsedUaUaFamily", "Jitsu.parsedUaUaVersion"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/top_pages.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/top_pages.json new file mode 100644 index 0000000000000000000000000000000000000000..dffe90ecd7cb6e82830eac04e5209db90bb92bb2 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/top_pages.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Top pages", + "type": "DataTable", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.pageViewsCount"], + "dimensions": ["Jitsu.docPath"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_events.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_events.json new file mode 100644 index 0000000000000000000000000000000000000000..1b5f3582c9be59ea577a63d7d932b02ae47552a1 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_events.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Total events", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.count"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_pageviews.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_pageviews.json new file mode 100644 index 0000000000000000000000000000000000000000..4e4f55f316b83f7b1e4a9f5372b2abd63b163ac1 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_pageviews.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Total pageviews", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.pageViewsCount"], + "filters": [{ "operator": "equals", "values": ["pageview"], "member": "Jitsu.eventType" }], + "limit": 100, + "timezone": "UTC", + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_sessions.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_sessions.json new file mode 100644 index 0000000000000000000000000000000000000000..3250d853cfa7e32e98c85a4d39d1cb5cf61c8edb --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_sessions.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Total sessions", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Sessions.count"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_unique_users.json b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_unique_users.json new file mode 100644 index 0000000000000000000000000000000000000000..367367d4e7ce64c11fb6b0328e37cffefe4a6252 --- /dev/null +++ b/ee/app/assets/javascripts/product_analytics/dashboards/gl_dashboards/visualizations/total_unique_users.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "title": "Total Unique Users", + "type": "SingleStat", + "data": { + "type": "cube_analytics", + "query": { + "measures": ["Jitsu.uniqueUsersCount"], + "limit": 100, + "timezone": "UTC", + "filters": [], + "dimensions": [], + "timeDimensions": [] + } + }, + "options": {} +} diff --git a/ee/spec/features/projects/product_analytics/dashboards_spec.rb b/ee/spec/features/projects/product_analytics/dashboards_spec.rb index 75f3a165b1ce19d92c6ce009d0ff3f49b36f4534..bd7e5a74395b25d83f26e1fa82e2df6c4ee9ab70 100644 --- a/ee/spec/features/projects/product_analytics/dashboards_spec.rb +++ b/ee/spec/features/projects/product_analytics/dashboards_spec.rb @@ -128,7 +128,7 @@ end it 'renders the dashboards view' do - expect(page).to have_content('All insights in one quick glance') + expect(page).to have_content('Understand your audience') end end end diff --git a/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_list_spec.js b/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_list_spec.js index ccb889729b1b67a81bb9f2bc003d3289bc68a8a0..58280a0960fed1233cf464108a6661fb2d67cdfe 100644 --- a/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_list_spec.js +++ b/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_list_spec.js @@ -57,12 +57,14 @@ describe('AnalyticsDashboardList', () => { it('should render titles', () => { expect(findRouterLinks()).toHaveLength(NUMBER_OF_DASHBOARDS); - expect(findRouterLinks().at(0).element.innerText).toContain('Overview'); + expect(findRouterLinks().at(0).element.innerText).toContain('Audience'); }); it('should render descriptions', () => { expect(findRouterDescriptions()).toHaveLength(NUMBER_OF_DASHBOARDS); - expect(findRouterDescriptions().at(0).element.innerText).toContain('All'); + expect(findRouterDescriptions().at(0).element.innerText).toContain( + 'Understand your audience', + ); }); it('should render links', () => { @@ -81,7 +83,7 @@ describe('AnalyticsDashboardList', () => { it('should route to the dashboard when a list item is clicked', async () => { await findListItems().at(0).trigger('click'); - expect($router.push).toHaveBeenCalledWith('dashboard_overview'); + expect($router.push).toHaveBeenCalledWith('dashboard_audience'); }); }); }); diff --git a/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_spec.js b/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_spec.js index 6a54c9329bfae18358edf7fd396df02769204d06..a3c47e92531cebe319fd156e995773c886e9cc3f 100644 --- a/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_spec.js +++ b/ee/spec/frontend/product_analytics/dashboards/components/analytics_dashboard_spec.js @@ -49,7 +49,7 @@ describe('AnalyticsDashboard', () => { }); it('should render the loading icon while fetching data', async () => { - createWrapper({}, 'dashboard_overview'); + createWrapper({}, 'dashboard_audience'); expect(findLoader().exists()).toBe(true); @@ -58,16 +58,16 @@ describe('AnalyticsDashboard', () => { expect(findLoader().exists()).toBe(false); }); - it('should render overview dashboard by id', async () => { - createWrapper({}, 'dashboard_overview'); + it('should render audience dashboard by id', async () => { + createWrapper({}, 'dashboard_audience'); await waitForPromises(); expect(findDashboard().exists()).toBe(true); }); - it('should render audience dashboard by id', async () => { - createWrapper({}, 'dashboard_audience'); + it('should render behavior dashboard by id', async () => { + createWrapper({}, 'dashboard_behavior'); await waitForPromises();