final List<PveAccessDomainModel> accessDomains;
final PveAccessDomainModel selectedDomain;
final ValueChanged<PveAccessDomainModel> onDomainChanged;
+ final Function onPasswordSubmitted;
+ final Function onOriginSubmitted;
const ProxmoxLoginForm({
Key key,
@required this.originValidator,
this.selectedDomain,
@required this.onDomainChanged,
+ this.onPasswordSubmitted,
+ this.onOriginSubmitted,
}) : super(key: key);
@override
helperText: 'Protocol (https) and default port (8006) implied'),
controller: widget.originController,
validator: widget.originValidator,
+ onFieldSubmitted: (value) => widget.onOriginSubmitted(),
);
}
}
return null;
},
+ onFieldSubmitted: (value) => widget.onPasswordSubmitted(),
),
Align(
alignment: Alignment.bottomRight,
_selectedDomain = value;
});
},
+ onOriginSubmitted: _submittButtonEnabled
+ ? () {
+ final isValid =
+ _formKey.currentState.validate();
+ setState(() {
+ _submittButtonEnabled = isValid;
+ });
+ if (isValid) {
+ setState(() {
+ _accessDomains =
+ _getAccessDomains();
+ });
+ }
+ }
+ : null,
+ onPasswordSubmitted: _submittButtonEnabled
+ ? () {
+ final isValid =
+ _formKey.currentState.validate();
+ setState(() {
+ _submittButtonEnabled = isValid;
+ });
+ if (isValid) {
+ _onLoginButtonPressed();
+ }
+ }
+ : null,
),
if (snapshot.hasData)
Expanded(