pleroma/priv/static/packs/modals/report_modal.js.map

1 line
14 KiB
Plaintext

{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/report/components/status_check_box.js","webpack:///./app/javascript/mastodon/features/report/containers/status_check_box_container.js","webpack:///./app/javascript/mastodon/features/ui/components/report_modal.js","webpack:///./node_modules/lodash/noop.js"],"names":["status_check_box_StatusCheckBox","render","_props","this","props","status","checked","onToggle","disabled","media","get","size","some","item","getIn","video","jsx_default","bundle","fetchComponent","async_components","loading","renderLoadingVideoPlayer","Component","preview","src","alt","width","height","inline","sensitive","onOpenVideo","noop_default","a","renderLoadingMediaGallery","onOpenMedia","className","status_content","component_default","onChange","react_default","PureComponent","status_check_box_container","Object","es","state","_ref","id","immutable","includes","dispatch","_ref2","e","reports","target","messages","index_es","close","defaultMessage","placeholder","submit","report_modal_ReportModal","getAccount","selectors","accountId","isSubmitting","account","comment","forward","statusIds","union","handleCommentChange","_this","value","handleForwardChange","handleSubmit","handleKeyDown","keyCode","ctrlKey","metaKey","componentDidMount","timelines","withReplies","componentWillReceiveProps","nextProps","intl","onClose","domain","split","icon_button","title","formatMessage","icon","onClick","values","onKeyDown","htmlFor","components_button","text","map","statusId","react_immutable_pure_component_es","propTypes","prop_types_default","bool","ImmutablePropTypes_default","orderedSet","isRequired","string","func","object","module","exports"],"mappings":"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","file":"modals/report_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Toggle from 'react-toggle';\nimport noop from 'lodash/noop';\nimport StatusContent from '../../../components/status_content';\nimport { MediaGallery, Video } from '../../ui/util/async-components';\nimport Bundle from '../../ui/components/bundle';\n\nexport default class StatusCheckBox extends React.PureComponent {\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n checked: PropTypes.bool,\n onToggle: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n };\n\n render () {\n const { status, checked, onToggle, disabled } = this.props;\n let media = null;\n\n if (status.get('reblog')) {\n return null;\n }\n\n if (status.get('media_attachments').size > 0) {\n if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n\n } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n const video = status.getIn(['media_attachments', 0]);\n\n media = (\n <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >\n {Component => (\n <Component\n preview={video.get('preview_url')}\n src={video.get('url')}\n alt={video.get('description')}\n width={239}\n height={110}\n inline\n sensitive={status.get('sensitive')}\n onOpenVideo={noop}\n />\n )}\n </Bundle>\n );\n } else {\n media = (\n <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >\n {Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} height={110} onOpenMedia={noop} />}\n </Bundle>\n );\n }\n }\n\n return (\n <div className='status-check-box'>\n <div className='status-check-box__status'>\n <StatusContent status={status} />\n {media}\n </div>\n\n <div className='status-check-box-toggle'>\n <Toggle checked={checked} onChange={onToggle} disabled={disabled} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport StatusCheckBox from '../components/status_check_box';\nimport { toggleStatusReport } from '../../../actions/reports';\nimport { Set as ImmutableSet } from 'immutable';\n\nconst mapStateToProps = (state, { id }) => ({\n status: state.getIn(['statuses', id]),\n checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id),\n});\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n\n onToggle (e) {\n dispatch(toggleStatusReport(id, e.target.checked));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { changeReportComment, changeReportForward, submitReport } from '../../../actions/reports';\nimport { expandAccountTimeline } from '../../../actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from '../../../selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from '../../report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from '../../../components/button';\nimport Toggle from 'react-toggle';\nimport IconButton from '../../../components/icon_button';\n\nconst messages = defineMessages({\n close: { id: 'lightbox.close', defaultMessage: 'Close' },\n placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },\n submit: { id: 'report.submit', defaultMessage: 'Submit' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = state => {\n const accountId = state.getIn(['reports', 'new', 'account_id']);\n\n return {\n isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n account: getAccount(state, accountId),\n comment: state.getIn(['reports', 'new', 'comment']),\n forward: state.getIn(['reports', 'new', 'forward']),\n statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])),\n };\n };\n\n return mapStateToProps;\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class ReportModal extends ImmutablePureComponent {\n\n static propTypes = {\n isSubmitting: PropTypes.bool,\n account: ImmutablePropTypes.map,\n statusIds: ImmutablePropTypes.orderedSet.isRequired,\n comment: PropTypes.string.isRequired,\n forward: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleCommentChange = e => {\n this.props.dispatch(changeReportComment(e.target.value));\n }\n\n handleForwardChange = e => {\n this.props.dispatch(changeReportForward(e.target.checked));\n }\n\n handleSubmit = () => {\n this.props.dispatch(submitReport());\n }\n\n handleKeyDown = e => {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n this.handleSubmit();\n }\n }\n\n componentDidMount () {\n this.props.dispatch(expandAccountTimeline(this.props.account.get('id'), { withReplies: true }));\n }\n\n componentWillReceiveProps (nextProps) {\n if (this.props.account !== nextProps.account && nextProps.account) {\n this.props.dispatch(expandAccountTimeline(nextProps.account.get('id'), { withReplies: true }));\n }\n }\n\n render () {\n const { account, comment, intl, statusIds, isSubmitting, forward, onClose } = this.props;\n\n if (!account) {\n return null;\n }\n\n const domain = account.get('acct').split('@')[1];\n\n return (\n <div className='modal-root__modal report-modal'>\n <div className='report-modal__target'>\n <IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={16} />\n <FormattedMessage id='report.target' defaultMessage='Report {target}' values={{ target: <strong>{account.get('acct')}</strong> }} />\n </div>\n\n <div className='report-modal__container'>\n <div className='report-modal__comment'>\n <p><FormattedMessage id='report.hint' defaultMessage='The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:' /></p>\n\n <textarea\n className='setting-text light'\n placeholder={intl.formatMessage(messages.placeholder)}\n value={comment}\n onChange={this.handleCommentChange}\n onKeyDown={this.handleKeyDown}\n disabled={isSubmitting}\n />\n\n {domain && (\n <div>\n <p><FormattedMessage id='report.forward_hint' defaultMessage='The account is from another server. Send an anonymized copy of the report there as well?' /></p>\n\n <div className='setting-toggle'>\n <Toggle id='report-forward' checked={forward} disabled={isSubmitting} onChange={this.handleForwardChange} />\n <label htmlFor='report-forward' className='setting-toggle__label'><FormattedMessage id='report.forward' defaultMessage='Forward to {target}' values={{ target: domain }} /></label>\n </div>\n </div>\n )}\n\n <Button disabled={isSubmitting} text={intl.formatMessage(messages.submit)} onClick={this.handleSubmit} />\n </div>\n\n <div className='report-modal__statuses'>\n <div>\n {statusIds.map(statusId => <StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />)}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n}\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n"],"sourceRoot":""}