@mjhls/mjh-framework 1.0.83 → 1.0.84

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
 
@@ -11711,6 +12035,7 @@ var getSerializers$1 = function getSerializers(client, pageview) {
11711
12035
  };
11712
12036
 
11713
12037
  exports.DeckContent = ContentCard;
12038
+ exports.GridContent = GridContent;
11714
12039
  exports.DeckQueue = DeckQueue;
11715
12040
  exports.ThumbnailCard = ThumbnailCard;
11716
12041
  exports.TaxonomyCard = TaxonomyCard;