@mjhls/mjh-framework 1.0.204 → 1.0.205

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 (74) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD-e2479b7c.js +31 -0
  3. package/dist/cjs/DeckContent.js +430 -0
  4. package/dist/cjs/DeckQueue.js +366 -0
  5. package/dist/cjs/Dfp-d94f7f73.js +97 -0
  6. package/dist/cjs/GridContent.js +613 -0
  7. package/dist/cjs/GroupDeck.js +156 -0
  8. package/dist/cjs/IssueContentDeck.js +81 -0
  9. package/dist/cjs/IssueDeck.js +144 -0
  10. package/dist/cjs/MasterDeck.js +340 -0
  11. package/dist/cjs/Normal-7dd8c339.js +2374 -0
  12. package/dist/cjs/PublicationDeck.js +81 -0
  13. package/dist/cjs/QueueDeckExpanded.js +559 -0
  14. package/dist/cjs/TaxonomyCard-7b5b4298.js +1045 -0
  15. package/dist/cjs/TaxonomyCard.js +18 -0
  16. package/dist/cjs/TemplateNormal.js +29 -0
  17. package/dist/cjs/ThumbnailCard.js +58 -0
  18. package/dist/cjs/Ustream-0d3dd953.js +122 -0
  19. package/dist/cjs/Ustream.js +10 -0
  20. package/dist/cjs/VideoSeriesListing.js +248 -0
  21. package/dist/cjs/YoutubeGroup-f7707ceb.js +228 -0
  22. package/dist/cjs/YoutubeGroup.js +13 -0
  23. package/dist/cjs/_babelHelpers-f321c258.js +119 -0
  24. package/dist/cjs/_commonjsHelpers-3fc1f64e.js +20 -0
  25. package/dist/cjs/debounce-286eb3fb.js +279 -0
  26. package/dist/cjs/entities-3e0b4a16.js +506 -0
  27. package/dist/cjs/get-06aac51b.js +992 -0
  28. package/dist/cjs/index-0d0efcfa.js +610 -0
  29. package/dist/cjs/index-a4c53ff4.js +551 -0
  30. package/dist/cjs/index.es-2289df51.js +5028 -0
  31. package/dist/cjs/index.esm-340d3792.js +113 -0
  32. package/dist/cjs/index.js +12044 -0
  33. package/dist/cjs/isSymbol-311eb805.js +209 -0
  34. package/dist/cjs/main-58839f4e.js +858 -0
  35. package/dist/cjs/visibility-sensor-5c5a7302.js +2251 -0
  36. package/dist/esm/AD-1b2a3dd3.js +26 -0
  37. package/dist/esm/DeckContent.js +424 -0
  38. package/dist/esm/DeckQueue.js +360 -0
  39. package/dist/esm/Dfp-ab7941d3.js +92 -0
  40. package/dist/esm/GridContent.js +607 -0
  41. package/dist/esm/GroupDeck.js +151 -0
  42. package/dist/esm/IssueContentDeck.js +76 -0
  43. package/dist/esm/IssueDeck.js +139 -0
  44. package/dist/esm/MasterDeck.js +334 -0
  45. package/dist/esm/Normal-403c5666.js +2354 -0
  46. package/dist/esm/PublicationDeck.js +76 -0
  47. package/dist/esm/QueueDeckExpanded.js +553 -0
  48. package/dist/esm/TaxonomyCard-f9c93953.js +1039 -0
  49. package/dist/esm/TaxonomyCard.js +12 -0
  50. package/dist/esm/TemplateNormal.js +23 -0
  51. package/dist/esm/ThumbnailCard.js +53 -0
  52. package/dist/esm/Ustream-6bb45fe7.js +116 -0
  53. package/dist/esm/Ustream.js +4 -0
  54. package/dist/esm/VideoSeriesListing.js +242 -0
  55. package/dist/esm/YoutubeGroup-06df4923.js +222 -0
  56. package/dist/esm/YoutubeGroup.js +7 -0
  57. package/dist/esm/_babelHelpers-67c05996.js +111 -0
  58. package/dist/esm/_commonjsHelpers-ae1b5db5.js +15 -0
  59. package/dist/esm/debounce-a0242b4a.js +277 -0
  60. package/dist/esm/entities-e85d3a4a.js +503 -0
  61. package/dist/esm/get-b684ff61.js +990 -0
  62. package/dist/esm/index-3c1ee9ab.js +605 -0
  63. package/dist/esm/index-ca4ff5cb.js +548 -0
  64. package/dist/esm/index.es-f369b3e8.js +5022 -0
  65. package/dist/esm/index.esm-536609db.js +103 -0
  66. package/dist/esm/index.js +11991 -0
  67. package/dist/esm/isSymbol-c2b7d05a.js +203 -0
  68. package/dist/esm/main-dea495b7.js +851 -0
  69. package/dist/esm/visibility-sensor-3cfe6713.js +2243 -0
  70. package/package.json +8 -7
  71. package/dist/index.es.js +0 -30261
  72. package/dist/index.es.js.map +0 -1
  73. package/dist/index.js +0 -30320
  74. package/dist/index.js.map +0 -1
