From f5bf5ebb82e3af420dcd23d602b1be6cc86838e1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 3 May 2017 02:04:16 +0200 Subject: Replace sprockets/browserify with Webpack (#2617) * Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time --- .../ui/containers/status_list_container.jsx | 74 ---------------------- 1 file changed, 74 deletions(-) delete mode 100644 app/assets/javascripts/components/features/ui/containers/status_list_container.jsx (limited to 'app/assets/javascripts/components/features/ui/containers/status_list_container.jsx') diff --git a/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx b/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx deleted file mode 100644 index 1599000b5..000000000 --- a/app/assets/javascripts/components/features/ui/containers/status_list_container.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import { connect } from 'react-redux'; -import StatusList from '../../../components/status_list'; -import { expandTimeline, scrollTopTimeline } from '../../../actions/timelines'; -import Immutable from 'immutable'; -import { createSelector } from 'reselect'; -import { debounce } from 'react-decoration'; - -const makeGetStatusIds = () => createSelector([ - (state, { type }) => state.getIn(['settings', type], Immutable.Map()), - (state, { type }) => state.getIn(['timelines', type, 'items'], Immutable.List()), - (state) => state.get('statuses'), - (state) => state.getIn(['meta', 'me']) -], (columnSettings, statusIds, statuses, me) => statusIds.filter(id => { - const statusForId = statuses.get(id); - let showStatus = true; - - if (columnSettings.getIn(['shows', 'reblog']) === false) { - showStatus = showStatus && statusForId.get('reblog') === null; - } - - if (columnSettings.getIn(['shows', 'reply']) === false) { - showStatus = showStatus && (statusForId.get('in_reply_to_id') === null || statusForId.get('in_reply_to_account_id') === me); - } - - if (columnSettings.getIn(['regex', 'body'], '').trim().length > 0) { - try { - if (showStatus) { - const regex = new RegExp(columnSettings.getIn(['regex', 'body']).trim(), 'i'); - showStatus = !regex.test(statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'unescaped_content']) : statusForId.get('unescaped_content')); - } - } catch(e) { - // Bad regex, don't affect filters - } - } - - return showStatus; -})); - -const makeMapStateToProps = () => { - const getStatusIds = makeGetStatusIds(); - - const mapStateToProps = (state, props) => ({ - scrollKey: props.scrollKey, - shouldUpdateScroll: props.shouldUpdateScroll, - statusIds: getStatusIds(state, props), - isLoading: state.getIn(['timelines', props.type, 'isLoading'], true), - isUnread: state.getIn(['timelines', props.type, 'unread']) > 0, - hasMore: !!state.getIn(['timelines', props.type, 'next']) - }); - - return mapStateToProps; -}; - -const mapDispatchToProps = (dispatch, { type, id }) => ({ - - @debounce(300, true) - onScrollToBottom () { - dispatch(scrollTopTimeline(type, false)); - dispatch(expandTimeline(type, id)); - }, - - @debounce(100) - onScrollToTop () { - dispatch(scrollTopTimeline(type, true)); - }, - - @debounce(100) - onScroll () { - dispatch(scrollTopTimeline(type, false)); - } - -}); - -export default connect(makeMapStateToProps, mapDispatchToProps)(StatusList); -- cgit