diff --git a/src/client/components/facet_results/Deck.js b/src/client/components/facet_results/Deck.js index e2bce411ccae733532807ff790dfdc648d40c5e5..c9563c186882cdc4d5c549e6e572b188ef2c2208 100644 --- a/src/client/components/facet_results/Deck.js +++ b/src/client/components/facet_results/Deck.js @@ -24,6 +24,12 @@ import Typography from '@material-ui/core/Typography'; const MAPBOX_ACCESS_TOKEN = 'pk.eyJ1IjoiZWtrb25lbiIsImEiOiJjam5vampzZ28xd2dyM3BzNXR0Zzg4azl4In0.eozyF-bBaZbA3ibhvJlJpQ'; const styles = theme => ({ + root: { + height: 400, + [theme.breakpoints.up('md')]: { + height: 'calc(100% - 72px)' + } + }, tooltip: { position: 'absolute', padding: '4px', @@ -204,33 +210,33 @@ class Deck extends React.Component { // https://www.mapbox.com/mapbox-gl-js/api#map { /* style={{marginTop: 72}} */} return ( - <ReactMapGL - {...this.state.viewport} - className={this.props.classes.root} - width='100%' - height='calc(100% - 72px)' - - onViewportChange={this._onViewportChange} - mapboxApiAccessToken={MAPBOX_ACCESS_TOKEN} - mapOptions={{ - style: 'mapbox://styles/mapbox/light-v9' - }} - > - <HTMLOverlay redraw={this._renderLegend.bind(this)} /> - <DeckGL - viewState={this.state.viewport} - layers={[layer]} - /> - <div className={this.props.classes.mapControls}> - <NavigationControl onViewportChange={this._onViewportChange} /> - </div> - {this._renderSpinner()} - <InfoDialog - open={this.state.dialog.open} - onClose={this.closeDialog.bind(this)} - data={this.state.dialog.data} - /> - </ReactMapGL> + <div className={this.props.classes.root}> + <ReactMapGL + {...this.state.viewport} + width='100%' + height='100%' + onViewportChange={this._onViewportChange} + mapboxApiAccessToken={MAPBOX_ACCESS_TOKEN} + mapOptions={{ + style: 'mapbox://styles/mapbox/light-v9' + }} + > + <HTMLOverlay redraw={this._renderLegend.bind(this)} /> + <DeckGL + viewState={this.state.viewport} + layers={[layer]} + /> + <div className={this.props.classes.mapControls}> + <NavigationControl onViewportChange={this._onViewportChange} /> + </div> + {this._renderSpinner()} + <InfoDialog + open={this.state.dialog.open} + onClose={this.closeDialog.bind(this)} + data={this.state.dialog.data} + /> + </ReactMapGL> + </div> ); } } diff --git a/src/client/components/facet_results/LeafletMap.js b/src/client/components/facet_results/LeafletMap.js index 045c4e25d1b246bc0a2ba43f6266b1a071d92c8e..81b746f0027b0598b38c43b068c249987b2d775d 100644 --- a/src/client/components/facet_results/LeafletMap.js +++ b/src/client/components/facet_results/LeafletMap.js @@ -37,9 +37,12 @@ const style = { height: '100%' }; -const styles = () => ({ +const styles = theme => ({ leafletContainer: { - height: 'calc(100% - 72px)' + height: 400, + [theme.breakpoints.up('md')]: { + height: 'calc(100% - 72px)' + } }, spinner: { height: 40, diff --git a/src/client/components/facet_results/ResultTable.js b/src/client/components/facet_results/ResultTable.js index 471608696a6f1f39902aa66bee7ee40f339ce803..98b82c6f704095b5783a02b7f205975523b58b98 100644 --- a/src/client/components/facet_results/ResultTable.js +++ b/src/client/components/facet_results/ResultTable.js @@ -11,11 +11,14 @@ import querystring from 'querystring'; import ResultTableHead from './ResultTableHead'; import history from '../../History'; -const styles = () => ({ +const styles = theme => ({ tableContainer: { overflow: 'auto', width: '100%', - height: 'calc(100% - 72px)' + height: 'auto', + [theme.breakpoints.up('md')]: { + height: 'calc(100% - 72px)' + } }, paginationRow: { borderBottom: '1px solid lightgrey' diff --git a/src/client/components/main_layout/Main.js b/src/client/components/main_layout/Main.js index a3f5d41c54c60be6f4b25373240ca168afd77631..5e87a7498bff5e2d6476cf3bee65b75610dd2ade 100644 --- a/src/client/components/main_layout/Main.js +++ b/src/client/components/main_layout/Main.js @@ -14,10 +14,11 @@ import thumbImage from '../../img/thumb.png'; const styles = theme => ({ root: { width: '100%', - height: 'calc(100% - 150px)', - overflow: 'auto', - [ theme.breakpoints.down('sm')]: { - height: '100%' + minHeight: 900, + marginBottom: theme.spacing.unit, + [ theme.breakpoints.up('md')]: { + height: 'calc(100% - 150px)', + overflow: 'auto', }, }, icon: { diff --git a/src/client/containers/SemanticPortal.js b/src/client/containers/SemanticPortal.js index fb451b5d2a95a37f6123c02e55fe1494c21748aa..9c429a040db630f7921657fc7617bbc74fdaf5e4 100644 --- a/src/client/containers/SemanticPortal.js +++ b/src/client/containers/SemanticPortal.js @@ -35,7 +35,10 @@ import { const styles = theme => ({ root: { flexGrow: 1, - height: '100%', + height: 'auto', + [theme.breakpoints.up('md')]: { + height: '100%', + } }, flex: { flexGrow: 1, @@ -51,14 +54,17 @@ const styles = theme => ({ //minHeight: 700 }, mainContainer: { - marginTop: 64, - height: 'calc(100% - 64px)', + height: 'auto', + backgroundColor: '#bdbdbd', + padding: theme.spacing.unit, [theme.breakpoints.down('sm')]: { marginTop: 56, height: 'calc(100% - 56px)', }, - backgroundColor: '#bdbdbd', - padding: theme.spacing.unit, + [theme.breakpoints.up('sm')]: { + marginTop: 64, + height: 'calc(100% - 64px)', + }, }, facetBarContainer: { height: '100%', @@ -103,7 +109,7 @@ let SemanticPortal = (props) => { path="/manuscripts" render={routeProps => <React.Fragment> - <Grid item sm={12} md={3} className={classes.facetBarContainer}> + <Grid item xs={12} md={3} className={classes.facetBarContainer}> <FacetBar facetData={props.manuscriptsFacets} facetClass='manuscripts' @@ -112,7 +118,7 @@ let SemanticPortal = (props) => { updateFacetOption={props.updateFacetOption} /> </Grid> - <Grid item sm={12} md={9} className={classes.resultsContainer}> + <Grid item xs={12} md={9} className={classes.resultsContainer}> <Paper className={classes.resultsContainerPaper}> <Manuscripts manuscripts={props.manuscripts} @@ -135,7 +141,7 @@ let SemanticPortal = (props) => { path="/works" render={routeProps => <React.Fragment> - <Grid item sm={12} md={3} className={classes.facetBarContainer}> + <Grid item xs={12} md={3} className={classes.facetBarContainer}> <FacetBar facetData={props.worksFacets} facetClass='works' @@ -144,7 +150,7 @@ let SemanticPortal = (props) => { updateFacetOption={props.updateFacetOption} /> </Grid> - <Grid item sm={12} md={9} className={classes.resultsContainer}> + <Grid item xs={12} md={9} className={classes.resultsContainer}> <Paper className={classes.resultsContainerPaper}> <Works works={props.works} @@ -166,7 +172,7 @@ let SemanticPortal = (props) => { path="/people" render={routeProps => <React.Fragment> - <Grid item sm={12} md={3} className={classes.facetBarContainer}> + <Grid item xs={12} md={3} className={classes.facetBarContainer}> <FacetBar facetData={props.peopleFacets} facetClass='people' @@ -175,7 +181,7 @@ let SemanticPortal = (props) => { updateFacetOption={props.updateFacetOption} /> </Grid> - <Grid item sm={12} md={9} className={classes.resultsContainer}> + <Grid item xs={12} md={9} className={classes.resultsContainer}> <Paper className={classes.resultsContainerPaper}> <People people={props.people} @@ -198,7 +204,7 @@ let SemanticPortal = (props) => { path="/organizations" render={routeProps => <React.Fragment> - <Grid item sm={12} md={3} className={classes.facetBarContainer}> + <Grid item xs={12} md={3} className={classes.facetBarContainer}> <FacetBar facetData={props.organizationsFacets} facetClass='organizations' @@ -207,7 +213,7 @@ let SemanticPortal = (props) => { updateFacetOption={props.updateFacetOption} /> </Grid> - <Grid item sm={12} md={9} className={classes.resultsContainer}> + <Grid item xs={12} md={9} className={classes.resultsContainer}> <Paper className={classes.resultsContainerPaper}> <Organizations organizations={props.organizations} @@ -230,7 +236,7 @@ let SemanticPortal = (props) => { path="/places" render={routeProps => <React.Fragment> - <Grid item sm={12} md={3} className={classes.facetBarContainer}> + <Grid item xs={12} md={3} className={classes.facetBarContainer}> <FacetBar facetData={props.placesFacets} facetClass='places' @@ -239,7 +245,7 @@ let SemanticPortal = (props) => { updateFacetOption={props.updateFacetOption} /> </Grid> - <Grid item sm={12} md={9} className={classes.resultsContainer}> + <Grid item xs={12} md={9} className={classes.resultsContainer}> <Paper className={classes.resultsContainerPaper}> <Places places={props.places} @@ -261,10 +267,10 @@ let SemanticPortal = (props) => { path="/all" render={routeProps => <React.Fragment> - <Grid item sm={12} md={3} className={classes.facetBarContainer}> + <Grid item xs={12} md={3} className={classes.facetBarContainer}> </Grid> - <Grid item sm={12} md={9} className={classes.resultsContainer}> + <Grid item xs={12} md={9} className={classes.resultsContainer}> <Paper className={classes.resultsContainerPaper}> <All clientSideFacetedSearch={props.clientSideFacetedSearch} diff --git a/src/client/index.html b/src/client/index.html index 6d68702cd4d8a71659a1ded69f425a81c5721ea7..17d404a87563fc2d471c39d2da892b0e6d20823f 100644 --- a/src/client/index.html +++ b/src/client/index.html @@ -2,6 +2,8 @@ <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="robots" content="noindex"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500"> <!-- for leaflet side pane --> <!-- <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> --> diff --git a/src/client/reducers/manuscripts.js b/src/client/reducers/manuscripts.js index 482f8e6d02a69d7f9e4fe63e55ce6e8419c0e606..239e03c0aca6cd5035a489dd4ad16624d45380e2 100644 --- a/src/client/reducers/manuscripts.js +++ b/src/client/reducers/manuscripts.js @@ -131,7 +131,7 @@ export const INITIAL_STATE = { valueType: 'owner', makeLink: true, sortValues: true, - numberedList: true, + numberedList: false, minWidth: 250 }, { diff --git a/src/client/reducers/manuscriptsFacets.js b/src/client/reducers/manuscriptsFacets.js index c74152b2fd4a4a94958cc6e1eb7993c39ec203a9..47003a85c86328bf603bf71608eebc53317b4082 100644 --- a/src/client/reducers/manuscriptsFacets.js +++ b/src/client/reducers/manuscriptsFacets.js @@ -67,6 +67,23 @@ export const INITIAL_STATE = { filterType: 'uriFilter', uriFilter: null }, + owner: { + id: 'owner', + label: 'Owner', + // predicate: defined in backend + distinctValueCount: 0, + values: [], + flatValues: [], + sortBy: 'instanceCount', + sortDirection: 'desc', + sortButton: true, + spatialFilterButton: false, + isFetching: false, + searchField: true, + containerClass: 'ten', + filterType: 'uriFilter', + uriFilter: null + }, // language: { // id: 'language', // label: 'Language', diff --git a/src/server/sparql/FacetConfigs.js b/src/server/sparql/FacetConfigs.js index fb214d56464312ea402ba63956d2034bb498579b..d6f69eba4230c1aa66abdb64653d1f454a219b39 100644 --- a/src/server/sparql/FacetConfigs.js +++ b/src/server/sparql/FacetConfigs.js @@ -63,6 +63,7 @@ export const facetConfigs = { facetValueFilter: '', label: 'Owner', labelPath: 'crm:P51_has_former_or_current_owner/skos:prefLabel', + predicate: 'crm:P51_has_former_or_current_owner', type: 'list', }, }, diff --git a/src/server/sparql/SparqlQueriesManuscripts.js b/src/server/sparql/SparqlQueriesManuscripts.js index 9f5d9191395c7ead4333d22ab7e2034475af343b..abc61244c6114e81d8b2aa0f865e0e053fde81fc 100644 --- a/src/server/sparql/SparqlQueriesManuscripts.js +++ b/src/server/sparql/SparqlQueriesManuscripts.js @@ -37,14 +37,15 @@ export const manuscriptProperties = ` { ?id crm:P51_has_former_or_current_owner ?owner__id . ?owner__id skos:prefLabel ?owner__prefLabel . - OPTIONAL { ?owner__id mmm-schema:data_provider_url ?owner__dataProviderUrl } - OPTIONAL { - [] rdf:subject ?id ; - rdf:predicate crm:P51_has_former_or_current_owner ; - rdf:object ?owner__id ; - mmm-schema:order ?order . - BIND(xsd:integer(?order) + 1 AS ?owner__order) - } + BIND (?owner__id AS ?owner__dataProviderUrl) + #OPTIONAL { ?owner__id mmm-schema:data_provider_url ?owner__dataProviderUrl } + #OPTIONAL { + # [] rdf:subject ?id ; + # rdf:predicate crm:P51_has_former_or_current_owner ; + # rdf:object ?owner__id ; + # mmm-schema:order ?order . + # BIND(xsd:integer(?order) + 1 AS ?owner__order) + #} } UNION {