From 4725f07757bdb1992374629a1c94483e73ee1dfd Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 7 Jun 2017 09:53:53 -0300 Subject: [PATCH] Viewing Options state and name conventions --- .../coral-embed-stream/src/actions/stream.js | 8 ------- .../src/constants/stream.js | 2 -- .../coral-embed-stream/src/reducers/stream.js | 17 -------------- client/coral-framework/helpers/plugins.js | 10 ++++----- .../client/containers/OffTopicFilter.js | 4 ++-- .../client/actions.js | 9 ++++++++ .../client/constants.js | 2 ++ .../client/containers/ViewingOptions.js | 4 ++-- .../client/index.js | 2 ++ .../client/reducer.js | 22 +++++++++++++++++++ 10 files changed, 44 insertions(+), 36 deletions(-) create mode 100644 plugins/coral-plugin-viewing-options/client/actions.js create mode 100644 plugins/coral-plugin-viewing-options/client/constants.js create mode 100644 plugins/coral-plugin-viewing-options/client/reducer.js diff --git a/client/coral-embed-stream/src/actions/stream.js b/client/coral-embed-stream/src/actions/stream.js index 68ccdda58..81b57a0fe 100644 --- a/client/coral-embed-stream/src/actions/stream.js +++ b/client/coral-embed-stream/src/actions/stream.js @@ -38,11 +38,3 @@ export const viewAllComments = () => { return {type: actions.VIEW_ALL_COMMENTS}; }; - -export const openViewingOptions = () => ({ - type: actions.OPEN_VIEWING_OPTIONS -}); - -export const closeViewingOptions = () => ({ - type: actions.CLOSE_VIEWING_OPTIONS -}); diff --git a/client/coral-embed-stream/src/constants/stream.js b/client/coral-embed-stream/src/constants/stream.js index 558e0ddd3..cb17edb2f 100644 --- a/client/coral-embed-stream/src/constants/stream.js +++ b/client/coral-embed-stream/src/constants/stream.js @@ -3,5 +3,3 @@ export const SET_COMMENT_COUNT_CACHE = 'SET_COMMENT_COUNT_CACHE'; export const ADDTL_COMMENTS_ON_LOAD_MORE = 10; export const NEW_COMMENT_COUNT_POLL_INTERVAL = 20000; export const VIEW_ALL_COMMENTS = 'VIEW_ALL_COMMENTS'; -export const OPEN_VIEWING_OPTIONS = 'OPEN_VIEWING_OPTIONS'; -export const CLOSE_VIEWING_OPTIONS = 'CLOSE_VIEWING_OPTIONS'; diff --git a/client/coral-embed-stream/src/reducers/stream.js b/client/coral-embed-stream/src/reducers/stream.js index 6756ad4a8..59f068530 100644 --- a/client/coral-embed-stream/src/reducers/stream.js +++ b/client/coral-embed-stream/src/reducers/stream.js @@ -20,27 +20,10 @@ const initialState = { assetId: getQueryVariable('asset_id'), assetUrl: getQueryVariable('asset_url'), commentId: getQueryVariable('comment_id'), - viewingOption: { - open: false - } }; export default function stream(state = initialState, action) { switch (action.type) { - case actions.OPEN_VIEWING_OPTIONS: - return { - ...state, - viewingOption: { - open: true - } - }; - case actions.CLOSE_VIEWING_OPTIONS: - return { - ...state, - viewingOption: { - open: false - } - }; case actions.SET_ACTIVE_REPLY_BOX: return { ...state, diff --git a/client/coral-framework/helpers/plugins.js b/client/coral-framework/helpers/plugins.js index a9e5f6408..5568b7517 100644 --- a/client/coral-framework/helpers/plugins.js +++ b/client/coral-framework/helpers/plugins.js @@ -1,17 +1,17 @@ import React from 'react'; -import merge from 'lodash/merge'; -import flatten from 'lodash/flatten'; -import flattenDeep from 'lodash/flattenDeep'; import uniq from 'lodash/uniq'; import pick from 'lodash/pick'; +import merge from 'lodash/merge'; import plugins from 'pluginsConfig'; -import {getDefinitionName, mergeDocuments} from 'coral-framework/utils'; +import flatten from 'lodash/flatten'; +import flattenDeep from 'lodash/flattenDeep'; import {loadTranslations} from 'coral-framework/services/i18n'; +import {getDefinitionName, mergeDocuments} from 'coral-framework/utils'; export const pluginReducers = merge( ...plugins .filter((o) => o.module.reducer) - .map((o) => ({[o.module.reducer.name] : o.module.reducer})) + .map((o) => ({[o.plugin] : o.module.reducer})) ); /** diff --git a/plugins/coral-plugin-offtopic/client/containers/OffTopicFilter.js b/plugins/coral-plugin-offtopic/client/containers/OffTopicFilter.js index f7fe114f3..7870dab00 100644 --- a/plugins/coral-plugin-offtopic/client/containers/OffTopicFilter.js +++ b/plugins/coral-plugin-offtopic/client/containers/OffTopicFilter.js @@ -6,9 +6,9 @@ import { removeCommentClassName } from 'coral-embed-stream/src/actions/comment'; import OffTopicFilter from '../components/OffTopicFilter'; -import {closeViewingOptions} from 'coral-embed-stream/src/actions/stream'; +import {closeViewingOptions} from 'plugins/coral-plugin-viewing-options/client/actions'; -const mapStateToProps = ({comment, offTopic}) => ({ +const mapStateToProps = ({comment, ['coral-plugin-offtopic'] : offTopic}) => ({ commentClassNames: comment.commentClassNames, checked: offTopic.checked }); diff --git a/plugins/coral-plugin-viewing-options/client/actions.js b/plugins/coral-plugin-viewing-options/client/actions.js new file mode 100644 index 000000000..24fcbb4ec --- /dev/null +++ b/plugins/coral-plugin-viewing-options/client/actions.js @@ -0,0 +1,9 @@ +import {OPEN_VIEWING_OPTIONS, CLOSE_VIEWING_OPTIONS} from './constants'; + +export const openViewingOptions = () => ({ + type: OPEN_VIEWING_OPTIONS +}); + +export const closeViewingOptions = () => ({ + type: CLOSE_VIEWING_OPTIONS +}); diff --git a/plugins/coral-plugin-viewing-options/client/constants.js b/plugins/coral-plugin-viewing-options/client/constants.js new file mode 100644 index 000000000..50fe4023d --- /dev/null +++ b/plugins/coral-plugin-viewing-options/client/constants.js @@ -0,0 +1,2 @@ +export const OPEN_VIEWING_OPTIONS = 'OPEN_VIEWING_OPTIONS'; +export const CLOSE_VIEWING_OPTIONS = 'CLOSE_VIEWING_OPTIONS'; \ No newline at end of file diff --git a/plugins/coral-plugin-viewing-options/client/containers/ViewingOptions.js b/plugins/coral-plugin-viewing-options/client/containers/ViewingOptions.js index 444fc1166..0e0358b86 100644 --- a/plugins/coral-plugin-viewing-options/client/containers/ViewingOptions.js +++ b/plugins/coral-plugin-viewing-options/client/containers/ViewingOptions.js @@ -2,9 +2,9 @@ import React from 'react'; import {connect} from 'react-redux'; import {bindActionCreators} from 'redux'; import ViewingOptions from '../components/ViewingOptions'; -import {openViewingOptions, closeViewingOptions} from 'coral-embed-stream/src/actions/stream'; +import {openViewingOptions, closeViewingOptions} from '../actions'; -const mapStateToProps = ({stream}) => ({open: stream.viewingOption.open}); +const mapStateToProps = ({['coral-plugin-viewing-options']: state}) => ({open: state.open}); const mapDispatchToProps = (dispatch) => bindActionCreators({openViewingOptions, closeViewingOptions}, dispatch); diff --git a/plugins/coral-plugin-viewing-options/client/index.js b/plugins/coral-plugin-viewing-options/client/index.js index ad2574558..519ce42aa 100644 --- a/plugins/coral-plugin-viewing-options/client/index.js +++ b/plugins/coral-plugin-viewing-options/client/index.js @@ -1,6 +1,8 @@ import ViewingOptions from './containers/ViewingOptions'; +import reducer from './reducer'; export default { + reducer, slots: { streamBox: [ViewingOptions] } diff --git a/plugins/coral-plugin-viewing-options/client/reducer.js b/plugins/coral-plugin-viewing-options/client/reducer.js new file mode 100644 index 000000000..8c81e3109 --- /dev/null +++ b/plugins/coral-plugin-viewing-options/client/reducer.js @@ -0,0 +1,22 @@ +import {OPEN_VIEWING_OPTIONS, CLOSE_VIEWING_OPTIONS} from './constants'; + +const initialState = { + open: false +}; + +export default function offTopic (state = initialState, action) { + switch (action.type) { + case OPEN_VIEWING_OPTIONS: + return { + ...state, + open: true + }; + case CLOSE_VIEWING_OPTIONS: + return { + ...state, + open: false + }; + default : + return state; + } +}