// License: LGPL-3.0-or-later import * as React from 'react'; import {observer} from 'mobx-react'; import { injectIntl, WrappedComponentProps} from 'react-intl'; import {Field} from "mobx-react-form"; import {computed} from 'mobx'; import {WizardPanel, WizardTabPanelProps} from "../common/wizard/WizardPanel"; import {WizardTabPanelState} from "../common/wizard/wizard_state"; import UserInfoForm from "./UserInfoForm"; export interface UserInfoPanelProps extends WizardTabPanelProps { buttonText: string buttonTextOnProgress?:string } class UserInfoPanel extends React.Component<UserInfoPanelProps & WrappedComponentProps, {}> { @computed get wizardTab(): WizardTabPanelState { return this.props.tab } @computed get form():Field{ return this.wizardTab.form } @computed get submit() { return this.form.onSubmit } @computed get tabName() { return this.wizardTab.tabName; } render() { return <WizardPanel tab={this.wizardTab} key={this.tabName} > <UserInfoForm form={this.form} buttonText={this.props.buttonText} buttonTextOnProgress={this.props.buttonTextOnProgress}/> </WizardPanel>; } } export default injectIntl(observer(UserInfoPanel))