@mjhls/mjh-framework 1.0.1000 → 1.0.1001-popup-polls

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 (152) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +3 -2
  4. package/dist/cjs/AD300x250x600.js +3 -2
  5. package/dist/cjs/AD728x90.js +3 -2
  6. package/dist/cjs/ADFloatingFooter.js +3 -2
  7. package/dist/cjs/ADGutter.js +3 -2
  8. package/dist/cjs/ADSkyscraper.js +3 -2
  9. package/dist/cjs/ADSponsoredResources.js +3 -2
  10. package/dist/cjs/ADWebcast.js +3 -2
  11. package/dist/cjs/ADWelcome.js +3 -2
  12. package/dist/cjs/AdSlot.js +3 -2
  13. package/dist/cjs/AdSlotsProvider.js +3 -2
  14. package/dist/cjs/AlgoliaSearch.js +521 -1068
  15. package/dist/cjs/ArticleCarousel.js +1 -1
  16. package/dist/cjs/ArticleProgramLandingPage.js +7 -5
  17. package/dist/cjs/ArticleSeriesLandingPage.js +5 -4
  18. package/dist/cjs/ArticleSeriesListing.js +3 -2
  19. package/dist/cjs/Auth.js +11 -40
  20. package/dist/cjs/AuthWrapper.js +19 -89
  21. package/dist/cjs/CMEDeck.js +3 -2
  22. package/dist/cjs/Column3.js +3 -2
  23. package/dist/cjs/ContentCardPaginated.js +5 -4
  24. package/dist/cjs/DeckContent.js +4 -3
  25. package/dist/cjs/DeckQueue.js +3 -2
  26. package/dist/cjs/DeckQueuePaginated.js +4 -3
  27. package/dist/cjs/{Dfp-67646058.js → Dfp-c313a700.js} +2 -1
  28. package/dist/cjs/EventsDeck.js +2 -2
  29. package/dist/cjs/ExternalResources.js +8 -6
  30. package/dist/cjs/Feature.js +1 -1
  31. package/dist/cjs/GridContent.js +5 -4
  32. package/dist/cjs/GridContentPaginated.js +6 -5
  33. package/dist/cjs/HamMagazine.js +2 -2
  34. package/dist/cjs/HorizontalArticleListing.js +7 -5
  35. package/dist/cjs/{ImageSlider-1ec0408b.js → ImageSlider-17fdaf3b.js} +116 -156
  36. package/dist/cjs/IssueLanding.js +9 -7
  37. package/dist/cjs/LeftNav.js +3 -2
  38. package/dist/cjs/MasterDeck.js +5 -4
  39. package/dist/cjs/MasterDeckPaginated.js +6 -5
  40. package/dist/cjs/{MediaSeriesCard-78f709ca.js → MediaSeriesCard-eacea66a.js} +1 -1
  41. package/dist/cjs/MediaSeriesLanding.js +11 -9
  42. package/dist/cjs/MediaSeriesLandingPaginated.js +12 -10
  43. package/dist/cjs/NavMagazine.js +2 -2
  44. package/dist/cjs/NavNative.js +1 -1
  45. package/dist/cjs/{Pagination-6359861a.js → Pagination-842c556f.js} +1 -1
  46. package/dist/cjs/PartnerDetailListing.js +11 -8
  47. package/dist/cjs/PartnerDetailListingPaginated.js +12 -9
  48. package/dist/cjs/PodcastsLanding.js +9 -7
  49. package/dist/cjs/PubSection.js +5 -4
  50. package/dist/cjs/QueueDeckExpanded.js +5 -4
  51. package/dist/cjs/QueueDeckExpandedPaginated.js +6 -5
  52. package/dist/cjs/SeriesListingDeck.js +4 -3
  53. package/dist/cjs/{SeriesSlider-18fc6e71.js → SeriesSlider-3d57985d.js} +1 -1
  54. package/dist/cjs/{SocialSearchComponent-ca9c0c45.js → SocialSearchComponent-62bceb87.js} +1 -1
  55. package/dist/cjs/TaxonomyDescription.js +7 -5
  56. package/dist/cjs/TemplateNormal.js +4 -3
  57. package/dist/cjs/{Tooltip-71754b2a.js → Tooltip-4cb8849a.js} +272 -355
  58. package/dist/cjs/Ustream.js +1 -1
  59. package/dist/cjs/VideoProgramLandingPage.js +7 -5
  60. package/dist/cjs/VideoSeriesLandingPage.js +5 -4
  61. package/dist/cjs/VideoSeriesListing.js +3 -2
  62. package/dist/cjs/View.js +10 -7
  63. package/dist/cjs/YoutubeGroup.js +1 -1
  64. package/dist/cjs/defineProperty-e0fb52c5.js +73 -0
  65. package/dist/cjs/events-1b438fe7.js +469 -0
  66. package/dist/cjs/getSerializers.js +7 -5
  67. package/dist/cjs/{index-e4f1fe32.js → index-19fbbcea.js} +161 -99
  68. package/dist/cjs/index-50be6759.js +105 -0
  69. package/dist/cjs/{index-7435b964.js → index-d2a6ef75.js} +2 -467
  70. package/dist/cjs/{index-96c331fd.js → index-f86bb269.js} +52 -53
  71. package/dist/cjs/index.js +13 -10
  72. package/dist/cjs/{main-6054981e.js → main-3643d499.js} +9 -4
  73. package/dist/cjs/typeof-1358762e.js +33 -0
  74. package/dist/esm/AD.js +1 -1
  75. package/dist/esm/AD300x250.js +3 -2
  76. package/dist/esm/AD300x250x600.js +3 -2
  77. package/dist/esm/AD728x90.js +3 -2
  78. package/dist/esm/ADFloatingFooter.js +3 -2
  79. package/dist/esm/ADGutter.js +3 -2
  80. package/dist/esm/ADSkyscraper.js +3 -2
  81. package/dist/esm/ADSponsoredResources.js +3 -2
  82. package/dist/esm/ADWebcast.js +3 -2
  83. package/dist/esm/ADWelcome.js +3 -2
  84. package/dist/esm/AdSlot.js +3 -2
  85. package/dist/esm/AdSlotsProvider.js +3 -2
  86. package/dist/esm/AlgoliaSearch.js +518 -1065
  87. package/dist/esm/ArticleCarousel.js +1 -1
  88. package/dist/esm/ArticleProgramLandingPage.js +7 -5
  89. package/dist/esm/ArticleSeriesLandingPage.js +5 -4
  90. package/dist/esm/ArticleSeriesListing.js +3 -2
  91. package/dist/esm/Auth.js +11 -40
  92. package/dist/esm/AuthWrapper.js +16 -86
  93. package/dist/esm/CMEDeck.js +3 -2
  94. package/dist/esm/Column3.js +3 -2
  95. package/dist/esm/ContentCardPaginated.js +5 -4
  96. package/dist/esm/DeckContent.js +4 -3
  97. package/dist/esm/DeckQueue.js +3 -2
  98. package/dist/esm/DeckQueuePaginated.js +4 -3
  99. package/dist/esm/{Dfp-cf85d203.js → Dfp-102f0beb.js} +2 -1
  100. package/dist/esm/EventsDeck.js +2 -2
  101. package/dist/esm/ExternalResources.js +8 -6
  102. package/dist/esm/Feature.js +1 -1
  103. package/dist/esm/GridContent.js +5 -4
  104. package/dist/esm/GridContentPaginated.js +6 -5
  105. package/dist/esm/HamMagazine.js +2 -2
  106. package/dist/esm/HorizontalArticleListing.js +7 -5
  107. package/dist/esm/{ImageSlider-83913c4c.js → ImageSlider-f84174cb.js} +117 -157
  108. package/dist/esm/IssueLanding.js +9 -7
  109. package/dist/esm/LeftNav.js +3 -2
  110. package/dist/esm/MasterDeck.js +5 -4
  111. package/dist/esm/MasterDeckPaginated.js +6 -5
  112. package/dist/esm/{MediaSeriesCard-db0176b5.js → MediaSeriesCard-f56c8274.js} +1 -1
  113. package/dist/esm/MediaSeriesLanding.js +11 -9
  114. package/dist/esm/MediaSeriesLandingPaginated.js +12 -10
  115. package/dist/esm/NavMagazine.js +2 -2
  116. package/dist/esm/NavNative.js +1 -1
  117. package/dist/esm/{Pagination-9fe9f61d.js → Pagination-dc30727b.js} +1 -1
  118. package/dist/esm/PartnerDetailListing.js +11 -8
  119. package/dist/esm/PartnerDetailListingPaginated.js +12 -9
  120. package/dist/esm/PodcastsLanding.js +9 -7
  121. package/dist/esm/PubSection.js +5 -4
  122. package/dist/esm/QueueDeckExpanded.js +5 -4
  123. package/dist/esm/QueueDeckExpandedPaginated.js +6 -5
  124. package/dist/esm/SeriesListingDeck.js +4 -3
  125. package/dist/esm/{SeriesSlider-5728e349.js → SeriesSlider-f771e20d.js} +1 -1
  126. package/dist/esm/{SocialSearchComponent-68d948b9.js → SocialSearchComponent-165b4ae7.js} +1 -1
  127. package/dist/esm/TaxonomyDescription.js +7 -5
  128. package/dist/esm/TemplateNormal.js +4 -3
  129. package/dist/esm/{Tooltip-8307d9d1.js → Tooltip-95655b44.js} +67 -150
  130. package/dist/esm/Ustream.js +1 -1
  131. package/dist/esm/VideoProgramLandingPage.js +7 -5
  132. package/dist/esm/VideoSeriesLandingPage.js +5 -4
  133. package/dist/esm/VideoSeriesListing.js +3 -2
  134. package/dist/esm/View.js +10 -7
  135. package/dist/esm/YoutubeGroup.js +1 -1
  136. package/dist/esm/defineProperty-23a8f8cd.js +68 -0
  137. package/dist/esm/events-6c3a7a63.js +467 -0
  138. package/dist/esm/getSerializers.js +7 -5
  139. package/dist/esm/{index-3bb56969.js → index-5d8b0a9d.js} +161 -99
  140. package/dist/esm/{index-30a6257d.js → index-79cfd25c.js} +52 -53
  141. package/dist/esm/index-98ca9cec.js +100 -0
  142. package/dist/esm/{index-5cc7b406.js → index-f0fc23eb.js} +1 -466
  143. package/dist/esm/index.js +13 -10
  144. package/dist/esm/{main-9f6806ea.js → main-1894c974.js} +9 -4
  145. package/dist/esm/typeof-2f07d0e8.js +30 -0
  146. package/package.json +1 -1
  147. package/dist/cjs/index-b95410f0.js +0 -54
  148. package/dist/esm/index-174b5baf.js +0 -52
  149. /package/dist/cjs/{ADInfeed-ef933a08.js → ADInfeed-0394f391.js} +0 -0
  150. /package/dist/cjs/{ADlgInfeed-0e931f24.js → ADlgInfeed-759969d6.js} +0 -0
  151. /package/dist/esm/{ADInfeed-f946441a.js → ADInfeed-5765a73a.js} +0 -0
  152. /package/dist/esm/{ADlgInfeed-012e6f16.js → ADlgInfeed-5e36f317.js} +0 -0
