@mjhls/mjh-framework 1.0.244 → 1.0.246

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,6 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.244
3
-
2
+ # mjh-framework v. 1.0.246
4
3
 
5
4
  > Foundation Framework
6
5
 
@@ -1126,10 +1126,10 @@ var NavFooter = function NavFooter(props) {
1126
1126
  return React__default.createElement(
1127
1127
  'div',
1128
1128
  { className: 'nav-footer' },
1129
- website && website.sideFooterContent && website.sideFooterContent.length && React__default.createElement(
1129
+ website && React__default.createElement(
1130
1130
  'ul',
1131
1131
  null,
1132
- website && website.sideFooterContent.map(function (content, index) {
1132
+ website && website.sideFooterContent && website.sideFooterContent.length && website.sideFooterContent.map(function (content, index) {
1133
1133
  if (content.url && content.title) {
1134
1134
  return content.blank ? React__default.createElement(
1135
1135
  'li',
@@ -20,7 +20,7 @@ require('./get-1f91592f.js');
20
20
  require('react-bootstrap');
21
21
  require('./index.esm-340d3792.js');
22
22
  require('react-bootstrap/Button');
23
- var TemplateNormal = require('./Normal-0f06cc52.js');
23
+ var TemplateNormal = require('./Normal-18cef899.js');
24
24
  require('react-bootstrap/ListGroup');
25
25
  require('next/head');
26
26
  require('react-bootstrap/Nav');
package/dist/cjs/index.js CHANGED
@@ -52,7 +52,7 @@ var IssueDeck = require('./IssueDeck.js');
52
52
  require('react-bootstrap/Badge');
53
53
  var IssueContentDeck = require('./IssueContentDeck.js');
54
54
  var Spinner = _interopDefault(require('react-bootstrap/Spinner'));
55
- var TemplateNormal = require('./Normal-0f06cc52.js');
55
+ var TemplateNormal = require('./Normal-18cef899.js');
56
56
  require('react-bootstrap/ListGroup');
57
57
  var Head = _interopDefault(require('next/head'));
58
58
  var Accordion = _interopDefault(require('react-bootstrap/Accordion'));
@@ -12614,27 +12614,50 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12614
12614
  }
12615
12615
 
12616
12616
  var router = Router.useRouter();
12617
- //state
12618
12617
 
12619
- var _useState = React.useState(''),
12618
+ var _useState = React.useState(false),
12620
12619
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
12621
- vidUrl = _useState2[0],
12622
- setVidUrl = _useState2[1];
12620
+ playReported = _useState2[0],
12621
+ setPlayReported = _useState2[1];
12623
12622
 
12624
- var _useState3 = React.useState('youtube'),
12623
+ var _useState3 = React.useState(false),
12625
12624
  _useState4 = slicedToArray._slicedToArray(_useState3, 2),
12626
- vidType = _useState4[0],
12627
- setVidType = _useState4[1];
12625
+ endReported = _useState4[0],
12626
+ setEndReported = _useState4[1];
12628
12627
 
12629
- var _useState5 = React.useState(''),
12628
+ var _useState5 = React.useState(null),
12630
12629
  _useState6 = slicedToArray._slicedToArray(_useState5, 2),
12631
- series = _useState6[0],
12632
- setSeries = _useState6[1];
12630
+ intervalID = _useState6[0],
12631
+ setIntervalID = _useState6[1];
12633
12632
 
12634
- var _useState7 = React.useState([]),
12633
+ var _useState7 = React.useState(null),
12635
12634
  _useState8 = slicedToArray._slicedToArray(_useState7, 2),
12636
- seriesData = _useState8[0],
12637
- setData = _useState8[1];
12635
+ segmentData = _useState8[0],
12636
+ setSegemntData = _useState8[1];
12637
+
12638
+ var queueProgress = [];
12639
+
12640
+ //state
12641
+
12642
+ var _useState9 = React.useState(''),
12643
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
12644
+ vidUrl = _useState10[0],
12645
+ setVidUrl = _useState10[1];
12646
+
12647
+ var _useState11 = React.useState('youtube'),
12648
+ _useState12 = slicedToArray._slicedToArray(_useState11, 2),
12649
+ vidType = _useState12[0],
12650
+ setVidType = _useState12[1];
12651
+
12652
+ var _useState13 = React.useState(''),
12653
+ _useState14 = slicedToArray._slicedToArray(_useState13, 2),
12654
+ series = _useState14[0],
12655
+ setSeries = _useState14[1];
12656
+
12657
+ var _useState15 = React.useState([]),
12658
+ _useState16 = slicedToArray._slicedToArray(_useState15, 2),
12659
+ seriesData = _useState16[0],
12660
+ setData = _useState16[1];
12638
12661
  //variables
12639
12662
 
12640
12663
 
@@ -12679,6 +12702,13 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12679
12702
  setData(data);
12680
12703
  }, []);
12681
12704
 
12705
+ React.useEffect(function () {
12706
+ if (segmentData) {
12707
+ console.log('Video Segment', segmentData);
12708
+ AdSlot.Beam.report_beam_video('Segment', main.main_16, segmentData.duration, segmentData.current, segmentData.segment);
12709
+ }
12710
+ }, [segmentData]);
12711
+
12682
12712
  function toggleSeries() {
12683
12713
  var series = document.querySelector('.vid-series');
12684
12714
  if (series.classList.contains('active')) {
@@ -12688,6 +12718,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12688
12718
  }
12689
12719
  series.classList.toggle('active');
12690
12720
  }
12721
+
12691
12722
  // This function is passed to the GroupDeck to change the youtube iframe src
12692
12723
  function setState(url, vidIndex) {
12693
12724
  setVidUrl(url);
@@ -12701,6 +12732,19 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12701
12732
 
12702
12733
  // Handle video end
12703
12734
  function handleOnEnd(e) {
12735
+ if (!endReported) {
12736
+ console.log('Video End', e);
12737
+ var player = e.target;
12738
+ var current = player.getCurrentTime();
12739
+ var duration = player.getDuration();
12740
+ var queue = Math.floor(duration / 10);
12741
+ var segment = Math.floor(current / queue);
12742
+
12743
+ AdSlot.Beam.report_beam_video('End', main.main_16, duration, current, segment);
12744
+ setEndReported(true);
12745
+ clearInterval(intervalID);
12746
+ }
12747
+
12704
12748
  var currentVid = void 0;
12705
12749
  var nextVid = void 0;
12706
12750
  //Find index of video currently playing
@@ -12730,6 +12774,55 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12730
12774
  toggleSeries();
12731
12775
  }, 1000);
12732
12776
  }
12777
+
12778
+ var handlePlayPercent = function handlePlayPercent(player) {
12779
+ var current = player.getCurrentTime();
12780
+ var duration = player.getDuration();
12781
+ var queue = Math.floor(duration / 10);
12782
+ var segment = Math.floor(current / queue);
12783
+
12784
+ if (!queueProgress.includes(segment)) {
12785
+ setSegemntData({
12786
+ current: current,
12787
+ duration: duration,
12788
+ queue: queue,
12789
+ segment: segment
12790
+ });
12791
+ queueProgress.push(segment);
12792
+ }
12793
+ };
12794
+
12795
+ var handleOnPlay = function handleOnPlay(event) {
12796
+ // report play
12797
+ if (!playReported) {
12798
+ console.log('Video Play', event);
12799
+
12800
+ var player = event.target;
12801
+ var current = player.getCurrentTime();
12802
+ var duration = player.getDuration();
12803
+ var queue = Math.floor(duration / 10);
12804
+ var segment = Math.floor(current / queue);
12805
+
12806
+ AdSlot.Beam.report_beam_video('Play', main.main_16, duration, current, segment);
12807
+ setPlayReported(true);
12808
+ var _intervalID = setInterval(function () {
12809
+ handlePlayPercent(event.target);
12810
+ }, 1000);
12811
+ setIntervalID(_intervalID);
12812
+ }
12813
+ };
12814
+
12815
+ var handleOnPause = function handleOnPause(event) {
12816
+ console.log('Video Pause');
12817
+ var player = event.target;
12818
+ var current = player.getCurrentTime();
12819
+ var duration = player.getDuration();
12820
+ var queue = Math.floor(duration / 10);
12821
+ var segment = Math.floor(current / queue);
12822
+
12823
+ AdSlot.Beam.report_beam_video('Pause', main.main_16, duration, current, segment);
12824
+ };
12825
+
12733
12826
  // Youtube Options
12734
12827
  var opts = {
12735
12828
  width: '100%',
@@ -12744,7 +12837,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12744
12837
  React__default.createElement(
12745
12838
  'div',
12746
12839
  { className: 'video-block', style: { position: 'relative', overflow: 'hidden' } },
12747
- vidUrl && vidType == 'youtube' ? React__default.createElement(YouTube, { videoId: YoutubeGroup.getYoutubeId(vidUrl), opts: opts, onEnd: function onEnd(e) {
12840
+ vidUrl && vidType == 'youtube' ? React__default.createElement(YouTube, { videoId: YoutubeGroup.getYoutubeId(vidUrl), opts: opts, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: function onEnd(e) {
12748
12841
  return handleOnEnd(e);
12749
12842
  } }) : React__default.createElement(
12750
12843
  'video',
@@ -1121,10 +1121,10 @@ var NavFooter = function NavFooter(props) {
1121
1121
  return React__default.createElement(
1122
1122
  'div',
1123
1123
  { className: 'nav-footer' },
1124
- website && website.sideFooterContent && website.sideFooterContent.length && React__default.createElement(
1124
+ website && React__default.createElement(
1125
1125
  'ul',
1126
1126
  null,
1127
- website && website.sideFooterContent.map(function (content, index) {
1127
+ website && website.sideFooterContent && website.sideFooterContent.length && website.sideFooterContent.map(function (content, index) {
1128
1128
  if (content.url && content.title) {
1129
1129
  return content.blank ? React__default.createElement(
1130
1130
  'li',
@@ -18,7 +18,7 @@ import './get-b2201dc8.js';
18
18
  import 'react-bootstrap';
19
19
  import './index.esm-536609db.js';
20
20
  import 'react-bootstrap/Button';
21
- export { T as default } from './Normal-aa76b53c.js';
21
+ export { T as default } from './Normal-4c82c9c2.js';
22
22
  import 'react-bootstrap/ListGroup';
23
23
  import 'next/head';
24
24
  import 'react-bootstrap/Nav';
package/dist/esm/index.js CHANGED
@@ -48,8 +48,8 @@ export { default as IssueDeck } from './IssueDeck.js';
48
48
  import 'react-bootstrap/Badge';
49
49
  export { default as IssueContentDeck } from './IssueContentDeck.js';
50
50
  import Spinner from 'react-bootstrap/Spinner';
51
- import { M as MdPictureAsPdf, T as TemplateNormal } from './Normal-aa76b53c.js';
52
- export { A as AD728x90, C as Column1, a as Column2, b as Column3, f as HamMagazine, H as Header, L as LeftNav, e as NavDvm, c as NavMagazine, N as NavNative, d as NavNormal, P as PageFilter, S as Search, g as SideFooter, T as TemplateNormal } from './Normal-aa76b53c.js';
51
+ import { M as MdPictureAsPdf, T as TemplateNormal } from './Normal-4c82c9c2.js';
52
+ export { A as AD728x90, C as Column1, a as Column2, b as Column3, f as HamMagazine, H as Header, L as LeftNav, e as NavDvm, c as NavMagazine, N as NavNative, d as NavNormal, P as PageFilter, S as Search, g as SideFooter, T as TemplateNormal } from './Normal-4c82c9c2.js';
53
53
  import 'react-bootstrap/ListGroup';
54
54
  import Head from 'next/head';
55
55
  import Accordion from 'react-bootstrap/Accordion';
@@ -12612,27 +12612,50 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12612
12612
  }
12613
12613
 
12614
12614
  var router = useRouter();
12615
- //state
12616
12615
 
12617
- var _useState = useState(''),
12616
+ var _useState = useState(false),
12618
12617
  _useState2 = _slicedToArray(_useState, 2),
12619
- vidUrl = _useState2[0],
12620
- setVidUrl = _useState2[1];
12618
+ playReported = _useState2[0],
12619
+ setPlayReported = _useState2[1];
12621
12620
 
12622
- var _useState3 = useState('youtube'),
12621
+ var _useState3 = useState(false),
12623
12622
  _useState4 = _slicedToArray(_useState3, 2),
12624
- vidType = _useState4[0],
12625
- setVidType = _useState4[1];
12623
+ endReported = _useState4[0],
12624
+ setEndReported = _useState4[1];
12626
12625
 
12627
- var _useState5 = useState(''),
12626
+ var _useState5 = useState(null),
12628
12627
  _useState6 = _slicedToArray(_useState5, 2),
12629
- series = _useState6[0],
12630
- setSeries = _useState6[1];
12628
+ intervalID = _useState6[0],
12629
+ setIntervalID = _useState6[1];
12631
12630
 
12632
- var _useState7 = useState([]),
12631
+ var _useState7 = useState(null),
12633
12632
  _useState8 = _slicedToArray(_useState7, 2),
12634
- seriesData = _useState8[0],
12635
- setData = _useState8[1];
12633
+ segmentData = _useState8[0],
12634
+ setSegemntData = _useState8[1];
12635
+
12636
+ var queueProgress = [];
12637
+
12638
+ //state
12639
+
12640
+ var _useState9 = useState(''),
12641
+ _useState10 = _slicedToArray(_useState9, 2),
12642
+ vidUrl = _useState10[0],
12643
+ setVidUrl = _useState10[1];
12644
+
12645
+ var _useState11 = useState('youtube'),
12646
+ _useState12 = _slicedToArray(_useState11, 2),
12647
+ vidType = _useState12[0],
12648
+ setVidType = _useState12[1];
12649
+
12650
+ var _useState13 = useState(''),
12651
+ _useState14 = _slicedToArray(_useState13, 2),
12652
+ series = _useState14[0],
12653
+ setSeries = _useState14[1];
12654
+
12655
+ var _useState15 = useState([]),
12656
+ _useState16 = _slicedToArray(_useState15, 2),
12657
+ seriesData = _useState16[0],
12658
+ setData = _useState16[1];
12636
12659
  //variables
12637
12660
 
12638
12661
 
@@ -12677,6 +12700,13 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12677
12700
  setData(data);
12678
12701
  }, []);
12679
12702
 
12703
+ useEffect(function () {
12704
+ if (segmentData) {
12705
+ console.log('Video Segment', segmentData);
12706
+ Beam.report_beam_video('Segment', main_16, segmentData.duration, segmentData.current, segmentData.segment);
12707
+ }
12708
+ }, [segmentData]);
12709
+
12680
12710
  function toggleSeries() {
12681
12711
  var series = document.querySelector('.vid-series');
12682
12712
  if (series.classList.contains('active')) {
@@ -12686,6 +12716,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12686
12716
  }
12687
12717
  series.classList.toggle('active');
12688
12718
  }
12719
+
12689
12720
  // This function is passed to the GroupDeck to change the youtube iframe src
12690
12721
  function setState(url, vidIndex) {
12691
12722
  setVidUrl(url);
@@ -12699,6 +12730,19 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12699
12730
 
12700
12731
  // Handle video end
12701
12732
  function handleOnEnd(e) {
12733
+ if (!endReported) {
12734
+ console.log('Video End', e);
12735
+ var player = e.target;
12736
+ var current = player.getCurrentTime();
12737
+ var duration = player.getDuration();
12738
+ var queue = Math.floor(duration / 10);
12739
+ var segment = Math.floor(current / queue);
12740
+
12741
+ Beam.report_beam_video('End', main_16, duration, current, segment);
12742
+ setEndReported(true);
12743
+ clearInterval(intervalID);
12744
+ }
12745
+
12702
12746
  var currentVid = void 0;
12703
12747
  var nextVid = void 0;
12704
12748
  //Find index of video currently playing
@@ -12728,6 +12772,55 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12728
12772
  toggleSeries();
12729
12773
  }, 1000);
12730
12774
  }
12775
+
12776
+ var handlePlayPercent = function handlePlayPercent(player) {
12777
+ var current = player.getCurrentTime();
12778
+ var duration = player.getDuration();
12779
+ var queue = Math.floor(duration / 10);
12780
+ var segment = Math.floor(current / queue);
12781
+
12782
+ if (!queueProgress.includes(segment)) {
12783
+ setSegemntData({
12784
+ current: current,
12785
+ duration: duration,
12786
+ queue: queue,
12787
+ segment: segment
12788
+ });
12789
+ queueProgress.push(segment);
12790
+ }
12791
+ };
12792
+
12793
+ var handleOnPlay = function handleOnPlay(event) {
12794
+ // report play
12795
+ if (!playReported) {
12796
+ console.log('Video Play', event);
12797
+
12798
+ var player = event.target;
12799
+ var current = player.getCurrentTime();
12800
+ var duration = player.getDuration();
12801
+ var queue = Math.floor(duration / 10);
12802
+ var segment = Math.floor(current / queue);
12803
+
12804
+ Beam.report_beam_video('Play', main_16, duration, current, segment);
12805
+ setPlayReported(true);
12806
+ var _intervalID = setInterval(function () {
12807
+ handlePlayPercent(event.target);
12808
+ }, 1000);
12809
+ setIntervalID(_intervalID);
12810
+ }
12811
+ };
12812
+
12813
+ var handleOnPause = function handleOnPause(event) {
12814
+ console.log('Video Pause');
12815
+ var player = event.target;
12816
+ var current = player.getCurrentTime();
12817
+ var duration = player.getDuration();
12818
+ var queue = Math.floor(duration / 10);
12819
+ var segment = Math.floor(current / queue);
12820
+
12821
+ Beam.report_beam_video('Pause', main_16, duration, current, segment);
12822
+ };
12823
+
12731
12824
  // Youtube Options
12732
12825
  var opts = {
12733
12826
  width: '100%',
@@ -12742,7 +12835,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12742
12835
  React__default.createElement(
12743
12836
  'div',
12744
12837
  { className: 'video-block', style: { position: 'relative', overflow: 'hidden' } },
12745
- vidUrl && vidType == 'youtube' ? React__default.createElement(YouTube, { videoId: getYoutubeId(vidUrl), opts: opts, onEnd: function onEnd(e) {
12838
+ vidUrl && vidType == 'youtube' ? React__default.createElement(YouTube, { videoId: getYoutubeId(vidUrl), opts: opts, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: function onEnd(e) {
12746
12839
  return handleOnEnd(e);
12747
12840
  } }) : React__default.createElement(
12748
12841
  'video',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.244",
3
+ "version": "1.0.246",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",