diff --git a/src/client/components/main_layout/InfoHeader.js b/src/client/components/main_layout/InfoHeader.js index 6b17b23bba2c8cb3853ba7cb9347909d1eea53b0..3cf5bdc8561ca7ba35d5e0bd9b0414e598cba28d 100644 --- a/src/client/components/main_layout/InfoHeader.js +++ b/src/client/components/main_layout/InfoHeader.js @@ -165,4 +165,6 @@ InfoHeader.propTypes = { layoutConfig: PropTypes.object.isRequired } +export const InfoHeaderComponent = InfoHeader + export default InfoHeader diff --git a/src/client/configs/sampo/PerspectiveConfig.js b/src/client/configs/sampo/PerspectiveConfig.js index 7497b7b4a6b156dc23b9487952df76a3d34c0cf0..2fc7d0e9b6d1fe0f5c7e4cf4cca23b428724aacf 100644 --- a/src/client/configs/sampo/PerspectiveConfig.js +++ b/src/client/configs/sampo/PerspectiveConfig.js @@ -1,154 +1,150 @@ -import React from 'react' -import CalendarViewDayIcon from '@material-ui/icons/CalendarViewDay' -import TripOriginIcon from '@material-ui/icons/TripOrigin' -import LocationOnIcon from '@material-ui/icons/LocationOn' -import AddLocationIcon from '@material-ui/icons/AddLocation' +// import React from 'react' +// import CalendarViewDayIcon from '@material-ui/icons/CalendarViewDay' +// import TripOriginIcon from '@material-ui/icons/TripOrigin' +// import LocationOnIcon from '@material-ui/icons/LocationOn' +// import AddLocationIcon from '@material-ui/icons/AddLocation' // import SettingsBrightnessIcon from '@material-ui/icons/SettingsBrightness' -import StarIcon from '@material-ui/icons/Star' -import RedoIcon from '@material-ui/icons/Redo' -import PieChartIcon from '@material-ui/icons/PieChart' -import CloudDownloadIcon from '@material-ui/icons/CloudDownload' -import BubbleChartIcon from '@material-ui/icons/BubbleChart' -import LineChartIcon from '@material-ui/icons/ShowChart' -import manuscriptsImage from '../../img/main_page/manuscripts-452x262.jpg' -import worksImage from '../../img/main_page/works-452x262.jpg' -import eventsImage from '../../img/main_page/events-452x262.jpg' -import placesImage from '../../img/main_page/places-452x262.jpg' +// import StarIcon from '@material-ui/icons/Star' +// import RedoIcon from '@material-ui/icons/Redo' +// import PieChartIcon from '@material-ui/icons/PieChart' +// import CloudDownloadIcon from '@material-ui/icons/CloudDownload' +// import BubbleChartIcon from '@material-ui/icons/BubbleChart' +// import LineChartIcon from '@material-ui/icons/ShowChart' export const perspectiveConfig = [ { id: 'perspective1', - frontPageImage: manuscriptsImage, - defaultActiveFacets: new Set([]), + frontPageImage: 'main_page/manuscripts-452x262.jpg', + defaultActiveFacets: [], defaultTab: 'table', defaultInstancePageTab: 'table', tabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'production_places', value: 1, - icon: <AddLocationIcon /> + icon: 'AddLocationIcon' }, { id: 'production_places_heatmap', value: 2, - icon: <AddLocationIcon /> + icon: 'AddLocationIcon' }, { id: 'production_dates', value: 3, - icon: <LineChartIcon /> + icon: 'LineChartIcon' }, { id: 'event_dates', value: 4, - icon: <LineChartIcon /> + icon: 'LineChartIcon' }, { id: 'last_known_locations', value: 5, - icon: <LocationOnIcon /> + icon: 'LocationOnIcon' }, { id: 'migrations', value: 6, - icon: <RedoIcon /> + icon: 'RedoIcon' }, { id: 'network', value: 7, - icon: <BubbleChartIcon /> + icon: 'BubbleChartIcon' }, { id: 'export', value: 8, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ], instancePageTabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'network', value: 1, - icon: <BubbleChartIcon /> + icon: 'BubbleChartIcon' }, { id: 'export', value: 2, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ] }, { id: 'perspective2', - frontPageImage: worksImage, - defaultActiveFacets: new Set(['prefLabel']), + frontPageImage: 'main_page/works-452x262.jpg', + defaultActiveFacets: ['prefLabel'], tabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'export', value: 1, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ], instancePageTabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'export', value: 1, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ] }, { id: 'perspective3', - frontPageImage: eventsImage, + frontPageImage: 'main_page/events-452x262.jpg', defaultActiveFacets: new Set(['prefLabel']), tabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'map', value: 1, - icon: <AddLocationIcon /> + icon: 'AddLocationIcon' }, { id: 'export', value: 2, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ], instancePageTabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'export', value: 1, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ] }, @@ -161,34 +157,34 @@ export const perspectiveConfig = [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'map', value: 1, - icon: <AddLocationIcon /> + icon: 'AddLocationIcon' }, { id: 'export', value: 2, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ], instancePageTabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'recommendations', value: 1, - icon: <StarIcon /> + icon: 'StarIcon' }, { id: 'export', value: 2, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ] }, @@ -199,40 +195,37 @@ export const perspectiveConfig = [ }, { id: 'clientFSPlaces', - frontPageImage: placesImage, - defaultActiveFacets: new Set(['datasetSelector']), + frontPageImage: 'main_page/places-452x262.jpg', + defaultActiveFacets: ['datasetSelector'], searchMode: 'federated-search', tabs: [ { id: 'table', value: 0, - icon: <CalendarViewDayIcon /> + icon: 'CalendarViewDayIcon' }, { id: 'map_clusters', value: 1, - icon: <TripOriginIcon /> + icon: 'TripOriginIcon' }, { id: 'map_markers', value: 2, - icon: <LocationOnIcon /> + icon: 'LocationOnIcon' }, - // { - // id: 'heatmap', - // value: 3, - // icon: <SettingsBrightnessIcon /> - // }, { id: 'statistics', value: 3, - icon: <PieChartIcon /> + icon: 'PieChartIcon' }, { id: 'download', value: 4, - icon: <CloudDownloadIcon /> + icon: 'CloudDownloadIcon' } ] } ] + +// console.log(JSON.stringify(perspectiveConfig)) diff --git a/src/client/containers/SemanticPortal.js b/src/client/containers/SemanticPortal.js index 3d651b09b56e87c2df2b1fc7e55229a19c152d07..b5d81f5dcc00d0df28a5ab2e834a591781ff0064 100644 --- a/src/client/containers/SemanticPortal.js +++ b/src/client/containers/SemanticPortal.js @@ -78,6 +78,11 @@ for (const perspective of perspectiveConfig) { const perspectiveID = perspective.id const perspectiveComponentID = perspectiveID.charAt(0).toUpperCase() + perspectiveID.slice(1) perspectiveComponents[perspectiveID] = (lazy(() => import(`../components/perspectives/${portalID}/${perspectiveComponentID}`))) + if (has(perspective, 'frontPageImage') && perspective.frontPageImage !== null) { + const { default: image } = await import(`../img/${perspective.frontPageImage}`) + perspective.frontPageImage = image + } + perspective.defaultActiveFacets = new Set(perspective.defaultActiveFacets) } const barChartConfig = await import(`../configs/${portalID}/ApexCharts/BarChartConfig`) const lineChartConfig = await import(`../configs/${portalID}/ApexCharts/LineChartConfig`)