pb-sxp-ui 1.10.2 → 1.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/index.cjs +133 -75
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +133 -75
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.cjs +4 -4
  6. package/dist/index.min.cjs.map +1 -1
  7. package/dist/index.min.js +4 -4
  8. package/dist/index.min.js.map +1 -1
  9. package/dist/pb-ui.js +133 -75
  10. package/dist/pb-ui.js.map +1 -1
  11. package/dist/pb-ui.min.js +4 -4
  12. package/dist/pb-ui.min.js.map +1 -1
  13. package/es/core/components/SxpPageRender/WaterFall/List.js +2 -2
  14. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +2 -2
  15. package/es/core/components/SxpPageRender/index.js +26 -18
  16. package/es/core/context/SxpDataSourceProvider.d.ts +6 -0
  17. package/es/core/context/SxpDataSourceProvider.js +62 -16
  18. package/es/core/hooks/useEventReport.d.ts +1 -1
  19. package/es/core/hooks/useEventReport.js +10 -3
  20. package/es/materials/sxp/MultiPosts/index.js +6 -12
  21. package/es/materials/sxp/cta/AniLink/index.js +2 -2
  22. package/es/materials/sxp/cta/AniLinkPopup/index.js +2 -2
  23. package/es/materials/sxp/popup/AppointForm/index.js +2 -2
  24. package/es/materials/sxp/popup/CommodityDetail/index.js +2 -2
  25. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +2 -2
  26. package/es/materials/sxp/popup/CommodityList/index.js +3 -3
  27. package/es/materials/sxp/popup/Prompt/index.js +2 -2
  28. package/es/materials/sxp/template/Link/index.js +1 -3
  29. package/es/materials/sxp/template/components/EventProvider.js +3 -3
  30. package/lib/core/components/SxpPageRender/WaterFall/List.js +2 -2
  31. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +2 -2
  32. package/lib/core/components/SxpPageRender/index.js +26 -18
  33. package/lib/core/context/SxpDataSourceProvider.d.ts +6 -0
  34. package/lib/core/context/SxpDataSourceProvider.js +62 -16
  35. package/lib/core/hooks/useEventReport.d.ts +1 -1
  36. package/lib/core/hooks/useEventReport.js +10 -3
  37. package/lib/materials/sxp/MultiPosts/index.js +6 -12
  38. package/lib/materials/sxp/cta/AniLink/index.js +2 -2
  39. package/lib/materials/sxp/cta/AniLinkPopup/index.js +2 -2
  40. package/lib/materials/sxp/popup/AppointForm/index.js +2 -2
  41. package/lib/materials/sxp/popup/CommodityDetail/index.js +2 -2
  42. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +2 -2
  43. package/lib/materials/sxp/popup/CommodityList/index.js +3 -3
  44. package/lib/materials/sxp/popup/Prompt/index.js +2 -2
  45. package/lib/materials/sxp/template/Link/index.js +1 -3
  46. package/lib/materials/sxp/template/components/EventProvider.js +3 -3
  47. package/package.json +1 -1
@@ -161,12 +161,12 @@ export default function WaterfallList(_a) {
161
161
  setIsLoadingData(false);
162
162
  }
163
163
  }, [waterFallData, getRecommendVideos, hashTagSize, isOpenHashTag]);
