codogo-react-widgets
Version:
Provides a unified way to access the styling of commonly used widgets across different apps
40 lines (34 loc) • 1.56 kB
JavaScript
import _taggedTemplateLiteral from "babel-runtime/helpers/taggedTemplateLiteral";
var _templateObject = _taggedTemplateLiteral(["\n\tquery($filter: UserFilter) {\n\t\tuser {\n\t\t\tid\n\t\t\tusername\n\t\t\tpersonal {\n\t\t\t\tid\n\t\t\t\tname\n\t\t\t}\n\t\t\tmemberships(filter: { org: { personalOf: $filter } }) {\n\t\t\t\tid\n\t\t\t\ttype\n\t\t\t\torg {\n\t\t\t\t\tid\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n"], ["\n\tquery($filter: UserFilter) {\n\t\tuser {\n\t\t\tid\n\t\t\tusername\n\t\t\tpersonal {\n\t\t\t\tid\n\t\t\t\tname\n\t\t\t}\n\t\t\tmemberships(filter: { org: { personalOf: $filter } }) {\n\t\t\t\tid\n\t\t\t\ttype\n\t\t\t\torg {\n\t\t\t\t\tid\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n"]);
import { compose, withContext, getContext } from "recompose";
import PropTypes from "prop-types";
import gql from "graphql-tag";
import { graphql } from "react-apollo";
// --------------------------------------------------
var userQuery = gql(_templateObject);
export var withUserContext = compose(graphql(userQuery, {
options: {
fetchPolicy: "network-only",
variables: {
filter: null
}
}
}), withContext({
user: PropTypes.object,
userLoading: PropTypes.bool,
userRefetch: PropTypes.func,
userObject: PropTypes.object
}, function (props) {
return {
user: props.data.user,
userLoading: props.data.loading,
userRefetch: props.data.refetch,
userObject: props.data.user || {}
};
}));
export var getUserContext = getContext({
user: PropTypes.object,
userLoading: PropTypes.bool,
userRefetch: PropTypes.func,
userObject: PropTypes.object
});