@mjhls/mjh-framework 1.0.713 → 1.0.714

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,4 +1,4 @@
1
- # mjh-framework v. 1.0.713
1
+ # mjh-framework v. 1.0.714
2
2
 
3
3
  [![NPM](https://img.shields.io/npm/v/mjh-framework.svg)](https://www.npmjs.com/package/mjh-framework) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
4
4
 
@@ -1,15 +1,26 @@
1
1
  'use strict';
2
2
 
3
+ var asyncToGenerator = require('./asyncToGenerator-2edcb6ad.js');
4
+ var toConsumableArray = require('./toConsumableArray-cf0865fc.js');
3
5
  var React = require('react');
4
6
  var index = require('./index-5ad2b070.js');
5
7
  var main = require('./main-dc082238.js');
6
8
  require('./_commonjsHelpers-06173234.js');
9
+ require('./es6.string.iterator-20d42c53.js');
10
+ require('./_to-object-821a2927.js');
11
+ require('./web.dom.iterable-4480325a.js');
12
+ require('./_library-dd23b178.js');
13
+ require('./core.get-iterator-method-b4615fd3.js');
14
+ require('./_set-species-a8cfdb84.js');
15
+ require('./_iter-detect-2613ffa1.js');
7
16
  require('prop-types');
8
17
 
9
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
19
 
11
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
21
 
22
+ var _this = undefined;
23
+
13
24
  var AdSlotsProvider = function AdSlotsProvider(_ref) {
14
25
  var children = _ref.children,
15
26
  networkID = _ref.networkID,
@@ -18,18 +29,112 @@ var AdSlotsProvider = function AdSlotsProvider(_ref) {
18
29
  _ref$singleRequest = _ref.singleRequest,
19
30
  singleRequest = _ref$singleRequest === undefined ? true : _ref$singleRequest,
20
31
  _ref$autoRefresh = _ref.autoRefresh,
21
- autoRefresh = _ref$autoRefresh === undefined ? false : _ref$autoRefresh;
32
+ autoRefresh = _ref$autoRefresh === undefined ? false : _ref$autoRefresh,
33
+ _ref$refreshADs = _ref.refreshADs,
34
+ refreshADs = _ref$refreshADs === undefined ? {} : _ref$refreshADs,
35
+ _ref$refreshInterval = _ref.refreshInterval,
36
+ refreshInterval = _ref$refreshInterval === undefined ? 60 : _ref$refreshInterval;
22
37
 
23
38
  React.useEffect(function () {
24
- // Refresh ADs after every one minute of user not scrolled
39
+ // Refresh ADs after every one minute if user didn't scroll.
40
+ // refreshInterval accepts time in seconds and default is 60 seconds
41
+ var generateAdsToRefresh = function () {
42
+ var _ref2 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(ads) {
43
+ var googletag, slots, domAds, adsToRefresh;
44
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _context.next = 2;
49
+ return index.lib_3.getGoogletag();
50
+
51
+ case 2:
52
+ googletag = _context.sent;
53
+
54
+ if (!(googletag && googletag.pubadsReady)) {
55
+ _context.next = 8;
56
+ break;
57
+ }
58
+
59
+ slots = googletag.pubads().getSlots();
60
+ domAds = slots.map(function (slot) {
61
+ return slot.getSlotId().getDomId();
62
+ });
63
+ adsToRefresh = domAds.reduce(function (acc, item) {
64
+ ads.forEach(function (ad) {
65
+ if (item.includes(ad)) {
66
+ acc = [].concat(toConsumableArray._toConsumableArray(acc), [item]);
67
+ }
68
+ });
69
+ return acc;
70
+ }, []);
71
+ return _context.abrupt('return', adsToRefresh);
72
+
73
+ case 8:
74
+ return _context.abrupt('return', ads);
75
+
76
+ case 9:
77
+ case 'end':
78
+ return _context.stop();
79
+ }
80
+ }
81
+ }, _callee, _this);
82
+ }));
83
+
84
+ return function generateAdsToRefresh(_x) {
85
+ return _ref2.apply(this, arguments);
86
+ };
87
+ }();
25
88
  var isScrolling = void 0;