164
- const handleClickLink = () => {
164
+ const handleClickLink = (e) => {
165
165
  var _a, _b, _c, _d, _e;
166
166
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
167
167
  reportTagsView();
168
168
  const rec = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec;
169
- jumpToWeb(rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
169
+ jumpToWeb(e, rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
170
170
  window.location.href = window.getJointUtmLink((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link);
171
171
  }
172
172
  };
@@ -269,12 +269,12 @@ export default function WaterfallList(_a) {
269
269
  (_a = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', onScroll);
270
270
  };
271
271
  }, [onScroll, scrollParent]);
272
- const handleClickLink = () => {
272
+ const handleClickLink = (e) => {
273
273
  var _a, _b, _c, _d, _e;
274
274
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
275
275
  reportTagsView();
276
276
  const rec = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec;
277
- jumpToWeb(rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
277
+ jumpToWeb(e, rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
278
278
  window.location.href = window.getJointUtmLink((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link);
279
279
  }
280
280
  };
@@ -112,20 +112,22 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
112
112
  else if (item === null || item === void 0 ? void 0 : item.product) {
113
113
  fromKName = 'productPage';
114
114
  }
115
- bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
116
- eventInfo: {
117
- sessionDuration: Math.floor((new Date() - curTime.current) / 1000) + '',
118
- eventSubject: 'sessionCompleted',
119
- eventDescription: 'Session completed',
120
- contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
121
- productId: (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.itemId,
122
- position: activeIndex + '',
123
- fromKName,
124
- fromKPage: location === null || location === void 0 ? void 0 : location.href,
125
- ctatId: (_r = (_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.bindCta) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
126
- traceInfo: (_v = (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.traceInfo) !== null && _t !== void 0 ? _t : (_u = item === null || item === void 0 ? void 0 : item.product) === null || _u === void 0 ? void 0 : _u.traceInfo) !== null && _v !== void 0 ? _v : ''
127
- }
128
- });
115
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) !== 'organic menu' || activeIndex !== 0) {
116
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
117
+ eventInfo: {
118
+ sessionDuration: Math.floor((new Date() - curTime.current) / 1000) + '',
119
+ eventSubject: 'sessionCompleted',
120
+ eventDescription: 'Session completed',
121
+ contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
122
+ productId: (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.itemId,
123
+ position: activeIndex + '',
124
+ fromKName,
125
+ fromKPage: location === null || location === void 0 ? void 0 : location.href,
126
+ ctatId: (_r = (_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.bindCta) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
127
+ traceInfo: (_v = (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.traceInfo) !== null && _t !== void 0 ? _t : (_u = item === null || item === void 0 ? void 0 : item.product) === null || _u === void 0 ? void 0 : _u.traceInfo) !== null && _v !== void 0 ? _v : ''
128
+ }
129
+ });
130
+ }
129
131
  }
130
132
  else if (document.visibilityState === 'visible') {
131
133
  if (skipLinkRef.current === true) {
@@ -200,10 +202,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
200
202
  const isExternalLink = ((_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoBar) === null || _c === void 0 ? void 0 : _c.onClick) === null || _d === void 0 ? void 0 : _d.linkType) === 'externalLink';
201
203
  const rec = visList[activeIndex];
202
204
  return (React.createElement("div", Object.assign({ className: 'clc-sxp-logo-banner', style: { backgroundColor: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.color } }, (link && {
203
- onClick: () => {
205
+ onClick: (e) => {
204
206
  var _a, _b, _c, _d;
205
207
  if (isExternalLink) {
206
- jumpToWeb(rec, (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindCta, activeIndex, ((_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.traceInfo) || ((_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo));
208
+ jumpToWeb(e, rec, (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindCta, activeIndex, ((_c = rec === null || rec === void 0 ? void 0 : rec.product) === null || _c === void 0 ? void 0 : _c.traceInfo) || ((_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo));
207
209
  }
208
210
  new Function(link)();
209
211
  }
@@ -306,9 +308,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
306
308
  if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLike) || !visible)
307
309
  return;
308
310
  let top = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconY) !== null && _a !== void 0 ? _a : 400;
309
- if (waterFallData && top < 40 && globalConfig.likeIconYPosit === 'top') {
311
+ if (waterFallData && top < 40 && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconYPosit) === 'top') {
310
312
  top += 40;
311
313
  }
314
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconYPosit) === 'top') {
315
+ top += minusHeight;
316
+ }
312
317
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
313
318
  return (React.createElement(LikeButton, { key: rec.position, activeIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIcon, unActicveIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unlikeIcon, active: rec.isCollected, recData: rec, className: 'clc-sxp-like-button', style: {
314
319
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed) ? 'fixed' : 'absolute',
@@ -476,6 +481,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
476
481
  if (waterFallData && top < 40 && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) === 'top') {
477
482
  top += 40;
478
483
  }
484
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconYPosit) === 'top') {
485
+ top += minusHeight;
486
+ }
479
487
  return (((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowMute) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowMute) === true) && (React.createElement(ToggleButton, { style: {
480
488
  position: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed) ? 'fixed' : 'absolute',
481
489
  visibility: ((_c = (_b = visList === null || visList === void 0 ? void 0 : visList[activeIndex]) === null || _b === void 0 ? void 0 : _b.video) === null || _c === void 0 ? void 0 : _c.url) ? 'visible' : 'hidden',
@@ -535,7 +543,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
535
543
  eventInfo: {
536
544
  eventSubject: 'backMultiPostClick',
537
545
  eventDescription: 'backMultiPostClick',
538
- traceinfo: (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.video) === null || _b === void 0 ? void 0 : _b.traceInfo) !== null && _c !== void 0 ? _c : ''
546
+ traceInfo: (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.video) === null || _b === void 0 ? void 0 : _b.traceInfo) !== null && _c !== void 0 ? _c : ''
539
547
  }
540
548
  });
541
549
  location === null || location === void 0 ? void 0 : location.reload();
@@ -8,6 +8,10 @@ export interface IWaterFallDataType {
8
8
  itemType?: 'VIDEO' | 'PRODUCT' | null;
9
9
  rec: RecItemType;
10
10
  }
11
+ export interface IEventTimeType {
12
+ time: Date;
13
+ target: EventTarget;
14
+ }
11
15
  export interface ISxpDataSourceContext {
12
16
  rtcList: RecItemType[];
13
17
  setRtcList?: React.Dispatch<React.SetStateAction<RecItemType[]>>;
@@ -82,6 +86,8 @@ export interface ISxpDataSourceContext {
82
86
  isNoMoreData?: boolean;
83
87
  updateChannel?: (d: string) => void;
84
88
  channel?: string;
89
+ eventTimeList?: Array<IEventTimeType>;
90
+ setEventTimeList?: React.Dispatch<React.SetStateAction<Array<IEventTimeType>>>;
85
91
  }
86
92
  export declare const SxpDataSourceContext: React.Context<ISxpDataSourceContext>;
87
93
  export interface SxpDataSourceProviderProps {
@@ -40,10 +40,13 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
40
40
  const popupCurTimeRef = useRef(null);
41
41
  const [isNoMoreData, setIsNoMoreData] = useState(false);
42
42
  const [globalConfig, setGlobalConfig] = useState((_b = (_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.sxpPageConf) === null || _b === void 0 ? void 0 : _b.globalConfig);
43
- const [pageData, setPageData] = useState(data);
43
+ const [pageData, setPageData] = useState();
44
44
  const [showConsent, setShowConsent] = useState(false);
45
45
  const [layoutVariantId, setLayoutVariantId] = useState();
46
46
  const [channel, setChannel] = useState();
47
+ const [eventTimeList, setEventTimeList] = useState([]);
48
+ const [playbookType, setPlaybookType] = useState();
49
+ const finalPageData = useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
47
50
  const isShowConsent = useMemo(() => {
48
51
  var _a, _b, _c, _d;
49
52
  return (((((_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.privacy_necessity) && !isAgreePolicy && !isEditor) || isOpenConsent) &&
@@ -66,6 +69,20 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
66
69
  })) !== null && _a !== void 0 ? _a : [];
67
70
  return nList;
68
71
  }, []);
72
+ useEffect(() => {
73
+ let intervalId;
74
+ if (eventTimeList.length > 0) {
75
+ const checkTimes = () => {
76
+ const now = new Date();
77
+ const threshold = 15 * 1000;
78
+ setEventTimeList((prevArray) => prevArray.filter((item) => now - item.time <= threshold));
79
+ };
80
+ intervalId = setInterval(checkTimes, 1000);
81
+ }
82
+ return () => {
83
+ clearInterval(intervalId);
84
+ };
85
+ }, [eventTimeList]);
69
86
  useEffect(() => {
70
87
  const handleChangeThemeTag = (tag) => {
71
88
  themeTag.current = tag;
@@ -202,7 +219,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
202
219
  userInfo = {};
203
220
  }
204
221
  const sessionID = storeAndLoadFeSessionId();
205
- const ef = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ sessionID, rtc: curReqInfo.rtc, requestId: curReqInfo.requestId }, eventInfo), (getDevice() && { sxpDevice: getDevice() })), (getSystem() && { sxpSystem: getSystem() })), (getBrowserInfo() && { sxpBrowser: getBrowserInfo() })), { playbookType: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) === 'organic menu' ? 'organicMenu' : 'paidMedia' }), (layoutVariantId && reportLayId && { layoutVariantId }));
222
+ const ef = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ sessionID, rtc: curReqInfo.rtc, requestId: curReqInfo.requestId }, { playbookType }), eventInfo), (getDevice() && { sxpDevice: getDevice() })), (getSystem() && { sxpSystem: getSystem() })), (getBrowserInfo() && { sxpBrowser: getBrowserInfo() })), (layoutVariantId && reportLayId && { layoutVariantId })), ((eventInfo === null || eventInfo === void 0 ? void 0 : eventInfo.position) && channel && { position: Number(eventInfo === null || eventInfo === void 0 ? void 0 : eventInfo.position) + 1 + '' }));
206
223
  const realUserInfo = Object.entries(userInfo).map(([k, v]) => ({ name: k, value: v }));
