PromucFlow_constructor/app/client/src/pages/Applications/loader.tsx
2020-10-07 16:49:56 +05:30

37 lines
1010 B
TypeScript

import React from "react";
import PageLoadingBar from "pages/common/PageLoadingBar";
import { retryPromise } from "utils/AppsmithUtils";
import PerformanceTracker, {
PerformanceTransactionName,
} from "utils/PerformanceTracker";
import AnalyticsUtil from "utils/AnalyticsUtil";
class ApplicationListLoader extends React.PureComponent<any, { Page: any }> {
constructor(props: any) {
super(props);
this.state = {
Page: null,
};
}
componentDidMount() {
PerformanceTracker.stopTracking(PerformanceTransactionName.SIGN_UP);
PerformanceTracker.stopTracking(PerformanceTransactionName.LOGIN_CLICK);
AnalyticsUtil.logEvent("APPLICATIONS_PAGE_LOAD");
retryPromise(() =>
import(/* webpackChunkName: "applications" */ "./index"),
).then(module => {
this.setState({ Page: module.default });
});
}
render() {
const { Page } = this.state;
return Page ? <Page {...this.props} /> : <PageLoadingBar />;
}
}
export default ApplicationListLoader;