@@ -4,7 +4,7 @@ var React = require('react');
4
4
  var slicedToArray = require('./slicedToArray-067dd3bc.js');
5
5
  var reactBootstrap = require('react-bootstrap');
6
6
  var urlFor = require('./urlFor.js');
7
- var index = require('./index-7435b964.js');
7
+ var index = require('./index-d2a6ef75.js');
8
8
  var Router = require('next/router');
9
9
  var index$1 = require('./index-187c967e.js');
10
10
  var PropTypes = require('prop-types');
@@ -12,7 +12,7 @@ var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
12
12
  var util = require('./util-93a37fd0.js');
13
13
  require('./Beam.js');
14
14
  var Segment = require('./Segment.js');
15
- var main = require('./main-6054981e.js');
15
+ var main = require('./main-3643d499.js');
16
16
  var BlockContent = require('./BlockContent-96b44364.js');
17
17
  var _extends = require('./extends-7c86182f.js');
18
18
  var urlForFile = require('./urlForFile-29d3815a.js');
@@ -21,6 +21,9 @@ var asyncToGenerator = require('./asyncToGenerator-77821af0.js');
21
21
  var _typeof$1 = require('./typeof-567e31ff.js');
22
22
  var brightcoveReactPlayerLoader_es = require('./brightcove-react-player-loader.es-4c7825a1.js');
