Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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