@mjhls/mjh-framework 1.0.769-inf-scroll-test-v2 → 1.0.769-pagination-test

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 (33) hide show
  1. package/dist/cjs/AD728x90.js +4 -1
  2. package/dist/cjs/ArticleProgramLandingPage.js +1 -1
  3. package/dist/cjs/ExternalResources.js +1 -1
  4. package/dist/cjs/HorizontalArticleListing.js +1 -1
  5. package/dist/cjs/MediaSeriesLanding.js +8 -5
  6. package/dist/cjs/PartnerDetailListing.js +1 -1
  7. package/dist/cjs/SeriesListingDeck.js +102 -28
  8. package/dist/cjs/{SeriesSlider-7dbeaa51.js → SeriesSlider-3fdabc5e.js} +1 -1
  9. package/dist/cjs/TaxonomyDescription.js +1 -1
  10. package/dist/cjs/VideoProgramLandingPage.js +1 -1
  11. package/dist/cjs/VideoSeriesListing.js +2 -2
  12. package/dist/cjs/View.js +116 -107
  13. package/dist/cjs/YoutubeGroup.js +5 -5
  14. package/dist/cjs/getSerializers.js +1 -1
  15. package/dist/cjs/{index-50f1b226.js → index-b367bc0c.js} +1 -0
  16. package/dist/cjs/index.js +2 -2
  17. package/dist/esm/AD728x90.js +4 -1
  18. package/dist/esm/ArticleProgramLandingPage.js +1 -1
  19. package/dist/esm/ExternalResources.js +1 -1
  20. package/dist/esm/HorizontalArticleListing.js +1 -1
  21. package/dist/esm/MediaSeriesLanding.js +8 -5
  22. package/dist/esm/PartnerDetailListing.js +1 -1
  23. package/dist/esm/SeriesListingDeck.js +102 -28
  24. package/dist/esm/{SeriesSlider-c324917a.js → SeriesSlider-bc3cfd8f.js} +1 -1
  25. package/dist/esm/TaxonomyDescription.js +1 -1
  26. package/dist/esm/VideoProgramLandingPage.js +1 -1
  27. package/dist/esm/VideoSeriesListing.js +2 -2
  28. package/dist/esm/View.js +117 -108
  29. package/dist/esm/YoutubeGroup.js +5 -5
  30. package/dist/esm/getSerializers.js +1 -1
  31. package/dist/esm/{index-821c8b90.js → index-cc931a8f.js} +1 -1
  32. package/dist/esm/index.js +2 -2
  33. package/package.json +1 -1
