@mjhls/mjh-framework 1.0.444 → 1.0.446
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/AD.js +32 -0
- package/dist/cjs/AD300x250.js +60 -0
- package/dist/cjs/AD300x250x600.js +60 -0
- package/dist/cjs/AD728x90.js +134 -0
- package/dist/cjs/ADFloatingFooter.js +139 -0
- package/dist/cjs/ADFooter.js +45 -0
- package/dist/cjs/ADGutter.js +88 -0
- package/dist/cjs/{ADInfeed-ae1f348d.js → ADInfeed-7609d929.js} +2 -2
- package/dist/cjs/ADSponsoredResources.js +106 -0
- package/dist/cjs/ADWelcome.js +150 -0
- package/dist/cjs/{ADlgInfeed-f4c4a1bf.js → ADlgInfeed-700551ef.js} +2 -2
- package/dist/cjs/AccordionPanel.js +95 -0
- package/dist/cjs/AdSlot.js +166 -0
- package/dist/cjs/AdSlotsProvider.js +31 -0
- package/dist/cjs/AlphabeticList.js +137 -0
- package/dist/cjs/ArticleQueue.js +863 -0
- package/dist/cjs/Auth.js +3950 -0
- package/dist/cjs/{AuthorComponent-b44bb44e.js → AuthorComponent-5bb8f868.js} +1 -1
- package/dist/cjs/Beam.js +347 -0
- package/dist/cjs/{TaxonomyCard-fa09aac1.js → BlockContent-80608595.js} +0 -236
- package/dist/cjs/Breadcrumbs.js +108 -0
- package/dist/cjs/CMEDeck.js +454 -0
- package/dist/cjs/Column1.js +39 -0
- package/dist/cjs/Column2.js +67 -0
- package/dist/cjs/Column3.js +141 -0
- package/dist/cjs/ConferenceArticleCard.js +91 -0
- package/dist/cjs/ConferenceBanner-6c9e718a.js +24 -0
- package/dist/cjs/DeckContent.js +24 -13
- package/dist/cjs/DeckQueue.js +17 -10
- package/dist/cjs/{Dfp-d7639f4c.js → Dfp-19f10ad4.js} +8 -5
- package/dist/cjs/EventsDeck.js +1999 -0
- package/dist/cjs/Feature.js +120 -0
- package/dist/cjs/{Figure-cc919c38.js → Figure-ce37247b.js} +3 -2
- package/dist/cjs/ForbesHero.js +140 -0
- package/dist/cjs/GridContent.js +721 -33
- package/dist/cjs/GridHero.js +145 -0
- package/dist/cjs/GroupDeck.js +5 -3
- package/dist/cjs/HamMagazine.js +477 -0
- package/dist/cjs/Header.js +37 -0
- package/dist/cjs/Hero.js +56 -0
- package/dist/cjs/HighlightenVideo.js +69 -0
- package/dist/cjs/HorizontalHero.js +109 -0
- package/dist/cjs/InscreenSensor-04a70c60.js +864 -0
- package/dist/cjs/IssueContentDeck.js +4 -3
- package/dist/cjs/IssueDeck.js +6 -4
- package/dist/cjs/IssueLanding.js +115 -0
- package/dist/cjs/KMTracker.js +27 -0
- package/dist/cjs/LeftNav.js +99 -0
- package/dist/cjs/MasterDeck.js +15 -8
- package/dist/cjs/NavDvm.js +223 -0
- package/dist/cjs/NavFooter-3dcd99a8.js +66 -0
- package/dist/cjs/NavMagazine.js +436 -0
- package/dist/cjs/NavNative.js +278 -0
- package/dist/cjs/NavNormal.js +109 -0
- package/dist/cjs/OncliveHero.js +78 -0
- package/dist/cjs/OncliveLargeHero.js +243 -0
- package/dist/cjs/PageFilter.js +73 -0
- package/dist/cjs/PdfDownload.js +28 -0
- package/dist/cjs/PopUpModal.js +59 -0
- package/dist/cjs/PublicationLanding.js +556 -0
- package/dist/cjs/QueueDeckExpanded.js +29 -28
- package/dist/cjs/RelatedContent.js +107 -0
- package/dist/cjs/RelatedTopicsDropdown.js +90 -0
- package/dist/cjs/Search.js +67 -0
- package/dist/cjs/Segment.js +225 -0
- package/dist/cjs/SetCookie.js +10 -0
- package/dist/cjs/SideFooter.js +103 -0
- package/dist/cjs/SocialNavFooter-d9ab4d17.js +83 -0
- package/dist/cjs/SocialShare.js +72 -0
- package/dist/cjs/TaxonomyCard.js +241 -11
- package/dist/cjs/TemplateNormal.js +175 -13
- package/dist/cjs/Ustream.js +107 -6
- package/dist/cjs/VerticalHero.js +75 -0
- package/dist/cjs/VideoSeriesFilter.js +133 -0
- package/dist/cjs/VideoSeriesListing.js +13 -7
- package/dist/cjs/View.js +1156 -0
- package/dist/cjs/YahooHero.js +129 -0
- package/dist/cjs/YoutubeGroup.js +5 -3
- package/dist/cjs/_arrayMap-3b4a0f75.js +91 -0
- package/dist/cjs/_is-array-754e012d.js +74 -0
- package/dist/cjs/{_iter-detect-234453c3.js → _iter-detect-4d0352f8.js} +4 -4
- package/dist/cjs/_object-sap-5e74ba08.js +16 -0
- package/dist/cjs/_set-species-4458e975.js +56 -0
- package/dist/cjs/{AdSlot-257d8d4e.js → asyncToGenerator-db08763c.js} +1 -710
- package/dist/cjs/brightcove-react-player-loader.es-4ba0d3d5.js +2231 -0
- package/dist/cjs/{web.dom.iterable-5c889cf1.js → core.get-iterator-method-41e87ec1.js} +0 -46
- package/dist/cjs/debounce-32e57002.js +280 -0
- package/dist/cjs/{toConsumableArray-25d0e2a3.js → from-ea347372.js} +4 -29
- package/dist/cjs/{get-7a75c563.js → get-5dfcdc33.js} +14 -100
- package/dist/cjs/getKeywords.js +31 -0
- package/dist/cjs/getQuery.js +20 -0
- package/dist/cjs/getSerializers.js +8032 -0
- package/dist/cjs/getSeriesDetail.js +38 -0
- package/dist/cjs/getTargeting-3ced038f.js +108 -0
- package/dist/cjs/getTargeting.js +15 -0
- package/dist/cjs/iconBase-637d3f1e.js +83 -0
- package/dist/cjs/{debounce-420ff8a8.js → index-b2448ff6.js} +0 -483
- package/dist/cjs/index.esm-25423c2f.js +16 -0
- package/dist/cjs/index.esm-c0d8b44b.js +21 -0
- package/dist/cjs/index.esm-fcdbd2c6.js +31 -0
- package/dist/cjs/index.js +190 -23083
- package/dist/cjs/{inherits-b4036c94.js → inherits-4a2f1cc3.js} +6 -17
- package/dist/cjs/isSymbol-488934a7.js +211 -0
- package/dist/cjs/js.cookie-a511c430.js +160 -0
- package/dist/cjs/keys-a586b7a0.js +25 -0
- package/dist/cjs/{promise-0a493c7a.js → promise-074978a7.js} +15 -62
- package/dist/cjs/{slicedToArray-419d467a.js → slicedToArray-8063ee51.js} +5 -4
- package/dist/cjs/stringify-7c5aff47.js +17 -0
- package/dist/cjs/toConsumableArray-ca04303b.js +31 -0
- package/dist/cjs/{typeof-0d86b91c.js → typeof-583cdc4b.js} +20 -87
- package/dist/cjs/urlFor.js +10 -0
- package/dist/cjs/util-f2c1b65b.js +576 -0
- package/dist/cjs/web.dom.iterable-43c3e277.js +51 -0
- package/dist/esm/AD.js +26 -0
- package/dist/esm/AD300x250.js +54 -0
- package/dist/esm/AD300x250x600.js +54 -0
- package/dist/esm/AD728x90.js +128 -0
- package/dist/esm/ADFloatingFooter.js +133 -0
- package/dist/esm/ADFooter.js +39 -0
- package/dist/esm/ADGutter.js +82 -0
- package/dist/esm/{ADInfeed-dff74bbe.js → ADInfeed-1c17dc0e.js} +1 -1
- package/dist/esm/ADSponsoredResources.js +100 -0
- package/dist/esm/ADWelcome.js +144 -0
- package/dist/esm/{ADlgInfeed-7b29db85.js → ADlgInfeed-94d7f5dd.js} +1 -1
- package/dist/esm/AccordionPanel.js +88 -0
- package/dist/esm/AdSlot.js +159 -0
- package/dist/esm/AdSlotsProvider.js +25 -0
- package/dist/esm/AlphabeticList.js +131 -0
- package/dist/esm/ArticleQueue.js +855 -0
- package/dist/esm/Auth.js +3930 -0
- package/dist/esm/{AuthorComponent-4f5f15ed.js → AuthorComponent-f67cb027.js} +1 -1
- package/dist/esm/Beam.js +345 -0
- package/dist/esm/{TaxonomyCard-b22a742f.js → BlockContent-4af2feb9.js} +2 -233
- package/dist/esm/Breadcrumbs.js +101 -0
- package/dist/esm/CMEDeck.js +448 -0
- package/dist/esm/Column1.js +29 -0
- package/dist/esm/Column2.js +57 -0
- package/dist/esm/Column3.js +131 -0
- package/dist/esm/ConferenceArticleCard.js +85 -0
- package/dist/esm/ConferenceBanner-9162d0ca.js +18 -0
- package/dist/esm/DeckContent.js +24 -13
- package/dist/esm/DeckQueue.js +17 -10
- package/dist/esm/{Dfp-994cd0ab.js → Dfp-7addbfb1.js} +7 -4
- package/dist/esm/EventsDeck.js +1987 -0
- package/dist/esm/Feature.js +113 -0
- package/dist/esm/{Figure-1c55ebf0.js → Figure-408929f3.js} +4 -3
- package/dist/esm/ForbesHero.js +134 -0
- package/dist/esm/GridContent.js +714 -30
- package/dist/esm/GridHero.js +139 -0
- package/dist/esm/GroupDeck.js +6 -4
- package/dist/esm/HamMagazine.js +465 -0
- package/dist/esm/Header.js +28 -0
- package/dist/esm/Hero.js +50 -0
- package/dist/esm/HighlightenVideo.js +63 -0
- package/dist/esm/HorizontalHero.js +103 -0
- package/dist/esm/InscreenSensor-b7f931bf.js +857 -0
- package/dist/esm/IssueContentDeck.js +5 -4
- package/dist/esm/IssueDeck.js +8 -6
- package/dist/esm/IssueLanding.js +109 -0
- package/dist/esm/KMTracker.js +25 -0
- package/dist/esm/LeftNav.js +90 -0
- package/dist/esm/MasterDeck.js +17 -10
- package/dist/esm/NavDvm.js +211 -0
- package/dist/esm/NavFooter-c29526b7.js +60 -0
- package/dist/esm/NavMagazine.js +424 -0
- package/dist/esm/NavNative.js +266 -0
- package/dist/esm/NavNormal.js +97 -0
- package/dist/esm/OncliveHero.js +72 -0
- package/dist/esm/OncliveLargeHero.js +237 -0
- package/dist/esm/PageFilter.js +67 -0
- package/dist/esm/PdfDownload.js +22 -0
- package/dist/esm/PopUpModal.js +52 -0
- package/dist/esm/PublicationLanding.js +546 -0
- package/dist/esm/QueueDeckExpanded.js +31 -30
- package/dist/esm/RelatedContent.js +101 -0
- package/dist/esm/RelatedTopicsDropdown.js +82 -0
- package/dist/esm/Search.js +58 -0
- package/dist/esm/Segment.js +223 -0
- package/dist/esm/SetCookie.js +8 -0
- package/dist/esm/SideFooter.js +97 -0
- package/dist/esm/SocialNavFooter-1a531144.js +77 -0
- package/dist/esm/SocialShare.js +65 -0
- package/dist/esm/TaxonomyCard.js +237 -11
- package/dist/esm/TemplateNormal.js +175 -14
- package/dist/esm/Ustream.js +107 -6
- package/dist/esm/VerticalHero.js +69 -0
- package/dist/esm/VideoSeriesFilter.js +127 -0
- package/dist/esm/VideoSeriesListing.js +14 -8
- package/dist/esm/View.js +1145 -0
- package/dist/esm/YahooHero.js +123 -0
- package/dist/esm/YoutubeGroup.js +6 -4
- package/dist/esm/_arrayMap-a8dd2b2c.js +87 -0
- package/dist/esm/_is-array-dd5523d6.js +71 -0
- package/dist/esm/{_iter-detect-7c281f0a.js → _iter-detect-6e099a34.js} +2 -2
- package/dist/esm/_object-sap-56bb8073.js +14 -0
- package/dist/esm/_set-species-6f64f1c1.js +51 -0
- package/dist/esm/{_to-object-1b1f7766.js → _to-object-16fd8b46.js} +1 -1
- package/dist/esm/{AdSlot-362a1c30.js → asyncToGenerator-204b5a5c.js} +3 -703
- package/dist/esm/brightcove-react-player-loader.es-e1c6b0f2.js +2225 -0
- package/dist/esm/{web.dom.iterable-e6bf2bf6.js → core.get-iterator-method-f5c0d66a.js} +2 -47
- package/dist/esm/debounce-8cd9e09c.js +277 -0
- package/dist/esm/{extends-92072fff.js → extends-6e00b262.js} +1 -1
- package/dist/esm/{toConsumableArray-c5e2fde8.js → from-2c0a5f49.js} +4 -29
- package/dist/esm/{get-bc6cf9fb.js → get-ae817b75.js} +3 -86
- package/dist/esm/getKeywords.js +29 -0
- package/dist/esm/getQuery.js +18 -0
- package/dist/esm/getSerializers.js +8021 -0
- package/dist/esm/getSeriesDetail.js +36 -0
- package/dist/esm/getTargeting-8f4bd5db.js +105 -0
- package/dist/esm/getTargeting.js +9 -0
- package/dist/esm/iconBase-6ee2f2fb.js +81 -0
- package/dist/esm/{debounce-42a7f724.js → index-fb49124c.js} +2 -476
- package/dist/esm/index.esm-9d6faf80.js +17 -0
- package/dist/esm/index.esm-a7ad65ba.js +13 -0
- package/dist/esm/{index.esm-536609db.js → index.esm-b97cf389.js} +2 -80
- package/dist/esm/index.js +137 -23014
- package/dist/esm/{inherits-bbec2f34.js → inherits-2758cc14.js} +5 -15
- package/dist/esm/isSymbol-c1b9be80.js +203 -0
- package/dist/esm/js.cookie-6874175c.js +158 -0
- package/dist/esm/keys-04cdec91.js +23 -0
- package/dist/esm/{main-cf4930f0.js → main-8c8784b8.js} +1 -1
- package/dist/esm/{promise-2592a80a.js → promise-53143c9a.js} +6 -49
- package/dist/esm/{slicedToArray-04e02710.js → slicedToArray-f1e40361.js} +3 -2
- package/dist/esm/stringify-e30bc114.js +15 -0
- package/dist/esm/toConsumableArray-8712d678.js +29 -0
- package/dist/esm/{typeof-09bf9211.js → typeof-7e72fee0.js} +5 -70
- package/dist/esm/urlFor.js +8 -0
- package/dist/esm/util-7700fc59.js +574 -0
- package/dist/esm/web.dom.iterable-46c95e52.js +49 -0
- package/package.json +1 -1
- package/dist/cjs/GridContent-0df16724.js +0 -735
- package/dist/cjs/Normal-430e8e61.js +0 -2315
- package/dist/cjs/Ustream-46288bdf.js +0 -119
- package/dist/cjs/index.esm-340d3792.js +0 -110
- package/dist/esm/GridContent-2173a84c.js +0 -724
- package/dist/esm/Normal-6efd92da.js +0 -2282
- package/dist/esm/Ustream-c4f281a3.js +0 -112
|
@@ -0,0 +1,855 @@
|
|
|
1
|
+
import './_commonjsHelpers-0c4b6f40.js';
|
|
2
|
+
import './_to-object-16fd8b46.js';
|
|
3
|
+
import './core.get-iterator-method-f5c0d66a.js';
|
|
4
|
+
import './_library-528f1934.js';
|
|
5
|
+
import './_iter-detect-6e099a34.js';
|
|
6
|
+
import './from-2c0a5f49.js';
|
|
7
|
+
import { _ as _toConsumableArray } from './toConsumableArray-8712d678.js';
|
|
8
|
+
import './_object-pie-33c40e79.js';
|
|
9
|
+
import { _ as _extends, a as _Object$assign } from './extends-6e00b262.js';
|
|
10
|
+
import './_object-sap-56bb8073.js';
|
|
11
|
+
import './inherits-2758cc14.js';
|
|
12
|
+
import './web.dom.iterable-46c95e52.js';
|
|
13
|
+
import './typeof-7e72fee0.js';
|
|
14
|
+
import './_is-array-dd5523d6.js';
|
|
15
|
+
import React, { useState, useEffect } from 'react';
|
|
16
|
+
import { l as lib_3 } from './index-fb49124c.js';
|
|
17
|
+
import 'prop-types';
|
|
18
|
+
import { m as moment } from './moment-12415288.js';
|
|
19
|
+
import 'next/router';
|
|
20
|
+
import './isSymbol-c1b9be80.js';
|
|
21
|
+
import './debounce-8cd9e09c.js';
|
|
22
|
+
import { I as InfiniteScroll } from './index.es-27d0bae9.js';
|
|
23
|
+
import 'react-dom';
|
|
24
|
+
import { i as imageUrlBuilder } from './index-73819142.js';
|
|
25
|
+
import './index-c5fd0af5.js';
|
|
26
|
+
import { m as main_36 } from './main-8c8784b8.js';
|
|
27
|
+
import './entities-7cc3bf45.js';
|
|
28
|
+
import { _ as _slicedToArray, a as _getIterator } from './slicedToArray-f1e40361.js';
|
|
29
|
+
import { _ as _JSON$stringify } from './stringify-e30bc114.js';
|
|
30
|
+
import './asyncToGenerator-204b5a5c.js';
|
|
31
|
+
import './_set-species-6f64f1c1.js';
|
|
32
|
+
import './promise-53143c9a.js';
|
|
33
|
+
import './Beam.js';
|
|
34
|
+
import './Segment.js';
|
|
35
|
+
import DFPAdSlot from './AdSlot.js';
|
|
36
|
+
import './_arrayMap-a8dd2b2c.js';
|
|
37
|
+
import { B as BlockContent } from './BlockContent-4af2feb9.js';
|
|
38
|
+
import './smoothscroll-4b699764.js';
|
|
39
|
+
import './GroupDeck.js';
|
|
40
|
+
import 'react-bootstrap';
|
|
41
|
+
import 'react-bootstrap/Button';
|
|
42
|
+
import Head from 'next/head';
|
|
43
|
+
import 'react-share';
|
|
44
|
+
import SocialShare from './SocialShare.js';
|
|
45
|
+
import { _ as _Object$keys } from './keys-04cdec91.js';
|
|
46
|
+
import Dropdown from 'react-bootstrap/Dropdown';
|
|
47
|
+
import './brightcove-react-player-loader.es-e1c6b0f2.js';
|
|
48
|
+
import { I as InscreenSensor, i as includes_1 } from './InscreenSensor-b7f931bf.js';
|
|
49
|
+
import getSerializers from './getSerializers.js';
|
|
50
|
+
import './util-7700fc59.js';
|
|
51
|
+
import 'react-bootstrap/Pagination';
|
|
52
|
+
import 'next/dynamic';
|
|
53
|
+
|
|
54
|
+
var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
|
|
55
|
+
var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
|
|
56
|
+
|
|
57
|
+
if (authorName && authorURL) {
|
|
58
|
+
return React.createElement(
|
|
59
|
+
'span',
|
|
60
|
+
null,
|
|
61
|
+
React.createElement(
|
|
62
|
+
'a',
|
|
63
|
+
{ href: '/' + defaultUrl + '/' + authorURL.current, key: index },
|
|
64
|
+
authorName
|
|
65
|
+
),
|
|
66
|
+
length !== index + 1 && ', '
|
|
67
|
+
);
|
|
68
|
+
} else if (authorName) {
|
|
69
|
+
return React.createElement(
|
|
70
|
+
'span',
|
|
71
|
+
{ key: index },
|
|
72
|
+
authorName,
|
|
73
|
+
length !== index + 1 && ', '
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
var get_content_placement_url = function get_content_placement_url(cp) {
|
|
79
|
+
var cp_url = '';
|
|
80
|
+
if (cp.ancestor && typeof cp.ancestor === 'string') {
|
|
81
|
+
cp_url += (cp_url === '' ? '' : '/') + cp.ancestor;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!cp.ancestor && cp.parent && typeof cp.parent === 'string') {
|
|
85
|
+
cp_url += (cp_url === '' ? '' : '/') + cp.parent;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
cp_url += (cp_url === '' ? '' : '/') + cp.path;
|
|
89
|
+
return cp_url;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
var getArticleSummary = function getArticleSummary(article) {
|
|
93
|
+
if (article.summary && article.summary.length > 0) {
|
|
94
|
+
return article.summary;
|
|
95
|
+
} else {
|
|
96
|
+
var _article$body = article.body,
|
|
97
|
+
body = _article$body === undefined ? [] : _article$body;
|
|
98
|
+
|
|
99
|
+
var desc = '';
|
|
100
|
+
body.some(function (children) {
|
|
101
|
+
children.children && children.children.some(function (item) {
|
|
102
|
+
if (item.text && String(item.text).trim().length > 0 && desc === '') {
|
|
103
|
+
desc = String(item.text);
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
if (desc !== '') {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
return desc;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
var Article = function Article(props) {
|
|
116
|
+
var client = props.client,
|
|
117
|
+
pageview = props.pageview,
|
|
118
|
+
videoAccountIDs = props.videoAccountIDs,
|
|
119
|
+
drupalLeadSettings = props.drupalLeadSettings,
|
|
120
|
+
currentPage = props.currentPage,
|
|
121
|
+
_props$article = props.article,
|
|
122
|
+
articleId = _props$article._id,
|
|
123
|
+
title = _props$article.title,
|
|
124
|
+
passwordLock = _props$article.passwordLock,
|
|
125
|
+
authorDetails = _props$article.authorDetails,
|
|
126
|
+
pageNumber = _props$article.pageNumber,
|
|
127
|
+
published = _props$article.published,
|
|
128
|
+
articleBody = _props$article.body,
|
|
129
|
+
thumbnail = _props$article.thumbnail,
|
|
130
|
+
content_placement = _props$article.content_placement,
|
|
131
|
+
_props$article$url = _props$article.url;
|
|
132
|
+
_props$article$url = _props$article$url === undefined ? {
|
|
133
|
+
current: ''
|
|
134
|
+
} : _props$article$url;
|
|
135
|
+
var url = _props$article$url.current,
|
|
136
|
+
issue = _props$article.issue,
|
|
137
|
+
source = _props$article.source,
|
|
138
|
+
regionalPages = props.regionalPages,
|
|
139
|
+
nationalPage = props.nationalPage,
|
|
140
|
+
ISIContent = props.ISIContent,
|
|
141
|
+
changeUrl = props.changeUrl,
|
|
142
|
+
shareOptions = props.shareOptions,
|
|
143
|
+
cpModificationRequired = props.cpModificationRequired,
|
|
144
|
+
authorPrefix = props.authorPrefix,
|
|
145
|
+
_props$lgContextAd = props.lgContextAd,
|
|
146
|
+
lgContextAd = _props$lgContextAd === undefined ? false : _props$lgContextAd,
|
|
147
|
+
queueData = props.queueData;
|
|
148
|
+
|
|
149
|
+
var _useState = useState(null),
|
|
150
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
151
|
+
contextualADFlag = _useState2[0],
|
|
152
|
+
setContextualADFlag = _useState2[1];
|
|
153
|
+
|
|
154
|
+
var summary = getArticleSummary(props.article);
|
|
155
|
+
|
|
156
|
+
var urlFor = function urlFor(source) {
|
|
157
|
+
return imageUrlBuilder(client).image(source);
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
var isCutomPage = function isCutomPage(article) {
|
|
161
|
+
var url = article.url.current;
|
|
162
|
+
|
|
163
|
+
if (regionalPages || nationalPage) {
|
|
164
|
+
return regionalPages.includes(url) || nationalPage === url;
|
|
165
|
+
} else {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var renderIsiContent = function renderIsiContent(article) {
|
|
171
|
+
var url = article.url.current;
|
|
172
|
+
|
|
173
|
+
if (regionalPages && regionalPages.includes(url)) {
|
|
174
|
+
return React.createElement(ISIContent, null);
|
|
175
|
+
} else if (nationalPage === url) {
|
|
176
|
+
return React.createElement(ISIContent, { national: true });
|
|
177
|
+
}
|
|
178
|
+
return null;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
var renderRelevantTopicsDropdown = function renderRelevantTopicsDropdown() {
|
|
182
|
+
if (content_placement && content_placement.length > 0) {
|
|
183
|
+
return React.createElement(
|
|
184
|
+
Dropdown,
|
|
185
|
+
{ style: { marginBottom: '1rem' } },
|
|
186
|
+
React.createElement(
|
|
187
|
+
Dropdown.Toggle,
|
|
188
|
+
{ variant: 'primary', id: 'partner-dropdown' },
|
|
189
|
+
'Relevant Topics'
|
|
190
|
+
),
|
|
191
|
+
React.createElement(
|
|
192
|
+
Dropdown.Menu,
|
|
193
|
+
null,
|
|
194
|
+
content_placement.length > 0 ? content_placement.map(function (cp, index) {
|
|
195
|
+
var cp_url = cpModificationRequired ? get_content_placement_url(cp) : cp.path;
|
|
196
|
+
var href = '/' + cp_url;
|
|
197
|
+
return React.createElement(
|
|
198
|
+
Dropdown.Item,
|
|
199
|
+
{ key: index, href: href },
|
|
200
|
+
cp.name
|
|
201
|
+
);
|
|
202
|
+
}) : null
|
|
203
|
+
)
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
var renderBlockContent = function renderBlockContent(payload) {
|
|
210
|
+
var _payload = payload,
|
|
211
|
+
body = _payload.body;
|
|
212
|
+
|
|
213
|
+
var findIndex = function findIndex(arr) {
|
|
214
|
+
var indexes = [];
|
|
215
|
+
var _iteratorNormalCompletion = true;
|
|
216
|
+
var _didIteratorError = false;
|
|
217
|
+
var _iteratorError = undefined;
|
|
218
|
+
|
|
219
|
+
try {
|
|
220
|
+
for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
221
|
+
var ele = _step.value;
|
|
222
|
+
|
|
223
|
+
if (ele['_type'] === 'block' && ele.children.some(function (child) {
|
|
224
|
+
return child.text.trim().length > 0;
|
|
225
|
+
}) && ele['listItem'] !== 'bullet' && ele['style'] === 'normal' || ele['_type'] === 'figure') {
|
|
226
|
+
indexes.push(arr.indexOf(ele));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
} catch (err) {
|
|
230
|
+
_didIteratorError = true;
|
|
231
|
+
_iteratorError = err;
|
|
232
|
+
} finally {
|
|
233
|
+
try {
|
|
234
|
+
if (!_iteratorNormalCompletion && _iterator.return) {
|
|
235
|
+
_iterator.return();
|
|
236
|
+
}
|
|
237
|
+
} finally {
|
|
238
|
+
if (_didIteratorError) {
|
|
239
|
+
throw _iteratorError;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return indexes;
|
|
245
|
+
};
|
|
246
|
+
var indexes = findIndex(body);
|
|
247
|
+
if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && payload.contextualVideoAD) {
|
|
248
|
+
payload = _extends({}, payload, {
|
|
249
|
+
contextualAD: _extends({}, payload.contextualAD, {
|
|
250
|
+
slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
|
|
251
|
+
}),
|
|
252
|
+
contextualVideoAD: _extends({}, payload.contextualVideoAD, {
|
|
253
|
+
slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
|
|
254
|
+
})
|
|
255
|
+
});
|
|
256
|
+
var selectedIndex = indexes[1] + 1;
|
|
257
|
+
|
|
258
|
+
var checkIsAdFound = function checkIsAdFound(isFound) {
|
|
259
|
+
if (!isFound) {
|
|
260
|
+
var parent = document.getElementById('contextual-native-ad-' + payload._id);
|
|
261
|
+
parent.style.height = '0%';
|
|
262
|
+
parent.style.width = '0%';
|
|
263
|
+
parent.style.display = 'none';
|
|
264
|
+
setContextualADFlag(false);
|
|
265
|
+
} else {
|
|
266
|
+
setContextualADFlag(true);
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
var checkIsVideoAdFound = function checkIsVideoAdFound(isFound) {
|
|
271
|
+
if (!isFound) {
|
|
272
|
+
var parent = document.getElementById('contextual-video-ad-' + payload._id);
|
|
273
|
+
parent.style.height = '0%';
|
|
274
|
+
parent.style.width = '0%';
|
|
275
|
+
parent.style.display = 'none';
|
|
276
|
+
setContextualADFlag(false);
|
|
277
|
+
} else {
|
|
278
|
+
setContextualADFlag(true);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
return React.createElement(
|
|
283
|
+
React.Fragment,
|
|
284
|
+
null,
|
|
285
|
+
React.createElement(BlockContent, _extends({
|
|
286
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
|
|
287
|
+
blocks: [].concat(_toConsumableArray(body.slice(0, selectedIndex))),
|
|
288
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
289
|
+
}, client.config())),
|
|
290
|
+
React.createElement('span', { className: 'clearfix' }),
|
|
291
|
+
React.createElement(
|
|
292
|
+
'div',
|
|
293
|
+
{ id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
|
|
294
|
+
React.createElement(DFPAdSlot, _extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: checkIsAdFound }))
|
|
295
|
+
),
|
|
296
|
+
React.createElement('span', { className: 'clearfix' }),
|
|
297
|
+
React.createElement(
|
|
298
|
+
'div',
|
|
299
|
+
{ id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
|
|
300
|
+
React.createElement(DFPAdSlot, _extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
|
|
301
|
+
),
|
|
302
|
+
React.createElement(BlockContent, _extends({
|
|
303
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
|
|
304
|
+
blocks: [].concat(_toConsumableArray(body.slice(selectedIndex))),
|
|
305
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
306
|
+
}, client.config()))
|
|
307
|
+
);
|
|
308
|
+
} else if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && !payload.contextualVideoAD) {
|
|
309
|
+
payload = _extends({}, payload, {
|
|
310
|
+
contextualAD: _extends({}, payload.contextualAD, {
|
|
311
|
+
slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
|
|
312
|
+
className: 'ADFluid',
|
|
313
|
+
// Adding new ad size for large contextual ad for desktop screen width >= 1400
|
|
314
|
+
sizes: lgContextAd ? [[728, 90], 'fluid', [300, 100]] : ['fluid', [300, 100]],
|
|
315
|
+
sizeMapping: lgContextAd ? [{
|
|
316
|
+
viewport: [1400, 0],
|
|
317
|
+
sizes: [[728, 90], 'fluid', [300, 100]]
|
|
318
|
+
}, { viewport: [0, 0], sizes: ['fluid', [300, 100]] }] : ['fluid', [300, 100]]
|
|
319
|
+
})
|
|
320
|
+
});
|
|
321
|
+
var _selectedIndex = indexes[1] + 1;
|
|
322
|
+
var _checkIsAdFound = function _checkIsAdFound(isFound, adData) {
|
|
323
|
+
if (!isFound) {
|
|
324
|
+
var parent = document.getElementById('contextual-native-ad-' + payload._id);
|
|
325
|
+
parent.style.height = '0%';
|
|
326
|
+
parent.style.width = '0%';
|
|
327
|
+
parent.style.display = 'none';
|
|
328
|
+
setContextualADFlag(false);
|
|
329
|
+
} else {
|
|
330
|
+
var _parent = document.getElementById('contextual-native-ad-' + payload._id);
|
|
331
|
+
if (adData && adData.event && adData.event.size && _parent) {
|
|
332
|
+
// Adding fix for fluid contextual ad to avoid from collapsing when size is [0,0]
|
|
333
|
+
var fluidSizes = [[0, 0]];
|
|
334
|
+
var checkAdSize = function checkAdSize(size) {
|
|
335
|
+
return _JSON$stringify(size) === _JSON$stringify(adData.event.size);
|
|
336
|
+
};
|
|
337
|
+
if (!fluidSizes.some(checkAdSize)) {
|
|
338
|
+
_parent.style.width = adData.event.size[0] + 'px';
|
|
339
|
+
_parent.style.height = adData.event.size[1] + 'px';
|
|
340
|
+
}
|
|
341
|
+
_parent.style.margin = 'auto';
|
|
342
|
+
}
|
|
343
|
+
if (body[0]._type === 'figure' || body[1]._type === 'figure' || body[2]._type === 'figure' || body[3]._type === 'figure') {
|
|
344
|
+
setContextualADFlag(true);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
return React.createElement(
|
|
350
|
+
React.Fragment,
|
|
351
|
+
null,
|
|
352
|
+
React.createElement(BlockContent, _extends({
|
|
353
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
|
|
354
|
+
blocks: [].concat(_toConsumableArray(body.slice(0, _selectedIndex))),
|
|
355
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
356
|
+
}, client.config())),
|
|
357
|
+
contextualADFlag && React.createElement('span', { className: 'clearfix' }),
|
|
358
|
+
React.createElement(
|
|
359
|
+
'div',
|
|
360
|
+
{ id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
|
|
361
|
+
React.createElement(DFPAdSlot, _extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound }))
|
|
362
|
+
),
|
|
363
|
+
contextualADFlag && React.createElement('span', { className: 'clearfix' }),
|
|
364
|
+
React.createElement(BlockContent, _extends({
|
|
365
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
|
|
366
|
+
blocks: [].concat(_toConsumableArray(body.slice(_selectedIndex))),
|
|
367
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
368
|
+
}, client.config()))
|
|
369
|
+
);
|
|
370
|
+
} else if (indexes.length >= 2 && body.length > 3 && payload.contextualVideoAD && !payload.contextualAD) {
|
|
371
|
+
payload = _extends({}, payload, {
|
|
372
|
+
contextualVideoAD: _extends({}, payload.contextualVideoAD, {
|
|
373
|
+
slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
|
|
374
|
+
})
|
|
375
|
+
});
|
|
376
|
+
var _selectedIndex2 = indexes[1] + 1;
|
|
377
|
+
|
|
378
|
+
var _checkIsAdFound2 = function _checkIsAdFound2(isFound) {
|
|
379
|
+
if (!isFound) {
|
|
380
|
+
var parent = document.getElementById('contextual-video-ad-' + payload._id);
|
|
381
|
+
parent.style.height = '0%';
|
|
382
|
+
parent.style.width = '0%';
|
|
383
|
+
parent.style.display = 'none';
|
|
384
|
+
setContextualADFlag(false);
|
|
385
|
+
} else {
|
|
386
|
+
if (body && body[1] && body[1]._type === 'figure') {
|
|
387
|
+
setContextualADFlag(true);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
return React.createElement(
|
|
393
|
+
React.Fragment,
|
|
394
|
+
null,
|
|
395
|
+
React.createElement(BlockContent, _extends({
|
|
396
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
|
|
397
|
+
blocks: [].concat(_toConsumableArray(body.slice(0, _selectedIndex2))),
|
|
398
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
399
|
+
}, client.config())),
|
|
400
|
+
React.createElement('span', { className: 'clearfix' }),
|
|
401
|
+
React.createElement(
|
|
402
|
+
'div',
|
|
403
|
+
{ id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
|
|
404
|
+
React.createElement(DFPAdSlot, _extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
|
|
405
|
+
),
|
|
406
|
+
React.createElement(BlockContent, _extends({
|
|
407
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
|
|
408
|
+
blocks: [].concat(_toConsumableArray(body.slice(_selectedIndex2))),
|
|
409
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
410
|
+
}, client.config()))
|
|
411
|
+
);
|
|
412
|
+
} else {
|
|
413
|
+
return React.createElement(BlockContent, _extends({
|
|
414
|
+
serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
|
|
415
|
+
blocks: articleBody,
|
|
416
|
+
imageOptions: { w: 320, h: 240, fit: 'max' }
|
|
417
|
+
}, client.config()));
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
var shareVia = shareOptions.shareVia,
|
|
422
|
+
shareSubject = shareOptions.shareSubject,
|
|
423
|
+
twitterSiteName = shareOptions.twitterSiteName,
|
|
424
|
+
shareImageDefault = shareOptions.shareImageDefault,
|
|
425
|
+
shareBaseUrl = shareOptions.shareBaseUrl,
|
|
426
|
+
shareSiteTitle = shareOptions.shareSiteTitle;
|
|
427
|
+
|
|
428
|
+
var shareUrl = shareBaseUrl + props.article.url.current;
|
|
429
|
+
var shareTitle = title;
|
|
430
|
+
var shareSummary = summary;
|
|
431
|
+
var shareImage = thumbnail && thumbnail.asset ? urlFor(thumbnail.asset).url() : shareImageDefault;
|
|
432
|
+
var siteName = props.website.title;
|
|
433
|
+
|
|
434
|
+
var meta = {
|
|
435
|
+
shareTitle: shareTitle,
|
|
436
|
+
shareSiteName: props.cache.siteSettingCache.name,
|
|
437
|
+
shareSummary: shareSummary,
|
|
438
|
+
shareUrl: shareUrl,
|
|
439
|
+
shareImage: shareImage,
|
|
440
|
+
shareVia: props.Settings.title
|
|
441
|
+
};
|
|
442
|
+
return React.createElement(
|
|
443
|
+
React.Fragment,
|
|
444
|
+
null,
|
|
445
|
+
React.createElement(
|
|
446
|
+
InscreenSensor,
|
|
447
|
+
{
|
|
448
|
+
offSetTop: 120,
|
|
449
|
+
className: 'inscreen-wrapper',
|
|
450
|
+
id: 'article-' + title,
|
|
451
|
+
onChange: function onChange(visible) {
|
|
452
|
+
if (visible === 'top' || visible === 'bottom' || visible === 'small-top') {
|
|
453
|
+
changeUrl(url, visible, meta);
|
|
454
|
+
}
|
|
455
|
+
} },
|
|
456
|
+
React.createElement(
|
|
457
|
+
'div',
|
|
458
|
+
null,
|
|
459
|
+
queueData && queueData.length === 1 && React.createElement(
|
|
460
|
+
Head,
|
|
461
|
+
null,
|
|
462
|
+
React.createElement(
|
|
463
|
+
'title',
|
|
464
|
+
{ key: 'title' },
|
|
465
|
+
'' + shareTitle
|
|
466
|
+
),
|
|
467
|
+
React.createElement('meta', { name: 'description', key: 'description', content: shareSummary }),
|
|
468
|
+
passwordLock && React.createElement('meta', { name: 'robots', content: 'noindex, nofollow' }),
|
|
469
|
+
React.createElement('meta', { property: 'og:url', content: shareUrl, key: 'og:url' }),
|
|
470
|
+
React.createElement('meta', { property: 'og:title', content: shareTitle, key: 'og:title' }),
|
|
471
|
+
React.createElement('meta', { property: 'og:image', content: shareImage, key: 'og:image' }),
|
|
472
|
+
React.createElement('meta', { property: 'og:site_name', content: props.Settings.title, key: 'og:site_name' }),
|
|
473
|
+
React.createElement('meta', { property: 'og:description', content: shareSummary, key: 'og:description' }),
|
|
474
|
+
React.createElement('meta', { name: 'twitter:card', content: 'summary', key: 'twitter:card' }),
|
|
475
|
+
React.createElement('meta', { name: 'twitter:title', content: shareTitle, key: 'twitter:title' }),
|
|
476
|
+
React.createElement('meta', { name: 'twitter:image', content: shareImage, key: 'twitter:image' }),
|
|
477
|
+
React.createElement('meta', { name: 'twitter:site', content: '@' + props.Settings.title, key: 'twitter:site' }),
|
|
478
|
+
React.createElement('meta', { name: 'twitter:description', content: shareSummary, key: 'twitter:description' })
|
|
479
|
+
),
|
|
480
|
+
React.createElement(
|
|
481
|
+
'h1',
|
|
482
|
+
{ className: 'page-title' },
|
|
483
|
+
title
|
|
484
|
+
),
|
|
485
|
+
React.createElement(
|
|
486
|
+
'div',
|
|
487
|
+
{ className: 'video-detail', style: { marginBottom: isCutomPage(props.article) ? '150px' : 0 } },
|
|
488
|
+
React.createElement(
|
|
489
|
+
'div',
|
|
490
|
+
null,
|
|
491
|
+
moment(published).format('LL')
|
|
492
|
+
),
|
|
493
|
+
React.createElement(
|
|
494
|
+
'div',
|
|
495
|
+
{ className: 'mb-3' },
|
|
496
|
+
authorDetails && authorDetails.map(function (authorDetail, index) {
|
|
497
|
+
return React.createElement(
|
|
498
|
+
'span',
|
|
499
|
+
{ key: index },
|
|
500
|
+
renderAuthor(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
|
|
501
|
+
);
|
|
502
|
+
}),
|
|
503
|
+
props.article.source && React.createElement(
|
|
504
|
+
'div',
|
|
505
|
+
{ className: 'sanityDisplayLabel' },
|
|
506
|
+
props.article.source
|
|
507
|
+
),
|
|
508
|
+
issue && React.createElement(
|
|
509
|
+
'div',
|
|
510
|
+
null,
|
|
511
|
+
React.createElement(
|
|
512
|
+
'div',
|
|
513
|
+
{ className: 'volume-issue' },
|
|
514
|
+
React.createElement(
|
|
515
|
+
'p',
|
|
516
|
+
null,
|
|
517
|
+
issue.volume && React.createElement(
|
|
518
|
+
'span',
|
|
519
|
+
null,
|
|
520
|
+
'Volume ' + issue.volume,
|
|
521
|
+
','
|
|
522
|
+
),
|
|
523
|
+
issue.issueNumber && React.createElement(
|
|
524
|
+
'span',
|
|
525
|
+
null,
|
|
526
|
+
' Issue ' + issue.issueNumber
|
|
527
|
+
)
|
|
528
|
+
)
|
|
529
|
+
)
|
|
530
|
+
),
|
|
531
|
+
pageNumber && React.createElement(
|
|
532
|
+
'div',
|
|
533
|
+
{ className: 'article-pageNumber' },
|
|
534
|
+
'Page Number: ' + pageNumber
|
|
535
|
+
)
|
|
536
|
+
),
|
|
537
|
+
React.createElement(
|
|
538
|
+
'p',
|
|
539
|
+
null,
|
|
540
|
+
React.createElement(SocialShare, {
|
|
541
|
+
shareUrl: shareUrl,
|
|
542
|
+
shareTitle: shareTitle,
|
|
543
|
+
shareVia: shareVia,
|
|
544
|
+
shareSummary: shareSummary,
|
|
545
|
+
shareSubject: shareSubject,
|
|
546
|
+
shareImage: shareImage,
|
|
547
|
+
size: 32,
|
|
548
|
+
siteName: siteName,
|
|
549
|
+
twitterSiteName: twitterSiteName,
|
|
550
|
+
disableMeta: true
|
|
551
|
+
})
|
|
552
|
+
),
|
|
553
|
+
renderRelevantTopicsDropdown(),
|
|
554
|
+
React.createElement(
|
|
555
|
+
'p',
|
|
556
|
+
null,
|
|
557
|
+
React.createElement(
|
|
558
|
+
'em',
|
|
559
|
+
null,
|
|
560
|
+
summary
|
|
561
|
+
),
|
|
562
|
+
React.createElement('br', null),
|
|
563
|
+
React.createElement('br', null)
|
|
564
|
+
),
|
|
565
|
+
main_36 && props.article.Ads.map(function (ad, index) {
|
|
566
|
+
if (index === 0) {
|
|
567
|
+
return React.createElement(
|
|
568
|
+
'div',
|
|
569
|
+
{ key: index, id: 'addid-' + index, style: { display: 'flex', flex: '1 0 auto', marginTop: '-1rem', marginBottom: '1rem' } },
|
|
570
|
+
ad.component
|
|
571
|
+
);
|
|
572
|
+
}
|
|
573
|
+
}),
|
|
574
|
+
React.createElement(
|
|
575
|
+
'div',
|
|
576
|
+
{ className: 'block-content' },
|
|
577
|
+
renderBlockContent(props.article),
|
|
578
|
+
issue && issue.url && React.createElement(
|
|
579
|
+
'a',
|
|
580
|
+
{ href: issue.url, target: '_blank', title: 'Download issue' },
|
|
581
|
+
React.createElement('img', { style: { margin: '1rem', maxHeight: '40px', maxWidth: '40px' }, src: '/download.png', alt: 'download issue' }),
|
|
582
|
+
'Download Issue : ',
|
|
583
|
+
issue.name
|
|
584
|
+
)
|
|
585
|
+
)
|
|
586
|
+
),
|
|
587
|
+
renderIsiContent(props.article)
|
|
588
|
+
)
|
|
589
|
+
),
|
|
590
|
+
main_36 && props.article.Ads.map(function (ad, index) {
|
|
591
|
+
if (index > 0) {
|
|
592
|
+
return React.createElement(
|
|
593
|
+
'div',
|
|
594
|
+
{ key: index, id: 'addid-' + index, style: { display: 'flex', flex: '1 0 auto' } },
|
|
595
|
+
ad.component
|
|
596
|
+
);
|
|
597
|
+
}
|
|
598
|
+
}),
|
|
599
|
+
React.createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
|
|
600
|
+
React.createElement('hr', { className: 'article-seperater' }),
|
|
601
|
+
React.createElement(
|
|
602
|
+
'style',
|
|
603
|
+
{ jsx: 'true' },
|
|
604
|
+
'\n .sanityDisplayLabel {\n margin: 0.5rem 0;\n border: 1px solid black;\n width: fit-content;\n padding: 5px;\n }\n '
|
|
605
|
+
)
|
|
606
|
+
);
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
var ArticleQueue = function ArticleQueue(props) {
|
|
610
|
+
var _props$prevUrl = props.prevUrl,
|
|
611
|
+
prevUrl = _props$prevUrl === undefined ? '/' : _props$prevUrl,
|
|
612
|
+
Ads = props.Ads,
|
|
613
|
+
_props$maxListLength = props.maxListLength,
|
|
614
|
+
maxListLength = _props$maxListLength === undefined ? 10 : _props$maxListLength,
|
|
615
|
+
_props$sponsoredTaxon = props.sponsoredTaxonomies,
|
|
616
|
+
sponsoredTaxonomies = _props$sponsoredTaxon === undefined ? [] : _props$sponsoredTaxon,
|
|
617
|
+
_props$cpModification = props.cpModificationRequired,
|
|
618
|
+
cpModificationRequired = _props$cpModification === undefined ? false : _props$cpModification,
|
|
619
|
+
_props$authorPrefix = props.authorPrefix,
|
|
620
|
+
authorPrefix = _props$authorPrefix === undefined ? 'authors' : _props$authorPrefix;
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
var getTargeting = function getTargeting(article, position) {
|
|
624
|
+
var _article$internalTag = article.internalTag,
|
|
625
|
+
internalTag = _article$internalTag === undefined ? [] : _article$internalTag,
|
|
626
|
+
_article$userDefinedT = article.userDefinedTag,
|
|
627
|
+
userDefinedTag = _article$userDefinedT === undefined ? [] : _article$userDefinedT,
|
|
628
|
+
_article$SponsorshipT = article.SponsorshipTag,
|
|
629
|
+
SponsorshipTag = _article$SponsorshipT === undefined ? [] : _article$SponsorshipT,
|
|
630
|
+
_article$seoTag = article.seoTag,
|
|
631
|
+
seoTag = _article$seoTag === undefined ? [] : _article$seoTag,
|
|
632
|
+
_article$url = article.url;
|
|
633
|
+
_article$url = _article$url === undefined ? {
|
|
634
|
+
current: ''
|
|
635
|
+
} : _article$url;
|
|
636
|
+
var url = _article$url.current,
|
|
637
|
+
_article$documentGrou = article.documentGroup;
|
|
638
|
+
_article$documentGrou = _article$documentGrou === undefined ? {
|
|
639
|
+
path: ''
|
|
640
|
+
} : _article$documentGrou;
|
|
641
|
+
var document_group = _article$documentGrou.path,
|
|
642
|
+
content_placement = article.content_placement;
|
|
643
|
+
|
|
644
|
+
var context = url;
|
|
645
|
+
var localHistory = props.historyCookie ? JSON.parse(props.historyCookie) : [];
|
|
646
|
+
if (!context && localHistory) {
|
|
647
|
+
context = localHistory[localHistory.length - 1];
|
|
648
|
+
}
|
|
649
|
+
context = context && context.split('?')[0];
|
|
650
|
+
context = context && context.split('&')[0];
|
|
651
|
+
var content_placement_urls = [];
|
|
652
|
+
if (content_placement && prevUrl && prevUrl.length) {
|
|
653
|
+
content_placement.forEach(function (item) {
|
|
654
|
+
var path = item.path;
|
|
655
|
+
if (cpModificationRequired) {
|
|
656
|
+
path = get_content_placement_url(item);
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
if (includes_1(prevUrl, path)) {
|
|
660
|
+
content_placement_urls.push(path);
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
if (content_placement) {
|
|
666
|
+
if (content_placement_urls.length === 0) {
|
|
667
|
+
content_placement_urls = content_placement.map(function (item) {
|
|
668
|
+
return cpModificationRequired ? get_content_placement_url(item) : item.path;
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
} else {
|
|
672
|
+
content_placement_urls = ['/'];
|
|
673
|
+
}
|
|
674
|
+
var articleKeywords = [].concat(_toConsumableArray(internalTag), _toConsumableArray(userDefinedTag), _toConsumableArray(SponsorshipTag), _toConsumableArray(seoTag));
|
|
675
|
+
var targeting = {
|
|
676
|
+
tags: articleKeywords,
|
|
677
|
+
document_group: [document_group],
|
|
678
|
+
document_url: [url],
|
|
679
|
+
content_placement: content_placement_urls
|
|
680
|
+
};
|
|
681
|
+
|
|
682
|
+
if (article.issue && article.issue.path) {
|
|
683
|
+
targeting.issue_url = [article.issue.path];
|
|
684
|
+
if (article.issue.publication && article.issue.publication.path) {
|
|
685
|
+
targeting.publication_url = [article.issue.publication.path];
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
if (props.cache.hyperTargeting) {
|
|
690
|
+
targeting = _extends({}, targeting, { campaign_id: props.cache.hyperTargeting });
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
if (position && position.length) {
|
|
694
|
+
targeting['pos'] = position;
|
|
695
|
+
}
|
|
696
|
+
return targeting;
|
|
697
|
+
};
|
|
698
|
+
|
|
699
|
+
var firstArticle = function firstArticle() {
|
|
700
|
+
var article = _Object$assign({}, props.article);
|
|
701
|
+
var targeting = getTargeting(props.article);
|
|
702
|
+
article.Ads = Ads.getRightItems(targeting);
|
|
703
|
+
return article;
|
|
704
|
+
};
|
|
705
|
+
|
|
706
|
+
var _useState3 = useState([firstArticle()]),
|
|
707
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
708
|
+
queueData = _useState4[0],
|
|
709
|
+
setQueueData = _useState4[1];
|
|
710
|
+
|
|
711
|
+
var refreshAD = function refreshAD(path) {
|
|
712
|
+
if (!main_36) {
|
|
713
|
+
var activeArticle = queueData.find(function (item) {
|
|
714
|
+
return item.url.current === path;
|
|
715
|
+
});
|
|
716
|
+
var targeting = getTargeting(activeArticle);
|
|
717
|
+
lib_3.getGoogletag().then(function (googletag) {
|
|
718
|
+
if (window.googletag && googletag.pubadsReady) {
|
|
719
|
+
var slots = googletag.pubads().getSlots();
|
|
720
|
+
slots.forEach(function (slot) {
|
|
721
|
+
var pos = slot.getTargeting('pos');
|
|
722
|
+
slot.clearTargeting();
|
|
723
|
+
_Object$keys(targeting).forEach(function (key) {
|
|
724
|
+
slot.setTargeting(key, targeting[key]);
|
|
725
|
+
});
|
|
726
|
+
slot.setTargeting('pos', pos);
|
|
727
|
+
});
|
|
728
|
+
lib_3.refresh();
|
|
729
|
+
}
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
var checkSponseredArticle = function checkSponseredArticle(article) {
|
|
735
|
+
var _article$taxonomyMapp = article.taxonomyMapping,
|
|
736
|
+
taxonomyMapping = _article$taxonomyMapp === undefined ? [] : _article$taxonomyMapp;
|
|
737
|
+
|
|
738
|
+
if (props.checkSponsered) {
|
|
739
|
+
return taxonomyMapping.some(function (item) {
|
|
740
|
+
return includes_1(sponsoredTaxonomies, item._ref);
|
|
741
|
+
});
|
|
742
|
+
} else {
|
|
743
|
+
return false;
|
|
744
|
+
}
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
var preVscroll = 0;
|
|
748
|
+
var isScrollDown = true;
|
|
749
|
+
|
|
750
|
+
var scrollDirectionDetect = function scrollDirectionDetect(e) {
|
|
751
|
+
var window = e.currentTarget;
|
|
752
|
+
|
|
753
|
+
if (preVscroll > window.scrollY) {
|
|
754
|
+
isScrollDown = false;
|
|
755
|
+
} else if (preVscroll < window.scrollY) {
|
|
756
|
+
isScrollDown = true;
|
|
757
|
+
}
|
|
758
|
+
preVscroll = window.scrollY;
|
|
759
|
+
};
|
|
760
|
+
|
|
761
|
+
useEffect(function () {
|
|
762
|
+
window.addEventListener('scroll', scrollDirectionDetect);
|
|
763
|
+
return function () {
|
|
764
|
+
return window.removeEventListener('scroll', scrollDirectionDetect);
|
|
765
|
+
};
|
|
766
|
+
});
|
|
767
|
+
|
|
768
|
+
var loadmore = function loadmore() {
|
|
769
|
+
var query = props.relatedArticleQuery;
|
|
770
|
+
var params = props.params;
|
|
771
|
+
if (queueData && queueData.length < maxListLength) {
|
|
772
|
+
params.index = queueData.length - 1;
|
|
773
|
+
props.client.fetch(query, params).then(function (article) {
|
|
774
|
+
if (article && article._id) {
|
|
775
|
+
var targeting = getTargeting(article);
|
|
776
|
+
article.Ads = Ads.getRightItems(targeting);
|
|
777
|
+
setQueueData([].concat(_toConsumableArray(queueData), [article]));
|
|
778
|
+
}
|
|
779
|
+
});
|
|
780
|
+
}
|
|
781
|
+
};
|
|
782
|
+
|
|
783
|
+
var changeMeta = function changeMeta(meta) {
|
|
784
|
+
document.title = meta.shareTitle;
|
|
785
|
+
document.querySelector('meta[name="description"]').setAttribute('content', meta.shareSummary);
|
|
786
|
+
document.querySelector('meta[property="og:url"]').setAttribute('content', meta.shareUrl);
|
|
787
|
+
document.querySelector('meta[property="og:title"]').setAttribute('content', meta.shareTitle);
|
|
788
|
+
document.querySelector('meta[property="og:site_name"]').setAttribute('content', meta.shareVia);
|
|
789
|
+
document.querySelector('meta[property="og:description"]').setAttribute('content', meta.shareSummary);
|
|
790
|
+
document.querySelector('meta[name="twitter:title"]').setAttribute('content', meta.shareTitle);
|
|
791
|
+
document.querySelector('meta[name="twitter:image"]').setAttribute('content', meta.shareImage);
|
|
792
|
+
document.querySelector('meta[name="twitter:site"]').setAttribute('content', meta.shareVia);
|
|
793
|
+
document.querySelector('meta[name="twitter:description"]').setAttribute('content', meta.shareSummary);
|
|
794
|
+
};
|
|
795
|
+
|
|
796
|
+
var changeUrl = function changeUrl(path, visibility, meta) {
|
|
797
|
+
var currentPath = window && window.location && window.location.pathname ? window.location.pathname.replace('/view/', '') : '';
|
|
798
|
+
var newPath = '/view/' + path;
|
|
799
|
+
if (currentPath !== path) {
|
|
800
|
+
if (isScrollDown) {
|
|
801
|
+
if (visibility === 'top') {
|
|
802
|
+
// router.push('/view/[url]', newPath, { shallow: true })
|
|
803
|
+
window.history.pushState({ page: path }, meta.shareTitle, newPath);
|
|
804
|
+
changeMeta(meta);
|
|
805
|
+
if (props.pageview) {
|
|
806
|
+
props.pageview(newPath);
|
|
807
|
+
}
|
|
808
|
+
refreshAD(path);
|
|
809
|
+
}
|
|
810
|
+
} else {
|
|
811
|
+
if (visibility === 'bottom') {
|
|
812
|
+
// router.push('/view/[url]', newPath, { shallow: true })
|
|
813
|
+
window.history.pushState({ page: path }, meta.shareTitle, newPath);
|
|
814
|
+
changeMeta(meta);
|
|
815
|
+
if (props.pageview) {
|
|
816
|
+
props.pageview(newPath);
|
|
817
|
+
}
|
|
818
|
+
refreshAD(path);
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
if (visibility === 'small-top') {
|
|
822
|
+
window.history.pushState({ page: path }, meta.shareTitle, newPath);
|
|
823
|
+
changeMeta(meta);
|
|
824
|
+
if (props.pageview) {
|
|
825
|
+
props.pageview(newPath);
|
|
826
|
+
}
|
|
827
|
+
refreshAD(path);
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
};
|
|
831
|
+
|
|
832
|
+
return React.createElement(
|
|
833
|
+
InfiniteScroll,
|
|
834
|
+
{ dataLength: queueData.length, next: loadmore, scrollThreshold: '60%', hasMore: true, style: { overflow: 'hidden' } },
|
|
835
|
+
queueData.map(function (article, index) {
|
|
836
|
+
if (!checkSponseredArticle(article) && Ads.getVideoContextualAD) {
|
|
837
|
+
article.contextualVideoAD = Ads.getVideoContextualAD(getTargeting(article, 'in-context_video'));
|
|
838
|
+
}
|
|
839
|
+
if (!checkSponseredArticle(article) && Ads.getNativeContextualAD) {
|
|
840
|
+
article.contextualAD = Ads.getNativeContextualAD(getTargeting(article, 'native-ad'));
|
|
841
|
+
}
|
|
842
|
+
return React.createElement(Article, _extends({
|
|
843
|
+
key: index
|
|
844
|
+
}, props, {
|
|
845
|
+
changeUrl: changeUrl,
|
|
846
|
+
authorPrfix: authorPrefix,
|
|
847
|
+
article: article,
|
|
848
|
+
cpModificationRequired: cpModificationRequired,
|
|
849
|
+
queueData: queueData
|
|
850
|
+
}));
|
|
851
|
+
})
|
|
852
|
+
);
|
|
853
|
+
};
|
|
854
|
+
|
|
855
|
+
export default ArticleQueue;
|