@kiwicom/smart-faq
Version:
Smart FAQ
158 lines (125 loc) • 5.67 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _style = _interopRequireDefault(require("styled-jsx/style"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var React = _interopRequireWildcard(require("react"));
var _ScreenVoting = _interopRequireDefault(require("./ScreenVoting"));
var _ScreenFeedback = _interopRequireDefault(require("./ScreenFeedback"));
var _ScreenAdditionalFeedback = _interopRequireDefault(require("./ScreenAdditionalFeedback"));
var _ScreenThankyou = _interopRequireDefault(require("./ScreenThankyou"));
var _ScreenError = _interopRequireDefault(require("./ScreenError"));
var _screenList = _interopRequireDefault(require("./screenList"));
var _ContactPageLink = _interopRequireDefault(require("../../../SmartFAQ/common/ContactPageLink"));
var _UserStatus = _interopRequireDefault(require("../../../SmartFAQ/helpers/UserStatus"));
// @flow
var style = new String(".FAQArticleFeedback{margin-top:24px;}");
style.__hash = "2478375357";
style.__scoped = ".FAQArticleFeedback.jsx-1435334268{margin-top:24px;}";
style.__scopedHash = "1435334268";
var FAQArticleFeedback =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(FAQArticleFeedback, _React$Component);
function FAQArticleFeedback(props
/*: Props*/
) {
var _this;
(0, _classCallCheck2.default)(this, FAQArticleFeedback);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(FAQArticleFeedback).call(this, props));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "changeScreen", function (screen
/*: string*/
) {
_this.setState({
screen: screen
});
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "handleCommentTypeChange", function (event
/*: SyntheticEvent<HTMLInputElement>*/
) {
var target = event.target;
if (!(target instanceof window.HTMLInputElement)) return;
_this.setState({
commentType: target.value
});
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "clearCommentType", function () {
_this.setState({
commentType: ''
});
});
_this.state = {
screen: _screenList.default.VOTING,
commentType: ''
};
return _this;
}
(0, _createClass2.default)(FAQArticleFeedback, [{
key: "renderScreen",
value: function renderScreen() {
switch (this.state.screen) {
case _screenList.default.VOTING:
return React.createElement(_ScreenVoting.default, {
articleId: this.props.articleId,
changeScreen: this.changeScreen
});
case _screenList.default.FEEDBACK:
return React.createElement(_ScreenFeedback.default, {
changeScreen: this.changeScreen,
handleCommentTypeChange: this.handleCommentTypeChange,
commentType: this.state.commentType
});
case _screenList.default.ADDITIONAL_FEEDBACK:
return React.createElement(_ScreenAdditionalFeedback.default, {
articleId: this.props.articleId,
changeScreen: this.changeScreen,
commentType: this.state.commentType,
clearCommentType: this.clearCommentType
});
case _screenList.default.THANK_YOU:
return React.createElement(_ScreenThankyou.default, {
changeScreen: this.changeScreen
});
case _screenList.default.ERROR:
return React.createElement(_ScreenError.default, {
changeScreen: this.changeScreen
});
case _screenList.default.COMMENT_LIMIT_REACHED:
return React.createElement(_ScreenError.default, {
commentLimitReached: true,
changeScreen: this.changeScreen
});
}
return React.createElement(_ScreenVoting.default, {
articleId: this.props.articleId,
changeScreen: this.changeScreen
});
}
}, {
key: "render",
value: function render() {
return React.createElement("div", {
"data-cy": "faq-article-form",
className: "jsx-".concat(style.__scopedHash) + " " + "FAQArticleFeedback"
}, this.renderScreen(), React.createElement(_UserStatus.default.LoggedIn, null, React.createElement(_ContactPageLink.default, {
translationKey: "smartfaq.faq.article.contact_page_link"
})), React.createElement(_style.default, {
styleId: style.__scopedHash,
css: style.__scoped
}));
}
}]);
return FAQArticleFeedback;
}(React.Component);
var _default = FAQArticleFeedback;
exports.default = _default;