@mjhls/mjh-framework 1.0.885 → 1.0.886
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/ContentCardPaginated.js +414 -0
- package/dist/cjs/DeckQueuePaginated.js +345 -0
- package/dist/cjs/GridContent.js +44 -157
- package/dist/cjs/GridContentPaginated.js +704 -0
- package/dist/cjs/ImageSlider-b96720eb.js +2813 -0
- package/dist/cjs/MasterDeckPaginated.js +446 -0
- package/dist/cjs/MediaSeriesCard-8b4efd28.js +9505 -0
- package/dist/cjs/MediaSeriesLanding.js +20 -9502
- package/dist/cjs/MediaSeriesLandingPaginated.js +524 -0
- package/dist/cjs/Pagination-8f2038bf.js +53 -0
- package/dist/cjs/PartnerDetailListing.js +12 -2807
- package/dist/cjs/PartnerDetailListingPaginated.js +314 -0
- package/dist/cjs/PublicationFeature-5ccf9b13.js +130 -0
- package/dist/cjs/QueueDeckExpandedPaginated.js +1378 -0
- package/dist/cjs/index.js +2 -0
- package/dist/esm/ContentCardPaginated.js +403 -0
- package/dist/esm/DeckQueuePaginated.js +334 -0
- package/dist/esm/GridContent.js +2 -114
- package/dist/esm/GridContentPaginated.js +693 -0
- package/dist/esm/ImageSlider-de7846ea.js +2804 -0
- package/dist/esm/MasterDeckPaginated.js +438 -0
- package/dist/esm/MediaSeriesCard-51ebf1c0.js +9495 -0
- package/dist/esm/MediaSeriesLanding.js +16 -9496
- package/dist/esm/MediaSeriesLandingPaginated.js +517 -0
- package/dist/esm/Pagination-c0db7ca1.js +46 -0
- package/dist/esm/PartnerDetailListing.js +13 -2807
- package/dist/esm/PartnerDetailListingPaginated.js +308 -0
- package/dist/esm/PublicationFeature-d88e76b9.js +121 -0
- package/dist/esm/QueueDeckExpandedPaginated.js +1372 -0
- package/dist/esm/index.js +2 -0
- package/package.json +2 -1
|
@@ -0,0 +1,704 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var stringify = require('./stringify-f7a37a8d.js');
|
|
4
|
+
var toConsumableArray = require('./toConsumableArray-d7797c2b.js');
|
|
5
|
+
var asyncToGenerator = require('./asyncToGenerator-77821af0.js');
|
|
6
|
+
var _extends = require('./extends-7c86182f.js');
|
|
7
|
+
var inherits = require('./inherits-de66ea16.js');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var index = require('./index-fc2f1ca2.js');
|
|
10
|
+
var Container = require('react-bootstrap/Container');
|
|
11
|
+
var Row = require('react-bootstrap/Row');
|
|
12
|
+
var Col = require('react-bootstrap/Col');
|
|
13
|
+
var Card = require('react-bootstrap/Card');
|
|
14
|
+
var moment = require('./moment-aca40de1.js');
|
|
15
|
+
var Router = require('next/router');
|
|
16
|
+
var index$1 = require('./index-eadd5035.js');
|
|
17
|
+
var entities = require('./entities-df1aed86.js');
|
|
18
|
+
var ADInfeed = require('./ADInfeed-bce0ba07.js');
|
|
19
|
+
var lodash = require('./lodash-f0783643.js');
|
|
20
|
+
var ADlgInfeed = require('./ADlgInfeed-950b414b.js');
|
|
21
|
+
var getContentCategory = require('./getContentCategory-f38a4c00.js');
|
|
22
|
+
var get = require('./get-5839e5b5.js');
|
|
23
|
+
var urlFor = require('./urlFor.js');
|
|
24
|
+
var main = require('./main-f1c77adb.js');
|
|
25
|
+
var AuthorComponent = require('./AuthorComponent-39b37d84.js');
|
|
26
|
+
var PublicationFeature = require('./PublicationFeature-5ccf9b13.js');
|
|
27
|
+
var Pagination = require('./Pagination-8f2038bf.js');
|
|
28
|
+
var Spinner = require('react-bootstrap/Spinner');
|
|
29
|
+
require('./_commonjsHelpers-06173234.js');
|
|
30
|
+
require('./core.get-iterator-method-5643aa10.js');
|
|
31
|
+
require('./_iter-detect-b1df62f0.js');
|
|
32
|
+
require('./web.dom.iterable-d98303e0.js');
|
|
33
|
+
require('./_library-dd23b178.js');
|
|
34
|
+
require('./_object-pie-083f2dd6.js');
|
|
35
|
+
require('./_object-sap-d1978572.js');
|
|
36
|
+
require('./define-property-e8404b64.js');
|
|
37
|
+
require('./typeof-567e31ff.js');
|
|
38
|
+
require('./_is-array-54228b29.js');
|
|
39
|
+
require('./events-1b438fe7.js');
|
|
40
|
+
require('prop-types');
|
|
41
|
+
require('react-dom');
|
|
42
|
+
require('./slicedToArray-067dd3bc.js');
|
|
43
|
+
require('./AdSlot.js');
|
|
44
|
+
require('./debounce-d4a2369b.js');
|
|
45
|
+
require('./isSymbol-03abbdf0.js');
|
|
46
|
+
require('./toNumber-5e1fac58.js');
|
|
47
|
+
require('./Beam.js');
|
|
48
|
+
require('./Segment.js');
|
|
49
|
+
require('./eq-5fc26c07.js');
|
|
50
|
+
require('./index-d48b231c.js');
|
|
51
|
+
require('react-bootstrap/Button');
|
|
52
|
+
require('react-paginate');
|
|
53
|
+
|
|
54
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
55
|
+
|
|
56
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
57
|
+
var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
|
|
58
|
+
var Row__default = /*#__PURE__*/_interopDefaultLegacy(Row);
|
|
59
|
+
var Col__default = /*#__PURE__*/_interopDefaultLegacy(Col);
|
|
60
|
+
var Card__default = /*#__PURE__*/_interopDefaultLegacy(Card);
|
|
61
|
+
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
62
|
+
|
|
63
|
+
var GridContent = function (_React$Component) {
|
|
64
|
+
inherits._inherits(GridContent, _React$Component);
|
|
65
|
+
|
|
66
|
+
function GridContent() {
|
|
67
|
+
var _ref,
|
|
68
|
+
_this2 = this;
|
|
69
|
+
|
|
70
|
+
var _temp, _this, _ret;
|
|
71
|
+
|
|
72
|
+
inherits._classCallCheck(this, GridContent);
|
|
73
|
+
|
|
74
|
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
75
|
+
args[_key] = arguments[_key];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return _ret = (_temp = (_this = inherits._possibleConstructorReturn(this, (_ref = GridContent.__proto__ || inherits._Object$getPrototypeOf(GridContent)).call.apply(_ref, [this].concat(args))), _this), _this.page = _this.props.page, _this.mapping = _this.props.mapping, _this.data = _this.props.dataRecord, _this.query = _this.props.query, _this.params = _this.props.params, _this.client = _this.props.client, _this.seoPaginate = _this.props.seoPaginate, _this.pointer = _this.props.pointer ? _this.props.pointer : false, _this.pointerArray = _this.props.pointerArray ? _this.props.pointerArray : false, _this.defaultImage = _this.props.defaultImage ? _this.props.defaultImage : '/placeholder.jpg', _this.state = {
|
|
79
|
+
isDataLoading: false,
|
|
80
|
+
data: _this.data,
|
|
81
|
+
prevData: _this.data,
|
|
82
|
+
itemsPerPage: _this.params ? _this.params.itemsPerPage : _this.params.from && _this.params.to ? _this.params.to - _this.params.from : 30,
|
|
83
|
+
currentPage: _this.props.currentPage || 1,
|
|
84
|
+
lgInfeedAd: _this.props.lgInfeedAd ? _this.props.lgInfeedAd : false,
|
|
85
|
+
showCategory: _this.props.showCategory ? _this.props.showCategory : false,
|
|
86
|
+
contentCategoryMapping: _this.props.contentCategoryMapping ? contentCategoryMapping : [],
|
|
87
|
+
totalDataCount: _this.props.totalDataCount
|
|
88
|
+
}, _this.componentDidUpdate = function (prevProps, prevState) {
|
|
89
|
+
var _this$props = _this.props,
|
|
90
|
+
pageview = _this$props.pageview,
|
|
91
|
+
currentPath = _this$props.router.asPath;
|
|
92
|
+
var prevPath = prevProps.router.asPath;
|
|
93
|
+
|
|
94
|
+
if (pageview && currentPath !== prevPath) {
|
|
95
|
+
pageview(currentPath);
|
|
96
|
+
}
|
|
97
|
+
}, _this.renderCardImage = function (row, page) {
|
|
98
|
+
if (row.thumbnail && row.thumbnail.asset) {
|
|
99
|
+
var url = urlFor({
|
|
100
|
+
client: _this.client,
|
|
101
|
+
source: row.thumbnail,
|
|
102
|
+
imageHeight: _this.props.imageHeight || null,
|
|
103
|
+
imageWidth: _this.props.imageWidth || null,
|
|
104
|
+
imageFit: _this.props.imageFit || null
|
|
105
|
+
});
|
|
106
|
+
return url;
|
|
107
|
+
} else {
|
|
108
|
+
return _this.defaultImage;
|
|
109
|
+
}
|
|
110
|
+
}, _this.seoPagination = function (pageNumber) {
|
|
111
|
+
var router = _this.props.router;
|
|
112
|
+
|
|
113
|
+
var path = router.asPath;
|
|
114
|
+
var qrIndex = path.indexOf('?');
|
|
115
|
+
var pathname = router.pathname;
|
|
116
|
+
var queryString = '';
|
|
117
|
+
if (qrIndex > 0) {
|
|
118
|
+
path = path.substring(1, qrIndex);
|
|
119
|
+
var partialQS = router.asPath.substring(qrIndex + 1);
|
|
120
|
+
var partialQSArr = partialQS.split('&');
|
|
121
|
+
// exclude page=xxx from query string
|
|
122
|
+
partialQSArr.map(function (item) {
|
|
123
|
+
var itemArr = item.split('=');
|
|
124
|
+
var key = itemArr[0];
|
|
125
|
+
var val = itemArr[1];
|
|
126
|
+
if (key !== 'page') queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
if (queryString.length > 0) path += '?' + queryString;
|
|
130
|
+
pageNumber = parseInt(pageNumber);
|
|
131
|
+
if (_this.state.page !== pageNumber) {
|
|
132
|
+
if (path[0] !== '/') path = '/' + path;
|
|
133
|
+
var newPath = pageNumber === 1 ? '' + path : '' + path + (queryString.length > 0 ? '&' : '?') + 'page=' + pageNumber;
|
|
134
|
+
router.push(pathname, newPath, {
|
|
135
|
+
shallow: true
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}, _this.handlePageChange = function () {
|
|
139
|
+
var _ref2 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(selectedPage) {
|
|
140
|
+
var start, newParams, newData;
|
|
141
|
+
return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
|
|
142
|
+
while (1) {
|
|
143
|
+
switch (_context.prev = _context.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
console.log('selectedPage', selectedPage);
|
|
146
|
+
_this.setState({
|
|
147
|
+
isDataLoading: true,
|
|
148
|
+
currentPage: selectedPage
|
|
149
|
+
});
|
|
150
|
+
_this.seoPaginate && _this.seoPagination(selectedPage);
|
|
151
|
+
index.lib_3.refresh();
|
|
152
|
+
document.body.scrollTop = 0;
|
|
153
|
+
document.documentElement.scrollTop = 0;
|
|
154
|
+
start = (selectedPage - 1) * _this.state.itemsPerPage;
|
|
155
|
+
newParams = _extends._extends({}, _this.params, {
|
|
156
|
+
from: start,
|
|
157
|
+
to: start + _this.state.itemsPerPage
|
|
158
|
+
});
|
|
159
|
+
_context.prev = 8;
|
|
160
|
+
_context.next = 11;
|
|
161
|
+
return _this.client.fetch(_this.query, newParams);
|
|
162
|
+
|
|
163
|
+
case 11:
|
|
164
|
+
newData = _context.sent;
|
|
165
|
+
|
|
166
|
+
if (_this.pointer && _this.pointerArray) newData = newData[pointerArray][pointer];
|
|
167
|
+
if (newData && newData.length > 0) {
|
|
168
|
+
_this.setState({
|
|
169
|
+
isDataLoading: false,
|
|
170
|
+
data: newData,
|
|
171
|
+
page: selectedPage
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
_context.next = 19;
|
|
175
|
+
break;
|
|
176
|
+
|
|
177
|
+
case 16:
|
|
178
|
+
_context.prev = 16;
|
|
179
|
+
_context.t0 = _context['catch'](8);
|
|
180
|
+
|
|
181
|
+
console.error(_context.t0);
|
|
182
|
+
|
|
183
|
+
case 19:
|
|
184
|
+
case 'end':
|
|
185
|
+
return _context.stop();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}, _callee, _this2, [[8, 16]]);
|
|
189
|
+
}));
|
|
190
|
+
|
|
191
|
+
return function (_x) {
|
|
192
|
+
return _ref2.apply(this, arguments);
|
|
193
|
+
};
|
|
194
|
+
}(), _this.checkExternalUrl = function (url) {
|
|
195
|
+
return new RegExp(['http', 'https'].join('|')).test(url);
|
|
196
|
+
}, _this.renderMobileAd = function (index, numberOfItemsBeforeAd) {
|
|
197
|
+
var rightItems = _this.props.rightItems;
|
|
198
|
+
|
|
199
|
+
var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
|
|
200
|
+
return React__default['default'].createElement(
|
|
201
|
+
'div',
|
|
202
|
+
{ style: { display: 'flex', flex: '1 0 auto' } },
|
|
203
|
+
rightItems[i].component
|
|
204
|
+
);
|
|
205
|
+
}, _temp), inherits._possibleConstructorReturn(_this, _ret);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
inherits._createClass(GridContent, [{
|
|
209
|
+
key: 'cardLoader',
|
|
210
|
+
value: function cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight, lgInfeedAd, contentCategoryMapping) {
|
|
211
|
+
var _this3 = this;
|
|
212
|
+
|
|
213
|
+
var lgVar = Math.floor(12 / columns);
|
|
214
|
+
var itemCounter = 0;
|
|
215
|
+
var numberOfItemsBeforeAd = 6;
|
|
216
|
+
var numberOfItemsBeforeVideo = 3;
|
|
217
|
+
if (variant === 'stack') {
|
|
218
|
+
return React__default['default'].createElement(
|
|
219
|
+
Row__default['default'],
|
|
220
|
+
null,
|
|
221
|
+
this.state.data && this.state.data.length > 0 ? this.state.data.map(function (row, index) {
|
|
222
|
+
// const thumbnailURL = get(row, 'thumbnail.asset.url', this.props.defaultImage)
|
|
223
|
+
return React__default['default'].createElement(
|
|
224
|
+
Col__default['default'],
|
|
225
|
+
{ key: index, md: 12, lg: lgVar, style: { display: 'flex', flex: '1 0 auto' } },
|
|
226
|
+
React__default['default'].createElement(
|
|
227
|
+
Card__default['default'],
|
|
228
|
+
{ className: 'queue-card', style: { borderTop: '1px solid #EEE' } },
|
|
229
|
+
React__default['default'].createElement(
|
|
230
|
+
Row__default['default'],
|
|
231
|
+
{ style: { flexDirection: 'row' } },
|
|
232
|
+
React__default['default'].createElement(
|
|
233
|
+
Col__default['default'],
|
|
234
|
+
{ md: 12, lg: 4 },
|
|
235
|
+
React__default['default'].createElement(
|
|
236
|
+
'a',
|
|
237
|
+
{ href: _this3.page + '/' + get.get_1(row, 'url.current') },
|
|
238
|
+
React__default['default'].createElement(
|
|
239
|
+
index$1.LazyLoad,
|
|
240
|
+
{ height: _this3.props.imageHeight },
|
|
241
|
+
React__default['default'].createElement(Card__default['default'].Img, { variant: 'top', src: _this3.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
|
|
242
|
+
)
|
|
243
|
+
)
|
|
244
|
+
),
|
|
245
|
+
React__default['default'].createElement(
|
|
246
|
+
Col__default['default'],
|
|
247
|
+
null,
|
|
248
|
+
React__default['default'].createElement(
|
|
249
|
+
Card__default['default'].Body,
|
|
250
|
+
{ style: { padding: '20px' } },
|
|
251
|
+
React__default['default'].createElement(
|
|
252
|
+
Card__default['default'].Title,
|
|
253
|
+
null,
|
|
254
|
+
React__default['default'].createElement(
|
|
255
|
+
'a',
|
|
256
|
+
{ href: _this3.page + '/' + get.get_1(row, 'url.current') },
|
|
257
|
+
row.title
|
|
258
|
+
)
|
|
259
|
+
),
|
|
260
|
+
_this3.props.showPublished && row.published && React__default['default'].createElement(
|
|
261
|
+
Card__default['default'].Subtitle,
|
|
262
|
+
{ style: { marginTop: 0 } },
|
|
263
|
+
moment.moment(row.published).format('MMMM DD, YYYY')
|
|
264
|
+
),
|
|
265
|
+
_this3.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React__default['default'].createElement(
|
|
266
|
+
index$1.LazyLoad,
|
|
267
|
+
{ height: 50 },
|
|
268
|
+
React__default['default'].createElement(AuthorComponent.AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
|
|
269
|
+
),
|
|
270
|
+
_this3.props.showCategory && row.contentCategory && React__default['default'].createElement(
|
|
271
|
+
index$1.LazyLoad,
|
|
272
|
+
{ height: 50 },
|
|
273
|
+
React__default['default'].createElement(
|
|
274
|
+
'p',
|
|
275
|
+
{
|
|
276
|
+
className: 'article-category',
|
|
277
|
+
style: {
|
|
278
|
+
background: '#3FB618',
|
|
279
|
+
color: '#ffffff',
|
|
280
|
+
marginBottom: '.25rem',
|
|
281
|
+
display: 'inline-block',
|
|
282
|
+
padding: '0 .25rem',
|
|
283
|
+
fontSize: '.8rem'
|
|
284
|
+
} },
|
|
285
|
+
getContentCategory.getContentCategory(row.contentCategory.name, contentCategoryMapping)
|
|
286
|
+
)
|
|
287
|
+
),
|
|
288
|
+
React__default['default'].createElement(
|
|
289
|
+
Card__default['default'].Text,
|
|
290
|
+
null,
|
|
291
|
+
entities.clean_html_1(row.summary)
|
|
292
|
+
)
|
|
293
|
+
)
|
|
294
|
+
)
|
|
295
|
+
)
|
|
296
|
+
)
|
|
297
|
+
);
|
|
298
|
+
}) : React__default['default'].createElement(
|
|
299
|
+
'div',
|
|
300
|
+
null,
|
|
301
|
+
React__default['default'].createElement(
|
|
302
|
+
'h5',
|
|
303
|
+
null,
|
|
304
|
+
React__default['default'].createElement(
|
|
305
|
+
'em',
|
|
306
|
+
null,
|
|
307
|
+
'New content coming soon, please check back later.'
|
|
308
|
+
)
|
|
309
|
+
)
|
|
310
|
+
)
|
|
311
|
+
);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
var insert = function insert(arr, index, newElement) {
|
|
315
|
+
return [].concat(toConsumableArray._toConsumableArray(arr.slice(0, index)), [newElement], toConsumableArray._toConsumableArray(arr.slice(index)));
|
|
316
|
+
};
|
|
317
|
+
var posts = [];
|
|
318
|
+
if (brandInsight && (lgInfeedAd || showBI)) {
|
|
319
|
+
var firstThree = this.state.data.slice(0, 3);
|
|
320
|
+
var data = this.state.data.slice(3);
|
|
321
|
+
|
|
322
|
+
// Need to pass flag "lgInfeedAd={true}" along with brandInsight from site level for large infeed-ad to render
|
|
323
|
+
// Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
|
|
324
|
+
if (lgInfeedAd && typeof window !== 'undefined' && window.innerWidth >= 1400) {
|
|
325
|
+
var lgInFeedAd = {
|
|
326
|
+
_type: 'lg-infeed',
|
|
327
|
+
adUnit: brandInsight.adUnit,
|
|
328
|
+
className: 'lg-infeed',
|
|
329
|
+
networkID: brandInsight.networkID,
|
|
330
|
+
sizes: [728, 90],
|
|
331
|
+
// Adding sizeMapping for showing ad above 1400px
|
|
332
|
+
sizeMapping: [{
|
|
333
|
+
viewport: [1400, 0],
|
|
334
|
+
sizes: [[728, 90]]
|
|
335
|
+
}, { viewport: [0, 0], sizes: [] }],
|
|
336
|
+
targeting: {
|
|
337
|
+
content_placement: brandInsight.targeting.content_placement,
|
|
338
|
+
document_url: brandInsight.targeting.document_url,
|
|
339
|
+
rootDocumentGroup: brandInsight.targeting.rootDocumentGroup
|
|
340
|
+
},
|
|
341
|
+
/* Passing refresh flag */
|
|
342
|
+
refreshFlag: brandInsight.refreshFlag ? brandInsight.refreshFlag : false
|
|
343
|
+
};
|
|
344
|
+
var chunks = lodash.lodash.chunk(data, 6).map(function (chunk) {
|
|
345
|
+
var set = lodash.lodash.chunk(chunk, 2);
|
|
346
|
+
for (var i = 0; i < set.length; i++) {
|
|
347
|
+
if (i !== set.length - 1) {
|
|
348
|
+
set[i].push(lgInFeedAd);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return lodash.lodash.flattenDeep(set);
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
posts = lodash.lodash.flatten(chunks);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
if (showBI) {
|
|
358
|
+
// Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
|
|
359
|
+
if (lgInfeedAd && typeof window !== 'undefined' && window.innerWidth >= 1400) {
|
|
360
|
+
brandInsight.interval = 8;
|
|
361
|
+
} else if (typeof window !== 'undefined' && window.innerWidth < 1400) {
|
|
362
|
+
brandInsight.interval = 5;
|
|
363
|
+
posts = data;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
var pos = 0;
|
|
367
|
+
for (var i = 1; pos < posts.length; i++) {
|
|
368
|
+
var inFeedAd = {
|
|
369
|
+
adUnit: brandInsight.adUnit,
|
|
370
|
+
className: brandInsight.className,
|
|
371
|
+
networkID: brandInsight.networkID,
|
|
372
|
+
sizes: brandInsight.sizes,
|
|
373
|
+
slotId: brandInsight.slotId + '_' + i,
|
|
374
|
+
targeting: {
|
|
375
|
+
pos: 'infeed',
|
|
376
|
+
content_placement: brandInsight.targeting.content_placement,
|
|
377
|
+
document_url: brandInsight.targeting.document_url,
|
|
378
|
+
rootDocumentGroup: brandInsight.targeting.rootDocumentGroup
|
|
379
|
+
},
|
|
380
|
+
_type: 'brandInsightAd',
|
|
381
|
+
/* Passing refresh flag */
|
|
382
|
+
refreshFlag: brandInsight.refreshFlag ? brandInsight.refreshFlag : false
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
posts = insert(posts, pos, inFeedAd);
|
|
386
|
+
pos += brandInsight.interval + 1;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
posts = firstThree.concat(posts);
|
|
390
|
+
} else {
|
|
391
|
+
posts = this.state.data;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// 'articleCount' is New parameter to use instead of 'index' while passing to 'changePageNumber()'
|
|
395
|
+
// 'index' was including the indexes for infeed ads along with article count making the page number change before it reaches last article.
|
|
396
|
+
// 'articleCount' will be the indexes of only the articles in the deck.
|
|
397
|
+
var articleCount = -1;
|
|
398
|
+
posts = posts.map(function (ele, i) {
|
|
399
|
+
if (ele._type === 'lg-infeed') {
|
|
400
|
+
// Setting pos as top2 for the first occurence of large infeed ad
|
|
401
|
+
// const pos = posts.indexOf(posts.find((d) => d._type === 'lg-infeed')) === i ? 'top2' : `lg-infeed_${i}`
|
|
402
|
+
return _extends._extends({}, ele, { slotId: 'lg-infeed_' + i, targeting: _extends._extends({}, ele.targeting, { pos: 'lg-infeed' }) });
|
|
403
|
+
} else if (ele._type === 'article') {
|
|
404
|
+
// incrementing 'articleCount' for each article.
|
|
405
|
+
++articleCount;
|
|
406
|
+
return _extends._extends({}, ele, { articleCount: articleCount });
|
|
407
|
+
} else {
|
|
408
|
+
return ele;
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
var publicationFeature = this.props.publicationFeature;
|
|
413
|
+
|
|
414
|
+
if (publicationFeature) posts = insert(posts, 3, publicationFeature);
|
|
415
|
+
|
|
416
|
+
this.props.params && this.props.params.itemsPerPage ? this.props.params.itemsPerPage : 10;
|
|
417
|
+
var heroContent = this.props.heroContent ? this.props.heroContent : 0;
|
|
418
|
+
var featureCount = 0;
|
|
419
|
+
return React__default['default'].createElement(
|
|
420
|
+
'div',
|
|
421
|
+
{ className: 'grid-container' },
|
|
422
|
+
posts && posts.length > 0 ? posts.map(function (row, index) {
|
|
423
|
+
var contentCategoryName = row.contentCategory && row.contentCategory.name && _this3.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
|
|
424
|
+
var linkHref = row.url && row.url.current ? _this3.mapping[contentCategoryName] + '/' + row.url.current : '';
|
|
425
|
+
if (row._type === 'feature') {
|
|
426
|
+
featureCount++;
|
|
427
|
+
if (row.blank || _this3.checkExternalUrl(row.url.current)) {
|
|
428
|
+
return React__default['default'].createElement(
|
|
429
|
+
React__default['default'].Fragment,
|
|
430
|
+
{ key: itemCounter },
|
|
431
|
+
React__default['default'].createElement(
|
|
432
|
+
'div',
|
|
433
|
+
{ counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
|
|
434
|
+
React__default['default'].createElement(
|
|
435
|
+
Card__default['default'],
|
|
436
|
+
{ className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
|
|
437
|
+
(row.thumbnail && row.thumbnail.asset || _this3.props.defaultImage) && React__default['default'].createElement(
|
|
438
|
+
'a',
|
|
439
|
+
{ rel: 'noopener', href: row.url.current, target: '_blank', className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
|
|
440
|
+
React__default['default'].createElement(
|
|
441
|
+
index$1.LazyLoad,
|
|
442
|
+
{ height: _this3.props.imageHeight },
|
|
443
|
+
React__default['default'].createElement(Card__default['default'].Img, {
|
|
444
|
+
variant: 'top',
|
|
445
|
+
src: _this3.renderCardImage(row, page),
|
|
446
|
+
alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
|
|
447
|
+
})
|
|
448
|
+
)
|
|
449
|
+
),
|
|
450
|
+
React__default['default'].createElement(
|
|
451
|
+
Card__default['default'].Body,
|
|
452
|
+
null,
|
|
453
|
+
React__default['default'].createElement(
|
|
454
|
+
'a',
|
|
455
|
+
{ rel: 'noopener', href: row.url.current, target: '_blank' },
|
|
456
|
+
React__default['default'].createElement(
|
|
457
|
+
Card__default['default'].Title,
|
|
458
|
+
null,
|
|
459
|
+
row.title
|
|
460
|
+
)
|
|
461
|
+
),
|
|
462
|
+
_this3.props.showPublished && row.published && React__default['default'].createElement(
|
|
463
|
+
Card__default['default'].Subtitle,
|
|
464
|
+
{ style: { marginTop: 0 } },
|
|
465
|
+
moment.moment(row.published).format('MMMM DD, YYYY')
|
|
466
|
+
),
|
|
467
|
+
_this3.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React__default['default'].createElement(
|
|
468
|
+
index$1.LazyLoad,
|
|
469
|
+
{ height: 50 },
|
|
470
|
+
React__default['default'].createElement(AuthorComponent.AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
|
|
471
|
+
),
|
|
472
|
+
React__default['default'].createElement(
|
|
473
|
+
Card__default['default'].Text,
|
|
474
|
+
{ className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
|
|
475
|
+
entities.clean_html_1(row.summary)
|
|
476
|
+
)
|
|
477
|
+
)
|
|
478
|
+
)
|
|
479
|
+
),
|
|
480
|
+
showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React__default['default'].createElement(VideoPlayer, null),
|
|
481
|
+
main.main_43 && _this3.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this3.renderMobileAd(index, numberOfItemsBeforeAd)
|
|
482
|
+
);
|
|
483
|
+
} else {
|
|
484
|
+
return React__default['default'].createElement(
|
|
485
|
+
React__default['default'].Fragment,
|
|
486
|
+
{ key: itemCounter },
|
|
487
|
+
React__default['default'].createElement(
|
|
488
|
+
'div',
|
|
489
|
+
{ counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
|
|
490
|
+
React__default['default'].createElement(
|
|
491
|
+
Card__default['default'],
|
|
492
|
+
{ className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
|
|
493
|
+
(row.thumbnail && row.thumbnail.asset || _this3.props.defaultImage) && React__default['default'].createElement(
|
|
494
|
+
'a',
|
|
495
|
+
{ href: row.url.current, className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
|
|
496
|
+
React__default['default'].createElement(
|
|
497
|
+
index$1.LazyLoad,
|
|
498
|
+
{ height: _this3.props.imageHeight },
|
|
499
|
+
React__default['default'].createElement(Card__default['default'].Img, {
|
|
500
|
+
variant: 'top',
|
|
501
|
+
src: _this3.renderCardImage(row, page),
|
|
502
|
+
alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
|
|
503
|
+
})
|
|
504
|
+
)
|
|
505
|
+
),
|
|
506
|
+
React__default['default'].createElement(
|
|
507
|
+
Card__default['default'].Body,
|
|
508
|
+
null,
|
|
509
|
+
React__default['default'].createElement(
|
|
510
|
+
'a',
|
|
511
|
+
{ href: row.url.current },
|
|
512
|
+
React__default['default'].createElement(
|
|
513
|
+
Card__default['default'].Title,
|
|
514
|
+
null,
|
|
515
|
+
row.title
|
|
516
|
+
)
|
|
517
|
+
),
|
|
518
|
+
_this3.props.showPublished && row.published && React__default['default'].createElement(
|
|
519
|
+
Card__default['default'].Subtitle,
|
|
520
|
+
{ style: { marginTop: 0 } },
|
|
521
|
+
moment.moment(row.published).format('MMMM DD, YYYY')
|
|
522
|
+
),
|
|
523
|
+
_this3.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React__default['default'].createElement(
|
|
524
|
+
index$1.LazyLoad,
|
|
525
|
+
{ height: 50 },
|
|
526
|
+
React__default['default'].createElement(AuthorComponent.AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
|
|
527
|
+
),
|
|
528
|
+
React__default['default'].createElement(
|
|
529
|
+
Card__default['default'].Text,
|
|
530
|
+
{ className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
|
|
531
|
+
entities.clean_html_1(row.summary)
|
|
532
|
+
)
|
|
533
|
+
)
|
|
534
|
+
)
|
|
535
|
+
),
|
|
536
|
+
showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React__default['default'].createElement(VideoPlayer, null),
|
|
537
|
+
main.main_43 && _this3.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this3.renderMobileAd(index, numberOfItemsBeforeAd)
|
|
538
|
+
);
|
|
539
|
+
}
|
|
540
|
+
} else if (row._type === 'lg-infeed' && row.adUnit) {
|
|
541
|
+
return React__default['default'].createElement(ADlgInfeed.ADlgInfeed, _extends._extends({ index: index }, row));
|
|
542
|
+
} else if (row._type === 'brandInsightAd' && row.adUnit) {
|
|
543
|
+
return React__default['default'].createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
|
|
544
|
+
} else if (row._type === 'publication') return React__default['default'].createElement(PublicationFeature.PublicationFeature, { data: row, defaultImage: _this3.defaultImage, issueMapping: _this3.props.issueMapping, client: _this3.client });
|
|
545
|
+
if (index + 1 > heroContent + featureCount && (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type))) {
|
|
546
|
+
return React__default['default'].createElement(
|
|
547
|
+
React__default['default'].Fragment,
|
|
548
|
+
{ key: itemCounter },
|
|
549
|
+
React__default['default'].createElement(
|
|
550
|
+
'div',
|
|
551
|
+
{ counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
|
|
552
|
+
React__default['default'].createElement(
|
|
553
|
+
Card__default['default'],
|
|
554
|
+
{ className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
|
|
555
|
+
(row.thumbnail && row.thumbnail.asset || _this3.props.defaultImage) && React__default['default'].createElement(
|
|
556
|
+
'a',
|
|
557
|
+
{ href: linkHref, className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
|
|
558
|
+
React__default['default'].createElement(
|
|
559
|
+
index$1.LazyLoad,
|
|
560
|
+
{ height: _this3.props.imageHeight },
|
|
561
|
+
React__default['default'].createElement(Card__default['default'].Img, { variant: 'top', src: _this3.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
|
|
562
|
+
)
|
|
563
|
+
),
|
|
564
|
+
React__default['default'].createElement(
|
|
565
|
+
Card__default['default'].Body,
|
|
566
|
+
null,
|
|
567
|
+
React__default['default'].createElement(
|
|
568
|
+
'a',
|
|
569
|
+
{ href: linkHref },
|
|
570
|
+
React__default['default'].createElement(
|
|
571
|
+
Card__default['default'].Title,
|
|
572
|
+
null,
|
|
573
|
+
row.title
|
|
574
|
+
)
|
|
575
|
+
),
|
|
576
|
+
_this3.props.showPublished && row.published && React__default['default'].createElement(
|
|
577
|
+
Card__default['default'].Subtitle,
|
|
578
|
+
{ style: { marginTop: 0 } },
|
|
579
|
+
moment.moment(row.published).format('MMMM DD, YYYY')
|
|
580
|
+
),
|
|
581
|
+
_this3.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React__default['default'].createElement(
|
|
582
|
+
index$1.LazyLoad,
|
|
583
|
+
{ height: 50 },
|
|
584
|
+
React__default['default'].createElement(AuthorComponent.AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
|
|
585
|
+
),
|
|
586
|
+
_this3.props.showCategory && row.contentCategory && React__default['default'].createElement(
|
|
587
|
+
index$1.LazyLoad,
|
|
588
|
+
{ height: 50 },
|
|
589
|
+
React__default['default'].createElement(
|
|
590
|
+
'p',
|
|
591
|
+
{
|
|
592
|
+
className: 'article-category',
|
|
593
|
+
style: {
|
|
594
|
+
background: '#3FB618',
|
|
595
|
+
color: '#ffffff',
|
|
596
|
+
marginBottom: '.25rem',
|
|
597
|
+
display: 'inline-block',
|
|
598
|
+
padding: '0 .25rem',
|
|
599
|
+
fontSize: '.8rem'
|
|
600
|
+
} },
|
|
601
|
+
getContentCategory.getContentCategory(row.contentCategory.name, contentCategoryMapping)
|
|
602
|
+
)
|
|
603
|
+
),
|
|
604
|
+
React__default['default'].createElement(
|
|
605
|
+
Card__default['default'].Text,
|
|
606
|
+
{ className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
|
|
607
|
+
entities.clean_html_1(row.summary)
|
|
608
|
+
)
|
|
609
|
+
)
|
|
610
|
+
)
|
|
611
|
+
),
|
|
612
|
+
showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React__default['default'].createElement(VideoPlayer, null),
|
|
613
|
+
main.main_43 && _this3.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this3.renderMobileAd(index, numberOfItemsBeforeAd)
|
|
614
|
+
);
|
|
615
|
+
} else return null;
|
|
616
|
+
}) : React__default['default'].createElement(
|
|
617
|
+
'div',
|
|
618
|
+
null,
|
|
619
|
+
React__default['default'].createElement(
|
|
620
|
+
'h5',
|
|
621
|
+
null,
|
|
622
|
+
React__default['default'].createElement(
|
|
623
|
+
'em',
|
|
624
|
+
null,
|
|
625
|
+
'New content coming soon, please check back later.'
|
|
626
|
+
)
|
|
627
|
+
)
|
|
628
|
+
)
|
|
629
|
+
);
|
|
630
|
+
}
|
|
631
|
+
}, {
|
|
632
|
+
key: 'render',
|
|
633
|
+
value: function render() {
|
|
634
|
+
var _props = this.props,
|
|
635
|
+
columns = _props.columns,
|
|
636
|
+
variant = _props.variant,
|
|
637
|
+
page = _props.page,
|
|
638
|
+
showVideo = _props.showVideo,
|
|
639
|
+
VideoPlayer = _props.VideoPlayer,
|
|
640
|
+
showBI = _props.showBI,
|
|
641
|
+
brandInsight = _props.brandInsight;
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
return React__default['default'].createElement(
|
|
645
|
+
'div',
|
|
646
|
+
{ className: 'contentDeck' },
|
|
647
|
+
this.state.isDataLoading ? React__default['default'].createElement(
|
|
648
|
+
'div',
|
|
649
|
+
{ className: 'd-flex justify-content-center', style: { marginTop: '100px' } },
|
|
650
|
+
React__default['default'].createElement(
|
|
651
|
+
Spinner__default['default'],
|
|
652
|
+
{ animation: 'border', role: 'status' },
|
|
653
|
+
React__default['default'].createElement(
|
|
654
|
+
'span',
|
|
655
|
+
{ className: 'sr-only' },
|
|
656
|
+
'Loading...'
|
|
657
|
+
)
|
|
658
|
+
)
|
|
659
|
+
) : React__default['default'].createElement(
|
|
660
|
+
React__default['default'].Fragment,
|
|
661
|
+
null,
|
|
662
|
+
React__default['default'].createElement(
|
|
663
|
+
'div',
|
|
664
|
+
{ className: 'pagination-wrapper' },
|
|
665
|
+
React__default['default'].createElement(
|
|
666
|
+
Container__default['default'],
|
|
667
|
+
null,
|
|
668
|
+
this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight, this.state.lgInfeedAd, this.state.contentCategoryMapping)
|
|
669
|
+
),
|
|
670
|
+
React__default['default'].createElement(Pagination.Pagination, {
|
|
671
|
+
pageCount: Math.ceil(this.state.totalDataCount / this.state.itemsPerPage),
|
|
672
|
+
pageRangeDisplayed: main.main_43 ? 3 : 9,
|
|
673
|
+
currentPage: this.state.currentPage,
|
|
674
|
+
onPageChange: this.handlePageChange
|
|
675
|
+
}),
|
|
676
|
+
React__default['default'].createElement(
|
|
677
|
+
'style',
|
|
678
|
+
{ jsx: 'true' },
|
|
679
|
+
'\n .pagination-wrapper {\n margin: 3rem 0;\n }\n @media only screen and (max-width: 768px) {\n .pagination-wrapper {\n margin-bottom: 6rem;\n }\n }\n '
|
|
680
|
+
)
|
|
681
|
+
)
|
|
682
|
+
)
|
|
683
|
+
);
|
|
684
|
+
}
|
|
685
|
+
}], [{
|
|
686
|
+
key: 'getDerivedStateFromProps',
|
|
687
|
+
value: function getDerivedStateFromProps(props, state) {
|
|
688
|
+
if (stringify._JSON$stringify(props.dataRecord) !== stringify._JSON$stringify(state.prevData)) {
|
|
689
|
+
return {
|
|
690
|
+
data: props.dataRecord,
|
|
691
|
+
prevData: props.dataRecord,
|
|
692
|
+
currentPage: props.currentPage
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
return null;
|
|
696
|
+
}
|
|
697
|
+
}]);
|
|
698
|
+
|
|
699
|
+
return GridContent;
|
|
700
|
+
}(React__default['default'].Component);
|
|
701
|
+
|
|
702
|
+
var GridContentPaginated = React__default['default'].memo(Router.withRouter(GridContent));
|
|
703
|
+
|
|
704
|
+
module.exports = GridContentPaginated;
|