@mjhls/mjh-framework 1.0.450 → 1.0.452

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 CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.450
2
+ # mjh-framework v. 1.0.452
3
3
 
4
4
  > Foundation Framework
5
5
 
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ require('./_commonjsHelpers-06173234.js');
6
+ require('./_to-object-329a650b.js');
7
+ require('./core.get-iterator-method-41e87ec1.js');
8
+ require('./_library-dd23b178.js');
9
+ require('./_iter-detect-4d0352f8.js');
10
+ require('./web.dom.iterable-43c3e277.js');
11
+ var React = require('react');
12
+ var React__default = _interopDefault(React);
13
+ require('./index-fa3cec70.js');
14
+ require('prop-types');
15
+ require('./isSymbol-488934a7.js');
16
+ require('./debounce-32e57002.js');
17
+ require('./main-88348b15.js');
18
+ var slicedToArray = require('./slicedToArray-8063ee51.js');
19
+ require('./stringify-7c5aff47.js');
20
+ require('./asyncToGenerator-db08763c.js');
21
+ require('./_set-species-4458e975.js');
22
+ require('./promise-074978a7.js');
23
+ require('./Beam.js');
24
+ require('./Segment.js');
25
+ var AdSlot = require('./AdSlot.js');
26
+
27
+ // Webcast AD : New AD with size [200,100] that is to be renderedin the LeftNav between the spotlight and subnavigation.
28
+ var ADWebcast = function ADWebcast(_ref) {
29
+ var webcastAd = _ref.webcastAd,
30
+ _ref$minScreenWidth = _ref.minScreenWidth,
31
+ minScreenWidth = _ref$minScreenWidth === undefined ? 1200 : _ref$minScreenWidth;
32
+ var className = webcastAd.className,
33
+ _webcastAd$slotId = webcastAd.slotId,
34
+ slotId = _webcastAd$slotId === undefined ? 'webcast-ad' : _webcastAd$slotId,
35
+ adUnit = webcastAd.adUnit,
36
+ _webcastAd$targeting = webcastAd.targeting,
37
+ targeting = _webcastAd$targeting === undefined ? {} : _webcastAd$targeting,
38
+ _webcastAd$position = webcastAd.position,
39
+ position = _webcastAd$position === undefined ? '' : _webcastAd$position,
40
+ networkID = webcastAd.networkID,
41
+ _webcastAd$sizes = webcastAd.sizes,
42
+ sizes = _webcastAd$sizes === undefined ? [[200, 100]] : _webcastAd$sizes;
43
+
44
+ // AD targeting
45
+
46
+ var adTargeting = {
47
+ content_placement: targeting.content_placement,
48
+ tags: targeting.tags,
49
+ document_group: targeting.document_group,
50
+ document_url: targeting.document_url,
51
+ pos: position,
52
+ campaign_id: targeting.campaign_id,
53
+ issue_url: targeting.issue_url,
54
+ publication_url: targeting.publication_url
55
+ };
56
+
57
+ var _useState = React.useState(false),
58
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
59
+ widthFlag = _useState2[0],
60
+ setWidthFlag = _useState2[1];
61
+
62
+ React.useEffect(function () {
63
+ if (window && window.innerWidth >= minScreenWidth) {
64
+ setWidthFlag(true);
65
+ }
66
+ }, [minScreenWidth]);
67
+
68
+ // Collapsing webcast AD if no creative is found.
69
+ var collapseAd = function collapseAd() {
70
+ var parent = document.getElementById('webcast-ad-wrapper');
71
+ parent.style.height = '0%';
72
+ parent.style.width = '0%';
73
+ parent.style.display = 'none';
74
+ };
75
+
76
+ var checkIsAdFound = function checkIsAdFound(isFound) {
77
+ // Check for creative ID.
78
+ if (isFound) {
79
+ var parent = document.getElementById('webcast-ad-wrapper');
80
+ parent.style.display = 'block';
81
+ } else {
82
+ collapseAd();
83
+ }
84
+ };
85
+ if (widthFlag) {
86
+ return React__default.createElement(
87
+ React__default.Fragment,
88
+ null,
89
+ React__default.createElement(
90
+ 'div',
91
+ { id: 'webcast-ad-wrapper', className: 'webcast-ad-wrapper' },
92
+ React__default.createElement(
93
+ 'div',
94
+ { className: 'webcast-ad' },
95
+ React__default.createElement(AdSlot, {
96
+ className: className,
97
+ slotId: slotId,
98
+ networkID: networkID,
99
+ sizes: sizes
100
+ // To show AD from screenwidth >= 1200
101
+ , sizeMapping: [{ viewport: [1200, 0], sizes: sizes }, { viewport: [0, 0], sizes: [0, 0] }],
102
+ adUnit: adUnit,
103
+ targeting: adTargeting,
104
+ refreshFlag: false,
105
+ checkIsAdFound: checkIsAdFound
106
+ })
107
+ )
108
+ )
109
+ );
110
+ } else return null;
111
+ };
112
+
113
+ module.exports = ADWebcast;
@@ -35,6 +35,7 @@ var SideFooter = require('./SideFooter.js');
35
35
  var ConferenceBanner = require('./ConferenceBanner-4a16fddc.js');
