for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
import React from 'react';
import {ILanguageSetup} from '../Language/ChangeLanguageSetup';
import Container from './Container';
import ApplicationView, {IAdapter} from './View/Application';
import Model from './View/Application/Model';
interface IProperties {
}
interface IState {
loadedLanguage: string,
menuOpen: boolean
export default class Application extends React.Component<IProperties, IState> {
adapter: IAdapter;
constructor(props: IProperties) {
super(props);
this.state = {
loadedLanguage: Container.language.setupObserver.value.languageCode,
menuOpen: Container.menuOpenState.value
};
Container.language.setupAdapter.addListener(this.onLanguageLoaded.bind(this));
Container.menuOpenStateAdapter.onChange = this.onMenuOpenStateChange.bind(this);
this.adapter = Container.applicationAction.adapter;
componentDidMount(): void {
Container.language.changeLanguageSetup.interact({languageCode: 'de-de'}, {}).then();
onLanguageLoaded(oldValue: ILanguageSetup, newValue: ILanguageSetup) {
this.setState({loadedLanguage: newValue.languageCode});
onMenuOpenStateChange(oldValue: boolean, newValue: boolean) {
this.setState({menuOpen: newValue});
render(): React.ReactNode {
const model: Model = Container.applicationPresenter.present('Application');
return <ApplicationView model={model} adapter={this.adapter} />;