@mjhls/mjh-framework 1.0.515 → 1.0.517

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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.515
2
+ # mjh-framework v. 1.0.517
3
3
 
4
4
  > Foundation Framework
5
5
 
@@ -65,7 +65,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
65
65
  React__default.createElement(
66
66
  'style',
67
67
  { jsx: 'true' },
68
- '\n .breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n .breadcrumb .breadcrumb-item + .breadcrumb-item::before {\n content: \'' + separator + '\';\n }\n '
68
+ '\n .breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n .breadcrumb .breadcrumb-item + .breadcrumb-item::before {\n content: \'' + separator + '\';\n }\n .breadcrumb-item.active {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 40ch;\n }\n @media screen and (max-width: 1400px) {\n .breadcrumb-item.active {\n max-width: 20ch;\n }\n }\n @media screen and (max-width: 768px) {\n .breadcrumb-item.active {\n max-width: 40ch;\n }\n }\n '
69
69
  )
70
70
  );
71
71
  }
@@ -96,7 +96,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
96
96
  React__default.createElement(
97
97
  'style',
98
98
  { jsx: 'true' },
99
- '\n ol.breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n '
99
+ '\n ol.breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n .breadcrumb-item.active {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 40ch;\n }\n @media screen and (max-width: 1400px) {\n .breadcrumb-item.active {\n max-width: 20ch;\n }\n }\n @media screen and (max-width: 768px) {\n .breadcrumb-item.active {\n max-width: 40ch;\n }\n }\n '
100
100
  )
101
101
  );
102
102
  };
