@kiwicom/smart-faq
Version:
75 lines (62 loc) • 1.89 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactRelay = require("react-relay");
var _idx = _interopRequireDefault(require("idx"));
var _environment = _interopRequireDefault(require("../relay/environment"));
var _trackers = require("../helpers/analytics/trackers");
// @flow
var mutation = function mutation() {
var node = require("./__generated__/CreateCommentMutation.graphql");
if (node.hash && node.hash !== "d05a63fac00e17aa31de6f03373c0c24") {
console.error("The definition of 'CreateCommentMutation' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data.");
}
return require("./__generated__/CreateCommentMutation.graphql");
};
var _default = function _default(articleId
/*: string*/
, type
/*: string*/
, comment
/*: string*/
, callback
/*: () => void*/
, commentLimitReachedCallback
/*: () => void*/
, errorCallback
/*: () => void*/
) {
var variables = {
articleId: articleId,
type: type,
comment: comment
};
(0, _reactRelay.commitMutation)((0, _environment.default)(), {
mutation: mutation,
variables: variables,
onCompleted: function onCompleted(response, errors) {
if (!errors) {
callback();
return;
}
var isCommentLimitReached = (0, _idx.default)(errors, function (_) {
return _[0].extensions.proxy.statusCode;
}) === '429';
if (isCommentLimitReached) {
(0, _trackers.simpleTracker)('smartFAQCategories', {
action: 'commentLimitReached'
});
commentLimitReachedCallback();
} else {
errorCallback();
}
},
onError: function onError() {
errorCallback();
}
});
};
exports.default = _default;