@mjhls/mjh-framework 1.0.116 → 1.0.117

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/dist/index.js CHANGED
@@ -27,6 +27,7 @@ var Button = _interopDefault(require('react-bootstrap/Button'));
27
27
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
28
28
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
29
29
  var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
30
+ var Pagination = _interopDefault(require('react-bootstrap/Pagination'));
30
31
  var Carousel = _interopDefault(require('react-bootstrap/Carousel'));
31
32
  var Breadcrumb = _interopDefault(require('react-bootstrap/Breadcrumb'));
32
33
 
@@ -11211,7 +11212,7 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
11211
11212
  React__default.createElement(
11212
11213
  reactBootstrap.Media,
11213
11214
  { key: article._id ? article._id : index$$1, style: { marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
11214
- React__default.createElement(
11215
+ (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
11215
11216
  Link,
11216
11217
  { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
11217
11218
  React__default.createElement(
@@ -11270,7 +11271,7 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
11270
11271
  React__default.createElement(
11271
11272
  'style',
11272
11273
  { jsx: true },
11273
- '\n @media only screen and (min-width: 768px) {\n .img-wrapper {\n max-width: 44%;\n }\n .img-wrapper > .img-fluid {\n padding-right: 15px;\n }\n }\n @media only screen and (max-width: 767px) {\n .media {\n flex-direction: column;\n }\n .media-body {\n padding-top: 10px;\n }\n }\n '
11274
+ '\n .img-wrapper img {\n max-height: 200px;\n width: 100%;\n object-fit: cover;\n }\n @media only screen and (min-width: 768px) {\n .img-wrapper {\n max-width: 44%;\n }\n .img-wrapper > img {\n padding-right: 1em;\n }\n }\n @media only screen and (max-width: 767px) {\n .img-wrapper {\n max-width: 100%;\n }\n .img-wrapper img {\n padding-bottom: 1em;\n }\n .media {\n flex-direction: column;\n }\n }\n '
11274
11275
  )
11275
11276
  );
11276
11277
  };
@@ -20137,23 +20138,21 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
20137
20138
  );
20138
20139
  };
20139
20140
 
20140
- var onSubmitPoll = function onSubmitPoll(e, setShowAnswer) {
20141
- e.preventDefault();
20142
- setShowAnswer(true);
20143
- };
20144
-
20145
20141
  var Poll = function Poll(_ref) {
20146
20142
  var node = _ref.node,
20147
20143
  client = _ref.client,
20148
20144
  pageview = _ref.pageview,
20149
- videoAccountIDs = _ref.videoAccountIDs;
20145
+ videoAccountIDs = _ref.videoAccountIDs,
20146
+ onVote = _ref.onVote,
20147
+ _ref$showVotes = _ref.showVotes,
20148
+ showVotes = _ref$showVotes === undefined ? false : _ref$showVotes;
20150
20149
 
20151
20150
  var _useState = React.useState(null),
20152
20151
  _useState2 = slicedToArray(_useState, 2),
20153
20152
  selectedChoice = _useState2[0],
20154
20153
  setSelectedChoice = _useState2[1];
20155
20154
 
20156
- var _useState3 = React.useState(false),
20155
+ var _useState3 = React.useState(showVotes),
20157
20156
  _useState4 = slicedToArray(_useState3, 2),
20158
20157
  showAnswer = _useState4[0],
20159
20158
  setShowAnswer = _useState4[1];
@@ -20163,6 +20162,12 @@ var Poll = function Poll(_ref) {
20163
20162
  response = node.response;
20164
20163
 
20165
20164
 
20165
+ var onSubmitPoll = function onSubmitPoll(e, setShowAnswer) {
20166
+ e.preventDefault();
20167
+ onVote(node._key, selectedChoice);
20168
+ setShowAnswer(true);
20169
+ };
20170
+
20166
20171
  var choicesTotalCount = choices && choices.reduce(function (acc, choice) {
20167
20172
  acc = acc + parseInt(choice.choiceCount);
20168
20173
  return acc;
@@ -20184,7 +20189,7 @@ var Poll = function Poll(_ref) {
20184
20189
  return React__default.createElement(
20185
20190
  'div',
20186
20191
  { key: choice._key },
20187
- React__default.createElement('input', { type: 'radio', id: 'male', name: choice._type, value: choice.choiceText, onChange: function onChange(e) {
20192
+ React__default.createElement('input', { type: 'radio', id: 'male', name: choice._type, value: choice._key, onChange: function onChange(e) {
20188
20193
  return setSelectedChoice(e.target.value);
20189
20194
  } }),
20190
20195
  React__default.createElement(
@@ -20240,7 +20245,94 @@ var Poll = function Poll(_ref) {
20240
20245
  );
20241
20246
  };
20242
20247
 
20243
- var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs) {
20248
+ var Quiz = function Quiz(_ref) {
20249
+ var quizzes = _ref.quizzes;
20250
+
20251
+ var pageCount = quizzes.length;
20252
+
20253
+ var _useState = React.useState(1),
20254
+ _useState2 = slicedToArray(_useState, 2),
20255
+ currentPage = _useState2[0],
20256
+ setCurrentPage = _useState2[1];
20257
+
20258
+ var _useState3 = React.useState(false),
20259
+ _useState4 = slicedToArray(_useState3, 2),
20260
+ showAnswer = _useState4[0],
20261
+ setShowAnswer = _useState4[1];
20262
+
20263
+ var changePage = function changePage(page) {
20264
+ if (page > 0 && page <= pageCount) {
20265
+ setShowAnswer(false);
20266
+ setCurrentPage(page);
20267
+ }
20268
+ };
20269
+
20270
+ var renderPagination = function renderPagination() {
20271
+ var pages = [];
20272
+
20273
+ var _loop = function _loop(i) {
20274
+ pages.push(React__default.createElement(
20275
+ Pagination.Item,
20276
+ { onClick: function onClick() {
20277
+ return changePage(i);
20278
+ }, active: i === currentPage },
20279
+ i
20280
+ ));
20281
+ };
20282
+
20283
+ for (var i = 1; i <= pageCount; i++) {
20284
+ _loop(i);
20285
+ }
20286
+ return React__default.createElement(
20287
+ Pagination,
20288
+ { className: 'p-0 m-0' },
20289
+ React__default.createElement(Pagination.First, { onClick: function onClick() {
20290
+ return changePage(1);
20291
+ } }),
20292
+ React__default.createElement(Pagination.Prev, { onClick: function onClick() {
20293
+ return changePage(currentPage - 1);
20294
+ } }),
20295
+ pages,
20296
+ React__default.createElement(Pagination.Next, { onClick: function onClick() {
20297
+ return changePage(currentPage + 1);
20298
+ } }),
20299
+ React__default.createElement(Pagination.Last, { onClick: function onClick() {
20300
+ return changePage(pageCount);
20301
+ } })
20302
+ );
20303
+ };
20304
+
20305
+ return React__default.createElement(
20306
+ React__default.Fragment,
20307
+ null,
20308
+ quizzes[currentPage - 1] && React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].question }),
20309
+ !showAnswer && React__default.createElement(
20310
+ Button,
20311
+ { onClick: function onClick() {
20312
+ return setShowAnswer(true);
20313
+ }, variant: 'info', block: true },
20314
+ 'Please click here for answer'
20315
+ ),
20316
+ quizzes[currentPage - 1] && showAnswer && React__default.createElement(
20317
+ React__default.Fragment,
20318
+ null,
20319
+ React__default.createElement(
20320
+ 'h4',
20321
+ null,
20322
+ 'Answer:'
20323
+ ),
20324
+ React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].answer })
20325
+ ),
20326
+ React__default.createElement('br', null),
20327
+ React__default.createElement(
20328
+ 'div',
20329
+ { className: 'd-flex justify-content-center' },
20330
+ renderPagination()
20331
+ )
20332
+ );
20333
+ };
20334
+
20335
+ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs, onVote, showVotes) {
20244
20336
  return {
20245
20337
  types: {
20246
20338
  youtube: function youtube(_ref) {
@@ -20305,7 +20397,13 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
20305
20397
  poll: function poll(_ref11) {
20306
20398
  var node = _ref11.node;
20307
20399
 
20308
- return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs });
20400
+ return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs, onVote: onVote, showVotes: showVotes });
20401
+ },
20402
+ quiz: function quiz(_ref12) {
20403
+ var node = _ref12.node;
20404
+ var quizzes = node.quizzes;
20405
+
20406
+ return React__default.createElement(Quiz, { quizzes: quizzes });
20309
20407
  }
20310
20408
  },
20311
20409
  marks: {