import { AddCityPresenter, AddCityPresenterFactory, AddCityPresenterVM } from '@grenoble-hands-on/web-adapters' import { Component } from 'react' export type AddCityProps = { addCityPresenterFactory: AddCityPresenterFactory } export class AddCity extends Component { private addCityPresenter: AddCityPresenter constructor(public props: AddCityProps) { super(props) this.addCityPresenter = this.props.addCityPresenterFactory.build() this.state = this.addCityPresenter.vm } componentDidMount() { this.addCityPresenter.onVmUpdate((vm: AddCityPresenterVM) => { this.setState({ ...vm }) }) } render() { const vm = this.state const test = (g: string) => { this.addCityPresenter.validateCityName(g) } return (

Create city

this.addCityPresenter.create()}>
test($event.target.value)} placeholder="City name"/>
{vm.cityNameError ?

{vm.cityNameError}

: null}
this.addCityPresenter.validateLatitude($event.target.value)} placeholder="Latitude"/>
{vm.latitudeError ?

{vm.latitudeError}

: null}
this.addCityPresenter.validateLongitude($event.target.value)} placeholder="Longitude"/>
{vm.longitudeError ?

{vm.longitudeError}

: null}
) } }