krp-react-form-component
Version:
KRP React Component for Form Preview Component
118 lines (117 loc) • 5.91 kB
JavaScript
"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;