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