@mjhls/mjh-framework 1.0.880-beta.0 → 1.0.881-beta.0
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.
- package/README.md +1 -1
- package/dist/cjs/AlgoliaSearch.js +38 -37
- package/dist/cjs/ArticleCarousel.js +2 -1
- package/dist/cjs/ArticleProgramLandingPage.js +4 -3
- package/dist/cjs/ArticleSeriesLandingPage.js +8 -1
- package/dist/cjs/ArticleSeriesListing.js +2 -1
- package/dist/cjs/Auth.js +6 -6
- package/dist/cjs/{BlockContent-9c6b07ad.js → BlockContent-091a991f.js} +2 -2
- package/dist/cjs/ConferenceArticleCard.js +3 -2
- package/dist/cjs/DeckContent.js +5 -4
- package/dist/cjs/DeckQueue.js +285 -5
- package/dist/cjs/EventsDeck.js +11 -11
- package/dist/cjs/ExternalResources.js +7 -6
- package/dist/cjs/Feature.js +3 -2
- package/dist/cjs/ForbesHero.js +7 -6
- package/dist/cjs/GridContent.js +16 -15
- package/dist/cjs/GridHero.js +7 -6
- package/dist/cjs/GroupDeck.js +7 -6
- package/dist/cjs/Hero.js +3 -2
- package/dist/cjs/HorizontalArticleListing.js +4 -3
- package/dist/cjs/HorizontalHero.js +3 -2
- package/dist/cjs/IssueContentDeck.js +8 -7
- package/dist/cjs/IssueDeck.js +6 -5
- package/dist/cjs/IssueLanding.js +7 -4
- package/dist/cjs/MasterDeck.js +550 -35
- package/dist/cjs/MediaSeriesLanding.js +269 -266
- package/dist/cjs/OncliveHero.js +3 -2
- package/dist/cjs/OncliveLargeHero.js +10 -9
- package/dist/cjs/{Pagination-9cb60fba.js → Pagination-d6a59f99.js} +3 -2
- package/dist/cjs/PartnerDetailListing.js +10 -7
- package/dist/cjs/PubSection.js +5 -2
- package/dist/cjs/PublicationDeck.js +6 -5
- package/dist/cjs/PublicationLanding.js +3 -3
- package/dist/cjs/QueueDeckExpanded.js +1547 -43
- package/dist/cjs/RelatedContent.js +5 -4
- package/dist/cjs/SeriesListingDeck.js +3 -2
- package/dist/cjs/{SeriesSlider-ec146338.js → SeriesSlider-49b81b0b.js} +6 -6
- package/dist/cjs/TaxonomyCard.js +6 -5
- package/dist/cjs/TaxonomyDescription.js +4 -3
- package/dist/cjs/ThumbnailCard.js +5 -4
- package/dist/cjs/VerticalHero.js +3 -2
- package/dist/cjs/VideoProgramLandingPage.js +4 -3
- package/dist/cjs/VideoSeriesCard.js +5 -4
- package/dist/cjs/VideoSeriesLandingPage.js +9 -4
- package/dist/cjs/VideoSeriesListing.js +2 -1
- package/dist/cjs/View.js +12 -11
- package/dist/cjs/YahooHero.js +6 -5
- package/dist/cjs/YoutubeGroup.js +10 -9
- package/dist/cjs/getRelatedArticle.js +6 -6
- package/dist/cjs/getSerializers.js +4 -3
- package/dist/cjs/{urlFor-3a61226f.js → index-be0c82be.js} +1 -58
- package/dist/cjs/{index-17c6af5a.js → index-bf60a71c.js} +99 -72
- package/dist/cjs/index.js +11 -10
- package/dist/cjs/urlFor.js +57 -3
- package/dist/esm/AlgoliaSearch.js +2 -1
- package/dist/esm/ArticleCarousel.js +2 -1
- package/dist/esm/ArticleProgramLandingPage.js +4 -3
- package/dist/esm/ArticleSeriesLandingPage.js +8 -1
- package/dist/esm/ArticleSeriesListing.js +2 -1
- package/dist/esm/{BlockContent-f4515898.js → BlockContent-e9b4ddcf.js} +1 -1
- package/dist/esm/ConferenceArticleCard.js +2 -1
- package/dist/esm/DeckContent.js +2 -1
- package/dist/esm/DeckQueue.js +282 -2
- package/dist/esm/EventsDeck.js +1 -1
- package/dist/esm/ExternalResources.js +4 -3
- package/dist/esm/Feature.js +2 -1
- package/dist/esm/ForbesHero.js +2 -1
- package/dist/esm/GridContent.js +2 -1
- package/dist/esm/GridHero.js +2 -1
- package/dist/esm/GroupDeck.js +2 -1
- package/dist/esm/Hero.js +2 -1
- package/dist/esm/HorizontalArticleListing.js +4 -3
- package/dist/esm/HorizontalHero.js +2 -1
- package/dist/esm/IssueContentDeck.js +2 -1
- package/dist/esm/IssueDeck.js +2 -1
- package/dist/esm/IssueLanding.js +7 -4
- package/dist/esm/MasterDeck.js +550 -35
- package/dist/esm/MediaSeriesLanding.js +8 -5
- package/dist/esm/OncliveHero.js +2 -1
- package/dist/esm/OncliveLargeHero.js +2 -1
- package/dist/esm/{Pagination-256b60e5.js → Pagination-f7c4c5ae.js} +3 -2
- package/dist/esm/PartnerDetailListing.js +7 -4
- package/dist/esm/PubSection.js +5 -2
- package/dist/esm/PublicationDeck.js +2 -1
- package/dist/esm/QueueDeckExpanded.js +1533 -29
- package/dist/esm/RelatedContent.js +2 -1
- package/dist/esm/SeriesListingDeck.js +3 -2
- package/dist/esm/{SeriesSlider-d6561e33.js → SeriesSlider-ce19fa25.js} +1 -1
- package/dist/esm/TaxonomyCard.js +3 -2
- package/dist/esm/TaxonomyDescription.js +4 -3
- package/dist/esm/ThumbnailCard.js +2 -1
- package/dist/esm/VerticalHero.js +2 -1
- package/dist/esm/VideoProgramLandingPage.js +4 -3
- package/dist/esm/VideoSeriesCard.js +2 -1
- package/dist/esm/VideoSeriesLandingPage.js +8 -3
- package/dist/esm/VideoSeriesListing.js +2 -1
- package/dist/esm/View.js +5 -4
- package/dist/esm/YahooHero.js +2 -1
- package/dist/esm/YoutubeGroup.js +2 -1
- package/dist/esm/getSerializers.js +4 -3
- package/dist/esm/{urlFor-23b2244b.js → index-73819142.js} +1 -58
- package/dist/esm/{index-a35a5c39.js → index-e495ac6f.js} +40 -13
- package/dist/esm/index.js +8 -7
- package/dist/esm/urlFor.js +60 -2
- package/package.json +1 -1
package/dist/esm/MasterDeck.js
CHANGED
|
@@ -16,12 +16,19 @@ import './events-6c3a7a63.js';
|
|
|
16
16
|
import { l as lib_3 } from './index-41a678ea.js';
|
|
17
17
|
import 'prop-types';
|
|
18
18
|
import Container$1 from 'react-bootstrap/Container';
|
|
19
|
+
import 'react-bootstrap/Row';
|
|
20
|
+
import 'react-bootstrap/Col';
|
|
19
21
|
import 'react-bootstrap/Card';
|
|
22
|
+
import './moment-e2f9b20c.js';
|
|
20
23
|
import { withRouter } from 'next/router';
|
|
21
24
|
import './isSymbol-1981418f.js';
|
|
22
|
-
import './debounce-9207d8ee.js';
|
|
25
|
+
import { d as debounce_1 } from './debounce-9207d8ee.js';
|
|
23
26
|
import './toNumber-2f7a84cd.js';
|
|
27
|
+
import { I as InfiniteScroll } from './index.es-29c1cef5.js';
|
|
28
|
+
import 'react-dom';
|
|
29
|
+
import { V as VisibilitySensor } from './visibility-sensor-72fd8f8b.js';
|
|
24
30
|
import './slicedToArray-67a08c9c.js';
|
|
31
|
+
import './index-73819142.js';
|
|
25
32
|
import { m as main_36 } from './main-c0612122.js';
|
|
26
33
|
import './stringify-70b72959.js';
|
|
27
34
|
import { _ as _asyncToGenerator, r as regenerator, a as _Promise } from './asyncToGenerator-64812e90.js';
|
|
@@ -31,8 +38,8 @@ import './AdSlot.js';
|
|
|
31
38
|
import { A as ADInfeed } from './ADInfeed-0c13c803.js';
|
|
32
39
|
import { l as lodash } from './lodash-17fdfebb.js';
|
|
33
40
|
import { A as ADlgInfeed } from './ADlgInfeed-e4e2031a.js';
|
|
34
|
-
import { P as Pagination } from './Pagination-256b60e5.js';
|
|
35
41
|
import Spinner$1 from 'react-bootstrap/Spinner';
|
|
42
|
+
import { P as Pagination } from './Pagination-f7c4c5ae.js';
|
|
36
43
|
|
|
37
44
|
var MasterDeck = function (_React$Component) {
|
|
38
45
|
_inherits(MasterDeck, _React$Component);
|
|
@@ -268,7 +275,9 @@ var MasterDeck = function (_React$Component) {
|
|
|
268
275
|
itemsPerPage = _this.state.itemsPerPage;
|
|
269
276
|
_this$props2 = _this.props, query = _this$props2.query, params = _this$props2.params, client = _this$props2.client, dataHandler = _this$props2.dataHandler, seoPaginate = _this$props2.seoPaginate;
|
|
270
277
|
|
|
271
|
-
_this.setState({ isDataLoading: true });
|
|
278
|
+
_this.setState({ isDataLoading: true, currentPage: selectedPage });
|
|
279
|
+
seoPaginate && _this.seoPagination(selectedPage);
|
|
280
|
+
lib_3.refresh();
|
|
272
281
|
document.body.scrollTop = 0;
|
|
273
282
|
document.documentElement.scrollTop = 0;
|
|
274
283
|
start = (selectedPage - 1) * itemsPerPage;
|
|
@@ -289,52 +298,50 @@ var MasterDeck = function (_React$Component) {
|
|
|
289
298
|
});
|
|
290
299
|
}
|
|
291
300
|
|
|
292
|
-
_context.prev =
|
|
301
|
+
_context.prev = 11;
|
|
293
302
|
|
|
294
303
|
if (!dataHandlerPromise) {
|
|
295
|
-
_context.next =
|
|
304
|
+
_context.next = 18;
|
|
296
305
|
break;
|
|
297
306
|
}
|
|
298
307
|
|
|
299
|
-
_context.next =
|
|
308
|
+
_context.next = 15;
|
|
300
309
|
return dataHandlerPromise;
|
|
301
310
|
|
|
302
|
-
case
|
|
311
|
+
case 15:
|
|
303
312
|
_context.t0 = _context.sent;
|
|
304
|
-
_context.next =
|
|
313
|
+
_context.next = 21;
|
|
305
314
|
break;
|
|
306
315
|
|
|
307
|
-
case
|
|
308
|
-
_context.next =
|
|
316
|
+
case 18:
|
|
317
|
+
_context.next = 20;
|
|
309
318
|
return client.fetch(query, newParams);
|
|
310
319
|
|
|
311
|
-
case
|
|
320
|
+
case 20:
|
|
312
321
|
_context.t0 = _context.sent;
|
|
313
322
|
|
|
314
|
-
case
|
|
323
|
+
case 21:
|
|
315
324
|
newData = _context.t0;
|
|
316
325
|
|
|
317
326
|
if (_this.pointer && _this.pointerArray) newData = newData[_this.pointerArray][_this.pointer];
|
|
318
327
|
if (newData && newData.length > 0) {
|
|
319
|
-
_this.setState({ isDataLoading: false, data: newData
|
|
320
|
-
seoPaginate && _this.seoPagination(selectedPage);
|
|
321
|
-
lib_3.refresh();
|
|
328
|
+
_this.setState({ isDataLoading: false, data: newData });
|
|
322
329
|
}
|
|
323
|
-
_context.next =
|
|
330
|
+
_context.next = 29;
|
|
324
331
|
break;
|
|
325
332
|
|
|
326
|
-
case
|
|
327
|
-
_context.prev =
|
|
328
|
-
_context.t1 = _context['catch'](
|
|
333
|
+
case 26:
|
|
334
|
+
_context.prev = 26;
|
|
335
|
+
_context.t1 = _context['catch'](11);
|
|
329
336
|
|
|
330
337
|
console.error(_context.t1);
|
|
331
338
|
|
|
332
|
-
case
|
|
339
|
+
case 29:
|
|
333
340
|
case 'end':
|
|
334
341
|
return _context.stop();
|
|
335
342
|
}
|
|
336
343
|
}
|
|
337
|
-
}, _callee, _this2, [[
|
|
344
|
+
}, _callee, _this2, [[11, 26]]);
|
|
338
345
|
}));
|
|
339
346
|
|
|
340
347
|
return function (_x) {
|
|
@@ -392,21 +399,529 @@ var MasterDeck = function (_React$Component) {
|
|
|
392
399
|
) : React__default.createElement(
|
|
393
400
|
Container$1,
|
|
394
401
|
null,
|
|
395
|
-
this.cardLoader({ variant: variant, brandInsightAd: brandInsightAd, showBI: showBI, lgInfeedAd: lgInfeedAd })
|
|
402
|
+
this.cardLoader({ variant: variant, brandInsightAd: brandInsightAd, showBI: showBI, lgInfeedAd: lgInfeedAd }),
|
|
403
|
+
React__default.createElement(
|
|
404
|
+
'div',
|
|
405
|
+
{ className: 'pagination-wrapper' },
|
|
406
|
+
React__default.createElement(Pagination, {
|
|
407
|
+
pageCount: Math.ceil(totalDataCount / itemsPerPage),
|
|
408
|
+
pageRangeDisplayed: main_36 ? 3 : 9,
|
|
409
|
+
currentPage: currentPage,
|
|
410
|
+
onPageChange: this.handlePageChange
|
|
411
|
+
}),
|
|
412
|
+
React__default.createElement(
|
|
413
|
+
'style',
|
|
414
|
+
{ jsx: 'true' },
|
|
415
|
+
'\n .pagination-wrapper {\n margin: 3rem 0;\n }\n @media only screen and (max-width: 768px) {\n .pagination-wrapper {\n margin-bottom: 6rem;\n }\n }\n '
|
|
416
|
+
)
|
|
417
|
+
)
|
|
418
|
+
)
|
|
419
|
+
);
|
|
420
|
+
}
|
|
421
|
+
}]);
|
|
422
|
+
|
|
423
|
+
return MasterDeck;
|
|
424
|
+
}(React__default.Component);
|
|
425
|
+
|
|
426
|
+
var MasterDeckPaginated = withRouter(MasterDeck);
|
|
427
|
+
|
|
428
|
+
var MasterDeck$1 = function (_React$Component) {
|
|
429
|
+
_inherits(MasterDeck, _React$Component);
|
|
430
|
+
|
|
431
|
+
function MasterDeck() {
|
|
432
|
+
var _ref,
|
|
433
|
+
_this2 = this;
|
|
434
|
+
|
|
435
|
+
var _temp, _this, _ret;
|
|
436
|
+
|
|
437
|
+
_classCallCheck(this, MasterDeck);
|
|
438
|
+
|
|
439
|
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
440
|
+
args[_key] = arguments[_key];
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MasterDeck.__proto__ || _Object$getPrototypeOf(MasterDeck)).call.apply(_ref, [this].concat(args))), _this), _this.Deck = _this.props.deck, _this.variant = _this.props.variant, _this.mapping = _this.props.mapping, _this.data = _this.props.dataRecord || [], _this.query = _this.props.query, _this.params = _this.props.params, _this.pointer = _this.props.pointer ? _this.props.pointer : false, _this.pointerArray = _this.props.pointerArray ? _this.props.pointerArray : false, _this.defaultImage = _this.props.defaultImage ? _this.props.defaultImage : '/placeholder.jpg', _this.rightItems = _this.props.rightItems ? _this.props.rightItems : false, _this.isSeriesLanding = _this.props.isSeriesLanding ? _this.props.isSeriesLanding : false, _this.client = _this.props.client, _this.state = {
|
|
444
|
+
data: _this.data,
|
|
445
|
+
dataKeptToCompareNewDatarecord: _this.data,
|
|
446
|
+
per: _this.params ? _this.params.to : 2,
|
|
447
|
+
page: _this.props.currentPage || 1,
|
|
448
|
+
from: _this.params ? _this.params.from : 0,
|
|
449
|
+
to: _this.params ? _this.params.to : 2,
|
|
450
|
+
total_pages: null,
|
|
451
|
+
scrolling: false,
|
|
452
|
+
query: _this.query,
|
|
453
|
+
currentPage: _this.props.currentPage || 1,
|
|
454
|
+
dataRemapped: !_this.props.showBI || !_this.props.brandInsightAd,
|
|
455
|
+
lastDataSize: _this.data ? _this.data.length : 0,
|
|
456
|
+
itemsPerPage: _this.params ? _this.params.to - _this.params.from : 2,
|
|
457
|
+
mobileView: false
|
|
458
|
+
}, _this.loadMore = debounce_1(function () {
|
|
459
|
+
_this.setState(function (state) {
|
|
460
|
+
var page = state.page,
|
|
461
|
+
from = state.from,
|
|
462
|
+
to = state.to,
|
|
463
|
+
itemsPerPage = state.itemsPerPage;
|
|
464
|
+
|
|
465
|
+
return {
|
|
466
|
+
page: page + 1,
|
|
467
|
+
from: from + itemsPerPage,
|
|
468
|
+
to: to + itemsPerPage
|
|
469
|
+
};
|
|
470
|
+
}, _this.loadData);
|
|
471
|
+
}, 0), _this.loadData = function () {
|
|
472
|
+
var _this$state = _this.state,
|
|
473
|
+
from = _this$state.from,
|
|
474
|
+
to = _this$state.to,
|
|
475
|
+
data = _this$state.data,
|
|
476
|
+
query = _this$state.query,
|
|
477
|
+
page = _this$state.page;
|
|
478
|
+
var _this$props = _this.props,
|
|
479
|
+
client = _this$props.client,
|
|
480
|
+
dataHandler = _this$props.dataHandler;
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
var params = _extends({}, _this.props.params, { from: from, to: to + 1 });
|
|
484
|
+
|
|
485
|
+
if (dataHandler) {
|
|
486
|
+
var dataHandlerPromise = new _Promise(function (resolve, reject) {
|
|
487
|
+
try {
|
|
488
|
+
var result = dataHandler(params);
|
|
489
|
+
resolve(result);
|
|
490
|
+
} catch (e) {
|
|
491
|
+
reject(e);
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
dataHandlerPromise.then(function (dataArr) {
|
|
495
|
+
_this.loadDataFinished(data, dataArr, page);
|
|
496
|
+
});
|
|
497
|
+
} else {
|
|
498
|
+
client.fetch(query, params).then(function (dataArr) {
|
|
499
|
+
_this.loadDataFinished(data, dataArr, page);
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
}, _this.loadDataFinished = function (data, dataArr, page) {
|
|
503
|
+
if (_this.pointer && _this.pointerArray) {
|
|
504
|
+
var pointer = _this.pointer;
|
|
505
|
+
dataArr = dataArr[_this.pointerArray][pointer];
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
if (dataArr && dataArr.length > 0) {
|
|
509
|
+
var itemsPerPage = _this.state.itemsPerPage;
|
|
510
|
+
|
|
511
|
+
var scrolling = dataArr.length === itemsPerPage + 1;
|
|
512
|
+
dataArr = dataArr.slice(0, itemsPerPage).map(function (item) {
|
|
513
|
+
return _extends({}, item, {
|
|
514
|
+
pageNumber: page
|
|
515
|
+
});
|
|
516
|
+
});
|
|
517
|
+
|
|
518
|
+
_this.setState({
|
|
519
|
+
data: [].concat(_toConsumableArray(data), _toConsumableArray(dataArr)),
|
|
520
|
+
lastDataSize: dataArr.length,
|
|
521
|
+
scrolling: scrolling
|
|
522
|
+
});
|
|
523
|
+
} else {
|
|
524
|
+
_this.setState({
|
|
525
|
+
scrolling: false,
|
|
526
|
+
lastDataSize: 0
|
|
527
|
+
});
|
|
528
|
+
}
|
|
529
|
+
}, _this.checkMoreDataAvailable = function () {
|
|
530
|
+
var _this$state2 = _this.state,
|
|
531
|
+
from = _this$state2.from,
|
|
532
|
+
itemsPerPage = _this$state2.itemsPerPage,
|
|
533
|
+
query = _this$state2.query;
|
|
534
|
+
var _this$props2 = _this.props,
|
|
535
|
+
client = _this$props2.client,
|
|
536
|
+
dataHandler = _this$props2.dataHandler;
|
|
537
|
+
|
|
538
|
+
var params = _extends({}, _this.props.params, { from: from + itemsPerPage, to: from + itemsPerPage + 1 });
|
|
539
|
+
if (dataHandler) {
|
|
540
|
+
var dataHandlerPromise = new _Promise(function (resolve, reject) {
|
|
541
|
+
try {
|
|
542
|
+
var result = dataHandler(params);
|
|
543
|
+
resolve(result);
|
|
544
|
+
} catch (e) {
|
|
545
|
+
reject(e);
|
|
546
|
+
}
|
|
547
|
+
});
|
|
548
|
+
dataHandlerPromise.then(function (dataArr) {
|
|
549
|
+
if (dataArr && dataArr.length > 0) _this.setState({ scrolling: true });else _this.setState({ scrolling: false });
|
|
550
|
+
});
|
|
551
|
+
} else {
|
|
552
|
+
client.fetch(query, params).then(function (dataArr) {
|
|
553
|
+
if (dataArr && dataArr.length > 0) _this.setState({ scrolling: true });else _this.setState({ scrolling: false });
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
}, _this.changePageNumber = function (pageNumber) {
|
|
557
|
+
var _this$props3 = _this.props,
|
|
558
|
+
seoPaginate = _this$props3.seoPaginate,
|
|
559
|
+
pageview = _this$props3.pageview,
|
|
560
|
+
router = _this$props3.router;
|
|
561
|
+
var currentPage = _this.state.currentPage;
|
|
562
|
+
|
|
563
|
+
if (seoPaginate) {
|
|
564
|
+
var path = router.asPath;
|
|
565
|
+
var qrIndex = path.indexOf('?');
|
|
566
|
+
var pathname = router.pathname;
|
|
567
|
+
var queryString = '';
|
|
568
|
+
|
|
569
|
+
if (qrIndex > 0) {
|
|
570
|
+
path = path.substring(1, qrIndex);
|
|
571
|
+
|
|
572
|
+
var partialQS = router.asPath.substring(qrIndex + 1);
|
|
573
|
+
var partialQSArr = partialQS.split('&');
|
|
574
|
+
|
|
575
|
+
// exclude page=xxx from query string
|
|
576
|
+
partialQSArr.map(function (item) {
|
|
577
|
+
var itemArr = item.split('=');
|
|
578
|
+
var key = itemArr[0];
|
|
579
|
+
var val = itemArr[1];
|
|
580
|
+
|
|
581
|
+
if (key !== 'page') {
|
|
582
|
+
queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
|
|
583
|
+
}
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
if (queryString.length > 0) {
|
|
588
|
+
path += '?' + queryString;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
pageNumber = parseInt(pageNumber);
|
|
592
|
+
|
|
593
|
+
if (currentPage !== pageNumber) {
|
|
594
|
+
lib_3.refresh();
|
|
595
|
+
|
|
596
|
+
_this.setState({
|
|
597
|
+
currentPage: pageNumber
|
|
598
|
+
}, function () {
|
|
599
|
+
if (path[0] !== '/') {
|
|
600
|
+
path = '/' + path;
|
|
601
|
+
}
|
|
602
|
+
var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
|
|
603
|
+
if (window.location.href.includes('?')) {
|
|
604
|
+
if (window.location.href.includes('?page')) {
|
|
605
|
+
newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
|
|
606
|
+
} else {
|
|
607
|
+
newPath = pageNumber === 1 ? '' + path : path + '&page=' + pageNumber;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
// please leave this for later debug purpose : Yong Jun.
|
|
612
|
+
/* console.log('page change reported', {
|
|
613
|
+
currentPage: currentPage,
|
|
614
|
+
pageNumber: pageNumber,
|
|
615
|
+
pathname: pathname,
|
|
616
|
+
path: path,
|
|
617
|
+
newPath: newPath,
|
|
618
|
+
firstPage: pageNumber === 1,
|
|
619
|
+
queryString: queryString
|
|
620
|
+
}) */
|
|
621
|
+
|
|
622
|
+
if (pageview) {
|
|
623
|
+
pageview(newPath);
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
router.push(pathname, newPath, {
|
|
627
|
+
shallow: true
|
|
628
|
+
});
|
|
629
|
+
});
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}, _this.cardLoader = function (page, columns, variant, brandInsightAd, showBI, lgInfeedAd) {
|
|
633
|
+
var numberOfItemsBeforeAd = 6;
|
|
634
|
+
var data = _this.state.data;
|
|
635
|
+
var insertBrandInsightAd = function insertBrandInsightAd(arr, index, newElement) {
|
|
636
|
+
return [].concat(_toConsumableArray(arr.slice(0, index)), [newElement], _toConsumableArray(arr.slice(index)));
|
|
637
|
+
};
|
|
638
|
+
// Need to pass flag "lgInfeedAd={true}" along with brandInsightAd from site level for large infeed-ad to render
|
|
639
|
+
// Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
|
|
640
|
+
// Integrating large infeed AD
|
|
641
|
+
if (lgInfeedAd && brandInsightAd && typeof window !== 'undefined' && window.innerWidth >= 1400) {
|
|
642
|
+
var lgInfeed = {
|
|
643
|
+
_type: 'lg-infeed',
|
|
644
|
+
adUnit: brandInsightAd.adUnit,
|
|
645
|
+
className: 'lg-infeed',
|
|
646
|
+
networkID: brandInsightAd.networkID,
|
|
647
|
+
sizes: [728, 90],
|
|
648
|
+
sizeMapping: [{
|
|
649
|
+
viewport: [1400, 0],
|
|
650
|
+
sizes: [[728, 90]]
|
|
651
|
+
}, { viewport: [0, 0], sizes: [] }],
|
|
652
|
+
targeting: {
|
|
653
|
+
content_placement: brandInsightAd.targeting.content_placement,
|
|
654
|
+
document_url: brandInsightAd.targeting.document_url,
|
|
655
|
+
rootDocumentGroup: brandInsightAd.targeting.rootDocumentGroup
|
|
656
|
+
},
|
|
657
|
+
/* Passing refresh flag */
|
|
658
|
+
refreshFlag: brandInsightAd.refreshFlag ? brandInsightAd.refreshFlag : false
|
|
659
|
+
};
|
|
660
|
+
|
|
661
|
+
var chunks = lodash.chunk(data, 6).map(function (chunk) {
|
|
662
|
+
var set = lodash.chunk(chunk, 2);
|
|
663
|
+
for (var i = 0; i < set.length; i++) {
|
|
664
|
+
if (i !== set.length - 1) {
|
|
665
|
+
set[i].push(lgInfeed);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
return lodash.flattenDeep(set);
|
|
669
|
+
});
|
|
670
|
+
data = lodash.flatten(chunks);
|
|
671
|
+
!_this.state.dataRemapped && _this.setState({ dataRemapped: true }); // To detect if appending of insights ads are completed
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
// Integrating infeed AD
|
|
675
|
+
if (showBI && brandInsightAd) {
|
|
676
|
+
// Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
|
|
677
|
+
if (lgInfeedAd && typeof window !== 'undefined' && window.innerWidth >= 1400) brandInsightAd.interval = 8;
|
|
678
|
+
var pos = 0;
|
|
679
|
+
for (var i = 1; pos < data.length; i++) {
|
|
680
|
+
var inFeedAd = {
|
|
681
|
+
adUnit: brandInsightAd.adUnit,
|
|
682
|
+
className: brandInsightAd.className,
|
|
683
|
+
networkID: brandInsightAd.networkID,
|
|
684
|
+
sizes: brandInsightAd.sizes,
|
|
685
|
+
slotId: brandInsightAd.slotId + '_' + i,
|
|
686
|
+
targeting: {
|
|
687
|
+
pos: 'infeed',
|
|
688
|
+
content_placement: brandInsightAd.targeting.content_placement,
|
|
689
|
+
document_url: brandInsightAd.targeting.document_url,
|
|
690
|
+
rootDocumentGroup: brandInsightAd.targeting.rootDocumentGroup
|
|
691
|
+
},
|
|
692
|
+
_type: 'brandInsightAd',
|
|
693
|
+
/* Passing refresh flag */
|
|
694
|
+
refreshFlag: brandInsightAd.refreshFlag ? brandInsightAd.refreshFlag : false
|
|
695
|
+
};
|
|
696
|
+
|
|
697
|
+
data = insertBrandInsightAd(data, pos, inFeedAd);
|
|
698
|
+
pos += brandInsightAd.interval + 1;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
// 'index' was including the indexes for infeed ads along with article count making the page number change before it reaches last article.
|
|
703
|
+
data = data.map(function (ele, i) {
|
|
704
|
+
if (ele._type === 'lg-infeed') {
|
|
705
|
+
// Setting pos as top2 for the first occurence of large infeed ad
|
|
706
|
+
// const pos = data.indexOf(data.find((d) => d._type === 'lg-infeed')) === i ? 'top2' : `lg-infeed_${i}`
|
|
707
|
+
return _extends({}, ele, { slotId: 'lg-infeed_' + i, targeting: _extends({}, ele.targeting, { pos: 'lg-infeed' }) });
|
|
708
|
+
} else {
|
|
709
|
+
return ele;
|
|
710
|
+
}
|
|
711
|
+
});
|
|
712
|
+
|
|
713
|
+
return React__default.createElement(
|
|
714
|
+
'div',
|
|
715
|
+
null,
|
|
716
|
+
data && _this.state.dataRemapped && data.length > 0 ? // If JS enabled and Data remapped with ads
|
|
717
|
+
data.map(function (row, index) {
|
|
718
|
+
var pageNumber = row.pageNumber || _this.state.page;
|
|
719
|
+
|
|
720
|
+
if (row._type === 'lg-infeed' && row.adUnit) {
|
|
721
|
+
return React__default.createElement(ADlgInfeed, _extends({ index: index }, row));
|
|
722
|
+
// Returning view for infeed Ad
|
|
723
|
+
} else if (row._type === 'brandInsightAd' && row.adUnit) {
|
|
724
|
+
return React__default.createElement(ADInfeed, { index: index, infeedAd: row });
|
|
725
|
+
} else if (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type)) {
|
|
726
|
+
// Returning view for articles
|
|
727
|
+
return React__default.createElement(
|
|
728
|
+
VisibilitySensor,
|
|
729
|
+
{
|
|
730
|
+
key: row._id ? row._id : index,
|
|
731
|
+
onChange: function onChange(isVisible) {
|
|
732
|
+
isVisible && _this.changePageNumber(pageNumber);
|
|
733
|
+
} },
|
|
734
|
+
React__default.createElement(
|
|
735
|
+
React__default.Fragment,
|
|
736
|
+
{ key: index },
|
|
737
|
+
React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage, isSeriesLanding: _this.isSeriesLanding }),
|
|
738
|
+
_this.state.mobileView && _this.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && React__default.createElement(
|
|
739
|
+
'div',
|
|
740
|
+
{ className: 'ad-container', style: { margin: '0 auto' } },
|
|
741
|
+
_this.renderMobileAd(index, numberOfItemsBeforeAd, _this.rightItems)
|
|
742
|
+
)
|
|
743
|
+
)
|
|
744
|
+
);
|
|
745
|
+
} else {
|
|
746
|
+
return null;
|
|
747
|
+
}
|
|
748
|
+
}) : data && data.length > 0 ? //For Javascript Disabled Cases. data is not remapped if JS is disabled.
|
|
749
|
+
data.map(function (row, index) {
|
|
750
|
+
var pageNumber = row.pageNumber || _this.state.page;
|
|
751
|
+
if (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type)) {
|
|
752
|
+
return React__default.createElement(
|
|
753
|
+
VisibilitySensor,
|
|
754
|
+
{
|
|
755
|
+
key: row._id ? row._id : index,
|
|
756
|
+
onChange: function onChange(isVisible) {
|
|
757
|
+
isVisible && _this.changePageNumber(pageNumber);
|
|
758
|
+
} },
|
|
759
|
+
React__default.createElement(
|
|
760
|
+
React__default.Fragment,
|
|
761
|
+
{ key: index },
|
|
762
|
+
React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage, isSeriesLanding: _this.isSeriesLanding })
|
|
763
|
+
)
|
|
764
|
+
);
|
|
765
|
+
}
|
|
766
|
+
}) : React__default.createElement(
|
|
767
|
+
'div',
|
|
768
|
+
null,
|
|
769
|
+
React__default.createElement(
|
|
770
|
+
'em',
|
|
771
|
+
null,
|
|
772
|
+
'New content coming soon, please check back later.'
|
|
773
|
+
)
|
|
774
|
+
)
|
|
775
|
+
);
|
|
776
|
+
}, _this.renderMobileAd = function (index, numberOfItemsBeforeAd, rightItems) {
|
|
777
|
+
var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
|
|
778
|
+
return React__default.createElement(
|
|
779
|
+
'div',
|
|
780
|
+
{ className: 'ad-container', style: { display: 'flex', flex: '1 0 auto', width: '100%', textAlign: 'center', marginBottom: '2rem' } },
|
|
781
|
+
rightItems[i].component
|
|
782
|
+
);
|
|
783
|
+
}, _this.renderManualPagination = function () {
|
|
784
|
+
var _this$state3 = _this.state,
|
|
785
|
+
currentPage = _this$state3.currentPage,
|
|
786
|
+
itemsPerPage = _this$state3.itemsPerPage,
|
|
787
|
+
lastDataSize = _this$state3.lastDataSize;
|
|
788
|
+
|
|
789
|
+
console.log('lastDataSize:', lastDataSize);
|
|
790
|
+
console.log('itemsPerPage:', itemsPerPage);
|
|
791
|
+
if (lastDataSize < itemsPerPage) {
|
|
792
|
+
return null;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
return React__default.createElement(
|
|
796
|
+
'div',
|
|
797
|
+
{ className: 'd-flex justify-content-between' },
|
|
798
|
+
currentPage && currentPage > 1 && React__default.createElement(
|
|
799
|
+
'a',
|
|
800
|
+
{ href: '?page=' + (currentPage - 1) },
|
|
801
|
+
'<< Previous'
|
|
396
802
|
),
|
|
397
803
|
React__default.createElement(
|
|
398
|
-
'
|
|
399
|
-
{
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
804
|
+
'a',
|
|
805
|
+
{ href: '?page=' + (currentPage + 1) },
|
|
806
|
+
'Next >>'
|
|
807
|
+
)
|
|
808
|
+
);
|
|
809
|
+
}, _temp), _possibleConstructorReturn(_this, _ret);
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
_createClass(MasterDeck, [{
|
|
813
|
+
key: 'componentDidUpdate',
|
|
814
|
+
value: function componentDidUpdate(prevProps, prevState) {
|
|
815
|
+
if (this.state.dataKeptToCompareNewDatarecord !== this.props.dataRecord) {
|
|
816
|
+
// eslint-disable-next-line react/no-did-update-set-state
|
|
817
|
+
this.setState({
|
|
818
|
+
data: this.props.dataRecord,
|
|
819
|
+
dataKeptToCompareNewDatarecord: this.props.dataRecord,
|
|
820
|
+
per: this.props.params ? this.props.params.to : 2,
|
|
821
|
+
page: 1,
|
|
822
|
+
from: this.props.params ? this.props.params.from : 0,
|
|
823
|
+
to: this.props.params ? this.props.params.to : 2,
|
|
824
|
+
total_pages: null,
|
|
825
|
+
scrolling: true,
|
|
826
|
+
query: this.props.query,
|
|
827
|
+
lastDataSize: this.props.dataRecord ? this.props.dataRecord.length : 0
|
|
828
|
+
});
|
|
829
|
+
}
|
|
830
|
+
// set dataRemap to true as there are no infeed or BI ads or window width is less than limit
|
|
831
|
+
if (typeof window !== 'undefined' && (!this.props.lgInfeedAd || !this.props.brandInsightAd || window.innerWidth < 1400) && !this.state.dataRemapped) {
|
|
832
|
+
!this.state.dataRemapped && this.setState({ dataRemapped: true });
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
if (typeof window !== 'undefined' && window.innerWidth <= 1191) {
|
|
836
|
+
!this.state.mobileView && this.setState({ mobileView: true });
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
}, {
|
|
840
|
+
key: 'componentDidMount',
|
|
841
|
+
value: function componentDidMount() {
|
|
842
|
+
var _state = this.state,
|
|
843
|
+
data = _state.data,
|
|
844
|
+
itemsPerPage = _state.itemsPerPage;
|
|
845
|
+
|
|
846
|
+
if (!(data.length < itemsPerPage)) this.checkMoreDataAvailable();
|
|
847
|
+
}
|
|
848
|
+
// Passing 'brandInsightAd','showBI' and 'lgInfeedAd'
|
|
849
|
+
|
|
850
|
+
}, {
|
|
851
|
+
key: 'render',
|
|
852
|
+
value: function render() {
|
|
853
|
+
var _this3 = this;
|
|
854
|
+
|
|
855
|
+
// Setting default value for 'showBI' and 'lgInfeedAd'
|
|
856
|
+
var _props = this.props,
|
|
857
|
+
columns = _props.columns,
|
|
858
|
+
variant = _props.variant,
|
|
859
|
+
autoScroll = _props.autoScroll,
|
|
860
|
+
page = _props.page,
|
|
861
|
+
brandInsightAd = _props.brandInsightAd,
|
|
862
|
+
_props$showBI = _props.showBI,
|
|
863
|
+
showBI = _props$showBI === undefined ? false : _props$showBI,
|
|
864
|
+
_props$lgInfeedAd = _props.lgInfeedAd,
|
|
865
|
+
lgInfeedAd = _props$lgInfeedAd === undefined ? false : _props$lgInfeedAd;
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
if (this.props.totalDataCount) return React__default.createElement(MasterDeckPaginated, this.props);
|
|
869
|
+
|
|
870
|
+
return React__default.createElement(
|
|
871
|
+
'div',
|
|
872
|
+
{ className: 'contentDeck' },
|
|
873
|
+
autoScroll ? React__default.createElement(
|
|
874
|
+
React__default.Fragment,
|
|
875
|
+
null,
|
|
876
|
+
React__default.createElement(
|
|
877
|
+
InfiniteScroll,
|
|
878
|
+
{ dataLength: this.state.data.length, next: this.loadMore, hasMore: this.state.scrolling, scrollThreshold: 0.9 },
|
|
879
|
+
React__default.createElement(
|
|
880
|
+
Container$1,
|
|
881
|
+
null,
|
|
882
|
+
this.cardLoader(page, columns, variant, brandInsightAd, showBI, lgInfeedAd)
|
|
883
|
+
)
|
|
884
|
+
),
|
|
406
885
|
React__default.createElement(
|
|
407
|
-
'
|
|
408
|
-
|
|
409
|
-
|
|
886
|
+
'noscript',
|
|
887
|
+
null,
|
|
888
|
+
this.renderManualPagination()
|
|
889
|
+
)
|
|
890
|
+
) : React__default.createElement(
|
|
891
|
+
React__default.Fragment,
|
|
892
|
+
null,
|
|
893
|
+
React__default.createElement(
|
|
894
|
+
Container$1,
|
|
895
|
+
null,
|
|
896
|
+
this.cardLoader(page, columns, variant, brandInsightAd, showBI, lgInfeedAd)
|
|
897
|
+
),
|
|
898
|
+
React__default.createElement(
|
|
899
|
+
'div',
|
|
900
|
+
{ style: { padding: '0px 10px' } },
|
|
901
|
+
this.state.scrolling && React__default.createElement(
|
|
902
|
+
'button',
|
|
903
|
+
{
|
|
904
|
+
className: 'btn',
|
|
905
|
+
style: {
|
|
906
|
+
margin: '0 auto 2rem',
|
|
907
|
+
display: 'block',
|
|
908
|
+
fontSize: '18px',
|
|
909
|
+
padding: '.5rem 1.5rem',
|
|
910
|
+
boxShadow: '1px 2px 4px 4px rgba(0,0,0,.15)',
|
|
911
|
+
background: 'var(--primary)',
|
|
912
|
+
color: '#fff',
|
|
913
|
+
borderRadius: '5px'
|
|
914
|
+
},
|
|
915
|
+
onClick: function onClick(e) {
|
|
916
|
+
_this3.loadMore();
|
|
917
|
+
} },
|
|
918
|
+
'Load More'
|
|
919
|
+
)
|
|
920
|
+
),
|
|
921
|
+
React__default.createElement(
|
|
922
|
+
'noscript',
|
|
923
|
+
null,
|
|
924
|
+
this.renderManualPagination()
|
|
410
925
|
)
|
|
411
926
|
)
|
|
412
927
|
);
|
|
@@ -416,6 +931,6 @@ var MasterDeck = function (_React$Component) {
|
|
|
416
931
|
return MasterDeck;
|
|
417
932
|
}(React__default.Component);
|
|
418
933
|
|
|
419
|
-
var MasterDeck$
|
|
934
|
+
var MasterDeck$2 = withRouter(MasterDeck$1);
|
|
420
935
|
|
|
421
|
-
export default MasterDeck$
|
|
936
|
+
export default MasterDeck$2;
|