23
23
  var stringify = require('./stringify-f7a37a8d.js');
24
+ var core_getIteratorMethod = require('./core.get-iterator-method-5643aa10.js');
25
+ var _objectToArray = require('./_object-to-array-ce86cae7.js');
26
+ var keys = require('./keys-e982b3fa.js');
24
27
  var Modal = require('react-bootstrap/Modal');
25
28
  var Button = require('react-bootstrap/Button');
26
29
  var Form = require('react-bootstrap/Form');
@@ -28,8 +31,6 @@ var ReactGA = require('react-ga');
28
31
  var GroupDeck = require('./GroupDeck.js');
29
32
  var moment = require('./moment-aca40de1.js');
30
33
  var SocialShare = require('./SocialShare.js');
31
- var core_getIteratorMethod = require('./core.get-iterator-method-5643aa10.js');
32
- var _objectToArray = require('./_object-to-array-ce86cae7.js');
33
34
  var toConsumableArray = require('./toConsumableArray-d7797c2b.js');
34
35
  var Pagination = require('react-bootstrap/Pagination');
35
36
  var entities = require('./entities-df1aed86.js');
@@ -1648,11 +1649,13 @@ function shouldUpdateVideo(prevProps, props) {
1648
1649
 
1649
1650
  function filterResetOptions(opts) {
1650
1651
  return _objectSpread(_objectSpread({}, opts), {}, {
1651
- playerVars: _objectSpread({
1652
+ height: 0,
1653
+ width: 0,
1654
+ playerVars: _objectSpread(_objectSpread({}, opts.playerVars), {}, {
1652
1655
  autoplay: 0,
1653
1656
  start: 0,
1654
1657
  end: 0
1655
- }, opts.playerVars)
1658
+ })
1656
1659
  });
1657
1660
  }
1658
1661
  /**
@@ -1667,7 +1670,7 @@ function filterResetOptions(opts) {
1667
1670
 
1668
1671
 
1669
1672
  function shouldResetPlayer(prevProps, props) {
1670
- return !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1673
+ return prevProps.videoId !== props.videoId || !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1671
1674
  }
1672
1675
  /**
1673
1676
  * Check whether a props change should result in an id or className update.
@@ -1678,7 +1681,7 @@ function shouldResetPlayer(prevProps, props) {
1678
1681
 
1679
1682
 
1680
1683
  function shouldUpdatePlayer(prevProps, props) {
1681
- return prevProps.id !== props.id || prevProps.className !== props.className;
1684
+ return prevProps.id !== props.id || prevProps.className !== props.className || prevProps.opts.width !== props.opts.width || prevProps.opts.height !== props.opts.height || prevProps.title !== props.title;
1682
1685
  }
1683
1686
 
1684
1687
  var YouTube = /*#__PURE__*/function (_React$Component) {
@@ -1765,6 +1768,9 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1765
1768
  _this.internalPlayer.getIframe().then(function (iframe) {
1766
1769
  if (_this.props.id) iframe.setAttribute('id', _this.props.id);else iframe.removeAttribute('id');
1767
1770
  if (_this.props.className) iframe.setAttribute('class', _this.props.className);else iframe.removeAttribute('class');
1771
+ if (_this.props.opts && _this.props.opts.width) iframe.setAttribute('width', _this.props.opts.width);else iframe.removeAttribute('width');
1772
+ if (_this.props.opts && _this.props.opts.height) iframe.setAttribute('height', _this.props.opts.height);else iframe.removeAttribute('height');
1773
+ if (typeof _this.props.title === 'string') iframe.setAttribute('title', _this.props.title);else iframe.setAttribute('title', 'YouTube video player');
1768
1774
  });
1769
1775
  });
