Repository URL to install this package:
|
Version:
0.0.2 ▾
|
import * as React from 'react';
import { errorContainer } from '@skava/packages/core/notifications';
import { OneFormState } from '@skava/packages/features/Forms';
import { AddPromoCodeButton, StyledForm } from './styled';
import { wording } from './fixture';
import { promoCodeContainer } from './state';
const validation = {
async onSubmit(args) {
const { promoCode } = args.state.toJSON();
if (promoCodeContainer.canAddMorePromoCodes === false) {
errorContainer.setMessage(wording.maximumPromoCodeMessage);
}
else {
await promoCodeContainer.addPromoCode(promoCode);
args.state.inputsList.forEach(input => input.setValue(''));
}
},
};
const renderButtonGroup = () => React.createElement(AddPromoCodeButton, null);
class AddPromoCodeForm extends React.PureComponent {
constructor() {
super(...arguments);
this.observableFormState = new OneFormState().setInputsList([
{
type: 'text',
propertyName: 'promoCode',
label: 'Coupon Code',
// have to put in plugin @@packages
// qa: qa.paymentCoupon,
// ariaLabel: wording.couponLabel,
minLength: 3,
maxLength: 64,
}
]);
}
render() {
return (React.createElement(StyledForm, { validation: validation, state: this.observableFormState, renderButtonGroup: renderButtonGroup }));
}
}
export { AddPromoCodeForm };
//# sourceMappingURL=Form.js.map