From caff6358700f6f5aa85c89a36df8467c5eb93431 Mon Sep 17 00:00:00 2001
From: esikkala <esko.ikkala@aalto.fi>
Date: Mon, 2 Sep 2019 13:12:28 +0300
Subject: [PATCH] Events: update tooltips

---
 src/client/reducers/events.js            | 18 ++++++++---
 src/client/reducers/eventsFacets.js      | 40 ++++++++++++++++++++++--
 src/server/sparql/FacetConfigsMMM.js     |  7 +++++
 src/server/sparql/SparqlQueriesEvents.js |  3 +-
 4 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/src/client/reducers/events.js b/src/client/reducers/events.js
index 848e175a..7c4baaa7 100644
--- a/src/client/reducers/events.js
+++ b/src/client/reducers/events.js
@@ -45,7 +45,10 @@ export const INITIAL_STATE = {
     {
       id: 'type',
       label: 'Type',
-      desc: 'Type description',
+      desc: `
+        Distinguish between “Transfer of Custody”, “Production”, and other
+        types of “Activity” events.
+      `,
       valueType: 'object',
       makeLink: true,
       externalLink: false,
@@ -56,7 +59,9 @@ export const INITIAL_STATE = {
     {
       id: 'manuscript',
       label: 'Manuscript / Collection',
-      desc: 'Manuscript / Collection description',
+      desc: `
+        The manuscript or manuscript collection associated with the event.
+      `,
       valueType: 'object',
       makeLink: true,
       externalLink: false,
@@ -68,7 +73,7 @@ export const INITIAL_STATE = {
       id: 'eventTimespan',
       label: 'Date',
       desc: `
-        Date description.
+        The date or time period associated with the event.
       `,
       valueType: 'object',
       makeLink: false,
@@ -80,7 +85,7 @@ export const INITIAL_STATE = {
     {
       id: 'place',
       label: 'Place',
-      desc: 'Place description',
+      desc: 'The specific place associated with the event.',
       valueType: 'object',
       makeLink: true,
       externalLink: false,
@@ -91,7 +96,10 @@ export const INITIAL_STATE = {
     {
       id: 'source',
       label: 'Source',
-      desc: 'Source description',
+      desc: `
+        The source database (Schoenberg, Bibale, and Bodleian) that provided
+        the information about the event.
+      `,
       valueType: 'object',
       makeLink: true,
       externalLink: true,
diff --git a/src/client/reducers/eventsFacets.js b/src/client/reducers/eventsFacets.js
index ac0daf8d..23ce29db 100644
--- a/src/client/reducers/eventsFacets.js
+++ b/src/client/reducers/eventsFacets.js
@@ -33,7 +33,25 @@ export const INITIAL_STATE = {
       filterType: 'uriFilter',
       uriFilter: null,
       spatialFilter: null,
-      priority: 3
+      priority: 4
+    },
+    manuscript: {
+      id: 'manuscript',
+      label: 'Manuscript / Collection',
+      // predicate: defined in backend
+      distinctValueCount: 0,
+      values: [],
+      flatValues: [],
+      sortBy: null,
+      sortDirection: null,
+      sortButton: false,
+      spatialFilterButton: false,
+      isFetching: false,
+      searchField: false,
+      containerClass: 'one',
+      filterType: 'textFilter',
+      textFilter: null,
+      priority: 2
     },
     eventTimespan: {
       id: 'eventTimespan',
@@ -54,7 +72,7 @@ export const INITIAL_STATE = {
       max: null,
       timespanFilter: null,
       type: 'timespan',
-      priority: 2
+      priority: 3
     },
     place: {
       id: 'place',
@@ -76,6 +94,24 @@ export const INITIAL_STATE = {
       type: 'hierarchical',
       priority: 1
     },
+    // source: {
+    //   id: 'source',
+    //   label: 'Source',
+    //   // predicate: defined in backend
+    //   distinctValueCount: 0,
+    //   values: [],
+    //   flatValues: [],
+    //   sortBy: 'instanceCount',
+    //   sortDirection: 'desc',
+    //   sortButton: false,
+    //   spatialFilterButton: false,
+    //   isFetching: false,
+    //   searchField: false,
+    //   containerClass: 'three',
+    //   filterType: 'uriFilter',
+    //   uriFilter: null,
+    //   priority: 5
+    // },
   }
 };
 
diff --git a/src/server/sparql/FacetConfigsMMM.js b/src/server/sparql/FacetConfigsMMM.js
index c21fc501..7af24937 100644
--- a/src/server/sparql/FacetConfigsMMM.js
+++ b/src/server/sparql/FacetConfigsMMM.js
@@ -318,6 +318,13 @@ export const facetConfigs = {
       parentPredicate: 'crm:P7_took_place_at/gvp:broaderPreferred+',
       type: 'hierarchical',
     },
+    source: {
+      id: 'source',
+      facetValueFilter: '',
+      labelPath: 'dct:source/skos:prefLabel',
+      predicate: 'dct:source',
+      type: 'list',
+    },
   },
   actors: {
     facetClass: 'crm:E21_Person crm:E74_Group crm:E39_Actor',
diff --git a/src/server/sparql/SparqlQueriesEvents.js b/src/server/sparql/SparqlQueriesEvents.js
index b07f3116..b9daf729 100644
--- a/src/server/sparql/SparqlQueriesEvents.js
+++ b/src/server/sparql/SparqlQueriesEvents.js
@@ -65,6 +65,7 @@ export const eventProperties = `
     {
       ?id dct:source ?source__id .
       ?source__id skos:prefLabel ?source__prefLabel .
-      BIND(?source__id AS ?source__dataProviderUrl)
+      OPTIONAL { ?id mmm-schema:data_provider_url ?dataProviderUrl_ }
+      BIND(COALESCE(?dataProviderUrl_, ?source__id) AS ?source__dataProviderUrl)
     }
 `;
-- 
GitLab