From d8bd57901e33a7057e26e782e295099ffcc0da89 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Wed, 6 Sep 2017 23:04:13 -0700 Subject: Removing webapp --- .../activity_log_modal/activity_log_modal.jsx | 338 --------------------- 1 file changed, 338 deletions(-) delete mode 100644 webapp/components/activity_log_modal/activity_log_modal.jsx (limited to 'webapp/components/activity_log_modal/activity_log_modal.jsx') diff --git a/webapp/components/activity_log_modal/activity_log_modal.jsx b/webapp/components/activity_log_modal/activity_log_modal.jsx deleted file mode 100644 index 854a2f0cf..000000000 --- a/webapp/components/activity_log_modal/activity_log_modal.jsx +++ /dev/null @@ -1,338 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import LoadingScreen from 'components/loading_screen.jsx'; - -import UserStore from 'stores/user_store.jsx'; - -import * as Utils from 'utils/utils.jsx'; - -import $ from 'jquery'; -import PropTypes from 'prop-types'; -import React from 'react'; -import {Modal} from 'react-bootstrap'; -import {FormattedMessage, FormattedTime, FormattedDate} from 'react-intl'; -import {General} from 'mattermost-redux/constants'; - -export default class ActivityLogModal extends React.Component { - static propTypes = { - onHide: PropTypes.func.isRequired, - actions: PropTypes.shape({ - getSessions: PropTypes.func.isRequired, - revokeSession: PropTypes.func.isRequired - }).isRequired - } - - constructor(props) { - super(props); - - this.submitRevoke = this.submitRevoke.bind(this); - this.onListenerChange = this.onListenerChange.bind(this); - this.handleMoreInfo = this.handleMoreInfo.bind(this); - this.onHide = this.onHide.bind(this); - this.onShow = this.onShow.bind(this); - - const state = this.getStateFromStores(); - state.moreInfo = []; - state.show = true; - - this.state = state; - } - - getStateFromStores() { - return { - sessions: UserStore.getSessions(), - clientError: null - }; - } - - submitRevoke(altId, e) { - e.preventDefault(); - var modalContent = $(e.target).closest('.modal-content'); - modalContent.addClass('animation--highlight'); - setTimeout(() => { - modalContent.removeClass('animation--highlight'); - }, 1500); - this.props.actions.revokeSession(UserStore.getCurrentId(), altId).then(() => { - this.props.actions.getSessions(UserStore.getCurrentId()); - }); - } - - onShow() { - this.props.actions.getSessions(UserStore.getCurrentId()); - if (!Utils.isMobile()) { - $('.modal-body').perfectScrollbar(); - } - } - - onHide() { - this.setState({show: false}); - } - - componentDidMount() { - UserStore.addSessionsChangeListener(this.onListenerChange); - this.onShow(); - } - - componentWillUnmount() { - UserStore.removeSessionsChangeListener(this.onListenerChange); - } - - onListenerChange() { - const newState = this.getStateFromStores(); - if (!Utils.areObjectsEqual(newState.sessions, this.state.sessions)) { - this.setState(newState); - } - } - - handleMoreInfo(index) { - const newMoreInfo = this.state.moreInfo; - newMoreInfo[index] = true; - this.setState({moreInfo: newMoreInfo}); - } - - isMobileSession = (session) => { - return session.device_id && (session.device_id.includes('apple') || session.device_id.includes('android')); - }; - - mobileSessionInfo = (session) => { - let deviceTypeId; - let deviceTypeMessage; - let devicePicture; - - if (session.device_id.includes('apple')) { - devicePicture = 'fa fa-apple'; - deviceTypeId = 'activity_log_modal.iphoneNativeClassicApp'; - deviceTypeMessage = 'iPhone Native Classic App'; - - if (session.device_id.includes(General.PUSH_NOTIFY_APPLE_REACT_NATIVE)) { - deviceTypeId = 'activity_log_modal.iphoneNativeApp'; - deviceTypeMessage = 'iPhone Native App'; - } - } else if (session.device_id.includes('android')) { - devicePicture = 'fa fa-android'; - deviceTypeId = 'activity_log_modal.androidNativeClassicApp'; - deviceTypeMessage = 'Android Native Classic App'; - - if (session.device_id.includes(General.PUSH_NOTIFY_ANDROID_REACT_NATIVE)) { - deviceTypeId = 'activity_log_modal.androidNativeApp'; - deviceTypeMessage = 'Android Native App'; - } - } - - return { - devicePicture, - devicePlatform: ( - - ) - }; - }; - - render() { - const activityList = []; - - for (let i = 0; i < this.state.sessions.length; i++) { - const currentSession = this.state.sessions[i]; - const lastAccessTime = new Date(currentSession.last_activity_at); - const firstAccessTime = new Date(currentSession.create_at); - let devicePlatform = currentSession.props.platform; - let devicePicture = ''; - - if (currentSession.props.type === 'UserAccessToken') { - continue; - } - - if (currentSession.props.platform === 'Windows') { - devicePicture = 'fa fa-windows'; - } else if (this.isMobileSession(currentSession)) { - const sessionInfo = this.mobileSessionInfo(currentSession); - - devicePicture = sessionInfo.devicePicture; - devicePlatform = sessionInfo.devicePlatform; - } else if (currentSession.props.platform === 'Macintosh' || - currentSession.props.platform === 'iPhone') { - devicePicture = 'fa fa-apple'; - } else if (currentSession.props.platform === 'Linux') { - if (currentSession.props.os.indexOf('Android') >= 0) { - devicePlatform = ( - - ); - devicePicture = 'fa fa-android'; - } else { - devicePicture = 'fa fa-linux'; - } - } else if (currentSession.props.os.indexOf('Linux') !== -1) { - devicePicture = 'fa fa-linux'; - } - - if (currentSession.props.browser.indexOf('Desktop App') !== -1) { - devicePlatform = ( - - ); - } - - let moreInfo; - if (this.state.moreInfo[i]) { - moreInfo = ( -
-
- - ), - time: ( - - ) - }} - /> -
-
- -
-
- -
-
- -
-
- ); - } else { - moreInfo = ( - - - - ); - } - - activityList[i] = ( -
-
-
{devicePlatform}
-
-
- - ), - time: ( - - ) - }} - /> -
- {moreInfo} -
-
-
- -
-
- ); - } - - let content; - if (this.state.sessions.loading) { - content = ; - } else { - content =
{activityList}
; - } - - return ( - - - - - - - -

- -

- {content} -
-
- ); - } -} -- cgit v1.2.3-1-g7c22