Merge branch 'fix/attachments-cleanup' into 'develop'
[akkoma] / priv / static / packs / features / list_timeline.js.map
index 7aa93455a79a3d58fa4ab56cec00e922c7a0afff..9113e40c857d50c48d393b7ea4e4d15beebf97d8 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/list_timeline/index.js"],"names":["messages","Object","react_intl__WEBPACK_IMPORTED_MODULE_12__","deleteMessage","id","defaultMessage","deleteConfirm","ListTimeline","react_redux__WEBPACK_IMPORTED_MODULE_5__","state","props","list","getIn","params","hasUnread","handlePin","_this$props","_this","columnId","dispatch","_actions_columns__WEBPACK_IMPORTED_MODULE_11__","context","router","history","push","handleMove","dir","_this$props2","handleHeaderClick","column","scrollTop","setRef","c","handleLoadMore","maxId","_actions_timelines__WEBPACK_IMPORTED_MODULE_14__","handleEditClick","_actions_modal__WEBPACK_IMPORTED_MODULE_16__","listId","handleDeleteClick","_this$props3","intl","message","formatMessage","confirm","onConfirm","_actions_lists__WEBPACK_IMPORTED_MODULE_15__","componentDidMount","this","disconnect","_actions_streaming__WEBPACK_IMPORTED_MODULE_13__","componentWillUnmount","render","_props","shouldUpdateScroll","multiColumn","pinned","title","get","babel_runtime_helpers_jsx__WEBPACK_IMPORTED_MODULE_0___default","_components_column__WEBPACK_IMPORTED_MODULE_8__","className","_components_loading_indicator__WEBPACK_IMPORTED_MODULE_18__","_components_column_back_button__WEBPACK_IMPORTED_MODULE_9__","_components_missing_indicator__WEBPACK_IMPORTED_MODULE_17__","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","ref","label","_components_column_header__WEBPACK_IMPORTED_MODULE_10__","icon","active","onPin","onMove","onClick","tabIndex","_ui_containers_status_list_container__WEBPACK_IMPORTED_MODULE_7__","trackScroll","scrollKey","timelineId","onLoadMore","emptyMessage","PureComponent","contextTypes","prop_types__WEBPACK_IMPORTED_MODULE_6___default","object"],"mappings":"6VAiBMA,EAAWC,OAAAC,EAAA,EAAAD,EACfE,eAAAC,GAAA,oCAAAC,eAAA,0DACAC,eAAAF,GAAA,oCAAAC,eAAA,YAUmBE,EAFpBN,OAAAO,EAAA,QAAAP,CALuB,SAACQ,EAAOC,GAAR,OACtBC,KAAMF,EAAMG,OAAO,QAASF,EAAMG,OAAOT,KACzCU,UAAWL,EAAMG,OAAO,YAAD,QAAsBF,EAAMG,OAAOT,GAAM,WAAa,OAI9EH,OAAAC,EAAA,EAAAD,iLAkBCc,UAAY,WAAM,IAAAC,EACeC,EAAKP,MAA5BQ,EADQF,EACRE,SAAUC,EADFH,EACEG,SAEdD,EACFC,EAASlB,OAAAmB,EAAA,EAAAnB,CAAaiB,KAEtBC,EAASlB,OAAAmB,EAAA,EAAAnB,CAAU,QAAUG,GAAIa,EAAKP,MAAMG,OAAOT,MACnDa,EAAKI,QAAQC,OAAOC,QAAQC,KAAK,SAIrCC,WAAa,SAACC,GAAQ,IAAAC,EACWV,EAAKP,MAA5BQ,EADYS,EACZT,UACRC,EAFoBQ,EACFR,UACTlB,OAAAmB,EAAA,EAAAnB,CAAWiB,EAAUQ,OAGhCE,kBAAoB,WAClBX,EAAKY,OAAOC,eAoBdC,OAAS,SAAAC,GACPf,EAAKY,OAASG,KAGhBC,eAAiB,SAAAC,GAAS,IAChB9B,EAAOa,EAAKP,MAAMG,OAAlBT,GACRa,EAAKP,MAAMS,SAASlB,OAAAkC,EAAA,EAAAlC,CAAmBG,GAAM8B,cAG/CE,gBAAkB,WAChBnB,EAAKP,MAAMS,SAASlB,OAAAoC,EAAA,EAAApC,CAAU,eAAiBqC,OAAQrB,EAAKP,MAAMG,OAAOT,SAG3EmC,kBAAoB,WAAM,IAAAC,EACavB,EAAKP,MAAlCS,EADgBqB,EAChBrB,SAAUD,EADMsB,EACNtB,SAAUuB,EADJD,EACIC,KACpBrC,EAAOa,EAAKP,MAAMG,OAAlBT,GAERe,EAASlB,OAAAoC,EAAA,EAAApC,CAAU,WACjByC,QAASD,EAAKE,cAAc3C,EAASG,eACrCyC,QAASH,EAAKE,cAAc3C,EAASM,eACrCuC,UAAW,WACT1B,EAASlB,OAAA6C,EAAA,EAAA7C,CAAWG,IAEdc,EACJC,EAASlB,OAAAmB,EAAA,EAAAnB,CAAaiB,IAEtBD,EAAKI,QAAQC,OAAOC,QAAQC,KAAK,wDA3CzCuB,6BAAqB,IACX5B,EAAa6B,KAAKtC,MAAlBS,SACAf,EAAO4C,KAAKtC,MAAMG,OAAlBT,GAERe,EAASlB,OAAA6C,EAAA,EAAA7C,CAAUG,IACnBe,EAASlB,OAAAkC,EAAA,EAAAlC,CAAmBG,IAE5B4C,KAAKC,WAAa9B,EAASlB,OAAAiD,EAAA,EAAAjD,CAAkBG,iBAG/C+C,gCACMH,KAAKC,aACPD,KAAKC,aACLD,KAAKC,WAAa,mBAoCtBG,kBAAU,IAAAC,EAC+DL,KAAKtC,MAApE4C,EADAD,EACAC,mBAAoBxC,EADpBuC,EACoBvC,UAAWI,EAD/BmC,EAC+BnC,SAAUqC,EADzCF,EACyCE,YAAa5C,EADtD0C,EACsD1C,KACtDP,EAAO4C,KAAKtC,MAAMG,OAAlBT,GACFoD,IAAWtC,EACXuC,EAAS9C,EAAOA,EAAK+C,IAAI,SAAWtD,EAE1C,YAAoB,IAATO,EACTgD,IACGC,EAAA,UADH,EAAAD,IAAA,OAAAE,UAEmB,mBAFnB,EAAAF,IAGOG,EAAA,SAIW,IAATnD,EACTgD,IACGC,EAAA,UADH,EAAAD,IAEKI,EAAA,MAFLJ,IAGKK,EAAA,OAMLC,EAAAC,EAAAC,cAACP,EAAA,GAAOQ,IAAKpB,KAAKjB,OAAQsC,MAAOZ,GAAjCE,IACGW,EAAA,GADHC,KAES,UAFTC,OAGY1D,EAHZ2C,MAIWA,EAJXgB,MAKWzB,KAAKjC,UALhB2D,OAMY1B,KAAKvB,WANjBkD,QAOa3B,KAAKpB,kBAPlB4B,OAQYA,EARZD,YASiBA,QATjB,EAAAI,IAAA,OAAAE,UAWmB,6BAXnB,EAAAF,IAAA,UAAAE,UAYwB,sCAZxBe,SAYuE,IAZvED,QAYoF3B,KAAKZ,sBAZzF,EAAAuB,IAAA,KAAAE,UAaqB,iBAbrB,IAAAF,IAawCzD,EAAA,GAbxCE,GAa4D,aAb5DC,eAawF,eAbxFsD,IAAA,UAAAE,UAgBwB,sCAhBxBe,SAgBuE,IAhBvED,QAgBoF3B,KAAKT,wBAhBzF,EAAAoB,IAAA,KAAAE,UAiBqB,gBAjBrB,IAAAF,IAiBuCzD,EAAA,GAjBvCE,GAiB2D,eAjB3DC,eAiByF,kBAjBzFsD,IAAA,UAAAA,IAwBGkB,EAAA,GAxBHC,aAyBkBtB,EAzBlBuB,UAAA,iBA0BgC7D,EA1BhC8D,WAAA,QA2BwB5E,EA3BxB6E,WA4BgBjC,KAAKf,eA5BrBiD,aAAAvB,IA6BmBzD,EAAA,GA7BnBE,GA6BuC,oBA7BvCC,eA6B0E,2GA7B1EiD,mBA8BwBA,SA5IYW,EAAAC,EAAMiB,iBAEvCC,cACL9D,OAAQ+D,EAAAnB,EAAUoB","file":"features/list_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ColumnHeader from '../../components/column_header';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport { FormattedMessage, defineMessages, injectIntl } from 'react-intl';\nimport { connectListStream } from '../../actions/streaming';\nimport { expandListTimeline } from '../../actions/timelines';\nimport { fetchList, deleteList } from '../../actions/lists';\nimport { openModal } from '../../actions/modal';\nimport MissingIndicator from '../../components/missing_indicator';\nimport LoadingIndicator from '../../components/loading_indicator';\n\nconst messages = defineMessages({\n  deleteMessage: { id: 'confirmations.delete_list.message', defaultMessage: 'Are you sure you want to permanently delete this list?' },\n  deleteConfirm: { id: 'confirmations.delete_list.confirm', defaultMessage: 'Delete' },\n});\n\nconst mapStateToProps = (state, props) => ({\n  list: state.getIn(['lists', props.params.id]),\n  hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class ListTimeline extends React.PureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    params: PropTypes.object.isRequired,\n    dispatch: PropTypes.func.isRequired,\n    shouldUpdateScroll: PropTypes.func,\n    columnId: PropTypes.string,\n    hasUnread: PropTypes.bool,\n    multiColumn: PropTypes.bool,\n    list: PropTypes.oneOfType([ImmutablePropTypes.map, PropTypes.bool]),\n    intl: PropTypes.object.isRequired,\n  };\n\n  handlePin = () => {\n    const { columnId, dispatch } = this.props;\n\n    if (columnId) {\n      dispatch(removeColumn(columnId));\n    } else {\n      dispatch(addColumn('LIST', { id: this.props.params.id }));\n      this.context.router.history.push('/');\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  componentDidMount () {\n    const { dispatch } = this.props;\n    const { id } = this.props.params;\n\n    dispatch(fetchList(id));\n    dispatch(expandListTimeline(id));\n\n    this.disconnect = dispatch(connectListStream(id));\n  }\n\n  componentWillUnmount () {\n    if (this.disconnect) {\n      this.disconnect();\n      this.disconnect = null;\n    }\n  }\n\n  setRef = c => {\n    this.column = c;\n  }\n\n  handleLoadMore = maxId => {\n    const { id } = this.props.params;\n    this.props.dispatch(expandListTimeline(id, { maxId }));\n  }\n\n  handleEditClick = () => {\n    this.props.dispatch(openModal('LIST_EDITOR', { listId: this.props.params.id }));\n  }\n\n  handleDeleteClick = () => {\n    const { dispatch, columnId, intl } = this.props;\n    const { id } = this.props.params;\n\n    dispatch(openModal('CONFIRM', {\n      message: intl.formatMessage(messages.deleteMessage),\n      confirm: intl.formatMessage(messages.deleteConfirm),\n      onConfirm: () => {\n        dispatch(deleteList(id));\n\n        if (!!columnId) {\n          dispatch(removeColumn(columnId));\n        } else {\n          this.context.router.history.push('/lists');\n        }\n      },\n    }));\n  }\n\n  render () {\n    const { shouldUpdateScroll, hasUnread, columnId, multiColumn, list } = this.props;\n    const { id } = this.props.params;\n    const pinned = !!columnId;\n    const title  = list ? list.get('title') : id;\n\n    if (typeof list === 'undefined') {\n      return (\n        <Column>\n          <div className='scrollable'>\n            <LoadingIndicator />\n          </div>\n        </Column>\n      );\n    } else if (list === false) {\n      return (\n        <Column>\n          <ColumnBackButton />\n          <MissingIndicator />\n        </Column>\n      );\n    }\n\n    return (\n      <Column ref={this.setRef} label={title}>\n        <ColumnHeader\n          icon='list-ul'\n          active={hasUnread}\n          title={title}\n          onPin={this.handlePin}\n          onMove={this.handleMove}\n          onClick={this.handleHeaderClick}\n          pinned={pinned}\n          multiColumn={multiColumn}\n        >\n          <div className='column-header__links'>\n            <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleEditClick}>\n              <i className='fa fa-pencil' /> <FormattedMessage id='lists.edit' defaultMessage='Edit list' />\n            </button>\n\n            <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleDeleteClick}>\n              <i className='fa fa-trash' /> <FormattedMessage id='lists.delete' defaultMessage='Delete list' />\n            </button>\n          </div>\n\n          <hr />\n        </ColumnHeader>\n\n        <StatusListContainer\n          trackScroll={!pinned}\n          scrollKey={`list_timeline-${columnId}`}\n          timelineId={`list:${id}`}\n          onLoadMore={this.handleLoadMore}\n          emptyMessage={<FormattedMessage id='empty_column.list' defaultMessage='There is nothing in this list yet. When members of this list post new statuses, they will appear here.' />}\n          shouldUpdateScroll={shouldUpdateScroll}\n        />\n      </Column>\n    );\n  }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/list_timeline/index.js"],"names":["messages","defineMessages","deleteMessage","deleteConfirm","ListTimeline","connect","state","props","list","getIn","params","id","hasUnread","injectIntl","columnId","dispatch","removeColumn","addColumn","context","router","history","push","dir","moveColumn","column","scrollTop","c","maxId","expandListTimeline","openModal","listId","intl","message","formatMessage","confirm","onConfirm","deleteList","componentDidMount","this","fetchList","disconnect","connectListStream","componentWillReceiveProps","nextProps","componentWillUnmount","render","shouldUpdateScroll","multiColumn","pinned","title","get","className","bindToDocument","ref","setRef","label","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","tabIndex","handleEditClick","defaultMessage","handleDeleteClick","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage","React","PureComponent","PropTypes","object"],"mappings":"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","file":"features/list_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusListContainer from '../ui/containers/status_list_container';\nimport Column from '../../components/column';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ColumnHeader from '../../components/column_header';\nimport { addColumn, removeColumn, moveColumn } from '../../actions/columns';\nimport { FormattedMessage, defineMessages, injectIntl } from 'react-intl';\nimport { connectListStream } from '../../actions/streaming';\nimport { expandListTimeline } from '../../actions/timelines';\nimport { fetchList, deleteList } from '../../actions/lists';\nimport { openModal } from '../../actions/modal';\nimport MissingIndicator from '../../components/missing_indicator';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Icon from 'mastodon/components/icon';\n\nconst messages = defineMessages({\n  deleteMessage: { id: 'confirmations.delete_list.message', defaultMessage: 'Are you sure you want to permanently delete this list?' },\n  deleteConfirm: { id: 'confirmations.delete_list.confirm', defaultMessage: 'Delete' },\n});\n\nconst mapStateToProps = (state, props) => ({\n  list: state.getIn(['lists', props.params.id]),\n  hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0,\n});\n\nexport default @connect(mapStateToProps)\n@injectIntl\nclass ListTimeline extends React.PureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    params: PropTypes.object.isRequired,\n    dispatch: PropTypes.func.isRequired,\n    shouldUpdateScroll: PropTypes.func,\n    columnId: PropTypes.string,\n    hasUnread: PropTypes.bool,\n    multiColumn: PropTypes.bool,\n    list: PropTypes.oneOfType([ImmutablePropTypes.map, PropTypes.bool]),\n    intl: PropTypes.object.isRequired,\n  };\n\n  handlePin = () => {\n    const { columnId, dispatch } = this.props;\n\n    if (columnId) {\n      dispatch(removeColumn(columnId));\n    } else {\n      dispatch(addColumn('LIST', { id: this.props.params.id }));\n      this.context.router.history.push('/');\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  componentDidMount () {\n    const { dispatch } = this.props;\n    const { id } = this.props.params;\n\n    dispatch(fetchList(id));\n    dispatch(expandListTimeline(id));\n\n    this.disconnect = dispatch(connectListStream(id));\n  }\n\n  componentWillReceiveProps (nextProps) {\n    const { dispatch } = this.props;\n    const { id } = nextProps.params;\n\n    if (id !== this.props.params.id) {\n      if (this.disconnect) {\n        this.disconnect();\n        this.disconnect = null;\n      }\n\n      dispatch(fetchList(id));\n      dispatch(expandListTimeline(id));\n\n      this.disconnect = dispatch(connectListStream(id));\n    }\n  }\n\n  componentWillUnmount () {\n    if (this.disconnect) {\n      this.disconnect();\n      this.disconnect = null;\n    }\n  }\n\n  setRef = c => {\n    this.column = c;\n  }\n\n  handleLoadMore = maxId => {\n    const { id } = this.props.params;\n    this.props.dispatch(expandListTimeline(id, { maxId }));\n  }\n\n  handleEditClick = () => {\n    this.props.dispatch(openModal('LIST_EDITOR', { listId: this.props.params.id }));\n  }\n\n  handleDeleteClick = () => {\n    const { dispatch, columnId, intl } = this.props;\n    const { id } = this.props.params;\n\n    dispatch(openModal('CONFIRM', {\n      message: intl.formatMessage(messages.deleteMessage),\n      confirm: intl.formatMessage(messages.deleteConfirm),\n      onConfirm: () => {\n        dispatch(deleteList(id));\n\n        if (!!columnId) {\n          dispatch(removeColumn(columnId));\n        } else {\n          this.context.router.history.push('/lists');\n        }\n      },\n    }));\n  }\n\n  render () {\n    const { shouldUpdateScroll, hasUnread, columnId, multiColumn, list } = this.props;\n    const { id } = this.props.params;\n    const pinned = !!columnId;\n    const title  = list ? list.get('title') : id;\n\n    if (typeof list === 'undefined') {\n      return (\n        <Column>\n          <div className='scrollable'>\n            <LoadingIndicator />\n          </div>\n        </Column>\n      );\n    } else if (list === false) {\n      return (\n        <Column>\n          <ColumnBackButton multiColumn={multiColumn} />\n          <MissingIndicator />\n        </Column>\n      );\n    }\n\n    return (\n      <Column bindToDocument={!multiColumn} ref={this.setRef} label={title}>\n        <ColumnHeader\n          icon='list-ul'\n          active={hasUnread}\n          title={title}\n          onPin={this.handlePin}\n          onMove={this.handleMove}\n          onClick={this.handleHeaderClick}\n          pinned={pinned}\n          multiColumn={multiColumn}\n        >\n          <div className='column-header__links'>\n            <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleEditClick}>\n              <Icon id='pencil' /> <FormattedMessage id='lists.edit' defaultMessage='Edit list' />\n            </button>\n\n            <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleDeleteClick}>\n              <Icon id='trash' /> <FormattedMessage id='lists.delete' defaultMessage='Delete list' />\n            </button>\n          </div>\n        </ColumnHeader>\n\n        <StatusListContainer\n          trackScroll={!pinned}\n          scrollKey={`list_timeline-${columnId}`}\n          timelineId={`list:${id}`}\n          onLoadMore={this.handleLoadMore}\n          emptyMessage={<FormattedMessage id='empty_column.list' defaultMessage='There is nothing in this list yet. When members of this list post new statuses, they will appear here.' />}\n          shouldUpdateScroll={shouldUpdateScroll}\n          bindToDocument={!multiColumn}\n        />\n      </Column>\n    );\n  }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file