@mjhls/mjh-framework 1.0.83 → 1.0.85

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
@@ -5133,6 +5133,330 @@ function get$1(object, path, defaultValue) {
5133
5133
 
5134
5134
  var get_1 = get$1;
5135
5135
 
5136
+ var GridContent = function (_React$Component) {
5137
+ inherits(GridContent, _React$Component);
5138
+
5139
+ function GridContent() {
5140
+ var _ref;
5141
+
5142
+ var _temp, _this, _ret;
5143
+
5144
+ classCallCheck(this, GridContent);
5145
+
5146
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
5147
+ args[_key] = arguments[_key];
5148
+ }
5149
+
5150
+ return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = GridContent.__proto__ || Object.getPrototypeOf(GridContent)).call.apply(_ref, [this].concat(args))), _this), _this.page = _this.props.page, _this.mapping = _this.props.mapping, _this.data = _this.props.dataRecord, _this.query = _this.props.query, _this.params = _this.props.params, _this.pointer = _this.props.pointer ? _this.props.pointer : false, _this.pointerArray = _this.props.pointerArray ? _this.props.pointerArray : false, _this.state = {
5151
+ data: _this.data,
5152
+ per: _this.params ? _this.params.to : 2,
5153
+ page: 1,
5154
+ from: _this.params ? _this.params.from : 0,
5155
+ to: _this.params ? _this.params.to : 2,
5156
+ total_pages: null,
5157
+ scrolling: true,
5158
+ query: _this.query
5159
+ }, _this.loadMore = function () {
5160
+ setTimeout(function () {
5161
+ _this.setState(function (state, props) {
5162
+ return {
5163
+ page: state.page + 1,
5164
+ from: state.from + state.per,
5165
+ to: state.to + state.per
5166
+ };
5167
+ }, _this.loadData);
5168
+ }, 10);
5169
+ }, _this.loadData = function () {
5170
+ var _this$state = _this.state,
5171
+ from = _this$state.from,
5172
+ to = _this$state.to,
5173
+ data = _this$state.data,
5174
+ query = _this$state.query;
5175
+ var client = _this.props.client;
5176
+
5177
+
5178
+ var params = _extends({}, _this.params, { from: from, to: to
5179
+ // const queryUpdated = query.replace('$from', params.from).replace('$to', params.to)
5180
+
5181
+ });if (_this.pointer && _this.pointerArray) {
5182
+ var pointer = _this.pointer;
5183
+ client.fetch(query, params).then(function (dataArr) {
5184
+ _this.setState(function (state, props) {
5185
+ if (dataArr[_this.pointerArray][pointer].length > 0) {
5186
+ return {
5187
+ data: [].concat(toConsumableArray(data), toConsumableArray(dataArr[_this.pointerArray][pointer])),
5188
+ scrolling: true
5189
+ };
5190
+ } else {
5191
+ return {
5192
+ scrolling: false
5193
+ };
5194
+ }
5195
+ });
5196
+ });
5197
+ } else {
5198
+ client.fetch(query, params).then(function (dataArr) {
5199
+ _this.setState(function (state, props) {
5200
+ if (dataArr.length > 0) {
5201
+ return {
5202
+ data: [].concat(toConsumableArray(data), toConsumableArray(dataArr)),
5203
+ scrolling: true
5204
+ };
5205
+ } else {
5206
+ return {
5207
+ scrolling: false
5208
+ };
5209
+ }
5210
+ });
5211
+ });
5212
+ }
5213
+ }, _this.urlFor = function (source) {
5214
+ var client = _this.props.client;
5215
+
5216
+ var builder = imageUrlBuilder(client);
5217
+ return builder.image(source);
5218
+ }, _this.renderCardImage = function (row, page) {
5219
+ if (row.thumbnail) {
5220
+ return _this.urlFor(row.thumbnail).url();
5221
+ } else {
5222
+ return _this.defaultImage;
5223
+ }
5224
+ }, _this.changePageNumber = function (pageNumber) {
5225
+ var _this$props = _this.props,
5226
+ seoPaginate = _this$props.seoPaginate,
5227
+ pageview = _this$props.pageview,
5228
+ router$$1 = _this$props.router;
5229
+ var currentPage = _this.state.currentPage;
5230
+
5231
+ if (seoPaginate) {
5232
+ var path = router$$1.asPath;
5233
+ var qrIndex = path.indexOf('?');
5234
+ var pathname = router$$1.pathname;
5235
+ var queryString = '';
5236
+
5237
+ if (qrIndex > 0) {
5238
+ path = path.substring(1, qrIndex);
5239
+
5240
+ var partialQS = router$$1.asPath.substring(qrIndex + 1);
5241
+ var partialQSArr = partialQS.split('&');
5242
+
5243
+ // exclude page=xxx from query string
5244
+ partialQSArr.map(function (item) {
5245
+ var itemArr = item.split('=');
5246
+ var key = itemArr[0];
5247
+ var val = itemArr[1];
5248
+
5249
+ if (key !== 'page') {
5250
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
5251
+ }
5252
+ });
5253
+ }
5254
+
5255
+ if (queryString.length > 0) {
5256
+ path += '?' + queryString;
5257
+ }
5258
+
5259
+ pageNumber = parseInt(pageNumber);
5260
+
5261
+ if (currentPage !== pageNumber) {
5262
+ DFPManager.refresh();
5263
+ if (pageview) {
5264
+ _this.setState({
5265
+ currentPage: pageNumber
5266
+ }, function () {
5267
+ if (path[0] !== '/') {
5268
+ path = '/' + path;
5269
+ }
5270
+
5271
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
5272
+
5273
+ pageview(newPath);
5274
+
5275
+ router$$1.push(pathname, newPath, {
5276
+ shallow: true
5277
+ });
5278
+ });
5279
+ }
5280
+ }
5281
+ }
5282
+ }, _temp), possibleConstructorReturn(_this, _ret);
5283
+ }
5284
+
5285
+ createClass(GridContent, [{
5286
+ key: 'cardLoader',
5287
+ value: function cardLoader(page, columns, variant) {
5288
+ var _this2 = this;
5289
+
5290
+ var lgVar = Math.floor(12 / columns);
5291
+ var itemCounter = 0;
5292
+ if (variant === 'stack') {
5293
+ return React__default.createElement(
5294
+ Row,
5295
+ null,
5296
+ this.state.data && this.state.data.map(function (row, index) {
5297
+ // const thumbnailURL = get(row, 'thumbnail.asset.url', this.props.defaultImage)
5298
+ var thumbnailURL = row.thumbnail ? _this2.urlFor(row.thumbnail).url() : _this2.props.defaultImage;
5299
+ return React__default.createElement(
5300
+ Col,
5301
+ { key: index, md: 12, lg: lgVar, style: { display: 'flex', flex: '1 0 auto' } },
5302
+ React__default.createElement(
5303
+ Link,
5304
+ { href: _this2.page + '/[url]', as: _this2.page + '/' + get_1(row, 'url.current') },
5305
+ React__default.createElement(
5306
+ 'a',
5307
+ null,
5308
+ React__default.createElement(
5309
+ Card,
5310
+ { className: 'queue-card', style: { borderTop: '1px solid #EEE' } },
5311
+ React__default.createElement(
5312
+ Row,
5313
+ { style: { flexDirection: 'row' } },
5314
+ React__default.createElement(
5315
+ Col,
5316
+ { md: 12, lg: 4 },
5317
+ React__default.createElement(Card.Img, { variant: 'top', src: thumbnailURL })
5318
+ ),
5319
+ React__default.createElement(
5320
+ Col,
5321
+ null,
5322
+ React__default.createElement(
5323
+ Card.Body,
5324
+ { style: { padding: '20px' } },
5325
+ React__default.createElement(
5326
+ Card.Title,
5327
+ null,
5328
+ row.title
5329
+ ),
5330
+ React__default.createElement(
5331
+ Card.Text,
5332
+ null,
5333
+ row.summary
5334
+ )
5335
+ )
5336
+ )
5337
+ )
5338
+ )
5339
+ )
5340
+ )
5341
+ );
5342
+ })
5343
+ );
5344
+ }
5345
+ return React__default.createElement(
5346
+ 'div',
5347
+ { className: 'grid-container' },
5348
+ this.state.data && this.state.data.map(function (row, index) {
5349
+ var pageNumber = row.pageNumber || _this2.state.page;
5350
+ var contentCategoryName = row.contentCategory ? row.contentCategory.name : 'Articles';
5351
+ return React__default.createElement(
5352
+ VisibilitySensor,
5353
+ {
5354
+ key: itemCounter,
5355
+ onChange: function onChange(isVisible) {
5356
+ isVisible && _this2.changePageNumber(pageNumber);
5357
+ } },
5358
+ React__default.createElement(
5359
+ 'div',
5360
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
5361
+ React__default.createElement(
5362
+ Card,
5363
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
5364
+ React__default.createElement(
5365
+ Link,
5366
+ { href: _this2.mapping[contentCategoryName] + '/[url]', as: _this2.mapping[contentCategoryName] + '/' + row.url.current },
5367
+ React__default.createElement(
5368
+ 'a',
5369
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
5370
+ React__default.createElement(Card.Img, { variant: 'top', src: _this2.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
5371
+ )
5372
+ ),
5373
+ React__default.createElement(
5374
+ Card.Body,
5375
+ null,
5376
+ React__default.createElement(
5377
+ Link,
5378
+ { href: _this2.mapping[contentCategoryName] + '/[url]', as: _this2.mapping[contentCategoryName] + '/' + row.url.current },
5379
+ React__default.createElement(
5380
+ 'a',
5381
+ null,
5382
+ React__default.createElement(
5383
+ Card.Title,
5384
+ null,
5385
+ row.title
5386
+ ),
5387
+ React__default.createElement(
5388
+ Card.Text,
5389
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
5390
+ row.summary
5391
+ )
5392
+ )
5393
+ )
5394
+ )
5395
+ )
5396
+ )
5397
+ );
5398
+ })
5399
+ );
5400
+ }
5401
+ }, {
5402
+ key: 'render',
5403
+ value: function render() {
5404
+ var _this3 = this;
5405
+
5406
+ var _props = this.props,
5407
+ columns = _props.columns,
5408
+ variant = _props.variant,
5409
+ autoScroll = _props.autoScroll,
5410
+ page = _props.page;
5411
+
5412
+
5413
+ return React__default.createElement(
5414
+ 'div',
5415
+ { className: 'contentDeck' },
5416
+ autoScroll ? React__default.createElement(
5417
+ InfiniteScroll,
5418
+ { dataLength: this.state.data.length, next: this.loadMore, hasMore: this.state.scrolling },
5419
+ React__default.createElement(
5420
+ Container,
5421
+ null,
5422
+ this.cardLoader(page, columns, variant)
5423
+ )
5424
+ ) : React__default.createElement(
5425
+ React__default.Fragment,
5426
+ null,
5427
+ React__default.createElement(
5428
+ Container,
5429
+ null,
5430
+ this.cardLoader(page, columns, variant)
5431
+ ),
5432
+ React__default.createElement(
5433
+ 'div',
5434
+ { style: { padding: '0px 10px' } },
5435
+ this.state.scrolling ? React__default.createElement(
5436
+ 'button',
5437
+ {
5438
+ style: { margin: 'auto', width: '100%' },
5439
+ onClick: function onClick(e) {
5440
+ _this3.loadMore();
5441
+ } },
5442
+ 'Load More'
5443
+ ) : React__default.createElement(
5444
+ 'p',
5445
+ { style: { textAlign: 'center' } },
5446
+ React__default.createElement(
5447
+ 'b',
5448
+ null,
5449
+ 'End of data'
5450
+ )
5451
+ )
5452
+ )
5453
+ )
5454
+ );
5455
+ }
5456
+ }]);
5457
+ return GridContent;
5458
+ }(React__default.Component);
5459
+
5136
5460
  var DeckQueue = function (_React$Component) {
5137
5461
  inherits(DeckQueue, _React$Component);
5138
5462
 
@@ -5863,9 +6187,71 @@ var Column1 = function Column1(props) {
5863
6187
  );
5864
6188
  };
5865
6189
 
6190
+ var SideFooter = function SideFooter(props) {
6191
+ var year = new Date().getFullYear();
6192
+ var website = props.website;
6193
+
6194
+ return React__default.createElement(
6195
+ 'div',
6196
+ { className: 'side-footer' },
6197
+ website.sideFooterContent && website.sideFooterContent.length && React__default.createElement(
6198
+ 'ul',
6199
+ null,
6200
+ website.sideFooterContent.map(function (content, index) {
6201
+ return content.blank ? React__default.createElement(
6202
+ 'li',
6203
+ { key: index },
6204
+ React__default.createElement(
6205
+ 'a',
6206
+ { target: '_blank', href: content.url },
6207
+ content.title
6208
+ )
6209
+ ) : React__default.createElement(
6210
+ 'li',
6211
+ { key: index },
6212
+ React__default.createElement(
6213
+ Link,
6214
+ { href: content.url },
6215
+ React__default.createElement(
6216
+ 'a',
6217
+ null,
6218
+ content.title
6219
+ )
6220
+ )
6221
+ );
6222
+ })
6223
+ ),
6224
+ React__default.createElement(
6225
+ 'p',
6226
+ null,
6227
+ '\xA9 ',
6228
+ year,
6229
+ ' ',
6230
+ website.title,
6231
+ '. All rights reserved.'
6232
+ )
6233
+ );
6234
+ };
6235
+
6236
+ var ConferenceBanner = function ConferenceBanner(props) {
6237
+ var website = props.website;
6238
+
6239
+
6240
+ return React__default.createElement(
6241
+ "div",
6242
+ { className: "conf-img" },
6243
+ React__default.createElement(
6244
+ "a",
6245
+ { href: website.conferenceBannerContent.href },
6246
+ React__default.createElement("img", { src: website.conferenceBannerContent.src, alt: website.conferenceBannerContent.alt })
6247
+ )
6248
+ );
6249
+ };
6250
+
5866
6251
  var Column2 = function Column2(props) {
5867
6252
  var rightItems = props.rightItems,
5868
- title = props.title;
6253
+ title = props.title,
6254
+ website = props.website;
5869
6255
 
5870
6256
 
5871
6257
  return React__default.createElement(
@@ -5887,13 +6273,19 @@ var Column2 = function Column2(props) {
5887
6273
  React__default.createElement(
5888
6274
  Col,
5889
6275
  { xs: 12, className: 'rightCol' },
5890
- rightItems && rightItems.map(function (row, index) {
5891
- return React__default.createElement(
5892
- 'div',
5893
- { key: index },
5894
- row.component
5895
- );
5896
- })
6276
+ website && website.conferenceBannerContent && React__default.createElement(ConferenceBanner, { website: website }),
6277
+ React__default.createElement(
6278
+ 'div',
6279
+ { style: { position: "sticky", top: "60px" } },
6280
+ rightItems && rightItems.map(function (row, index) {
6281
+ return React__default.createElement(
6282
+ 'div',
6283
+ { key: index },
6284
+ row.component
6285
+ );
6286
+ }),
6287
+ website && website.sideFooterContent && website.sideFooterContent.length && React__default.createElement(SideFooter, { website: website })
6288
+ )
5897
6289
  )
5898
6290
  )
5899
6291
  );
@@ -5972,7 +6364,8 @@ var LeftNav = function LeftNav(props) {
5972
6364
  var Column3 = function Column3(props) {
5973
6365
  var leftItems = props.leftItems,
5974
6366
  rightItems = props.rightItems,
5975
- title = props.title;
6367
+ title = props.title,
6368
+ website = props.website;
5976
6369
 
5977
6370
  return React__default.createElement(
5978
6371
  'section',
@@ -5998,13 +6391,19 @@ var Column3 = function Column3(props) {
5998
6391
  React__default.createElement(
5999
6392
  Col,
6000
6393
  { xs: 12, className: 'rightCol' },
6001
- rightItems && rightItems.map(function (row, index) {
6002
- return React__default.createElement(
6003
- 'div',
6004
- { key: index },
6005
- row.component
6006
- );
6007
- })
6394
+ website && website.conferenceBannerContent && React__default.createElement(ConferenceBanner, { website: website }),
6395
+ React__default.createElement(
6396
+ 'div',
6397
+ { style: { position: "sticky", top: "60px" } },
6398
+ rightItems && rightItems.map(function (row, index) {
6399
+ return React__default.createElement(
6400
+ 'div',
6401
+ { key: index },
6402
+ row.component
6403
+ );
6404
+ }),
6405
+ website && website.sideFooterContent && website.sideFooterContent.length && React__default.createElement(SideFooter, { website: website })
6406
+ )
6008
6407
  )
6009
6408
  )
6010
6409
  );
@@ -7618,13 +8017,13 @@ var TemplateNormal = function TemplateNormal(props) {
7618
8017
  case '2':
7619
8018
  return React__default.createElement(
7620
8019
  Column2,
7621
- { title: title, rightItems: config.rightItems },
8020
+ { title: title, rightItems: config.rightItems, website: website },
7622
8021
  props.children
7623
8022
  );
7624
8023
  case '3':
7625
8024
  return React__default.createElement(
7626
8025
  Column3,
7627
- { title: title, leftItems: config.leftItems, rightItems: config.rightItems },
8026
+ { title: title, leftItems: config.leftItems, rightItems: config.rightItems, website: website },
7628
8027
  props.children
7629
8028
  );
7630
8029
  default:
@@ -11711,6 +12110,7 @@ var getSerializers$1 = function getSerializers(client, pageview) {
11711
12110
  };
11712
12111
 
11713
12112
  exports.DeckContent = ContentCard;
12113
+ exports.GridContent = GridContent;
11714
12114
  exports.DeckQueue = DeckQueue;
11715
12115
  exports.ThumbnailCard = ThumbnailCard;
11716
12116
  exports.TaxonomyCard = TaxonomyCard;