Repository URL to install this package:
|
Version:
0.0.13 ▾
|
import * as React from 'react';
import { createContext } from 'react';
import { Query } from 'react-apollo';
// import {
// } from '@skava/graphql-bindings'
import { Placeholder } from '@skava/packages/ui';
import { GetPaymentsQuery } from '@skava/packages/core/auth/user/queries';
import { paymentMethodsContainer } from './state/container';
export const PaymentContext = createContext({});
export class PaymentProvider extends React.PureComponent {
constructor() {
super(...arguments);
/**
* @todo typings & split to dep
*/
this.handleUpdate = gqlProps => {
const PaymentDetails = gqlProps && gqlProps.getUserPayments.cards;
paymentMethodsContainer.loadCardList(PaymentDetails);
};
this.renderProps = gqlProps => {
const PaymentDetails = gqlProps.data && gqlProps.data.getUserPayments;
if (gqlProps.loading) {
return React.createElement(Placeholder, null);
}
else if (PaymentDetails === undefined) {
return React.createElement(Placeholder, null);
}
else {
return (React.createElement(PaymentContext.Provider, { value: PaymentDetails }, this.props.children));
}
};
}
render() {
const variables = this.props.variables || {};
return (React.createElement(Query, { query: GetPaymentsQuery, variables: variables, "fetch-policy": 'network-only',
// pollInterval={3000}
onCompleted: this.handleUpdate }, this.renderProps));
}
}
//# sourceMappingURL=context.js.map