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