X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;ds=sidebyside;f=priv%2Fstatic%2Fpacks%2Fflavours%2Fglitch%2Fasync%2Fhashtag_timeline.js.map;h=21504d3ffa70770dac12fd321d4768b9eeb1fd8c;hb=05cad042ba05ff1c636128c7ef1f4b20cf5f5c06;hp=e1f3188ba66d7d6c0159eadcb064a0ffc85aec55;hpb=de0c1c641a1709cf393aecc3ef666d827ef5ebde;p=akkoma
diff --git a/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map b/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map
index e1f3188ba..21504d3ff 100644
--- a/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map
+++ b/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/index.js"],"names":["ColumnSettings","injectIntl","open","_this","hasTags","mode","value","props","onChange","state","setState","_this2","this","map","tags","length","includes","settings","getIn","toJSON","modeSelect","Object","jsx","className","modeLabel","Async_default","a","isMulti","autoFocus","settingPath","onSelect","loadOptions","onLoad","classNamePrefix","name","index_es","id","defaultMessage","render","component_default","onToggle","checked","React","PureComponent","connect","_ref","columnId","columns","index","findIndex","c","get","dispatch","_ref2","key","changeColumnParams","api","params","q","then","response","data","hashtags","tag","label","HashtagTimeline","hasUnread","_this$props","removeColumn","addColumn","title","additionalFor","push","values","additional","join","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props$params","expandHashtagTimeline","_subscribe","any","all","none","concat","disconnects","connectHashtagStream","status","filter","_unsubscribe","disconnect","componentDidMount","_this$props$params2","componentWillReceiveProps","nextProps","_this$props3","_nextProps$params","isEqual_default","clearTimeline","componentWillUnmount","_this$props4","multiColumn","pinned","react_default","createElement","ref","setRef","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","column_settings_container","status_list_container","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage"],"mappings":"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","file":"flavours/glitch/async/hashtag_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport AsyncSelect from 'react-select/lib/Async';\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onLoad: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: this.hasTags(),\n };\n\n hasTags () {\n return ['all', 'any', 'none'].map(mode => this.tags(mode).length > 0).includes(true);\n }\n\n tags (mode) {\n let tags = this.props.settings.getIn(['tags', mode]) || [];\n if (tags.toJSON) {\n return tags.toJSON();\n } else {\n return tags;\n }\n };\n\n onSelect = (mode) => {\n return (value) => {\n this.props.onChange(['tags', mode], value);\n };\n };\n\n onToggle = () => {\n if (this.state.open && this.hasTags()) {\n this.props.onChange('tags', {});\n }\n this.setState({ open: !this.state.open });\n };\n\n modeSelect (mode) {\n return (\n
\n {this.modeLabel(mode)}\n
\n
\n );\n }\n\n modeLabel (mode) {\n switch(mode) {\n case 'any': return ;\n case 'all': return ;\n case 'none': return ;\n }\n return '';\n };\n\n render () {\n return (\n \n
\n {this.state.open &&\n
\n {this.modeSelect('any')}\n {this.modeSelect('all')}\n {this.modeSelect('none')}\n
\n }\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeColumnParams } from 'flavours/glitch/actions/columns';\nimport api from 'flavours/glitch/util/api';\n\nconst mapStateToProps = (state, { columnId }) => {\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === columnId);\n\n if (!(columnId && index >= 0)) {\n return {};\n }\n\n return { settings: columns.get(index).get('params') };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => ({\n onChange (key, value) {\n dispatch(changeColumnParams(columnId, key, value));\n },\n\n onLoad (value) {\n return api().get('/api/v2/search', { params: { q: value } }).then(response => {\n return (response.data.hashtags || []).map((tag) => {\n return { value: tag.name, label: `#${tag.name}` };\n });\n });\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { FormattedMessage } from 'react-intl';\nimport { connectHashtagStream } from 'flavours/glitch/actions/streaming';\nimport { isEqual } from 'lodash';\n\nconst mapStateToProps = (state, props) => ({\n hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\nexport default class HashtagTimeline extends React.PureComponent {\n\n disconnects = [];\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n dispatch: PropTypes.func.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HASHTAG', { id: this.props.params.id }));\n }\n }\n\n title = () => {\n let title = [this.props.params.id];\n if (this.additionalFor('any')) {\n title.push(' ', );\n }\n if (this.additionalFor('all')) {\n title.push(' ', );\n }\n if (this.additionalFor('none')) {\n title.push(' ', );\n }\n return title;\n }\n\n additionalFor = (mode) => {\n const { tags } = this.props.params;\n\n if (tags && (tags[mode] || []).length > 0) {\n return tags[mode].map(tag => tag.value).join('/');\n } else {\n return '';\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n _subscribe (dispatch, id, tags = {}) {\n let any = (tags.any || []).map(tag => tag.value);\n let all = (tags.all || []).map(tag => tag.value);\n let none = (tags.none || []).map(tag => tag.value);\n\n [id, ...any].map((tag) => {\n this.disconnects.push(dispatch(connectHashtagStream(id, tag, (status) => {\n let tags = status.tags.map(tag => tag.name);\n return all.filter(tag => tags.includes(tag)).length === all.length &&\n none.filter(tag => tags.includes(tag)).length === 0;\n })));\n });\n }\n\n _unsubscribe () {\n this.disconnects.map(disconnect => disconnect());\n this.disconnects = [];\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n const { id, tags } = this.props.params;\n\n dispatch(expandHashtagTimeline(id, { tags }));\n }\n\n componentWillReceiveProps (nextProps) {\n const { dispatch, params } = this.props;\n const { id, tags } = nextProps.params;\n if (id !== params.id || !isEqual(tags, params.tags)) {\n this._unsubscribe();\n this._subscribe(dispatch, id, tags);\n this.props.dispatch(clearTimeline(`hashtag:${id}`));\n this.props.dispatch(expandHashtagTimeline(id, { tags }));\n }\n }\n\n componentWillUnmount () {\n this._unsubscribe();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { id, tags } = this.props.params;\n this.props.dispatch(expandHashtagTimeline(id, { maxId, tags }));\n }\n\n render () {\n const { hasUnread, columnId, multiColumn } = this.props;\n const { id } = this.props.params;\n const pinned = !!columnId;\n\n return (\n \n \n {columnId && }\n \n\n }\n />\n \n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/index.js"],"names":["messages","defineMessages","placeholder","id","defaultMessage","noOptions","ColumnSettings","injectIntl","open","_this","hasTags","mode","value","props","onChange","state","setState","intl","formatMessage","_this2","this","map","tags","length","includes","settings","getIn","toJSON","modeSelect","Object","jsx","className","modeLabel","Async_default","a","isMulti","autoFocus","onSelect","loadOptions","onLoad","classNamePrefix","name","noOptionsMessage","index_es","render","component_default","onToggle","checked","React","PureComponent","connect","_ref","columnId","columns","index","findIndex","c","get","dispatch","_ref2","key","changeColumnParams","api","params","q","then","response","data","hashtags","tag","label","HashtagTimeline","hasUnread","_this$props","removeColumn","addColumn","title","additionalFor","push","values","additional","join","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props$params","expandHashtagTimeline","_subscribe","any","all","none","concat","disconnects","connectHashtagStream","status","filter","_unsubscribe","disconnect","componentDidMount","_this$props$params2","componentWillReceiveProps","nextProps","_this$props3","_nextProps$params","isEqual_default","clearTimeline","componentWillUnmount","_this$props4","multiColumn","pinned","react_default","createElement","ref","setRef","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","column_settings_container","status_list_container","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage"],"mappings":"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","file":"flavours/glitch/async/hashtag_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport AsyncSelect from 'react-select/lib/Async';\n\nconst messages = defineMessages({\n placeholder: { id: 'hashtag.column_settings.select.placeholder', defaultMessage: 'Enter hashtagsâ¦' },\n noOptions: { id: 'hashtag.column_settings.select.no_options_message', defaultMessage: 'No suggestions found' },\n});\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onLoad: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: this.hasTags(),\n };\n\n hasTags () {\n return ['all', 'any', 'none'].map(mode => this.tags(mode).length > 0).includes(true);\n }\n\n tags (mode) {\n let tags = this.props.settings.getIn(['tags', mode]) || [];\n\n if (tags.toJSON) {\n return tags.toJSON();\n } else {\n return tags;\n }\n };\n\n onSelect = mode => value => this.props.onChange(['tags', mode], value);\n\n onToggle = () => {\n if (this.state.open && this.hasTags()) {\n this.props.onChange('tags', {});\n }\n\n this.setState({ open: !this.state.open });\n };\n\n noOptionsMessage = () => this.props.intl.formatMessage(messages.noOptions);\n\n modeSelect (mode) {\n return (\n \n
\n {this.modeLabel(mode)}\n \n\n
\n
\n );\n }\n\n modeLabel (mode) {\n switch(mode) {\n case 'any':\n return ;\n case 'all':\n return ;\n case 'none':\n return ;\n default:\n return '';\n }\n };\n\n render () {\n return (\n \n
\n\n {this.state.open && (\n
\n {this.modeSelect('any')}\n {this.modeSelect('all')}\n {this.modeSelect('none')}\n
\n )}\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeColumnParams } from 'flavours/glitch/actions/columns';\nimport api from 'flavours/glitch/util/api';\n\nconst mapStateToProps = (state, { columnId }) => {\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === columnId);\n\n if (!(columnId && index >= 0)) {\n return {};\n }\n\n return { settings: columns.get(index).get('params') };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => ({\n onChange (key, value) {\n dispatch(changeColumnParams(columnId, key, value));\n },\n\n onLoad (value) {\n return api().get('/api/v2/search', { params: { q: value } }).then(response => {\n return (response.data.hashtags || []).map((tag) => {\n return { value: tag.name, label: `#${tag.name}` };\n });\n });\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { FormattedMessage } from 'react-intl';\nimport { connectHashtagStream } from 'flavours/glitch/actions/streaming';\nimport { isEqual } from 'lodash';\n\nconst mapStateToProps = (state, props) => ({\n hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\nexport default class HashtagTimeline extends React.PureComponent {\n\n disconnects = [];\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n dispatch: PropTypes.func.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HASHTAG', { id: this.props.params.id }));\n }\n }\n\n title = () => {\n let title = [this.props.params.id];\n\n if (this.additionalFor('any')) {\n title.push(' ', );\n }\n\n if (this.additionalFor('all')) {\n title.push(' ', );\n }\n\n if (this.additionalFor('none')) {\n title.push(' ', );\n }\n\n return title;\n }\n\n additionalFor = (mode) => {\n const { tags } = this.props.params;\n\n if (tags && (tags[mode] || []).length > 0) {\n return tags[mode].map(tag => tag.value).join('/');\n } else {\n return '';\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n _subscribe (dispatch, id, tags = {}) {\n let any = (tags.any || []).map(tag => tag.value);\n let all = (tags.all || []).map(tag => tag.value);\n let none = (tags.none || []).map(tag => tag.value);\n\n [id, ...any].map(tag => {\n this.disconnects.push(dispatch(connectHashtagStream(id, tag, status => {\n let tags = status.tags.map(tag => tag.name);\n\n return all.filter(tag => tags.includes(tag)).length === all.length &&\n none.filter(tag => tags.includes(tag)).length === 0;\n })));\n });\n }\n\n _unsubscribe () {\n this.disconnects.map(disconnect => disconnect());\n this.disconnects = [];\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n const { id, tags } = this.props.params;\n\n this._subscribe(dispatch, id, tags);\n dispatch(expandHashtagTimeline(id, { tags }));\n }\n\n componentWillReceiveProps (nextProps) {\n const { dispatch, params } = this.props;\n const { id, tags } = nextProps.params;\n\n if (id !== params.id || !isEqual(tags, params.tags)) {\n this._unsubscribe();\n this._subscribe(dispatch, id, tags);\n this.props.dispatch(clearTimeline(`hashtag:${id}`));\n this.props.dispatch(expandHashtagTimeline(id, { tags }));\n }\n }\n\n componentWillUnmount () {\n this._unsubscribe();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { id, tags } = this.props.params;\n this.props.dispatch(expandHashtagTimeline(id, { maxId, tags }));\n }\n\n render () {\n const { hasUnread, columnId, multiColumn } = this.props;\n const { id } = this.props.params;\n const pinned = !!columnId;\n\n return (\n \n \n {columnId && }\n \n\n }\n />\n \n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file