@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.
Files changed (32) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/ContentCardPaginated.js +414 -0
  3. package/dist/cjs/DeckQueuePaginated.js +345 -0
  4. package/dist/cjs/GridContent.js +44 -157
  5. package/dist/cjs/GridContentPaginated.js +704 -0
  6. package/dist/cjs/ImageSlider-b96720eb.js +2813 -0
  7. package/dist/cjs/MasterDeckPaginated.js +446 -0
  8. package/dist/cjs/MediaSeriesCard-8b4efd28.js +9505 -0
  9. package/dist/cjs/MediaSeriesLanding.js +20 -9502
  10. package/dist/cjs/MediaSeriesLandingPaginated.js +524 -0
  11. package/dist/cjs/Pagination-8f2038bf.js +53 -0
  12. package/dist/cjs/PartnerDetailListing.js +12 -2807
  13. package/dist/cjs/PartnerDetailListingPaginated.js +314 -0
  14. package/dist/cjs/PublicationFeature-5ccf9b13.js +130 -0
  15. package/dist/cjs/QueueDeckExpandedPaginated.js +1378 -0
  16. package/dist/cjs/index.js +2 -0
  17. package/dist/esm/ContentCardPaginated.js +403 -0
  18. package/dist/esm/DeckQueuePaginated.js +334 -0
  19. package/dist/esm/GridContent.js +2 -114
  20. package/dist/esm/GridContentPaginated.js +693 -0
  21. package/dist/esm/ImageSlider-de7846ea.js +2804 -0
  22. package/dist/esm/MasterDeckPaginated.js +438 -0
  23. package/dist/esm/MediaSeriesCard-51ebf1c0.js +9495 -0
  24. package/dist/esm/MediaSeriesLanding.js +16 -9496
  25. package/dist/esm/MediaSeriesLandingPaginated.js +517 -0
  26. package/dist/esm/Pagination-c0db7ca1.js +46 -0
  27. package/dist/esm/PartnerDetailListing.js +13 -2807
  28. package/dist/esm/PartnerDetailListingPaginated.js +308 -0
  29. package/dist/esm/PublicationFeature-d88e76b9.js +121 -0
  30. package/dist/esm/QueueDeckExpandedPaginated.js +1372 -0
  31. package/dist/esm/index.js +2 -0
  32. package/package.json +2 -1
