UNPKG

@tomino/dynamic-form-semantic-ui

Version:

Semantic UI form renderer based on dynamic form generation

55 lines 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const react_apollo_1 = require("react-apollo"); const apollo_client_1 = require("apollo-client"); const apollo_cache_inmemory_1 = require("apollo-cache-inmemory"); const common_1 = require("../common"); const context_1 = require("../context"); exports.ApolloProvider = props => { const context = React.useContext(context_1.Context); const { formElement: { props: { auth, server, tokenName, batchRequests, disable } } } = props; if (disable) { return React.createElement(React.Fragment, null, common_1.createComponents(props)); } let httpLink; if (batchRequests) { let { BatchHttpLink } = require('apollo-link-batch-http'); httpLink = new BatchHttpLink({ uri: server }); } else { httpLink = require('apollo-link-http').createHttpLink({ uri: server }); } let client; if (auth) { const { setContext } = require('apollo-link-context'); const authLink = setContext((_, { headers }) => { const token = localStorage.getItem(tokenName || 'CORPIX_TOKEN'); return { headers: { ...headers, authorization: token ? `Bearer ${token}` : '' } }; }); client = new apollo_client_1.ApolloClient({ link: authLink.concat(httpLink), cache: new apollo_cache_inmemory_1.InMemoryCache() }); } else { client = new apollo_client_1.ApolloClient({ link: httpLink, cache: new apollo_cache_inmemory_1.InMemoryCache() }); } context.app.client = client; return React.createElement(react_apollo_1.ApolloProvider, { client: client }, common_1.createComponents(props)); }; exports.ApolloProviderView = { Component: exports.ApolloProvider }; //# sourceMappingURL=apollo_provider_view.js.map