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