36
36
  var ADSponsoredResources = require('./ADSponsoredResources.js');
37
37
  require('react-bootstrap/ListGroup');
38
+ require('./ADWebcast.js');
38
39
  var LeftNav = require('./LeftNav.js');
39
40
  var PageFilter = require('./PageFilter.js');
40
41
 
@@ -4,9 +4,29 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
+ require('./_commonjsHelpers-06173234.js');
8
+ require('./_to-object-329a650b.js');
9
+ require('./core.get-iterator-method-41e87ec1.js');
10
+ require('./_library-dd23b178.js');
11
+ require('./_iter-detect-4d0352f8.js');
12
+ require('./web.dom.iterable-43c3e277.js');
7
13
  var React = require('react');
8
14
  var React__default = _interopDefault(React);
15
+ require('./index-fa3cec70.js');
16
+ require('prop-types');
17
+ require('./isSymbol-488934a7.js');
18
+ require('./debounce-32e57002.js');
19
+ require('./main-88348b15.js');
20
+ require('./slicedToArray-8063ee51.js');
21
+ require('./stringify-7c5aff47.js');
22
+ require('./asyncToGenerator-db08763c.js');
23
+ require('./_set-species-4458e975.js');
24
+ require('./promise-074978a7.js');
25
+ require('./Beam.js');
26
+ require('./Segment.js');
27
+ require('./AdSlot.js');
9
28
  var ListGroup = _interopDefault(require('react-bootstrap/ListGroup'));
29
+ var ADWebcast = require('./ADWebcast.js');
10
30
 
