From a94e620698451a4e0b426635b427bd31411837f9 Mon Sep 17 00:00:00 2001 From: Matija Obreza Date: Fri, 11 May 2018 11:48:06 +0200 Subject: [PATCH 1/2] Configurable Wrapper --- src/ui/catalog/Wrapper.tsx | 13 +++++++++++++ src/ui/pages/descriptor/Wrapper.tsx | 12 ------------ src/ui/pages/partner/Wrapper.tsx | 12 ------------ src/ui/renderRoutes.tsx | 1 + src/ui/routes.tsx | 15 +++++++++++---- 5 files changed, 25 insertions(+), 28 deletions(-) create mode 100644 src/ui/catalog/Wrapper.tsx delete mode 100644 src/ui/pages/descriptor/Wrapper.tsx delete mode 100644 src/ui/pages/partner/Wrapper.tsx diff --git a/src/ui/catalog/Wrapper.tsx b/src/ui/catalog/Wrapper.tsx new file mode 100644 index 0000000..74659cd --- /dev/null +++ b/src/ui/catalog/Wrapper.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import ContentHeader from 'ui/common/heading/ContentHeader'; +import renderRoutes from 'ui/renderRoutes'; + +export default function Wrapper({route, match, title, subtitle}: { route: any, match: any, title: string, subtitle?: string}) { + console.log(`Wrapper.props`, title, subtitle); + return ( +
+ + { renderRoutes(route.routes, match.path) } +
+ ); +} diff --git a/src/ui/pages/descriptor/Wrapper.tsx b/src/ui/pages/descriptor/Wrapper.tsx deleted file mode 100644 index 9a4907e..0000000 --- a/src/ui/pages/descriptor/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/partner/Wrapper.tsx b/src/ui/pages/partner/Wrapper.tsx deleted file mode 100644 index 0eaced5..0000000 --- a/src/ui/pages/partner/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/renderRoutes.tsx b/src/ui/renderRoutes.tsx index 9d250e9..89cb5e6 100644 --- a/src/ui/renderRoutes.tsx +++ b/src/ui/renderRoutes.tsx @@ -24,6 +24,7 @@ const renderRoutes = (routes, parentPath = '', extraProps = {}, switchProps = {} ); } + console.log('renderRoutes', props, extraProps); return ; } } />); diff --git a/src/ui/routes.tsx b/src/ui/routes.tsx index ba79b52..9650619 100644 --- a/src/ui/routes.tsx +++ b/src/ui/routes.tsx @@ -1,11 +1,11 @@ import WelcomePage from './pages/welcome'; import App from './App'; +import Wrapper from 'ui/catalog/Wrapper'; import CropWrapper from './pages/crop/Wrapper'; import CropBrowsePage from './pages/crop/BrowsePage'; import CropEditPage from './pages/crop/EditPage'; -import PartnerWrapper from './pages/partner/Wrapper'; import PartnerBrowsePage from './pages/partner/BrowsePage'; import PartnerDisplayPage from './pages/partner/DisplayPage'; import PartnerEditPage from './pages/partner/EditPage'; @@ -15,7 +15,6 @@ import DatasetBrowsePage from './pages/dataset/BrowsePage'; import DatasetDisplayPage from './pages/dataset/DisplayPage'; import DatasetStepper from './pages/dataset/dataset-stepper'; -import DescriptorWrapper from './pages/descriptor/Wrapper'; import DescriptorBrowsePage from './pages/descriptor/BrowsePage'; import DescriptorDisplayPage from './pages/descriptor/DisplayPage'; import DescriptorEditPage from './pages/descriptor/EditPage'; @@ -71,7 +70,11 @@ const routes = [ }, { path: '/partners', - component: PartnerWrapper, + component: Wrapper, + extraProps: { + title: 'Genesys partners', + subtitle: 'Partners in the Catalog of Phenotypic Datasets', + }, routes: [ { path: '/edit', @@ -99,7 +102,11 @@ const routes = [ }, { path: '/descriptors', - component: DescriptorWrapper, + component: Wrapper, + extraProps: { + title: 'Descriptor definitions', + subtitle: 'Genesys Catalog of published descriptor definitions', + }, routes: [ { path: '/edit', -- GitLab From 71c5ea4d644b58c324f773de2975b4ed8a05c0e1 Mon Sep 17 00:00:00 2001 From: Maxym Borodenko Date: Fri, 11 May 2018 16:00:45 +0300 Subject: [PATCH 2/2] renderRoutes fixed for single Wrapper --- src/ui/catalog/Wrapper.tsx | 8 ++-- src/ui/pages/crop/Wrapper.tsx | 16 ------- src/ui/pages/dashboard/Wrapper.tsx | 12 ----- src/ui/pages/dataset/Wrapper.tsx | 16 ------- src/ui/pages/descriptorlist/Wrapper.tsx | 12 ----- src/ui/pages/genesys/Wrapper.tsx | 12 ----- src/ui/pages/profile/Wrapper.tsx | 12 ----- src/ui/pages/vocabulary/Wrapper.tsx | 16 ------- src/ui/renderRoutes.tsx | 5 +-- src/ui/routes.tsx | 60 ++++++++++++++++--------- 10 files changed, 46 insertions(+), 123 deletions(-) delete mode 100644 src/ui/pages/crop/Wrapper.tsx delete mode 100644 src/ui/pages/dashboard/Wrapper.tsx delete mode 100644 src/ui/pages/dataset/Wrapper.tsx delete mode 100644 src/ui/pages/descriptorlist/Wrapper.tsx delete mode 100644 src/ui/pages/genesys/Wrapper.tsx delete mode 100644 src/ui/pages/profile/Wrapper.tsx delete mode 100644 src/ui/pages/vocabulary/Wrapper.tsx diff --git a/src/ui/catalog/Wrapper.tsx b/src/ui/catalog/Wrapper.tsx index 74659cd..024004c 100644 --- a/src/ui/catalog/Wrapper.tsx +++ b/src/ui/catalog/Wrapper.tsx @@ -1,13 +1,15 @@ import * as React from 'react'; +import { translate } from 'react-i18next'; import ContentHeader from 'ui/common/heading/ContentHeader'; import renderRoutes from 'ui/renderRoutes'; -export default function Wrapper({route, match, title, subtitle}: { route: any, match: any, title: string, subtitle?: string}) { - console.log(`Wrapper.props`, title, subtitle); +function Wrapper({route, match, t}: { route: any, match: any, t: any}) { return (
- + { renderRoutes(route.routes, match.path) }
); } + +export default translate()(Wrapper); diff --git a/src/ui/pages/crop/Wrapper.tsx b/src/ui/pages/crop/Wrapper.tsx deleted file mode 100644 index 2374bc6..0000000 --- a/src/ui/pages/crop/Wrapper.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import { translate } from 'react-i18next'; - -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -function Wrapper({route, match, t}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} - -export default translate()(Wrapper); diff --git a/src/ui/pages/dashboard/Wrapper.tsx b/src/ui/pages/dashboard/Wrapper.tsx deleted file mode 100644 index 05aa9ca..0000000 --- a/src/ui/pages/dashboard/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/dataset/Wrapper.tsx b/src/ui/pages/dataset/Wrapper.tsx deleted file mode 100644 index d00a05f..0000000 --- a/src/ui/pages/dataset/Wrapper.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import { translate } from 'react-i18next'; - -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -function Wrapper({route, match, t}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} - -export default translate()(Wrapper); diff --git a/src/ui/pages/descriptorlist/Wrapper.tsx b/src/ui/pages/descriptorlist/Wrapper.tsx deleted file mode 100644 index 7573884..0000000 --- a/src/ui/pages/descriptorlist/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/genesys/Wrapper.tsx b/src/ui/pages/genesys/Wrapper.tsx deleted file mode 100644 index f8bc158..0000000 --- a/src/ui/pages/genesys/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/profile/Wrapper.tsx b/src/ui/pages/profile/Wrapper.tsx deleted file mode 100644 index b6e09b3..0000000 --- a/src/ui/pages/profile/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/vocabulary/Wrapper.tsx b/src/ui/pages/vocabulary/Wrapper.tsx deleted file mode 100644 index 2f7ad8b..0000000 --- a/src/ui/pages/vocabulary/Wrapper.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import { translate } from 'react-i18next'; - -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -function Wrapper({route, match, t}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} - -export default translate()(Wrapper); diff --git a/src/ui/renderRoutes.tsx b/src/ui/renderRoutes.tsx index 89cb5e6..6e4fec1 100644 --- a/src/ui/renderRoutes.tsx +++ b/src/ui/renderRoutes.tsx @@ -3,9 +3,9 @@ import Switch from 'react-router/Switch'; import { Route } from 'react-router-dom'; import AuthorizedRouteComponent from 'ui/common/authorized/AuthorizedRouteComponent'; -const renderRoutes = (routes, parentPath = '', extraProps = {}, switchProps = {}) => { +const renderRoutes = (routes, parentPath = '', extraProps = {}) => { return routes ? ( - + { routes.map((route, i) => { const absolutePath = (route.path) ? (parentPath !== '/' ? (parentPath + route.path) : route.path) : route.path; return ( @@ -24,7 +24,6 @@ const renderRoutes = (routes, parentPath = '', extraProps = {}, switchProps = {} ); } - console.log('renderRoutes', props, extraProps); return ; } } />); diff --git a/src/ui/routes.tsx b/src/ui/routes.tsx index 9650619..cdd87c1 100644 --- a/src/ui/routes.tsx +++ b/src/ui/routes.tsx @@ -2,7 +2,6 @@ import WelcomePage from './pages/welcome'; import App from './App'; import Wrapper from 'ui/catalog/Wrapper'; -import CropWrapper from './pages/crop/Wrapper'; import CropBrowsePage from './pages/crop/BrowsePage'; import CropEditPage from './pages/crop/EditPage'; @@ -10,7 +9,6 @@ import PartnerBrowsePage from './pages/partner/BrowsePage'; import PartnerDisplayPage from './pages/partner/DisplayPage'; import PartnerEditPage from './pages/partner/EditPage'; -import DatasetWrapper from './pages/dataset/Wrapper'; import DatasetBrowsePage from './pages/dataset/BrowsePage'; import DatasetDisplayPage from './pages/dataset/DisplayPage'; import DatasetStepper from './pages/dataset/dataset-stepper'; @@ -19,7 +17,6 @@ import DescriptorBrowsePage from './pages/descriptor/BrowsePage'; import DescriptorDisplayPage from './pages/descriptor/DisplayPage'; import DescriptorEditPage from './pages/descriptor/EditPage'; -import DescriptorListWrapper from './pages/descriptorlist/Wrapper'; import DescriptorListDisplayPage from './pages/descriptorlist/DisplayPage'; import DescriptorListBrowsePage from './pages/descriptorlist/BrowsePage'; import DescriptorListStepper from 'ui/pages/descriptorlist/descriptorlist-stepper'; @@ -29,24 +26,13 @@ import ImportDescriptorsStep from 'ui/pages/descriptorlist/descriptorlist-steppe import ReorderDescriptorsStep from 'ui/pages/descriptorlist/descriptorlist-stepper/steps/reorder'; import ReviewDescriptorListStep from 'ui/pages/descriptorlist/descriptorlist-stepper/steps/review'; -import VocabularyWrapper from './pages/vocabulary/Wrapper'; import VocabularyBrowsePage from './pages/vocabulary/BrowsePage'; import VocabularyEditPage from './pages/vocabulary/EditPage'; import VocabularyDisplayPage from './pages/vocabulary/DisplayPage'; -import DashboardWrapper from './pages/dashboard/Wrapper'; import DashboardPage from './pages/dashboard/DashboardPage'; import MyDataPage from './pages/dashboard/MyDataPage'; -import UserProfileWrapper from './pages/profile/Wrapper'; -import UserProfilePage from './pages/profile/ProfilePage'; - -import AccessionsWrapper from './pages/genesys/Wrapper'; -import AccessionsBrowsePage from './pages/genesys/BrowsePage'; - -import SearchPage from './pages/search/SearchPage'; -import LoginPage from './pages/login/LoginPage'; - import BasicInfoStep from './pages/dataset/dataset-stepper/steps/basic-info'; import FilesStep from './pages/dataset/dataset-stepper/steps/files'; import Creators from './pages/dataset/dataset-stepper/steps/creators'; @@ -55,6 +41,10 @@ import TimingAndLocationStep from './pages/dataset/dataset-stepper/steps/timing- import ReviewAndPublishStep from './pages/dataset/dataset-stepper/steps/review'; import Traits from './pages/dataset/dataset-stepper/steps/traits'; +import UserProfilePage from './pages/profile/ProfilePage'; +import AccessionsBrowsePage from './pages/genesys/BrowsePage'; +import SearchPage from './pages/search/SearchPage'; +import LoginPage from './pages/login/LoginPage'; import GuiTest from './pages/ui-design/Gui'; import NotFound from './common/not-found'; import {ROLE_ADMINISTRATOR, ROLE_USER} from 'constants/userRoles'; @@ -185,7 +175,11 @@ const routes = [ }, { path: '/descriptorlists', - component: DescriptorListWrapper, + component: Wrapper, + extraProps: { + title: 'Crop descriptors', + subtitle: 'Compilations of crop descriptors', + }, routes: [ { path: '/:uuid', @@ -261,7 +255,11 @@ const routes = [ }, { path: '/datasets', - component: DatasetWrapper, + component: Wrapper, + extraProps: { + title: 'p.datasets.title', + subtitle: 'p.datasets.subtitle', + }, routes: [ { path: '/:uuid', @@ -277,7 +275,11 @@ const routes = [ }, { path: '/crops', - component: CropWrapper, + component: Wrapper, + extraProps: { + title: 'p.crop.title', + subtitle: 'p.crop.subtitle', + }, routes: [ { path: '/create', @@ -300,7 +302,11 @@ const routes = [ }, { path: '/vocabulary', - component: VocabularyWrapper, + component: Wrapper, + extraProps: { + title: 'p.vocab.title', + subtitle: 'p.vocab.subtitle', + }, routes: [ { path: '/create', @@ -328,7 +334,11 @@ const routes = [ }, { path: '/accessions', - component: AccessionsWrapper, + component: Wrapper, + extraProps: { + title: 'Genesys accessions', + subtitle: 'Browse accession data on Genesys', + }, routes: [ { path: '/', @@ -349,7 +359,11 @@ const routes = [ }, { path: '/dashboard', - component: DashboardWrapper, + component: Wrapper, + extraProps: { + title: 'My Dashboard', + subtitle: 'Manage data published on Genesys', + }, auth: [ROLE_USER, ROLE_ADMINISTRATOR], routes: [ { @@ -412,7 +426,11 @@ const routes = [ }, { path: '/profile', - component: UserProfileWrapper, + component: Wrapper, + extraProps: { + title: 'User profile', + subtitle: 'You can see and update your profile information here', + }, auth: [ROLE_USER, ROLE_ADMINISTRATOR], routes: [ { -- GitLab