@@ -0,0 +1,334 @@
1
+ import React__default from 'react';
2
+ import './_commonjsHelpers-ae1b5db5.js';
3
+ import { l as lib_3, V as VisibilitySensor } from './visibility-sensor-3cfe6713.js';
4
+ import 'prop-types';
5
+ import Container from 'react-bootstrap/Container';
6
+ import Row from 'react-bootstrap/Row';
7
+ import 'react-bootstrap/Col';
8
+ import 'react-bootstrap/Card';
9
+ import { I as InfiniteScroll } from './index.es-f369b3e8.js';
10
+ import 'next/link';
11
+ import { withRouter } from 'next/router';
12
+ import './isSymbol-c2b7d05a.js';
13
+ import { d as debounce_1 } from './debounce-a0242b4a.js';
14
+ import 'react-dom';
15
+ import './index-ca4ff5cb.js';
16
+ import { a as main_36 } from './main-dea495b7.js';
17
+ import { i as inherits, c as createClass, a as classCallCheck, p as possibleConstructorReturn, _ as _extends, t as toConsumableArray } from './_babelHelpers-67c05996.js';
18
+
19
+ var MasterDeck = function (_React$Component) {
20
+ inherits(MasterDeck, _React$Component);
21
+
22
+ function MasterDeck() {
23
+ var _ref,
24
+ _this2 = this;
25
+
26
+ var _temp, _this, _ret;
27
+
28
+ classCallCheck(this, MasterDeck);
29
+
30
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
31
+ args[_key] = arguments[_key];
32
+ }
33
+
34
+ return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = MasterDeck.__proto__ || Object.getPrototypeOf(MasterDeck)).call.apply(_ref, [this].concat(args))), _this), _this.Deck = _this.props.deck, _this.variant = _this.props.variant, _this.mapping = _this.props.mapping, _this.data = _this.props.dataRecord || [], _this.query = _this.props.query, _this.params = _this.props.params, _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.rightItems = _this.props.rightItems ? _this.props.rightItems : false, _this.state = {
35
+ data: _this.data,
36
+ dataKeptToCompareNewDatarecord: _this.data,
37
+ per: _this.params ? _this.params.to : 2,
38
+ page: _this.props.currentPage || 1,
39
+ from: _this.params ? _this.params.from : 0,
40
+ to: _this.params ? _this.params.to : 2,
41
+ total_pages: null,
42
+ scrolling: true,
43
+ query: _this.query,
44
+ currentPage: _this.props.currentPage || 1
45
+ }, _this.loadMore = debounce_1(function () {
46
+ _this.setState(function (state) {
47
+ var page = state.page,
48
+ from = state.from,
49
+ per = state.per,
50
+ to = state.to;
51
+
52
+ return {
53
+ page: page + 1,
54
+ from: from + per,
55
+ to: to + per
56
+ };
57
+ }, _this.loadData);
58
+ }, 0), _this.loadData = function () {
59
+ var _this$state = _this.state,
60
+ from = _this$state.from,
61
+ to = _this$state.to,
62
+ data = _this$state.data,
63
+ query = _this$state.query,
64
+ page = _this$state.page;
65
+ var _this$props = _this.props,
66
+ client = _this$props.client,
67
+ dataHandler = _this$props.dataHandler;
68
+
69
+
70
+ var params = _extends({}, _this.params, { from: from, to: to });
71
+
72
+ if (dataHandler) {
73
+ var dataHandlerPromise = new Promise(function (resolve, reject) {
74
+ try {
75
+ var result = dataHandler(params);
76
+ resolve(result);
77
+ } catch (e) {
78
+ reject(e);
79
+ }
80
+ });
81
+ dataHandlerPromise.then(function (dataArr) {
82
+ _this.loadDataFinished(data, dataArr, page);
83
+ });
84
+ } else {
85
+ client.fetch(query, params).then(function (dataArr) {
86
+ _this.loadDataFinished(data, dataArr, page);
87
+ });
88
+ }
89
+ }, _this.loadDataFinished = function (data, dataArr, page) {
90
+ if (_this.pointer && _this.pointerArray) {
91
+ var pointer = _this.pointer;
92
+ dataArr = dataArr[_this.pointerArray][pointer];
93
+ }
94
+ dataArr = dataArr.map(function (item) {
95
+ return _extends({}, item, {
96
+ pageNumber: page
97
+ });
98
+ });
99
+
100
+ _this.setState(function () {
101
+ if (dataArr.length > 0) {
102
+ return {
103
+ data: [].concat(toConsumableArray(data), toConsumableArray(dataArr)),
104
+ scrolling: true
105
+ };
106
+ } else {
107
+ return {
108
+ scrolling: false
109
+ };
110
+ }
111
+ });
112
+ }, _this.changePageNumber = function (pageNumber) {
113
+ var _this$props2 = _this.props,
114
+ seoPaginate = _this$props2.seoPaginate,
115
+ pageview = _this$props2.pageview,
116
+ router = _this$props2.router;
117
+ var currentPage = _this.state.currentPage;
118
+
119
+ if (seoPaginate) {
120
+ var path = router.asPath;
121
+ var qrIndex = path.indexOf('?');
122
+ var pathname = router.pathname;
123
+ var queryString = '';
124
+
125
+ if (qrIndex > 0) {
126
+ path = path.substring(1, qrIndex);
127
+
128
+ var partialQS = router.asPath.substring(qrIndex + 1);
129
+ var partialQSArr = partialQS.split('&');
130
+
131
+ // exclude page=xxx from query string
132
+ partialQSArr.map(function (item) {
133
+ var itemArr = item.split('=');
134
+ var key = itemArr[0];
135
+ var val = itemArr[1];
136
+
137
+ if (key !== 'page') {
138
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
139
+ }
140
+ });
141
+ }
142
+
143
+ if (queryString.length > 0) {
144
+ path += '?' + queryString;
145
+ }
146
+
147
+ pageNumber = parseInt(pageNumber);
148
+
149
+ if (currentPage !== pageNumber) {
150
+ lib_3.refresh();
151
+
152
+ _this.setState({
153
+ currentPage: pageNumber
154
+ }, function () {
155
+ if (path[0] !== '/') {
156
+ path = '/' + path;
157
+ }
158
+
159
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
160
+
161
+ // please leave this for later debug purpose : Yong Jun.
162
+ /* console.log('page change reported', {
163
+ currentPage: currentPage,
164
+ pageNumber: pageNumber,
165
+ pathname: pathname,
166
+ path: path,
167
+ newPath: newPath,
168
+ firstPage: pageNumber === 1,
169
+ queryString: queryString
170
+ }) */
171
+
172
+ if (pageview) {
173
+ pageview(newPath);
174
+ }
175
+
176
+ router.push(pathname, newPath, {
177
+ shallow: true
178
+ });
179
+ });
180
+ }
181
+ }
182
+ }, _this.cardLoader = function (page, columns, variant) {
183
+ var numberOfItemsBeforeAd = 6;
184
+ return React__default.createElement(
185
+ Row,
186
+ null,
187
+ _this.state.data && _this.state.data.map(function (row, index) {
188
+ var pageNumber = row.pageNumber || _this.state.page;
189
+
190
+ return React__default.createElement(
191
+ React__default.Fragment,
192
+ { key: index },
193
+ React__default.createElement(
194
+ VisibilitySensor,
195
+ {
196
+ onChange: function onChange(isVisible) {
197
+ isVisible && _this.changePageNumber(pageNumber);
198
+ } },
199
+ React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client })
200
+ ),
201
+ main_36 && _this.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && React__default.createElement(
202
+ 'div',
203
+ { style: { margin: '0 auto' } },
204
+ _this.renderMobileAd(index, numberOfItemsBeforeAd, _this.rightItems)
205
+ )
206
+ );
207
+ })
208
+ );
209
+ }, _this.renderMobileAd = function (index, numberOfItemsBeforeAd, rightItems) {
210
+ var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
211
+ return React__default.createElement(
212
+ 'div',
213
+ { style: { display: 'flex', flex: '1 0 auto', width: '100%', textAlign: 'center', marginBottom: '2rem' } },
214
+ rightItems[i].component
215
+ );
216
+ }, _this.renderManualPagination = function () {
217
+ var currentPage = _this.state.currentPage;
218
+
219
+ return React__default.createElement(
220
+ 'div',
221
+ { className: 'd-flex justify-content-between' },
222
+ currentPage && currentPage > 1 && React__default.createElement(
223
+ 'a',
224
+ { href: '?page=' + (currentPage - 1) },
225
+ '<< Previous'
226
+ ),
227
+ React__default.createElement(
228
+ 'a',
229
+ { href: '?page=' + (currentPage + 1) },
230
+ 'Next >>'
231
+ )
232
+ );
233
+ }, _temp), possibleConstructorReturn(_this, _ret);
234
+ }
235
+
236
+ createClass(MasterDeck, [{
237
+ key: 'componentDidUpdate',
238
+ value: function componentDidUpdate(prevProps, prevState) {
239
+ if (this.state.dataKeptToCompareNewDatarecord !== this.props.dataRecord) {
240
+ // eslint-disable-next-line react/no-did-update-set-state
241
+ this.setState({
242
+ data: this.props.dataRecord,
243
+ dataKeptToCompareNewDatarecord: this.props.dataRecord,
244
+ per: this.props.params ? this.props.params.to : 2,
245
+ page: 1,
246
+ from: this.props.params ? this.props.params.from : 0,
247
+ to: this.props.params ? this.props.params.to : 2,
248
+ total_pages: null,
249
+ scrolling: true,
250
+ query: this.props.query
251
+ });
252
+ }
253
+ }
254
+ }, {
255
+ key: 'componentDidMount',
256
+ value: function componentDidMount() {
257
+ // this.loadData();
258
+ }
259
+ }, {
260
+ key: 'render',
261
+ value: function render() {
262
+ var _this3 = this;
263
+
264
+ var _props = this.props,
265
+ columns = _props.columns,
266
+ variant = _props.variant,
267
+ autoScroll = _props.autoScroll,
268
+ page = _props.page;
269
+
270
+
271
+ return React__default.createElement(
272
+ 'div',
273
+ { className: 'contentDeck' },
274
+ autoScroll ? React__default.createElement(
275
+ React__default.Fragment,
276
+ null,
277
+ React__default.createElement(
278
+ InfiniteScroll,
279
+ { dataLength: this.state.data.length, next: this.loadMore, hasMore: this.state.scrolling, scrollThreshold: 0.9 },
280
+ React__default.createElement(
281
+ Container,
282
+ null,
283
+ this.cardLoader(page, columns, variant)
284
+ )
285
+ ),
286
+ React__default.createElement(
287
+ 'noscript',
288
+ null,
289
+ this.renderManualPagination()
290
+ )
291
+ ) : React__default.createElement(
292
+ React__default.Fragment,
293
+ null,
294
+ React__default.createElement(
295
+ Container,
296
+ null,
297
+ this.cardLoader(page, columns, variant)
298
+ ),
299
+ React__default.createElement(
300
+ 'div',
301
+ { style: { padding: '0px 10px' } },
302
+ this.state.scrolling ? React__default.createElement(
303
+ 'button',
304
+ {
305
+ style: { margin: 'auto', width: '100%' },
306
+ onClick: function onClick(e) {
307
+ _this3.loadMore();
308
+ } },
309
+ 'Load More'
310
+ ) : React__default.createElement(
311
+ 'p',
312
+ { style: { textAlign: 'center' } },
313
+ React__default.createElement(
314
+ 'b',
315
+ null,
316
+ 'End of data'
317
+ )
318
+ )
319
+ ),
320
+ React__default.createElement(
321
+ 'noscript',
322
+ null,
323
+ this.renderManualPagination()
324
+ )
325
+ )
326
+ );
327
+ }
328
+ }]);
329
+ return MasterDeck;
330
+ }(React__default.Component);
331
+
332
+ var MasterDeck$1 = withRouter(MasterDeck);
333
+
334
+ export default MasterDeck$1;