@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
55 lines • 2.05 kB
JavaScript
;
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