@blaze-cms/nextjs-tools 0.131.0 → 0.132.0-admin-updates.0
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/CHANGELOG.md +12 -0
- package/README.md +2 -1
- package/example.env +1 -0
- package/lib/containers/ContentContainer.js +6 -5
- package/lib/containers/ContentContainer.js.map +1 -1
- package/lib/helpers/check-url.js +19 -14
- package/lib/helpers/check-url.js.map +1 -1
- package/lib/helpers/get-search-filter.js +2 -6
- package/lib/helpers/get-search-filter.js.map +1 -1
- package/lib-es/containers/ContentContainer.js +6 -3
- package/lib-es/containers/ContentContainer.js.map +1 -1
- package/lib-es/helpers/check-url.js +8 -2
- package/lib-es/helpers/check-url.js.map +1 -1
- package/lib-es/helpers/get-search-filter.js +2 -6
- package/lib-es/helpers/get-search-filter.js.map +1 -1
- package/package.json +17 -17
- package/src/containers/ContentContainer.js +6 -5
- package/src/helpers/check-url.js +9 -3
- package/src/helpers/get-search-filter.js +2 -7
- package/tests/unit/src/helpers/check-url.test.js +26 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.132.0-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.131.0...v0.132.0-admin-updates.0) (2023-07-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Filters and sorts now target generic or specific lists ([#3973](https://github.com/thebyte9/blaze/issues/3973)) ([013fead](https://github.com/thebyte9/blaze/commit/013fead2b1fa467c084535d36404d3b80b9db02f))
|
|
12
|
+
* redirect with query string in the frontend ([#3985](https://github.com/thebyte9/blaze/issues/3985)) ([3e192d7](https://github.com/thebyte9/blaze/commit/3e192d7b678c64c72d4e3c9718adeda577708fd1))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
# [0.131.0](https://github.com/thebyte9/blaze/compare/v0.130.1...v0.131.0) (2023-07-18)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
package/README.md
CHANGED
|
@@ -91,7 +91,7 @@ This example will also allow the path to contain **.** characters
|
|
|
91
91
|
|
|
92
92
|
## Environment variables
|
|
93
93
|
|
|
94
|
-
| Name | Description | Default |
|
|
94
|
+
| Name | Description | Type | Default |
|
|
95
95
|
|---|---|---|
|
|
96
96
|
| BLAZE_FRONTEND_HOST | Frontend host (used to identify host) | String | |
|
|
97
97
|
| BLAZE_ROUTE_REGEX | Override default route regex | /^\/[a-z0-9€_\/]+(?:[-\/\.]{1,2}[a-z0-9\/€_\/]+)*$|^\/$/ |
|
|
@@ -102,6 +102,7 @@ This example will also allow the path to contain **.** characters
|
|
|
102
102
|
| BLAZE_ROOT_SELECTOR_CLASSES_LIMIT | The number of root-selector classes to display. 0 or unset will show noe | String | |
|
|
103
103
|
| BLAZE_BUILD_ENV_PREFIX_REGEX | '\|' separated list of allowed environment variable prefixes. Any environment variable that matches this prefix pattern will be dynamically added to the next environment config and will be available in code for use. If the environment variable has a "BUILD_" prefix, then this prefix will be removed from the next environment variable name before assigning it. i.e. BUILD_THIRD_PARTY_ENV will become THIRD_PARTY_ENV in the build. Prefixes BLAZE\|GOOGLE\|JWPLAYER\|DFP are added for backward compatibility and will be deprecated. We recommend to use new and change existing environment variables with "BUILD_" prefix. | BLAZE\|GOOGLE\|JWPLAYER\|DFP\|BUILD |
|
|
104
104
|
| BLAZE_CONTENT_SITEMAP_URL_PREFIX | Prefix for sitemap URL, used in frontend static route e.g. /sitemap/sitemap-0.xml. This needs to match value set in API app. | String | |
|
|
105
|
+
| BLAZE_DISABLE_REDIRECT_WITH_QUERY | Do not add query string to redirects | String | |
|
|
105
106
|
|
|
106
107
|
|
|
107
108
|
## Events emitted
|
package/example.env
CHANGED
|
@@ -64,12 +64,13 @@ var ContentContainer = function ContentContainer(_ref) {
|
|
|
64
64
|
tags: tags
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (
|
|
71
|
-
options.searchFilter =
|
|
67
|
+
var searchFilterItems = (0, _helpers.getSearchFilter)(pageBuilder);
|
|
68
|
+
var defaultSearchFilter = searchFilterItems[0];
|
|
69
|
+
// TODO check if this can be removed
|
|
70
|
+
if (defaultSearchFilter && !defaultSearchFilter.settings.url) {
|
|
71
|
+
options.searchFilter = defaultSearchFilter;
|
|
72
72
|
}
|
|
73
|
+
options.allSearchFilters = searchFilterItems;
|
|
73
74
|
var lightboxImages = (0, _pluginPageBuilderFe.getLightboxImages)(pageBuilder);
|
|
74
75
|
var hasGTM = (0, _helpers.checkForGtm)(pageBuilder);
|
|
75
76
|
var GlobalLigthBoxProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentContainer.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_pluginPageBuilderFe","_nextjsComponents","_helpers","_constants","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ContentContainer","_ref","fullUrl","pageData","isPreview","itemId","itemEntity","_useState","useState","_useState2","_slicedToArray2","open","setOpen","_useState3","_useState4","selectedImage","setSelectedImage","toggleModal","category","tags","preparedPageBuilderComponents","metaProps","_objectWithoutProperties2","pageBuilder","options","parent","
|
|
1
|
+
{"version":3,"file":"ContentContainer.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_pluginPageBuilderFe","_nextjsComponents","_helpers","_constants","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ContentContainer","_ref","fullUrl","pageData","isPreview","itemId","itemEntity","_useState","useState","_useState2","_slicedToArray2","open","setOpen","_useState3","_useState4","selectedImage","setSelectedImage","toggleModal","category","tags","preparedPageBuilderComponents","metaProps","_objectWithoutProperties2","pageBuilder","options","parent","searchFilterItems","getSearchFilter","defaultSearchFilter","settings","url","searchFilter","allSearchFilters","lightboxImages","getLightboxImages","hasGTM","checkForGtm","GlobalLigthBoxProps","buildPBComponentsOptions","createElement","MainContextProvider","value","Header","className","PREVIEW_MODE","buildPBComponents","propTypes","PropTypes","string","isRequired","bool","_default","exports"],"sources":["../../src/containers/ContentContainer.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { buildPBComponents, getLightboxImages } from '@blaze-cms/plugin-page-builder-fe';\nimport { Header, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport { getSearchFilter, checkForGtm } from '../helpers';\nimport { PREVIEW_MODE } from '../constants';\n\nconst ContentContainer = ({ fullUrl, pageData, isPreview, itemId, itemEntity }) => {\n const [open, setOpen] = useState(false);\n const [selectedImage, setSelectedImage] = useState(0);\n const toggleModal = () => setOpen(!open);\n\n const { category, tags, preparedPageBuilderComponents, ...metaProps } = pageData;\n const pageBuilder = preparedPageBuilderComponents || [];\n const options = { parent: { itemId, itemEntity, category, tags } };\n const searchFilterItems = getSearchFilter(pageBuilder);\n const defaultSearchFilter = searchFilterItems[0];\n // TODO check if this can be removed\n if (defaultSearchFilter && !defaultSearchFilter.settings.url) {\n options.searchFilter = defaultSearchFilter;\n }\n options.allSearchFilters = searchFilterItems;\n const lightboxImages = getLightboxImages(pageBuilder);\n const hasGTM = checkForGtm(pageBuilder);\n const GlobalLigthBoxProps = {\n open,\n setOpen,\n toggleModal,\n selectedImage,\n lightboxImages,\n setSelectedImage\n };\n const buildPBComponentsOptions = {\n ...options,\n ...metaProps,\n ...GlobalLigthBoxProps,\n hasGTM\n };\n\n return (\n <MainContextProvider value={{ fullUrl, isPreview, itemId, hasGTM }}>\n <Header {...metaProps} />\n {isPreview && <div className=\"preview-header\">{PREVIEW_MODE}</div>}\n {!!pageBuilder.length && buildPBComponents(pageBuilder, buildPBComponentsOptions, true)}\n </MainContextProvider>\n );\n};\n\nContentContainer.propTypes = {\n fullUrl: PropTypes.string.isRequired,\n pageData: PropTypes.object.isRequired,\n isPreview: PropTypes.bool.isRequired,\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default ContentContainer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAA4C,IAAAO,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAc,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,QAAAwB,gBAAA,aAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAE5C,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAA6D;EAAA,IAAvDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IAAEC,UAAU,GAAAL,IAAA,CAAVK,UAAU;EAC1E,IAAAC,SAAA,GAAwB,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAAhCI,IAAI,GAAAF,UAAA;IAAEG,OAAO,GAAAH,UAAA;EACpB,IAAAI,UAAA,GAA0C,IAAAL,eAAQ,EAAC,CAAC,CAAC;IAAAM,UAAA,OAAAJ,eAAA,aAAAG,UAAA;IAA9CE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAA;IAAA,OAASL,OAAO,CAAC,CAACD,IAAI,CAAC;EAAA;EAExC,IAAQO,QAAQ,GAAwDf,QAAQ,CAAxEe,QAAQ;IAAEC,IAAI,GAAkDhB,QAAQ,CAA9DgB,IAAI;IAAEC,6BAA6B,GAAmBjB,QAAQ,CAAxDiB,6BAA6B;IAAKC,SAAS,OAAAC,yBAAA,aAAKnB,QAAQ,EAAA/C,SAAA;EAChF,IAAMmE,WAAW,GAAGH,6BAA6B,IAAI,EAAE;EACvD,IAAMI,OAAO,GAAG;IAAEC,MAAM,EAAE;MAAEpB,MAAM,EAANA,MAAM;MAAEC,UAAU,EAAVA,UAAU;MAAEY,QAAQ,EAARA,QAAQ;MAAEC,IAAI,EAAJA;IAAK;EAAE,CAAC;EAClE,IAAMO,iBAAiB,GAAG,IAAAC,wBAAe,EAACJ,WAAW,CAAC;EACtD,IAAMK,mBAAmB,GAAGF,iBAAiB,CAAC,CAAC,CAAC;EAChD;EACA,IAAIE,mBAAmB,IAAI,CAACA,mBAAmB,CAACC,QAAQ,CAACC,GAAG,EAAE;IAC5DN,OAAO,CAACO,YAAY,GAAGH,mBAAmB;EAC5C;EACAJ,OAAO,CAACQ,gBAAgB,GAAGN,iBAAiB;EAC5C,IAAMO,cAAc,GAAG,IAAAC,sCAAiB,EAACX,WAAW,CAAC;EACrD,IAAMY,MAAM,GAAG,IAAAC,oBAAW,EAACb,WAAW,CAAC;EACvC,IAAMc,mBAAmB,GAAG;IAC1B1B,IAAI,EAAJA,IAAI;IACJC,OAAO,EAAPA,OAAO;IACPK,WAAW,EAAXA,WAAW;IACXF,aAAa,EAAbA,aAAa;IACbkB,cAAc,EAAdA,cAAc;IACdjB,gBAAgB,EAAhBA;EACF,CAAC;EACD,IAAMsB,wBAAwB,GAAAhD,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACzBkC,OAAO,GACPH,SAAS,GACTgB,mBAAmB;IACtBF,MAAM,EAANA;EAAM,EACP;EAED,oBACExF,MAAA,YAAA4F,aAAA,CAACtF,iBAAA,CAAAuF,mBAAmB;IAACC,KAAK,EAAE;MAAEvC,OAAO,EAAPA,OAAO;MAAEE,SAAS,EAATA,SAAS;MAAEC,MAAM,EAANA,MAAM;MAAE8B,MAAM,EAANA;IAAO;EAAE,gBACjExF,MAAA,YAAA4F,aAAA,CAACtF,iBAAA,CAAAyF,MAAM,EAAKrB,SAAY,CAAC,EACxBjB,SAAS,iBAAIzD,MAAA,YAAA4F,aAAA;IAAKI,SAAS,EAAC;EAAgB,GAAEC,uBAAkB,CAAC,EACjE,CAAC,CAACrB,WAAW,CAAC7B,MAAM,IAAI,IAAAmD,sCAAiB,EAACtB,WAAW,EAAEe,wBAAwB,EAAE,IAAI,CACnE,CAAC;AAE1B,CAAC;AAEDtC,gBAAgB,CAAC8C,SAAS,GAAG;EAC3B5C,OAAO,EAAE6C,qBAAS,CAACC,MAAM,CAACC,UAAU;EACpC9C,QAAQ,EAAE4C,qBAAS,CAACnE,MAAM,CAACqE,UAAU;EACrC7C,SAAS,EAAE2C,qBAAS,CAACG,IAAI,CAACD,UAAU;EACpC5C,MAAM,EAAE0C,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnC3C,UAAU,EAAEyC,qBAAS,CAACC,MAAM,CAACC;AAC/B,CAAC;AAAC,IAAAE,QAAA,GAEanD,gBAAgB;AAAAoD,OAAA,cAAAD,QAAA"}
|
package/lib/helpers/check-url.js
CHANGED
|
@@ -160,11 +160,11 @@ var getFullUrl = function getFullUrl(req, asPath) {
|
|
|
160
160
|
};
|
|
161
161
|
var doUrlCheck = /*#__PURE__*/function () {
|
|
162
162
|
var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref4) {
|
|
163
|
-
var url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, itemId, itemEntity, urlTo, _yield$apolloClient$q3, pageData, _ref6, _ref6$cacheControlMax, cacheControlMaxAge, rootSelectorClasses, parentPATH;
|
|
163
|
+
var asPath, url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, itemId, itemEntity, urlTo, _yield$apolloClient$q3, pageData, _ref6, _ref6$cacheControlMax, cacheControlMaxAge, redirectUrl, queryString, rootSelectorClasses, parentPATH;
|
|
164
164
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
165
165
|
while (1) switch (_context3.prev = _context3.next) {
|
|
166
166
|
case 0:
|
|
167
|
-
url = _ref4.url, apolloClient = _ref4.apolloClient, res = _ref4.res, handle404Error = _ref4.handle404Error, blazeApp = _ref4.blazeApp;
|
|
167
|
+
asPath = _ref4.asPath, url = _ref4.url, apolloClient = _ref4.apolloClient, res = _ref4.res, handle404Error = _ref4.handle404Error, blazeApp = _ref4.blazeApp;
|
|
168
168
|
_context3.prev = 1;
|
|
169
169
|
_context3.next = 4;
|
|
170
170
|
return apolloClient.query({
|
|
@@ -186,19 +186,24 @@ var doUrlCheck = /*#__PURE__*/function () {
|
|
|
186
186
|
res.setHeader('Cache-Control', "max-age=".concat(cacheControlMaxAge));
|
|
187
187
|
}
|
|
188
188
|
if (!(urlTo && urlTo !== url)) {
|
|
189
|
-
_context3.next =
|
|
189
|
+
_context3.next = 18;
|
|
190
190
|
break;
|
|
191
191
|
}
|
|
192
|
+
redirectUrl = urlTo;
|
|
193
|
+
if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {
|
|
194
|
+
queryString = asPath.split('?')[1];
|
|
195
|
+
redirectUrl = queryString ? "".concat(urlTo, "?").concat(queryString) : urlTo;
|
|
196
|
+
}
|
|
192
197
|
if (res) {
|
|
193
198
|
res.writeHead(301, {
|
|
194
|
-
Location:
|
|
199
|
+
Location: redirectUrl
|
|
195
200
|
});
|
|
196
201
|
res.end();
|
|
197
202
|
} else {
|
|
198
|
-
window.location.href =
|
|
203
|
+
window.location.href = redirectUrl;
|
|
199
204
|
}
|
|
200
205
|
return _context3.abrupt("return", {});
|
|
201
|
-
case
|
|
206
|
+
case 18:
|
|
202
207
|
rootSelectorClasses = (0, _getRootSelectorClasses["default"])(url, getRootClassesLimit());
|
|
203
208
|
return _context3.abrupt("return", {
|
|
204
209
|
pageData: pageData,
|
|
@@ -206,29 +211,29 @@ var doUrlCheck = /*#__PURE__*/function () {
|
|
|
206
211
|
itemId: itemId,
|
|
207
212
|
itemEntity: (0, _reactPageBuilder.getUnpublishedEntityName)(itemEntity)
|
|
208
213
|
});
|
|
209
|
-
case
|
|
210
|
-
_context3.prev =
|
|
214
|
+
case 22:
|
|
215
|
+
_context3.prev = 22;
|
|
211
216
|
_context3.t0 = _context3["catch"](1);
|
|
212
217
|
parentPATH = (0, _checkParent["default"])(url);
|
|
213
218
|
if (!(handle404Error && parentPATH && res)) {
|
|
214
|
-
_context3.next =
|
|
219
|
+
_context3.next = 30;
|
|
215
220
|
break;
|
|
216
221
|
}
|
|
217
222
|
res.writeHead(301, {
|
|
218
223
|
Location: parentPATH
|
|
219
224
|
});
|
|
220
225
|
res.end();
|
|
221
|
-
_context3.next =
|
|
226
|
+
_context3.next = 31;
|
|
222
227
|
break;
|
|
223
|
-
case
|
|
228
|
+
case 30:
|
|
224
229
|
return _context3.abrupt("return", handleError(_context3.t0, res, handle404Error, blazeApp));
|
|
225
|
-
case
|
|
230
|
+
case 31:
|
|
226
231
|
return _context3.abrupt("return", handle404Error ? {} : null);
|
|
227
|
-
case
|
|
232
|
+
case 32:
|
|
228
233
|
case "end":
|
|
229
234
|
return _context3.stop();
|
|
230
235
|
}
|
|
231
|
-
}, _callee3, null, [[1,
|
|
236
|
+
}, _callee3, null, [[1, 22]]);
|
|
232
237
|
}));
|
|
233
238
|
return function doUrlCheck(_x4) {
|
|
234
239
|
return _ref5.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-url.js","names":["_queryString","require","_reactPageBuilder","_coreAuthUi","_constants","_query","_checkParent","_interopRequireDefault","_checkPreviewUrl","_handleStaticRoutes","_getPageData","_getRootSelectorClasses","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","_ref","_asyncToGenerator2","_regenerator","mark","_callee","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","_parseUrl","url","handler","previewData","urlCheckOptions","result","wrap","_callee$","_context","prev","next","getFullUrl","parseUrl","BLAZE_STATUS_URL","abrupt","isStatusPage","handleStaticRoutes","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","checkPreviewUrl","checkAccessToken","cache","extract","getPreviewData","doUrlCheck","handle404Error","sent","stop","_x","_ref2","_callee2","_result$pageData","_result$pageData2","rootSelectorClasses","_callee2$","_context2","getPageData","pageData","getRootSelectorClasses","isPreview","_x2","_x3","getHost","_ref3","_ref3$headers","headers","BLAZE_FRONTEND_HOST","host","concat","HTTPS","_window","window","_window$location","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","_ref5","_callee3","_ref4","_yield$apolloClient$q","_yield$apolloClient$q2","itemId","itemEntity","urlTo","_yield$apolloClient$q3","_ref6","_ref6$cacheControlMax","cacheControlMaxAge","parentPATH","_callee3$","_context3","checkUrlQuery","variables","data","writeHead","Location","end","href","getUnpublishedEntityName","t0","checkParent","handleError","_x4","err","events","emit","error","networkError","write","graphQLErrors","statusCode","NOT_FOUND_STATUS_CODE","errorCode","_default","exports"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-url.js","names":["_queryString","require","_reactPageBuilder","_coreAuthUi","_constants","_query","_checkParent","_interopRequireDefault","_checkPreviewUrl","_handleStaticRoutes","_getPageData","_getRootSelectorClasses","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","_ref","_asyncToGenerator2","_regenerator","mark","_callee","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","_parseUrl","url","handler","previewData","urlCheckOptions","result","wrap","_callee$","_context","prev","next","getFullUrl","parseUrl","BLAZE_STATUS_URL","abrupt","isStatusPage","handleStaticRoutes","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","checkPreviewUrl","checkAccessToken","cache","extract","getPreviewData","doUrlCheck","handle404Error","sent","stop","_x","_ref2","_callee2","_result$pageData","_result$pageData2","rootSelectorClasses","_callee2$","_context2","getPageData","pageData","getRootSelectorClasses","isPreview","_x2","_x3","getHost","_ref3","_ref3$headers","headers","BLAZE_FRONTEND_HOST","host","concat","HTTPS","_window","window","_window$location","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","_ref5","_callee3","_ref4","_yield$apolloClient$q","_yield$apolloClient$q2","itemId","itemEntity","urlTo","_yield$apolloClient$q3","_ref6","_ref6$cacheControlMax","cacheControlMaxAge","redirectUrl","queryString","parentPATH","_callee3$","_context3","checkUrlQuery","variables","data","BLAZE_DISABLE_REDIRECT_WITH_QUERY","split","writeHead","Location","end","href","getUnpublishedEntityName","t0","checkParent","handleError","_x4","err","events","emit","error","networkError","write","graphQLErrors","statusCode","NOT_FOUND_STATUS_CODE","errorCode","_default","exports"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
|
@@ -13,12 +13,8 @@ var getSearchFilter = function getSearchFilter(pageBuilder) {
|
|
|
13
13
|
var searchFilter = [];
|
|
14
14
|
var checkForSearchFilter = function checkForSearchFilter(pbItems) {
|
|
15
15
|
pbItems.forEach(function (pbItem) {
|
|
16
|
-
if (pbItem.type === _constants.SEARCH_FILTER)
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
if (pbItem.items && pbItem.items.length) {
|
|
20
|
-
checkForSearchFilter(pbItem.items);
|
|
21
|
-
}
|
|
16
|
+
if (pbItem.type === _constants.SEARCH_FILTER) searchFilter.push(pbItem);
|
|
17
|
+
if (pbItem.items && pbItem.items.length) checkForSearchFilter(pbItem.items);
|
|
22
18
|
});
|
|
23
19
|
};
|
|
24
20
|
checkForSearchFilter(pageBuilder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-search-filter.js","names":["_constants","require","getSearchFilter","pageBuilder","searchFilter","checkForSearchFilter","pbItems","forEach","pbItem","type","SEARCH_FILTER","push","items","length","_default","exports"],"sources":["../../src/helpers/get-search-filter.js"],"sourcesContent":["import { SEARCH_FILTER } from '../constants';\n\nconst getSearchFilter = pageBuilder => {\n const searchFilter = [];\n\n const checkForSearchFilter = pbItems => {\n pbItems.forEach(pbItem => {\n if (pbItem.type === SEARCH_FILTER)
|
|
1
|
+
{"version":3,"file":"get-search-filter.js","names":["_constants","require","getSearchFilter","pageBuilder","searchFilter","checkForSearchFilter","pbItems","forEach","pbItem","type","SEARCH_FILTER","push","items","length","_default","exports"],"sources":["../../src/helpers/get-search-filter.js"],"sourcesContent":["import { SEARCH_FILTER } from '../constants';\n\nconst getSearchFilter = pageBuilder => {\n const searchFilter = [];\n\n const checkForSearchFilter = pbItems => {\n pbItems.forEach(pbItem => {\n if (pbItem.type === SEARCH_FILTER) searchFilter.push(pbItem);\n if (pbItem.items && pbItem.items.length) checkForSearchFilter(pbItem.items);\n });\n };\n\n checkForSearchFilter(pageBuilder);\n\n return searchFilter;\n};\nexport default getSearchFilter;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,WAAW,EAAI;EACrC,IAAMC,YAAY,GAAG,EAAE;EAEvB,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,OAAO,EAAI;IACtCA,OAAO,CAACC,OAAO,CAAC,UAAAC,MAAM,EAAI;MACxB,IAAIA,MAAM,CAACC,IAAI,KAAKC,wBAAa,EAAEN,YAAY,CAACO,IAAI,CAACH,MAAM,CAAC;MAC5D,IAAIA,MAAM,CAACI,KAAK,IAAIJ,MAAM,CAACI,KAAK,CAACC,MAAM,EAAER,oBAAoB,CAACG,MAAM,CAACI,KAAK,CAAC;IAC7E,CAAC,CAAC;EACJ,CAAC;EAEDP,oBAAoB,CAACF,WAAW,CAAC;EAEjC,OAAOC,YAAY;AACrB,CAAC;AAAC,IAAAU,QAAA,GACaZ,eAAe;AAAAa,OAAA,cAAAD,QAAA"}
|
|
@@ -34,10 +34,13 @@ const ContentContainer = ({
|
|
|
34
34
|
tags
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const searchFilterItems = getSearchFilter(pageBuilder);
|
|
38
|
+
const defaultSearchFilter = searchFilterItems[0];
|
|
39
|
+
// TODO check if this can be removed
|
|
40
|
+
if (defaultSearchFilter && !defaultSearchFilter.settings.url) {
|
|
41
|
+
options.searchFilter = defaultSearchFilter;
|
|
40
42
|
}
|
|
43
|
+
options.allSearchFilters = searchFilterItems;
|
|
41
44
|
const lightboxImages = getLightboxImages(pageBuilder);
|
|
42
45
|
const hasGTM = checkForGtm(pageBuilder);
|
|
43
46
|
const GlobalLigthBoxProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentContainer.js","names":["React","useState","PropTypes","buildPBComponents","getLightboxImages","Header","MainContextProvider","getSearchFilter","checkForGtm","PREVIEW_MODE","ContentContainer","fullUrl","pageData","isPreview","itemId","itemEntity","open","setOpen","selectedImage","setSelectedImage","toggleModal","category","tags","preparedPageBuilderComponents","metaProps","_objectWithoutProperties","_excluded","pageBuilder","options","parent","
|
|
1
|
+
{"version":3,"file":"ContentContainer.js","names":["React","useState","PropTypes","buildPBComponents","getLightboxImages","Header","MainContextProvider","getSearchFilter","checkForGtm","PREVIEW_MODE","ContentContainer","fullUrl","pageData","isPreview","itemId","itemEntity","open","setOpen","selectedImage","setSelectedImage","toggleModal","category","tags","preparedPageBuilderComponents","metaProps","_objectWithoutProperties","_excluded","pageBuilder","options","parent","searchFilterItems","defaultSearchFilter","settings","url","searchFilter","allSearchFilters","lightboxImages","hasGTM","GlobalLigthBoxProps","buildPBComponentsOptions","_objectSpread","createElement","value","className","length","propTypes","string","isRequired","object","bool"],"sources":["../../src/containers/ContentContainer.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { buildPBComponents, getLightboxImages } from '@blaze-cms/plugin-page-builder-fe';\nimport { Header, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport { getSearchFilter, checkForGtm } from '../helpers';\nimport { PREVIEW_MODE } from '../constants';\n\nconst ContentContainer = ({ fullUrl, pageData, isPreview, itemId, itemEntity }) => {\n const [open, setOpen] = useState(false);\n const [selectedImage, setSelectedImage] = useState(0);\n const toggleModal = () => setOpen(!open);\n\n const { category, tags, preparedPageBuilderComponents, ...metaProps } = pageData;\n const pageBuilder = preparedPageBuilderComponents || [];\n const options = { parent: { itemId, itemEntity, category, tags } };\n const searchFilterItems = getSearchFilter(pageBuilder);\n const defaultSearchFilter = searchFilterItems[0];\n // TODO check if this can be removed\n if (defaultSearchFilter && !defaultSearchFilter.settings.url) {\n options.searchFilter = defaultSearchFilter;\n }\n options.allSearchFilters = searchFilterItems;\n const lightboxImages = getLightboxImages(pageBuilder);\n const hasGTM = checkForGtm(pageBuilder);\n const GlobalLigthBoxProps = {\n open,\n setOpen,\n toggleModal,\n selectedImage,\n lightboxImages,\n setSelectedImage\n };\n const buildPBComponentsOptions = {\n ...options,\n ...metaProps,\n ...GlobalLigthBoxProps,\n hasGTM\n };\n\n return (\n <MainContextProvider value={{ fullUrl, isPreview, itemId, hasGTM }}>\n <Header {...metaProps} />\n {isPreview && <div className=\"preview-header\">{PREVIEW_MODE}</div>}\n {!!pageBuilder.length && buildPBComponents(pageBuilder, buildPBComponentsOptions, true)}\n </MainContextProvider>\n );\n};\n\nContentContainer.propTypes = {\n fullUrl: PropTypes.string.isRequired,\n pageData: PropTypes.object.isRequired,\n isPreview: PropTypes.bool.isRequired,\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default ContentContainer;\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,mCAAmC;AACxF,SAASC,MAAM,EAAEC,mBAAmB,QAAQ,8BAA8B;AAC1E,SAASC,eAAe,EAAEC,WAAW,QAAQ,YAAY;AACzD,SAASC,YAAY,QAAQ,cAAc;AAE3C,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,MAAM;EAAEC;AAAW,CAAC,KAAK;EACjF,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGhB,QAAQ,CAAC,KAAK,CAAC;EACvC,MAAM,CAACiB,aAAa,EAAEC,gBAAgB,CAAC,GAAGlB,QAAQ,CAAC,CAAC,CAAC;EACrD,MAAMmB,WAAW,GAAGA,CAAA,KAAMH,OAAO,CAAC,CAACD,IAAI,CAAC;EAExC,MAAM;MAAEK,QAAQ;MAAEC,IAAI;MAAEC;IAA4C,CAAC,GAAGX,QAAQ;IAAtBY,SAAS,GAAAC,wBAAA,CAAKb,QAAQ,EAAAc,SAAA;EAChF,MAAMC,WAAW,GAAGJ,6BAA6B,IAAI,EAAE;EACvD,MAAMK,OAAO,GAAG;IAAEC,MAAM,EAAE;MAAEf,MAAM;MAAEC,UAAU;MAAEM,QAAQ;MAAEC;IAAK;EAAE,CAAC;EAClE,MAAMQ,iBAAiB,GAAGvB,eAAe,CAACoB,WAAW,CAAC;EACtD,MAAMI,mBAAmB,GAAGD,iBAAiB,CAAC,CAAC,CAAC;EAChD;EACA,IAAIC,mBAAmB,IAAI,CAACA,mBAAmB,CAACC,QAAQ,CAACC,GAAG,EAAE;IAC5DL,OAAO,CAACM,YAAY,GAAGH,mBAAmB;EAC5C;EACAH,OAAO,CAACO,gBAAgB,GAAGL,iBAAiB;EAC5C,MAAMM,cAAc,GAAGhC,iBAAiB,CAACuB,WAAW,CAAC;EACrD,MAAMU,MAAM,GAAG7B,WAAW,CAACmB,WAAW,CAAC;EACvC,MAAMW,mBAAmB,GAAG;IAC1BtB,IAAI;IACJC,OAAO;IACPG,WAAW;IACXF,aAAa;IACbkB,cAAc;IACdjB;EACF,CAAC;EACD,MAAMoB,wBAAwB,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACzBZ,OAAO,GACPJ,SAAS,GACTc,mBAAmB;IACtBD;EAAM,EACP;EAED,oBACErC,KAAA,CAAAyC,aAAA,CAACnC,mBAAmB;IAACoC,KAAK,EAAE;MAAE/B,OAAO;MAAEE,SAAS;MAAEC,MAAM;MAAEuB;IAAO;EAAE,gBACjErC,KAAA,CAAAyC,aAAA,CAACpC,MAAM,EAAKmB,SAAY,CAAC,EACxBX,SAAS,iBAAIb,KAAA,CAAAyC,aAAA;IAAKE,SAAS,EAAC;EAAgB,GAAElC,YAAkB,CAAC,EACjE,CAAC,CAACkB,WAAW,CAACiB,MAAM,IAAIzC,iBAAiB,CAACwB,WAAW,EAAEY,wBAAwB,EAAE,IAAI,CACnE,CAAC;AAE1B,CAAC;AAED7B,gBAAgB,CAACmC,SAAS,GAAG;EAC3BlC,OAAO,EAAET,SAAS,CAAC4C,MAAM,CAACC,UAAU;EACpCnC,QAAQ,EAAEV,SAAS,CAAC8C,MAAM,CAACD,UAAU;EACrClC,SAAS,EAAEX,SAAS,CAAC+C,IAAI,CAACF,UAAU;EACpCjC,MAAM,EAAEZ,SAAS,CAAC4C,MAAM,CAACC,UAAU;EACnChC,UAAU,EAAEb,SAAS,CAAC4C,MAAM,CAACC;AAC/B,CAAC;AAED,eAAerC,gBAAgB"}
|
|
@@ -97,6 +97,7 @@ const getFullUrl = (req, asPath) => {
|
|
|
97
97
|
return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;
|
|
98
98
|
};
|
|
99
99
|
const doUrlCheck = async ({
|
|
100
|
+
asPath,
|
|
100
101
|
url,
|
|
101
102
|
apolloClient,
|
|
102
103
|
res,
|
|
@@ -126,13 +127,18 @@ const doUrlCheck = async ({
|
|
|
126
127
|
res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);
|
|
127
128
|
}
|
|
128
129
|
if (urlTo && urlTo !== url) {
|
|
130
|
+
let redirectUrl = urlTo;
|
|
131
|
+
if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {
|
|
132
|
+
const queryString = asPath.split('?')[1];
|
|
133
|
+
redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;
|
|
134
|
+
}
|
|
129
135
|
if (res) {
|
|
130
136
|
res.writeHead(301, {
|
|
131
|
-
Location:
|
|
137
|
+
Location: redirectUrl
|
|
132
138
|
});
|
|
133
139
|
res.end();
|
|
134
140
|
} else {
|
|
135
|
-
window.location.href =
|
|
141
|
+
window.location.href = redirectUrl;
|
|
136
142
|
}
|
|
137
143
|
return {};
|
|
138
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","_objectSpread","Object","keys","cache","extract","length","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","headers","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","_objectSpread","Object","keys","cache","extract","length","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","headers","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
|
@@ -3,12 +3,8 @@ const getSearchFilter = pageBuilder => {
|
|
|
3
3
|
const searchFilter = [];
|
|
4
4
|
const checkForSearchFilter = pbItems => {
|
|
5
5
|
pbItems.forEach(pbItem => {
|
|
6
|
-
if (pbItem.type === SEARCH_FILTER)
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
if (pbItem.items && pbItem.items.length) {
|
|
10
|
-
checkForSearchFilter(pbItem.items);
|
|
11
|
-
}
|
|
6
|
+
if (pbItem.type === SEARCH_FILTER) searchFilter.push(pbItem);
|
|
7
|
+
if (pbItem.items && pbItem.items.length) checkForSearchFilter(pbItem.items);
|
|
12
8
|
});
|
|
13
9
|
};
|
|
14
10
|
checkForSearchFilter(pageBuilder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-search-filter.js","names":["SEARCH_FILTER","getSearchFilter","pageBuilder","searchFilter","checkForSearchFilter","pbItems","forEach","pbItem","type","push","items","length"],"sources":["../../src/helpers/get-search-filter.js"],"sourcesContent":["import { SEARCH_FILTER } from '../constants';\n\nconst getSearchFilter = pageBuilder => {\n const searchFilter = [];\n\n const checkForSearchFilter = pbItems => {\n pbItems.forEach(pbItem => {\n if (pbItem.type === SEARCH_FILTER)
|
|
1
|
+
{"version":3,"file":"get-search-filter.js","names":["SEARCH_FILTER","getSearchFilter","pageBuilder","searchFilter","checkForSearchFilter","pbItems","forEach","pbItem","type","push","items","length"],"sources":["../../src/helpers/get-search-filter.js"],"sourcesContent":["import { SEARCH_FILTER } from '../constants';\n\nconst getSearchFilter = pageBuilder => {\n const searchFilter = [];\n\n const checkForSearchFilter = pbItems => {\n pbItems.forEach(pbItem => {\n if (pbItem.type === SEARCH_FILTER) searchFilter.push(pbItem);\n if (pbItem.items && pbItem.items.length) checkForSearchFilter(pbItem.items);\n });\n };\n\n checkForSearchFilter(pageBuilder);\n\n return searchFilter;\n};\nexport default getSearchFilter;\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,eAAe,GAAGC,WAAW,IAAI;EACrC,MAAMC,YAAY,GAAG,EAAE;EAEvB,MAAMC,oBAAoB,GAAGC,OAAO,IAAI;IACtCA,OAAO,CAACC,OAAO,CAACC,MAAM,IAAI;MACxB,IAAIA,MAAM,CAACC,IAAI,KAAKR,aAAa,EAAEG,YAAY,CAACM,IAAI,CAACF,MAAM,CAAC;MAC5D,IAAIA,MAAM,CAACG,KAAK,IAAIH,MAAM,CAACG,KAAK,CAACC,MAAM,EAAEP,oBAAoB,CAACG,MAAM,CAACG,KAAK,CAAC;IAC7E,CAAC,CAAC;EACJ,CAAC;EAEDN,oBAAoB,CAACF,WAAW,CAAC;EAEjC,OAAOC,YAAY;AACrB,CAAC;AACD,eAAeF,eAAe"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/nextjs-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.132.0-admin-updates.0",
|
|
4
4
|
"description": "Blaze nextjs tools",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -28,21 +28,21 @@
|
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@apollo/client": "3.5.x",
|
|
31
|
-
"@blaze-cms/core-auth-ui": "
|
|
32
|
-
"@blaze-cms/core-errors": "
|
|
33
|
-
"@blaze-cms/core-errors-ui": "
|
|
34
|
-
"@blaze-cms/core-ui": "
|
|
35
|
-
"@blaze-cms/nextjs-components": "
|
|
36
|
-
"@blaze-cms/plugin-auth-fe": "
|
|
37
|
-
"@blaze-cms/plugin-auth-local-fe": "
|
|
38
|
-
"@blaze-cms/plugin-google-maps-fe": "
|
|
39
|
-
"@blaze-cms/plugin-gtm-fe": "
|
|
40
|
-
"@blaze-cms/plugin-page-builder-fe": "
|
|
41
|
-
"@blaze-cms/plugin-preview-fe": "
|
|
42
|
-
"@blaze-cms/plugin-search-ui": "
|
|
43
|
-
"@blaze-cms/plugin-structured-data-fe": "
|
|
44
|
-
"@blaze-cms/react-page-builder": "
|
|
45
|
-
"@blaze-cms/setup-ui": "
|
|
31
|
+
"@blaze-cms/core-auth-ui": "0.132.0-admin-updates.0",
|
|
32
|
+
"@blaze-cms/core-errors": "0.132.0-admin-updates.0",
|
|
33
|
+
"@blaze-cms/core-errors-ui": "0.132.0-admin-updates.0",
|
|
34
|
+
"@blaze-cms/core-ui": "0.132.0-admin-updates.0",
|
|
35
|
+
"@blaze-cms/nextjs-components": "0.132.0-admin-updates.0",
|
|
36
|
+
"@blaze-cms/plugin-auth-fe": "0.132.0-admin-updates.0",
|
|
37
|
+
"@blaze-cms/plugin-auth-local-fe": "0.132.0-admin-updates.0",
|
|
38
|
+
"@blaze-cms/plugin-google-maps-fe": "0.132.0-admin-updates.0",
|
|
39
|
+
"@blaze-cms/plugin-gtm-fe": "0.132.0-admin-updates.0",
|
|
40
|
+
"@blaze-cms/plugin-page-builder-fe": "0.132.0-admin-updates.0",
|
|
41
|
+
"@blaze-cms/plugin-preview-fe": "0.132.0-admin-updates.0",
|
|
42
|
+
"@blaze-cms/plugin-search-ui": "0.132.0-admin-updates.0",
|
|
43
|
+
"@blaze-cms/plugin-structured-data-fe": "0.132.0-admin-updates.0",
|
|
44
|
+
"@blaze-cms/react-page-builder": "0.132.0-admin-updates.0",
|
|
45
|
+
"@blaze-cms/setup-ui": "0.132.0-admin-updates.0",
|
|
46
46
|
"autoprefixer": "^10.2.3",
|
|
47
47
|
"core-js": "^3.2.1",
|
|
48
48
|
"cross-fetch": "^3.0.2",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"lib/*",
|
|
70
70
|
"lib-es/*"
|
|
71
71
|
],
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "fd6ece22f357131c0b0e5201e5e1df825389b860"
|
|
73
73
|
}
|
|
@@ -13,12 +13,13 @@ const ContentContainer = ({ fullUrl, pageData, isPreview, itemId, itemEntity })
|
|
|
13
13
|
const { category, tags, preparedPageBuilderComponents, ...metaProps } = pageData;
|
|
14
14
|
const pageBuilder = preparedPageBuilderComponents || [];
|
|
15
15
|
const options = { parent: { itemId, itemEntity, category, tags } };
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
if
|
|
19
|
-
|
|
16
|
+
const searchFilterItems = getSearchFilter(pageBuilder);
|
|
17
|
+
const defaultSearchFilter = searchFilterItems[0];
|
|
18
|
+
// TODO check if this can be removed
|
|
19
|
+
if (defaultSearchFilter && !defaultSearchFilter.settings.url) {
|
|
20
|
+
options.searchFilter = defaultSearchFilter;
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
+
options.allSearchFilters = searchFilterItems;
|
|
22
23
|
const lightboxImages = getLightboxImages(pageBuilder);
|
|
23
24
|
const hasGTM = checkForGtm(pageBuilder);
|
|
24
25
|
const GlobalLigthBoxProps = {
|
package/src/helpers/check-url.js
CHANGED
|
@@ -76,7 +76,7 @@ const getFullUrl = (req, asPath) => {
|
|
|
76
76
|
return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
-
const doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {
|
|
79
|
+
const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {
|
|
80
80
|
try {
|
|
81
81
|
const {
|
|
82
82
|
data: {
|
|
@@ -95,11 +95,17 @@ const doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp })
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
if (urlTo && urlTo !== url) {
|
|
98
|
+
let redirectUrl = urlTo;
|
|
99
|
+
if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {
|
|
100
|
+
const queryString = asPath.split('?')[1];
|
|
101
|
+
redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;
|
|
102
|
+
}
|
|
103
|
+
|
|
98
104
|
if (res) {
|
|
99
|
-
res.writeHead(301, { Location:
|
|
105
|
+
res.writeHead(301, { Location: redirectUrl });
|
|
100
106
|
res.end();
|
|
101
107
|
} else {
|
|
102
|
-
window.location.href =
|
|
108
|
+
window.location.href = redirectUrl;
|
|
103
109
|
}
|
|
104
110
|
return {};
|
|
105
111
|
}
|
|
@@ -5,13 +5,8 @@ const getSearchFilter = pageBuilder => {
|
|
|
5
5
|
|
|
6
6
|
const checkForSearchFilter = pbItems => {
|
|
7
7
|
pbItems.forEach(pbItem => {
|
|
8
|
-
if (pbItem.type === SEARCH_FILTER)
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
if (pbItem.items && pbItem.items.length) {
|
|
13
|
-
checkForSearchFilter(pbItem.items);
|
|
14
|
-
}
|
|
8
|
+
if (pbItem.type === SEARCH_FILTER) searchFilter.push(pbItem);
|
|
9
|
+
if (pbItem.items && pbItem.items.length) checkForSearchFilter(pbItem.items);
|
|
15
10
|
});
|
|
16
11
|
};
|
|
17
12
|
|
|
@@ -80,6 +80,9 @@ describe('Check url', () => {
|
|
|
80
80
|
const mockHandlerResponse = () => jest.fn(() => true);
|
|
81
81
|
const cacheControlHeader = 'Cache-Control';
|
|
82
82
|
|
|
83
|
+
const queryString = '?query=string';
|
|
84
|
+
const asPathWithQuery = `${asPath}${queryString}`;
|
|
85
|
+
|
|
83
86
|
beforeAll(() => {
|
|
84
87
|
setEnvs(envs);
|
|
85
88
|
});
|
|
@@ -178,6 +181,29 @@ describe('Check url', () => {
|
|
|
178
181
|
apolloQueryCheck(apolloClient, asPath);
|
|
179
182
|
});
|
|
180
183
|
|
|
184
|
+
it('should redirect with query string', async () => {
|
|
185
|
+
apolloClient.query.mockImplementationOnce(async () => ({
|
|
186
|
+
data: {
|
|
187
|
+
checkUrl: { urlTo }
|
|
188
|
+
}
|
|
189
|
+
}));
|
|
190
|
+
await checkUrl({ ...props, asPath: asPathWithQuery });
|
|
191
|
+
expect(res.writeHead).toHaveBeenCalledWith(301, { Location: `${urlTo}${queryString}` });
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
it('should not redirect with query string', async () => {
|
|
195
|
+
apolloClient.query.mockImplementationOnce(async () => ({
|
|
196
|
+
data: {
|
|
197
|
+
checkUrl: { urlTo }
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
200
|
+
const customEnvs = { BLAZE_DISABLE_REDIRECT_WITH_QUERY: 'true' };
|
|
201
|
+
setEnvs(customEnvs);
|
|
202
|
+
await checkUrl({ ...props, asPath: asPathWithQuery });
|
|
203
|
+
expect(res.writeHead).toHaveBeenCalledWith(301, { Location: urlTo });
|
|
204
|
+
deleteEnvs(customEnvs);
|
|
205
|
+
});
|
|
206
|
+
|
|
181
207
|
it('should handle redirect to parent on not found', async () => {
|
|
182
208
|
apolloClient.query.mockImplementationOnce(async () => {
|
|
183
209
|
throw new Error('Not found');
|