11
31
  var LeftNav = function LeftNav(props) {
12
32
  var leftItems = props.leftItems,
@@ -54,39 +74,50 @@ var LeftNav = function LeftNav(props) {
54
74
  'section',
55
75
  null,
56
76
  leftItems && leftItems.map(function (row, index) {
57
- return React__default.createElement(
58
- 'nav',
59
- { key: index, 'aria-label': 'Secondary' },
60
- React__default.createElement(
77
+ // Showing webcast AD between spotlight and sub navigation when "webcastAD" is passed from site within "leftItems"
78
+ // Since Webcast Ad should be between spotlight and sub navigation it should be passed as the second element of leftItems array from site level.
79
+ // Webcast AD should have atleast adUnit , networkID, and "_type" as "webcastAD"
80
+ if (row._type && row._type === 'webcastAD' && row.adUnit) {
81
+ return React__default.createElement(
61
82
  'div',
62
- { style: { display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap' }, className: 'secondary-nav-title list-group-item active' },
83
+ { key: index },
84
+ React__default.createElement(ADWebcast, { webcastAd: row })
85
+ );
86
+ } else {
87
+ return React__default.createElement(
88
+ 'nav',
89
+ { key: index, 'aria-label': 'Secondary' },
63
90
  React__default.createElement(
64
- 'span',
65
- { className: 'mr-1', style: { display: 'inline-block', fontWeight: 'bold', fontSize: '1rem' } },
66
- row.name
67
- ),
68
- row.url && SeeAll && React__default.createElement(
69
- 'span',
70
- { style: { marginLeft: 'auto', display: 'inline-block' } },
91
+ 'div',
92
+ { style: { display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap' }, className: 'secondary-nav-title list-group-item active' },
71
93
  React__default.createElement(
72
- 'a',
73
- { style: { color: 'white', fontSize: '.6rem' }, href: row.url },
74
- 'See All >'
94
+ 'span',
95
+ { className: 'mr-1', style: { display: 'inline-block', fontWeight: 'bold', fontSize: '1rem' } },
96
+ row.name
97
+ ),
98
+ row.url && SeeAll && React__default.createElement(
99
+ 'span',
100
+ { style: { marginLeft: 'auto', display: 'inline-block' } },
101
+ React__default.createElement(
102
+ 'a',
103
+ { style: { color: 'white', fontSize: '.6rem' }, href: row.url },
104
+ 'See All >'
105
+ )
75
106
  )
107
+ ),
108
+ React__default.createElement(
109
+ 'ul',
110
+ { style: sideNavStyles },
111
+ row.subQuery && row.subQuery.map(function (subRow, subIndex) {
112
+ return React__default.createElement(
113
+ ListGroup.Item,
114
+ { as: 'li', key: subIndex + '_2' },
115
+ renderListGroupItem(subRow)
116
+ );
117
+ })
76
118
  )
77
- ),
78
- React__default.createElement(
79
- 'ul',
80
- { style: sideNavStyles },
81
- row.subQuery && row.subQuery.map(function (subRow, subIndex) {
82
- return React__default.createElement(
83
- ListGroup.Item,
84
- { as: 'li', key: subIndex + '_2' },
85
- renderListGroupItem(subRow)
86
- );
87
- })
88
- )
89
- );
119
+ );
120
+ }
90
121
  })
91
122
  );
92
123
  };
@@ -41,6 +41,7 @@ require('./ConferenceBanner-4a16fddc.js');
41
41
  var Column2 = require('./Column2.js');
42
42
  require('./ADSponsoredResources.js');
43
43
  require('react-bootstrap/ListGroup');
44
+ require('./ADWebcast.js');
44
45
  require('./LeftNav.js');
45
46
  require('./PageFilter.js');
46
47
  var Column3 = require('./Column3.js');
package/dist/cjs/View.js CHANGED
@@ -57,7 +57,7 @@ var getSerializers = require('./getSerializers.js');
57
57
  require('./util-f2c1b65b.js');
58
58
  require('react-bootstrap/Pagination');
59
59
  require('next/dynamic');
60
- var getTargeting = require('./getTargeting-37612527.js');
60
+ var getTargeting = require('./getTargeting-ec7dd217.js');
61
61
  var urlFor = require('./urlFor.js');
62
62
 
63
63
  var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
@@ -52,6 +52,8 @@ var getTargeting = function getTargeting(props) {
52
52
  context = context && context.split('?')[0];
53
53
  context = context && context.split('&')[0];
54
54
  var content_placement_urls = [];
55
+ // New variable to store document group
56
+ var document_group_urls = [];
55
57
  if (content_placement && prevUrl && prevUrl.length) {
56
58
  content_placement.forEach(function (item) {
57
59
  var path = item.path;
@@ -70,21 +72,32 @@ var getTargeting = function getTargeting(props) {
70
72
  });
71
73
  }
72
74
 
73
- if (content_placement) {
74
- if (content_placement_urls.length === 0) {
75
- content_placement_urls = content_placement.map(function (item) {
76
- return cpModificationRequired ? getContentPlacementUrl(item) : item.path;
77
- });
75
+ // Comparing document group with previous url to store in 'document_group_urls'.
76
+ if (document_group && prevUrl && prevUrl.length) {
77
+ var previous_url_to_check = prevUrl;
78
+ if (prevUrl.includes('?')) {
79
+ previous_url_to_check = prevUrl.split('?')[0];
78
80
  }
79
- } else {
80
- content_placement_urls = ['/'];
81
+
82
+ if (previous_url_to_check.endsWith(document_group)) {
83
+ document_group_urls.push(document_group);
84
+ }
85
+ }
86
+
87
+ // Updating condition to set content_placement only when 'document_group_urls' and 'content_placement_urls' is empty.
88
+ if (content_placement && content_placement_urls.length === 0 && document_group_urls.length === 0) {
89
+ content_placement_urls = content_placement.map(function (item) {
90
+ return cpModificationRequired ? getContentPlacementUrl(item) : item.path;
91
+ });
81
92
  }
93
+
82
94
  var articleKeywords = [].concat(toConsumableArray._toConsumableArray(internalTag), toConsumableArray._toConsumableArray(userDefinedTag), toConsumableArray._toConsumableArray(SponsorshipTag), toConsumableArray._toConsumableArray(seoTag));
83
95
  var targeting = {
84
96
  tags: articleKeywords,
85
- document_group: [document_group],
97
+ // making sure either 'document_group' or 'content_placement' is returned in targeting.
98
+ document_group: content_placement_urls && content_placement_urls.length ? '' : document_group_urls,
86
99
  document_url: [url],
87
- content_placement: content_placement_urls
100
+ content_placement: document_group_urls && document_group_urls.length ? '' : content_placement_urls
88
101
  };
89
102
 
90
103
  if (article.issue && article.issue.path) {
@@ -8,7 +8,7 @@ require('./from-ea347372.js');
8
8
  require('./toConsumableArray-ca04303b.js');
9
9
  require('./_object-pie-68c5bcbc.js');
10
10
  require('./extends-60837c34.js');
11
- var getTargeting = require('./getTargeting-37612527.js');
11
+ var getTargeting = require('./getTargeting-ec7dd217.js');
12
12
 
13
13
 
14
14
 
package/dist/cjs/index.js CHANGED
@@ -81,6 +81,7 @@ require('./ConferenceBanner-4a16fddc.js');
81
81
  var Column2 = require('./Column2.js');
82
82
  var ADSponsoredResources = require('./ADSponsoredResources.js');
83
83
  require('react-bootstrap/ListGroup');
84
+ var ADWebcast = require('./ADWebcast.js');
84
85
  var LeftNav = require('./LeftNav.js');
85
86
  var PageFilter = require('./PageFilter.js');
86
87
  var Column3 = require('./Column3.js');
@@ -157,7 +158,7 @@ require('swr');
157
158
  require('passport-local');
158
159
  require('mysql');
159
160
  var View = require('./View.js');
160
- var getTargeting = require('./getTargeting-37612527.js');
161
+ var getTargeting = require('./getTargeting-ec7dd217.js');
161
162
  var urlFor = require('./urlFor.js');
162
163
  var getKeywords = require('./getKeywords.js');
163
164
  var getQuery = require('./getQuery.js');
@@ -187,6 +188,7 @@ exports.Column1 = Column1.Column1;
187
188
  exports.SideFooter = SideFooter;
188
189
  exports.Column2 = Column2.Column2;
189
190
  exports.ADSponsoredResources = ADSponsoredResources;
191
+ exports.ADWebcast = ADWebcast;
190
192
  exports.LeftNav = LeftNav.default;
191
193
  exports.PageFilter = PageFilter;
192
194
  exports.Column3 = Column3.Column3;
@@ -0,0 +1,108 @@
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 './web.dom.iterable-46c95e52.js';
7
+ import React__default, { useState, useEffect } from 'react';
8
+ import './index-3f4dd6f2.js';
9
+ import 'prop-types';
10
+ import './isSymbol-c1b9be80.js';
11
+ import './debounce-8cd9e09c.js';
12
+ import './main-d7ee6151.js';
13
+ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
14
+ import './stringify-e30bc114.js';
15
+ import './asyncToGenerator-204b5a5c.js';
16
+ import './_set-species-6f64f1c1.js';
17
+ import './promise-53143c9a.js';
18
+ import './Beam.js';
19
+ import './Segment.js';
20
+ import DFPAdSlot from './AdSlot.js';
21
+
22
+ // Webcast AD : New AD with size [200,100] that is to be renderedin the LeftNav between the spotlight and subnavigation.
23
+ var ADWebcast = function ADWebcast(_ref) {
24
+ var webcastAd = _ref.webcastAd,
25
+ _ref$minScreenWidth = _ref.minScreenWidth,
26
+ minScreenWidth = _ref$minScreenWidth === undefined ? 1200 : _ref$minScreenWidth;
27
+ var className = webcastAd.className,
28
+ _webcastAd$slotId = webcastAd.slotId,
29
+ slotId = _webcastAd$slotId === undefined ? 'webcast-ad' : _webcastAd$slotId,
30
+ adUnit = webcastAd.adUnit,
31
+ _webcastAd$targeting = webcastAd.targeting,
32
+ targeting = _webcastAd$targeting === undefined ? {} : _webcastAd$targeting,
33
+ _webcastAd$position = webcastAd.position,
34
+ position = _webcastAd$position === undefined ? '' : _webcastAd$position,
35
+ networkID = webcastAd.networkID,
36
+ _webcastAd$sizes = webcastAd.sizes,
37
+ sizes = _webcastAd$sizes === undefined ? [[200, 100]] : _webcastAd$sizes;
38
+
39
+ // AD targeting
40
+
41
+ var adTargeting = {
42
+ content_placement: targeting.content_placement,
43
+ tags: targeting.tags,
44
+ document_group: targeting.document_group,
45
+ document_url: targeting.document_url,
46
+ pos: position,
47
+ campaign_id: targeting.campaign_id,
48
+ issue_url: targeting.issue_url,
49
+ publication_url: targeting.publication_url
50
+ };
51
+
52
+ var _useState = useState(false),
53
+ _useState2 = _slicedToArray(_useState, 2),
54
+ widthFlag = _useState2[0],
55
+ setWidthFlag = _useState2[1];
56
+
57
+ useEffect(function () {
58
+ if (window && window.innerWidth >= minScreenWidth) {
59
+ setWidthFlag(true);
60
+ }
61
+ }, [minScreenWidth]);
62
+
63
+ // Collapsing webcast AD if no creative is found.
64
+ var collapseAd = function collapseAd() {
65
+ var parent = document.getElementById('webcast-ad-wrapper');
66
+ parent.style.height = '0%';
67
+ parent.style.width = '0%';
68
+ parent.style.display = 'none';
69
+ };
70
+
71
+ var checkIsAdFound = function checkIsAdFound(isFound) {
72
+ // Check for creative ID.
73
+ if (isFound) {
74
+ var parent = document.getElementById('webcast-ad-wrapper');
75
+ parent.style.display = 'block';
76
+ } else {
77
+ collapseAd();
78
+ }
79
+ };
80
+ if (widthFlag) {
81
+ return React__default.createElement(
82
+ React__default.Fragment,
83
+ null,
84
+ React__default.createElement(
85
+ 'div',
86
+ { id: 'webcast-ad-wrapper', className: 'webcast-ad-wrapper' },
87
+ React__default.createElement(
88
+ 'div',
89
+ { className: 'webcast-ad' },
90
+ React__default.createElement(DFPAdSlot, {
91
+ className: className,
92
+ slotId: slotId,
93
+ networkID: networkID,
94
+ sizes: sizes
95
+ // To show AD from screenwidth >= 1200
96
+ , sizeMapping: [{ viewport: [1200, 0], sizes: sizes }, { viewport: [0, 0], sizes: [0, 0] }],
97
+ adUnit: adUnit,
98
+ targeting: adTargeting,
99
+ refreshFlag: false,
100
+ checkIsAdFound: checkIsAdFound
101
+ })
102
+ )
103
+ )
104
+ );
105
+ } else return null;
106
+ };
107
+
108
+ export default ADWebcast;
@@ -28,6 +28,7 @@ import SideFooter from './SideFooter.js';
28
28
  import { C as ConferenceBanner } from './ConferenceBanner-8792ebd2.js';
29
29
  import ADSponsoredResources from './ADSponsoredResources.js';
30
30
  import 'react-bootstrap/ListGroup';
31
+ import './ADWebcast.js';
31
32
  import LeftNav from './LeftNav.js';
32
33
  import PageFilter from './PageFilter.js';
33
34
 
@@ -1,5 +1,25 @@
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 './web.dom.iterable-46c95e52.js';
1
7
  import React__default from 'react';
8
+ import './index-3f4dd6f2.js';
9
+ import 'prop-types';
10
+ import './isSymbol-c1b9be80.js';
11
+ import './debounce-8cd9e09c.js';
12
+ import './main-d7ee6151.js';
13
+ import './slicedToArray-f1e40361.js';
14
+ import './stringify-e30bc114.js';
15
+ import './asyncToGenerator-204b5a5c.js';
16
+ import './_set-species-6f64f1c1.js';
17
+ import './promise-53143c9a.js';
18
+ import './Beam.js';
19
+ import './Segment.js';
20
+ import './AdSlot.js';
2
21
  import ListGroup from 'react-bootstrap/ListGroup';
22
+ import ADWebcast from './ADWebcast.js';
3
23
 
4
24
  var LeftNav = function LeftNav(props) {
5
25
  var leftItems = props.leftItems,
@@ -47,39 +67,50 @@ var LeftNav = function LeftNav(props) {
47
67
  'section',
48
68
  null,
49
69
  leftItems && leftItems.map(function (row, index) {
50
- return React__default.createElement(
51
- 'nav',
52
- { key: index, 'aria-label': 'Secondary' },
53
- React__default.createElement(
70
+ // Showing webcast AD between spotlight and sub navigation when "webcastAD" is passed from site within "leftItems"
71
+ // Since Webcast Ad should be between spotlight and sub navigation it should be passed as the second element of leftItems array from site level.
72
+ // Webcast AD should have atleast adUnit , networkID, and "_type" as "webcastAD"
73
+ if (row._type && row._type === 'webcastAD' && row.adUnit) {
74
+ return React__default.createElement(
54
75
  'div',
55
- { style: { display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap' }, className: 'secondary-nav-title list-group-item active' },
76
+ { key: index },
77
+ React__default.createElement(ADWebcast, { webcastAd: row })
78
+ );
79
+ } else {
80
+ return React__default.createElement(
81
+ 'nav',
82
+ { key: index, 'aria-label': 'Secondary' },
56
83
  React__default.createElement(
57
- 'span',
58
- { className: 'mr-1', style: { display: 'inline-block', fontWeight: 'bold', fontSize: '1rem' } },
59
- row.name
60
- ),
61
- row.url && SeeAll && React__default.createElement(
62
- 'span',
63
- { style: { marginLeft: 'auto', display: 'inline-block' } },
84
+ 'div',
85
+ { style: { display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap' }, className: 'secondary-nav-title list-group-item active' },
64
86
  React__default.createElement(
65
- 'a',
66
- { style: { color: 'white', fontSize: '.6rem' }, href: row.url },
67
- 'See All >'
87
+ 'span',
88
+ { className: 'mr-1', style: { display: 'inline-block', fontWeight: 'bold', fontSize: '1rem' } },
89
+ row.name
90
+ ),
91
+ row.url && SeeAll && React__default.createElement(
92
+ 'span',
93
+ { style: { marginLeft: 'auto', display: 'inline-block' } },
94
+ React__default.createElement(
95
+ 'a',
96
+ { style: { color: 'white', fontSize: '.6rem' }, href: row.url },
97
+ 'See All >'
98
+ )
68
99
  )
100
+ ),
101
+ React__default.createElement(
102
+ 'ul',
103
+ { style: sideNavStyles },
104
+ row.subQuery && row.subQuery.map(function (subRow, subIndex) {
105
+ return React__default.createElement(
106
+ ListGroup.Item,
107
+ { as: 'li', key: subIndex + '_2' },
108
+ renderListGroupItem(subRow)
109
+ );
110
+ })
69
111
  )
70
- ),
71
- React__default.createElement(
72
- 'ul',
73
- { style: sideNavStyles },
74
- row.subQuery && row.subQuery.map(function (subRow, subIndex) {
75
- return React__default.createElement(
76
- ListGroup.Item,
77
- { as: 'li', key: subIndex + '_2' },
78
- renderListGroupItem(subRow)
79
- );
80
- })
81
- )
82
- );
112
+ );
113
+ }
83
114
  })
84
115
  );
85
116
  };
@@ -35,6 +35,7 @@ import './ConferenceBanner-8792ebd2.js';
35
35
  import { Column2 } from './Column2.js';
36
36
  import './ADSponsoredResources.js';
37
37
  import 'react-bootstrap/ListGroup';
38
+ import './ADWebcast.js';
38
39
  import './LeftNav.js';
39
40
  import './PageFilter.js';
40
41
  import { Column3 } from './Column3.js';
package/dist/esm/View.js CHANGED
@@ -52,7 +52,7 @@ import getSerializers from './getSerializers.js';
52
52
  import './util-7700fc59.js';
53
53
  import 'react-bootstrap/Pagination';
54
54
  import 'next/dynamic';
55
- import { a as getContentPlacementUrl, g as getTargeting } from './getTargeting-8f4bd5db.js';
55
+ import { a as getContentPlacementUrl, g as getTargeting } from './getTargeting-02118961.js';
56
56
  import urlFor from './urlFor.js';
57
57
 
58
58
  var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
@@ -50,6 +50,8 @@ var getTargeting = function getTargeting(props) {
50
50
  context = context && context.split('?')[0];
51
51
  context = context && context.split('&')[0];
52
52
  var content_placement_urls = [];
53
+ // New variable to store document group
54
+ var document_group_urls = [];
53
55
  if (content_placement && prevUrl && prevUrl.length) {
54
56
  content_placement.forEach(function (item) {
55
57
  var path = item.path;
@@ -68,21 +70,32 @@ var getTargeting = function getTargeting(props) {
68
70
  });
69
71
  }
70
72
 
71
- if (content_placement) {
72
- if (content_placement_urls.length === 0) {
73
- content_placement_urls = content_placement.map(function (item) {
74
- return cpModificationRequired ? getContentPlacementUrl(item) : item.path;
75
- });
73
+ // Comparing document group with previous url to store in 'document_group_urls'.
74
+ if (document_group && prevUrl && prevUrl.length) {
75
+ var previous_url_to_check = prevUrl;
76
+ if (prevUrl.includes('?')) {
77
+ previous_url_to_check = prevUrl.split('?')[0];
76
78
  }
77
- } else {
78
- content_placement_urls = ['/'];
79
+
80
+ if (previous_url_to_check.endsWith(document_group)) {
81
+ document_group_urls.push(document_group);
82
+ }
83
+ }
84
+
85
+ // Updating condition to set content_placement only when 'document_group_urls' and 'content_placement_urls' is empty.
86
+ if (content_placement && content_placement_urls.length === 0 && document_group_urls.length === 0) {
87
+ content_placement_urls = content_placement.map(function (item) {
88
+ return cpModificationRequired ? getContentPlacementUrl(item) : item.path;
89
+ });
79
90
  }
91
+
80
92
  var articleKeywords = [].concat(_toConsumableArray(internalTag), _toConsumableArray(userDefinedTag), _toConsumableArray(SponsorshipTag), _toConsumableArray(seoTag));
81
93
  var targeting = {
82
94
  tags: articleKeywords,
83
- document_group: [document_group],
95
+ // making sure either 'document_group' or 'content_placement' is returned in targeting.
96
+ document_group: content_placement_urls && content_placement_urls.length ? '' : document_group_urls,
84
97
  document_url: [url],
85
- content_placement: content_placement_urls
98
+ content_placement: document_group_urls && document_group_urls.length ? '' : content_placement_urls
86
99
  };
87
100
 
88
101
  if (article.issue && article.issue.path) {
@@ -6,4 +6,4 @@ import './from-2c0a5f49.js';
6
6
  import './toConsumableArray-8712d678.js';
7
7
  import './_object-pie-33c40e79.js';
8
8
  import './extends-6e00b262.js';
9
- export { g as default } from './getTargeting-8f4bd5db.js';
9
+ export { g as default } from './getTargeting-02118961.js';
package/dist/esm/index.js CHANGED
@@ -77,6 +77,7 @@ import './ConferenceBanner-8792ebd2.js';
77
77
  export { Column2 } from './Column2.js';
78
78
  export { default as ADSponsoredResources } from './ADSponsoredResources.js';
79
79
  import 'react-bootstrap/ListGroup';
80
+ export { default as ADWebcast } from './ADWebcast.js';
80
81
  export { default as LeftNav } from './LeftNav.js';
81
82
  export { default as PageFilter } from './PageFilter.js';
82
83
  export { Column3 } from './Column3.js';
@@ -153,7 +154,7 @@ import 'swr';
153
154
  import 'passport-local';
154
155
  import 'mysql';
155
156
  export { default as View } from './View.js';
156
- export { g as getTargeting } from './getTargeting-8f4bd5db.js';
157
+ export { g as getTargeting } from './getTargeting-02118961.js';
157
158
  export { default as urlFor } from './urlFor.js';
158
159
  export { default as getKeywords } from './getKeywords.js';
159
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.450",
3
+ "version": "1.0.452",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",