@mjhls/mjh-framework 1.0.478 → 1.0.480

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/AD300x250.js +1 -1
  3. package/dist/cjs/AD300x250x600.js +1 -1
  4. package/dist/cjs/AD728x90.js +1 -1
  5. package/dist/cjs/ADFloatingFooter.js +1 -1
  6. package/dist/cjs/ADGutter.js +1 -1
  7. package/dist/cjs/ADSponsoredResources.js +1 -1
  8. package/dist/cjs/ADWebcast.js +1 -1
  9. package/dist/cjs/ADWelcome.js +1 -1
  10. package/dist/cjs/AdSlot.js +1 -1
  11. package/dist/cjs/ArticleQueue.js +1 -1
  12. package/dist/cjs/Beam.js +1 -1
  13. package/dist/cjs/Column2.js +1 -1
  14. package/dist/cjs/Column3.js +1 -1
  15. package/dist/cjs/DeckContent.js +2 -2
  16. package/dist/cjs/GridContent.js +3 -3
  17. package/dist/cjs/HamMagazine.js +1 -1
  18. package/dist/cjs/IssueLanding.js +3 -3
  19. package/dist/cjs/LeftNav.js +1 -1
  20. package/dist/cjs/MasterDeck.js +3 -3
  21. package/dist/cjs/NavDvm.js +1 -1
  22. package/dist/cjs/NavMagazine.js +1 -1
  23. package/dist/cjs/NavNative.js +1 -1
  24. package/dist/cjs/NavNormal.js +1 -1
  25. package/dist/cjs/PartnerDetailListing.js +3 -3
  26. package/dist/cjs/QueueDeckExpanded.js +3 -3
  27. package/dist/cjs/Segment.js +1 -1
  28. package/dist/cjs/SideFooter.js +1 -1
  29. package/dist/cjs/TemplateNormal.js +1 -1
  30. package/dist/cjs/View.js +79 -5
  31. package/dist/cjs/{beam-b2ff7326.js → beam-9ffe0364.js} +1 -1
  32. package/dist/cjs/getQuery.js +2 -2
  33. package/dist/cjs/getSerializers.js +1 -1
  34. package/dist/cjs/index.js +5 -5
  35. package/dist/esm/AD300x250.js +1 -1
  36. package/dist/esm/AD300x250x600.js +1 -1
  37. package/dist/esm/AD728x90.js +1 -1
  38. package/dist/esm/ADFloatingFooter.js +1 -1
  39. package/dist/esm/ADGutter.js +1 -1
  40. package/dist/esm/ADSponsoredResources.js +1 -1
  41. package/dist/esm/ADWebcast.js +1 -1
  42. package/dist/esm/ADWelcome.js +1 -1
  43. package/dist/esm/AdSlot.js +1 -1
  44. package/dist/esm/ArticleQueue.js +1 -1
  45. package/dist/esm/Beam.js +1 -1
  46. package/dist/esm/Column2.js +1 -1
  47. package/dist/esm/Column3.js +1 -1
  48. package/dist/esm/DeckContent.js +2 -2
  49. package/dist/esm/GridContent.js +3 -3
  50. package/dist/esm/HamMagazine.js +1 -1
  51. package/dist/esm/IssueLanding.js +3 -3
  52. package/dist/esm/LeftNav.js +1 -1
  53. package/dist/esm/MasterDeck.js +3 -3
  54. package/dist/esm/NavDvm.js +1 -1
  55. package/dist/esm/NavMagazine.js +1 -1
  56. package/dist/esm/NavNative.js +1 -1
  57. package/dist/esm/NavNormal.js +1 -1
  58. package/dist/esm/PartnerDetailListing.js +3 -3
  59. package/dist/esm/QueueDeckExpanded.js +3 -3
  60. package/dist/esm/Segment.js +1 -1
  61. package/dist/esm/SideFooter.js +1 -1
  62. package/dist/esm/TemplateNormal.js +1 -1
  63. package/dist/esm/View.js +79 -5
  64. package/dist/esm/{beam-1ffc08d4.js → beam-e248fb74.js} +1 -1
  65. package/dist/esm/getQuery.js +2 -2
  66. package/dist/esm/getSerializers.js +1 -1
  67. package/dist/esm/index.js +4 -4
  68. package/package.json +1 -1
  69. /package/dist/cjs/{ADInfeed-53eca520.js → ADInfeed-9984cb73.js} +0 -0
  70. /package/dist/cjs/{ADlgInfeed-461fa625.js → ADlgInfeed-bd434369.js} +0 -0
  71. /package/dist/esm/{ADInfeed-84a98951.js → ADInfeed-f2d3970d.js} +0 -0
  72. /package/dist/esm/{ADlgInfeed-25962fea.js → ADlgInfeed-3c3c976a.js} +0 -0
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
 
2
- # mjh-framework v. 1.0.478
2
+ # mjh-framework v. 1.0.480
3
+
3
4
 
4
5
  > Foundation Framework
5
6
 