@@ -0,0 +1,524 @@
1
+ 'use strict';
2
+
3
+ var asyncToGenerator = require('./asyncToGenerator-77821af0.js');
4
+ var _typeof = require('./typeof-567e31ff.js');
5
+ var _extends = require('./extends-7c86182f.js');
6
+ var slicedToArray = require('./slicedToArray-067dd3bc.js');
7
+ var React = require('react');
8
+ var MediaSeriesCard = require('./MediaSeriesCard-8b4efd28.js');
9
+ require('./index-50be6759.js');
10
+ require('react-dom');
11
+ var Link = require('next/link');
12
+ var BlockContent = require('./BlockContent-9ebd251f.js');
13
+ var MasterDeckPaginated = require('./MasterDeckPaginated.js');
14
+ var getSerializers = require('./index-6f89aea7.js');
15
+ require('./_commonjsHelpers-06173234.js');
16
+ require('./core.get-iterator-method-5643aa10.js');
17
+ require('./web.dom.iterable-d98303e0.js');
18
+ require('./_library-dd23b178.js');
19
+ require('./_iter-detect-b1df62f0.js');
20
+ require('./_is-array-54228b29.js');
21
+ require('./_object-pie-083f2dd6.js');
22
+ require('prop-types');
23
+ require('./index-eadd5035.js');
24
+ require('./urlFor.js');
25
+ require('./index-d48b231c.js');
26
+ require('./moment-aca40de1.js');
27
+ require('./style-inject.es-dcee06b6.js');
28
+ require('./stringify-f7a37a8d.js');
29
+ require('./toConsumableArray-d7797c2b.js');
30
+ require('./inherits-de66ea16.js');
31
+ require('./_object-sap-d1978572.js');
32
+ require('./define-property-e8404b64.js');
33
+ require('./index-fc2f1ca2.js');
34
+ require('./events-1b438fe7.js');
35
+ require('react-bootstrap/Container');
36
+ require('react-bootstrap/Spinner');
37
+ require('next/router');
38
+ require('./lodash-f0783643.js');
39
+ require('./main-f1c77adb.js');
40
+ require('./ADlgInfeed-950b414b.js');
41
+ require('react-bootstrap/Card');
42
+ require('./AdSlot.js');
43
+ require('./debounce-d4a2369b.js');
44
+ require('./isSymbol-03abbdf0.js');
45
+ require('./toNumber-5e1fac58.js');
46
+ require('./Beam.js');
47
+ require('./Segment.js');
48
+ require('./ADInfeed-bce0ba07.js');
49
+ require('./Pagination-8f2038bf.js');
50
+ require('react-paginate');
51
+ require('react-bootstrap');
52
+ require('./index-187c967e.js');
53
+ require('./util-93a37fd0.js');
54
+ require('./brightcove-react-player-loader.es-a195642e.js');
55
+ require('./GroupDeck.js');
56
+ require('./smoothscroll-99df7f93.js');
57
+ require('./SocialShare.js');
58
+ require('next/head');
59
+ require('react-share');
60
+ require('./_object-to-array-ce86cae7.js');
61
+ require('react-bootstrap/Pagination');
62
+ require('react-bootstrap/Button');
63
+ require('./entities-df1aed86.js');
64
+ require('react-bootstrap/Row');
65
+ require('react-bootstrap/Col');
66
+ require('./index.esm-00a6aade.js');
67
+ require('./iconBase-be4097c0.js');
68
+ require('react-bootstrap/Figure');
69
+ require('react-bootstrap/OverlayTrigger');
70
+ require('react-bootstrap/Tooltip');
71
+ require('react-bootstrap/Popover');
72
+
73
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
74
+
75
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
76
+ var Link__default = /*#__PURE__*/_interopDefaultLegacy(Link);
77
+
78
+ var _this = undefined;
79
+
80
+ var Filter = function Filter(_ref) {
81
+ var filterData = _ref.filterData,
82
+ setFilterTopicID = _ref.setFilterTopicID;
83
+
84
+ if (!filterData || filterData.length == 0) return null;
85
+
86
+ var _useState = React.useState(null),
87
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
88
+ parentData = _useState2[0],
89
+ setParentData = _useState2[1];
90
+
91
+ var _useState3 = React.useState(null),
92
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
93
+ childData = _useState4[0],
94
+ setChildData = _useState4[1];
95
+
96
+ var _useState5 = React.useState(null),
97
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
98
+ grandChildData = _useState6[0],
99
+ setGrandChildData = _useState6[1];
100
+ /*
101
+ {parent: showAll,
102
+ chidlren: show selected from parent,
103
+ grandchildren: show selected from children
104
+ }
105
+ */
106
+
107
+
108
+ React.useEffect(function () {
109
+ if (filterData.length < 2) {
110
+ setChildData({ name: null, data: filterData[0].children, _id: filterData[0]._id });
111
+ } else {
112
+ setParentData({ name: null, data: filterData });
113
+ }
114
+ }, []);
115
+
116
+ var handleFilterSelect = function handleFilterSelect(group, type) {
117
+ if (type === 'parent') {
118
+ setParentData(function (prevState) {
119
+ return _extends._extends({}, prevState, { name: group.name ? group.name : null });
120
+ });
121
+ if (group && group.children && group.children.length > 0) {
122
+ setChildData({ data: group.children, _id: group._id });
123
+ setFilterTopicID(group._id);
124
+ } else {
125
+ //handle filter
126
+ setChildData(null);
127
+ setGrandChildData(null);
128
+ setFilterTopicID(group._id ? group._id : 'all');
129
+ }
130
+ }
131
+ if (type === 'child') {
132
+ setChildData(function (prevState) {
133
+ return _extends._extends({}, prevState, { name: group.name ? group.name : null, _id: group._id });
134
+ });
135
+ if (group && group.grandchildren && group.grandchildren.length > 0) {
136
+ setGrandChildData({ data: group.grandchildren, _id: group._id });
137
+ setFilterTopicID(group._id);
138
+ var topics = [];
139
+ topics.push(group._id);
140
+ group.grandchildren.forEach(function (topic) {
141
+ topics.push(topic._id);
142
+ });
143
+ setFilterTopicID(topics);
144
+ } else {
145
+ //handle filter
146
+ setGrandChildData(null);
147
+ setFilterTopicID(group._id ? group._id : 'all');
148
+ }
149
+ }
150
+ if (type === 'grandchild') {
151
+ setGrandChildData(function (prevState) {
152
+ return _extends._extends({}, prevState, { name: group.name ? group.name : 'All', _id: group._id });
153
+ });
154
+ //handle filter
155
+ if (!group._id) {
156
+ var _topics = [];
157
+ _topics.push(childData._id);
158
+ grandChildData.data.forEach(function (topic) {
159
+ _topics.push(topic._id);
160
+ });
161
+ setFilterTopicID(_topics);
162
+ } else {
163
+ setFilterTopicID([group._id, childData._id]);
164
+ }
165
+ }
166
+ };
167
+
168
+ return React__default['default'].createElement(
169
+ 'div',
170
+ { className: 'flex-container' },
171
+ parentData && React__default['default'].createElement(
172
+ MediaSeriesCard.DropdownButton,
173
+ { drop: 'down', style: { borderRadius: '3px' }, className: 'filter-btn', title: parentData.name ? parentData.name : 'Filter By Category' },
174
+ React__default['default'].createElement(
175
+ MediaSeriesCard.Dropdown.Item,
176
+ { onSelect: function onSelect() {
177
+ return handleFilterSelect({}, 'parent');
178
+ } },
179
+ 'All'
180
+ ),
181
+ parentData.data.map(function (docGroup) {
182
+ if (!docGroup._id) return null;
183
+ return React__default['default'].createElement(
184
+ MediaSeriesCard.Dropdown.Item,
185
+ { key: docGroup._id, onSelect: function onSelect() {
186
+ return handleFilterSelect(docGroup, 'parent');
187
+ } },
188
+ docGroup.name
189
+ );
190
+ })
191
+ ),
192
+ childData && childData.data && childData.data.length > 0 && React__default['default'].createElement(
193
+ MediaSeriesCard.DropdownButton,
194
+ { drop: 'down', style: { borderRadius: '3px' }, className: 'filter-btn ml-3', title: childData.name ? childData.name : 'Filter By Topic' },
195
+ React__default['default'].createElement(
196
+ MediaSeriesCard.Dropdown.Item,
197
+ { onSelect: function onSelect() {
198
+ return handleFilterSelect({}, 'child');
199
+ } },
200
+ 'All'
201
+ ),
202
+ childData.data.map(function (docGroup) {
203
+ if (!docGroup._id) return null;
204
+ return React__default['default'].createElement(
205
+ MediaSeriesCard.Dropdown.Item,
206
+ { key: docGroup._id, onSelect: function onSelect() {
207
+ return handleFilterSelect(docGroup, 'child');
208
+ } },
209
+ docGroup.name
210
+ );
211
+ })
212
+ ),
213
+ grandChildData && grandChildData.data && grandChildData.data.length > 0 && React__default['default'].createElement(
214
+ MediaSeriesCard.DropdownButton,
215
+ { drop: 'down', style: { borderRadius: '3px' }, className: 'filter-btn ml-3', title: grandChildData.name ? grandChildData.name : 'Select Sub Topic' },
216
+ React__default['default'].createElement(
217
+ MediaSeriesCard.Dropdown.Item,
218
+ { onSelect: function onSelect() {
219
+ return handleFilterSelect({}, 'grandchild');
220
+ } },
221
+ 'All'
222
+ ),
223
+ grandChildData.data.map(function (docGroup) {
224
+ if (!docGroup._id) return null;
225
+ return React__default['default'].createElement(
226
+ MediaSeriesCard.Dropdown.Item,
227
+ { key: docGroup._id, onSelect: function onSelect() {
228
+ return handleFilterSelect(docGroup, 'grandchild');
229
+ } },
230
+ docGroup.name
231
+ );
232
+ })
233
+ ),
234
+ React__default['default'].createElement(
235
+ 'style',
236
+ { jsx: 'true' },
237
+ '\n .flex-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .filter-btn button {\n border-radius: 3px;\n z-index: 99999;\n }\n .filter-btn .dropdown-menu {\n z-index: 9999999;\n }\n @media (max-width: 768px) {\n .flex-container {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n '
238
+ )
239
+ );
240
+ };
241
+
242
+ var MediaSeriesLanding = function MediaSeriesLanding(props) {
243
+ var client = props.client,
244
+ pageview = props.pageview;
245
+
246
+ var _useState7 = React.useState(false),
247
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
248
+ filterTopicID = _useState8[0],
249
+ setFilterTopicID = _useState8[1];
250
+
251
+ var _useState9 = React.useState(props.seriesData),
252
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
253
+ seriesData = _useState10[0],
254
+ setSeriesData = _useState10[1];
255
+
256
+ var _useState11 = React.useState(props.totalSeriesCount),
257
+ _useState12 = slicedToArray._slicedToArray(_useState11, 2),
258
+ totalSeriesCount = _useState12[0],
259
+ setTotalSeriesCount = _useState12[1];
260
+
261
+ var _useState13 = React.useState(props.params),
262
+ _useState14 = slicedToArray._slicedToArray(_useState13, 2),
263
+ params = _useState14[0],
264
+ setParams = _useState14[1];
265
+
266
+ var _useState15 = React.useState(props.query),
267
+ _useState16 = slicedToArray._slicedToArray(_useState15, 2),
268
+ query = _useState16[0],
269
+ setQuery = _useState16[1];
270
+
271
+ var _useState17 = React.useState(props.currentPage),
272
+ _useState18 = slicedToArray._slicedToArray(_useState17, 2),
273
+ currentPage = _useState18[0],
274
+ setCurrentPage = _useState18[1];
275
+
276
+ React.useEffect(function () {
277
+ if (filterTopicID) {
278
+ fetchFilteredData();
279
+ }
280
+ }, [filterTopicID]);
281
+
282
+ var fetchFilteredData = function () {
283
+ var _ref2 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
284
+ var newParams, filterQuery, x, seriesQuerySorts, seriesQueryProjection, seriesQueryFilters, seriesQuery, totalSeriesCountQuery, _ref3, _ref4, newData, newDataCount;
285
+
286
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
287
+ while (1) {
288
+ switch (_context.prev = _context.next) {
289
+ case 0:
290
+ newParams = _extends._extends({}, params, { from: 0, to: 30 });
291
+ filterQuery = void 0;
292
+
293
+ if ((typeof filterTopicID === 'undefined' ? 'undefined' : _typeof._typeof(filterTopicID)) === 'object') {
294
+ filterQuery = '[';
295
+ for (x = 0; x < filterTopicID.length; x++) {
296
+ filterQuery = filterQuery + (' references(\'' + filterTopicID[x] + '\') ');
297
+ if (x === filterTopicID.length - 1) {
298
+ filterQuery = filterQuery + ']';
299
+ } else {
300
+ filterQuery = filterQuery + ' || ';
301
+ }
302
+ }
303
+ } else {
304
+ filterQuery = filterTopicID !== 'all' ? '[references(\'' + filterTopicID + '\')]' : '';
305
+ }
306
+
307
+ seriesQuerySorts = props.seriesQuerySorts, seriesQueryProjection = props.seriesQueryProjection;
308
+ seriesQueryFilters = props.seriesQueryFilters;
309
+
310
+ seriesQueryFilters = filterQuery ? [seriesQueryFilters, filterQuery] : seriesQueryFilters;
311
+ seriesQuery = ['*'].concat(seriesQueryFilters).concat(seriesQuerySorts).concat(seriesQueryProjection).join('|');
312
+ totalSeriesCountQuery = 'count(' + ['*'].concat(seriesQueryFilters).join('|') + ')';
313
+ _context.next = 10;
314
+ return asyncToGenerator._Promise.all([client.fetch(seriesQuery, newParams), client.fetch(totalSeriesCountQuery)]);
315
+
316
+ case 10:
317
+ _ref3 = _context.sent;
318
+ _ref4 = slicedToArray._slicedToArray(_ref3, 2);
319
+ newData = _ref4[0];
320
+ newDataCount = _ref4[1];
321
+
322
+
323
+ setParams(newParams);
324
+ setQuery(seriesQuery);
325
+ setSeriesData(newData);
326
+ setTotalSeriesCount(newDataCount);
327
+ setCurrentPage(1);
328
+
329
+ case 19:
330
+ case 'end':
331
+ return _context.stop();
332
+ }
333
+ }
334
+ }, _callee, _this);
335
+ }));
336
+
337
+ return function fetchFilteredData() {
338
+ return _ref2.apply(this, arguments);
339
+ };
340
+ }();
341
+
342
+ if (props.statusCode === 404) {
343
+ return React__default['default'].createElement(
344
+ 'div',
345
+ { className: 'd-flex flex-column align-items-center mt-3' },
346
+ React__default['default'].createElement(
347
+ 'h3',
348
+ null,
349
+ '404: Resource not found'
350
+ ),
351
+ React__default['default'].createElement(
352
+ 'p',
353
+ null,
354
+ 'We seem to have misplaced the page you\'re looking for. Sorry! Please try checking the URL for errors.'
355
+ ),
356
+ React__default['default'].createElement(
357
+ 'p',
358
+ null,
359
+ 'Click here to',
360
+ React__default['default'].createElement(
361
+ Link__default['default'],
362
+ { href: '/' },
363
+ React__default['default'].createElement(
364
+ 'a',
365
+ { style: { color: 'blue', textDecoration: 'underline' } },
366
+ ' return to homepage.'
367
+ )
368
+ )
369
+ )
370
+ );
371
+ }
372
+
373
+ return React__default['default'].createElement(
374
+ 'div',
375
+ { className: 'mb-5' },
376
+ props.docGroup && props.docGroup.description && React__default['default'].createElement(BlockContent.BlockContent, { blocks: props.docGroup.description, serializers: getSerializers.getSerializers(client) }),
377
+ props.taxonomyFilter && props.taxonomyFilter && React__default['default'].createElement(
378
+ 'div',
379
+ { className: '' },
380
+ React__default['default'].createElement(Filter, { setFilterTopicID: setFilterTopicID, filterData: props.taxonomyFilter }),
381
+ React__default['default'].createElement('hr', null)
382
+ ),
383
+ seriesData && React__default['default'].createElement(MasterDeckPaginated, {
384
+ deck: MediaSeriesCard.MediaSeriesCard,
385
+ variant: 'left',
386
+ defaultImage: '/placeholder.jpg',
387
+ client: client,
388
+ dataRecord: seriesData,
389
+ totalDataCount: totalSeriesCount,
390
+ query: query && query,
391
+ params: params && params,
392
+ currentPage: currentPage,
393
+ pageview: pageview,
394
+ autoScroll: true,
395
+ seoPaginate: true
396
+ })
397
+ );
398
+ };
399
+
400
+ MediaSeriesLanding.getInitialData = function () {
401
+ var _ref5 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee2(ctx, client, cache) {
402
+ var urlQuery, pathname, identifier, itemsPerPage, currentPage, start, statusCode, params, docGroupID, seriesQueryFilters, seriesQuerySorts, seriesQueryProjection, seriesQuery, totalSeriesCountQuery, _ref6, _ref7, seriesData, totalSeriesCount, allSeries, buildUsedTopicsArray, usedTopics, taxonomyFilter;
403
+
404
+ return asyncToGenerator.regenerator.wrap(function _callee2$(_context2) {
405
+ while (1) {
406
+ switch (_context2.prev = _context2.next) {
407
+ case 0:
408
+ urlQuery = ctx.query, pathname = ctx.pathname;
409
+ identifier = pathname.replace('/', '');
410
+ itemsPerPage = 30;
411
+ currentPage = urlQuery.page ? parseInt(urlQuery.page) : 1;
412
+ start = (currentPage - 1) * itemsPerPage;
413
+ statusCode = 200;
414
+ params = {
415
+ count: itemsPerPage,
416
+ from: start,
417
+ to: start + itemsPerPage,
418
+ url: pathname
419
+ };
420
+ _context2.next = 9;
421
+ return client.fetch('*[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\'][0]{\n _id, \n isGated,\n name,\n description\n }');
422
+
423
+ case 9:
424
+ docGroupID = _context2.sent;
425
+ seriesQueryFilters = '[\n _type == \'documentGroup\' \n && references(\'' + docGroupID._id + '\') \n && isSeries != false \n && isShow != false \n && defined(published) \n && published <= now()\n ]';
426
+ seriesQuerySorts = 'order(published desc) [$from...$to]';
427
+ seriesQueryProjection = '{\n _id,\n name,\n identifier,\n published,\n thumbnail,\n description,\n topicMapping[]->,\n isGated,\n \'parentUrl\': \'' + identifier + '\'\n }';
428
+ seriesQuery = ['*'].concat(seriesQueryFilters).concat(seriesQuerySorts).concat(seriesQueryProjection).join('|');
429
+ totalSeriesCountQuery = 'count(' + ['*'].concat(seriesQueryFilters).join('|') + ')';
430
+ _context2.next = 17;
431
+ return asyncToGenerator._Promise.all([client.fetch(seriesQuery, params), client.fetch(totalSeriesCountQuery)]);
432
+
433
+ case 17:
434
+ _ref6 = _context2.sent;
435
+ _ref7 = slicedToArray._slicedToArray(_ref6, 2);
436
+ seriesData = _ref7[0];
437
+ totalSeriesCount = _ref7[1];
438
+ _context2.next = 23;
439
+ return client.fetch('*[_type == \'documentGroup\' && references(\'' + docGroupID._id + '\') && isSeries != false && isShow != false && defined(published) && dateTime(published) <= dateTime(now()) ] {\n topicMapping[]->\n }');
440
+
441
+ case 23:
442
+ allSeries = _context2.sent;
443
+
444
+ //Take all series topicMapping and put in an array
445
+ buildUsedTopicsArray = function buildUsedTopicsArray(seriesArray) {
446
+ var usedTopics = [];
447
+ for (var x = 0; x < seriesArray.length; x++) {
448
+ if (seriesArray[x].topicMapping) {
449
+ seriesArray[x].topicMapping.forEach(function (topic) {
450
+ if (!usedTopics.includes(topic._id)) {
451
+ usedTopics.push(topic._id);
452
+ }
453
+ });
454
+ }
455
+ }
456
+ return usedTopics;
457
+ };
458
+
459
+ usedTopics = buildUsedTopicsArray(allSeries);
460
+ _context2.next = 28;
461
+ return client.fetch('\n *[_type == \'taxonomy\' && !defined(parent) && isMainTopic]{\n _id,\n identifier,\n name,\n "children": *[_type == \'taxonomy\' && references(^._id)]{\n _id,\n name,\n identifier,\n "grandchildren": *[_type == \'taxonomy\' && references(^._id)]\n }\t\n }');
462
+
463
+ case 28:
464
+ taxonomyFilter = _context2.sent;
465
+
466
+
467
+ taxonomyFilter.forEach(function (topic) {
468
+ if (topic.children) {
469
+ topic.children.forEach(function (child) {
470
+ if (child.grandchildren) {
471
+ child.grandchildren = child.grandchildren.filter(function (grandchild) {
472
+ if (!usedTopics.includes(grandchild._id)) {
473
+ return false;
474
+ }
475
+ return true;
476
+ });
477
+ }
478
+ if (!usedTopics.includes(child._id) || !child.grandchildren) {
479
+ child._id = null;
480
+ child.name = null;
481
+ }
482
+ });
483
+
484
+ topic.children = topic.children.filter(function (child) {
485
+ return child._id !== null;
486
+ });
487
+ }
488
+ });
489
+
490
+ if (currentPage > 1 && seriesData.length === 0) {
491
+ statusCode = 404;
492
+ }
493
+
494
+ return _context2.abrupt('return', {
495
+ seriesData: seriesData,
496
+ totalSeriesCount: totalSeriesCount,
497
+ query: seriesQuery,
498
+ seriesQueryFilters: seriesQueryFilters,
499
+ seriesQuerySorts: seriesQuerySorts,
500
+ seriesQueryProjection: seriesQueryProjection,
501
+ params: params,
502
+ currentPage: currentPage,
503
+ taxonomyFilter: taxonomyFilter,
504
+ identifier: identifier,
505
+ docGroupID: docGroupID._id,
506
+ parentUrl: identifier,
507
+ statusCode: statusCode,
508
+ docGroup: docGroupID
509
+ });
510
+
511
+ case 32:
512
+ case 'end':
513
+ return _context2.stop();
514
+ }
515
+ }
516
+ }, _callee2, _this);
517
+ }));
518
+
519
+ return function (_x, _x2, _x3) {
520
+ return _ref5.apply(this, arguments);
521
+ };
522
+ }();
523
+
524
+ module.exports = MediaSeriesLanding;
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var ReactPaginate = require('react-paginate');
5
+
6
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
+ var ReactPaginate__default = /*#__PURE__*/_interopDefaultLegacy(ReactPaginate);
10
+
11
+ var Pagination = function Pagination(props) {
12
+ var pageCount = props.pageCount,
13
+ _props$marginPagesDis = props.marginPagesDisplayed,
14
+ marginPagesDisplayed = _props$marginPagesDis === undefined ? 1 : _props$marginPagesDis,
15
+ _props$pageRangeDispl = props.pageRangeDisplayed,
16
+ pageRangeDisplayed = _props$pageRangeDispl === undefined ? 5 : _props$pageRangeDispl,
17
+ _props$currentPage = props.currentPage,
18
+ currentPage = _props$currentPage === undefined ? 1 : _props$currentPage,
19
+ _onPageChange = props.onPageChange;
20
+
21
+ if (!pageCount || pageCount <= 1) return null;
22
+ return React__default['default'].createElement(
23
+ React__default['default'].Fragment,
24
+ null,
25
+ React__default['default'].createElement(ReactPaginate__default['default'], {
26
+ pageCount: pageCount,
27
+ marginPagesDisplayed: marginPagesDisplayed,
28
+ pageRangeDisplayed: pageRangeDisplayed,
29
+ forcePage: currentPage - 1,
30
+ onPageChange: function onPageChange(_ref) {
31
+ var selected = _ref.selected;
32
+ return _onPageChange(selected + 1);
33
+ },
34
+ hrefBuilder: function hrefBuilder(page) {
35
+ return '?page=' + page;
36
+ },
37
+ previousLabel: '<',
38
+ nextLabel: '>',
39
+ containerClassName: 'pagination-container',
40
+ previousLinkClassName: 'previous',
41
+ nextLinkClassName: 'next',
42
+ disabledClassName: 'disbaled',
43
+ activeClassName: 'active'
44
+ }),
45
+ React__default['default'].createElement(
46
+ 'style',
47
+ { jsx: 'true' },
48
+ '\n .pagination-container {\n list-style: none;\n padding: 10px 0;\n margin: 0;\n display: flex;\n overflow: auto;\n }\n .pagination-container::before,\n .pagination-container::after {\n content: \'\';\n margin: 0 auto;\n }\n .pagination-container::-webkit-scrollbar {\n height: 6px;\n }\n .pagination-container a {\n padding: 10px;\n border: 1px solid #dee2e6;\n }\n .pagination-container a:hover {\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n }\n .pagination-container .active a {\n color: #fff;\n background-color: #666;\n background-color: var(--primary);\n border-color: #007bff;\n }\n .pagination-container .previous a {\n border-radius: 5px 0 0 5px;\n }\n .pagination-container .next a {\n border-radius: 0 5px 5px 0;\n }\n .pagination-container .disbaled a {\n cursor: default;\n }\n '
49
+ )
50
+ );
51
+ };
52
+
53
+ exports.Pagination = Pagination;