@mjhls/mjh-framework 1.0.1050-lightbox-v7 → 1.0.1050-pdfGating-v2
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 +168 -168
- package/dist/cjs/AD.js +1 -1
- package/dist/cjs/AD300x250.js +2 -4
- package/dist/cjs/AD300x250x600.js +2 -4
- package/dist/cjs/AD728x90.js +2 -4
- package/dist/cjs/ADFloatingFooter.js +2 -4
- package/dist/cjs/ADGutter.js +2 -4
- package/dist/cjs/ADSkyscraper.js +2 -4
- package/dist/cjs/ADSponsoredResources.js +2 -4
- package/dist/cjs/ADWebcast.js +2 -4
- package/dist/cjs/ADWelcome.js +2 -4
- package/dist/cjs/AdSlot.js +2 -4
- package/dist/cjs/AdSlotsProvider.js +2 -4
- package/dist/cjs/AlgoliaSearch.js +337 -38
- package/dist/cjs/ArticleProgramLandingPage.js +4 -6
- package/dist/cjs/ArticleSeriesLandingPage.js +4 -6
- package/dist/cjs/ArticleSeriesListing.js +1 -2
- package/dist/cjs/Auth.js +1 -2
- package/dist/cjs/AuthWrapper.js +6 -96
- package/dist/cjs/Beam.js +1 -2
- package/dist/cjs/CEDeckSupabase.js +2 -3
- package/dist/cjs/CMEDeck.js +2 -4
- package/dist/cjs/Column2.js +1 -2
- package/dist/cjs/Column3.js +2 -4
- package/dist/cjs/ConferenceArticleCard.js +15 -15
- package/dist/cjs/ContentCardPaginated.js +3 -5
- package/dist/cjs/DeckContent.js +11 -13
- package/dist/cjs/DeckQueue.js +1 -2
- package/dist/cjs/DeckQueuePaginated.js +2 -4
- package/dist/cjs/{Dfp-c313a700.js → Dfp-67646058.js} +1 -2
- package/dist/cjs/EventsDeck.js +17 -17
- package/dist/cjs/ExternalResources.js +4 -6
- package/dist/cjs/GridContent.js +4 -6
- package/dist/cjs/GridContentPaginated.js +4 -6
- package/dist/cjs/HamMagazine.js +10 -11
- package/dist/cjs/HealthCareProfessionalModal.js +1 -1
- package/dist/cjs/HorizontalArticleListing.js +4 -6
- package/dist/cjs/{ImageSlider-d65bc9c8.js → ImageSlider-984a697b.js} +116 -156
- package/dist/cjs/IssueLanding.js +35 -37
- package/dist/cjs/KMTracker.js +15 -15
- package/dist/cjs/LeftNav.js +2 -4
- package/dist/cjs/MasterDeck.js +12 -14
- package/dist/cjs/MasterDeckPaginated.js +12 -14
- package/dist/cjs/{MediaSeriesCard-9c30d800.js → MediaSeriesCard-d169c597.js} +2 -2
- package/dist/cjs/MediaSeriesLanding.js +14 -16
- package/dist/cjs/MediaSeriesLandingPaginated.js +14 -16
- package/dist/cjs/NavDvm.js +1 -2
- package/dist/cjs/NavMagazine.js +11 -12
- package/dist/cjs/NavNative.js +10 -11
- package/dist/cjs/PartnerDetailListing.js +8 -9
- package/dist/cjs/PartnerDetailListingPaginated.js +8 -9
- package/dist/cjs/PodcastsLanding.js +7 -9
- package/dist/cjs/PtceDeck.js +1 -2
- package/dist/cjs/PubSection.js +4 -6
- package/dist/cjs/PubToc.js +1 -2
- package/dist/cjs/PublicationLanding.js +344 -44
- package/dist/cjs/QueueDeckExpanded.js +4 -6
- package/dist/cjs/QueueDeckExpandedPaginated.js +4 -6
- package/dist/cjs/RelatedContent.js +28 -28
- package/dist/cjs/RelatedTopicsDropdown.js +10 -10
- package/dist/cjs/Segment.js +1 -2
- package/dist/cjs/SeriesListingDeck.js +2 -3
- package/dist/cjs/{SeriesSlider-c7ed509b.js → SeriesSlider-086a8319.js} +4 -4
- package/dist/cjs/SideFooter.js +3 -4
- package/dist/cjs/TaxonomyDescription.js +4 -6
- package/dist/cjs/TemplateNormal.js +2 -4
- package/dist/cjs/{Tooltip-02a841b5.js → Tooltip-96fe6ef6.js} +34 -86
- package/dist/cjs/Ustream.js +1 -2
- package/dist/cjs/VideoProgramLandingPage.js +4 -6
- package/dist/cjs/VideoSeriesCard.js +1 -1
- package/dist/cjs/VideoSeriesFilter.js +1 -2
- package/dist/cjs/VideoSeriesLandingPage.js +4 -6
- package/dist/cjs/VideoSeriesListing.js +1 -2
- package/dist/cjs/View.js +8 -10
- package/dist/cjs/YoutubeGroup.js +4 -4
- package/dist/cjs/{asyncToGenerator-65df6bf8.js → asyncToGenerator-77821af0.js} +56 -8
- package/dist/cjs/defineProperty-e0fb52c5.js +73 -0
- package/dist/cjs/faundadb.js +1 -2
- package/dist/cjs/getPtceActivities.js +1 -2
- package/dist/cjs/getRelatedArticle.js +1 -2
- package/dist/cjs/getRootDocGroup.js +1 -2
- package/dist/cjs/getSerializers.js +4 -6
- package/dist/cjs/getTIData.js +1 -2
- package/dist/cjs/{getTargeting-45ffbee8.js → getTargeting-5b954783.js} +9 -9
- package/dist/cjs/getTargeting.js +1 -1
- package/dist/cjs/{index-9ec837cc.js → index-50be6759.js} +25 -9
- package/dist/cjs/{index-d2a6ef75.js → index-7435b964.js} +467 -2
- package/dist/cjs/{index-d4139113.js → index-e8600243.js} +25 -16
- package/dist/cjs/index.js +14 -14
- package/dist/cjs/typeof-1358762e.js +33 -0
- package/dist/cjs/{urlForFile-5084fc48.js → urlForFile-ef20990d.js} +2 -1
- package/dist/esm/AD.js +1 -1
- package/dist/esm/AD300x250.js +2 -4
- package/dist/esm/AD300x250x600.js +2 -4
- package/dist/esm/AD728x90.js +2 -4
- package/dist/esm/ADFloatingFooter.js +2 -4
- package/dist/esm/ADGutter.js +2 -4
- package/dist/esm/ADSkyscraper.js +2 -4
- package/dist/esm/ADSponsoredResources.js +2 -4
- package/dist/esm/ADWebcast.js +2 -4
- package/dist/esm/ADWelcome.js +2 -4
- package/dist/esm/AdSlot.js +2 -4
- package/dist/esm/AdSlotsProvider.js +2 -4
- package/dist/esm/AlgoliaSearch.js +336 -37
- package/dist/esm/ArticleProgramLandingPage.js +4 -6
- package/dist/esm/ArticleSeriesLandingPage.js +4 -6
- package/dist/esm/ArticleSeriesListing.js +1 -2
- package/dist/esm/Auth.js +1 -2
- package/dist/esm/AuthWrapper.js +3 -93
- package/dist/esm/Beam.js +1 -2
- package/dist/esm/CEDeckSupabase.js +2 -3
- package/dist/esm/CMEDeck.js +2 -4
- package/dist/esm/Column2.js +1 -2
- package/dist/esm/Column3.js +2 -4
- package/dist/esm/ConferenceArticleCard.js +15 -15
- package/dist/esm/ContentCardPaginated.js +3 -5
- package/dist/esm/DeckContent.js +11 -13
- package/dist/esm/DeckQueue.js +1 -2
- package/dist/esm/DeckQueuePaginated.js +2 -4
- package/dist/esm/{Dfp-102f0beb.js → Dfp-cf85d203.js} +1 -2
- package/dist/esm/EventsDeck.js +17 -17
- package/dist/esm/ExternalResources.js +4 -6
- package/dist/esm/GridContent.js +4 -6
- package/dist/esm/GridContentPaginated.js +4 -6
- package/dist/esm/HamMagazine.js +10 -11
- package/dist/esm/HealthCareProfessionalModal.js +1 -1
- package/dist/esm/HorizontalArticleListing.js +4 -6
- package/dist/esm/{ImageSlider-da225417.js → ImageSlider-497e9c88.js} +117 -157
- package/dist/esm/IssueLanding.js +35 -37
- package/dist/esm/KMTracker.js +15 -15
- package/dist/esm/LeftNav.js +2 -4
- package/dist/esm/MasterDeck.js +12 -14
- package/dist/esm/MasterDeckPaginated.js +12 -14
- package/dist/esm/{MediaSeriesCard-0830bfb5.js → MediaSeriesCard-db3db926.js} +2 -2
- package/dist/esm/MediaSeriesLanding.js +14 -16
- package/dist/esm/MediaSeriesLandingPaginated.js +14 -16
- package/dist/esm/NavDvm.js +1 -2
- package/dist/esm/NavMagazine.js +11 -12
- package/dist/esm/NavNative.js +10 -11
- package/dist/esm/PartnerDetailListing.js +8 -9
- package/dist/esm/PartnerDetailListingPaginated.js +8 -9
- package/dist/esm/PodcastsLanding.js +7 -9
- package/dist/esm/PtceDeck.js +1 -2
- package/dist/esm/PubSection.js +4 -6
- package/dist/esm/PubToc.js +1 -2
- package/dist/esm/PublicationLanding.js +330 -34
- package/dist/esm/QueueDeckExpanded.js +4 -6
- package/dist/esm/QueueDeckExpandedPaginated.js +4 -6
- package/dist/esm/RelatedContent.js +28 -28
- package/dist/esm/RelatedTopicsDropdown.js +10 -10
- package/dist/esm/Segment.js +1 -2
- package/dist/esm/SeriesListingDeck.js +2 -3
- package/dist/esm/{SeriesSlider-b467f00c.js → SeriesSlider-a6b1d617.js} +4 -4
- package/dist/esm/SideFooter.js +3 -4
- package/dist/esm/TaxonomyDescription.js +4 -6
- package/dist/esm/TemplateNormal.js +2 -4
- package/dist/esm/{Tooltip-7a093cd4.js → Tooltip-bc98d17e.js} +192 -244
- package/dist/esm/Ustream.js +1 -2
- package/dist/esm/VideoProgramLandingPage.js +4 -6
- package/dist/esm/VideoSeriesCard.js +1 -1
- package/dist/esm/VideoSeriesFilter.js +1 -2
- package/dist/esm/VideoSeriesLandingPage.js +4 -6
- package/dist/esm/VideoSeriesListing.js +1 -2
- package/dist/esm/View.js +8 -10
- package/dist/esm/YoutubeGroup.js +4 -4
- package/dist/esm/{asyncToGenerator-64822ccc.js → asyncToGenerator-958ef5fc.js} +50 -6
- package/dist/esm/defineProperty-23a8f8cd.js +68 -0
- package/dist/esm/faundadb.js +1 -2
- package/dist/esm/getPtceActivities.js +1 -2
- package/dist/esm/getRelatedArticle.js +1 -2
- package/dist/esm/getRootDocGroup.js +1 -2
- package/dist/esm/getSerializers.js +4 -6
- package/dist/esm/getTIData.js +1 -2
- package/dist/esm/{getTargeting-a569a9cc.js → getTargeting-5a281334.js} +9 -9
- package/dist/esm/getTargeting.js +1 -1
- package/dist/esm/{index-f0fc23eb.js → index-5cc7b406.js} +466 -1
- package/dist/esm/{index-d0cdb127.js → index-60cb5113.js} +25 -16
- package/dist/esm/{index-0ce54f8a.js → index-98ca9cec.js} +25 -10
- package/dist/esm/index.js +14 -14
- package/dist/esm/typeof-2f07d0e8.js +30 -0
- package/dist/esm/{urlForFile-f6485737.js → urlForFile-dc111d7f.js} +2 -1
- package/package.json +116 -116
- package/dist/cjs/_set-species-0c7864a2.js +0 -55
- package/dist/cjs/events-1b438fe7.js +0 -469
- package/dist/esm/_set-species-2cd9340f.js +0 -50
- package/dist/esm/events-6c3a7a63.js +0 -467
- /package/dist/cjs/{ADInfeed-89f63b7d.js → ADInfeed-49bdb9e1.js} +0 -0
- /package/dist/cjs/{ADlgInfeed-a536168e.js → ADlgInfeed-33be9ab6.js} +0 -0
- /package/dist/esm/{ADInfeed-c14e043c.js → ADInfeed-d2229e62.js} +0 -0
- /package/dist/esm/{ADlgInfeed-2892de3c.js → ADlgInfeed-e13fb474.js} +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var asyncToGenerator = require('./asyncToGenerator-77821af0.js');
|
|
4
|
+
var stringify = require('./stringify-f7a37a8d.js');
|
|
3
5
|
var slicedToArray = require('./slicedToArray-067dd3bc.js');
|
|
4
6
|
var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
|
|
5
7
|
var core_getIteratorMethod = require('./core.get-iterator-method-5643aa10.js');
|
|
6
8
|
var web_dom_iterable = require('./web.dom.iterable-d98303e0.js');
|
|
7
|
-
var _setSpecies = require('./_set-species-0c7864a2.js');
|
|
8
9
|
var _isArray = require('./_is-array-54228b29.js');
|
|
9
10
|
var toConsumableArray = require('./toConsumableArray-d7797c2b.js');
|
|
10
11
|
var React = require('react');
|
|
@@ -14,7 +15,13 @@ var Dropdown = require('react-bootstrap/Dropdown');
|
|
|
14
15
|
var Card = require('react-bootstrap/Card');
|
|
15
16
|
var Router = require('next/router');
|
|
16
17
|
var index = require('./index-65621b6c.js');
|
|
17
|
-
var urlForFile = require('./urlForFile-
|
|
18
|
+
var urlForFile = require('./urlForFile-ef20990d.js');
|
|
19
|
+
var OverlayTrigger = require('react-bootstrap/OverlayTrigger');
|
|
20
|
+
var Popover = require('react-bootstrap/Popover');
|
|
21
|
+
var Button = require('react-bootstrap/Button');
|
|
22
|
+
var Form = require('react-bootstrap/Form');
|
|
23
|
+
var main = require('./main-ae8472f3.js');
|
|
24
|
+
require('./_library-dd23b178.js');
|
|
18
25
|
require('./_iter-detect-b1df62f0.js');
|
|
19
26
|
require('react-dom');
|
|
20
27
|
require('prop-types');
|
|
@@ -26,6 +33,10 @@ var Row__default = /*#__PURE__*/_interopDefaultLegacy(Row);
|
|
|
26
33
|
var Col__default = /*#__PURE__*/_interopDefaultLegacy(Col);
|
|
27
34
|
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
|
28
35
|
var Card__default = /*#__PURE__*/_interopDefaultLegacy(Card);
|
|
36
|
+
var OverlayTrigger__default = /*#__PURE__*/_interopDefaultLegacy(OverlayTrigger);
|
|
37
|
+
var Popover__default = /*#__PURE__*/_interopDefaultLegacy(Popover);
|
|
38
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
39
|
+
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
|
29
40
|
|
|
30
41
|
var _validateCollection = function (it, TYPE) {
|
|
31
42
|
if (!core_getIteratorMethod._isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
|
|
@@ -60,15 +71,15 @@ var getEntry = function (that, key) {
|
|
|
60
71
|
var _collectionStrong = {
|
|
61
72
|
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
|
|
62
73
|
var C = wrapper(function (that, iterable) {
|
|
63
|
-
|
|
74
|
+
asyncToGenerator._anInstance(that, C, NAME, '_i');
|
|
64
75
|
that._t = NAME; // collection type
|
|
65
76
|
that._i = core_getIteratorMethod._objectCreate(null); // index
|
|
66
77
|
that._f = undefined; // first entry
|
|
67
78
|
that._l = undefined; // last entry
|
|
68
79
|
that[SIZE] = 0; // size
|
|
69
|
-
if (iterable != undefined)
|
|
80
|
+
if (iterable != undefined) asyncToGenerator._forOf(iterable, IS_MAP, that[ADDER], that);
|
|
70
81
|
});
|
|
71
|
-
|
|
82
|
+
asyncToGenerator._redefineAll(C.prototype, {
|
|
72
83
|
// 23.1.3.1 Map.prototype.clear()
|
|
73
84
|
// 23.2.3.2 Set.prototype.clear()
|
|
74
85
|
clear: function clear() {
|
|
@@ -172,7 +183,7 @@ var _collectionStrong = {
|
|
|
172
183
|
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
|
|
173
184
|
|
|
174
185
|
// add [@@species], 23.1.2.2, 23.2.2.2
|
|
175
|
-
|
|
186
|
+
asyncToGenerator._setSpecies(NAME);
|
|
176
187
|
}
|
|
177
188
|
};
|
|
178
189
|
_collectionStrong.getConstructor;
|
|
@@ -262,18 +273,18 @@ var _collection = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
|
|
|
262
273
|
}))) {
|
|
263
274
|
// create collection constructor
|
|
264
275
|
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
|
|
265
|
-
|
|
276
|
+
asyncToGenerator._redefineAll(C.prototype, methods);
|
|
266
277
|
_isArray._meta.NEED = true;
|
|
267
278
|
} else {
|
|
268
279
|
C = wrapper(function (target, iterable) {
|
|
269
|
-
|
|
280
|
+
asyncToGenerator._anInstance(target, C, NAME, '_c');
|
|
270
281
|
target._c = new Base();
|
|
271
|
-
if (iterable != undefined)
|
|
282
|
+
if (iterable != undefined) asyncToGenerator._forOf(iterable, IS_MAP, target[ADDER], target);
|
|
272
283
|
});
|
|
273
284
|
each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
|
|
274
285
|
var IS_ADDER = KEY == 'add' || KEY == 'set';
|
|
275
286
|
if (KEY in proto && !(IS_WEAK && KEY == 'clear')) core_getIteratorMethod._hide(C.prototype, KEY, function (a, b) {
|
|
276
|
-
|
|
287
|
+
asyncToGenerator._anInstance(this, C, KEY);
|
|
277
288
|
if (!IS_ADDER && IS_WEAK && !core_getIteratorMethod._isObject(a)) return KEY == 'get' ? undefined : false;
|
|
278
289
|
var result = this._c[KEY](a === 0 ? 0 : a, b);
|
|
279
290
|
return IS_ADDER ? this : result;
|
|
@@ -310,7 +321,7 @@ _collection(SET, function (get) {
|
|
|
310
321
|
|
|
311
322
|
var _arrayFromIterable = function (iter, ITERATOR) {
|
|
312
323
|
var result = [];
|
|
313
|
-
|
|
324
|
+
asyncToGenerator._forOf(iter, false, result.push, result, ITERATOR);
|
|
314
325
|
return result;
|
|
315
326
|
};
|
|
316
327
|
|
|
@@ -362,11 +373,11 @@ var _setCollectionFrom = function (COLLECTION) {
|
|
|
362
373
|
if (mapping) {
|
|
363
374
|
n = 0;
|
|
364
375
|
cb = core_getIteratorMethod._ctx(mapFn, arguments[2], 2);
|
|
365
|
-
|
|
376
|
+
asyncToGenerator._forOf(source, false, function (nextItem) {
|
|
366
377
|
A.push(cb(nextItem, n++));
|
|
367
378
|
});
|
|
368
379
|
} else {
|
|
369
|
-
|
|
380
|
+
asyncToGenerator._forOf(source, false, A.push, A);
|
|
370
381
|
}
|
|
371
382
|
return new this(A);
|
|
372
383
|
} });
|
|
@@ -383,32 +394,34 @@ module.exports = { "default": set$1, __esModule: true };
|
|
|
383
394
|
|
|
384
395
|
var _Set = _commonjsHelpers.unwrapExports(set);
|
|
385
396
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
pub.
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
}
|
|
411
|
-
|
|
397
|
+
var _this = undefined;
|
|
398
|
+
|
|
399
|
+
/* usage & query
|
|
400
|
+
const Publication = (props) => {
|
|
401
|
+
const { cache, pub, year } = props
|
|
402
|
+
const targeting = {
|
|
403
|
+
content_placement: [`/journals/${pub.identifier.current}`],
|
|
404
|
+
document_url: [`/journals/${pub.identifier.current}`],
|
|
405
|
+
}
|
|
406
|
+
return (
|
|
407
|
+
<Shell title={pub.name} cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3'>
|
|
408
|
+
<PublicationLanding publication={pub} year={year} href={'journals'} />
|
|
409
|
+
</Shell>
|
|
410
|
+
)
|
|
411
|
+
}
|
|
412
|
+
Publication.getInitialProps = async (ctx) => {
|
|
413
|
+
const { query } = ctx
|
|
414
|
+
const {
|
|
415
|
+
query: { year },
|
|
416
|
+
} = ctx
|
|
417
|
+
const pub = await client.fetch(getQuery('publication'), query)
|
|
418
|
+
**import urlFor from framework**
|
|
419
|
+
pub.issues.map((issue) => {
|
|
420
|
+
issue.thumbnail = urlFor({client, source: issue.thumbnail})
|
|
421
|
+
})
|
|
422
|
+
return { pub, year }
|
|
423
|
+
}
|
|
424
|
+
export default Publication
|
|
412
425
|
*/
|
|
413
426
|
|
|
414
427
|
var generateContentPlacements = function generateContentPlacements(issues) {
|
|
@@ -465,6 +478,43 @@ var PublicationLanding = function PublicationLanding(props) {
|
|
|
465
478
|
|
|
466
479
|
var baseUrl = client ? client.config().baseUrl : '';
|
|
467
480
|
|
|
481
|
+
var _useState9 = React.useState(''),
|
|
482
|
+
_useState10 = slicedToArray._slicedToArray(_useState9, 2),
|
|
483
|
+
email = _useState10[0],
|
|
484
|
+
setEmail = _useState10[1];
|
|
485
|
+
|
|
486
|
+
var _useState11 = React.useState(''),
|
|
487
|
+
_useState12 = slicedToArray._slicedToArray(_useState11, 2),
|
|
488
|
+
firstName = _useState12[0],
|
|
489
|
+
setFirstName = _useState12[1];
|
|
490
|
+
|
|
491
|
+
var _useState13 = React.useState(''),
|
|
492
|
+
_useState14 = slicedToArray._slicedToArray(_useState13, 2),
|
|
493
|
+
lastName = _useState14[0],
|
|
494
|
+
setLastName = _useState14[1];
|
|
495
|
+
|
|
496
|
+
var _useState15 = React.useState(false),
|
|
497
|
+
_useState16 = slicedToArray._slicedToArray(_useState15, 2),
|
|
498
|
+
isValidated = _useState16[0],
|
|
499
|
+
SetIsValidated = _useState16[1];
|
|
500
|
+
|
|
501
|
+
var DL_PDF = React.useRef();
|
|
502
|
+
var overLayRef = React.useRef([]);
|
|
503
|
+
var pdfFormRef = React.useRef();
|
|
504
|
+
|
|
505
|
+
var _useState17 = React.useState(false),
|
|
506
|
+
_useState18 = slicedToArray._slicedToArray(_useState17, 2),
|
|
507
|
+
sendingData = _useState18[0],
|
|
508
|
+
setSendingData = _useState18[1];
|
|
509
|
+
|
|
510
|
+
var _useState19 = React.useState(''),
|
|
511
|
+
_useState20 = slicedToArray._slicedToArray(_useState19, 2),
|
|
512
|
+
errorMsg = _useState20[0],
|
|
513
|
+
setErrorMsg = _useState20[1];
|
|
514
|
+
|
|
515
|
+
var triggerAction = 'click';
|
|
516
|
+
var placementLocation = main.main_42 ? 'top' : 'top';
|
|
517
|
+
|
|
468
518
|
// useEffect(() => {
|
|
469
519
|
// ;(async function() {
|
|
470
520
|
// if (issueData && issueData.length > 0 && client) {
|
|
@@ -595,6 +645,224 @@ var PublicationLanding = function PublicationLanding(props) {
|
|
|
595
645
|
}
|
|
596
646
|
}, [activeYear, activeContentPlacement, issueData]);
|
|
597
647
|
|
|
648
|
+
var handleFormInput = function handleFormInput(e) {
|
|
649
|
+
console.dir(e.currentTarget);
|
|
650
|
+
switch (e.currentTarget.name) {
|
|
651
|
+
case 'firstName':
|
|
652
|
+
setFirstName(e.currentTarget.value);
|
|
653
|
+
break;
|
|
654
|
+
case 'lastName':
|
|
655
|
+
setLastName(e.currentTarget.value);
|
|
656
|
+
break;
|
|
657
|
+
case 'email':
|
|
658
|
+
setEmail(e.currentTarget.value);
|
|
659
|
+
break;
|
|
660
|
+
default:
|
|
661
|
+
console.log(e.currentTarget.dataset['key']);
|
|
662
|
+
closeOverlay(e.currentTarget.dataset['key']);
|
|
663
|
+
break;
|
|
664
|
+
}
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
var closeOverlay = function closeOverlay(key) {
|
|
668
|
+
console.dir(overLayRef);
|
|
669
|
+
console.log(key);
|
|
670
|
+
overLayRef.current[key].handleHide();
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
var isGatedFormHandler = function () {
|
|
674
|
+
var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(e) {
|
|
675
|
+
var form, body, res;
|
|
676
|
+
return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
|
|
677
|
+
while (1) {
|
|
678
|
+
switch (_context.prev = _context.next) {
|
|
679
|
+
case 0:
|
|
680
|
+
e.preventDefault();
|
|
681
|
+
e.stopPropagation();
|
|
682
|
+
setSendingData(true);
|
|
683
|
+
form = e.currentTarget;
|
|
684
|
+
|
|
685
|
+
if (!(form.checkValidity() === false)) {
|
|
686
|
+
_context.next = 6;
|
|
687
|
+
break;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
return _context.abrupt('return');
|
|
691
|
+
|
|
692
|
+
case 6:
|
|
693
|
+
body = {};
|
|
694
|
+
|
|
695
|
+
body['firstName'] = firstName;
|
|
696
|
+
body['lastName'] = lastName;
|
|
697
|
+
body['email'] = email;
|
|
698
|
+
body['downloadedPDF'] = DL_PDF.current.dataset.pdfname;
|
|
699
|
+
body['publication'] = router.query.publication ? router.query.publication : null;
|
|
700
|
+
body['site'] = window.location.hostname;
|
|
701
|
+
SetIsValidated(true);
|
|
702
|
+
|
|
703
|
+
_context.prev = 14;
|
|
704
|
+
_context.next = 17;
|
|
705
|
+
return fetch('/api/pdfGating/check', {
|
|
706
|
+
method: 'POST',
|
|
707
|
+
headers: { 'Content-Type': 'application/json' },
|
|
708
|
+
body: stringify._JSON$stringify(body)
|
|
709
|
+
});
|
|
710
|
+
|
|
711
|
+
case 17:
|
|
712
|
+
res = _context.sent;
|
|
713
|
+
|
|
714
|
+
if (!(res.status === 202)) {
|
|
715
|
+
_context.next = 23;
|
|
716
|
+
break;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
window.open(DL_PDF.current.dataset.pdf, '_blank');
|
|
720
|
+
closeOverlay(DL_PDF.current.dataset.key);
|
|
721
|
+
_context.next = 28;
|
|
722
|
+
break;
|
|
723
|
+
|
|
724
|
+
case 23:
|
|
725
|
+
_context.t0 = Error;
|
|
726
|
+
_context.next = 26;
|
|
727
|
+
return res.text();
|
|
728
|
+
|
|
729
|
+
case 26:
|
|
730
|
+
_context.t1 = _context.sent;
|
|
731
|
+
throw new _context.t0(_context.t1);
|
|
732
|
+
|
|
733
|
+
case 28:
|
|
734
|
+
_context.next = 33;
|
|
735
|
+
break;
|
|
736
|
+
|
|
737
|
+
case 30:
|
|
738
|
+
_context.prev = 30;
|
|
739
|
+
_context.t2 = _context['catch'](14);
|
|
740
|
+
|
|
741
|
+
setErrorMsg(_context.t2.message);
|
|
742
|
+
|
|
743
|
+
case 33:
|
|
744
|
+
setSendingData(false);
|
|
745
|
+
SetIsValidated(false);
|
|
746
|
+
|
|
747
|
+
case 35:
|
|
748
|
+
case 'end':
|
|
749
|
+
return _context.stop();
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}, _callee, _this, [[14, 30]]);
|
|
753
|
+
}));
|
|
754
|
+
|
|
755
|
+
return function isGatedFormHandler(_x) {
|
|
756
|
+
return _ref.apply(this, arguments);
|
|
757
|
+
};
|
|
758
|
+
}();
|
|
759
|
+
|
|
760
|
+
var isGatedPDFPopOver = function isGatedPDFPopOver(key) {
|
|
761
|
+
return React__default["default"].createElement(
|
|
762
|
+
Popover__default["default"],
|
|
763
|
+
{ id: 'popover-basic-' },
|
|
764
|
+
React__default["default"].createElement(
|
|
765
|
+
Popover__default["default"].Content,
|
|
766
|
+
null,
|
|
767
|
+
React__default["default"].createElement(
|
|
768
|
+
'div',
|
|
769
|
+
{ className: 'popoverClose' },
|
|
770
|
+
React__default["default"].createElement(
|
|
771
|
+
'button',
|
|
772
|
+
{ 'data-key': key, onClick: function onClick(e) {
|
|
773
|
+
return handleFormInput(e);
|
|
774
|
+
} },
|
|
775
|
+
'X'
|
|
776
|
+
)
|
|
777
|
+
),
|
|
778
|
+
React__default["default"].createElement(
|
|
779
|
+
Form__default["default"],
|
|
780
|
+
{ ref: pdfFormRef, validated: isValidated, onSubmit: isGatedFormHandler },
|
|
781
|
+
React__default["default"].createElement(
|
|
782
|
+
Row__default["default"],
|
|
783
|
+
{ className: 'gatedPdfForm' },
|
|
784
|
+
React__default["default"].createElement(
|
|
785
|
+
Form__default["default"].Group,
|
|
786
|
+
{ className: 'mb-3 mt-3', controlId: 'pdfFormFirstName' },
|
|
787
|
+
React__default["default"].createElement(
|
|
788
|
+
Form__default["default"].Label,
|
|
789
|
+
null,
|
|
790
|
+
React__default["default"].createElement(
|
|
791
|
+
'span',
|
|
792
|
+
{ style: { color: 'red' } },
|
|
793
|
+
'*'
|
|
794
|
+
),
|
|
795
|
+
'First Name'
|
|
796
|
+
),
|
|
797
|
+
React__default["default"].createElement(Form__default["default"].Control, { onChange: function onChange(e) {
|
|
798
|
+
return handleFormInput(e);
|
|
799
|
+
}, value: firstName, name: 'firstName', required: true, type: 'text', min: '1', placeholder: 'First Name' }),
|
|
800
|
+
React__default["default"].createElement(
|
|
801
|
+
Form__default["default"].Control.Feedback,
|
|
802
|
+
{ type: 'invalid' },
|
|
803
|
+
'Please provide your first name.'
|
|
804
|
+
)
|
|
805
|
+
),
|
|
806
|
+
React__default["default"].createElement(
|
|
807
|
+
Form__default["default"].Group,
|
|
808
|
+
{ required: true, className: 'mb-3', controlId: 'pdfFormLastName' },
|
|
809
|
+
React__default["default"].createElement(
|
|
810
|
+
Form__default["default"].Label,
|
|
811
|
+
null,
|
|
812
|
+
React__default["default"].createElement(
|
|
813
|
+
'span',
|
|
814
|
+
{ style: { color: 'red' } },
|
|
815
|
+
'*'
|
|
816
|
+
),
|
|
817
|
+
'Last Name'
|
|
818
|
+
),
|
|
819
|
+
React__default["default"].createElement(Form__default["default"].Control, { onChange: function onChange(e) {
|
|
820
|
+
return handleFormInput(e);
|
|
821
|
+
}, value: lastName, name: 'lastName', required: true, type: 'text', min: '1', placeholder: 'Last Name' }),
|
|
822
|
+
React__default["default"].createElement(
|
|
823
|
+
Form__default["default"].Control.Feedback,
|
|
824
|
+
{ type: 'invalid' },
|
|
825
|
+
'Please provide your last name.'
|
|
826
|
+
)
|
|
827
|
+
),
|
|
828
|
+
React__default["default"].createElement(
|
|
829
|
+
Form__default["default"].Group,
|
|
830
|
+
{ className: 'mb-3', controlId: 'pdfFormEmail' },
|
|
831
|
+
React__default["default"].createElement(
|
|
832
|
+
Form__default["default"].Label,
|
|
833
|
+
null,
|
|
834
|
+
React__default["default"].createElement(
|
|
835
|
+
'span',
|
|
836
|
+
{ style: { color: 'red' } },
|
|
837
|
+
'*'
|
|
838
|
+
),
|
|
839
|
+
'Email'
|
|
840
|
+
),
|
|
841
|
+
React__default["default"].createElement(Form__default["default"].Control, { onChange: function onChange(e) {
|
|
842
|
+
return handleFormInput(e);
|
|
843
|
+
}, value: email, name: 'email', required: true, type: 'email', placeholder: 'Email' }),
|
|
844
|
+
React__default["default"].createElement(
|
|
845
|
+
Form__default["default"].Control.Feedback,
|
|
846
|
+
{ type: 'invalid' },
|
|
847
|
+
'Please provide your email.'
|
|
848
|
+
)
|
|
849
|
+
),
|
|
850
|
+
React__default["default"].createElement(
|
|
851
|
+
Button__default["default"],
|
|
852
|
+
{ disabled: sendingData, className: 'btn btn-primary mb-3', type: 'submit' },
|
|
853
|
+
'Submit'
|
|
854
|
+
)
|
|
855
|
+
),
|
|
856
|
+
errorMsg ? React__default["default"].createElement(
|
|
857
|
+
'div',
|
|
858
|
+
{ style: { color: 'red' } },
|
|
859
|
+
errorMsg
|
|
860
|
+
) : null
|
|
861
|
+
)
|
|
862
|
+
)
|
|
863
|
+
);
|
|
864
|
+
};
|
|
865
|
+
|
|
598
866
|
return React__default["default"].createElement(
|
|
599
867
|
'div',
|
|
600
868
|
{ id: 'publicationLanding' },
|
|
@@ -722,11 +990,27 @@ var PublicationLanding = function PublicationLanding(props) {
|
|
|
722
990
|
{ href: publication.identifier.current + '/' + issue.identifier.current, className: 'btn btn-primary' },
|
|
723
991
|
'View Issue'
|
|
724
992
|
) : null,
|
|
725
|
-
issue.pdf && issue.pdf.asset && issue.pdf.asset.url
|
|
993
|
+
issue.isGatedPDF ? issue.pdf && issue.pdf.asset && issue.pdf.asset.url ? React__default["default"].createElement(
|
|
994
|
+
OverlayTrigger__default["default"],
|
|
995
|
+
{
|
|
996
|
+
key: key,
|
|
997
|
+
ref: function ref(el) {
|
|
998
|
+
return overLayRef.current[key] = el;
|
|
999
|
+
},
|
|
1000
|
+
trigger: triggerAction,
|
|
1001
|
+
placement: placementLocation,
|
|
1002
|
+
delay: { show: 250, hide: 400 },
|
|
1003
|
+
overlay: isGatedPDFPopOver(key) },
|
|
1004
|
+
React__default["default"].createElement(
|
|
1005
|
+
'button',
|
|
1006
|
+
{ rel: 'noopener', ref: DL_PDF, 'data-key': key, 'data-pdfName': issue.name, 'data-pdf': urlForFile.urlForFile(issue.pdf, baseUrl), className: 'btn btn-primary' },
|
|
1007
|
+
'Download Issue'
|
|
1008
|
+
)
|
|
1009
|
+
) : null : issue.pdf && issue.pdf.asset && issue.pdf.asset.url ? React__default["default"].createElement(
|
|
726
1010
|
'a',
|
|
727
1011
|
{ rel: 'noopener', href: urlForFile.urlForFile(issue.pdf, baseUrl), target: '_blank', className: 'btn btn-primary' },
|
|
728
1012
|
'Download Issue'
|
|
729
|
-
)
|
|
1013
|
+
) : null
|
|
730
1014
|
)
|
|
731
1015
|
)
|
|
732
1016
|
)
|
|
@@ -785,11 +1069,27 @@ var PublicationLanding = function PublicationLanding(props) {
|
|
|
785
1069
|
{ href: publication.identifier.current + '/' + issue.identifier.current, className: 'btn btn-primary' },
|
|
786
1070
|
'View Issue'
|
|
787
1071
|
) : null,
|
|
788
|
-
issue.pdf && issue.pdf.asset && issue.pdf.asset.url
|
|
1072
|
+
issue.isGatedPDF ? issue.pdf && issue.pdf.asset && issue.pdf.asset.url ? React__default["default"].createElement(
|
|
1073
|
+
OverlayTrigger__default["default"],
|
|
1074
|
+
{
|
|
1075
|
+
key: key,
|
|
1076
|
+
ref: function ref(el) {
|
|
1077
|
+
return overLayRef.current[key] = el;
|
|
1078
|
+
},
|
|
1079
|
+
trigger: triggerAction,
|
|
1080
|
+
placement: placementLocation,
|
|
1081
|
+
delay: { show: 250, hide: 400 },
|
|
1082
|
+
overlay: isGatedPDFPopOver(key) },
|
|
1083
|
+
React__default["default"].createElement(
|
|
1084
|
+
'button',
|
|
1085
|
+
{ rel: 'noopener', ref: DL_PDF, 'data-key': key, 'data-pdfName': issue.name, 'data-pdf': urlForFile.urlForFile(issue.pdf, baseUrl), className: 'btn btn-primary' },
|
|
1086
|
+
'Download Issue'
|
|
1087
|
+
)
|
|
1088
|
+
) : null : issue.pdf && issue.pdf.asset && issue.pdf.asset.url ? React__default["default"].createElement(
|
|
789
1089
|
'a',
|
|
790
1090
|
{ rel: 'noopener', href: urlForFile.urlForFile(issue.pdf, baseUrl), target: '_blank', className: 'btn btn-primary' },
|
|
791
1091
|
'Download Issue'
|
|
792
|
-
)
|
|
1092
|
+
) : null
|
|
793
1093
|
)
|
|
794
1094
|
)
|
|
795
1095
|
)
|
|
@@ -802,7 +1102,7 @@ var PublicationLanding = function PublicationLanding(props) {
|
|
|
802
1102
|
React__default["default"].createElement(
|
|
803
1103
|
'style',
|
|
804
1104
|
{ jsx: 'true' },
|
|
805
|
-
'\n .issueCard.card:hover {\n cursor: default;\n }\n .content-category-label {\n margin: 0.5rem 0;\n display: block;\n }\n .sanityDisplayLabel {\n margin: 0.5rem 0;\n border: 1px solid black;\n display: inline;\n width: 100%;\n padding: 5px;\n color: #484848;\n border-radius: 2px;\n }\n .dropdown-toggle {\n min-width: 5rem;\n }\n .dropdown-toggle:empty:after {\n margin-left: 4rem;\n }\n .card-footer {\n background-color: transparent;\n border-top: 0;\n }\n .card-footer a:not(:first-child) {\n margin-left: 1rem;\n }\n '
|
|
1105
|
+
'\n .gatedPdfForm {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 2rem;\n }\n .popoverClose {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n }\n .popoverClose button {\n border: none;\n background: transparent;\n color: #2780e3;\n }\n .card-footer button:not(:first-child) {\n color: #fff;\n margin-left: 1rem;\n }\n .issueCard.card:hover {\n cursor: default;\n }\n .content-category-label {\n margin: 0.5rem 0;\n display: block;\n }\n .sanityDisplayLabel {\n margin: 0.5rem 0;\n border: 1px solid black;\n display: inline;\n width: 100%;\n padding: 5px;\n color: #484848;\n border-radius: 2px;\n }\n .dropdown-toggle {\n min-width: 5rem;\n }\n .dropdown-toggle:empty:after {\n margin-left: 4rem;\n }\n .card-footer {\n background-color: transparent;\n border-top: 0;\n }\n .card-footer a:not(:first-child) {\n margin-left: 1rem;\n }\n '
|
|
806
1106
|
)
|
|
807
1107
|
);
|
|
808
1108
|
};
|
|
@@ -9,15 +9,15 @@ var urlFor = require('./urlFor.js');
|
|
|
9
9
|
var index_es = require('./index.es-1ab8dda7.js');
|
|
10
10
|
var moment = require('./moment-aca40de1.js');
|
|
11
11
|
var visibilitySensor = require('./visibility-sensor-56020df6.js');
|
|
12
|
-
var index$1 = require('./index-
|
|
12
|
+
var index$1 = require('./index-7435b964.js');
|
|
13
13
|
var Router = require('next/router');
|
|
14
14
|
var index = require('./index-65621b6c.js');
|
|
15
15
|
var main = require('./main-ae8472f3.js');
|
|
16
16
|
var entities = require('./entities-df1aed86.js');
|
|
17
|
-
var ADInfeed = require('./ADInfeed-
|
|
17
|
+
var ADInfeed = require('./ADInfeed-49bdb9e1.js');
|
|
18
18
|
var AuthorComponent = require('./AuthorComponent-7d00f6d5.js');
|
|
19
19
|
var lodash = require('./lodash-f0783643.js');
|
|
20
|
-
var ADlgInfeed = require('./ADlgInfeed-
|
|
20
|
+
var ADlgInfeed = require('./ADlgInfeed-33be9ab6.js');
|
|
21
21
|
var getContentCategory = require('./getContentCategory-f38a4c00.js');
|
|
22
22
|
var timeDifferenceCalc = require('./timeDifferenceCalc.js');
|
|
23
23
|
require('./_commonjsHelpers-06173234.js');
|
|
@@ -26,7 +26,6 @@ require('./core.get-iterator-method-5643aa10.js');
|
|
|
26
26
|
require('./_iter-detect-b1df62f0.js');
|
|
27
27
|
require('./index-d48b231c.js');
|
|
28
28
|
require('react-dom');
|
|
29
|
-
require('./events-1b438fe7.js');
|
|
30
29
|
require('prop-types');
|
|
31
30
|
require('react-bootstrap/Card');
|
|
32
31
|
require('./AdSlot.js');
|
|
@@ -35,9 +34,8 @@ require('./isSymbol-03abbdf0.js');
|
|
|
35
34
|
require('./toNumber-5e1fac58.js');
|
|
36
35
|
require('./Beam.js');
|
|
37
36
|
require('./stringify-f7a37a8d.js');
|
|
38
|
-
require('./asyncToGenerator-
|
|
37
|
+
require('./asyncToGenerator-77821af0.js');
|
|
39
38
|
require('./_library-dd23b178.js');
|
|
40
|
-
require('./_set-species-0c7864a2.js');
|
|
41
39
|
require('./Segment.js');
|
|
42
40
|
|
|
43
41
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var asyncToGenerator = require('./asyncToGenerator-
|
|
3
|
+
var asyncToGenerator = require('./asyncToGenerator-77821af0.js');
|
|
4
4
|
var _extends = require('./extends-be0d85bc.js');
|
|
5
5
|
var slicedToArray = require('./slicedToArray-067dd3bc.js');
|
|
6
6
|
var toConsumableArray = require('./toConsumableArray-d7797c2b.js');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var reactBootstrap = require('react-bootstrap');
|
|
9
9
|
var moment = require('./moment-aca40de1.js');
|
|
10
|
-
var index = require('./index-
|
|
10
|
+
var index = require('./index-7435b964.js');
|
|
11
11
|
var Router = require('next/router');
|
|
12
12
|
var index$1 = require('./index-65621b6c.js');
|
|
13
13
|
var lodash = require('./lodash-f0783643.js');
|
|
14
14
|
var main = require('./main-ae8472f3.js');
|
|
15
15
|
var entities = require('./entities-df1aed86.js');
|
|
16
|
-
var ADInfeed = require('./ADInfeed-
|
|
16
|
+
var ADInfeed = require('./ADInfeed-49bdb9e1.js');
|
|
17
17
|
var AuthorComponent = require('./AuthorComponent-7d00f6d5.js');
|
|
18
|
-
var ADlgInfeed = require('./ADlgInfeed-
|
|
18
|
+
var ADlgInfeed = require('./ADlgInfeed-33be9ab6.js');
|
|
19
19
|
var getContentCategory = require('./getContentCategory-f38a4c00.js');
|
|
20
20
|
var timeDifferenceCalc = require('./timeDifferenceCalc.js');
|
|
21
21
|
var urlFor = require('./urlFor.js');
|
|
@@ -24,9 +24,7 @@ require('./_commonjsHelpers-06173234.js');
|
|
|
24
24
|
require('./core.get-iterator-method-5643aa10.js');
|
|
25
25
|
require('./web.dom.iterable-d98303e0.js');
|
|
26
26
|
require('./_library-dd23b178.js');
|
|
27
|
-
require('./_set-species-0c7864a2.js');
|
|
28
27
|
require('./_iter-detect-b1df62f0.js');
|
|
29
|
-
require('./events-1b438fe7.js');
|
|
30
28
|
require('prop-types');
|
|
31
29
|
require('react-dom');
|
|
32
30
|
require('react-bootstrap/Card');
|
|
@@ -18,34 +18,34 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
18
18
|
|
|
19
19
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
20
|
|
|
21
|
-
/*
|
|
22
|
-
Sample query
|
|
23
|
-
let references = ''
|
|
24
|
-
if(article.taxonomyMapping.length > 0){
|
|
25
|
-
article.taxonomyMapping.forEach((ref, index) => {
|
|
26
|
-
references = references + `references('${ref._ref}') `
|
|
27
|
-
if(index+1 !== article.taxonomyMapping.length){
|
|
28
|
-
references = references + ` && `
|
|
29
|
-
}
|
|
30
|
-
})
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const relatedArticlesQuery = `*[!(_id in path("drafts.**")) && _type == "article" && title !='${article.title}' && defined(title) && is_visible == true && ( references('article.documentGroup._id') || ${references} ) && published <= '${today}'] | order(published desc) [0...4] {
|
|
34
|
-
...,
|
|
35
|
-
title,
|
|
36
|
-
summary,
|
|
37
|
-
thumbnail,
|
|
38
|
-
url,
|
|
39
|
-
published,
|
|
40
|
-
authorMapping[]->,
|
|
41
|
-
contentCategory->
|
|
42
|
-
}`
|
|
43
|
-
const relatedArticles = await client.fetch(relatedArticlesQuery)
|
|
44
|
-
|
|
45
|
-
Sample usage
|
|
46
|
-
<RelatedContent dataRecord={props.relatedArticles} client={client} showAuthor showPublished reverse/>
|
|
47
|
-
|
|
48
|
-
|
|
21
|
+
/*
|
|
22
|
+
Sample query
|
|
23
|
+
let references = ''
|
|
24
|
+
if(article.taxonomyMapping.length > 0){
|
|
25
|
+
article.taxonomyMapping.forEach((ref, index) => {
|
|
26
|
+
references = references + `references('${ref._ref}') `
|
|
27
|
+
if(index+1 !== article.taxonomyMapping.length){
|
|
28
|
+
references = references + ` && `
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const relatedArticlesQuery = `*[!(_id in path("drafts.**")) && _type == "article" && title !='${article.title}' && defined(title) && is_visible == true && ( references('article.documentGroup._id') || ${references} ) && published <= '${today}'] | order(published desc) [0...4] {
|
|
34
|
+
...,
|
|
35
|
+
title,
|
|
36
|
+
summary,
|
|
37
|
+
thumbnail,
|
|
38
|
+
url,
|
|
39
|
+
published,
|
|
40
|
+
authorMapping[]->,
|
|
41
|
+
contentCategory->
|
|
42
|
+
}`
|
|
43
|
+
const relatedArticles = await client.fetch(relatedArticlesQuery)
|
|
44
|
+
|
|
45
|
+
Sample usage
|
|
46
|
+
<RelatedContent dataRecord={props.relatedArticles} client={client} showAuthor showPublished reverse/>
|
|
47
|
+
|
|
48
|
+
|
|
49
49
|
*/
|
|
50
50
|
var RelatedContent = function RelatedContent(props) {
|
|
51
51
|
var client = props.client,
|