207
224
  const realEventInfo = Object.entries(ef)
208
225
  .map(([k, v]) => v && { name: k, value: v })
@@ -216,7 +233,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
216
233
  body: { userInfo: realUserInfo, eventInfo: realEventInfo },
217
234
  type: 'beacon'
218
235
  });
219
- }, [bffFetch, curReqInfo, enableReportEvent, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview, layoutVariantId]);
236
+ }, [bffFetch, curReqInfo, enableReportEvent, globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview, layoutVariantId, globalConfig, playbookType]);
220
237
  const bffFbReport = useCallback(({ eventName, product }) => {
221
238
  var _a, _b, _c, _d, _e;
222
239
  if (!enableReportEvent ||
@@ -376,17 +393,14 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
376
393
  return;
377
394
  setLoading(true);
378
395
  let layId;
396
+ let pbType;
379
397
  getRecommendVideos()
380
398
  .then((data) => {
381
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
399
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
382
400
  if (data) {
383
401
  const list = getFilterRecList(data);
384
- if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) === 'organic menu' && !channel) {
385
- list.unshift('organic menu');
386
- }
387
- setRtcList(list);
388
- setCacheRtcList(list);
389
402
  let curData;
403
+ let gldata;
390
404
  if (data === null || data === void 0 ? void 0 : data.layoutVariantId) {
391
405
  const id = (_b = (_a = data === null || data === void 0 ? void 0 : data.layoutVariantId) === null || _a === void 0 ? void 0 : _a.split('-')) === null || _b === void 0 ? void 0 : _b[1];
392
406
  if (id) {
@@ -396,19 +410,49 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
396
410
  if (curData) {
397
411
  setPageData(curData);
398
412
  document.title = (_c = curData === null || curData === void 0 ? void 0 : curData.name) !== null && _c !== void 0 ? _c : 'home';
399
- setGlobalConfig((_d = curData === null || curData === void 0 ? void 0 : curData.data) === null || _d === void 0 ? void 0 : _d.globalConfig);
413
+ gldata = (_e = (_d = curData === null || curData === void 0 ? void 0 : curData.data) === null || _d === void 0 ? void 0 : _d.sxpPageConf) === null || _e === void 0 ? void 0 : _e.globalConfig;
414
+ setGlobalConfig(gldata);
400
415
  onUpdateSchema === null || onUpdateSchema === void 0 ? void 0 : onUpdateSchema(curData === null || curData === void 0 ? void 0 : curData.data);
401
- if ((_k = (_j = (_h = (_g = (_f = (_e = curData === null || curData === void 0 ? void 0 : curData.data) === null || _e === void 0 ? void 0 : _e.globalConfig) === null || _f === void 0 ? void 0 : _f.consent) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.item) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.privacy_necessity)
416
+ if ((_j = (_h = (_g = (_f = gldata === null || gldata === void 0 ? void 0 : gldata.consent) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.item) === null || _h === void 0 ? void 0 : _h.props) === null || _j === void 0 ? void 0 : _j.privacy_necessity)
402
417
  setShowConsent(true);
403
418
  }
419
+ else {
420
+ setShowConsent(true);
421
+ }
422
+ }
423
+ }
424
+ else {
425
+ setShowConsent(true);
426
+ }
427
+ if (!channel) {
428
+ if ((gldata === null || gldata === void 0 ? void 0 : gldata.playbook) === 'organic menu' || (!gldata && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.playbook) === 'organic menu')) {
429
+ setPlaybookType('organicMenu');
430
+ list.unshift('organic menu');
431
+ pbType = 'organicMenu';
432
+ }
433
+ else {
434
+ setPlaybookType('paidMedia');
435
+ pbType = 'paidMedia';
404
436
  }
405
437
  }
406
- bffGetTagList(curData !== null && curData !== void 0 ? curData : pageData);
438
+ setRtcList(list);
439
+ setCacheRtcList(list);
440
+ bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
441
+ if (channel) {
442
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
443
+ eventInfo: {
444
+ eventSubject: 'multiPostClick',
445
+ eventDescription: 'multiPostClick',
446
+ traceInfo: (_m = (_l = (_k = list === null || list === void 0 ? void 0 : list[0]) === null || _k === void 0 ? void 0 : _k.video) === null || _l === void 0 ? void 0 : _l.traceInfo) !== null && _m !== void 0 ? _m : '',
447
+ branchfeed: channel
448
+ }
449
+ });
450
+ }
407
451
  }
408
452
  })
409
453
  .finally(() => {
410
454
  bffEventReport({
411
- eventInfo: Object.assign({ eventSubject: 'apiRequest', eventDescription: 'api request succeed' }, (layId && { layoutVariantId: layId }))
455
+ eventInfo: Object.assign(Object.assign({ eventSubject: 'apiRequest', eventDescription: 'api request succeed' }, (layId && { layoutVariantId: layId })), (pbType && { playbookType: pbType }))
412
456
  });
413
457
  setLoading(false);
414
458
  });
@@ -417,7 +461,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
417
461
  if (!isPreview)
418
462
  return;
419
463
  setLoading(true);
420
- bffGetTagList(pageData);
464
+ bffGetTagList(data);
421
465
  getRecommendVideos()
422
466
  .then((data) => {
423
467
  if (data) {
@@ -483,14 +527,16 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
483
527
  isEditor,
484
528
  isNoMoreData,
485
529
  updateChannel,
486
- channel
530
+ channel,
531
+ eventTimeList,
532
+ setEventTimeList
487
533
  } }, isShowConsent ? (React.createElement(Consent, Object.assign({}, (_e = (_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.props))) : (render({
488
534
  rtcList,
489
535
  mutateLike: bffMutateLike,
490
536
  mutateUnlike: bffMutateUnlike,
491
537
  submitForm: bffSubmitForm,
492
538
  tagList,
493
- pageData
539
+ pageData: finalPageData
494
540
  }))));
495
541
  };
496
542
  export default memo(SxpDataSourceProvider);
@@ -1,6 +1,6 @@
1
1
  import { RecItemType } from '../components/SxpPageRender/typing';
2
2
  export declare function useEventReport(): {
3
- jumpToWeb: (data?: RecItemType, product?: RecItemType['product'], cta?: RecItemType['cta'], position?: number, traceInfo?: string) => void;
3
+ jumpToWeb: (e: React.MouseEvent<HTMLElement>, data?: RecItemType, product?: RecItemType['product'], cta?: RecItemType['cta'], position?: number, traceInfo?: string) => void;
4
4
  productView: (data?: RecItemType, product?: RecItemType['product'], cta?: RecItemType['cta'], viewTime?: any, position?: number) => void;
5
5
  backMainFeed: (lastFeed: 'theme' | 'branch' | 'external', selectTag?: string, themeTag?: string, hashTag?: string) => void;
6
6
  };
@@ -2,9 +2,16 @@ import { useCallback } from 'react';
2
2
  import { useSxpDataSource } from './useSxpDataSource';
3
3
  import { DEFAULT_TAG } from '../context/SxpDataSourceProvider';
4
4
  export function useEventReport() {
5
- const { bffEventReport, popupDetailData, waterFallData, isFromHashtag } = useSxpDataSource();
6
- const jumpToWeb = useCallback((data, product, cta, position, traceInfo) => {
5
+ const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
6
+ const jumpToWeb = useCallback((e, data, product, cta, position, traceInfo) => {
7
7
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
8
+ const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
9
+ if (i !== -1) {
10
+ return;
11
+ }
12
+ else if (e) {
13
+ setEventTimeList === null || setEventTimeList === void 0 ? void 0 : setEventTimeList((prev) => [...prev, { target: e === null || e === void 0 ? void 0 : e.target, time: new Date() }]);
14
+ }
8
15
  let fromKName = '';
9
16
  if (popupDetailData && (((_b = (_a = data === null || data === void 0 ? void 0 : data.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) || ((_c = data === null || data === void 0 ? void 0 : data.video) === null || _c === void 0 ? void 0 : _c.bindProduct))) {
10
17
  fromKName = 'pdpPage';
@@ -32,7 +39,7 @@ export function useEventReport() {
32
39
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
33
40
  eventInfo: Object.assign({ eventSubject: 'jumpToWeb', eventDescription: 'User jumped to website', productId: (_v = product === null || product === void 0 ? void 0 : product.itemId) !== null && _v !== void 0 ? _v : '', productName: (_w = product === null || product === void 0 ? void 0 : product.title) !== null && _w !== void 0 ? _w : '', price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0', productCollection: (_x = product === null || product === void 0 ? void 0 : product.collection) !== null && _x !== void 0 ? _x : '', fromKName, fromKPage: location === null || location === void 0 ? void 0 : location.href, contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.itemId) !== null && _z !== void 0 ? _z : '', ctatId: (_0 = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _0 !== void 0 ? _0 : '', traceInfo: (_13 = (_10 = (_8 = (_4 = (_1 = traceInfo !== null && traceInfo !== void 0 ? traceInfo : product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _1 !== void 0 ? _1 : (_3 = (_2 = data === null || data === void 0 ? void 0 : data.video) === null || _2 === void 0 ? void 0 : _2.bindProduct) === null || _3 === void 0 ? void 0 : _3.traceInfo) !== null && _4 !== void 0 ? _4 : (_7 = (_6 = (_5 = data === null || data === void 0 ? void 0 : data.video) === null || _5 === void 0 ? void 0 : _5.bindProducts) === null || _6 === void 0 ? void 0 : _6[0]) === null || _7 === void 0 ? void 0 : _7.traceInfo) !== null && _8 !== void 0 ? _8 : (_9 = data === null || data === void 0 ? void 0 : data.product) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : (_12 = (_11 = data === null || data === void 0 ? void 0 : data.video) === null || _11 === void 0 ? void 0 : _11.bindCta) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : '' }, (contentFormat && { contentFormat }))
34
41
  });
35
- }, [bffEventReport, popupDetailData, isFromHashtag]);
42
+ }, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
36
43
  const productView = useCallback((data, product, cta, viewTime, position) => {
37
44
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
38
45
  let fromKName = '';
@@ -12,7 +12,7 @@ const MultiPosts = (_a) => {
12
12
  const { isActive } = useSwiperSlide() || {};
13
13
  const initRef = useRef(false);
14
14
  const viewTime = useRef();
15
- const traceinfo = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.traceInfo) !== null && _c !== void 0 ? _c : '';
15
+ const traceInfo = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.traceInfo) !== null && _c !== void 0 ? _c : '';
16
16
  const getPropsVal = useCallback((index, str) => {
17
17
  try {
18
18
  return new Function('props', 'str', `if (str) {
@@ -28,14 +28,6 @@ const MultiPosts = (_a) => {
28
28
  const value = v === null || v === void 0 ? void 0 : v.value;
29
29
  if (!value)
30
30
  return;
31
- bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
32
- eventInfo: {
33
- eventSubject: 'multiPostClick',
34
- eventDescription: 'multiPostClick',
35
- traceinfo,
36
- branchfeed: (v === null || v === void 0 ? void 0 : v.linkType) === 'recommendFlow' && value ? value : ''
37
- }
38
- });
39
31
  if ((v === null || v === void 0 ? void 0 : v.linkType) === 'recommendFlow') {
40
32
  endMultiPost('multipostClick');
41
33
  updateChannel === null || updateChannel === void 0 ? void 0 : updateChannel(value);
@@ -53,7 +45,7 @@ const MultiPosts = (_a) => {
53
45
  eventDescription: 'startMultiPost',
54
46
  contentFormat: 'IMAGE',
55
47
  position: '0',
56
- traceinfo
48
+ traceInfo
57
49
  }
58
50
  });
59
51
  }, []);
@@ -64,7 +56,7 @@ const MultiPosts = (_a) => {
64
56
  eventDescription: 'endMultiPost',
65
57
  contentFormat: 'IMAGE',
66
58
  position: '0',
67
- traceinfo,
59
+ traceInfo,
68
60
  nextStep: nextStep || 'others',
69
61
  timeOnSite: Math.floor((new Date() - (viewTime === null || viewTime === void 0 ? void 0 : viewTime.current)) / 1000) + ''
70
62
  }
@@ -80,6 +72,8 @@ const MultiPosts = (_a) => {
80
72
  }
81
73
  }, [isActive]);
82
74
  useEffect(() => {
75
+ if (!isActive)
76
+ return;
83
77
  const onShow = () => startMultiPost();
84
78
  const onHide = () => endMultiPost();
85
79
  SXP_EVENT_BUS.on(SXP_EVENT_TYPE.PAGE_DID_SHOW, onShow);
@@ -90,7 +84,7 @@ const MultiPosts = (_a) => {
90
84
  };
91
85
  }, [isActive]);
92
86
  return (React.createElement("div", { className: 'multiposts', style: Object.assign(Object.assign({}, style), getBgStyle(bgImgUrl)) }, Array.from({ length: 4 }, (_, index) => {
93
- return (React.createElement("button", { className: 'multiposts-btn', role: 'button', "aria-label": `multiposts-${index + 1}`, onClick: () => handleClick(index) },
87
+ return (React.createElement("button", { hidden: !getPropsVal(index, 'Url'), className: 'multiposts-btn', role: 'button', "aria-label": `multiposts-${index + 1}`, onClick: () => handleClick(index) },
94
88
  React.createElement("img", { className: 'multiposts-btn-img', src: getPropsVal(index, 'Url'), alt: `multiposts-img-${index + 1}` })));
95
89
  })));
96
90
  };
@@ -16,7 +16,7 @@ const AniLink = (_a) => {
16
16
  const isOnScreen = useOnScreen(ref);
17
17
  const cta = ((_d = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.bindCta) || ((_f = (_e = recData === null || recData === void 0 ? void 0 : recData.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.bindCta) || ((_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindCta);
18
18
  const product = ((_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.bindProducts) === null || _j === void 0 ? void 0 : _j[0]) || ((_k = recData === null || recData === void 0 ? void 0 : recData.video) === null || _k === void 0 ? void 0 : _k.bindProduct);
19
- const handleTo = () => {
19
+ const handleTo = (e) => {
20
20
  var _a, _b, _c, _d;
21
21
  const item = ((_b = (_a = recData === null || recData === void 0 ? void 0 : recData.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b[0]) || ((_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct) || (recData === null || recData === void 0 ? void 0 : recData.video);
22
22
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
@@ -27,7 +27,7 @@ const AniLink = (_a) => {
27
27
  if (isExternalLink) {
28
28
  const link = (product === null || product === void 0 ? void 0 : product.link) || ((_d = item === null || item === void 0 ? void 0 : item.bindCta) === null || _d === void 0 ? void 0 : _d.link);
29
29
  if (link) {
30
- jumpToWeb(recData, product, cta, index);
30
+ jumpToWeb(e, recData, product, cta, index);
31
31
  window.location.href = window.getJointUtmLink(link);
32
32
  }
33
33
  }
@@ -16,7 +16,7 @@ const AniLinkPopup = (_a) => {
16
16
  const [visible, setVisible] = useState(true);
17
17
  const cta = ((_d = (_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.bindCta) || ((_f = (_e = recData === null || recData === void 0 ? void 0 : recData.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.bindCta) || ((_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindCta);
18
18
  const product = ((_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.bindProducts) === null || _j === void 0 ? void 0 : _j[0]) || ((_k = recData === null || recData === void 0 ? void 0 : recData.video) === null || _k === void 0 ? void 0 : _k.bindProduct);
19
- const handleTo = () => {
19
+ const handleTo = (e) => {
20
20
  var _a, _b, _c, _d;
21
21
  const item = ((_b = (_a = recData === null || recData === void 0 ? void 0 : recData.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b[0]) || ((_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct) || (recData === null || recData === void 0 ? void 0 : recData.video);
22
22
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
@@ -27,7 +27,7 @@ const AniLinkPopup = (_a) => {
27
27
  if (isExternalLink) {
28
28
  const link = (product === null || product === void 0 ? void 0 : product.link) || ((_d = item === null || item === void 0 ? void 0 : item.bindCta) === null || _d === void 0 ? void 0 : _d.link);
29
29
  if (link) {
30
- jumpToWeb(recData, product, cta, index);
30
+ jumpToWeb(e, recData, product, cta, index);
31
31
  window.location.href = window.getJointUtmLink(link);
32
32
  }
33
33
  }
@@ -49,7 +49,7 @@ const AppointForm = (_a) => {
49
49
  const { name, value } = e.target;
50
50
  setFormData(Object.assign(Object.assign({}, formData), { [name]: value }));
51
51
  }, [formData]);
52
- const handleSubmit = debounce(() => __awaiter(void 0, void 0, void 0, function* () {
52
+ const handleSubmit = debounce((e) => __awaiter(void 0, void 0, void 0, function* () {
53
53
  var _d, _e, _f, _g, _h;
54
54
  const vals = formData;
55
55
  if (!vals)
@@ -72,7 +72,7 @@ const AppointForm = (_a) => {
72
72
  const product = (_f = data === null || data === void 0 ? void 0 : data.video) === null || _f === void 0 ? void 0 : _f.bindProduct;
73
73
  const cta = (_h = (_g = data === null || data === void 0 ? void 0 : data.video) === null || _g === void 0 ? void 0 : _g.bindProduct) === null || _h === void 0 ? void 0 : _h.bindCta;
74
74
  const position = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.index;
75
- jumpToWeb(data, product, cta, position);
75
+ jumpToWeb(e, data, product, cta, position);
76
76
  }
77
77
  if (!isPopup) {
78
78
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -35,9 +35,9 @@ const CommodityDetail = (_a) => {
35
35
  product = p;
36
36
  cta = p === null || p === void 0 ? void 0 : p.bindCta;
37
37
  }
38
- const handleLink = () => {
38
+ const handleLink = (e) => {
39
39
  if (product === null || product === void 0 ? void 0 : product.link) {
40
- jumpToWeb(data, product, cta, position);
40
+ jumpToWeb(e, data, product, cta, position);
41
41
  if (!isPost) {
42
42
  productView(data, product, cta, viewTime || curTimeRef.current, position);
43
43
  }
@@ -39,9 +39,9 @@ const CommodityDetailDiroNew = (_a) => {
39
39
  product = p;
40
40
  cta = p === null || p === void 0 ? void 0 : p.bindCta;
41
41
  }
42
- const handleLink = () => {
42
+ const handleLink = (e) => {
43
43
  if (product === null || product === void 0 ? void 0 : product.link) {
44
- jumpToWeb(data, product, cta, position);
44
+ jumpToWeb(e, data, product, cta, position);
45
45
  if (!isPost) {
46
46
  productView(data, product, cta, viewTime || curTimeRef.current, position);
47
47
  }
@@ -26,7 +26,7 @@ const CommodityList = (_a) => {
26
26
  style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price
27
27
  });
28
28
  }, [(_d = commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price) === null || _d === void 0 ? void 0 : _d.enableFormattedPrice, globalConfig]);
29
- const handleClick = throttle((item, multiCheckIndex) => {
29
+ const handleClick = throttle((item, multiCheckIndex, e) => {
30
30
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
31
31
  eventSubject: 'clickCta',
32
32
  eventDescription: 'User clicked the CTA'
@@ -34,7 +34,7 @@ const CommodityList = (_a) => {
34
34
  setPopupDetailData === null || setPopupDetailData === void 0 ? void 0 : setPopupDetailData(Object.assign(Object.assign({}, recData), { video: Object.assign(Object.assign({}, recData === null || recData === void 0 ? void 0 : recData.video), { bindProduct: item }), index, multiCheckIndex }));
35
35
  if (isExternalLink) {
36
36
  if (item === null || item === void 0 ? void 0 : item.link) {
37
- jumpToWeb(recData, item, item.bindCta, index);
37
+ jumpToWeb(e, recData, item, item.bindCta, index);
38
38
  window.location.href = window.getJointUtmLink(item.link);
39
39
  }
40
40
  }
@@ -49,7 +49,7 @@ const CommodityList = (_a) => {
49
49
  }, []);
50
50
  return (React.createElement("ul", { role: 'list', className: css(Object.assign(Object.assign({}, style), { display: 'flex', flexDirection: 'column', gap: '10px', padding: '0 20px', marginTop: '50px', boxSizing: 'border-box' })) }, product === null || product === void 0 ? void 0 : product.map((item, index) => {
51
51
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
52
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement("li", { role: 'listitem', key: index, onClick: () => handleClick(item, index) },
52
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement("li", { role: 'listitem', key: index, onClick: (e) => handleClick(item, index, e) },
53
53
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css({
54
54
  display: 'flex',
55
55
  alignItems: 'normal',
@@ -12,14 +12,14 @@ const Prompt = (_a) => {
12
12
  const { popupDetailData } = useSxpDataSource();
13
13
  const { jumpToWeb } = useEventReport();
14
14
  const iconSrc = typeof icon === 'string' ? icon : getMediaValueByMode(icon);
15
- const handleOk = () => {
15
+ const handleOk = (e) => {
16
16
  var _a, _b, _c;
17
17
  if (isExternalLink) {
18
18
  const data = popupDetailData;
19
19
  const product = (_a = data === null || data === void 0 ? void 0 : data.video) === null || _a === void 0 ? void 0 : _a.bindProduct;
20
20
  const cta = (_c = (_b = data === null || data === void 0 ? void 0 : data.video) === null || _b === void 0 ? void 0 : _b.bindProduct) === null || _c === void 0 ? void 0 : _c.bindCta;
21
21
  const position = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.index;
22
- jumpToWeb(data, product, cta, position);
22
+ jumpToWeb(e, data, product, cta, position);
23
23
  }
24
24
  if (!isPopup) {
25
25
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -3,15 +3,13 @@ import { css } from '@emotion/css';
3
3
  import React, { memo } from 'react';
4
4
  import EventProvider from '../components/EventProvider';
5
5
  import { useSxpDataSource } from '../../../../core/hooks';
6
- import { useEventReport } from '../../../../core/hooks/useEventReport';
7
6
  import Img from '../components/Img';
8
7
  import { setFontForText } from '../../../../core/utils/tool';
9
8
  import styles from './index.module.less';
10
9
  const Link = (_a) => {
11
10
  var _b, _c, _d, _e, _f, _g, _h, _j, _k;
12
11
  var { content, style, bgImg, recData, bottom_image, ctaTempStyles, index, customTitle, isActive } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "index", "customTitle", "isActive"]);
13
- const { sxpParameter, bffEventReport } = useSxpDataSource();
14
- const { jumpToWeb } = useEventReport();
12
+ const { sxpParameter } = useSxpDataSource();
15
13
  const cta = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindCta;
16
14
  const product = (_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct;
17
15
  const src = (_e = (_d = cta === null || cta === void 0 ? void 0 : cta.icon) !== null && _d !== void 0 ? _d : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _e !== void 0 ? _e : bottom_image;
@@ -10,9 +10,9 @@ const EventProvider = (_a) => {
10
10
  const { setPopupDetailData, ctaEvent } = useSxpDataSource();
11
11
  const { jumpToWeb } = useEventReport();
12
12
  const [element, setElement] = useState(null);
13
- const handleClick = throttle((event) => {
13
+ const handleClick = throttle((e) => {
14
14
  var _a, _b, _c, _d, _e, _f;
15
- event.preventDefault();
15
+ e.preventDefault();
16
16
  const item = multItem ? multItem : (_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct) !== null && _b !== void 0 ? _b : rec === null || rec === void 0 ? void 0 : rec.video;
17
17
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
18
18
  eventSubject: 'clickCta',
@@ -26,7 +26,7 @@ const EventProvider = (_a) => {
26
26
  if (jumpLink || link) {
27
27
  const cta = ((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.bindCta) || (multItem === null || multItem === void 0 ? void 0 : multItem.bindCta);
28
28
  const product = ((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.bindProduct) || multItem;
29
- jumpToWeb(rec, product, cta, index);
29
+ jumpToWeb(e, rec, product, cta, index);
30
30
  window.location.href = window.getJointUtmLink(jumpLink || link || '');
31
31
  }
32
32
  }
@@ -163,12 +163,12 @@ function WaterfallList(_a) {
163
163
  setIsLoadingData(false);
164
164
  }
165
165
  }, [waterFallData, getRecommendVideos, hashTagSize, isOpenHashTag]);
166
- const handleClickLink = () => {
166
+ const handleClickLink = (e) => {
167
167
  var _a, _b, _c, _d, _e;
168
168
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
169
169
  reportTagsView();
170
170
  const rec = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec;
171
- jumpToWeb(rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
171
+ jumpToWeb(e, rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
172
172
  window.location.href = window.getJointUtmLink((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link);
173
173
  }
174
174
  };
@@ -271,12 +271,12 @@ function WaterfallList(_a) {
271
271
  (_a = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', onScroll);
272
272
  };
273
273
  }, [onScroll, scrollParent]);
274
- const handleClickLink = () => {
274
+ const handleClickLink = (e) => {
275
275
  var _a, _b, _c, _d, _e;
276
276
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
277
277
  reportTagsView();
278
278
  const rec = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.rec;
279
- jumpToWeb(rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
279
+ jumpToWeb(e, rec, (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProduct, (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindCta, cacheActiveIndex, (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.traceInfo);
280
280
  window.location.href = window.getJointUtmLink((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link);
281
281
  }
282
282
  };