@rnga/orders
Version:
## Get schema from @prisma-cms 1. yarn get-api-schema -e http://localhost:4000 2. yarn build-api-fragments
238 lines (179 loc) • 8.11 kB
JavaScript
;
exports.__esModule = true;
exports.UserGroups = undefined;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp2;
var _templateObject = _taggedTemplateLiteralLoose(['\n query userGroups(\n $where: UserGroupWhereInput\n ){\n objects: userGroups(\n where:$where\n ){\n id\n name\n }\n }\n'], ['\n query userGroups(\n $where: UserGroupWhereInput\n ){\n objects: userGroups(\n where:$where\n ){\n id\n name\n }\n }\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _reactApollo = require('react-apollo');
var _graphqlTag = require('graphql-tag');
var _graphqlTag2 = _interopRequireDefault(_graphqlTag);
var _Component = require('Component');
var _Component2 = _interopRequireDefault(_Component);
var _Row = require('./Row');
var _Row2 = _interopRequireDefault(_Row);
var _query = require('query');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; }
var userGroupsQuery = (0, _graphqlTag2.default)(_templateObject);
var UserGroups = exports.UserGroups = (_temp2 = _class = function (_CustomComponent) {
_inherits(UserGroups, _CustomComponent);
function UserGroups() {
var _this2 = this;
var _temp, _this, _ret;
_classCallCheck(this, UserGroups);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _CustomComponent.call.apply(_CustomComponent, [this].concat(args))), _this), _this.checkHandler = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(event, checked) {
var value, _this$props, userId, refetch, data, result;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
value = event.target.value;
_this$props = _this.props, userId = _this$props.user.id, refetch = _this$props.data.refetch;
data = {};
if (checked) {
data = {
Groups: {
connect: {
id: value
}
}
};
} else {
data = {
Groups: {
disconnect: {
id: value
}
}
};
}
_context.next = 6;
return _this.mutate({
mutation: _query.updateUserProcessor,
variables: {
where: {
id: userId
},
data: data
}
});
case 6:
result = _context.sent;
refetch();
case 8:
case 'end':
return _context.stop();
}
}
}, _callee, _this2);
}));
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}(), _temp), _possibleConstructorReturn(_this, _ret);
}
UserGroups.prototype.render = function render() {
var _this3 = this;
var _props = this.props,
allUsersGroups = _props.allUsersGroups,
_props$data = _props.data,
loading = _props$data.loading,
objects = _props$data.objects,
inEditMode = _props.inEditMode;
var currentUser = this.context.user;
if (!currentUser || currentUser.sudo !== true) {
return null;
}
var _ref2 = allUsersGroups || {},
allUsersGroupsLoading = _ref2.loading,
allUsersGroupsObjects = _ref2.objects;
// if(allUsersGroupsLoading || userGroupsLoading){
// return null;
// }
var rows = void 0;
/**
* Если в режиме редактирования, то проходим все группы
*/
if (inEditMode) {
rows = allUsersGroupsObjects && allUsersGroupsObjects.map(function (n) {
var id = n.id;
return _react2.default.createElement(_Row2.default, {
key: id,
item: n,
inEditMode: inEditMode,
checked: objects && objects.findIndex(function (i) {
return i.id === id;
}) !== -1 ? true : false,
checkHandler: _this3.checkHandler
});
});
} else {
rows = objects && objects.map(function (n) {
var id = n.id;
return _react2.default.createElement(_Row2.default, {
key: id,
item: n
});
});
}
return _CustomComponent.prototype.render.call(this, _react2.default.createElement(
'div',
null,
rows
));
};
return UserGroups;
}(_Component2.default), _class.propTypes = _extends({}, _Component2.default.propTypes, {
user: _propTypes2.default.object.isRequired,
inEditMode: _propTypes2.default.bool.isRequired
}), _class.defaultProps = _extends({}, _Component2.default.defaultProps), _class.contextTypes = _extends({}, _Component2.default.contextTypes, {
user: _propTypes2.default.object
}), _temp2);
exports.default = (0, _reactApollo.compose)((0, _reactApollo.graphql)(userGroupsQuery, {
name: "allUsersGroups",
skip: function skip(props) {
var inEditMode = props.inEditMode;
return !inEditMode;
},
options: function options(props) {
/**
* Это пока не работает так, как надо, получает каждый раз при монтировании
*/
return {
fetchPolicy: "cache-and-network"
// fetchPolicy: "cache-first",
};
}
}), (0, _reactApollo.graphql)(userGroupsQuery, {
// name: "userGroups",
options: function options(props) {
var id = props.user.id;
return {
fetchPolicy: "cache-and-network",
variables: {
where: {
Users_some: {
id: id
}
}
}
};
}
})
// graphql(updateUserProcessor, {
// }),
)(UserGroups);