UNPKG

krp-react-form-component

Version:

KRP React Component for Form Preview Component

118 lines (117 loc) 5.91 kB
"use strict"; require("core-js/modules/es.weak-map.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("core-js/modules/es.parse-int.js"); require("core-js/modules/esnext.iterator.constructor.js"); require("core-js/modules/esnext.iterator.map.js"); require("core-js/modules/web.dom-collections.iterator.js"); var _react = _interopRequireWildcard(require("react")); var _antd = require("antd"); var _AppContext = require("../../../../context/AppContext"); var _SelectionContext = require("../../../../context/SelectionContext"); require("./RepeatRegister.scss"); var _propTypes = _interopRequireDefault(require("prop-types")); var _Constants = require("../../../../constants/Constants"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } const { TabPane } = _antd.Tabs; const RepeatRegister = props => { var _formDetailData$form_; const { resolveLocale, mode, formDetailData, isMultipleSelect, appOnActionLog } = (0, _react.useContext)(_AppContext.AppContext); const { campaign } = (0, _react.useContext)(_SelectionContext.SelectionContext); const [recommendScroll, setRecommendScroll] = (0, _react.useState)(0); const [historyScroll, setHistoryScroll] = (0, _react.useState)(0); const { tabKey, setTabKey } = props; const { recommendData = [], offersHistoryData = [], renderFormItem = () => {}, total = 0 } = props; const limitMultiple = (_formDetailData$form_ = formDetailData.form_styles) === null || _formDetailData$form_ === void 0 ? void 0 : _formDetailData$form_.limit_multiple; const limitReached = campaign.limit_reached || campaign.user_limit_reached || campaign.campaign_limit_reached; (0, _react.useEffect)(() => { if (tabKey === "1") { document.querySelector(".form-detail-recommend").scroll({ top: recommendScroll, behavior: "auto" }); } else if (tabKey === "2") { document.querySelector(".form-detail-history").scroll({ top: historyScroll, behavior: "auto" }); } }, [tabKey, historyScroll, recommendScroll]); const handleTabChange = key => { setTabKey(key); if (key === "1") { const historyScrollPosition = document.querySelector(".form-detail-history").scrollTop; setHistoryScroll(historyScrollPosition); } else if (key === "2") { const recommendScrollPosition = document.querySelector(".form-detail-recommend").scrollTop; setRecommendScroll(recommendScrollPosition); } }; return /*#__PURE__*/_react.default.createElement("div", { className: "RepeatRegister " + mode }, /*#__PURE__*/_react.default.createElement(_antd.Tabs, { defaultActiveKey: "1", animated: false, destroyInactiveTabPane: true, onChange: handleTabChange, currentTab: tabKey, onTabClick: tab => { if (parseInt(tab) === 1 && tab !== tabKey) { appOnActionLog({ screenName: _Constants.CONSTANTS.ACTION_SCREEN_NAME.CAMPAIGN_REGISTER_MULTI_OFFER_FORM, eventCategory: _Constants.CONSTANTS.ACTION_EVENT_CATEGORY.CAMPAIGN, eventActionType: _Constants.CONSTANTS.ACTION_TYPE.ONLOAD, eventName: _Constants.CONSTANTS.ACTION_EVENT_NAME.MULTI_OFFER_FORM_RECOMMEND }); } else if (parseInt(tab) === 2 && tab !== tabKey) { appOnActionLog({ screenName: _Constants.CONSTANTS.ACTION_SCREEN_NAME.CAMPAIGN_REGISTER_MULTI_OFFER_FORM, eventCategory: _Constants.CONSTANTS.ACTION_EVENT_CATEGORY.CAMPAIGN, eventActionType: _Constants.CONSTANTS.ACTION_TYPE.ONLOAD, eventName: _Constants.CONSTANTS.ACTION_EVENT_NAME.MULTI_OFFER_FORM_HISTORY }); } } }, /*#__PURE__*/_react.default.createElement(TabPane, { tab: resolveLocale("FORM_DETAIL_RECOMMEND"), key: "1" }, /*#__PURE__*/_react.default.createElement("div", { className: "form-detail-recommend ".concat(mode, " ").concat(limitReached ? "limit-reached" : isMultipleSelect ? total === 0 ? "single-select" // no offer case but same styling as single-select : parseInt(limitMultiple) === 0 || parseInt(limitMultiple) >= total ? "multi-select" : "limit-multi-select" : "single-select") }, recommendData.length > 0 && recommendData.map((item, index) => renderFormItem(item, index, mode, false, 'recommend')))), /*#__PURE__*/_react.default.createElement(TabPane, { tab: resolveLocale("FORM_DETAIL_OFFERS_HISTORY"), key: "2" }, /*#__PURE__*/_react.default.createElement("div", { className: "form-detail-history ".concat(mode, " ").concat(limitReached ? "limit-reached" : isMultipleSelect ? total === 0 ? "single-select" // no offer case but same styling as single-select : parseInt(limitMultiple) === 0 || parseInt(limitMultiple) >= total ? "multi-select" : "limit-multi-select" : "single-select") }, offersHistoryData.length > 0 && offersHistoryData.map((item, index) => renderFormItem(item, index, mode, true, 'history')))))); }; RepeatRegister.propTypes = { recommendData: _propTypes.default.array, offersHistoryData: _propTypes.default.array, renderFormItem: _propTypes.default.func, total: _propTypes.default.number }; var _default = exports.default = RepeatRegister;