1770
1776
 
@@ -1863,7 +1869,8 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1863
1869
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1864
1870
  id: this.props.id,
1865
1871
  className: this.props.className,
1866
- ref: this.refContainer
1872
+ ref: this.refContainer,
1873
+ loading: this.props.loading
1867
1874
  }));
1868
1875
  }
1869
1876
  }]);
@@ -1888,6 +1895,10 @@ YouTube.propTypes = {
1888
1895
  className: PropTypes__default["default"].string,
1889
1896
  // custom class name for player container element
1890
1897
  containerClassName: PropTypes__default["default"].string,
1898
+ // custom title for the iFrame, see https://www.w3.org/TR/WCAG20-TECHS/H64.html
1899
+ title: PropTypes__default["default"].string,
1900
+ // custom loading for player element
1901
+ loading: PropTypes__default["default"].oneOf(['lazy', 'eager', 'auto']),
1891
1902
  // https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player
1892
1903
  opts: PropTypes__default["default"].objectOf(PropTypes__default["default"].any),
1893
1904
  // event subscriptions
@@ -1904,6 +1915,7 @@ YouTube.defaultProps = {
1904
1915
  videoId: null,
1905
1916
  id: null,
1906
1917
  className: null,
1918
+ loading: null,
1907
1919
  opts: {},
1908
1920
  containerClassName: '',
1909
1921
  onReady: function onReady() {},
@@ -1913,7 +1925,8 @@ YouTube.defaultProps = {
1913
1925
  onEnd: function onEnd() {},
1914
1926
  onStateChange: function onStateChange() {},
1915
1927
  onPlaybackRateChange: function onPlaybackRateChange() {},
1916
- onPlaybackQualityChange: function onPlaybackQualityChange() {}
1928
+ onPlaybackQualityChange: function onPlaybackQualityChange() {},
1929
+ title: null
1917
1930
  };
1918
1931
 
1919
1932
  var YouTubePlayer = function YouTubePlayer(_ref) {
@@ -2219,6 +2232,24 @@ var IFrame = function IFrame(_ref) {
2219
2232
  );
2220
2233
  };
2221
2234
 
2235
+ // https://github.com/tc39/proposal-object-values-entries
2236
+
2237
+ var $values = _objectToArray._objectToArray(false);
2238
+
2239
+ core_getIteratorMethod._export(core_getIteratorMethod._export.S, 'Object', {
2240
+ values: function values(it) {
2241
+ return $values(it);
2242
+ }
2243
+ });
2244
+
2245
+ var values$1 = core_getIteratorMethod._core.Object.values;
2246
+
2247
+ var values = _commonjsHelpers.createCommonjsModule(function (module) {
2248
+ module.exports = { "default": values$1, __esModule: true };
2249
+ });
2250
+
2251
+ var _Object$values = _commonjsHelpers.unwrapExports(values);
2252
+
2222
2253
  var PopupMultiChoice = function PopupMultiChoice(_ref) {
2223
2254
  var question = _ref.question,
2224
2255
  choices = _ref.choices,
@@ -2229,7 +2260,7 @@ var PopupMultiChoice = function PopupMultiChoice(_ref) {
2229
2260
  inline: true,
2230
2261
  label: choice.choiceText,
2231
2262
  value: choice.choiceText,
2232
- name: 'radioButton',
2263
+ name: question,
2233
2264
  type: 'radio',
2234
2265
  className: 'radioButton',
2235
2266
  onClick: handlePollAnswer
@@ -2299,10 +2330,15 @@ var PopupPollModal = function PopupPollModal(props) {
2299
2330
  pollAnswer = _useState2[0],
2300
2331
  setPollAnswer = _useState2[1];
2301
2332
 
2302
- var _useState3 = React.useState(''),
2333
+ var _useState3 = React.useState({}),
2303
2334
  _useState4 = slicedToArray._slicedToArray(_useState3, 2),
2304
- textAnswer = _useState4[0],
2305
- setTextAnswer = _useState4[1];
2335
+ multiItemPollAnswers = _useState4[0],
2336
+ setMultiItemPollAnswers = _useState4[1];
2337
+
2338
+ var _useState5 = React.useState(''),
2339
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
2340
+ textAnswer = _useState6[0],
2341
+ setTextAnswer = _useState6[1];
2306
2342
 
2307
2343
  React.useEffect(function () {
2308
2344
  var modal = document.getElementById('modalDiv');
@@ -2317,77 +2353,98 @@ var PopupPollModal = function PopupPollModal(props) {
2317
2353
  setPollAnswer(e.target.value);
2318
2354
  };
2319
2355
 
2356
+ var handleMultiItemPollAnswers = function handleMultiItemPollAnswers(e) {
2357
+ var question = e.target.name;
2358
+ var answer = e.target.value;
2359
+ var tempObj = {};
2360
+ tempObj[question] = answer;
2361
+ setMultiItemPollAnswers(function (prev) {
2362
+ return _extends._extends({}, prev, tempObj);
2363
+ });
2364
+ };
2365
+
2320
2366
  var handleSubmit = function handleSubmit(e) {
2321
2367
  var currentDate = new Date(Date.now()).toUTCString();
2322
2368
  // eslint-disable-next-line no-undef
2323
2369
  var anonymousID = typeof analytics !== 'undefined' && typeof analytics.user === 'function' && analytics.user() && analytics.user().anonymousId();
2370
+ var formData = {};
2371
+
2324
2372
  pollItems.forEach(function (item) {
2325
- var submitAnswer = void 0;
2326
- if (item.format === 'multiChoice') submitAnswer = pollAnswer;
2327
- if (item.format === 'textInput') submitAnswer = textAnswer;
2328
- var formData = {
2373
+ formData = {
2329
2374
  uuid: anonymousID,
2330
2375
  url: pollUrl,
2331
2376
  date: currentDate,
2332
- question: item.question,
2333
- answer: submitAnswer
2377
+ questionsArray: keys._Object$keys(multiItemPollAnswers),
2378
+ answersArray: _Object$values(multiItemPollAnswers)
2334
2379
  };
2335
- var requestOptions = {
2336
- method: 'POST',
2337
- headers: { 'content-type': 'application/json' },
2338
- body: stringify._JSON$stringify({ data: formData })
2339
- };
2340
- var insertData = function () {
2341
- var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
2342
- return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
2343
- while (1) {
2344
- switch (_context.prev = _context.next) {
2345
- case 0:
2346
- _context.prev = 0;
2347
- _context.next = 3;
2348
- return fetch('/api/popup_polls', requestOptions).then(function (res) {
2349
- return res.json();
2350
- }).then(function (res) {
2351
- return console.log(res);
2352
- });
2353
-
2354
- case 3:
2355
- _context.next = 8;
2356
- break;
2357
-
2358
- case 5:
2359
- _context.prev = 5;
2360
- _context.t0 = _context['catch'](0);
2361
-
2362
- if (_context.t0) console.log('There was an error in insertData in PopupPollModal.js: ' + _context.t0);
2363
-
2364
- case 8:
2365
- case 'end':
2366
- return _context.stop();
2367
- }
2380
+ item.question ? formData.question = item.question : null;
2381
+ pollAnswer && item.format === 'multiChoice' ? formData.answer = pollAnswer : pollAnswer && item.format === 'textInput' ? formData.answer = textAnswer : null;
2382
+ keys._Object$keys(multiItemPollAnswers).length > 0 ? formData.multiItemQandA = multiItemPollAnswers : null;
2383
+ });
2384
+ var requestOptions = {
2385
+ method: 'POST',
2386
+ headers: { 'content-type': 'application/json' },
2387
+ body: stringify._JSON$stringify({ data: formData })
2388
+ };
2389
+ var insertData = function () {
2390
+ var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
2391
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
2392
+ while (1) {
2393
+ switch (_context.prev = _context.next) {
2394
+ case 0:
2395
+ _context.prev = 0;
2396
+ _context.next = 3;
2397
+ return fetch('/api/popup_polls', requestOptions).then(function (res) {
2398
+ return res.json();
2399
+ }).then(function (res) {
2400
+ return console.log(res);
2401
+ });
2402
+
2403
+ case 3:
2404
+ _context.next = 8;
2405
+ break;
2406
+
2407
+ case 5:
2408
+ _context.prev = 5;
2409
+ _context.t0 = _context['catch'](0);
2410
+
2411
+ if (_context.t0) console.log('There was an error in insertData in PopupPollModal.js: ' + _context.t0);
2412
+
2413
+ case 8:
2414
+ case 'end':
2415
+ return _context.stop();
2368
2416
  }
2369
- }, _callee, _this, [[0, 5]]);
2370
- }));
2417
+ }
2418
+ }, _callee, _this, [[0, 5]]);
2419
+ }));
2371
2420
 
2372
- return function insertData() {
2373
- return _ref.apply(this, arguments);
2374
- };
2375
- }();
2376
- console.log('formData', formData);
2377
- insertData();
2378
- });
2421
+ return function insertData() {
2422
+ return _ref.apply(this, arguments);
2423
+ };
2424
+ }();
2425
+ // console.log('formData', formData)
2426
+ insertData();
2379
2427
  restartPlayer();
