Skip to content

Commit d72dfa9

Browse files
authored
Issue - review order button - stripe (#47)
* added stripecomplete state, status of button checks the state to see if the fields complete * bump version * change field to form
1 parent d41dc4c commit d72dfa9

File tree

6 files changed

+44
-12
lines changed

6 files changed

+44
-12
lines changed

dist/bundle.js

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46668,6 +46668,7 @@ function (_Component) {
4666846668
errors: Object.assign(this.state.errors, stripe_fields_defineProperty({}, fieldName, errorMessage)),
4666946669
dataAvailable: Object.assign(this.state.dataAvailable, stripe_fields_defineProperty({}, fieldName, !e.empty))
4667046670
});
46671+
e.complete ? this.props.setStripeFormComplete(true) : this.props.setStripeFormComplete(false);
4667146672
this.checkDataValidity();
4667246673
}
4667346674
}, {
@@ -46727,10 +46728,10 @@ function stripe_payment_createClass(Constructor, protoProps, staticProps) { if (
4672746728

4672846729
function stripe_payment_possibleConstructorReturn(self, call) { if (call && (stripe_payment_typeof(call) === "object" || typeof call === "function")) { return call; } return stripe_payment_assertThisInitialized(self); }
4672946730

46730-
function stripe_payment_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
46731-
4673246731
function stripe_payment_getPrototypeOf(o) { stripe_payment_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return stripe_payment_getPrototypeOf(o); }
4673346732

46733+
function stripe_payment_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
46734+
4673446735
function stripe_payment_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) stripe_payment_setPrototypeOf(subClass, superClass); }
4673546736

4673646737
function stripe_payment_setPrototypeOf(o, p) { stripe_payment_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return stripe_payment_setPrototypeOf(o, p); }
@@ -46752,11 +46753,15 @@ function (_Component) {
4675246753
stripe_payment_classCallCheck(this, StripePayment);
4675346754

4675446755
_this = stripe_payment_possibleConstructorReturn(this, stripe_payment_getPrototypeOf(StripePayment).call(this, props));
46756+
_this.state = {
46757+
stripeFormComplete: false
46758+
};
4675546759
_this.AddressBook = component_mapping('AddressBook');
4675646760
_this.AddressForm = component_mapping('AddressForm');
4675746761
_this.Button = component_mapping('Button');
4675846762
_this.Checkbox = component_mapping('Checkbox');
4675946763
_this.StripeWrapper = component_mapping('StripeWrapper');
46764+
_this.setStripeFormComplete = _this.setStripeFormComplete.bind(stripe_payment_assertThisInitialized(_this));
4676046765
return _this;
4676146766
}
4676246767

@@ -46771,14 +46776,21 @@ function (_Component) {
4677146776
"aria-label": "Review Your Order",
4677246777
className: "c-address-form__button o-button--sml",
4677346778
label: "Review Your Order",
46774-
status: this.props.nextStepAvailable() ? 'positive' : 'disabled',
46779+
status: this.state.stripeFormComplete ? 'positive' : 'disabled',
4677546780
type: "primary",
46776-
disabled: !this.props.nextStepAvailable(),
46781+
disabled: !this.state.stripeFormComplete,
4677746782
onClick: function onClick() {
4677846783
return _this2.props.nextSection('complete');
4677946784
}
4678046785
}));
4678146786
}
46787+
}, {
46788+
key: "setStripeFormComplete",
46789+
value: function setStripeFormComplete(value) {
46790+
this.setState({
46791+
stripeFormComplete: value
46792+
});
46793+
}
4678246794
}, {
4678346795
key: "render",
4678446796
value: function render() {
@@ -46808,7 +46820,8 @@ function (_Component) {
4680846820
billingAddress: checkout.billingAddress,
4680946821
cardTokenRequested: cardTokenRequested,
4681046822
onCardTokenReceived: onCardTokenReceived,
46811-
setCardErrors: setCardErrors
46823+
setCardErrors: setCardErrors,
46824+
setStripeFormComplete: this.setStripeFormComplete
4681246825
}), external_react_default.a.createElement("div", {
4681346826
className: "o-form__input-group"
4681446827
}, external_react_default.a.createElement("label", null, "Billing address *")), external_react_default.a.createElement(this.Checkbox, {
@@ -46924,14 +46937,16 @@ function (_Component) {
4692446937
billingAddress = _this$props.billingAddress,
4692546938
cardTokenRequested = _this$props.cardTokenRequested,
4692646939
onCardTokenReceived = _this$props.onCardTokenReceived,
46927-
setCardErrors = _this$props.setCardErrors;
46940+
setCardErrors = _this$props.setCardErrors,
46941+
setStripeFormComplete = _this$props.setStripeFormComplete;
4692846942
return external_react_default.a.createElement(react_stripe_elements_es["StripeProvider"], {
4692946943
apiKey: stripeApiKey
4693046944
}, external_react_default.a.createElement(react_stripe_elements_es["Elements"], null, external_react_default.a.createElement(this.StripeFields, {
4693146945
billingAddress: billingAddress,
4693246946
cardTokenRequested: cardTokenRequested,
4693346947
onCardTokenReceived: onCardTokenReceived,
46934-
setCardErrors: setCardErrors
46948+
setCardErrors: setCardErrors,
46949+
setStripeFormComplete: setStripeFormComplete
4693546950
})));
4693646951
}
4693746952
}, {

dist/scss/60_components/_c-header.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
top: 0;
9393
left: -100vw;
9494
right: -100vw;
95-
max-width: 1200px;
95+
max-width: $global-body-max-width;
9696
margin: auto;
9797
background: transparent;
9898

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shiftcommerce/shift-react-components",
3-
"version": "0.12.2",
3+
"version": "0.12.3",
44
"main": "dist/bundle.js",
55
"license": "MIT",
66
"scripts": {

src/components/checkout/stripe-fields.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ class StripeFields extends Component {
4848
errors: Object.assign(this.state.errors, { [fieldName]: errorMessage }),
4949
dataAvailable: Object.assign(this.state.dataAvailable, { [fieldName]: !e.empty })
5050
})
51+
52+
e.complete ? this.props.setStripeFormComplete(true) : this.props.setStripeFormComplete(false)
53+
5154
this.checkDataValidity()
5255
}
5356

src/components/checkout/stripe-payment.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,16 @@ class StripePayment extends Component {
99
constructor (props) {
1010
super(props)
1111

12+
this.state = {
13+
stripeFormComplete: false
14+
}
15+
1216
this.AddressBook = componentMapping('AddressBook')
1317
this.AddressForm = componentMapping('AddressForm')
1418
this.Button = componentMapping('Button')
1519
this.Checkbox = componentMapping('Checkbox')
1620
this.StripeWrapper = componentMapping('StripeWrapper')
21+
this.setStripeFormComplete = this.setStripeFormComplete.bind(this)
1722
}
1823

1924
renderFormSubmitButton () {
@@ -23,15 +28,21 @@ class StripePayment extends Component {
2328
aria-label='Review Your Order'
2429
className='c-address-form__button o-button--sml'
2530
label='Review Your Order'
26-
status={(this.props.nextStepAvailable() ? 'positive' : 'disabled')}
31+
status={( this.state.stripeFormComplete ? 'positive' : 'disabled')}
2732
type='primary'
28-
disabled={!this.props.nextStepAvailable()}
33+
disabled={!this.state.stripeFormComplete}
2934
onClick={() => this.props.nextSection('complete')}
3035
/>
3136
</div>
3237
)
3338
}
3439

40+
setStripeFormComplete (value) {
41+
this.setState({
42+
stripeFormComplete: value
43+
})
44+
}
45+
3546
render () {
3647
const {
3748
addressBook,
@@ -62,6 +73,7 @@ class StripePayment extends Component {
6273
cardTokenRequested={cardTokenRequested}
6374
onCardTokenReceived={onCardTokenReceived}
6475
setCardErrors={setCardErrors}
76+
setStripeFormComplete={this.setStripeFormComplete}
6577
/>
6678

6779
<div className='o-form__input-group'>

src/components/checkout/stripe-wrapper.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ class StripeWrapper extends Component {
1919
billingAddress,
2020
cardTokenRequested,
2121
onCardTokenReceived,
22-
setCardErrors
22+
setCardErrors,
23+
setStripeFormComplete
2324
} = this.props
2425

2526
return (
@@ -30,6 +31,7 @@ class StripeWrapper extends Component {
3031
cardTokenRequested={cardTokenRequested}
3132
onCardTokenReceived={onCardTokenReceived}
3233
setCardErrors={setCardErrors}
34+
setStripeFormComplete={setStripeFormComplete}
3335
/>
3436
</Elements>
3537
</StripeProvider>

0 commit comments

Comments
 (0)