@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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.116
2
+ # mjh-framework v. 1.0.117
3
3
 
4
4
 
5
5
  > Foundation Framework
package/dist/index.es.js CHANGED
@@ -20,6 +20,7 @@ import Button from 'react-bootstrap/Button';
20
20
  import Nav from 'react-bootstrap/Nav';
21
21
  import Navbar from 'react-bootstrap/Navbar';
22
22
  import NavDropdown from 'react-bootstrap/NavDropdown';
23
+ import Pagination from 'react-bootstrap/Pagination';
23
24
  import Carousel$1 from 'react-bootstrap/Carousel';
24
25
  import Breadcrumb from 'react-bootstrap/Breadcrumb';
25
26
 
@@ -11204,7 +11205,7 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
11204
11205
  React__default.createElement(
11205
11206
  Media$1,
11206
11207
  { key: article._id ? article._id : index$$1, style: { marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
11207
- React__default.createElement(
11208
+ (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
11208
11209
  Link,
11209
11210
  { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
11210
11211
  React__default.createElement(
@@ -11263,7 +11264,7 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
11263
11264
  React__default.createElement(
11264
11265
  'style',
11265
11266
  { jsx: true },
11266
- '\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 '
11267
+ '\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 '
11267
11268
  )
11268
11269
  );
11269
11270
  };
@@ -20130,23 +20131,21 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
20130
20131
  );
20131
20132
  };
20132
20133
 
20133
- var onSubmitPoll = function onSubmitPoll(e, setShowAnswer) {
20134
- e.preventDefault();
20135
- setShowAnswer(true);
20136
- };
20137
-
20138
20134
  var Poll = function Poll(_ref) {
20139
20135
  var node = _ref.node,
20140
20136
  client = _ref.client,
20141
20137
  pageview = _ref.pageview,
20142
- videoAccountIDs = _ref.videoAccountIDs;
20138
+ videoAccountIDs = _ref.videoAccountIDs,
20139
+ onVote = _ref.onVote,
20140
+ _ref$showVotes = _ref.showVotes,
20141
+ showVotes = _ref$showVotes === undefined ? false : _ref$showVotes;
20143
20142
 
20144
20143
  var _useState = useState(null),
20145
20144
  _useState2 = slicedToArray(_useState, 2),
20146
20145
  selectedChoice = _useState2[0],
20147
20146
  setSelectedChoice = _useState2[1];
20148
20147
 
20149
- var _useState3 = useState(false),
20148
+ var _useState3 = useState(showVotes),
20150
20149
  _useState4 = slicedToArray(_useState3, 2),
20151
20150
  showAnswer = _useState4[0],
20152
20151
  setShowAnswer = _useState4[1];
@@ -20156,6 +20155,12 @@ var Poll = function Poll(_ref) {
20156
20155
  response = node.response;
20157
20156
 
20158
20157
 
20158
+ var onSubmitPoll = function onSubmitPoll(e, setShowAnswer) {
20159
+ e.preventDefault();
20160
+ onVote(node._key, selectedChoice);
20161
+ setShowAnswer(true);
20162
+ };
20163
+
20159
20164
  var choicesTotalCount = choices && choices.reduce(function (acc, choice) {
20160
20165
  acc = acc + parseInt(choice.choiceCount);
20161
20166
  return acc;
@@ -20177,7 +20182,7 @@ var Poll = function Poll(_ref) {
20177
20182
  return React__default.createElement(
20178
20183
  'div',
20179
20184
  { key: choice._key },
20180
- React__default.createElement('input', { type: 'radio', id: 'male', name: choice._type, value: choice.choiceText, onChange: function onChange(e) {
20185
+ React__default.createElement('input', { type: 'radio', id: 'male', name: choice._type, value: choice._key, onChange: function onChange(e) {
20181
20186
  return setSelectedChoice(e.target.value);
20182
20187
  } }),
20183
20188
  React__default.createElement(
@@ -20233,7 +20238,94 @@ var Poll = function Poll(_ref) {
20233
20238
  );
20234
20239
  };
20235
20240
 
20236
- var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs) {
20241
+ var Quiz = function Quiz(_ref) {
20242
+ var quizzes = _ref.quizzes;
20243
+
20244
+ var pageCount = quizzes.length;
20245
+
20246
+ var _useState = useState(1),
20247
+ _useState2 = slicedToArray(_useState, 2),
20248
+ currentPage = _useState2[0],
20249
+ setCurrentPage = _useState2[1];
20250
+
20251
+ var _useState3 = useState(false),
20252
+ _useState4 = slicedToArray(_useState3, 2),
20253
+ showAnswer = _useState4[0],
20254
+ setShowAnswer = _useState4[1];
20255
+
20256
+ var changePage = function changePage(page) {
20257
+ if (page > 0 && page <= pageCount) {
20258
+ setShowAnswer(false);
20259
+ setCurrentPage(page);
20260
+ }
20261
+ };
20262
+
20263
+ var renderPagination = function renderPagination() {
20264
+ var pages = [];
20265
+
20266
+ var _loop = function _loop(i) {
20267
+ pages.push(React__default.createElement(
20268
+ Pagination.Item,
20269
+ { onClick: function onClick() {
20270
+ return changePage(i);
20271
+ }, active: i === currentPage },
20272
+ i
20273
+ ));
20274
+ };
20275
+
20276
+ for (var i = 1; i <= pageCount; i++) {
20277
+ _loop(i);
20278
+ }
20279
+ return React__default.createElement(
20280
+ Pagination,
20281
+ { className: 'p-0 m-0' },
20282
+ React__default.createElement(Pagination.First, { onClick: function onClick() {
20283
+ return changePage(1);
20284
+ } }),
20285
+ React__default.createElement(Pagination.Prev, { onClick: function onClick() {
20286
+ return changePage(currentPage - 1);
20287
+ } }),
20288
+ pages,
20289
+ React__default.createElement(Pagination.Next, { onClick: function onClick() {
20290
+ return changePage(currentPage + 1);
20291
+ } }),
20292
+ React__default.createElement(Pagination.Last, { onClick: function onClick() {
20293
+ return changePage(pageCount);
20294
+ } })
20295
+ );
20296
+ };
20297
+
20298
+ return React__default.createElement(
20299
+ React__default.Fragment,
20300
+ null,
20301
+ quizzes[currentPage - 1] && React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].question }),
20302
+ !showAnswer && React__default.createElement(
20303
+ Button,
20304
+ { onClick: function onClick() {
20305
+ return setShowAnswer(true);
20306
+ }, variant: 'info', block: true },
20307
+ 'Please click here for answer'
20308
+ ),
20309
+ quizzes[currentPage - 1] && showAnswer && React__default.createElement(
20310
+ React__default.Fragment,
20311
+ null,
20312
+ React__default.createElement(
20313
+ 'h4',
20314
+ null,
20315
+ 'Answer:'
20316
+ ),
20317
+ React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].answer })
20318
+ ),
20319
+ React__default.createElement('br', null),
20320
+ React__default.createElement(
20321
+ 'div',
20322
+ { className: 'd-flex justify-content-center' },
20323
+ renderPagination()
20324
+ )
20325
+ );
20326
+ };
20327
+
20328
+ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs, onVote, showVotes) {
20237
20329
  return {
20238
20330
  types: {
20239
20331
  youtube: function youtube(_ref) {
@@ -20298,7 +20390,13 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
20298
20390
  poll: function poll(_ref11) {
20299
20391
  var node = _ref11.node;
20300
20392
 
20301
- return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs });
20393
+ return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs, onVote: onVote, showVotes: showVotes });
20394
+ },
20395
+ quiz: function quiz(_ref12) {
20396
+ var node = _ref12.node;
20397
+ var quizzes = node.quizzes;
20398
+
20399
+ return React__default.createElement(Quiz, { quizzes: quizzes });
20302
20400
  }
20303
20401
  },
20304
20402
  marks: {