2380
- // setIsPollingTime(false)
2381
2428
  e.preventDefault();
2382
2429
  };
2383
2430
 
2384
2431
  var pollArray = [];
2432
+
2385
2433
  pollItems.forEach(function (item, ind) {
2386
- if (item.format === 'multiChoice') {
2387
- pollArray.push(React__default["default"].createElement(PopupMultiChoice, { question: item.question, choices: item.choices, handlePollAnswer: handlePollAnswer, key: ind }));
2388
- }
2389
- if (item.format === 'textInput') {
2390
- pollArray.push(React__default["default"].createElement(PopupPollTextInput, { textInputQuestion: item.question, textanswer: textAnswer, handleTextAnswer: handleTextAnswer, key: ind }));
2434
+ if (!item.atStart) {
2435
+ if (item.format === 'multiChoice') {
2436
+ pollArray.push(React__default["default"].createElement(PopupMultiChoice, { question: item.question, choices: item.choices, handlePollAnswer: handlePollAnswer, key: ind }));
2437
+ }
2438
+ if (item.format === 'textInput') {
2439
+ pollArray.push(React__default["default"].createElement(PopupPollTextInput, { textInputQuestion: item.question, textanswer: textAnswer, handleTextAnswer: handleTextAnswer, key: ind }));
2440
+ }
2441
+ } else {
2442
+ if (item.pollItems[0] && item.pollItems[0].format === 'multiChoice') {
2443
+ pollArray.push(React__default["default"].createElement(PopupMultiChoice, { question: item.pollItems[0].question, choices: item.pollItems[0].choices, handlePollAnswer: handleMultiItemPollAnswers, key: ind }));
2444
+ }
2445
+ if (item.pollItems[0] && item.pollItems[0].format === 'textInput') {
2446
+ pollArray.push(React__default["default"].createElement(PopupPollTextInput, { textInputQuestion: item.pollItems[0].question, textanswer: textAnswer, handleTextAnswer: handleTextAnswer, key: ind }));
2447
+ }
2391
2448
  }
2392
2449
  });
2393
2450
 
@@ -2396,7 +2453,10 @@ var PopupPollModal = function PopupPollModal(props) {
2396
2453
  { className: 'modalDiv', id: 'modalDiv' },
2397
2454
  React__default["default"].createElement(
2398
2455
  Modal__default["default"].Dialog,
2399
- null,
2456
+ { className: pollItems.length > 1 ? 'modal-dialog-overflow' : null, scrollable: pollItems.length > 1 },
2457
+ props.closeable && React__default["default"].createElement(Modal__default["default"].Header, { closeButton: true, onClick: function onClick() {
2458
+ return restartPlayer();
2459
+ } }),
2400
2460
  React__default["default"].createElement(
2401
2461
  Modal__default["default"].Body,
2402
2462
  null,
@@ -2408,10 +2468,14 @@ var PopupPollModal = function PopupPollModal(props) {
2408
2468
  Button__default["default"],
2409
2469
  { className: 'submitButton', type: 'submit', variant: 'success', disabled: !textAnswer },
2410
2470
  'Submit'
2411
- ) : React__default["default"].createElement(
2471
+ ) : !textInputRender && multiChoiceRender ? React__default["default"].createElement(
2412
2472
  Button__default["default"],
2413
2473
  { className: 'submitButton', type: 'submit', variant: 'success', disabled: !pollAnswer },
2414
2474
  'Submit'
2475
+ ) : React__default["default"].createElement(
2476
+ Button__default["default"],
2477
+ { className: 'submitButton', type: 'submit', variant: 'success' },
2478
+ 'Submit'
2415
2479
  )
2416
2480
  )
2417
2481
  )
@@ -2630,6 +2694,7 @@ var Video = function Video(_ref) {
2630
2694
  experienceID = node.experienceID;
2631
2695
 
2632
2696
  var polls = void 0;
2697
+
2633
2698
  if (node.polls) polls = node.polls;
2634
2699
 
2635
2700
  var _useState = React.useState(false),
@@ -2674,10 +2739,16 @@ var Video = function Video(_ref) {
2674
2739
  return minutes * 60 + seconds;
2675
2740
  };
2676
2741
  var modalTimes = [];
2742
+ var initPolls = [];
2743
+ var nonInitPolls = [];
2677
2744
  if (polls) {
2678
2745
  polls.forEach(function (pollObj) {
2679
- return modalTimes.push(convertTime(pollObj.timestamp));
2746
+ return pollObj.timestamp !== '0:00' && pollObj.timestamp !== '00:00' ? modalTimes.push(convertTime(pollObj.timestamp)) : null;
2680
2747
  });
2748
+ polls.forEach(function (pollObj) {
2749
+ return pollObj.atStart ? initPolls.push(pollObj) : nonInitPolls.push(pollObj);
2750
+ });
2751
+ if (nonInitPolls.length > 0) polls = nonInitPolls;
2681
2752
  }
2682
2753
 
2683
2754
  var restartPlayer = function restartPlayer() {
@@ -2752,7 +2823,14 @@ var Video = function Video(_ref) {
2752
2823
  return _ref2.apply(this, arguments);
2753
2824
  };
2754
2825
  }();
2755
-
2826
+ // console.log('initPolls', initPolls)
2827
+ if (initPolls.length > 0) {
2828
+ player.pause();
2829
+ setPollItems(initPolls);
2830
+ setPollUrl(targeting.document_url[0]);
2831
+ setIsPollingTime(true);
2832
+ initPolls = [];
2833
+ }
2756
2834
  if (autoplay) {
2757
2835
  autoPlayVideo();
2758
2836
  }
@@ -2760,20 +2838,15 @@ var Video = function Video(_ref) {
2760
2838
  // Beam.report_beam_video('Ready', deviceType, duration, current, segment, 'BrightCove', accountIDs.brightcove.playerId, accountIDs.brightcove.accountId, videoID)
2761
2839
  Segment.report_video_event('Video Ready', main.main_18, duration, current, segment, 'BrightCove', accountIDs.brightcove.playerId, accountIDs.brightcove.accountId, videoID);
2762
2840
  });
2763
- // let intId
2764
- // const convertTime = (timeStr) => {
2765
- // const minutes = parseInt(timeStr.slice(0, 2))
2766
- // const seconds = parseInt(timeStr.slice(3))
2767
- // return minutes * 60 + seconds
2768
- // }
2769
- // const modalTimes = []
2770
- // polls.forEach(pollObj => modalTimes.push(convertTime(pollObj.timestamp)))
2841
+
2771
2842
  player.on('play', function (evt) {
2843
+ console.log('in player.on');
2772
2844
  var duration = player.mediainfo.duration;
2773
2845
  var current = player.currentTime();
2774
2846
  var queue = Math.floor(duration / 10);
2775
2847
  var segment = Math.floor(current / queue);
2776
- if (polls) {
2848
+
2849
+ if (polls && initPolls.length === 0) {
2777
2850
  var vidPlayer = this;
2778
2851
  intId = setInterval(function () {
2779
2852
  var ct = player.currentTime();
@@ -2874,6 +2947,8 @@ var Video = function Video(_ref) {
2874
2947
  , textInputRender: textInputRender
2875
2948
  // eslint-disable-next-line react/jsx-indent-props
2876
2949
  , multiChoiceRender: multiChoiceRender
2950
+ // eslint-disable-next-line react/jsx-indent-props
2951
+ , closeable: node.polls && node.polls[0] ? node.polls[0].closeable : null
2877
2952
  }) : null,
2878
2953
  React__default["default"].createElement(brightcoveReactPlayerLoader_es.ReactPlayerLoader, {
2879
2954
  onSuccess: onVideoSuccess,
@@ -2906,6 +2981,8 @@ var Video = function Video(_ref) {
2906
2981
  , textInputRender: textInputRender
2907
2982
  // eslint-disable-next-line react/jsx-indent-props
2908
2983
  , multiChoiceRender: multiChoiceRender
2984
+ // eslint-disable-next-line react/jsx-indent-props
2985
+ , closeable: node.polls && node.polls[0] ? node.polls[0].closeable : null
2909
2986
  }) : null,
2910
2987
  React__default["default"].createElement(brightcoveReactPlayerLoader_es.ReactPlayerLoader, {
2911
2988
  accountId: accountIDs.brightcove.accountId,
@@ -2939,6 +3016,9 @@ var Video = function Video(_ref) {
2939
3016
  , textInputRender: textInputRender
2940
3017
  // eslint-disable-next-line react/jsx-indent-props
2941
3018
  , multiChoiceRender: multiChoiceRender
3019
+ // eslint-disable-next-line react/jsx-indent-props
3020
+ , closeable: node.polls && node.polls[0] ? node.polls[0].closeable : null
3021
+
2942
3022
  }) : null
2943
3023
  );
2944
3024
  }
@@ -8155,24 +8235,6 @@ var Poll$1 = function Poll(_ref) {
8155
8235
  );
8156
8236
  };
8157
8237
 
8158
- // https://github.com/tc39/proposal-object-values-entries
8159
-
8160
- var $values = _objectToArray._objectToArray(false);
8161
-
8162
- core_getIteratorMethod._export(core_getIteratorMethod._export.S, 'Object', {
8163
- values: function values(it) {
8164
- return $values(it);
8165
- }
8166
- });
8167
-
8168
- var values$1 = core_getIteratorMethod._core.Object.values;
8169
-
8170
- var values = _commonjsHelpers.createCommonjsModule(function (module) {
8171
- module.exports = { "default": values$1, __esModule: true };
8172
- });
8173
-
8174
- var _Object$values = _commonjsHelpers.unwrapExports(values);
8175
-
8176
8238
  var Poll = function Poll(_ref) {
8177
8239
  var node = _ref.node;
8178
8240
  _ref.client;
@@ -0,0 +1,105 @@
1
+ 'use strict';
2
+
3
+ var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
4
+
5
+ function _extends() {
6
+ _extends = Object.assign || function (target) {
7
+ for (var i = 1; i < arguments.length; i++) {
8
+ var source = arguments[i];
9
+
10
+ for (var key in source) {
11
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
12
+ target[key] = source[key];
13
+ }
14
+ }
15
+ }
16
+
17
+ return target;
18
+ };
19
+
20
+ return _extends.apply(this, arguments);
21
+ }
22
+
23
+ function _objectWithoutPropertiesLoose(source, excluded) {
24
+ if (source == null) return {};
25
+ var target = {};
26
+ var sourceKeys = Object.keys(source);
27
+ var key, i;
28
+
29
+ for (i = 0; i < sourceKeys.length; i++) {
30
+ key = sourceKeys[i];
31
+ if (excluded.indexOf(key) >= 0) continue;
32
+ target[key] = source[key];
33
+ }
34
+
35
+ return target;
36
+ }
37
+
38
+ function _setPrototypeOf(o, p) {
39
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
40
+ o.__proto__ = p;
41
+ return o;
42
+ };
43
+
44
+ return _setPrototypeOf(o, p);
45
+ }
46
+
47
+ var classnames = _commonjsHelpers.createCommonjsModule(function (module) {
48
+ /*!
49
+ Copyright (c) 2018 Jed Watson.
50
+ Licensed under the MIT License (MIT), see
51
+ http://jedwatson.github.io/classnames
52
+ */
53
+ /* global define */
54
+
55
+ (function () {
56
+
57
+ var hasOwn = {}.hasOwnProperty;
58
+
59
+ function classNames() {
60
+ var classes = [];
61
+
62
+ for (var i = 0; i < arguments.length; i++) {
63
+ var arg = arguments[i];
64
+ if (!arg) continue;
65
+
66
+ var argType = typeof arg;
67
+
68
+ if (argType === 'string' || argType === 'number') {
69
+ classes.push(arg);
70
+ } else if (Array.isArray(arg)) {
71
+ if (arg.length) {
72
+ var inner = classNames.apply(null, arg);
73
+ if (inner) {
74
+ classes.push(inner);
75
+ }
76
+ }
77
+ } else if (argType === 'object') {
78
+ if (arg.toString === Object.prototype.toString) {
79
+ for (var key in arg) {
80
+ if (hasOwn.call(arg, key) && arg[key]) {
81
+ classes.push(key);
82
+ }
83
+ }
84
+ } else {
85
+ classes.push(arg.toString());
86
+ }
87
+ }
88
+ }
89
+
90
+ return classes.join(' ');
91
+ }
92
+
93
+ if (module.exports) {
94
+ classNames.default = classNames;
95
+ module.exports = classNames;
96
+ } else {
97
+ window.classNames = classNames;
98
+ }
99
+ }());
100
+ });
101
+
102
+ exports._extends = _extends;
103
+ exports._objectWithoutPropertiesLoose = _objectWithoutPropertiesLoose;
104
+ exports._setPrototypeOf = _setPrototypeOf;
105
+ exports.classnames = classnames;