@@ -69,7 +69,8 @@ var MasterDeck = function (_React$Component) {
69
69
  total_pages: null,
70
70
  scrolling: true,
71
71
  query: _this.query,
72
- currentPage: _this.props.currentPage || 1
72
+ currentPage: _this.props.currentPage || 1,
73
+ dataRemapped: false
73
74
  }, _this.loadMore = debounce.debounce_1(function () {
74
75
  _this.setState(function (state) {
75
76
  var page = state.page,
@@ -219,7 +220,9 @@ var MasterDeck = function (_React$Component) {
219
220
  var insertBrandInsightAd = function insertBrandInsightAd(arr, index, newElement) {
220
221
  return [].concat(toConsumableArray._toConsumableArray(arr.slice(0, index)), [newElement], toConsumableArray._toConsumableArray(arr.slice(index)));
221
222
  };
222
-
223
+ _this.componentDidMount = function () {
224
+ _this.setState({ dataRemapped: !showBI || !brandInsightAd ? true : false });
225
+ };
223
226
  // Need to pass flag "lgInfeedAd={true}" along with brandInsightAd from site level for large infeed-ad to render
224
227
  // Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
225
228
  // Integrating large infeed AD
@@ -250,8 +253,16 @@ var MasterDeck = function (_React$Component) {
250
253
  return lodash.lodash.flattenDeep(set);
251
254
  });
252
255
  data = lodash.lodash.flatten(chunks);
256
+ !_this.state.dataRemapped && _this.setState({ dataRemapped: true }); // To detect if appending of insights ads are completed
253
257
  }
254
258
 
259
+ // set dataRemap to true as there are no infeed or BI ads or window width is less than limit
260
+ _this.componentDidUpdate = function () {
261
+ if (typeof window !== 'undefined' && (!lgInfeedAd || !brandInsightAd || window.innerWidth < 1400) && !_this.state.dataRemapped) {
262
+ !_this.state.dataRemapped && _this.setState({ dataRemapped: true });
263
+ }
264
+ };
265
+
255
266
  // Integrating infeed AD
256
267
  if (showBI && brandInsightAd) {
257
268
  // Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
@@ -293,7 +304,8 @@ var MasterDeck = function (_React$Component) {
293
304
  return React__default.createElement(
294
305
  'div',
295
306
  null,
296
- data && data.length > 0 ? data.map(function (row, index) {
307
+ data && _this.state.dataRemapped && data.length > 0 ? // If JS enabled and Data remapped with ads
308
+ data.map(function (row, index) {
297
309
  var pageNumber = row.pageNumber || _this.state.page;
298
310
 
299
311
  if (row._type === 'lg-infeed' && row.adUnit) {
@@ -301,29 +313,46 @@ var MasterDeck = function (_React$Component) {
301
313
  // Returning view for infeed Ad
302
314
  } else if (row._type === 'brandInsightAd' && row.adUnit) {
303
315
  return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
304
- } else {
316
+ } else if (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type)) {
305
317
  // Returning view for articles
306
318
  return React__default.createElement(
307
- React__default.Fragment,
308
- { key: index },
319
+ visibilitySensor.VisibilitySensor,
320
+ {
321
+ key: row._id ? row._id : index,
322
+ onChange: function onChange(isVisible) {
323
+ isVisible && _this.changePageNumber(pageNumber);
324
+ } },
309
325
  React__default.createElement(
310
- visibilitySensor.VisibilitySensor,
311
- {
312
- onChange: function onChange(isVisible) {
313
- isVisible && _this.changePageNumber(pageNumber);
314
- } },
315
- React__default.createElement(
326
+ React__default.Fragment,
327
+ { key: index },
328
+ React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage }),
329
+ main.main_36 && _this.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && React__default.createElement(
316
330
  'div',
317
- null,
318
- React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage }),
319
- main.main_36 && _this.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && React__default.createElement(
320
- 'div',
321
- { className: 'ad-container', style: { margin: '0 auto' } },
322
- _this.renderMobileAd(index, numberOfItemsBeforeAd, _this.rightItems)
323
- )
331
+ { className: 'ad-container', style: { margin: '0 auto' } },
332
+ _this.renderMobileAd(index, numberOfItemsBeforeAd, _this.rightItems)
324
333
  )
325
334
  )
326
335
  );
336
+ } else {
337
+ return null;
338
+ }
339
+ }) : data && data.length > 0 ? //For Javascript Disabled Cases. data is not remapped if JS is disabled.
340
+ data.map(function (row, index) {
341
+ var pageNumber = row.pageNumber || _this.state.page;
342
+ if (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type)) {
343
+ return React__default.createElement(
344
+ visibilitySensor.VisibilitySensor,
345
+ {
346
+ key: row._id ? row._id : index,
347
+ onChange: function onChange(isVisible) {
348
+ isVisible && _this.changePageNumber(pageNumber);
349
+ } },
350
+ React__default.createElement(
351
+ React__default.Fragment,
352
+ { key: index },
353
+ React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage })
354
+ )
355
+ );
327
356
  }
328
357
  }) : React__default.createElement(
329
358
  'div',
@@ -60,7 +60,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
60
60
  React__default.createElement(
61
61
  'style',
62
62
  { jsx: 'true' },
63
- '\n .breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n .breadcrumb .breadcrumb-item + .breadcrumb-item::before {\n content: \'' + separator + '\';\n }\n '
63
+ '\n .breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n .breadcrumb .breadcrumb-item + .breadcrumb-item::before {\n content: \'' + separator + '\';\n }\n .breadcrumb-item.active {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 40ch;\n }\n @media screen and (max-width: 1400px) {\n .breadcrumb-item.active {\n max-width: 20ch;\n }\n }\n @media screen and (max-width: 768px) {\n .breadcrumb-item.active {\n max-width: 40ch;\n }\n }\n '
64
64
  )
65
65
  );
66
66
  }
@@ -91,7 +91,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
91
91
  React__default.createElement(
92
92
  'style',
93
93
  { jsx: 'true' },
94
- '\n ol.breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n '
94
+ '\n ol.breadcrumb {\n background: transparent;\n padding-left: 0.25rem;\n }\n .breadcrumb-item.active {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 40ch;\n }\n @media screen and (max-width: 1400px) {\n .breadcrumb-item.active {\n max-width: 20ch;\n }\n }\n @media screen and (max-width: 768px) {\n .breadcrumb-item.active {\n max-width: 40ch;\n }\n }\n '
95
95
  )
96
96
  );
97
97
  };
