Repository URL to install this package:
|
Version:
0.0.13 ▾
|
import * as React from 'react';
import { OneFormState } from '@skava/packages/features/Forms';
import { errorContainer } from '@skava/packages/core/notifications';
import { locationContainerLite } from '@skava/packages/core/location';
import { estimateShippingContainer } from './state';
import { CalculateButton, StyledForm } from './styled';
const validation = {
async onSubmit(args) {
const { zipCode } = args.state.toJSON();
console.log({ zipCode });
errorContainer.setMessage('getting location...');
locationContainerLite.clear();
locationContainerLite.setZipCode(zipCode);
await locationContainerLite.fetchGeoCodeIfNeeded();
errorContainer.setMessage('estimating...');
await estimateShippingContainer.onSubmit();
errorContainer.setMessage('done...');
},
};
const renderButtonGroup = () => React.createElement(CalculateButton, null);
class EstimateShippingForm extends React.PureComponent {
constructor() {
super(...arguments);
this.observableFormState = new OneFormState().setInputsList([
/**
* @qa qa-zipcode-textbox
*/
{
propertyName: 'zipCode',
type: 'zip',
},
]);
}
render() {
return (React.createElement(StyledForm, { validation: validation, state: this.observableFormState, renderButtonGroup: renderButtonGroup }));
}
}
export { EstimateShippingForm };
//# sourceMappingURL=Form.js.map