Add dashboardId for calculating discussionId
authorymh <ymh.work@gmail.com>
Mon, 17 Sep 2018 01:35:46 +0200
changeset 4 df751568fda6
parent 3 7af67d500dd5
child 5 b26c9c44dd84
Add dashboardId for calculating discussionId
clientjs/packages/annotation-dashboard-explorunivers/src/store.js
clientjs/packages/dashboard-components/src/actions.js
clientjs/packages/dashboard-components/src/pages/term.jsx
clientjs/packages/dashboard-components/src/utils.js
--- a/clientjs/packages/annotation-dashboard-explorunivers/src/store.js	Mon Sep 17 00:28:58 2018 +0200
+++ b/clientjs/packages/annotation-dashboard-explorunivers/src/store.js	Mon Sep 17 01:35:46 2018 +0200
@@ -7,6 +7,8 @@
 
 import { rootReducer, actions } from 'dashboard-components';
 
+import { dashboardId } from './config.json';
+
 const { fetchAnnotations } = actions;
 
 let middlewares = [thunkMiddleware];
@@ -29,7 +31,7 @@
   componentWillMount() {
     const apiUrl = process.env.REACT_APP_API_URL;
     const discussionUrl = process.env.REACT_APP_DISCUSSION_URL;
-    store.dispatch(fetchAnnotations(apiUrl, discussionUrl));
+    store.dispatch(fetchAnnotations(apiUrl, discussionUrl, dashboardId));
   }
 
   render() {
--- a/clientjs/packages/dashboard-components/src/actions.js	Mon Sep 17 00:28:58 2018 +0200
+++ b/clientjs/packages/dashboard-components/src/actions.js	Mon Sep 17 01:35:46 2018 +0200
@@ -2,7 +2,7 @@
 import fetch from 'isomorphic-fetch';
 import _ from 'lodash';
 
-import { getTerms, toBase64 } from './utils';
+import { getTerms, getTermId } from './utils';
 
 
 export const REQUEST_ANNOTATIONS = 'REQUEST_ANNOTATIONS';
@@ -45,9 +45,9 @@
 }
 
 export const FETCH_MESSAGES_COUNT = 'FETCH_MESSAGES_COUNT';
-export function fetchMessagesCount(terms, discussionUrl) {
+export function fetchMessagesCount(terms, discussionUrl, dashboardId) {
   const url = `${discussionUrl}count`;
-  const terms64 = _.map(terms, toBase64);
+  const terms64 = _.map(terms, term => getTermId(term, dashboardId));
 
   return function (dispatch) {
     dispatch(requestMessagesCount(url, terms, terms64));
@@ -74,7 +74,7 @@
 }
 
 export const FETCH_ANNOTATIONS = 'FETCH_ANNOTATIONS';
-export function fetchAnnotations(url, discussionUrl) {
+export function fetchAnnotations(url, discussionUrl, dashboardId) {
   return function (dispatch) {
     dispatch(requestAnnotations(url));
 
@@ -87,7 +87,7 @@
         const annotations = json.rows;
         const terms = getTerms(annotations);
 
-        dispatch(fetchMessagesCount(Object.keys(terms), discussionUrl));
+        dispatch(fetchMessagesCount(Object.keys(terms), discussionUrl, dashboardId));
         dispatch(receiveAnnotations(url, annotations, terms));
       });
   };
--- a/clientjs/packages/dashboard-components/src/pages/term.jsx	Mon Sep 17 00:28:58 2018 +0200
+++ b/clientjs/packages/dashboard-components/src/pages/term.jsx	Mon Sep 17 01:35:46 2018 +0200
@@ -13,7 +13,7 @@
 import AnnotationsCards from '../ui/AnnotationsCards';
 import DefinitionsCards from '../ui/DefinitionsCards';
 import IssoThread from '../ui/IssoThread';
-import { toBase64 } from '../utils';
+import { getTermId } from '../utils';
 
 import './term.scss';
 
@@ -118,7 +118,7 @@
 
     const defAndRef = term ? state.terms[term] : {};
 
-    const term64 = toBase64(dashboardId ? `${dashboardId}::${term}` : term);
+    const term64 = getTermId(term, dashboardId);
 
     const { messageId } = (params || {});
 
--- a/clientjs/packages/dashboard-components/src/utils.js	Mon Sep 17 00:28:58 2018 +0200
+++ b/clientjs/packages/dashboard-components/src/utils.js	Mon Sep 17 01:35:46 2018 +0200
@@ -100,3 +100,7 @@
 export function toBase64(msg) {
   return Buffer.from(msg).toString('base64');
 }
+
+export function getTermId(term, dashboardId) {
+  return toBase64(dashboardId ? `${dashboardId}::${term}` : term);
+}