X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=priv%2Fstatic%2Fpacks%2Fflavours%2Fglitch%2Fasync%2Fnotifications.js.map;h=7a3ae0be5789937a9463477f5fcecb5dc3116f20;hb=604a83ae3efe21b231fb524203a883a062102546;hp=67224ae219b12f87514fcd58614f7e12cee282b2;hpb=4e72762322a5616ce426df62888ee3bc7af19dc8;p=akkoma
diff --git a/priv/static/packs/flavours/glitch/async/notifications.js.map b/priv/static/packs/flavours/glitch/async/notifications.js.map
index 67224ae21..7a3ae0be5 100644
--- a/priv/static/packs/flavours/glitch/async/notifications.js.map
+++ b/priv/static/packs/flavours/glitch/async/notifications.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/follow.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/notification.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/column_settings.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/filter_bar.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/index.js"],"names":["NotificationFollow","_this$props","_this","props","notification","onMoveUp","get","_this$props2","onMoveDown","handleOpenProfile","context","router","history","push","getIn","e","preventDefault","_this$props3","onMention","getHandlers","moveUp","this","handleMoveUp","moveDown","handleMoveDown","open","handleOpen","openProfile","mention","handleMention","reply","render","_this$props4","account","hidden","displayName","link","Object","jsx","permalink","className","href","title","to","dangerouslySetInnerHTML","__html","react_hotkeys_index_es","handlers","tabIndex","index_es","id","defaultMessage","values","name","account_container","withNote","overlay_container","ImmutablePureComponent","PropTypes","bool","string","isRequired","ImmutablePropTypes","map","Notification","getScrollPosition","updateScrollBottom","follow_NotificationFollow","status_container","containerId","contextType","cachedMediaWidth","cacheMediaWidth","onUnmount","withDismiss","prepend","muted","func","number","connect","getNotification","makeGetNotification","state","accountId","notifCleaning","dispatch","mentionCompose","ClearColumnButton","onClick","React","Component","ColumnSettings","path","checked","onChange","concat","settings","pushSettings","onClear","filterShowStr","filterAdvancedStr","alertStr","showStr","soundStr","showPushSettings","pushStr","pushMeta","clear_column_button_ClearColumnButton","role","aria-labelledby","setting_toggle","prefix","settingPath","label","meta","onPushChange","PureComponent","messages","defineMessages","clearMessage","clearConfirm","injectIntl","_ref","intl","changePushNotifications","slice","changeSetting","setFilter","openModal","message","formatMessage","confirm","onConfirm","clearNotifications","tooltips","mentions","favourites","boosts","follows","FilterBar","notificationType","selectFilter","selectedFilter","advancedMode","newActiveFilter","getNotifications","createSelector","ImmutableList","filter","item","keys","showFilterBar","allowedType","excludedTypes","notifications","filterNot","includes","Notifications","localSettings","isLoading","isUnread","hasMore","notifCleaningActive","onEnterCleaningMode","yes","enterNotificationClearingMode","onMount","mountNotifications","unmountNotifications","maxId","expandNotifications","debounce_default","last","leading","scrollTopNotifications","columnId","removeColumn","addColumn","dir","moveColumn","column","scrollTop","c","elementIndex","findIndex","_selectChild","index","element","node","querySelector","focus","componentDidMount","componentWillUnmount","_this2","shouldUpdateScroll","multiColumn","pinned","emptyMessage","scrollableContent","filterBarContainer","filter_bar_container","size","load_gap","disabled","handleLoadGap","notification_container","scrollContainer","scrollable_list","scrollKey","trackScroll","showLoading","onLoadMore","handleLoadOlder","onScrollToTop","handleScrollToTop","onScroll","handleScroll","react_default","a","createElement","ref","setColumnRef","extraClasses","column_header","icon","active","onPin","handlePin","onMove","handleMove","handleHeaderClick","column_settings_container"],"mappings":"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","file":"flavours/glitch/async/notifications.js","sourcesContent":["// Package imports.\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\n\n// Our imports.\nimport Permalink from 'flavours/glitch/components/permalink';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport NotificationOverlayContainer from '../containers/overlay_container';\n\nexport default class NotificationFollow extends ImmutablePureComponent {\n\n static propTypes = {\n hidden: PropTypes.bool,\n id: PropTypes.string.isRequired,\n account: ImmutablePropTypes.map.isRequired,\n notification: ImmutablePropTypes.map.isRequired,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n this.handleOpenProfile();\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n getHandlers () {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention,\n };\n }\n\n render () {\n const { account, notification, hidden } = this.props;\n\n // Links to the display name.\n const displayName = account.get('display_name_html') || account.get('username');\n const link = (\n \n );\n\n // Renders.\n return (\n \n \n \n );\n }\n\n}\n","// Package imports.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\n// Our imports,\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport NotificationFollow from './follow';\n\nexport default class Notification extends ImmutablePureComponent {\n\n static propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n getScrollPosition: PropTypes.func,\n updateScrollBottom: PropTypes.func,\n cacheMediaWidth: PropTypes.func,\n cachedMediaWidth: PropTypes.number,\n onUnmount: PropTypes.func,\n };\n\n render () {\n const {\n hidden,\n notification,\n onMoveDown,\n onMoveUp,\n onMention,\n getScrollPosition,\n updateScrollBottom,\n } = this.props;\n\n switch(notification.get('type')) {\n case 'follow':\n return (\n \n );\n case 'mention':\n return (\n \n );\n case 'favourite':\n return (\n \n );\n case 'reblog':\n return (\n \n );\n default:\n return null;\n }\n }\n\n}\n","// Package imports.\nimport { connect } from 'react-redux';\n\n// Our imports.\nimport { makeGetNotification } from 'flavours/glitch/selectors';\nimport Notification from '../components/notification';\nimport { mentionCompose } from 'flavours/glitch/actions/compose';\n\nconst makeMapStateToProps = () => {\n const getNotification = makeGetNotification();\n\n const mapStateToProps = (state, props) => ({\n notification: getNotification(state, props.notification, props.accountId),\n notifCleaning: state.getIn(['notifications', 'cleaningMode']),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n onMention: (account, router) => {\n dispatch(mentionCompose(account, router));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class ClearColumnButton extends React.Component {\n\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n \n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n pushSettings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n };\n\n onPushChange = (path, checked) => {\n this.props.onChange(['push', ...path], checked);\n }\n\n render () {\n const { settings, pushSettings, onChange, onClear } = this.props;\n\n const filterShowStr = ;\n const filterAdvancedStr = ;\n const alertStr = ;\n const showStr = ;\n const soundStr = ;\n\n const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n const pushStr = showPushSettings && ;\n const pushMeta = showPushSettings && ;\n\n return (\n
\n
\n \n
\n\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\nimport { setFilter } from 'flavours/glitch/actions/notifications';\nimport { clearNotifications } from 'flavours/glitch/actions/notifications';\nimport { changeAlerts as changePushNotifications } from 'flavours/glitch/actions/push_notifications';\nimport { openModal } from 'flavours/glitch/actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },\n clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' },\n});\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications'),\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onChange (path, checked) {\n if (path[0] === 'push') {\n dispatch(changePushNotifications(path.slice(1), checked));\n } else if (path[0] === 'quickFilter') {\n dispatch(changeSetting(['notifications', ...path], checked));\n dispatch(setFilter('all'));\n } else {\n dispatch(changeSetting(['notifications', ...path], checked));\n }\n },\n\n onClear () {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(clearNotifications()),\n }));\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\n\nconst tooltips = defineMessages({\n mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },\n favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favourites' },\n boosts: { id: 'notifications.filter.boosts', defaultMessage: 'Boosts' },\n follows: { id: 'notifications.filter.follows', defaultMessage: 'Follows' },\n});\n\nexport default @injectIntl\nclass FilterBar extends React.PureComponent {\n\n static propTypes = {\n selectFilter: PropTypes.func.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n advancedMode: PropTypes.bool.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n onClick (notificationType) {\n return () => this.props.selectFilter(notificationType);\n }\n\n render () {\n const { selectedFilter, advancedMode, intl } = this.props;\n const renderedElement = !advancedMode ? (\n \n \n \n
\n ) : (\n \n \n \n \n \n \n
\n );\n return renderedElement;\n }\n\n}\n","import { connect } from 'react-redux';\nimport FilterBar from '../components/filter_bar';\nimport { setFilter } from '../../../actions/notifications';\n\nconst makeMapStateToProps = state => ({\n selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n advancedMode: state.getIn(['settings', 'notifications', 'quickFilter', 'advanced']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n selectFilter (newActiveFilter) {\n dispatch(setFilter(newActiveFilter));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(FilterBar);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport {\n enterNotificationClearingMode,\n expandNotifications,\n scrollTopNotifications,\n mountNotifications,\n unmountNotifications,\n} from 'flavours/glitch/actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport FilterBarContainer from './containers/filter_bar_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\nimport { debounce } from 'lodash';\nimport ScrollableList from 'flavours/glitch/components/scrollable_list';\nimport LoadGap from 'flavours/glitch/components/load_gap';\n\nconst messages = defineMessages({\n title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n});\n\nconst getNotifications = createSelector([\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()),\n state => state.getIn(['notifications', 'items']),\n], (showFilterBar, allowedType, excludedTypes, notifications) => {\n if (!showFilterBar || allowedType === 'all') {\n // used if user changed the notification settings after loading the notifications from the server\n // otherwise a list of notifications will come pre-filtered from the backend\n // we need to turn it off for FilterBar in order not to block ourselves from seeing a specific category\n return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));\n }\n return notifications.filter(item => item !== null && allowedType === item.get('type'));\n});\n\nconst mapStateToProps = state => ({\n showFilterBar: state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n notifications: getNotifications(state),\n localSettings: state.get('local_settings'),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0,\n hasMore: state.getIn(['notifications', 'hasMore']),\n notifCleaningActive: state.getIn(['notifications', 'cleaningMode']),\n});\n\n/* glitch */\nconst mapDispatchToProps = dispatch => ({\n onEnterCleaningMode(yes) {\n dispatch(enterNotificationClearingMode(yes));\n },\n onMount() {\n dispatch(mountNotifications());\n },\n onUnmount() {\n dispatch(unmountNotifications());\n },\n dispatch,\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class Notifications extends React.PureComponent {\n\n static propTypes = {\n columnId: PropTypes.string,\n notifications: ImmutablePropTypes.list.isRequired,\n showFilterBar: PropTypes.bool.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n isUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n localSettings: ImmutablePropTypes.map,\n notifCleaningActive: PropTypes.bool,\n onEnterCleaningMode: PropTypes.func,\n onMount: PropTypes.func,\n onUnmount: PropTypes.func,\n };\n\n static defaultProps = {\n trackScroll: true,\n };\n\n handleLoadGap = (maxId) => {\n this.props.dispatch(expandNotifications({ maxId }));\n };\n\n handleLoadOlder = debounce(() => {\n const last = this.props.notifications.last();\n this.props.dispatch(expandNotifications({ maxId: last && last.get('id') }));\n }, 300, { leading: true });\n\n handleScrollToTop = debounce(() => {\n this.props.dispatch(scrollTopNotifications(true));\n }, 100);\n\n handleScroll = debounce(() => {\n this.props.dispatch(scrollTopNotifications(false));\n }, 100);\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\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 setColumnRef = c => {\n this.column = c;\n }\n\n handleMoveUp = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1;\n this._selectChild(elementIndex);\n }\n\n handleMoveDown = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1;\n this._selectChild(elementIndex);\n }\n\n _selectChild (index) {\n const element = this.column.node.querySelector(`article:nth-of-type(${index + 1}) .focusable`);\n\n if (element) {\n element.focus();\n }\n }\n\n componentDidMount () {\n const { onMount } = this.props;\n if (onMount) {\n onMount();\n }\n }\n\n componentWillUnmount () {\n const { onUnmount } = this.props;\n if (onUnmount) {\n onUnmount();\n }\n }\n\n render () {\n const { intl, notifications, shouldUpdateScroll, isLoading, isUnread, columnId, multiColumn, hasMore, showFilterBar } = this.props;\n const pinned = !!columnId;\n const emptyMessage = ;\n\n let scrollableContent = null;\n\n const filterBarContainer = showFilterBar\n ? ()\n : null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map((item, index) => item === null ? (\n 0 ? notifications.getIn([index - 1, 'id']) : null}\n onClick={this.handleLoadGap}\n />\n ) : (\n \n ));\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n const scrollContainer = (\n \n {scrollableContent}\n \n );\n\n return (\n \n \n \n \n {filterBarContainer}\n {scrollContainer}\n \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/flavours/glitch/features/notifications/components/follow.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/follow_request.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/follow_request_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/notification.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/column_settings.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/filter_bar.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/components/notification_purge_buttons.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/index.js"],"names":["NotificationFollow","props","notification","onMoveUp","get","onMoveDown","handleOpenProfile","context","router","history","push","getIn","e","preventDefault","onMention","getHandlers","moveUp","this","handleMoveUp","moveDown","handleMoveDown","open","handleOpen","openProfile","mention","handleMention","reply","render","account","hidden","displayName","link","className","href","title","to","dangerouslySetInnerHTML","__html","handlers","tabIndex","fixedWidth","id","defaultMessage","values","name","withNote","ImmutablePureComponent","PropTypes","bool","string","isRequired","ImmutablePropTypes","map","messages","defineMessages","authorize","reject","FollowRequest","injectIntl","intl","onAuthorize","onReject","size","formatMessage","icon","onClick","func","object","connect","dispatch","authorizeFollowRequest","rejectFollowRequest","Notification","getScrollPosition","updateScrollBottom","containerId","contextType","cachedMediaWidth","cacheMediaWidth","onUnmount","withDismiss","prepend","muted","number","getNotification","makeGetNotification","state","accountId","notifCleaning","mentionCompose","ClearColumnButton","React","Component","ColumnSettings","path","checked","onChange","settings","pushSettings","onClear","filterShowStr","filterAdvancedStr","alertStr","showStr","soundStr","showPushSettings","pushStr","pushMeta","role","aria-labelledby","prefix","settingPath","label","meta","onPushChange","PureComponent","clearMessage","clearConfirm","changePushNotifications","slice","changeSetting","setFilter","openModal","message","confirm","onConfirm","clearNotifications","tooltips","mentions","favourites","boosts","polls","follows","FilterBar","notificationType","selectFilter","selectedFilter","advancedMode","newActiveFilter","btnAll","btnNone","btnInvert","btnApply","NotificationPurgeButtons","markNewForDelete","onMarkAll","onMarkNone","onInvert","onDeleteMarked","onEnterCleaningMode","yes","enterNotificationClearingMode","deleteMarkedNotifications","markAllNotifications","enterNotifCleaning","getNotifications","createSelector","ImmutableList","filter","item","keys","showFilterBar","allowedType","excludedTypes","notifications","filterNot","includes","Notifications","localSettings","isLoading","isUnread","hasMore","numPending","notifCleaningActive","onMount","mountNotifications","unmountNotifications","animatingNCD","maxId","expandNotifications","last","leading","loadPending","scrollTopNotifications","columnId","removeColumn","addColumn","dir","moveColumn","column","scrollTop","c","elementIndex","findIndex","_selectChild","setState","index","align_top","container","node","element","querySelector","offsetTop","scrollIntoView","clientHeight","offsetHeight","focus","componentDidMount","componentWillUnmount","shouldUpdateScroll","multiColumn","pinned","emptyMessage","scrollableContent","filterBarContainer","disabled","handleLoadGap","scrollContainer","scrollKey","trackScroll","showLoading","onLoadMore","handleLoadOlder","onLoadPending","handleLoadPending","onScrollToTop","handleScrollToTop","onScroll","handleScroll","bindToDocument","notifCleaningButtonClassName","classNames","notifCleaningDrawerClassName","msgEnterNotifCleaning","notifCleaningButton","aria-label","notifCleaningDrawer","onTransitionEnd","handleTransitionEndNCD","ref","setColumnRef","extraClasses","active","onPin","handlePin","onMove","handleMove","handleHeaderClick","extraButton","appendContent"],"mappings":"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","file":"flavours/glitch/async/notifications.js","sourcesContent":["// Package imports.\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\n\n// Our imports.\nimport Permalink from 'flavours/glitch/components/permalink';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport NotificationOverlayContainer from '../containers/overlay_container';\nimport Icon from 'flavours/glitch/components/icon';\n\nexport default class NotificationFollow extends ImmutablePureComponent {\n\n static propTypes = {\n hidden: PropTypes.bool,\n id: PropTypes.string.isRequired,\n account: ImmutablePropTypes.map.isRequired,\n notification: ImmutablePropTypes.map.isRequired,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n this.handleOpenProfile();\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n getHandlers () {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention,\n };\n }\n\n render () {\n const { account, notification, hidden } = this.props;\n\n // Links to the display name.\n const displayName = account.get('display_name_html') || account.get('username');\n const link = (\n \n );\n\n // Renders.\n return (\n \n \n \n );\n }\n\n}\n","import React, { Fragment } from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from 'flavours/glitch/components/avatar';\nimport DisplayName from 'flavours/glitch/components/display_name';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport NotificationOverlayContainer from '../containers/overlay_container';\nimport { HotKeys } from 'react-hotkeys';\nimport Icon from 'flavours/glitch/components/icon';\n\nconst messages = defineMessages({\n authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },\n reject: { id: 'follow_request.reject', defaultMessage: 'Reject' },\n});\n\nexport default @injectIntl\nclass FollowRequest extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onAuthorize: PropTypes.func.isRequired,\n onReject: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n notification: ImmutablePropTypes.map.isRequired,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n this.handleOpenProfile();\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n getHandlers () {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention,\n };\n }\n\n render () {\n const { intl, hidden, account, onAuthorize, onReject, notification } = this.props;\n\n if (!account) {\n return ;\n }\n\n if (hidden) {\n return (\n \n {account.get('display_name')}\n {account.get('username')}\n \n );\n }\n\n // Links to the display name.\n const displayName = account.get('display_name_html') || account.get('username');\n const link = (\n \n );\n\n return (\n \n \n
\n\n
\n
\n
\n \n \n \n\n
\n \n \n
\n
\n
\n\n
\n
\n \n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport FollowRequest from '../components/follow_request';\nimport { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';\n\nconst mapDispatchToProps = (dispatch, { account }) => ({\n onAuthorize () {\n dispatch(authorizeFollowRequest(account.get('id')));\n },\n\n onReject () {\n dispatch(rejectFollowRequest(account.get('id')));\n },\n});\n\nexport default connect(null, mapDispatchToProps)(FollowRequest);\n","// Package imports.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\n// Our imports,\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport NotificationFollow from './follow';\nimport NotificationFollowRequestContainer from '../containers/follow_request_container';\n\nexport default class Notification extends ImmutablePureComponent {\n\n static propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n getScrollPosition: PropTypes.func,\n updateScrollBottom: PropTypes.func,\n cacheMediaWidth: PropTypes.func,\n cachedMediaWidth: PropTypes.number,\n onUnmount: PropTypes.func,\n };\n\n render () {\n const {\n hidden,\n notification,\n onMoveDown,\n onMoveUp,\n onMention,\n getScrollPosition,\n updateScrollBottom,\n } = this.props;\n\n switch(notification.get('type')) {\n case 'follow':\n return (\n \n );\n case 'follow_request':\n return (\n \n );\n case 'mention':\n return (\n \n );\n case 'favourite':\n return (\n \n );\n case 'reblog':\n return (\n \n );\n case 'poll':\n return (\n \n );\n default:\n return null;\n }\n }\n\n}\n","// Package imports.\nimport { connect } from 'react-redux';\n\n// Our imports.\nimport { makeGetNotification } from 'flavours/glitch/selectors';\nimport Notification from '../components/notification';\nimport { mentionCompose } from 'flavours/glitch/actions/compose';\n\nconst makeMapStateToProps = () => {\n const getNotification = makeGetNotification();\n\n const mapStateToProps = (state, props) => ({\n notification: getNotification(state, props.notification, props.accountId),\n notifCleaning: state.getIn(['notifications', 'cleaningMode']),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n onMention: (account, router) => {\n dispatch(mentionCompose(account, router));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport Icon from 'flavours/glitch/components/icon';\n\nexport default class ClearColumnButton extends React.Component {\n\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n \n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n pushSettings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n };\n\n onPushChange = (path, checked) => {\n this.props.onChange(['push', ...path], checked);\n }\n\n render () {\n const { settings, pushSettings, onChange, onClear } = this.props;\n\n const filterShowStr = ;\n const filterAdvancedStr = ;\n const alertStr = ;\n const showStr = ;\n const soundStr = ;\n\n const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n const pushStr = showPushSettings && ;\n const pushMeta = showPushSettings && ;\n\n return (\n \n
\n \n
\n\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n\n
\n
\n\n
\n \n {showPushSettings && }\n \n \n
\n
\n
\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\nimport { setFilter } from 'flavours/glitch/actions/notifications';\nimport { clearNotifications } from 'flavours/glitch/actions/notifications';\nimport { changeAlerts as changePushNotifications } from 'flavours/glitch/actions/push_notifications';\nimport { openModal } from 'flavours/glitch/actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },\n clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' },\n});\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications'),\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onChange (path, checked) {\n if (path[0] === 'push') {\n dispatch(changePushNotifications(path.slice(1), checked));\n } else if (path[0] === 'quickFilter') {\n dispatch(changeSetting(['notifications', ...path], checked));\n dispatch(setFilter('all'));\n } else {\n dispatch(changeSetting(['notifications', ...path], checked));\n }\n },\n\n onClear () {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(clearNotifications()),\n }));\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Icon from 'flavours/glitch/components/icon';\n\nconst tooltips = defineMessages({\n mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },\n favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favourites' },\n boosts: { id: 'notifications.filter.boosts', defaultMessage: 'Boosts' },\n polls: { id: 'notifications.filter.polls', defaultMessage: 'Poll results' },\n follows: { id: 'notifications.filter.follows', defaultMessage: 'Follows' },\n});\n\nexport default @injectIntl\nclass FilterBar extends React.PureComponent {\n\n static propTypes = {\n selectFilter: PropTypes.func.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n advancedMode: PropTypes.bool.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n onClick (notificationType) {\n return () => this.props.selectFilter(notificationType);\n }\n\n render () {\n const { selectedFilter, advancedMode, intl } = this.props;\n const renderedElement = !advancedMode ? (\n \n \n \n
\n ) : (\n \n \n \n \n \n \n \n
\n );\n return renderedElement;\n }\n\n}\n","import { connect } from 'react-redux';\nimport FilterBar from '../components/filter_bar';\nimport { setFilter } from '../../../actions/notifications';\n\nconst makeMapStateToProps = state => ({\n selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n advancedMode: state.getIn(['settings', 'notifications', 'quickFilter', 'advanced']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n selectFilter (newActiveFilter) {\n dispatch(setFilter(newActiveFilter));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(FilterBar);\n","/**\n * Buttons widget for controlling the notification clearing mode.\n * In idle state, the cleaning mode button is shown. When the mode is active,\n * a Confirm and Abort buttons are shown in its place.\n */\n\n\n// Package imports //\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Icon from 'flavours/glitch/components/icon';\n\nconst messages = defineMessages({\n btnAll : { id: 'notification_purge.btn_all', defaultMessage: 'Select\\nall' },\n btnNone : { id: 'notification_purge.btn_none', defaultMessage: 'Select\\nnone' },\n btnInvert : { id: 'notification_purge.btn_invert', defaultMessage: 'Invert\\nselection' },\n btnApply : { id: 'notification_purge.btn_apply', defaultMessage: 'Clear\\nselected' },\n});\n\nexport default @injectIntl\nclass NotificationPurgeButtons extends ImmutablePureComponent {\n\n static propTypes = {\n onDeleteMarked : PropTypes.func.isRequired,\n onMarkAll : PropTypes.func.isRequired,\n onMarkNone : PropTypes.func.isRequired,\n onInvert : PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n markNewForDelete: PropTypes.bool,\n };\n\n render () {\n const { intl, markNewForDelete } = this.props;\n\n //className='active'\n return (\n \n \n\n \n\n \n\n \n
\n );\n }\n\n}\n","// Package imports.\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\n\n// Our imports.\nimport NotificationPurgeButtons from 'flavours/glitch/components/notification_purge_buttons';\nimport {\n deleteMarkedNotifications,\n enterNotificationClearingMode,\n markAllNotifications,\n} from 'flavours/glitch/actions/notifications';\nimport { openModal } from 'flavours/glitch/actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.marked_clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all selected notifications?' },\n clearConfirm: { id: 'notifications.marked_clear', defaultMessage: 'Clear selected notifications' },\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n onEnterCleaningMode(yes) {\n dispatch(enterNotificationClearingMode(yes));\n },\n\n onDeleteMarked() {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(deleteMarkedNotifications()),\n }));\n },\n\n onMarkAll() {\n dispatch(markAllNotifications(true));\n },\n\n onMarkNone() {\n dispatch(markAllNotifications(false));\n },\n\n onInvert() {\n dispatch(markAllNotifications(null));\n },\n});\n\nconst mapStateToProps = state => ({\n markNewForDelete: state.getIn(['notifications', 'markNewForDelete']),\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(NotificationPurgeButtons));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport {\n enterNotificationClearingMode,\n expandNotifications,\n scrollTopNotifications,\n mountNotifications,\n unmountNotifications,\n loadPending,\n} from 'flavours/glitch/actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport FilterBarContainer from './containers/filter_bar_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\nimport { debounce } from 'lodash';\nimport ScrollableList from 'flavours/glitch/components/scrollable_list';\nimport LoadGap from 'flavours/glitch/components/load_gap';\nimport Icon from 'flavours/glitch/components/icon';\n\nimport NotificationPurgeButtonsContainer from 'flavours/glitch/containers/notification_purge_buttons_container';\n\nconst messages = defineMessages({\n title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n enterNotifCleaning : { id: 'notification_purge.start', defaultMessage: 'Enter notification cleaning mode' },\n});\n\nconst getNotifications = createSelector([\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()),\n state => state.getIn(['notifications', 'items']),\n], (showFilterBar, allowedType, excludedTypes, notifications) => {\n if (!showFilterBar || allowedType === 'all') {\n // used if user changed the notification settings after loading the notifications from the server\n // otherwise a list of notifications will come pre-filtered from the backend\n // we need to turn it off for FilterBar in order not to block ourselves from seeing a specific category\n return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));\n }\n return notifications.filter(item => item !== null && allowedType === item.get('type'));\n});\n\nconst mapStateToProps = state => ({\n showFilterBar: state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n notifications: getNotifications(state),\n localSettings: state.get('local_settings'),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0 || state.getIn(['notifications', 'pendingItems']).size > 0,\n hasMore: state.getIn(['notifications', 'hasMore']),\n numPending: state.getIn(['notifications', 'pendingItems'], ImmutableList()).size,\n notifCleaningActive: state.getIn(['notifications', 'cleaningMode']),\n});\n\n/* glitch */\nconst mapDispatchToProps = dispatch => ({\n onEnterCleaningMode(yes) {\n dispatch(enterNotificationClearingMode(yes));\n },\n onMount() {\n dispatch(mountNotifications());\n },\n onUnmount() {\n dispatch(unmountNotifications());\n },\n dispatch,\n});\n\nexport default @connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nclass Notifications extends React.PureComponent {\n\n static propTypes = {\n columnId: PropTypes.string,\n notifications: ImmutablePropTypes.list.isRequired,\n showFilterBar: PropTypes.bool.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n isUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n numPending: PropTypes.number,\n localSettings: ImmutablePropTypes.map,\n notifCleaningActive: PropTypes.bool,\n onEnterCleaningMode: PropTypes.func,\n onMount: PropTypes.func,\n onUnmount: PropTypes.func,\n };\n\n static defaultProps = {\n trackScroll: true,\n };\n\n state = {\n animatingNCD: false,\n };\n\n handleLoadGap = (maxId) => {\n this.props.dispatch(expandNotifications({ maxId }));\n };\n\n handleLoadOlder = debounce(() => {\n const last = this.props.notifications.last();\n this.props.dispatch(expandNotifications({ maxId: last && last.get('id') }));\n }, 300, { leading: true });\n\n handleLoadPending = () => {\n this.props.dispatch(loadPending());\n };\n\n handleScrollToTop = debounce(() => {\n this.props.dispatch(scrollTopNotifications(true));\n }, 100);\n\n handleScroll = debounce(() => {\n this.props.dispatch(scrollTopNotifications(false));\n }, 100);\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\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 setColumnRef = c => {\n this.column = c;\n }\n\n handleMoveUp = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1;\n this._selectChild(elementIndex, true);\n }\n\n handleMoveDown = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1;\n this._selectChild(elementIndex, false);\n }\n\n _selectChild (index, align_top) {\n const container = this.column.node;\n const element = container.querySelector(`article:nth-of-type(${index + 1}) .focusable`);\n\n if (element) {\n if (align_top && container.scrollTop > element.offsetTop) {\n element.scrollIntoView(true);\n } else if (!align_top && container.scrollTop + container.clientHeight < element.offsetTop + element.offsetHeight) {\n element.scrollIntoView(false);\n }\n element.focus();\n }\n }\n\n componentDidMount () {\n const { onMount } = this.props;\n if (onMount) {\n onMount();\n }\n }\n\n componentWillUnmount () {\n const { onUnmount } = this.props;\n if (onUnmount) {\n onUnmount();\n }\n }\n\n handleTransitionEndNCD = () => {\n this.setState({ animatingNCD: false });\n }\n\n onEnterCleaningMode = () => {\n this.setState({ animatingNCD: true });\n this.props.onEnterCleaningMode(!this.props.notifCleaningActive);\n }\n\n render () {\n const { intl, notifications, shouldUpdateScroll, isLoading, isUnread, columnId, multiColumn, hasMore, numPending, showFilterBar } = this.props;\n const { notifCleaning, notifCleaningActive } = this.props;\n const { animatingNCD } = this.state;\n const pinned = !!columnId;\n const emptyMessage = ;\n\n let scrollableContent = null;\n\n const filterBarContainer = showFilterBar\n ? ()\n : null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map((item, index) => item === null ? (\n 0 ? notifications.getIn([index - 1, 'id']) : null}\n onClick={this.handleLoadGap}\n />\n ) : (\n \n ));\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n const scrollContainer = (\n \n {scrollableContent}\n \n );\n\n const notifCleaningButtonClassName = classNames('column-header__button', {\n 'active': notifCleaningActive,\n });\n\n const notifCleaningDrawerClassName = classNames('ncd column-header__collapsible', {\n 'collapsed': !notifCleaningActive,\n 'animating': animatingNCD,\n });\n\n const msgEnterNotifCleaning = intl.formatMessage(messages.enterNotifCleaning);\n\n const notifCleaningButton = (\n \n );\n\n const notifCleaningDrawer = (\n \n
\n {(notifCleaningActive || animatingNCD) ? () : null }\n
\n
\n );\n\n return (\n \n \n \n \n {filterBarContainer}\n {scrollContainer}\n \n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file