From 6b5b0dc16206c7e053e62a7d6bf81b428b41fea0 Mon Sep 17 00:00:00 2001 From: mgabdev <> Date: Wed, 10 Jul 2019 14:21:24 -0400 Subject: [PATCH] Removed unused hashtag timeilne column settings non visible functionality to change visiblility of filtering hashtags on hashtag timeline --- .../components/column_settings.js | 113 ------------------ .../containers/column_settings_container.js | 31 ----- .../features/hashtag_timeline/index.js | 1 - 3 files changed, 145 deletions(-) delete mode 100644 app/javascript/gabsocial/features/hashtag_timeline/components/column_settings.js delete mode 100644 app/javascript/gabsocial/features/hashtag_timeline/containers/column_settings_container.js diff --git a/app/javascript/gabsocial/features/hashtag_timeline/components/column_settings.js b/app/javascript/gabsocial/features/hashtag_timeline/components/column_settings.js deleted file mode 100644 index cdc138c8..00000000 --- a/app/javascript/gabsocial/features/hashtag_timeline/components/column_settings.js +++ /dev/null @@ -1,113 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -import Toggle from 'react-toggle'; -import AsyncSelect from 'react-select/lib/Async'; - -const messages = defineMessages({ - placeholder: { id: 'hashtag.column_settings.select.placeholder', defaultMessage: 'Enter hashtags…' }, - noOptions: { id: 'hashtag.column_settings.select.no_options_message', defaultMessage: 'No suggestions found' }, -}); - -export default @injectIntl -class ColumnSettings extends React.PureComponent { - - static propTypes = { - settings: ImmutablePropTypes.map.isRequired, - onChange: PropTypes.func.isRequired, - onLoad: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - }; - - state = { - open: this.hasTags(), - }; - - hasTags () { - return ['all', 'any', 'none'].map(mode => this.tags(mode).length > 0).includes(true); - } - - tags (mode) { - let tags = this.props.settings.getIn(['tags', mode]) || []; - - if (tags.toJSON) { - return tags.toJSON(); - } else { - return tags; - } - }; - - onSelect = mode => value => this.props.onChange(['tags', mode], value); - - onToggle = () => { - if (this.state.open && this.hasTags()) { - this.props.onChange('tags', {}); - } - - this.setState({ open: !this.state.open }); - }; - - noOptionsMessage = () => this.props.intl.formatMessage(messages.noOptions); - - modeSelect (mode) { - return ( -
- - {this.modeLabel(mode)} - - - -
- ); - } - - modeLabel (mode) { - switch(mode) { - case 'any': - return ; - case 'all': - return ; - case 'none': - return ; - default: - return ''; - } - }; - - render () { - return ( -
-
-
- - - - - -
-
- - {this.state.open && ( -
- {this.modeSelect('any')} - {this.modeSelect('all')} - {this.modeSelect('none')} -
- )} -
- ); - } - -} diff --git a/app/javascript/gabsocial/features/hashtag_timeline/containers/column_settings_container.js b/app/javascript/gabsocial/features/hashtag_timeline/containers/column_settings_container.js deleted file mode 100644 index c5098052..00000000 --- a/app/javascript/gabsocial/features/hashtag_timeline/containers/column_settings_container.js +++ /dev/null @@ -1,31 +0,0 @@ -import { connect } from 'react-redux'; -import ColumnSettings from '../components/column_settings'; -import { changeColumnParams } from '../../../actions/columns'; -import api from '../../../api'; - -const mapStateToProps = (state, { columnId }) => { - const columns = state.getIn(['settings', 'columns']); - const index = columns.findIndex(c => c.get('uuid') === columnId); - - if (!(columnId && index >= 0)) { - return {}; - } - - return { settings: columns.get(index).get('params') }; -}; - -const mapDispatchToProps = (dispatch, { columnId }) => ({ - onChange (key, value) { - dispatch(changeColumnParams(columnId, key, value)); - }, - - onLoad (value) { - return api().get('/api/v2/search', { params: { q: value } }).then(response => { - return (response.data.hashtags || []).map((tag) => { - return { value: tag.name, label: `#${tag.name}` }; - }); - }); - }, -}); - -export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings); diff --git a/app/javascript/gabsocial/features/hashtag_timeline/index.js b/app/javascript/gabsocial/features/hashtag_timeline/index.js index a89d8413..edca2c1d 100644 --- a/app/javascript/gabsocial/features/hashtag_timeline/index.js +++ b/app/javascript/gabsocial/features/hashtag_timeline/index.js @@ -4,7 +4,6 @@ import PropTypes from 'prop-types'; import StatusListContainer from '../ui/containers/status_list_container'; import Column from '../../components/column'; import ColumnHeader from '../../components/column_header'; -import ColumnSettingsContainer from './containers/column_settings_container'; import { expandHashtagTimeline, clearTimeline } from '../../actions/timelines'; import { FormattedMessage } from 'react-intl'; import { connectHashtagStream } from '../../actions/streaming';