diff --git a/app/scripts/modules/cloudfoundry/src/pipeline/stages/deployService/CreateServiceInstanceDirectInput.tsx b/app/scripts/modules/cloudfoundry/src/pipeline/stages/deployService/CreateServiceInstanceDirectInput.tsx index 6126c55dffd..5c701959fe4 100644 --- a/app/scripts/modules/cloudfoundry/src/pipeline/stages/deployService/CreateServiceInstanceDirectInput.tsx +++ b/app/scripts/modules/cloudfoundry/src/pipeline/stages/deployService/CreateServiceInstanceDirectInput.tsx @@ -35,39 +35,48 @@ export class CreateServiceInstanceDirectInput extends React.Component< this.state = { serviceNamesAndPlans: [] }; } - public componentDidUpdate(prevProps: Readonly): void { + public componentDidUpdate(prevProps: Readonly) { const { credentials, region } = this.props; if ((credentials && credentials !== prevProps.credentials) || region !== prevProps.region) { - if (credentials && region) { - ServicesReader.getServices(credentials, region).then(serviceNamesAndPlans => { - this.setState({ serviceNamesAndPlans }); - }); - } + this.loadServices(credentials, region); } } - private serviceInstanceNameUpdated = (event: React.ChangeEvent): void => { + public componentDidMount = () => { + this.loadServices(this.props.credentials, this.props.region); + }; + + private loadServices(credentials: string, region: string) { + if (credentials && region) { + ServicesReader.getServices(credentials, region).then(serviceNamesAndPlans => { + this.setState({ serviceNamesAndPlans }); + }); + } + } + + private serviceInstanceNameUpdated = (event: React.ChangeEvent) => { this.props.onServiceChanged({ ...this.props.service, serviceInstanceName: event.target.value, }); }; - private serviceUpdated = (option: Option): void => { + private serviceUpdated = (option: Option) => { this.props.onServiceChanged({ ...this.props.service, service: option.target.value, + servicePlan: '', }); }; - private servicePlanUpdated = (option: Option): void => { + private servicePlanUpdated = (option: Option) => { this.props.onServiceChanged({ ...this.props.service, servicePlan: option.target.value, }); }; - private parametersUpdated = (event: React.ChangeEvent): void => { + private parametersUpdated = (event: React.ChangeEvent) => { this.props.onServiceChanged({ ...this.props.service, parameters: event.target.value,