26
89
  var refreshADsAfterInterval = function refreshADsAfterInterval() {
27
- isScrolling = setInterval(function () {
28
- index.lib_3.refresh();
29
- }, 60000);
90
+ isScrolling = setInterval(asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee2() {
91
+ var _refreshADs$mobileAds, mobileAds, _refreshADs$desktopAd, desktopAds, ads;
92
+
93
+ return asyncToGenerator.regenerator.wrap(function _callee2$(_context2) {
94
+ while (1) {
95
+ switch (_context2.prev = _context2.next) {
96
+ case 0:
97
+ _refreshADs$mobileAds = refreshADs.mobileAds, mobileAds = _refreshADs$mobileAds === undefined ? ['leaderboard-ad'] : _refreshADs$mobileAds, _refreshADs$desktopAd = refreshADs.desktopAds, desktopAds = _refreshADs$desktopAd === undefined ? [] : _refreshADs$desktopAd;
98
+ ads = [];
99
+
100
+ if (!main.main_40) {
101
+ _context2.next = 8;
102
+ break;
103
+ }
104
+
105
+ _context2.next = 5;
106
+ return generateAdsToRefresh(mobileAds);
107
+
108
+ case 5:
109
+ ads = _context2.sent;
110
+ _context2.next = 12;
111
+ break;
112
+
113
+ case 8:
114
+ if (!main.main_22) {
115
+ _context2.next = 12;
116
+ break;
117
+ }
118
+
119
+ _context2.next = 11;
120
+ return generateAdsToRefresh(desktopAds);
121
+
122
+ case 11:
123
+ ads = _context2.sent;
124
+
125
+ case 12:
126
+ index.lib_3.refresh.apply(index.lib_3, toConsumableArray._toConsumableArray(ads));
127
+
128
+ case 13:
129
+ case 'end':
130
+ return _context2.stop();
131
+ }
132
+ }
133
+ }, _callee2, _this);
134
+ })), parseInt(refreshInterval) * 1000);
30
135
  };
