From 624b7c0c8ce1e886821d95fb6ab4f10671fc6457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20Rikkil=C3=A4?= Date: Mon, 29 Jun 2020 11:31:26 +0300 Subject: [PATCH 1/4] Parent data to Dashboard --- .../src/components/parentData/ParentSeries.js | 4 +-- frontend/src/pages/Dashboard.js | 32 +++++++++++++++---- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/frontend/src/components/parentData/ParentSeries.js b/frontend/src/components/parentData/ParentSeries.js index 91ccc890..9d147cbf 100644 --- a/frontend/src/components/parentData/ParentSeries.js +++ b/frontend/src/components/parentData/ParentSeries.js @@ -10,9 +10,9 @@ const ParentSeries = () => { const [ { - parentData: { seriesData } + parentData: { seriesData }, }, - dispatch + dispatch, ] = useStateValue(); useEffect(() => { diff --git a/frontend/src/pages/Dashboard.js b/frontend/src/pages/Dashboard.js index d9dd3348..75ae8fd0 100644 --- a/frontend/src/pages/Dashboard.js +++ b/frontend/src/pages/Dashboard.js @@ -5,9 +5,14 @@ import { css, jsx } from '@emotion/core'; import SuiteInstability from '../components/graphs/SuiteInstability'; import StatusCount from '../components/graphs/StatusCount'; import BreadcrumbNav from '../components/BreadcrumbNav'; +import { useStateValue } from '../contexts/state'; import { suiteLabels, testLabels } from '../utils/graphTypes'; +import ParentSeries from '../components/parentData/ParentSeries'; +import ParentBuild from '../components/parentData/ParentBuild'; const Dashboard = () => { + const [{ loadingState }] = useStateValue(); + const pathname = useLocation().pathname; const buildUrl = pathname.includes('build'); @@ -19,18 +24,31 @@ const Dashboard = () => { display: flex; flex-wrap: wrap; } + + .parentInfo-container { + display: flex; + flex-flow: row wrap; + padding: 20px 0; + } `; return (
- {buildUrl && ( -
- {' '} - -
- )} - +
+ {!loadingState && ( +
+ {buildUrl ? : } +
+ )} + {buildUrl && ( +
+ {' '} + +
+ )} + +
); }; From 51c28e49321c10130fd2c899e8282fef3f0d3d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20Rikkil=C3=A4?= Date: Mon, 29 Jun 2020 14:55:47 +0300 Subject: [PATCH 2/4] Build data shown in history / dasboard series view --- .../src/components/parentData/ParentBuild.js | 3 +- .../src/components/parentData/ParentSeries.js | 30 +++++++++++++++---- .../src/components/parentData/ParentTable.js | 2 +- frontend/src/pages/Dashboard.js | 13 +++++++- frontend/src/pages/History.js | 11 ++++--- frontend/src/utils/parentDataTypes.js | 3 +- 6 files changed, 45 insertions(+), 17 deletions(-) diff --git a/frontend/src/components/parentData/ParentBuild.js b/frontend/src/components/parentData/ParentBuild.js index 37c83ad5..3fa8fedf 100644 --- a/frontend/src/components/parentData/ParentBuild.js +++ b/frontend/src/components/parentData/ParentBuild.js @@ -16,6 +16,7 @@ const ParentSeries = () => { useEffect(() => { const url = `/data/series/${seriesId}/builds/${buildId}/info?`; + console.log('TULTIIN TÄNNE'); const fetchData = async () => { // dispatch({ type: 'setLoadingState', loadingState: true }); @@ -30,7 +31,7 @@ const ParentSeries = () => { } }; fetchData(); - }, [dispatch, seriesId, buildId]); + }, [seriesId, buildId, dispatch]); const types = testId ? suiteTypes : buildTypes; diff --git a/frontend/src/components/parentData/ParentSeries.js b/frontend/src/components/parentData/ParentSeries.js index 9d147cbf..f3e904c1 100644 --- a/frontend/src/components/parentData/ParentSeries.js +++ b/frontend/src/components/parentData/ParentSeries.js @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import { useParams } from 'react-router'; import { useStateValue } from '../../contexts/state'; -import { seriesTypes } from '../../utils/parentDataTypes'; +import { buildTypes } from '../../utils/parentDataTypes'; import ParentTable from './ParentTable'; @@ -10,7 +10,7 @@ const ParentSeries = () => { const [ { - parentData: { seriesData }, + parentData: { seriesData, buildData }, }, dispatch, ] = useStateValue(); @@ -18,7 +18,7 @@ const ParentSeries = () => { useEffect(() => { const url = `/data/series/${seriesId}/info?`; - const fetchData = async () => { + const fetchSeriesData = async () => { try { const res = await fetch(url); const json = await res.json(); @@ -28,10 +28,28 @@ const ParentSeries = () => { dispatch({ type: 'setErrorState', errorState: error }); } }; - fetchData(); - }, [seriesId, dispatch]); - return ; + fetchSeriesData(); + }, [dispatch, seriesId]); + + useEffect(() => { + const fetchBuildData = async () => { + const { last_build } = seriesData; + const buildUrl = `/data/series/${seriesId}/builds/${last_build}/info?`; + try { + const res = await fetch(buildUrl); + const json = await res.json(); + const buildData = json.build; + dispatch({ type: 'setBuildData', buildData }); + } catch (error) { + dispatch({ type: 'setErrorState', errorState: error }); + } + }; + + seriesData && fetchBuildData(); + }, [dispatch, seriesData, seriesId]); + + return ; }; export default ParentSeries; diff --git a/frontend/src/components/parentData/ParentTable.js b/frontend/src/components/parentData/ParentTable.js index 60b44580..7c68d506 100644 --- a/frontend/src/components/parentData/ParentTable.js +++ b/frontend/src/components/parentData/ParentTable.js @@ -64,7 +64,7 @@ const ParentTable = props => { ParentTable.propTypes = { data: PropTypes.object, - types: PropTypes.array.isRequired + types: PropTypes.array.isRequired, }; export default ParentTable; diff --git a/frontend/src/pages/Dashboard.js b/frontend/src/pages/Dashboard.js index 75ae8fd0..a3ba3bc2 100644 --- a/frontend/src/pages/Dashboard.js +++ b/frontend/src/pages/Dashboard.js @@ -29,6 +29,10 @@ const Dashboard = () => { display: flex; flex-flow: row wrap; padding: 20px 0; + + .series-info-container { + padding-bottom: 45px; + } } `; @@ -38,7 +42,14 @@ const Dashboard = () => {
{!loadingState && (
- {buildUrl ? : } + {!buildUrl ? ( +
+

Last Build Information

+ +
+ ) : ( + + )}
)} {buildUrl && ( diff --git a/frontend/src/pages/History.js b/frontend/src/pages/History.js index 110b89d1..f97e04f6 100644 --- a/frontend/src/pages/History.js +++ b/frontend/src/pages/History.js @@ -7,7 +7,6 @@ import Table from '../components/historyTable/Table'; import ParentSeries from '../components/parentData/ParentSeries'; import Checkbox from '../components/Checkbox'; import { useStateValue } from '../contexts/state'; -// import BranchFilter from '../components/BranchFilter'; import { useParams } from 'react-router'; import BreadcrumbNav from '../components/BreadcrumbNav'; import Loading from '../components/Loading'; @@ -29,6 +28,7 @@ const History = () => { .parentInfo-container { padding: 20px 0; + flex-direction: column; } `; const [ @@ -84,11 +84,10 @@ const History = () => { return (
- {!loadingState && ( -
- -
- )} +
+

Last Build Information

+ +
diff --git a/frontend/src/utils/parentDataTypes.js b/frontend/src/utils/parentDataTypes.js index 6ebc3641..5b012812 100644 --- a/frontend/src/utils/parentDataTypes.js +++ b/frontend/src/utils/parentDataTypes.js @@ -1,5 +1,4 @@ -export const seriesTypes = ['team', 'name', 'builds']; -export const buildTypes = [ +export const buildTypes = [ 'team', 'name', 'build_number', From cabbdab5b97726b791e52214e7aa1ef25c79fa32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20Rikkil=C3=A4?= Date: Mon, 29 Jun 2020 15:02:41 +0300 Subject: [PATCH 3/4] translations --- frontend/src/components/parentData/ParentBuild.js | 1 - frontend/src/locales/en/parentData.json | 3 +++ frontend/src/pages/Dashboard.js | 5 ++++- frontend/src/pages/History.js | 5 ++++- frontend/src/utils/i118n.js | 10 ++++++---- 5 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 frontend/src/locales/en/parentData.json diff --git a/frontend/src/components/parentData/ParentBuild.js b/frontend/src/components/parentData/ParentBuild.js index 3fa8fedf..bd6ef40a 100644 --- a/frontend/src/components/parentData/ParentBuild.js +++ b/frontend/src/components/parentData/ParentBuild.js @@ -16,7 +16,6 @@ const ParentSeries = () => { useEffect(() => { const url = `/data/series/${seriesId}/builds/${buildId}/info?`; - console.log('TULTIIN TÄNNE'); const fetchData = async () => { // dispatch({ type: 'setLoadingState', loadingState: true }); diff --git a/frontend/src/locales/en/parentData.json b/frontend/src/locales/en/parentData.json new file mode 100644 index 00000000..63e5d36f --- /dev/null +++ b/frontend/src/locales/en/parentData.json @@ -0,0 +1,3 @@ +{ + "title": "Last Build Information" +} diff --git a/frontend/src/pages/Dashboard.js b/frontend/src/pages/Dashboard.js index a3ba3bc2..6495dd93 100644 --- a/frontend/src/pages/Dashboard.js +++ b/frontend/src/pages/Dashboard.js @@ -2,6 +2,7 @@ import { useLocation } from 'react-router-dom'; /** @jsx jsx */ import { css, jsx } from '@emotion/core'; +import { useTranslation } from 'react-i18next'; import SuiteInstability from '../components/graphs/SuiteInstability'; import StatusCount from '../components/graphs/StatusCount'; import BreadcrumbNav from '../components/BreadcrumbNav'; @@ -11,6 +12,8 @@ import ParentSeries from '../components/parentData/ParentSeries'; import ParentBuild from '../components/parentData/ParentBuild'; const Dashboard = () => { + const [t] = useTranslation(['parentData']); + const [{ loadingState }] = useStateValue(); const pathname = useLocation().pathname; @@ -44,7 +47,7 @@ const Dashboard = () => {
{!buildUrl ? (
-

Last Build Information

+

{t('title')}

) : ( diff --git a/frontend/src/pages/History.js b/frontend/src/pages/History.js index f97e04f6..743c8eb8 100644 --- a/frontend/src/pages/History.js +++ b/frontend/src/pages/History.js @@ -2,6 +2,7 @@ import React, { Fragment, useEffect } from 'react'; /** @jsx jsx */ import { css, jsx } from '@emotion/core'; +import { useTranslation } from 'react-i18next'; import Filter from '../components/historyTable/Filter'; import Table from '../components/historyTable/Table'; import ParentSeries from '../components/parentData/ParentSeries'; @@ -13,6 +14,8 @@ import Loading from '../components/Loading'; import { useQueryParams } from '../hooks/useQuery'; const History = () => { + const [t] = useTranslation(['parentData']); + const filterStyles = css` position: relative; @@ -85,7 +88,7 @@ const History = () => {
-

Last Build Information

+

{t('title')}

diff --git a/frontend/src/utils/i118n.js b/frontend/src/utils/i118n.js index 2a968bbc..ca9123a8 100644 --- a/frontend/src/utils/i118n.js +++ b/frontend/src/utils/i118n.js @@ -3,13 +3,15 @@ import { initReactI18next } from 'react-i18next'; import frontpage from '../locales/en/frontpage.json'; import mainnav from '../locales/en/mainnav.json'; import team from '../locales/en/team.json'; +import parentData from '../locales/en/parentData.json'; const resources = { en: { frontpage, mainnav, - team - } + team, + parentData, + }, }; i18n.use(initReactI18next).init({ @@ -17,6 +19,6 @@ i18n.use(initReactI18next).init({ lng: 'en', debug: false, interpolation: { - escapeValue: false - } + escapeValue: false, + }, }); From 9c67c767c63f716a3a31ae7cdb45aa1cc46b752b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20Rikkil=C3=A4?= Date: Mon, 29 Jun 2020 15:02:41 +0300 Subject: [PATCH 4/4] translations --- .../src/components/parentData/ParentBuild.js | 3 +-- frontend/src/locales/en/parentData.json | 3 +++ frontend/src/pages/Dashboard.js | 26 +++++++++---------- frontend/src/pages/History.js | 5 +++- frontend/src/utils/i118n.js | 10 ++++--- 5 files changed, 26 insertions(+), 21 deletions(-) create mode 100644 frontend/src/locales/en/parentData.json diff --git a/frontend/src/components/parentData/ParentBuild.js b/frontend/src/components/parentData/ParentBuild.js index 3fa8fedf..37c83ad5 100644 --- a/frontend/src/components/parentData/ParentBuild.js +++ b/frontend/src/components/parentData/ParentBuild.js @@ -16,7 +16,6 @@ const ParentSeries = () => { useEffect(() => { const url = `/data/series/${seriesId}/builds/${buildId}/info?`; - console.log('TULTIIN TÄNNE'); const fetchData = async () => { // dispatch({ type: 'setLoadingState', loadingState: true }); @@ -31,7 +30,7 @@ const ParentSeries = () => { } }; fetchData(); - }, [seriesId, buildId, dispatch]); + }, [dispatch, seriesId, buildId]); const types = testId ? suiteTypes : buildTypes; diff --git a/frontend/src/locales/en/parentData.json b/frontend/src/locales/en/parentData.json new file mode 100644 index 00000000..63e5d36f --- /dev/null +++ b/frontend/src/locales/en/parentData.json @@ -0,0 +1,3 @@ +{ + "title": "Last Build Information" +} diff --git a/frontend/src/pages/Dashboard.js b/frontend/src/pages/Dashboard.js index a3ba3bc2..9c0bdc01 100644 --- a/frontend/src/pages/Dashboard.js +++ b/frontend/src/pages/Dashboard.js @@ -2,16 +2,16 @@ import { useLocation } from 'react-router-dom'; /** @jsx jsx */ import { css, jsx } from '@emotion/core'; +import { useTranslation } from 'react-i18next'; import SuiteInstability from '../components/graphs/SuiteInstability'; import StatusCount from '../components/graphs/StatusCount'; import BreadcrumbNav from '../components/BreadcrumbNav'; -import { useStateValue } from '../contexts/state'; import { suiteLabels, testLabels } from '../utils/graphTypes'; import ParentSeries from '../components/parentData/ParentSeries'; import ParentBuild from '../components/parentData/ParentBuild'; const Dashboard = () => { - const [{ loadingState }] = useStateValue(); + const [t] = useTranslation(['parentData']); const pathname = useLocation().pathname; const buildUrl = pathname.includes('build'); @@ -40,18 +40,16 @@ const Dashboard = () => {
- {!loadingState && ( -
- {!buildUrl ? ( -
-

Last Build Information

- -
- ) : ( - - )} -
- )} +
+ {!buildUrl ? ( +
+

{t('title')}

+ +
+ ) : ( + + )} +
{buildUrl && (
{' '} diff --git a/frontend/src/pages/History.js b/frontend/src/pages/History.js index f97e04f6..743c8eb8 100644 --- a/frontend/src/pages/History.js +++ b/frontend/src/pages/History.js @@ -2,6 +2,7 @@ import React, { Fragment, useEffect } from 'react'; /** @jsx jsx */ import { css, jsx } from '@emotion/core'; +import { useTranslation } from 'react-i18next'; import Filter from '../components/historyTable/Filter'; import Table from '../components/historyTable/Table'; import ParentSeries from '../components/parentData/ParentSeries'; @@ -13,6 +14,8 @@ import Loading from '../components/Loading'; import { useQueryParams } from '../hooks/useQuery'; const History = () => { + const [t] = useTranslation(['parentData']); + const filterStyles = css` position: relative; @@ -85,7 +88,7 @@ const History = () => {
-

Last Build Information

+

{t('title')}

diff --git a/frontend/src/utils/i118n.js b/frontend/src/utils/i118n.js index 2a968bbc..ca9123a8 100644 --- a/frontend/src/utils/i118n.js +++ b/frontend/src/utils/i118n.js @@ -3,13 +3,15 @@ import { initReactI18next } from 'react-i18next'; import frontpage from '../locales/en/frontpage.json'; import mainnav from '../locales/en/mainnav.json'; import team from '../locales/en/team.json'; +import parentData from '../locales/en/parentData.json'; const resources = { en: { frontpage, mainnav, - team - } + team, + parentData, + }, }; i18n.use(initReactI18next).init({ @@ -17,6 +19,6 @@ i18n.use(initReactI18next).init({ lng: 'en', debug: false, interpolation: { - escapeValue: false - } + escapeValue: false, + }, });