diff --git a/client/coral-admin/src/actions/moderation.js b/client/coral-admin/src/actions/moderation.js index 37e09590d..9f1c40c94 100644 --- a/client/coral-admin/src/actions/moderation.js +++ b/client/coral-admin/src/actions/moderation.js @@ -51,3 +51,5 @@ export const toggleSelectCommentInUserDetail = (id, active) => { id }; }; + +export const toggleStorySearch = (active) => ({type: active ? actions.SHOW_STORY_SEARCH : actions.HIDE_STORY_SEARCH}); diff --git a/client/coral-admin/src/constants/moderation.js b/client/coral-admin/src/constants/moderation.js index 374de616a..29cf03143 100644 --- a/client/coral-admin/src/constants/moderation.js +++ b/client/coral-admin/src/constants/moderation.js @@ -12,3 +12,5 @@ export const CHANGE_USER_DETAIL_STATUSES = 'CHANGE_USER_DETAIL_STATUSES'; export const SELECT_USER_DETAIL_COMMENT = 'SELECT_USER_DETAIL_COMMENT'; export const UNSELECT_USER_DETAIL_COMMENT = 'UNSELECT_USER_DETAIL_COMMENT'; export const CLEAR_USER_DETAIL_SELECTIONS = 'CLEAR_USER_DETAIL_SELECTIONS'; +export const SHOW_STORY_SEARCH = 'SHOW_STORY_SEARCH'; +export const HIDE_STORY_SEARCH = 'HIDE_STORY_SEARCH'; diff --git a/client/coral-admin/src/reducers/moderation.js b/client/coral-admin/src/reducers/moderation.js index 1b95bdb90..4bab9eda1 100644 --- a/client/coral-admin/src/reducers/moderation.js +++ b/client/coral-admin/src/reducers/moderation.js @@ -12,6 +12,8 @@ const initialState = fromJS({ userDetailStatuses: ['NONE', 'ACCEPTED', 'REJECTED', 'PREMOD'], userDetailSelectedIds: new Set(), banDialog: false, + storySearchVisible: false, + storySearchString: '', shortcutsNoteVisible: window.localStorage.getItem('coral:shortcutsNote') || 'show', sortOrder: 'REVERSE_CHRONOLOGICAL', suspendUserDialog: { @@ -80,6 +82,10 @@ export default function moderation (state = initialState, action) { return state.update('userDetailSelectedIds', (set) => set.add(action.id)); case actions.UNSELECT_USER_DETAIL_COMMENT: return state.update('userDetailSelectedIds', (set) => set.delete(action.id)); + case actions.SHOW_STORY_SEARCH: + return state.set('storySearchVisible', true); + case actions.HIDE_STORY_SEARCH: + return state.set('storySearchVisible', false); case actions.SET_SORT_ORDER: return state.set('sortOrder', action.order); default : diff --git a/client/coral-admin/src/routes/Moderation/components/Moderation.js b/client/coral-admin/src/routes/Moderation/components/Moderation.js index 3efe48bdc..f7338cf6b 100644 --- a/client/coral-admin/src/routes/Moderation/components/Moderation.js +++ b/client/coral-admin/src/routes/Moderation/components/Moderation.js @@ -32,8 +32,14 @@ export default class Moderation extends Component { this.toggleModal(false); } - openSearch = () => { + closeSearch = () => { + console.log('closeSearch'); + this.props.toggleStorySearch(false); + } + openSearch = () => { + console.log('openSearch'); + this.props.toggleStorySearch(true); } moderate = (accept) => () => { @@ -132,7 +138,11 @@ export default class Moderation extends Component { return (
- + { +const ModerationHeader = ({asset, searchVisible, openSearch, closeSearch}) => { - const allStreams = props.asset + const trigger = searchVisible ? closeSearch : openSearch; + const searchTriggerIcon = ; + + const allStreams = asset ? {t('modqueue.all_streams')} : ; - const title = props.asset - ? ( - - {props.asset.title} - - ) - : {t('modqueue.all_streams')} ; + const title = asset + ? {asset.title} {searchTriggerIcon} + : {t('modqueue.all_streams')} {searchTriggerIcon}; return (
@@ -32,7 +31,12 @@ const ModerationHeader = (props) => { }; ModerationHeader.propTypes = { - openSearch: PropTypes.func.isRequired + asset: PropTypes.shape({ + title: PropTypes.string, + id: PropTypes.string + }), + openSearch: PropTypes.func.isRequired, + closeSearch: PropTypes.func.isRequired }; export default ModerationHeader; diff --git a/client/coral-admin/src/routes/Moderation/components/styles.css b/client/coral-admin/src/routes/Moderation/components/styles.css index b0c2cc5ac..a6bf7e89e 100644 --- a/client/coral-admin/src/routes/Moderation/components/styles.css +++ b/client/coral-admin/src/routes/Moderation/components/styles.css @@ -471,4 +471,5 @@ span { .searchTrigger { position: relative; top: .3em; + background-color: blue; } diff --git a/client/coral-admin/src/routes/Moderation/containers/Moderation.js b/client/coral-admin/src/routes/Moderation/containers/Moderation.js index 537aa1d65..31ac05450 100644 --- a/client/coral-admin/src/routes/Moderation/containers/Moderation.js +++ b/client/coral-admin/src/routes/Moderation/containers/Moderation.js @@ -21,6 +21,7 @@ import { showSuspendUserDialog, hideSuspendUserDialog, hideShortcutsNote, + toggleStorySearch, viewUserDetail, hideUserDetail, setSortOrder, @@ -299,6 +300,7 @@ const mapDispatchToProps = (dispatch) => ({ showBanUserDialog, hideBanUserDialog, hideShortcutsNote, + toggleStorySearch, showSuspendUserDialog, hideSuspendUserDialog, viewUserDetail,