31
- autoRefresh && main.main_22 && refreshADsAfterInterval();
32
- autoRefresh && main.main_22 && window.addEventListener('scroll', function () {
136
+ autoRefresh && refreshADsAfterInterval();
137
+ autoRefresh && window.addEventListener('scroll', function () {
33
138
  clearInterval(isScrolling);
34
139
  refreshADsAfterInterval();
35
140
  }, false);
@@ -1,9 +1,20 @@
1
+ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-acd1cc47.js';
2
+ import { _ as _toConsumableArray } from './toConsumableArray-5212fee7.js';
1
3
  import React, { useEffect } from 'react';
2
- import { b as lib_1, l as lib_3 } from './index-669ff425.js';
3
- import { e as main_22 } from './main-1450d277.js';
4
+ import { l as lib_3, b as lib_1 } from './index-669ff425.js';
5
+ import { e as main_22, m as main_40 } from './main-1450d277.js';
4
6
  import './_commonjsHelpers-0c4b6f40.js';
7
+ import './es6.string.iterator-b24a54f2.js';
8
+ import './_to-object-9bef3b62.js';
9
+ import './web.dom.iterable-ca37144a.js';
10
+ import './_library-528f1934.js';
11
+ import './core.get-iterator-method-1b116089.js';
12
+ import './_set-species-0b056cff.js';
13
+ import './_iter-detect-d4d262ee.js';
5
14
  import 'prop-types';
6
15
 
16
+ var _this = undefined;
17
+
7
18
  var AdSlotsProvider = function AdSlotsProvider(_ref) {
8
19
  var children = _ref.children,
9
20
  networkID = _ref.networkID,
@@ -12,18 +23,112 @@ var AdSlotsProvider = function AdSlotsProvider(_ref) {
12
23
  _ref$singleRequest = _ref.singleRequest,
13
24
  singleRequest = _ref$singleRequest === undefined ? true : _ref$singleRequest,
14
25
  _ref$autoRefresh = _ref.autoRefresh,
15
- autoRefresh = _ref$autoRefresh === undefined ? false : _ref$autoRefresh;
26
+ autoRefresh = _ref$autoRefresh === undefined ? false : _ref$autoRefresh,
27
+ _ref$refreshADs = _ref.refreshADs,
28
+ refreshADs = _ref$refreshADs === undefined ? {} : _ref$refreshADs,
29
+ _ref$refreshInterval = _ref.refreshInterval,
30
+ refreshInterval = _ref$refreshInterval === undefined ? 60 : _ref$refreshInterval;
16
31
 
17
32
  useEffect(function () {
18
- // Refresh ADs after every one minute of user not scrolled
33
+ // Refresh ADs after every one minute if user didn't scroll.
34
+ // refreshInterval accepts time in seconds and default is 60 seconds
35
+ var generateAdsToRefresh = function () {
36
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(ads) {
37
+ var googletag, slots, domAds, adsToRefresh;
38
+ return regenerator.wrap(function _callee$(_context) {
39
+ while (1) {
40
+ switch (_context.prev = _context.next) {
41
+ case 0:
42
+ _context.next = 2;
43
+ return lib_3.getGoogletag();
44
+
45
+ case 2:
46
+ googletag = _context.sent;
47
+
48
+ if (!(googletag && googletag.pubadsReady)) {
49
+ _context.next = 8;
50
+ break;
51
+ }
52
+
53
+ slots = googletag.pubads().getSlots();
54
+ domAds = slots.map(function (slot) {
55
+ return slot.getSlotId().getDomId();
56
+ });
57
+ adsToRefresh = domAds.reduce(function (acc, item) {
58
+ ads.forEach(function (ad) {
59
+ if (item.includes(ad)) {
60
+ acc = [].concat(_toConsumableArray(acc), [item]);
61
+ }
62
+ });
63
+ return acc;
64
+ }, []);
65
+ return _context.abrupt('return', adsToRefresh);
66
+
67
+ case 8:
68
+ return _context.abrupt('return', ads);
69
+
70
+ case 9:
71
+ case 'end':
72
+ return _context.stop();
73
+ }
74
+ }
75
+ }, _callee, _this);
76
+ }));
77
+
78
+ return function generateAdsToRefresh(_x) {
79
+ return _ref2.apply(this, arguments);
80
+ };
81
+ }();
19
82
  var isScrolling = void 0;
20
83
  var refreshADsAfterInterval = function refreshADsAfterInterval() {
21
- isScrolling = setInterval(function () {
22
- lib_3.refresh();
23
- }, 60000);
84
+ isScrolling = setInterval(_asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2() {
85
+ var _refreshADs$mobileAds, mobileAds, _refreshADs$desktopAd, desktopAds, ads;
86
+
87
+ return regenerator.wrap(function _callee2$(_context2) {
88
+ while (1) {
89
+ switch (_context2.prev = _context2.next) {
90
+ case 0:
91
+ _refreshADs$mobileAds = refreshADs.mobileAds, mobileAds = _refreshADs$mobileAds === undefined ? ['leaderboard-ad'] : _refreshADs$mobileAds, _refreshADs$desktopAd = refreshADs.desktopAds, desktopAds = _refreshADs$desktopAd === undefined ? [] : _refreshADs$desktopAd;
92
+ ads = [];
93
+
94
+ if (!main_40) {
95
+ _context2.next = 8;
96
+ break;
97
+ }
98
+
99
+ _context2.next = 5;
100
+ return generateAdsToRefresh(mobileAds);
101
+
102
+ case 5:
103
+ ads = _context2.sent;
104
+ _context2.next = 12;
105
+ break;
106
+
107
+ case 8:
108
+ if (!main_22) {
109
+ _context2.next = 12;
110
+ break;
111
+ }
112
+
113
+ _context2.next = 11;
114
+ return generateAdsToRefresh(desktopAds);
115
+
116
+ case 11:
117
+ ads = _context2.sent;
118
+
119
+ case 12:
120
+ lib_3.refresh.apply(lib_3, _toConsumableArray(ads));
121
+
122
+ case 13:
123
+ case 'end':
124
+ return _context2.stop();
125
+ }
126
+ }
127
+ }, _callee2, _this);
128
+ })), parseInt(refreshInterval) * 1000);
24
129
  };
25
- autoRefresh && main_22 && refreshADsAfterInterval();
26
- autoRefresh && main_22 && window.addEventListener('scroll', function () {
130
+ autoRefresh && refreshADsAfterInterval();
131
+ autoRefresh && window.addEventListener('scroll', function () {
27
132
  clearInterval(isScrolling);
28
133
  refreshADsAfterInterval();
29
134
  }, false);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.713",
3
+ "version": "1.0.714",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",