@@ -63,7 +63,8 @@ var MasterDeck = function (_React$Component) {
63
63
  total_pages: null,
64
64
  scrolling: true,
65
65
  query: _this.query,
66
- currentPage: _this.props.currentPage || 1
66
+ currentPage: _this.props.currentPage || 1,
67
+ dataRemapped: false
67
68
  }, _this.loadMore = debounce_1(function () {
68
69
  _this.setState(function (state) {
69
70
  var page = state.page,
@@ -213,7 +214,9 @@ var MasterDeck = function (_React$Component) {
213
214
  var insertBrandInsightAd = function insertBrandInsightAd(arr, index, newElement) {
214
215
  return [].concat(_toConsumableArray(arr.slice(0, index)), [newElement], _toConsumableArray(arr.slice(index)));
215
216
  };
216
-
217
+ _this.componentDidMount = function () {
218
+ _this.setState({ dataRemapped: !showBI || !brandInsightAd ? true : false });
219
+ };
217
220
  // Need to pass flag "lgInfeedAd={true}" along with brandInsightAd from site level for large infeed-ad to render
218
221
  // Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
219
222
  // Integrating large infeed AD
@@ -244,8 +247,16 @@ var MasterDeck = function (_React$Component) {
244
247
  return lodash.flattenDeep(set);
245
248
  });
246
249
  data = lodash.flatten(chunks);
250
+ !_this.state.dataRemapped && _this.setState({ dataRemapped: true }); // To detect if appending of insights ads are completed
247
251
  }
248
252
 
253
+ // set dataRemap to true as there are no infeed or BI ads or window width is less than limit
254
+ _this.componentDidUpdate = function () {
255
+ if (typeof window !== 'undefined' && (!lgInfeedAd || !brandInsightAd || window.innerWidth < 1400) && !_this.state.dataRemapped) {
256
+ !_this.state.dataRemapped && _this.setState({ dataRemapped: true });
257
+ }
258
+ };
259
+
249
260
  // Integrating infeed AD
250
261
  if (showBI && brandInsightAd) {
251
262
  // Checking lgInfeedAd flag in desktop view ( window >= 1400px ).
@@ -287,7 +298,8 @@ var MasterDeck = function (_React$Component) {
287
298
  return React__default.createElement(
288
299
  'div',
289
300
  null,
290
- data && data.length > 0 ? data.map(function (row, index) {
301
+ data && _this.state.dataRemapped && data.length > 0 ? // If JS enabled and Data remapped with ads
302
+ data.map(function (row, index) {
291
303
  var pageNumber = row.pageNumber || _this.state.page;
292
304
 
293
305
  if (row._type === 'lg-infeed' && row.adUnit) {
@@ -295,29 +307,46 @@ var MasterDeck = function (_React$Component) {
295
307
  // Returning view for infeed Ad
296
308
  } else if (row._type === 'brandInsightAd' && row.adUnit) {
297
309
  return React__default.createElement(ADInfeed, { index: index, infeedAd: row });
298
- } else {
310
+ } else if (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type)) {
299
311
  // Returning view for articles
300
312
  return React__default.createElement(
301
- React__default.Fragment,
302
- { key: index },
313
+ VisibilitySensor,
314
+ {
315
+ key: row._id ? row._id : index,
316
+ onChange: function onChange(isVisible) {
317
+ isVisible && _this.changePageNumber(pageNumber);
318
+ } },
303
319
  React__default.createElement(
304
- VisibilitySensor,
305
- {
306
- onChange: function onChange(isVisible) {
307
- isVisible && _this.changePageNumber(pageNumber);
308
- } },
309
- React__default.createElement(
320
+ React__default.Fragment,
321
+ { key: index },
322
+ React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage }),
323
+ main_36 && _this.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && React__default.createElement(
310
324
  'div',
311
- null,
312
- React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage }),
313
- main_36 && _this.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && React__default.createElement(
314
- 'div',
315
- { className: 'ad-container', style: { margin: '0 auto' } },
316
- _this.renderMobileAd(index, numberOfItemsBeforeAd, _this.rightItems)
317
- )
325
+ { className: 'ad-container', style: { margin: '0 auto' } },
326
+ _this.renderMobileAd(index, numberOfItemsBeforeAd, _this.rightItems)
318
327
  )
319
328
  )
320
329
  );
330
+ } else {
331
+ return null;
332
+ }
333
+ }) : data && data.length > 0 ? //For Javascript Disabled Cases. data is not remapped if JS is disabled.
334
+ data.map(function (row, index) {
335
+ var pageNumber = row.pageNumber || _this.state.page;
336
+ if (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type)) {
337
+ return React__default.createElement(
338
+ VisibilitySensor,
339
+ {
340
+ key: row._id ? row._id : index,
341
+ onChange: function onChange(isVisible) {
342
+ isVisible && _this.changePageNumber(pageNumber);
343
+ } },
344
+ React__default.createElement(
345
+ React__default.Fragment,
346
+ { key: index },
347
+ React__default.createElement(_this2.Deck, { data: row, variant: variant, index: index, client: _this.props.client, defaultImage: _this.defaultImage })
348
+ )
349
+ );
321
350
  }
322
351
  }) : React__default.createElement(
323
352
  'div',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.515",
3
+ "version": "1.0.517",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",