Wait until after authentication to match route
parent
79bc8fd299
commit
a4ac68e85d
109
ui/src/index.js
109
ui/src/index.js
|
@ -74,12 +74,19 @@ window.addEventListener('keyup', event => {
|
||||||
const history = syncHistoryWithStore(browserHistory, store)
|
const history = syncHistoryWithStore(browserHistory, store)
|
||||||
|
|
||||||
const Root = React.createClass({
|
const Root = React.createClass({
|
||||||
|
getInitialState() {
|
||||||
|
return {
|
||||||
|
ready: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
async componentWillMount() {
|
async componentWillMount() {
|
||||||
this.flushErrorsQueue()
|
this.flushErrorsQueue()
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.getLinks()
|
await this.getLinks()
|
||||||
this.checkAuth()
|
await this.checkAuth()
|
||||||
|
this.setState({ready: true})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(errorThrown(error))
|
dispatch(errorThrown(error))
|
||||||
}
|
}
|
||||||
|
@ -115,48 +122,66 @@ const Root = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return !this.state.ready
|
||||||
<Provider store={store}>
|
? <div className="page-spinner" />
|
||||||
<Router history={history}>
|
: <Provider store={store}>
|
||||||
<Route path="/" component={UserIsAuthenticated(CheckSources)} />
|
<Router history={history}>
|
||||||
<Route path="/login" component={UserIsNotAuthenticated(Login)} />
|
<Route path="/" component={UserIsAuthenticated(CheckSources)} />
|
||||||
<Route path="/purgatory" component={UserIsAuthenticated(Purgatory)} />
|
<Route path="/login" component={UserIsNotAuthenticated(Login)} />
|
||||||
<Route
|
<Route
|
||||||
path="/sources/new"
|
path="/purgatory"
|
||||||
component={UserIsAuthenticated(SourcePage)}
|
component={UserIsAuthenticated(Purgatory)}
|
||||||
/>
|
/>
|
||||||
<Route path="/sources/:sourceID" component={UserIsAuthenticated(App)}>
|
<Route
|
||||||
<Route component={CheckSources}>
|
path="/sources/new"
|
||||||
<Route path="status" component={StatusPage} />
|
component={UserIsAuthenticated(SourcePage)}
|
||||||
<Route path="hosts" component={HostsPage} />
|
/>
|
||||||
<Route path="hosts/:hostID" component={HostPage} />
|
<Route
|
||||||
<Route path="chronograf/data-explorer" component={DataExplorer} />
|
path="/sources/:sourceID"
|
||||||
<Route path="dashboards" component={DashboardsPage} />
|
component={UserIsAuthenticated(App)}
|
||||||
<Route path="dashboards/:dashboardID" component={DashboardPage} />
|
>
|
||||||
<Route path="alerts" component={AlertsApp} />
|
<Route component={CheckSources}>
|
||||||
<Route path="alert-rules" component={KapacitorRulesPage} />
|
<Route path="status" component={StatusPage} />
|
||||||
<Route path="alert-rules/:ruleID" component={KapacitorRulePage} />
|
<Route path="hosts" component={HostsPage} />
|
||||||
<Route path="alert-rules/new" component={KapacitorRulePage} />
|
<Route path="hosts/:hostID" component={HostPage} />
|
||||||
<Route path="tickscript/new" component={TickscriptPage} />
|
<Route
|
||||||
<Route path="tickscript/:ruleID" component={TickscriptPage} />
|
path="chronograf/data-explorer"
|
||||||
<Route path="kapacitors/new" component={KapacitorPage} />
|
component={DataExplorer}
|
||||||
<Route path="kapacitors/:id/edit" component={KapacitorPage} />
|
/>
|
||||||
<Route
|
<Route path="dashboards" component={DashboardsPage} />
|
||||||
path="kapacitors/:id/edit:hash"
|
<Route
|
||||||
component={KapacitorPage}
|
path="dashboards/:dashboardID"
|
||||||
/>
|
component={DashboardPage}
|
||||||
<Route path="kapacitor-tasks" component={KapacitorTasksPage} />
|
/>
|
||||||
<Route path="admin-chronograf" component={AdminChronografPage} />
|
<Route path="alerts" component={AlertsApp} />
|
||||||
<Route path="admin-influxdb" component={AdminInfluxDBPage} />
|
<Route path="alert-rules" component={KapacitorRulesPage} />
|
||||||
<Route path="manage-sources" component={ManageSources} />
|
<Route
|
||||||
<Route path="manage-sources/new" component={SourcePage} />
|
path="alert-rules/:ruleID"
|
||||||
<Route path="manage-sources/:id/edit" component={SourcePage} />
|
component={KapacitorRulePage}
|
||||||
|
/>
|
||||||
|
<Route path="alert-rules/new" component={KapacitorRulePage} />
|
||||||
|
<Route path="tickscript/new" component={TickscriptPage} />
|
||||||
|
<Route path="tickscript/:ruleID" component={TickscriptPage} />
|
||||||
|
<Route path="kapacitors/new" component={KapacitorPage} />
|
||||||
|
<Route path="kapacitors/:id/edit" component={KapacitorPage} />
|
||||||
|
<Route
|
||||||
|
path="kapacitors/:id/edit:hash"
|
||||||
|
component={KapacitorPage}
|
||||||
|
/>
|
||||||
|
<Route path="kapacitor-tasks" component={KapacitorTasksPage} />
|
||||||
|
<Route
|
||||||
|
path="admin-chronograf"
|
||||||
|
component={AdminChronografPage}
|
||||||
|
/>
|
||||||
|
<Route path="admin-influxdb" component={AdminInfluxDBPage} />
|
||||||
|
<Route path="manage-sources" component={ManageSources} />
|
||||||
|
<Route path="manage-sources/new" component={SourcePage} />
|
||||||
|
<Route path="manage-sources/:id/edit" component={SourcePage} />
|
||||||
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
<Route path="*" component={NotFound} />
|
||||||
<Route path="*" component={NotFound} />
|
</Router>
|
||||||
</Router>
|
</Provider>
|
||||||
</Provider>
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue