UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

158 lines (125 loc) 5.67 kB
"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;