@@ -19,7 +19,7 @@ require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var AD300x250 = function AD300x250(_ref) {
@@ -19,7 +19,7 @@ require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var AD300x250x600 = function AD300x250x600(_ref) {
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var AD728x90 = function AD728x90(_ref) {
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  var stringify = require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var ADFloatingFooter = function ADFloatingFooter(_ref) {
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var ADGutter = function ADGutter(_ref) {
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var ADSponsoredResources = function ADSponsoredResources(_ref) {
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  // Webcast AD : New AD with size [200,100] that is to be renderedin the LeftNav between the spotlight and subnavigation.
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  var AdSlot = require('./AdSlot.js');
24
24
 
25
25
  var ADWelcome = function ADWelcome(_ref) {
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- var Segment = require('./beam-b2ff7326.js');
22
+ var Segment = require('./beam-9ffe0364.js');
23
23
 
24
24
  var DFPAdSlot = function DFPAdSlot(_ref) {
25
25
  var adUnit = _ref.adUnit,
@@ -34,7 +34,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
34
34
  var stringify = require('./stringify-7c5aff47.js');
35
35
  require('./asyncToGenerator-8e707718.js');
36
36
  require('./_set-species-4458e975.js');
37
- require('./beam-b2ff7326.js');
37
+ require('./beam-9ffe0364.js');
38
38
  var AdSlot = require('./AdSlot.js');
39
39
  require('./_arrayMap-3b4a0f75.js');
40
40
  var BlockContent = require('./BlockContent-f942392e.js');
package/dist/cjs/Beam.js CHANGED
@@ -9,7 +9,7 @@ require('./web.dom.iterable-43c3e277.js');
9
9
  require('./stringify-7c5aff47.js');
10
10
  require('./asyncToGenerator-8e707718.js');
11
11
  require('./_set-species-4458e975.js');
12
- var Segment = require('./beam-b2ff7326.js');
12
+ var Segment = require('./beam-9ffe0364.js');
13
13
 
14
14
 
15
15
 
@@ -19,7 +19,7 @@ require('./isSymbol-488934a7.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- require('./beam-b2ff7326.js');
22
+ require('./beam-9ffe0364.js');
23
23
  require('./_arrayMap-3b4a0f75.js');
24
24
  require('./get-5dfcdc33.js');
25
25
  require('./react-social-icons-cd0d9d3b.js');
@@ -23,7 +23,7 @@ require('./slicedToArray-8063ee51.js');
23
23
  require('./stringify-7c5aff47.js');
24
24
  require('./asyncToGenerator-8e707718.js');
25
25
  require('./_set-species-4458e975.js');
26
- require('./beam-b2ff7326.js');
26
+ require('./beam-9ffe0364.js');
27
27
  require('./AdSlot.js');
28
28
  require('./_arrayMap-3b4a0f75.js');
29
29
  require('./get-5dfcdc33.js');
@@ -40,9 +40,9 @@ require('./slicedToArray-8063ee51.js');
40
40
  require('./stringify-7c5aff47.js');
41
41
  require('./asyncToGenerator-8e707718.js');
42
42
  require('./_set-species-4458e975.js');
43
- require('./beam-b2ff7326.js');
43
+ require('./beam-9ffe0364.js');
44
44
  require('./AdSlot.js');
45
- var ADInfeed = require('./ADInfeed-53eca520.js');
45
+ var ADInfeed = require('./ADInfeed-9984cb73.js');
46
46
 
47
47
  var DeckContent = function (_React$Component) {
48
48
  inherits._inherits(DeckContent, _React$Component);
@@ -40,11 +40,11 @@ require('./slicedToArray-8063ee51.js');
40
40
  require('./stringify-7c5aff47.js');
41
41
  require('./asyncToGenerator-8e707718.js');
42
42
  require('./_set-species-4458e975.js');
43
- require('./beam-b2ff7326.js');
43
+ require('./beam-9ffe0364.js');
44
44
  require('./AdSlot.js');
45
- var ADInfeed = require('./ADInfeed-53eca520.js');
45
+ var ADInfeed = require('./ADInfeed-9984cb73.js');
46
46
  var lodash = require('./lodash-fc2922d0.js');
47
- var ADlgInfeed = require('./ADlgInfeed-461fa625.js');
47
+ var ADlgInfeed = require('./ADlgInfeed-bd434369.js');
48
48
  require('./_arrayMap-3b4a0f75.js');
49
49
  var get = require('./get-5dfcdc33.js');
50
50
  require('./AD.js');
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- var Segment = require('./beam-b2ff7326.js');
22
+ var Segment = require('./beam-9ffe0364.js');
23
23
  require('./react-social-icons-cd0d9d3b.js');
24
24
  require('./iconBase-637d3f1e.js');
25
25
  var index_esm = require('./index.esm-fcdbd2c6.js');
@@ -32,11 +32,11 @@ require('./slicedToArray-8063ee51.js');
32
32
  require('./stringify-7c5aff47.js');
33
33
  require('./asyncToGenerator-8e707718.js');
34
34
  require('./_set-species-4458e975.js');
35
- require('./beam-b2ff7326.js');
35
+ require('./beam-9ffe0364.js');
36
36
  require('./AdSlot.js');
37
- require('./ADInfeed-53eca520.js');
37
+ require('./ADInfeed-9984cb73.js');
38
38
  require('./lodash-fc2922d0.js');
39
- require('./ADlgInfeed-461fa625.js');
39
+ require('./ADlgInfeed-bd434369.js');
40
40
  require('./AuthorComponent-cb8b8128.js');
41
41
  require('react-bootstrap');
42
42
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
@@ -21,7 +21,7 @@ require('./slicedToArray-8063ee51.js');
21
21
  require('./stringify-7c5aff47.js');
22
22
  require('./asyncToGenerator-8e707718.js');
23
23
  require('./_set-species-4458e975.js');
24
- var Segment = require('./beam-b2ff7326.js');
24
+ var Segment = require('./beam-9ffe0364.js');
25
25
  require('./AdSlot.js');
26
26
  var ListGroup = _interopDefault(require('react-bootstrap/ListGroup'));
27
27
  var ADWebcast = require('./ADWebcast.js');
@@ -38,11 +38,11 @@ require('./slicedToArray-8063ee51.js');
38
38
  require('./stringify-7c5aff47.js');
39
39
  var asyncToGenerator = require('./asyncToGenerator-8e707718.js');
40
40
  require('./_set-species-4458e975.js');
41
- require('./beam-b2ff7326.js');
41
+ require('./beam-9ffe0364.js');
42
42
  require('./AdSlot.js');
43
- var ADInfeed = require('./ADInfeed-53eca520.js');
43
+ var ADInfeed = require('./ADInfeed-9984cb73.js');
44
44
  var lodash = require('./lodash-fc2922d0.js');
45
- var ADlgInfeed = require('./ADlgInfeed-461fa625.js');
45
+ var ADlgInfeed = require('./ADlgInfeed-bd434369.js');
46
46
 
47
47
  var MasterDeck = function (_React$Component) {
48
48
  inherits._inherits(MasterDeck, _React$Component);
@@ -17,7 +17,7 @@ require('./slicedToArray-8063ee51.js');
17
17
  require('./stringify-7c5aff47.js');
18
18
  require('./asyncToGenerator-8e707718.js');
19
19
  require('./_set-species-4458e975.js');
20
- var Segment = require('./beam-b2ff7326.js');
20
+ var Segment = require('./beam-9ffe0364.js');
21
21
  require('react-bootstrap/Button');
22
22
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
23
23
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- var Segment = require('./beam-b2ff7326.js');
22
+ var Segment = require('./beam-9ffe0364.js');
23
23
  require('./react-social-icons-cd0d9d3b.js');
24
24
  require('./iconBase-637d3f1e.js');
25
25
  var index_esm = require('./index.esm-fcdbd2c6.js');
@@ -19,7 +19,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
19
  require('./stringify-7c5aff47.js');
20
20
  require('./asyncToGenerator-8e707718.js');
21
21
  require('./_set-species-4458e975.js');
22
- var Segment = require('./beam-b2ff7326.js');
22
+ var Segment = require('./beam-9ffe0364.js');
23
23
  require('./react-social-icons-cd0d9d3b.js');
24
24
  require('react-bootstrap/Button');
25
25
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
@@ -17,7 +17,7 @@ require('./slicedToArray-8063ee51.js');
17
17
  require('./stringify-7c5aff47.js');
18
18
  require('./asyncToGenerator-8e707718.js');
19
19
  require('./_set-species-4458e975.js');
20
- var Segment = require('./beam-b2ff7326.js');
20
+ var Segment = require('./beam-9ffe0364.js');
21
21
  require('./iconBase-637d3f1e.js');
22
22
  require('react-bootstrap/Button');
23
23
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
@@ -34,11 +34,11 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
34
34
  require('./stringify-7c5aff47.js');
35
35
  var asyncToGenerator = require('./asyncToGenerator-8e707718.js');
36
36
  require('./_set-species-4458e975.js');
37
- require('./beam-b2ff7326.js');
37
+ require('./beam-9ffe0364.js');
38
38
  require('./AdSlot.js');
39
- require('./ADInfeed-53eca520.js');
39
+ require('./ADInfeed-9984cb73.js');
40
40
  require('./lodash-fc2922d0.js');
41
- require('./ADlgInfeed-461fa625.js');
41
+ require('./ADlgInfeed-bd434369.js');
42
42
  require('./AuthorComponent-cb8b8128.js');
43
43
  var BlockContent = require('./BlockContent-f942392e.js');
44
44
  require('./smoothscroll-95231a70.js');
@@ -33,11 +33,11 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
33
33
  require('./stringify-7c5aff47.js');
34
34
  require('./asyncToGenerator-8e707718.js');
35
35
  require('./_set-species-4458e975.js');
36
- require('./beam-b2ff7326.js');
36
+ require('./beam-9ffe0364.js');
37
37
  require('./AdSlot.js');
38
- var ADInfeed = require('./ADInfeed-53eca520.js');
38
+ var ADInfeed = require('./ADInfeed-9984cb73.js');
39
39
  var lodash = require('./lodash-fc2922d0.js');
40
- var ADlgInfeed = require('./ADlgInfeed-461fa625.js');
40
+ var ADlgInfeed = require('./ADlgInfeed-bd434369.js');
41
41
  var AuthorComponent = require('./AuthorComponent-cb8b8128.js');
42
42
  var reactBootstrap = require('react-bootstrap');
43
43
 
@@ -9,7 +9,7 @@ require('./web.dom.iterable-43c3e277.js');
9
9
  require('./stringify-7c5aff47.js');
10
10
  require('./asyncToGenerator-8e707718.js');
11
11
  require('./_set-species-4458e975.js');
12
- var Segment = require('./beam-b2ff7326.js');
12
+ var Segment = require('./beam-9ffe0364.js');
13
13
 
14
14
 
15
15
 
@@ -15,7 +15,7 @@ require('./isSymbol-488934a7.js');
15
15
  require('./stringify-7c5aff47.js');
16
16
  require('./asyncToGenerator-8e707718.js');
17
17
  require('./_set-species-4458e975.js');
18
- var Segment = require('./beam-b2ff7326.js');
18
+ var Segment = require('./beam-9ffe0364.js');
19
19
  require('./_arrayMap-3b4a0f75.js');
20
20
  var get = require('./get-5dfcdc33.js');
21
21
  var reactSocialIcons = require('./react-social-icons-cd0d9d3b.js');
@@ -24,7 +24,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
24
24
  require('./stringify-7c5aff47.js');
25
25
  require('./asyncToGenerator-8e707718.js');
26
26
  require('./_set-species-4458e975.js');
27
- require('./beam-b2ff7326.js');
27
+ require('./beam-9ffe0364.js');
28
28
  require('./AdSlot.js');
29
29
  require('./_arrayMap-3b4a0f75.js');
30
30
  require('./get-5dfcdc33.js');
package/dist/cjs/View.js CHANGED
@@ -34,7 +34,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
34
34
  var stringify = require('./stringify-7c5aff47.js');
35
35
  var asyncToGenerator = require('./asyncToGenerator-8e707718.js');
36
36
  require('./_set-species-4458e975.js');
37
- require('./beam-b2ff7326.js');
37
+ require('./beam-9ffe0364.js');
38
38
  var AdSlot = require('./AdSlot.js');
39
39
  require('./_arrayMap-3b4a0f75.js');
40
40
  var BlockContent = require('./BlockContent-f942392e.js');
@@ -56,8 +56,10 @@ require('./util-f2c1b65b.js');
56
56
  require('react-bootstrap/Pagination');
57
57
  require('next/dynamic');
58
58
  var getKeywords = require('./getKeywords.js');
59
+ var getSeriesDetail = require('./getSeriesDetail.js');
59
60
  var getTargeting = require('./getTargeting-b15993cb.js');
60
61
  var urlFor = require('./urlFor.js');
62
+ var getQuery = require('./getQuery.js');
61
63
 
62
64
  var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
63
65
  var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
@@ -304,9 +306,18 @@ var Article = function Article(props) {
304
306
  authorPrefix = props.authorPrefix,
305
307
  _props$lgContextAd = props.lgContextAd,
306
308
  lgContextAd = _props$lgContextAd === undefined ? false : _props$lgContextAd,
307
- queueData = props.queueData;
309
+ queueData = props.queueData,
310
+ _props$sponsoredFlag = props.sponsoredFlag,
311
+ sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag;
308
312
  var onChangeArticle = props.onChangeArticle;
309
313
 
314
+ //If sponsored flag, disable contextual ads
315
+
316
+ if (sponsoredFlag) {
317
+ article.contextualVideoAD = false;
318
+ article.contextualAD = false;
319
+ }
320
+
310
321
  var _useState = React.useState(null),
311
322
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
312
323
  contextualADFlag = _useState2[0],
@@ -792,7 +803,7 @@ var Article = function Article(props) {
792
803
  React__default.createElement(
793
804
  'div',
794
805
  { className: 'block-content' },
795
- renderBlockContent(props.article),
806
+ renderBlockContent(article),
796
807
  React__default.createElement(
797
808
  'noscript',
798
809
  null,
@@ -1132,9 +1143,14 @@ var Articles = function Articles(props) {
1132
1143
  }, _defineProperty(_extends2, 'pageview', pageview), _defineProperty(_extends2, 'onVote', function onVote() {}), _defineProperty(_extends2, 'ISIContent', ISIContent), _defineProperty(_extends2, 'videoAccountIDs', videoAccountIDs), _defineProperty(_extends2, 'sponsoredTaxonomies', []), _defineProperty(_extends2, 'cpModificationRequired', cpModificationRequired), _defineProperty(_extends2, 'Settings', Settings), _extends2), props));
1133
1144
  };
1134
1145
 
1146
+ var _this = undefined;
1147
+
1135
1148
  var View = function View(props) {
1136
1149
  var shareOptions = props.shareOptions,
1137
- article = props.article;
1150
+ article = props.article,
1151
+ _props$sponsoredFlag = props.sponsoredFlag,
1152
+ sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag,
1153
+ _props$sponsoredTaxon = props.sponsoredTaxonomies;
1138
1154
  var _props$article = props.article,
1139
1155
  _props$article$passwo = _props$article.passwordLock,
1140
1156
  passwordLock = _props$article$passwo === undefined ? false : _props$article$passwo,
@@ -1152,8 +1168,9 @@ var View = function View(props) {
1152
1168
  }
1153
1169
  return false;
1154
1170
  };
1171
+
1155
1172
  var isVideoSeries = checkVideoSeries(props.article);
1156
- var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !article.ExcludeFromInfiniteScroll;
1173
+ var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !article.ExcludeFromInfiniteScroll && !sponsoredFlag;
1157
1174
 
1158
1175
  if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
1159
1176
  description = null;
@@ -1200,4 +1217,61 @@ var View = function View(props) {
1200
1217
  );
1201
1218
  };
1202
1219
 
1220
+ //This should be called in /view/[url] getInitialProps to fetch the article data and related articles. This will also set the sponsoredFlag to true if any taxonomies have disabled ads.
1221
+ View.returnGetInitialProps = function () {
1222
+ var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(url, prevUrl, seriesVid, client, sao) {
1223
+ var article, relatedArticleQuery, statusCode, sponsoredFlag;
1224
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
1225
+ while (1) {
1226
+ switch (_context.prev = _context.next) {
1227
+ case 0:
1228
+ _context.next = 2;
1229
+ return client.fetch(getQuery('article'), { url: url });
1230
+
1231
+ case 2:
1232
+ article = _context.sent;
1233
+ relatedArticleQuery = getQuery('related');
1234
+
1235
+ article.seriesDetail = getSeriesDetail(article, seriesVid);
1236
+ statusCode = 200;
1237
+
1238
+ if (!article || !article._id) {
1239
+ statusCode = 404;
1240
+ }
1241
+ sponsoredFlag = false;
1242
+ //check for disableAds flag on each taxonomoy
1243
+
1244
+ article.content_placement.forEach(function (x) {
1245
+ if (x.disableAds) {
1246
+ sponsoredFlag = true;
1247
+ }
1248
+ });
1249
+ //check for disableAds flag on content category
1250
+ if (article.category && article.category.disableAds) {
1251
+ sponsoredFlag = true;
1252
+ }
1253
+
1254
+ return _context.abrupt('return', {
1255
+ url: url,
1256
+ sao: sao,
1257
+ statusCode: statusCode,
1258
+ prevUrl: prevUrl,
1259
+ relatedArticleQuery: relatedArticleQuery,
1260
+ article: article,
1261
+ sponsoredFlag: sponsoredFlag
1262
+ });
1263
+
1264
+ case 11:
1265
+ case 'end':
1266
+ return _context.stop();
1267
+ }
1268
+ }
1269
+ }, _callee, _this);
1270
+ }));
1271
+
1272
+ return function (_x, _x2, _x3, _x4, _x5) {
1273
+ return _ref.apply(this, arguments);
1274
+ };
1275
+ }();
1276
+
1203
1277
  module.exports = View;
@@ -78,7 +78,7 @@ var SegmentAPI = {
78
78
  if (eKey) {
79
79
  url += (url.includes('?') ? '&' : '?') + 'ekey=' + eKey;
80
80
  } else {
81
- url += (url.includes('?') ? '&' : '?') + 'anonymouseid=' + anonymouseId;
81
+ url += (url.includes('?') ? '&' : '?') + 'anonymousid=' + anonymouseId;
82
82
  }
83
83
 
84
84
  return url;
@@ -12,9 +12,9 @@ var getQuery = function getQuery(type) {
12
12
  var today = moment.moment().utc().format();
13
13
  switch (type) {
14
14
  case 'related':
15
- return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && published <= \'' + today + '\'\n && passwordLock!=true\n && taxonomyMapping[]._ref in $taxonomy\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n ' + conditions + '\n ]| order(published desc)[$index]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n }';
15
+ return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && published <= \'' + today + '\'\n && passwordLock!=true\n && taxonomyMapping[]._ref in $taxonomy\n && taxonomyMapping[].disableAds != \'true\'\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && contentCategory->.disableAds != \'true\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n ' + conditions + '\n ]| order(published desc)[$index]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n disableAds\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n }';
16
16
  case 'article':
17
- return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'category\':contentCategory->{\n name\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n\n }';
17
+ return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n\n }';
18
18
  case 'publication':
19
19
  return '*[_type == \'publication\'\n && identifier.current == $publication\n ' + conditions + '][0] {\n ' + params + '\n ...,\n \'issues\': *[_type == \'publication\'\n && is_visible\n && references(^._id)\n && defined(identifier)] {\n ...,\n pdf{asset->}\n } | order(year desc, month desc)\n }';
20
20
  case 'issue':
@@ -30,7 +30,7 @@ var slicedToArray = require('./slicedToArray-8063ee51.js');
30
30
  require('./stringify-7c5aff47.js');
31
31
  require('./asyncToGenerator-8e707718.js');
32
32
  require('./_set-species-4458e975.js');
33
- var Segment = require('./beam-b2ff7326.js');
33
+ var Segment = require('./beam-9ffe0364.js');
34
34
  var AdSlot = require('./AdSlot.js');
35
35
  var BlockContent = require('./BlockContent-f942392e.js');
36
36
  var smoothscroll = require('./smoothscroll-95231a70.js');
package/dist/cjs/index.js CHANGED
@@ -38,12 +38,12 @@ require('./slicedToArray-8063ee51.js');
38
38
  require('./stringify-7c5aff47.js');
39
39
  require('./asyncToGenerator-8e707718.js');
40
40
  require('./_set-species-4458e975.js');
41
- var Segment = require('./beam-b2ff7326.js');
41
+ var Segment = require('./beam-9ffe0364.js');
42
42
  var AdSlot = require('./AdSlot.js');
43
- require('./ADInfeed-53eca520.js');
43
+ require('./ADInfeed-9984cb73.js');
44
44
  var DeckContent = require('./DeckContent.js');
45
45
  require('./lodash-fc2922d0.js');
46
- require('./ADlgInfeed-461fa625.js');
46
+ require('./ADlgInfeed-bd434369.js');
47
47
  require('./_arrayMap-3b4a0f75.js');
48
48
  require('./get-5dfcdc33.js');
49
49
  var AD = require('./AD.js');
@@ -159,9 +159,9 @@ require('mysql');
159
159
  var View = require('./View.js');
160
160
  var getTargeting = require('./getTargeting-b15993cb.js');
161
161
  var urlFor = require('./urlFor.js');
162
+ var getQuery = require('./getQuery.js');
162
163
  require('react-twitter-embed');
163
164
  var PartnerDetailListing = require('./PartnerDetailListing.js');
164
- var getQuery = require('./getQuery.js');
165
165
 
166
166
 
167
167
 
@@ -241,5 +241,5 @@ exports.Auth = Auth.default;
241
241
  exports.View = View;
242
242
  exports.getTargeting = getTargeting.getTargeting;
243
243
  exports.urlFor = urlFor;
244
- exports.PartnerDetailListing = PartnerDetailListing;
245
244
  exports.getQuery = getQuery;
245
+ exports.PartnerDetailListing = PartnerDetailListing;
@@ -14,7 +14,7 @@ import './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var AD300x250 = function AD300x250(_ref) {
@@ -14,7 +14,7 @@ import './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var AD300x250x600 = function AD300x250x600(_ref) {
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var AD728x90 = function AD728x90(_ref) {
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import { _ as _JSON$stringify } from './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var ADFloatingFooter = function ADFloatingFooter(_ref) {
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var ADGutter = function ADGutter(_ref) {
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var ADSponsoredResources = function ADSponsoredResources(_ref) {
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  // Webcast AD : New AD with size [200,100] that is to be renderedin the LeftNav between the spotlight and subnavigation.
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import './beam-1ffc08d4.js';
17
+ import './beam-e248fb74.js';
18
18
  import DFPAdSlot from './AdSlot.js';
19
19
 
20
20
  var ADWelcome = function ADWelcome(_ref) {
@@ -14,7 +14,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import { B as Beam, S as SegmentAPI } from './beam-1ffc08d4.js';
17
+ import { B as Beam, S as SegmentAPI } from './beam-e248fb74.js';
18
18
 
19
19
  var DFPAdSlot = function DFPAdSlot(_ref) {
20
20
  var adUnit = _ref.adUnit,
@@ -29,7 +29,7 @@ import { _ as _slicedToArray, a as _getIterator } from './slicedToArray-f1e40361
29
29
  import { _ as _JSON$stringify } from './stringify-e30bc114.js';
30
30
  import './asyncToGenerator-0379e924.js';
31
31
  import './_set-species-6f64f1c1.js';
32
- import './beam-1ffc08d4.js';
32
+ import './beam-e248fb74.js';
33
33
  import DFPAdSlot from './AdSlot.js';
34
34
  import './_arrayMap-a8dd2b2c.js';
35
35
  import { B as BlockContent } from './BlockContent-a614acdf.js';
package/dist/esm/Beam.js CHANGED
@@ -7,4 +7,4 @@ import './web.dom.iterable-46c95e52.js';
7
7
  import './stringify-e30bc114.js';
8
8
  import './asyncToGenerator-0379e924.js';
9
9
  import './_set-species-6f64f1c1.js';
10
- export { B as default } from './beam-1ffc08d4.js';
10
+ export { B as default } from './beam-e248fb74.js';
@@ -12,7 +12,7 @@ import './isSymbol-c1b9be80.js';
12
12
  import './stringify-e30bc114.js';
13
13
  import './asyncToGenerator-0379e924.js';
14
14
  import './_set-species-6f64f1c1.js';
15
- import './beam-1ffc08d4.js';
15
+ import './beam-e248fb74.js';
16
16
  import './_arrayMap-a8dd2b2c.js';
17
17
  import './get-ae817b75.js';
18
18
  import './react-social-icons-a7d5c5c7.js';
@@ -16,7 +16,7 @@ import './slicedToArray-f1e40361.js';
16
16
  import './stringify-e30bc114.js';
17
17
  import './asyncToGenerator-0379e924.js';
18
18
  import './_set-species-6f64f1c1.js';
19
- import './beam-1ffc08d4.js';
19
+ import './beam-e248fb74.js';
20
20
  import './AdSlot.js';
21
21
  import './_arrayMap-a8dd2b2c.js';
22
22
  import './get-ae817b75.js';
@@ -34,9 +34,9 @@ import './slicedToArray-f1e40361.js';
34
34
  import './stringify-e30bc114.js';
35
35
  import './asyncToGenerator-0379e924.js';
36
36
  import './_set-species-6f64f1c1.js';
37
- import './beam-1ffc08d4.js';
37
+ import './beam-e248fb74.js';
38
38
  import './AdSlot.js';
39
- import { A as ADInfeed } from './ADInfeed-84a98951.js';
39
+ import { A as ADInfeed } from './ADInfeed-f2d3970d.js';
40
40
 
41
41
  var DeckContent = function (_React$Component) {
42
42
  _inherits(DeckContent, _React$Component);
@@ -34,11 +34,11 @@ import './slicedToArray-f1e40361.js';
34
34
  import './stringify-e30bc114.js';
35
35
  import './asyncToGenerator-0379e924.js';
36
36
  import './_set-species-6f64f1c1.js';
37
- import './beam-1ffc08d4.js';
37
+ import './beam-e248fb74.js';
38
38
  import './AdSlot.js';
39
- import { A as ADInfeed } from './ADInfeed-84a98951.js';
39
+ import { A as ADInfeed } from './ADInfeed-f2d3970d.js';
40
40
  import { l as lodash } from './lodash-17fdfebb.js';
41
- import { A as ADlgInfeed } from './ADlgInfeed-25962fea.js';
41
+ import { A as ADlgInfeed } from './ADlgInfeed-3c3c976a.js';
42
42
  import './_arrayMap-a8dd2b2c.js';
43
43
  import { g as get_1 } from './get-ae817b75.js';
44
44
  import './AD.js';
@@ -12,7 +12,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
12
12
  import './stringify-e30bc114.js';
13
13
  import './asyncToGenerator-0379e924.js';
14
14
  import './_set-species-6f64f1c1.js';
15
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
15
+ import { S as SegmentAPI } from './beam-e248fb74.js';
16
16
  import './react-social-icons-a7d5c5c7.js';
17
17
  import './iconBase-6ee2f2fb.js';
18
18
  import { b as IoMdLogIn, c as IoIosHome } from './index.esm-b97cf389.js';
@@ -27,11 +27,11 @@ import './slicedToArray-f1e40361.js';
27
27
  import './stringify-e30bc114.js';
28
28
  import './asyncToGenerator-0379e924.js';
29
29
  import './_set-species-6f64f1c1.js';
30
- import './beam-1ffc08d4.js';
30
+ import './beam-e248fb74.js';
31
31
  import './AdSlot.js';
32
- import './ADInfeed-84a98951.js';
32
+ import './ADInfeed-f2d3970d.js';
33
33
  import './lodash-17fdfebb.js';
34
- import './ADlgInfeed-25962fea.js';
34
+ import './ADlgInfeed-3c3c976a.js';
35
35
  import './AuthorComponent-158226c9.js';
36
36
  import 'react-bootstrap';
37
37
  import QueueDeckExpanded from './QueueDeckExpanded.js';
@@ -14,7 +14,7 @@ import './slicedToArray-f1e40361.js';
14
14
  import './stringify-e30bc114.js';
15
15
  import './asyncToGenerator-0379e924.js';
16
16
  import './_set-species-6f64f1c1.js';
17
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
17
+ import { S as SegmentAPI } from './beam-e248fb74.js';
18
18
  import './AdSlot.js';
19
19
  import ListGroup from 'react-bootstrap/ListGroup';
20
20
  import ADWebcast from './ADWebcast.js';
@@ -32,11 +32,11 @@ import './slicedToArray-f1e40361.js';
32
32
  import './stringify-e30bc114.js';
33
33
  import { _ as _Promise } from './asyncToGenerator-0379e924.js';
34
34
  import './_set-species-6f64f1c1.js';
35
- import './beam-1ffc08d4.js';
35
+ import './beam-e248fb74.js';
36
36
  import './AdSlot.js';
37
- import { A as ADInfeed } from './ADInfeed-84a98951.js';
37
+ import { A as ADInfeed } from './ADInfeed-f2d3970d.js';
38
38
  import { l as lodash } from './lodash-17fdfebb.js';
39
- import { A as ADlgInfeed } from './ADlgInfeed-25962fea.js';
39
+ import { A as ADlgInfeed } from './ADlgInfeed-3c3c976a.js';
40
40
 
41
41
  var MasterDeck = function (_React$Component) {
42
42
  _inherits(MasterDeck, _React$Component);
@@ -10,7 +10,7 @@ import './slicedToArray-f1e40361.js';
10
10
  import './stringify-e30bc114.js';
11
11
  import './asyncToGenerator-0379e924.js';
12
12
  import './_set-species-6f64f1c1.js';
13
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
13
+ import { S as SegmentAPI } from './beam-e248fb74.js';
14
14
  import 'react-bootstrap/Button';
15
15
  import Nav from 'react-bootstrap/Nav';
16
16
  import Navbar from 'react-bootstrap/Navbar';
@@ -12,7 +12,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
12
12
  import './stringify-e30bc114.js';
13
13
  import './asyncToGenerator-0379e924.js';
14
14
  import './_set-species-6f64f1c1.js';
15
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
15
+ import { S as SegmentAPI } from './beam-e248fb74.js';
16
16
  import './react-social-icons-a7d5c5c7.js';
17
17
  import './iconBase-6ee2f2fb.js';
18
18
  import { b as IoMdLogIn, c as IoIosHome } from './index.esm-b97cf389.js';
@@ -12,7 +12,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
12
12
  import './stringify-e30bc114.js';
13
13
  import './asyncToGenerator-0379e924.js';
14
14
  import './_set-species-6f64f1c1.js';
15
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
15
+ import { S as SegmentAPI } from './beam-e248fb74.js';
16
16
  import './react-social-icons-a7d5c5c7.js';
17
17
  import 'react-bootstrap/Button';
18
18
  import Nav from 'react-bootstrap/Nav';
@@ -10,7 +10,7 @@ import './slicedToArray-f1e40361.js';
10
10
  import './stringify-e30bc114.js';
11
11
  import './asyncToGenerator-0379e924.js';
12
12
  import './_set-species-6f64f1c1.js';
13
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
13
+ import { S as SegmentAPI } from './beam-e248fb74.js';
14
14
  import './iconBase-6ee2f2fb.js';
15
15
  import 'react-bootstrap/Button';
16
16
  import Nav from 'react-bootstrap/Nav';
@@ -29,11 +29,11 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
29
29
  import './stringify-e30bc114.js';
30
30
  import { a as _asyncToGenerator, r as regenerator, _ as _Promise } from './asyncToGenerator-0379e924.js';
31
31
  import './_set-species-6f64f1c1.js';
32
- import './beam-1ffc08d4.js';
32
+ import './beam-e248fb74.js';
33
33
  import './AdSlot.js';
34
- import './ADInfeed-84a98951.js';
34
+ import './ADInfeed-f2d3970d.js';
35
35
  import './lodash-17fdfebb.js';
36
- import './ADlgInfeed-25962fea.js';
36
+ import './ADlgInfeed-3c3c976a.js';
37
37
  import './AuthorComponent-158226c9.js';
38
38
  import { B as BlockContent } from './BlockContent-a614acdf.js';
39
39
  import './smoothscroll-4b699764.js';
@@ -27,11 +27,11 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
27
27
  import './stringify-e30bc114.js';
28
28
  import './asyncToGenerator-0379e924.js';
29
29
  import './_set-species-6f64f1c1.js';
30
- import './beam-1ffc08d4.js';
30
+ import './beam-e248fb74.js';
31
31
  import './AdSlot.js';
32
- import { A as ADInfeed } from './ADInfeed-84a98951.js';
32
+ import { A as ADInfeed } from './ADInfeed-f2d3970d.js';
33
33
  import { l as lodash } from './lodash-17fdfebb.js';
34
- import { A as ADlgInfeed } from './ADlgInfeed-25962fea.js';
34
+ import { A as ADlgInfeed } from './ADlgInfeed-3c3c976a.js';
35
35
  import { A as AuthorComponent } from './AuthorComponent-158226c9.js';
36
36
  import { Container, Media } from 'react-bootstrap';
37
37
 
@@ -7,4 +7,4 @@ import './web.dom.iterable-46c95e52.js';
7
7
  import './stringify-e30bc114.js';
8
8
  import './asyncToGenerator-0379e924.js';
9
9
  import './_set-species-6f64f1c1.js';
10
- export { S as default } from './beam-1ffc08d4.js';
10
+ export { S as default } from './beam-e248fb74.js';
@@ -10,7 +10,7 @@ import './isSymbol-c1b9be80.js';
10
10
  import './stringify-e30bc114.js';
11
11
  import './asyncToGenerator-0379e924.js';
12
12
  import './_set-species-6f64f1c1.js';
13
- import { S as SegmentAPI } from './beam-1ffc08d4.js';
13
+ import { S as SegmentAPI } from './beam-e248fb74.js';
14
14
  import './_arrayMap-a8dd2b2c.js';
15
15
  import { g as get_1 } from './get-ae817b75.js';
16
16
  import { r as reactSocialIcons_1 } from './react-social-icons-a7d5c5c7.js';
@@ -18,7 +18,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
18
18
  import './stringify-e30bc114.js';
19
19
  import './asyncToGenerator-0379e924.js';
20
20
  import './_set-species-6f64f1c1.js';
21
- import './beam-1ffc08d4.js';
21
+ import './beam-e248fb74.js';
22
22
  import './AdSlot.js';
23
23
  import './_arrayMap-a8dd2b2c.js';
24
24
  import './get-ae817b75.js';
package/dist/esm/View.js CHANGED
@@ -29,7 +29,7 @@ import { a as _getIterator, _ as _slicedToArray } from './slicedToArray-f1e40361
29
29
  import { _ as _JSON$stringify } from './stringify-e30bc114.js';
30
30
  import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-0379e924.js';
31
31
  import './_set-species-6f64f1c1.js';
32
- import './beam-1ffc08d4.js';
32
+ import './beam-e248fb74.js';
33
33
  import DFPAdSlot from './AdSlot.js';
34
34
  import './_arrayMap-a8dd2b2c.js';
35
35
  import { B as BlockContent } from './BlockContent-a614acdf.js';
@@ -51,8 +51,10 @@ import './util-7700fc59.js';
51
51
  import 'react-bootstrap/Pagination';
52
52
  import 'next/dynamic';
53
53
  import getKeywords from './getKeywords.js';
54
+ import getSeriesDetail from './getSeriesDetail.js';
54
55
  import { a as getContentPlacementUrl, g as getTargeting } from './getTargeting-1a0bd08d.js';
55
56
  import urlFor from './urlFor.js';
57
+ import getQuery from './getQuery.js';
56
58
 
57
59
  var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
58
60
  var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
@@ -299,9 +301,18 @@ var Article = function Article(props) {
299
301
  authorPrefix = props.authorPrefix,
300
302
  _props$lgContextAd = props.lgContextAd,
301
303
  lgContextAd = _props$lgContextAd === undefined ? false : _props$lgContextAd,
302
- queueData = props.queueData;
304
+ queueData = props.queueData,
305
+ _props$sponsoredFlag = props.sponsoredFlag,
306
+ sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag;
303
307
  var onChangeArticle = props.onChangeArticle;
304
308
 
309
+ //If sponsored flag, disable contextual ads
310
+
311
+ if (sponsoredFlag) {
312
+ article.contextualVideoAD = false;
313
+ article.contextualAD = false;
314
+ }
315
+
305
316
  var _useState = useState(null),
306
317
  _useState2 = _slicedToArray(_useState, 2),
307
318
  contextualADFlag = _useState2[0],
@@ -787,7 +798,7 @@ var Article = function Article(props) {
787
798
  React__default.createElement(
788
799
  'div',
789
800
  { className: 'block-content' },
790
- renderBlockContent(props.article),
801
+ renderBlockContent(article),
791
802
  React__default.createElement(
792
803
  'noscript',
793
804
  null,
@@ -1127,9 +1138,14 @@ var Articles = function Articles(props) {
1127
1138
  }, _defineProperty(_extends2, 'pageview', pageview), _defineProperty(_extends2, 'onVote', function onVote() {}), _defineProperty(_extends2, 'ISIContent', ISIContent), _defineProperty(_extends2, 'videoAccountIDs', videoAccountIDs), _defineProperty(_extends2, 'sponsoredTaxonomies', []), _defineProperty(_extends2, 'cpModificationRequired', cpModificationRequired), _defineProperty(_extends2, 'Settings', Settings), _extends2), props));
1128
1139
  };
1129
1140
 
1141
+ var _this = undefined;
1142
+
1130
1143
  var View = function View(props) {
1131
1144
  var shareOptions = props.shareOptions,
1132
- article = props.article;
1145
+ article = props.article,
1146
+ _props$sponsoredFlag = props.sponsoredFlag,
1147
+ sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag,
1148
+ _props$sponsoredTaxon = props.sponsoredTaxonomies;
1133
1149
  var _props$article = props.article,
1134
1150
  _props$article$passwo = _props$article.passwordLock,
1135
1151
  passwordLock = _props$article$passwo === undefined ? false : _props$article$passwo,
@@ -1147,8 +1163,9 @@ var View = function View(props) {
1147
1163
  }
1148
1164
  return false;
1149
1165
  };
1166
+
1150
1167
  var isVideoSeries = checkVideoSeries(props.article);
1151
- var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !article.ExcludeFromInfiniteScroll;
1168
+ var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !article.ExcludeFromInfiniteScroll && !sponsoredFlag;
1152
1169
 
1153
1170
  if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
1154
1171
  description = null;
@@ -1195,4 +1212,61 @@ var View = function View(props) {
1195
1212
  );
1196
1213
  };
1197
1214
 
1215
+ //This should be called in /view/[url] getInitialProps to fetch the article data and related articles. This will also set the sponsoredFlag to true if any taxonomies have disabled ads.
1216
+ View.returnGetInitialProps = function () {
1217
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(url, prevUrl, seriesVid, client, sao) {
1218
+ var article, relatedArticleQuery, statusCode, sponsoredFlag;
1219
+ return regenerator.wrap(function _callee$(_context) {
1220
+ while (1) {
1221
+ switch (_context.prev = _context.next) {
1222
+ case 0:
1223
+ _context.next = 2;
1224
+ return client.fetch(getQuery('article'), { url: url });
1225
+
1226
+ case 2:
1227
+ article = _context.sent;
1228
+ relatedArticleQuery = getQuery('related');
1229
+
1230
+ article.seriesDetail = getSeriesDetail(article, seriesVid);
1231
+ statusCode = 200;
1232
+
1233
+ if (!article || !article._id) {
1234
+ statusCode = 404;
1235
+ }
1236
+ sponsoredFlag = false;
1237
+ //check for disableAds flag on each taxonomoy
1238
+
1239
+ article.content_placement.forEach(function (x) {
1240
+ if (x.disableAds) {
1241
+ sponsoredFlag = true;
1242
+ }
1243
+ });
1244
+ //check for disableAds flag on content category
1245
+ if (article.category && article.category.disableAds) {
1246
+ sponsoredFlag = true;
1247
+ }
1248
+
1249
+ return _context.abrupt('return', {
1250
+ url: url,
1251
+ sao: sao,
1252
+ statusCode: statusCode,
1253
+ prevUrl: prevUrl,
1254
+ relatedArticleQuery: relatedArticleQuery,
1255
+ article: article,
1256
+ sponsoredFlag: sponsoredFlag
1257
+ });
1258
+
1259
+ case 11:
1260
+ case 'end':
1261
+ return _context.stop();
1262
+ }
1263
+ }
1264
+ }, _callee, _this);
1265
+ }));
1266
+
1267
+ return function (_x, _x2, _x3, _x4, _x5) {
1268
+ return _ref.apply(this, arguments);
1269
+ };
1270
+ }();
1271
+
1198
1272
  export default View;
@@ -76,7 +76,7 @@ var SegmentAPI = {
76
76
  if (eKey) {
77
77
  url += (url.includes('?') ? '&' : '?') + 'ekey=' + eKey;
78
78
  } else {
79
- url += (url.includes('?') ? '&' : '?') + 'anonymouseid=' + anonymouseId;
79
+ url += (url.includes('?') ? '&' : '?') + 'anonymousid=' + anonymouseId;
80
80
  }
81
81
 
82
82
  return url;
@@ -10,9 +10,9 @@ var getQuery = function getQuery(type) {
10
10
  var today = moment().utc().format();
11
11
  switch (type) {
12
12
  case 'related':
13
- return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && published <= \'' + today + '\'\n && passwordLock!=true\n && taxonomyMapping[]._ref in $taxonomy\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n ' + conditions + '\n ]| order(published desc)[$index]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n }';
13
+ return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && published <= \'' + today + '\'\n && passwordLock!=true\n && taxonomyMapping[]._ref in $taxonomy\n && taxonomyMapping[].disableAds != \'true\'\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && contentCategory->.disableAds != \'true\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n ' + conditions + '\n ]| order(published desc)[$index]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n disableAds\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n }';
14
14
  case 'article':
15
- return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'category\':contentCategory->{\n name\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n\n }';
15
+ return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n\n }';
16
16
  case 'publication':
17
17
  return '*[_type == \'publication\'\n && identifier.current == $publication\n ' + conditions + '][0] {\n ' + params + '\n ...,\n \'issues\': *[_type == \'publication\'\n && is_visible\n && references(^._id)\n && defined(identifier)] {\n ...,\n pdf{asset->}\n } | order(year desc, month desc)\n }';
18
18
  case 'issue':
@@ -24,7 +24,7 @@ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
24
24
  import './stringify-e30bc114.js';
25
25
  import './asyncToGenerator-0379e924.js';
26
26
  import './_set-species-6f64f1c1.js';
27
- import { B as Beam, S as SegmentAPI } from './beam-1ffc08d4.js';
27
+ import { B as Beam, S as SegmentAPI } from './beam-e248fb74.js';
28
28
  import DFPAdSlot from './AdSlot.js';
29
29
  import { B as BlockContent } from './BlockContent-a614acdf.js';
30
30
  import { g as getYoutubeId } from './smoothscroll-4b699764.js';
package/dist/esm/index.js CHANGED
@@ -34,12 +34,12 @@ import './slicedToArray-f1e40361.js';
34
34
  import './stringify-e30bc114.js';
35
35
  import './asyncToGenerator-0379e924.js';
36
36
  import './_set-species-6f64f1c1.js';
37
- export { B as Beam, S as Segment } from './beam-1ffc08d4.js';
37
+ export { B as Beam, S as Segment } from './beam-e248fb74.js';
38
38
  export { default as AdSlot } from './AdSlot.js';
39
- import './ADInfeed-84a98951.js';
39
+ import './ADInfeed-f2d3970d.js';
40
40
  export { default as DeckContent } from './DeckContent.js';
41
41
  import './lodash-17fdfebb.js';
42
- import './ADlgInfeed-25962fea.js';
42
+ import './ADlgInfeed-3c3c976a.js';
43
43
  import './_arrayMap-a8dd2b2c.js';
44
44
  import './get-ae817b75.js';
45
45
  export { default as AD } from './AD.js';
@@ -155,6 +155,6 @@ import 'mysql';
155
155
  export { default as View } from './View.js';
156
156
  export { g as getTargeting } from './getTargeting-1a0bd08d.js';
157
157
  export { default as urlFor } from './urlFor.js';
158
+ export { default as getQuery } from './getQuery.js';
158
159
  import 'react-twitter-embed';
159
160
  export { default as PartnerDetailListing } from './PartnerDetailListing.js';
160
- export { default as getQuery } from './getQuery.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.478",
3
+ "version": "1.0.480",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",