summaryrefslogtreecommitdiffstats
path: root/web/react/pages/root.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-03-14 08:50:46 -0400
committerChristopher Speller <crspeller@gmail.com>2016-03-16 18:02:55 -0400
commit12896bd23eeba79884245c1c29fdc568cf21a7fa (patch)
tree4e7f83d3e2564b9b89d669e9f7905ff11768b11a /web/react/pages/root.jsx
parent29fe6a3d13c9c7aa490fffebbe5d1b5fdf1e3090 (diff)
downloadchat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.gz
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.bz2
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.zip
Converting to Webpack. Stage 1.
Diffstat (limited to 'web/react/pages/root.jsx')
-rw-r--r--web/react/pages/root.jsx290
1 files changed, 0 insertions, 290 deletions
diff --git a/web/react/pages/root.jsx b/web/react/pages/root.jsx
deleted file mode 100644
index dcc6fc40e..000000000
--- a/web/react/pages/root.jsx
+++ /dev/null
@@ -1,290 +0,0 @@
-// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import {Router, Route, IndexRoute, IndexRedirect, browserHistory} from 'react-router';
-import Root from '../components/root.jsx';
-import Login from '../components/login.jsx';
-import LoggedIn from '../components/logged_in.jsx';
-import NotLoggedIn from '../components/not_logged_in.jsx';
-import NeedsTeam from '../components/needs_team.jsx';
-import PasswordResetSendLink from '../components/password_reset_send_link.jsx';
-import PasswordResetForm from '../components/password_reset_form.jsx';
-import ChannelView from '../components/channel_view.jsx';
-import Sidebar from '../components/sidebar.jsx';
-import * as AsyncClient from '../utils/async_client.jsx';
-import PreferenceStore from '../stores/preference_store.jsx';
-import ChannelStore from '../stores/channel_store.jsx';
-import ErrorStore from '../stores/error_store.jsx';
-import BrowserStore from '../stores/browser_store.jsx';
-import SignupTeam from '../components/signup_team.jsx';
-import * as Client from '../utils/client.jsx';
-import * as GlobalActions from '../action_creators/global_actions.jsx';
-import SignupTeamConfirm from '../components/signup_team_confirm.jsx';
-import SignupUserComplete from '../components/signup_user_complete.jsx';
-import ShouldVerifyEmail from '../components/should_verify_email.jsx';
-import DoVerifyEmail from '../components/do_verify_email.jsx';
-import AdminConsole from '../components/admin_console/admin_controller.jsx';
-import ClaimAccount from '../components/claim/claim_account.jsx';
-
-import SignupTeamComplete from '../components/signup_team_complete/components/signup_team_complete.jsx';
-import WelcomePage from '../components/signup_team_complete/components/team_signup_welcome_page.jsx';
-import TeamDisplayNamePage from '../components/signup_team_complete/components/team_signup_display_name_page.jsx';
-import TeamURLPage from '../components/signup_team_complete/components/team_signup_url_page.jsx';
-import SendInivtesPage from '../components/signup_team_complete/components/team_signup_send_invites_page.jsx';
-import UsernamePage from '../components/signup_team_complete/components/team_signup_username_page.jsx';
-import PasswordPage from '../components/signup_team_complete/components/team_signup_password_page.jsx';
-import FinishedPage from '../components/signup_team_complete/components/team_signup_finished.jsx';
-
-// This is for anything that needs to be done for ALL react components.
-// This runs before we start to render anything.
-function preRenderSetup(callwhendone) {
- const d1 = Client.getClientConfig(
- (data, textStatus, xhr) => {
- if (!data) {
- return;
- }
-
- global.window.mm_config = data;
-
- var serverVersion = xhr.getResponseHeader('X-Version-ID');
-
- if (serverVersion !== BrowserStore.getLastServerVersion()) {
- if (!BrowserStore.getLastServerVersion() || BrowserStore.getLastServerVersion() === '') {
- BrowserStore.setLastServerVersion(serverVersion);
- } else {
- BrowserStore.setLastServerVersion(serverVersion);
- window.location.reload(true);
- console.log('Detected version update refreshing the page'); //eslint-disable-line no-console
- }
- }
- },
- (err) => {
- AsyncClient.dispatchError(err, 'getClientConfig');
- }
- );
-
- const d2 = Client.getClientLicenceConfig(
- (data) => {
- if (!data) {
- return;
- }
-
- global.window.mm_license = data;
- },
- (err) => {
- AsyncClient.dispatchError(err, 'getClientLicenceConfig');
- }
- );
-
- // Set these here so they don't fail in client.jsx track
- global.window.analytics = [];
- global.window.analytics.page = () => {
- // Do Nothing
- };
- global.window.analytics.track = () => {
- // Do Nothing
- };
-
- $.when(d1, d2).done(callwhendone);
-}
-
-function preLoggedIn(nextState, replace, callback) {
- const d1 = Client.getAllPreferences(
- (data) => {
- if (!data) {
- return;
- }
-
- PreferenceStore.setPreferences(data);
- },
- (err) => {
- AsyncClient.dispatchError(err, 'getAllPreferences');
- }
- );
-
- const d2 = AsyncClient.getChannels();
-
- $.when(d1, d2).done(() => callback());
-}
-
-function onChannelChange(nextState) {
- const channelName = nextState.params.channel;
-
- // Make sure we have all the channels
- AsyncClient.getChannels(true);
-
- // Get our channel's ID
- const channel = ChannelStore.getByName(channelName);
-
- // User clicked channel
- GlobalActions.emitChannelClickEvent(channel);
-}
-
-function onRootEnter(nextState, replace, callback) {
- if (nextState.location.pathname === '/') {
- Client.getMeLoggedIn((data) => {
- if (!data || data.logged_in === 'false') {
- replace({pathname: '/signup_team'});
- callback();
- } else {
- replace({pathname: '/' + data.team_name + '/channels/town-square'});
- callback();
- }
- });
- return;
- }
-
- callback();
-}
-
-function onPermalinkEnter(nextState) {
- const postId = nextState.params.postid;
-
- GlobalActions.emitPostFocusEvent(postId);
-}
-
-function onLoggedOut(nextState) {
- const teamName = nextState.params.team;
- Client.logout(
- () => {
- browserHistory.push('/' + teamName + '/login');
- BrowserStore.signalLogout();
- BrowserStore.clear();
- ErrorStore.clearLastError();
- },
- () => {
- browserHistory.push('/' + teamName + '/login');
- }
- );
-}
-
-function renderRootComponent() {
- ReactDOM.render((
- <Router
- history={browserHistory}
- >
- <Route
- path='/'
- component={Root}
- onEnter={onRootEnter}
- >
- <Route
- component={LoggedIn}
- onEnter={preLoggedIn}
- >
- <Route
- path=':team/channels/:channel'
- onEnter={onChannelChange}
- components={{
- sidebar: Sidebar,
- center: ChannelView
- }}
- />
- <Route
- path=':team/pl/:postid'
- onEnter={onPermalinkEnter}
- components={{
- sidebar: Sidebar,
- center: ChannelView
- }}
- />
- <Route
- path=':team/logout'
- onEnter={onLoggedOut}
- components={{
- sidebar: null,
- center: null
- }}
- />
- <Route
- path='admin_console'
- components={{
- sidebar: null,
- center: AdminConsole
- }}
- />
- </Route>
- <Route component={NotLoggedIn}>
- <Route
- path='signup_team'
- component={SignupTeam}
- />
- <Route
- path='signup_team_complete'
- component={SignupTeamComplete}
- >
- <IndexRoute component={FinishedPage}/>
- <Route
- path='welcome'
- component={WelcomePage}
- />
- <Route
- path='team_display_name'
- component={TeamDisplayNamePage}
- />
- <Route
- path='team_url'
- component={TeamURLPage}
- />
- <Route
- path='invites'
- component={SendInivtesPage}
- />
- <Route
- path='username'
- component={UsernamePage}
- />
- <Route
- path='password'
- component={PasswordPage}
- />
- </Route>
- <Route
- path='signup_user_complete'
- component={SignupUserComplete}
- />
- <Route
- path='signup_team_confirm'
- component={SignupTeamConfirm}
- />
- <Route
- path='should_verify_email'
- component={ShouldVerifyEmail}
- />
- <Route
- path='do_verify_email'
- component={DoVerifyEmail}
- />
- <Route
- path=':team'
- component={NeedsTeam}
- >
- <IndexRedirect to='login'/>
- <Route
- path='login'
- component={Login}
- />
- <Route
- path='claim'
- component={ClaimAccount}
- />
- <Route
- path='reset_password'
- component={PasswordResetSendLink}
- />
- <Route
- path='reset_password_complete'
- component={PasswordResetForm}
- />
- </Route>
- </Route>
- </Route>
- </Router>
- ),
- document.getElementById('root'));
-}
-
-global.window.setup_root = () => {
- // Do the pre-render setup and call renderRootComponent when done
- preRenderSetup(renderRootComponent);
-};