@@ -83,8 +83,11 @@ var AD728x90 = function AD728x90(_ref) {
83
83
  className: 'AD728x90',
84
84
  sizes: mobileView ? mobileSizes : browserSizes,
85
85
  sizeMapping: [{
86
- viewport: [768, 1],
86
+ viewport: [1000, 1],
87
87
  sizes: [[728, 90], [970, 90]]
88
+ }, {
89
+ viewport: [768, 1],
90
+ sizes: [[728, 90]]
88
91
  }, {
89
92
  viewport: [1, 1],
90
93
  sizes: [[320, 50], [300, 50]]
@@ -5,7 +5,7 @@ var slicedToArray = require('./slicedToArray-5d1bc3b3.js');
5
5
  var _extends = require('./extends-9d158713.js');
6
6
  var React = require('react');
7
7
  var BlockContent = require('./BlockContent-36e54d77.js');
8
- var getSerializers = require('./index-50f1b226.js');
8
+ var getSerializers = require('./index-b367bc0c.js');
9
9
  var ArticleSeriesListing = require('./ArticleSeriesListing.js');
10
10
  require('./_commonjsHelpers-06173234.js');
11
11
  require('./es6.string.iterator-c2573ffd.js');
@@ -4,7 +4,7 @@ var _extends = require('./extends-9d158713.js');
4
4
  var slicedToArray = require('./slicedToArray-5d1bc3b3.js');
5
5
  var React = require('react');
6
6
  var BlockContent = require('./BlockContent-36e54d77.js');
7
- var getSerializers = require('./index-50f1b226.js');
7
+ var getSerializers = require('./index-b367bc0c.js');
8
8
  var index = require('./index-f86bb269.js');
9
9
  var Router = require('next/router');
10
10
  var Button = require('react-bootstrap/Button');
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var ArticleCarousel = require('./ArticleCarousel.js');
6
6
  var index_esm = require('./index.esm-974f47d9.js');
7
7
  var BlockContent = require('./BlockContent-36e54d77.js');
8
- var getSerializers = require('./index-50f1b226.js');
8
+ var getSerializers = require('./index-b367bc0c.js');
9
9
  require('./_commonjsHelpers-06173234.js');
10
10
  require('./_to-object-6de10e57.js');
11
11
  require('./_object-pie-083f2dd6.js');
@@ -16,15 +16,18 @@ require('./_iter-detect-55a5657a.js');
16
16
  require('./_object-pie-083f2dd6.js');
17
17
  require('./toConsumableArray-ddb70795.js');
18
18
  require('./slicedToArray-5d1bc3b3.js');
19
- require('./index-efca863c.js');
19
+ require('next/router');
20
+ require('./index-0e4427c8.js');
21
+ require('prop-types');
20
22
  require('./index.es-f3e47207.js');
21
- require('./SeriesSlider-7dbeaa51.js');
23
+ require('./SeriesSlider-3fdabc5e.js');
22
24
  require('./index-187c967e.js');
23
25
  require('./index-80f57cff.js');
24
26
  require('react-dom');
25
- require('prop-types');
26
27
  require('./smoothscroll-99df7f93.js');
28
+ require('./index-efca863c.js');
27
29
  require('./main-025fdc78.js');
30
+ require('./visibility-sensor-8b54af99.js');
28
31
 
29
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
33
 
@@ -89,7 +92,7 @@ MediaSeriesLanding.getInitialData = function () {
89
92
  to: start + itemsPerPage,
90
93
  url: pathname
91
94
  };
92
- seriesQuery = '*[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\' && isShow != false][0]{\n _id,\n name,\n identifier,\n \'series\': *[_type == \'documentGroup\' && references(^._id) && isSeries != false && isShow != false] | order(_createdAt desc)[$from...$to]{\n _id,\n name,\n identifier,\n \'articles\': \n *[!(_id in path("drafts.**")) \n && _type == "article"\n && defined(title)\n && is_visible\n && defined(url)\n && references(^._id)\n && passwordLock != true\n && defined(published)\n && dateTime(published) <= dateTime(now())\n ] | order(published desc) {\n ...,\n title,\n summary,\n thumbnail,\n url,\n published,\n authorMapping[0]->,\n taxonomyMapping[]->,\n contentCategory->,\n \'pageNumber\': ' + currentPage + '\n }\n\n }\n}';
95
+ seriesQuery = '*[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\'][0]{\n _id,\n name,\n identifier,\n \'series\': *[_type == \'documentGroup\' && references(^._id) && isSeries != false && isShow != false] | order(published desc) [$from...$to]{\n _id,\n name,\n identifier,\n \'articles\': \n *[!(_id in path("drafts.**")) \n && _type == "article"\n && defined(title)\n && is_visible\n && defined(url)\n && references(^._id)\n && passwordLock != true\n && defined(published)\n && dateTime(published) <= dateTime(now())\n ] | order(published asc) {\n ...,\n title,\n summary,\n thumbnail,\n url,\n published,\n authorMapping[0]->,\n taxonomyMapping[]->,\n contentCategory->,\n \'pageNumber\': ' + currentPage + '\n }\n\n }\n}';
93
96
  _context.next = 9;
94
97
  return client.fetch(seriesQuery, params);
95
98
 
@@ -97,7 +100,7 @@ MediaSeriesLanding.getInitialData = function () {
97
100
  seriesData = _context.sent;
98
101
  filterDropDownData = [];
99
102
  _context.next = 13;
100
- return client.fetch('*[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\'][0]{\n _id,\n name,\n identifier,\n \'series\': *[_type == \'documentGroup\' && references(^._id) && isSeries != false]{\n _id,\n name,\n identifier\n \n }\n }');
103
+ return client.fetch('*[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\'][0]{\n _id,\n name,\n identifier,\n \'series\': *[_type == \'documentGroup\' && references(^._id) && isSeries != false && isShow != false]{\n _id,\n name,\n identifier\n \n }\n }');
101
104
 
102
105
  case 13:
103
106
  allSeries = _context.sent;
@@ -12,7 +12,7 @@ var QueueDeckExpanded = require('./QueueDeckExpanded.js');
12
12
  var Breadcrumbs = require('./Breadcrumbs.js');
13
13
  var Feature = require('./Feature.js');
14
14
  var urlFor = require('./urlFor.js');
15
- var getSerializers = require('./index-50f1b226.js');
15
+ var getSerializers = require('./index-b367bc0c.js');
16
16
  var BlockContent = require('./BlockContent-36e54d77.js');
17
17
  require('./_commonjsHelpers-06173234.js');
18
18
  require('./es6.string.iterator-c2573ffd.js');
@@ -4,9 +4,11 @@ var toConsumableArray = require('./toConsumableArray-ddb70795.js');
4
4
  var _extends = require('./extends-9d158713.js');
5
5
  var slicedToArray = require('./slicedToArray-5d1bc3b3.js');
6
6
  var React = require('react');
7
- require('./index-efca863c.js');
7
+ var Router = require('next/router');
8
+ var index = require('./index-0e4427c8.js');
8
9
  var index_es = require('./index.es-f3e47207.js');
9
- var SeriesSlider = require('./SeriesSlider-7dbeaa51.js');
10
+ var SeriesSlider = require('./SeriesSlider-3fdabc5e.js');
11
+ var visibilitySensor = require('./visibility-sensor-8b54af99.js');
10
12
  require('./_commonjsHelpers-06173234.js');
11
13
  require('./es6.string.iterator-c2573ffd.js');
12
14
  require('./_to-object-6de10e57.js');
@@ -14,11 +16,12 @@ require('./_iter-detect-55a5657a.js');
14
16
  require('./core.get-iterator-method-f474eacc.js');
15
17
  require('./_object-pie-083f2dd6.js');
16
18
  require('./web.dom.iterable-46657b5c.js');
19
+ require('prop-types');
17
20
  require('./index-187c967e.js');
18
21
  require('./index-80f57cff.js');
19
22
  require('react-dom');
20
- require('prop-types');
21
23
  require('./smoothscroll-99df7f93.js');
24
+ require('./index-efca863c.js');
22
25
  require('./main-025fdc78.js');
23
26
 
24
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -34,14 +37,13 @@ var usePrevious = function usePrevious(value) {
34
37
  };
35
38
 
36
39
  var SeriesListingDeck = function SeriesListingDeck(props) {
37
- var data = props.data;
38
- props.imageHeight;
39
- props.imageWidth;
40
- props.Website;
41
- var client = props.client,
40
+ var data = props.data,
41
+ client = props.client,
42
42
  query = props.query,
43
43
  params = props.params,
44
- parentIdentifier = props.identifier;
44
+ parentIdentifier = props.identifier,
45
+ initialCurrentPage = props.currentPage,
46
+ pageview = props.pageview;
45
47
 
46
48
  var _useState = React.useState(params ? params.count : 0),
47
49
  _useState2 = slicedToArray._slicedToArray(_useState, 1),
@@ -57,17 +59,24 @@ var SeriesListingDeck = function SeriesListingDeck(props) {
57
59
  seriesData = _useState6[0],
58
60
  setSeriesData = _useState6[1];
59
61
 
60
- var _useState7 = React.useState({
62
+ var _useState7 = React.useState(initialCurrentPage || 1),
63
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
64
+ currentPage = _useState8[0],
65
+ setCurrentPage = _useState8[1];
66
+
67
+ var _useState9 = React.useState({
61
68
  from: params ? params.from : 0,
62
69
  to: params ? params.to : 0,
63
70
  page: 1
64
71
  }),
65
- _useState8 = slicedToArray._slicedToArray(_useState7, 2),
66
- values = _useState8[0],
67
- setValues = _useState8[1];
72
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
73
+ values = _useState10[0],
74
+ setValues = _useState10[1];
68
75
 
69
76
  var prevValues = usePrevious(values);
70
77
 
78
+ var router = Router.useRouter();
79
+
71
80
  var loadMore = function loadMore() {
72
81
  setValues({
73
82
  page: values.page + 1,
@@ -76,6 +85,62 @@ var SeriesListingDeck = function SeriesListingDeck(props) {
76
85
  });
77
86
  };
78
87
 
88
+ var changePageNumber = function changePageNumber(pageNumber, arrIndex, pageview) {
89
+ if (pageNumber) {
90
+ var path = router.asPath;
91
+ var qrIndex = path.indexOf('?');
92
+ var pathname = router.pathname;
93
+ var queryString = '';
94
+
95
+ if (qrIndex > 0) {
96
+ path = path.substring(1, qrIndex);
97
+
98
+ var partialQS = router.asPath.substring(qrIndex + 1);
99
+ var partialQSArr = partialQS.split('&');
100
+
101
+ // exclude page=xxx from query string
102
+ partialQSArr.map(function (item) {
103
+ var itemArr = item.split('=');
104
+ var key = itemArr[0];
105
+ var val = itemArr[1];
106
+
107
+ if (key !== 'page') {
108
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
109
+ }
110
+ });
111
+ }
112
+
113
+ if (queryString.length > 0) {
114
+ path += '?' + queryString;
115
+ }
116
+
117
+ // pageNumber = parseInt(pageNumber)
118
+ var index$1 = Number(arrIndex);
119
+ var perPage = 6;
120
+
121
+ pageNumber = Math.ceil((index$1 + 1) / perPage);
122
+
123
+ if (currentPage !== pageNumber) {
124
+ index.lib_3.refresh();
125
+
126
+ setCurrentPage(pageNumber);
127
+ if (path[0] !== '/') {
128
+ path = '/' + path;
129
+ }
130
+
131
+ var newPath = pageNumber === 1 ? '' + path : '' + path + (queryString.length > 0 ? '&' : '?') + 'page=' + pageNumber;
132
+
133
+ if (pageview) {
134
+ pageview(newPath);
135
+ }
136
+
137
+ router.push(pathname, newPath, {
138
+ shallow: true
139
+ });
140
+ }
141
+ }
142
+ };
143
+
79
144
  var loadData = function loadData(values, query, client, params, setSeriesData, setScrolling) {
80
145
  params = _extends._extends({}, params, {
81
146
  from: values.from,
@@ -134,25 +199,34 @@ var SeriesListingDeck = function SeriesListingDeck(props) {
134
199
  seriesData && seriesData.length ? React__default['default'].createElement(
135
200
  'div',
136
201
  null,
137
- seriesData.map(function (series) {
202
+ seriesData.map(function (series, index) {
138
203
  return React__default['default'].createElement(
139
- 'div',
140
- { className: 'mb-5', key: series.name },
204
+ visibilitySensor.VisibilitySensor,
205
+ {
206
+ key: series._id ? series._id : index,
207
+ partialVisibility: true,
208
+ onChange: function onChange(isVisible) {
209
+ isVisible && changePageNumber(currentPage, index, pageview);
210
+ } },
141
211
  React__default['default'].createElement(
142
212
  'div',
143
- { style: { fontSize: '20px', borderBottom: '1px solid #eee', margin: '0 .5rem', color: '373a3c' } },
213
+ { className: 'mb-5', key: series.name },
144
214
  React__default['default'].createElement(
145
- 'a',
146
- { href: '/' + parentIdentifier + '/' + series.identifier.current },
147
- series.name
148
- )
149
- ),
150
- series.articles && series.articles.length == 0 && React__default['default'].createElement(
151
- 'p',
152
- { className: 'mt-2 ml-2' },
153
- 'Please check back for more content.'
154
- ),
155
- series.articles && series.articles.length > 0 && React__default['default'].createElement(SeriesSlider.SeriesSlider, _extends._extends({}, props, { dataset: series.articles, client: client }))
215
+ 'div',
216
+ { style: { fontSize: '20px', fontWeight: 'bold', borderBottom: '1px solid #eee', margin: '0 .5rem', color: '373a3c' } },
217
+ React__default['default'].createElement(
218
+ 'a',
219
+ { href: '/' + parentIdentifier + '/' + series.identifier.current },
220
+ series.name
221
+ )
222
+ ),
223
+ series.articles && series.articles.length == 0 && React__default['default'].createElement(
224
+ 'p',
225
+ { className: 'mt-2 ml-2' },
226
+ 'Please check back for more content.'
227
+ ),
228
+ series.articles && series.articles.length > 0 && React__default['default'].createElement(SeriesSlider.SeriesSlider, _extends._extends({}, props, { dataset: series.articles, client: client }))
229
+ )
156
230
  );
157
231
  })
158
232
  ) : React__default['default'].createElement(
@@ -288,7 +288,7 @@ var SeriesSlider = function SeriesSlider(_ref) {
288
288
  'span',
289
289
  null,
290
290
  'EP. ',
291
- dataset.length - index$2,
291
+ index$2 + 1,
292
292
  ': ',
293
293
  article.title
294
294
  ) : article.title
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var Router = require('next/router');
7
7
  var Head = require('next/head');
8
8
  var BlockContent = require('./BlockContent-36e54d77.js');
9
- var getSerializers = require('./index-50f1b226.js');
9
+ var getSerializers = require('./index-b367bc0c.js');
10
10
  require('./_commonjsHelpers-06173234.js');
11
11
  require('./es6.string.iterator-c2573ffd.js');
12
12
  require('./_to-object-6de10e57.js');
@@ -7,7 +7,7 @@ var BlockContent = require('./BlockContent-36e54d77.js');
7
7
  var Col = require('react-bootstrap/Col');
8
8
  var Form = require('react-bootstrap/Form');
9
9
  var Button = require('react-bootstrap/Button');
10
- var getSerializers = require('./index-50f1b226.js');
10
+ var getSerializers = require('./index-b367bc0c.js');
11
11
  var VideoSeriesListing = require('./VideoSeriesListing.js');
12
12
  require('./_commonjsHelpers-06173234.js');
13
13
  require('./es6.string.iterator-c2573ffd.js');
@@ -229,10 +229,10 @@ var VideoSeriesListing = function (_React$Component) {
229
229
 
230
230
  return React__default['default'].createElement(
231
231
  'div',
232
- { key: index, style: { marginBottom: '2rem' }, counter: itemCounter++ },
232
+ { key: index, counter: itemCounter++ },
233
233
  React__default['default'].createElement(
234
234
  'div',
235
- { className: 'video-title-banner', style: { fontWeight: 'bold', color: 'var(--primary)', padding: '.25rem 0', fontSize: '1.25rem', borderBottom: '1px solid #d4a64d' } },
235
+ { className: 'video-title-banner', style: { fontWeight: 'bold', color: 'var(--primary)', padding: '.25rem 0', fontSize: '1.3rem', borderBottom: '2px solid #d4a64d' } },
236
236
  React__default['default'].createElement(
237
237
  'a',
238
238
  { href: '/' + _this.props.page + '/' + docSeries.url.current },