@blaze-cms/react-page-builder 0.120.1 → 0.121.0-alpha.1
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 +11 -0
- package/lib/application/query/index.js +15 -9
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/Breadcrumb/Breadcrumb.js +136 -0
- package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/index.js +16 -0
- package/lib/components/Breadcrumb/index.js.map +1 -0
- package/lib/components/index.js +5 -0
- package/lib/components/index.js.map +1 -1
- package/lib-es/application/query/index.js +15 -1
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/Breadcrumb/Breadcrumb.js +91 -0
- package/lib-es/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib-es/components/Breadcrumb/index.js +3 -0
- package/lib-es/components/Breadcrumb/index.js.map +1 -0
- package/lib-es/components/index.js +4 -1
- package/lib-es/components/index.js.map +1 -1
- package/package.json +3 -2
- package/src/application/query/index.js +16 -1
- package/src/components/Breadcrumb/Breadcrumb.js +73 -0
- package/src/components/Breadcrumb/index.js +3 -0
- package/src/components/index.js +2 -1
- package/tests/unit/src/components/Breadcrumb/Breadcrumb.test.js +103 -0
- package/tests/unit/src/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap +82 -0
- package/tests/unit/src/components/__snapshots__/index.test.js.snap +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.121.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.121.0-alpha.0...v0.121.0-alpha.1) (2022-03-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* add breadcrumb component and parent hierarchy query ([#3354](https://github.com/thebyte9/blaze/issues/3354)) ([1c81cc7](https://github.com/thebyte9/blaze/commit/1c81cc7d5fec746938fa4686b9f166bb0f11a577))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [0.120.1](https://github.com/thebyte9/blaze/compare/v0.120.0...v0.120.1) (2022-02-23)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.getUser = exports.getSingleEntitySchema = exports.getSearchPublishedContent = exports.getMultipleSchema = exports.getFiles = exports.getFileById = exports.getEntitySchema = exports.getCount = exports.getAction = exports.generateSingleItemQuery = exports.generateMultiItemQuery = void 0;
|
|
10
|
+
exports.getUser = exports.getSingleEntitySchema = exports.getSearchPublishedContent = exports.getRecordParents = exports.getMultipleSchema = exports.getFiles = exports.getFileById = exports.getEntitySchema = exports.getCount = exports.getAction = exports.generateSingleItemQuery = exports.generateMultiItemQuery = void 0;
|
|
11
11
|
|
|
12
12
|
require("core-js/modules/es.array.join.js");
|
|
13
13
|
|
|
@@ -21,7 +21,7 @@ var _client = require("@apollo/client");
|
|
|
21
21
|
|
|
22
22
|
var _lodash = _interopRequireDefault(require("lodash.upperfirst"));
|
|
23
23
|
|
|
24
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
24
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
25
25
|
|
|
26
26
|
var defaultSchemaProps = "\n id\n identifier\n properties\n dynamicProperties\n actions\n interfaces\n relations\n __typename\n";
|
|
27
27
|
|
|
@@ -41,21 +41,27 @@ exports.getEntitySchema = getEntitySchema;
|
|
|
41
41
|
var getSingleEntitySchema = (0, _client.gql)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n query getEntitySchema($id: String!) {\n getEntitySchema: getEntitySchema(id: $id) {\n ", "\n }\n }\n"])), defaultSchemaProps);
|
|
42
42
|
exports.getSingleEntitySchema = getSingleEntitySchema;
|
|
43
43
|
|
|
44
|
+
var getRecordParents = function getRecordParents(queryName) {
|
|
45
|
+
return (0, _client.gql)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\nquery getRecordParents($id: String!){\n recordParents: ", "(id: $id){\n id,\n name,\n url,\n parents {\n id,\n name\n url\n }\n }\n}"])), queryName);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.getRecordParents = getRecordParents;
|
|
49
|
+
|
|
44
50
|
var getMultipleSchema = function getMultipleSchema(identifiers) {
|
|
45
51
|
var queryString = identifiers.map(function (id) {
|
|
46
52
|
return "".concat(id, ": getEntitySchema(id: \"").concat(id, "\") {\n ").concat(defaultSchemaProps, "\n }");
|
|
47
53
|
}).join("\n");
|
|
48
|
-
return (0, _client.gql)(
|
|
54
|
+
return (0, _client.gql)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n query {\n ", "\n }"])), queryString);
|
|
49
55
|
};
|
|
50
56
|
|
|
51
57
|
exports.getMultipleSchema = getMultipleSchema;
|
|
52
|
-
var getFiles = (0, _client.gql)(
|
|
58
|
+
var getFiles = (0, _client.gql)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n query getFiles($where: JSON!) {\n getFiles(where: $where) {\n id\n url\n data\n }\n }\n"])));
|
|
53
59
|
exports.getFiles = getFiles;
|
|
54
|
-
var getFileById = (0, _client.gql)(
|
|
60
|
+
var getFileById = (0, _client.gql)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n query getFile($id: String!) {\n getFile(id: $id) {\n id\n url\n data\n }\n }\n"])));
|
|
55
61
|
exports.getFileById = getFileById;
|
|
56
62
|
|
|
57
63
|
var getCount = function getCount(action) {
|
|
58
|
-
return (0, _client.gql)(
|
|
64
|
+
return (0, _client.gql)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["query countData($where: JSON!) {\n ", " (where: $where)\n }\n"])), action);
|
|
59
65
|
};
|
|
60
66
|
|
|
61
67
|
exports.getCount = getCount;
|
|
@@ -65,13 +71,13 @@ var generateQuery = function generateQuery(action, props) {
|
|
|
65
71
|
};
|
|
66
72
|
|
|
67
73
|
var generateMultiItemQuery = function generateMultiItemQuery(action, props) {
|
|
68
|
-
return (0, _client.gql)(
|
|
74
|
+
return (0, _client.gql)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n query getEntityData($where: JSON){\n ", " (where: $where){\n ", "\n id\n __typename\n }\n }\n "])), action, props);
|
|
69
75
|
};
|
|
70
76
|
|
|
71
77
|
exports.generateMultiItemQuery = generateMultiItemQuery;
|
|
72
78
|
|
|
73
79
|
var generateSingleItemQuery = function generateSingleItemQuery(action, props) {
|
|
74
|
-
return (0, _client.gql)(
|
|
80
|
+
return (0, _client.gql)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n query getEntityData($id: String!){\n entityData: ", "(id: $id){\n ", ",\n id,\n __typename\n }\n }\n "])), action, props);
|
|
75
81
|
}; // TODO: extend function to handle properties and make them dynamic with a config schema for each entity.
|
|
76
82
|
|
|
77
83
|
|
|
@@ -79,7 +85,7 @@ exports.generateSingleItemQuery = generateSingleItemQuery;
|
|
|
79
85
|
|
|
80
86
|
var getAction = function getAction(action, props) {
|
|
81
87
|
var query = generateQuery(action, props);
|
|
82
|
-
return (0, _client.gql)(
|
|
88
|
+
return (0, _client.gql)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n "])), query);
|
|
83
89
|
};
|
|
84
90
|
|
|
85
91
|
exports.getAction = getAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/application/query/index.js"],"names":["defaultSchemaProps","getSearchPublishedContent","fields","gql","getUser","userProps","getEntitySchema","getSingleEntitySchema","getMultipleSchema","identifiers","queryString","map","id","join","getFiles","getFileById","getCount","action","generateQuery","props","generateMultiItemQuery","generateSingleItemQuery","getAction","query"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,kBAAkB,kHAAxB;;AAWA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM;AAAA,aAAIC,WAAJ,+VAG9BD,MAH8B;AAAA,CAAxC;;;;AAQA,IAAME,OAAO,GAAG,SAAVA,OAAU,CAAAC,SAAS;AAAA,aAAIF,WAAJ,uLAIjBE,SAJiB;AAAA,CAAzB;;;AASA,IAAMC,eAAe,OAAGH,WAAH,uNAGbH,kBAHa,CAArB;;AAQA,IAAMO,qBAAqB,OAAGJ,WAAH,8MAGnBH,kBAHmB,CAA3B;;;AAQA,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,WAAW,EAAI;AACvC,MAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhB,UAAAC,EAAE;AAAA,qBAAOA,EAAP,qCAAmCA,EAAnC,
|
|
1
|
+
{"version":3,"sources":["../../../src/application/query/index.js"],"names":["defaultSchemaProps","getSearchPublishedContent","fields","gql","getUser","userProps","getEntitySchema","getSingleEntitySchema","getRecordParents","queryName","getMultipleSchema","identifiers","queryString","map","id","join","getFiles","getFileById","getCount","action","generateQuery","props","generateMultiItemQuery","generateSingleItemQuery","getAction","query"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,kBAAkB,kHAAxB;;AAWA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM;AAAA,aAAIC,WAAJ,+VAG9BD,MAH8B;AAAA,CAAxC;;;;AAQA,IAAME,OAAO,GAAG,SAAVA,OAAU,CAAAC,SAAS;AAAA,aAAIF,WAAJ,uLAIjBE,SAJiB;AAAA,CAAzB;;;AASA,IAAMC,eAAe,OAAGH,WAAH,uNAGbH,kBAHa,CAArB;;AAQA,IAAMO,qBAAqB,OAAGJ,WAAH,8MAGnBH,kBAHmB,CAA3B;;;AAQA,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,SAAS;AAAA,aAAIN,WAAJ,gQAEfM,SAFe;AAAA,CAAlC;;;;AAcA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,WAAW,EAAI;AACvC,MAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhB,UAAAC,EAAE;AAAA,qBAAOA,EAAP,qCAAmCA,EAAnC,gCACMd,kBADN;AAAA,GAFc,EAMjBe,IANiB,MAApB;AAOA,aAAOZ,WAAP,0HAEMS,WAFN;AAID,CAZD;;;AAcA,IAAMI,QAAQ,OAAGb,WAAH,0MAAd;;AAUA,IAAMc,WAAW,OAAGd,WAAH,iMAAjB;;;AAUA,IAAMe,QAAQ,GAAG,SAAXA,QAAW,CAAAC,MAAM;AAAA,aAAIhB,WAAJ,2JACjBgB,MADiB;AAAA,CAAvB;;;;AAKA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACD,MAAD,EAASE,KAAT;AAAA,8GAKR,wBAAWF,MAAX,CALQ,8BAMhBA,MANgB,mFAOdE,KAPc;AAAA,CAAtB;;AAaA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACH,MAAD,EAASE,KAAT;AAAA,aAAmBlB,WAAnB,qNAEzBgB,MAFyB,EAGvBE,KAHuB;AAAA,CAA/B;;;;AAUA,IAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACJ,MAAD,EAASE,KAAT;AAAA,aAAmBlB,WAAnB,sNAEdgB,MAFc,EAG1BE,KAH0B;AAAA,CAAhC,C,CAUA;;;;;AACA,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAACL,MAAD,EAASE,KAAT,EAAmB;AACnC,MAAMI,KAAK,GAAGL,aAAa,CAACD,MAAD,EAASE,KAAT,CAA3B;AACA,aAAOlB,WAAP,0GACIsB,KADJ;AAGD,CALD","sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst defaultSchemaProps = `\n id\n identifier\n properties\n dynamicProperties\n actions\n interfaces\n relations\n __typename\n`;\n\nconst getSearchPublishedContent = fields => gql`\n query searchPublishedContent($rawQueryStringified: String!, $offset: Int, $limit: Int, $sort: String) {\n searchPublishedContent(rawQueryStringified: $rawQueryStringified, offset: $offset, limit: $limit, sort: $sort) {\n ${fields}\n }\n }\n `;\n\nconst getUser = userProps => gql`\n query getUser($id: String!) {\n getUser(id: $id) {\n id\n ${userProps}\n }\n }\n`;\n\nconst getEntitySchema = gql`\n query getEntitySchemas($identifier: String!) {\n getEntitySchemas(identifier: $identifier) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getSingleEntitySchema = gql`\n query getEntitySchema($id: String!) {\n getEntitySchema: getEntitySchema(id: $id) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getRecordParents = queryName => gql`\nquery getRecordParents($id: String!){\n recordParents: ${queryName}(id: $id){\n id,\n name,\n url,\n parents {\n id,\n name\n url\n }\n }\n}`;\n\nconst getMultipleSchema = identifiers => {\n const queryString = identifiers\n .map(\n id => `${id}: getEntitySchema(id: \"${id}\") {\n ${defaultSchemaProps}\n }`\n )\n .join(`\\n`);\n return gql`\n query {\n ${queryString}\n }`;\n};\n\nconst getFiles = gql`\n query getFiles($where: JSON!) {\n getFiles(where: $where) {\n id\n url\n data\n }\n }\n`;\n\nconst getFileById = gql`\n query getFile($id: String!) {\n getFile(id: $id) {\n id\n url\n data\n }\n }\n`;\n\nconst getCount = action => gql`query countData($where: JSON!) {\n ${action} (where: $where)\n }\n`;\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n id\n __typename\n }\n }\n `;\nconst generateMultiItemQuery = (action, props) => gql`\n query getEntityData($where: JSON){\n ${action} (where: $where){\n ${props}\n id\n __typename\n }\n }\n `;\n\nconst generateSingleItemQuery = (action, props) => gql`\n query getEntityData($id: String!){\n entityData: ${action}(id: $id){\n ${props},\n id,\n __typename\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nexport {\n getEntitySchema,\n getSingleEntitySchema,\n getAction,\n getFiles,\n getFileById,\n generateMultiItemQuery,\n generateSingleItemQuery,\n getSearchPublishedContent,\n getCount,\n getMultipleSchema,\n getUser,\n getRecordParents\n};\n"],"file":"index.js"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.object.to-string.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.string.iterator.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.weak-map.js");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/es.object.define-property.js");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
16
|
+
|
|
17
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
18
|
+
|
|
19
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
20
|
+
|
|
21
|
+
Object.defineProperty(exports, "__esModule", {
|
|
22
|
+
value: true
|
|
23
|
+
});
|
|
24
|
+
exports["default"] = void 0;
|
|
25
|
+
|
|
26
|
+
require("core-js/modules/es.array.concat.js");
|
|
27
|
+
|
|
28
|
+
require("core-js/modules/es.array.map.js");
|
|
29
|
+
|
|
30
|
+
require("core-js/modules/es.array.reverse.js");
|
|
31
|
+
|
|
32
|
+
require("core-js/modules/es.function.name.js");
|
|
33
|
+
|
|
34
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
35
|
+
|
|
36
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
37
|
+
|
|
38
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
39
|
+
|
|
40
|
+
var _nextjsComponents = require("@blaze-cms/nextjs-components");
|
|
41
|
+
|
|
42
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
43
|
+
|
|
44
|
+
var _client = require("@apollo/client");
|
|
45
|
+
|
|
46
|
+
var _breadcrumb = _interopRequireDefault(require("@blaze-react/breadcrumb"));
|
|
47
|
+
|
|
48
|
+
var _query = require("../../application/query");
|
|
49
|
+
|
|
50
|
+
var _Wrapper = _interopRequireDefault(require("../Wrapper"));
|
|
51
|
+
|
|
52
|
+
var _utils = require("../../utils");
|
|
53
|
+
|
|
54
|
+
var _excluded = ["type"];
|
|
55
|
+
|
|
56
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
57
|
+
|
|
58
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
59
|
+
|
|
60
|
+
var Breadcrumb = function Breadcrumb(_ref) {
|
|
61
|
+
var type = _ref.type,
|
|
62
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
63
|
+
|
|
64
|
+
var _useContext = (0, _react.useContext)(_nextjsComponents.MainContext),
|
|
65
|
+
isPreview = _useContext.isPreview;
|
|
66
|
+
|
|
67
|
+
var parent = otherProps.parent;
|
|
68
|
+
var itemEntity = parent.itemEntity,
|
|
69
|
+
itemId = parent.itemId;
|
|
70
|
+
|
|
71
|
+
var _useQuery = (0, _client.useQuery)(_query.getSingleEntitySchema, {
|
|
72
|
+
variables: {
|
|
73
|
+
id: itemEntity
|
|
74
|
+
}
|
|
75
|
+
}),
|
|
76
|
+
_useQuery$data = _useQuery.data,
|
|
77
|
+
data = _useQuery$data === void 0 ? {} : _useQuery$data,
|
|
78
|
+
error = _useQuery.error,
|
|
79
|
+
loading = _useQuery.loading;
|
|
80
|
+
|
|
81
|
+
var _data$getEntitySchema = data.getEntitySchema,
|
|
82
|
+
getEntitySchema = _data$getEntitySchema === void 0 ? {} : _data$getEntitySchema;
|
|
83
|
+
var _getEntitySchema$acti = getEntitySchema.actions;
|
|
84
|
+
_getEntitySchema$acti = _getEntitySchema$acti === void 0 ? {} : _getEntitySchema$acti;
|
|
85
|
+
var getPublished = _getEntitySchema$acti.getPublished,
|
|
86
|
+
get = _getEntitySchema$acti.get;
|
|
87
|
+
var actionKey = isPreview ? get : getPublished || get;
|
|
88
|
+
|
|
89
|
+
var _useQuery2 = (0, _client.useQuery)((0, _query.getRecordParents)(actionKey), {
|
|
90
|
+
variables: {
|
|
91
|
+
id: itemId
|
|
92
|
+
},
|
|
93
|
+
skip: !actionKey
|
|
94
|
+
}),
|
|
95
|
+
_useQuery2$data = _useQuery2.data,
|
|
96
|
+
parentsData = _useQuery2$data === void 0 ? [] : _useQuery2$data,
|
|
97
|
+
parentsLoading = _useQuery2.loading;
|
|
98
|
+
|
|
99
|
+
if (loading || parentsLoading) return '';
|
|
100
|
+
if (error) return error.message;
|
|
101
|
+
if (!data) return null;
|
|
102
|
+
var modifiers = (0, _utils.getClassModifiers)('breadcrumb', otherProps);
|
|
103
|
+
var _parentsData$recordPa = parentsData.recordParents;
|
|
104
|
+
_parentsData$recordPa = _parentsData$recordPa === void 0 ? {} : _parentsData$recordPa;
|
|
105
|
+
var name = _parentsData$recordPa.name,
|
|
106
|
+
url = _parentsData$recordPa.url,
|
|
107
|
+
_parentsData$recordPa2 = _parentsData$recordPa.parents,
|
|
108
|
+
parents = _parentsData$recordPa2 === void 0 ? [] : _parentsData$recordPa2;
|
|
109
|
+
if (url === '/') return '';
|
|
110
|
+
var breadcrumbItems = [{
|
|
111
|
+
name: name,
|
|
112
|
+
url: url
|
|
113
|
+
}].concat((0, _toConsumableArray2["default"])(parents), [{
|
|
114
|
+
name: 'Home',
|
|
115
|
+
url: '/'
|
|
116
|
+
}]);
|
|
117
|
+
return /*#__PURE__*/_react["default"].createElement(_Wrapper["default"], {
|
|
118
|
+
className: type,
|
|
119
|
+
modifiers: modifiers
|
|
120
|
+
}, /*#__PURE__*/_react["default"].createElement(_breadcrumb["default"], null, breadcrumbItems.reverse().map(function (item) {
|
|
121
|
+
return /*#__PURE__*/_react["default"].createElement(_nextjsComponents.Link, {
|
|
122
|
+
key: item.url,
|
|
123
|
+
href: item.url
|
|
124
|
+
}, item.name);
|
|
125
|
+
})));
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
Breadcrumb.propTypes = {
|
|
129
|
+
type: _propTypes["default"].string
|
|
130
|
+
};
|
|
131
|
+
Breadcrumb.defaultProps = {
|
|
132
|
+
type: 'breadcrumb'
|
|
133
|
+
};
|
|
134
|
+
var _default = Breadcrumb;
|
|
135
|
+
exports["default"] = _default;
|
|
136
|
+
//# sourceMappingURL=Breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Breadcrumb/Breadcrumb.js"],"names":["Breadcrumb","type","otherProps","MainContext","isPreview","parent","itemEntity","itemId","getSingleEntitySchema","variables","id","data","error","loading","getEntitySchema","actions","getPublished","get","actionKey","skip","parentsData","parentsLoading","message","modifiers","recordParents","name","url","parents","breadcrumbItems","reverse","map","item","propTypes","PropTypes","string","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext, Link } from '@blaze-cms/nextjs-components';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport Breadcrumbs from '@blaze-react/breadcrumb';\nimport { getRecordParents, getSingleEntitySchema } from '../../application/query';\nimport Wrapper from '../Wrapper';\nimport { getClassModifiers } from '../../utils';\n\nconst Breadcrumb = ({ type, ...otherProps }) => {\n const { isPreview } = useContext(MainContext);\n const { parent } = otherProps;\n const { itemEntity, itemId } = parent;\n\n const { data = {}, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: itemEntity }\n });\n\n const { getEntitySchema = {} } = data;\n const { actions: { getPublished, get } = {} } = getEntitySchema;\n const actionKey = isPreview ? get : getPublished || get;\n\n const { data: parentsData = [], loading: parentsLoading } = useQuery(\n getRecordParents(actionKey),\n {\n variables: { id: itemId },\n skip: !actionKey\n }\n );\n\n if (loading || parentsLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const modifiers = getClassModifiers('breadcrumb', otherProps);\n const { recordParents: { name, url, parents = [] } = {} } = parentsData;\n\n if (url === '/') return '';\n\n const breadcrumbItems = [\n {\n name,\n url\n },\n ...parents,\n {\n name: 'Home',\n url: '/'\n }\n ];\n\n return (\n <Wrapper className={type} modifiers={modifiers}>\n <Breadcrumbs>\n {breadcrumbItems.reverse().map(item => (\n <Link key={item.url} href={item.url}>\n {item.name}\n </Link>\n ))}\n </Breadcrumbs>\n </Wrapper>\n );\n};\n\nBreadcrumb.propTypes = {\n type: PropTypes.string\n};\n\nBreadcrumb.defaultProps = {\n type: 'breadcrumb'\n};\n\nexport default Breadcrumb;\n"],"file":"Breadcrumb.js"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _Breadcrumb = _interopRequireDefault(require("./Breadcrumb"));
|
|
13
|
+
|
|
14
|
+
var _default = _Breadcrumb["default"];
|
|
15
|
+
exports["default"] = _default;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Breadcrumb/index.js"],"names":["Breadcrumb"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,sB","sourcesContent":["import Breadcrumb from './Breadcrumb';\n\nexport default Breadcrumb;\n"],"file":"index.js"}
|
package/lib/components/index.js
CHANGED
|
@@ -149,6 +149,11 @@ var _default = {
|
|
|
149
149
|
return Promise.resolve().then(function () {
|
|
150
150
|
return _interopRequireWildcard(require('./PasswordResetRequest'));
|
|
151
151
|
});
|
|
152
|
+
}),
|
|
153
|
+
breadcrumb: (0, _dynamic["default"])(function () {
|
|
154
|
+
return Promise.resolve().then(function () {
|
|
155
|
+
return _interopRequireWildcard(require('./Breadcrumb'));
|
|
156
|
+
});
|
|
152
157
|
})
|
|
153
158
|
};
|
|
154
159
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/index.js"],"names":["banner","Banner","button","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchfilter","searchfiltersort","modal","code","login","menu","menuitem","submenu","emailconfirm","passwordreset","passwordresetrequest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;eAEe;AACbA,EAAAA,MAAM,EAAEC,kBADK;AAEbC,EAAAA,MAAM,EAAE,yBAAQ;AAAA;AAAA,6CAAqD,UAArD;AAAA;AAAA,GAAR,CAFK;AAGbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CAHO;AAIbC,EAAAA,QAAQ,EAAE,yBAAQ;AAAA;AAAA,6CAAuD,YAAvD;AAAA;AAAA,GAAR,CAJG;AAKbC,EAAAA,MAAM,EAAE,yBAAQ;AAAA;AAAA,6CAAqD,UAArD;AAAA;AAAA,GAAR,CALK;AAMbC,EAAAA,WAAW,EAAE,yBAAQ;AAAA;AAAA,6CAA0D,eAA1D;AAAA;AAAA,GAAR,CANA;AAObC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAPM;AAQbC,EAAAA,GAAG,EAAE,yBAAQ;AAAA;AAAA,6CAAqD,UAArD;AAAA;AAAA,GAAR,CARQ;AASbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CATO;AAUbC,EAAAA,YAAY,EAAE,yBAAQ;AAAA;AAAA,6CACiC,gBADjC;AAAA;AAAA,GAAR,CAVD;AAabC,EAAAA,SAAS,EAAE,yBAAQ;AAAA;AAAA,6CAAwD,aAAxD;AAAA;AAAA,GAAR,CAbE;AAcbC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAdM;AAebC,EAAAA,OAAO,EAAE,yBAAQ;AAAA;AAAA,6CAAsD,WAAtD;AAAA;AAAA,GAAR,CAfI;AAgBbC,EAAAA,YAAY,EAAE,yBAAQ;AAAA;AAAA,6CACiC,gBADjC;AAAA;AAAA,GAAR,CAhBD;AAmBbC,EAAAA,gBAAgB,EAAE,yBAAQ;AAAA;AAAA,6CACgC,oBADhC;AAAA;AAAA,GAAR,CAnBL;AAsBbC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAtBM;AAuBbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CAvBO;AAwBbC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAxBM;AAyBbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CAzBO;AA0BbC,EAAAA,QAAQ,EAAE,yBAAQ;AAAA;AAAA,6CAAuD,YAAvD;AAAA;AAAA,GAAR,CA1BG;AA2BbC,EAAAA,OAAO,EAAE,yBAAQ;AAAA;AAAA,6CAAsD,WAAtD;AAAA;AAAA,GAAR,CA3BI;AA4BbC,EAAAA,YAAY,EAAE,yBAAQ;AAAA;AAAA,6CACiC,gBADjC;AAAA;AAAA,GAAR,CA5BD;AA+BbC,EAAAA,aAAa,EAAE,yBAAQ;AAAA;AAAA,6CACiC,iBADjC;AAAA;AAAA,GAAR,CA/BF;AAkCbC,EAAAA,oBAAoB,EAAE,yBAAQ;AAAA;AAAA,6CACiC,wBADjC;AAAA;AAAA,GAAR;
|
|
1
|
+
{"version":3,"sources":["../../src/components/index.js"],"names":["banner","Banner","button","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchfilter","searchfiltersort","modal","code","login","menu","menuitem","submenu","emailconfirm","passwordreset","passwordresetrequest","breadcrumb"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;eAEe;AACbA,EAAAA,MAAM,EAAEC,kBADK;AAEbC,EAAAA,MAAM,EAAE,yBAAQ;AAAA;AAAA,6CAAqD,UAArD;AAAA;AAAA,GAAR,CAFK;AAGbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CAHO;AAIbC,EAAAA,QAAQ,EAAE,yBAAQ;AAAA;AAAA,6CAAuD,YAAvD;AAAA;AAAA,GAAR,CAJG;AAKbC,EAAAA,MAAM,EAAE,yBAAQ;AAAA;AAAA,6CAAqD,UAArD;AAAA;AAAA,GAAR,CALK;AAMbC,EAAAA,WAAW,EAAE,yBAAQ;AAAA;AAAA,6CAA0D,eAA1D;AAAA;AAAA,GAAR,CANA;AAObC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAPM;AAQbC,EAAAA,GAAG,EAAE,yBAAQ;AAAA;AAAA,6CAAqD,UAArD;AAAA;AAAA,GAAR,CARQ;AASbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CATO;AAUbC,EAAAA,YAAY,EAAE,yBAAQ;AAAA;AAAA,6CACiC,gBADjC;AAAA;AAAA,GAAR,CAVD;AAabC,EAAAA,SAAS,EAAE,yBAAQ;AAAA;AAAA,6CAAwD,aAAxD;AAAA;AAAA,GAAR,CAbE;AAcbC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAdM;AAebC,EAAAA,OAAO,EAAE,yBAAQ;AAAA;AAAA,6CAAsD,WAAtD;AAAA;AAAA,GAAR,CAfI;AAgBbC,EAAAA,YAAY,EAAE,yBAAQ;AAAA;AAAA,6CACiC,gBADjC;AAAA;AAAA,GAAR,CAhBD;AAmBbC,EAAAA,gBAAgB,EAAE,yBAAQ;AAAA;AAAA,6CACgC,oBADhC;AAAA;AAAA,GAAR,CAnBL;AAsBbC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAtBM;AAuBbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CAvBO;AAwBbC,EAAAA,KAAK,EAAE,yBAAQ;AAAA;AAAA,6CAAoD,SAApD;AAAA;AAAA,GAAR,CAxBM;AAyBbC,EAAAA,IAAI,EAAE,yBAAQ;AAAA;AAAA,6CAAmD,QAAnD;AAAA;AAAA,GAAR,CAzBO;AA0BbC,EAAAA,QAAQ,EAAE,yBAAQ;AAAA;AAAA,6CAAuD,YAAvD;AAAA;AAAA,GAAR,CA1BG;AA2BbC,EAAAA,OAAO,EAAE,yBAAQ;AAAA;AAAA,6CAAsD,WAAtD;AAAA;AAAA,GAAR,CA3BI;AA4BbC,EAAAA,YAAY,EAAE,yBAAQ;AAAA;AAAA,6CACiC,gBADjC;AAAA;AAAA,GAAR,CA5BD;AA+BbC,EAAAA,aAAa,EAAE,yBAAQ;AAAA;AAAA,6CACiC,iBADjC;AAAA;AAAA,GAAR,CA/BF;AAkCbC,EAAAA,oBAAoB,EAAE,yBAAQ;AAAA;AAAA,6CACiC,wBADjC;AAAA;AAAA,GAAR,CAlCT;AAqCbC,EAAAA,UAAU,EAAE,yBAAQ;AAAA;AAAA,6CAAyD,cAAzD;AAAA;AAAA,GAAR;AArCC,C","sourcesContent":["import dynamic from 'next/dynamic';\nimport Banner from './Banner';\n\nexport default {\n banner: Banner,\n button: dynamic(() => import(/* webpackChunkName: \"blazePbButton\" */ './Button')),\n card: dynamic(() => import(/* webpackChunkName: \"blazePbCard\" */ './Card')),\n carousel: dynamic(() => import(/* webpackChunkName: \"blazePbCarousel\" */ './Carousel')),\n column: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n datasummary: dynamic(() => import(/* webpackChunkName: \"blazePbDataSummary\" */ './DataSummary')),\n image: dynamic(() => import(/* webpackChunkName: \"blazePbImage\" */ './Image')),\n row: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n list: dynamic(() => import(/* webpackChunkName: \"blazePbList\" */ './List')),\n socialfollow: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSocialFollow\" */ './SocialFollow')\n ),\n textblock: dynamic(() => import(/* webpackChunkName: \"blazePbTextBlock\" */ './TextBlock')),\n video: dynamic(() => import(/* webpackChunkName: \"blazePbVideo\" */ './Video')),\n wrapper: dynamic(() => import(/* webpackChunkName: \"blazePbWrapper\" */ './Wrapper')),\n searchfilter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchFilter')\n ),\n searchfiltersort: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilteSort\" */ './SearchFilterSort')\n ),\n modal: dynamic(() => import(/* webpackChunkName: \"blazePbModal\" */ './Modal')),\n code: dynamic(() => import(/* webpackChunkName: \"blazePbCode\" */ './Code')),\n login: dynamic(() => import(/* webpackChunkName: \"blazePbLogin\" */ './Login')),\n menu: dynamic(() => import(/* webpackChunkName: \"blazePbMenu\" */ './Menu')),\n menuitem: dynamic(() => import(/* webpackChunkName: \"blazePbMenuItem\" */ './MenuItem')),\n submenu: dynamic(() => import(/* webpackChunkName: \"blazePbSubMenu\" */ './SubMenu')),\n emailconfirm: dynamic(() =>\n import(/* webpackChunkName: \"blazePbEmailConfirm\" */ './EmailConfirm')\n ),\n passwordreset: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordReset\" */ './PasswordReset')\n ),\n passwordresetrequest: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordResetRequest\" */ './PasswordResetRequest')\n ),\n breadcrumb: dynamic(() => import(/* webpackChunkName: \"blazePbBreadcrumb\" */ './Breadcrumb'))\n};\n"],"file":"index.js"}
|
|
@@ -43,6 +43,20 @@ const getSingleEntitySchema = gql`
|
|
|
43
43
|
}
|
|
44
44
|
`;
|
|
45
45
|
|
|
46
|
+
const getRecordParents = queryName => gql`
|
|
47
|
+
query getRecordParents($id: String!){
|
|
48
|
+
recordParents: ${queryName}(id: $id){
|
|
49
|
+
id,
|
|
50
|
+
name,
|
|
51
|
+
url,
|
|
52
|
+
parents {
|
|
53
|
+
id,
|
|
54
|
+
name
|
|
55
|
+
url
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}`;
|
|
59
|
+
|
|
46
60
|
const getMultipleSchema = identifiers => {
|
|
47
61
|
const queryString = identifiers.map(id => `${id}: getEntitySchema(id: "${id}") {
|
|
48
62
|
${defaultSchemaProps}
|
|
@@ -119,5 +133,5 @@ const getAction = (action, props) => {
|
|
|
119
133
|
`;
|
|
120
134
|
};
|
|
121
135
|
|
|
122
|
-
export { getEntitySchema, getSingleEntitySchema, getAction, getFiles, getFileById, generateMultiItemQuery, generateSingleItemQuery, getSearchPublishedContent, getCount, getMultipleSchema, getUser };
|
|
136
|
+
export { getEntitySchema, getSingleEntitySchema, getAction, getFiles, getFileById, generateMultiItemQuery, generateSingleItemQuery, getSearchPublishedContent, getCount, getMultipleSchema, getUser, getRecordParents };
|
|
123
137
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/application/query/index.js"],"names":["gql","upperFirst","defaultSchemaProps","getSearchPublishedContent","fields","getUser","userProps","getEntitySchema","getSingleEntitySchema","getMultipleSchema","identifiers","queryString","map","id","join","getFiles","getFileById","getCount","action","generateQuery","props","generateMultiItemQuery","generateSingleItemQuery","getAction","query"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AACA,OAAOC,UAAP,MAAuB,mBAAvB;AAEA,MAAMC,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CATA;;AAWA,MAAMC,yBAAyB,GAAGC,MAAM,IAAIJ,GAAI;AAChD;AACA;AACA,UAAUI,MAAO;AACjB;AACA;AACA,GANA;;AAQA,MAAMC,OAAO,GAAGC,SAAS,IAAIN,GAAI;AACjC;AACA;AACA;AACA,QAAQM,SAAU;AAClB;AACA;AACA,CAPA;;AASA,MAAMC,eAAe,GAAGP,GAAI;AAC5B;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;AAQA,MAAMM,qBAAqB,GAAGR,GAAI;AAClC;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;;AAQA,MAAMO,iBAAiB,GAAGC,WAAW,IAAI;AACvC,QAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhBC,EAAE,IAAK,GAAEA,EAAG,0BAAyBA,EAAG;AAC9C,
|
|
1
|
+
{"version":3,"sources":["../../../src/application/query/index.js"],"names":["gql","upperFirst","defaultSchemaProps","getSearchPublishedContent","fields","getUser","userProps","getEntitySchema","getSingleEntitySchema","getRecordParents","queryName","getMultipleSchema","identifiers","queryString","map","id","join","getFiles","getFileById","getCount","action","generateQuery","props","generateMultiItemQuery","generateSingleItemQuery","getAction","query"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AACA,OAAOC,UAAP,MAAuB,mBAAvB;AAEA,MAAMC,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CATA;;AAWA,MAAMC,yBAAyB,GAAGC,MAAM,IAAIJ,GAAI;AAChD;AACA;AACA,UAAUI,MAAO;AACjB;AACA;AACA,GANA;;AAQA,MAAMC,OAAO,GAAGC,SAAS,IAAIN,GAAI;AACjC;AACA;AACA;AACA,QAAQM,SAAU;AAClB;AACA;AACA,CAPA;;AASA,MAAMC,eAAe,GAAGP,GAAI;AAC5B;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;AAQA,MAAMM,qBAAqB,GAAGR,GAAI;AAClC;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;;AAQA,MAAMO,gBAAgB,GAAGC,SAAS,IAAIV,GAAI;AAC1C;AACA,mBAAmBU,SAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAZA;;AAcA,MAAMC,iBAAiB,GAAGC,WAAW,IAAI;AACvC,QAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhBC,EAAE,IAAK,GAAEA,EAAG,0BAAyBA,EAAG;AAC9C,cAAcb,kBAAmB;AACjC,QAJsB,EAMjBc,IANiB,CAMX,IANW,CAApB;AAOA,SAAOhB,GAAI;AACb;AACA,QAAQa,WAAY;AACpB,MAHE;AAID,CAZD;;AAcA,MAAMI,QAAQ,GAAGjB,GAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;AAUA,MAAMkB,WAAW,GAAGlB,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;;AAUA,MAAMmB,QAAQ,GAAGC,MAAM,IAAIpB,GAAI;AAC/B,MAAMoB,MAAO;AACb;AACA,CAHA;;AAKA,MAAMC,aAAa,GAAG,CAACD,MAAD,EAASE,KAAT,KAAoB;AAC1C;AACA;AACA;AACA;AACA,cAAcrB,UAAU,CAACmB,MAAD,CAAS;AACjC,MAAMA,MAAO;AACb,QAAQE,KAAM;AACd;AACA;AACA;AACA;AACA,GAZA;;AAaA,MAAMC,sBAAsB,GAAG,CAACH,MAAD,EAASE,KAAT,KAAmBtB,GAAI;AACtD;AACA,MAAMoB,MAAO;AACb,QAAQE,KAAM;AACd;AACA;AACA;AACA;AACA,GARA;;AAUA,MAAME,uBAAuB,GAAG,CAACJ,MAAD,EAASE,KAAT,KAAmBtB,GAAI;AACvD;AACA,kBAAkBoB,MAAO;AACzB,MAAME,KAAM;AACZ;AACA;AACA;AACA;AACA,GARA,C,CAUA;;;AACA,MAAMG,SAAS,GAAG,CAACL,MAAD,EAASE,KAAT,KAAmB;AACnC,QAAMI,KAAK,GAAGL,aAAa,CAACD,MAAD,EAASE,KAAT,CAA3B;AACA,SAAOtB,GAAI;AACb,MAAM0B,KAAM;AACZ,GAFE;AAGD,CALD;;AAOA,SACEnB,eADF,EAEEC,qBAFF,EAGEiB,SAHF,EAIER,QAJF,EAKEC,WALF,EAMEK,sBANF,EAOEC,uBAPF,EAQErB,yBARF,EASEgB,QATF,EAUER,iBAVF,EAWEN,OAXF,EAYEI,gBAZF","sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst defaultSchemaProps = `\n id\n identifier\n properties\n dynamicProperties\n actions\n interfaces\n relations\n __typename\n`;\n\nconst getSearchPublishedContent = fields => gql`\n query searchPublishedContent($rawQueryStringified: String!, $offset: Int, $limit: Int, $sort: String) {\n searchPublishedContent(rawQueryStringified: $rawQueryStringified, offset: $offset, limit: $limit, sort: $sort) {\n ${fields}\n }\n }\n `;\n\nconst getUser = userProps => gql`\n query getUser($id: String!) {\n getUser(id: $id) {\n id\n ${userProps}\n }\n }\n`;\n\nconst getEntitySchema = gql`\n query getEntitySchemas($identifier: String!) {\n getEntitySchemas(identifier: $identifier) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getSingleEntitySchema = gql`\n query getEntitySchema($id: String!) {\n getEntitySchema: getEntitySchema(id: $id) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getRecordParents = queryName => gql`\nquery getRecordParents($id: String!){\n recordParents: ${queryName}(id: $id){\n id,\n name,\n url,\n parents {\n id,\n name\n url\n }\n }\n}`;\n\nconst getMultipleSchema = identifiers => {\n const queryString = identifiers\n .map(\n id => `${id}: getEntitySchema(id: \"${id}\") {\n ${defaultSchemaProps}\n }`\n )\n .join(`\\n`);\n return gql`\n query {\n ${queryString}\n }`;\n};\n\nconst getFiles = gql`\n query getFiles($where: JSON!) {\n getFiles(where: $where) {\n id\n url\n data\n }\n }\n`;\n\nconst getFileById = gql`\n query getFile($id: String!) {\n getFile(id: $id) {\n id\n url\n data\n }\n }\n`;\n\nconst getCount = action => gql`query countData($where: JSON!) {\n ${action} (where: $where)\n }\n`;\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n id\n __typename\n }\n }\n `;\nconst generateMultiItemQuery = (action, props) => gql`\n query getEntityData($where: JSON){\n ${action} (where: $where){\n ${props}\n id\n __typename\n }\n }\n `;\n\nconst generateSingleItemQuery = (action, props) => gql`\n query getEntityData($id: String!){\n entityData: ${action}(id: $id){\n ${props},\n id,\n __typename\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nexport {\n getEntitySchema,\n getSingleEntitySchema,\n getAction,\n getFiles,\n getFileById,\n generateMultiItemQuery,\n generateSingleItemQuery,\n getSearchPublishedContent,\n getCount,\n getMultipleSchema,\n getUser,\n getRecordParents\n};\n"],"file":"index.js"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
+
const _excluded = ["type"];
|
|
3
|
+
import React, { useContext } from 'react';
|
|
4
|
+
import { MainContext, Link } from '@blaze-cms/nextjs-components';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { useQuery } from '@apollo/client';
|
|
7
|
+
import Breadcrumbs from '@blaze-react/breadcrumb';
|
|
8
|
+
import { getRecordParents, getSingleEntitySchema } from '../../application/query';
|
|
9
|
+
import Wrapper from '../Wrapper';
|
|
10
|
+
import { getClassModifiers } from '../../utils';
|
|
11
|
+
|
|
12
|
+
const Breadcrumb = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
type
|
|
15
|
+
} = _ref,
|
|
16
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
17
|
+
|
|
18
|
+
const {
|
|
19
|
+
isPreview
|
|
20
|
+
} = useContext(MainContext);
|
|
21
|
+
const {
|
|
22
|
+
parent
|
|
23
|
+
} = otherProps;
|
|
24
|
+
const {
|
|
25
|
+
itemEntity,
|
|
26
|
+
itemId
|
|
27
|
+
} = parent;
|
|
28
|
+
const {
|
|
29
|
+
data = {},
|
|
30
|
+
error,
|
|
31
|
+
loading
|
|
32
|
+
} = useQuery(getSingleEntitySchema, {
|
|
33
|
+
variables: {
|
|
34
|
+
id: itemEntity
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const {
|
|
38
|
+
getEntitySchema = {}
|
|
39
|
+
} = data;
|
|
40
|
+
const {
|
|
41
|
+
actions: {
|
|
42
|
+
getPublished,
|
|
43
|
+
get
|
|
44
|
+
} = {}
|
|
45
|
+
} = getEntitySchema;
|
|
46
|
+
const actionKey = isPreview ? get : getPublished || get;
|
|
47
|
+
const {
|
|
48
|
+
data: parentsData = [],
|
|
49
|
+
loading: parentsLoading
|
|
50
|
+
} = useQuery(getRecordParents(actionKey), {
|
|
51
|
+
variables: {
|
|
52
|
+
id: itemId
|
|
53
|
+
},
|
|
54
|
+
skip: !actionKey
|
|
55
|
+
});
|
|
56
|
+
if (loading || parentsLoading) return '';
|
|
57
|
+
if (error) return error.message;
|
|
58
|
+
if (!data) return null;
|
|
59
|
+
const modifiers = getClassModifiers('breadcrumb', otherProps);
|
|
60
|
+
const {
|
|
61
|
+
recordParents: {
|
|
62
|
+
name,
|
|
63
|
+
url,
|
|
64
|
+
parents = []
|
|
65
|
+
} = {}
|
|
66
|
+
} = parentsData;
|
|
67
|
+
if (url === '/') return '';
|
|
68
|
+
const breadcrumbItems = [{
|
|
69
|
+
name,
|
|
70
|
+
url
|
|
71
|
+
}, ...parents, {
|
|
72
|
+
name: 'Home',
|
|
73
|
+
url: '/'
|
|
74
|
+
}];
|
|
75
|
+
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
76
|
+
className: type,
|
|
77
|
+
modifiers: modifiers
|
|
78
|
+
}, /*#__PURE__*/React.createElement(Breadcrumbs, null, breadcrumbItems.reverse().map(item => /*#__PURE__*/React.createElement(Link, {
|
|
79
|
+
key: item.url,
|
|
80
|
+
href: item.url
|
|
81
|
+
}, item.name))));
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
Breadcrumb.propTypes = {
|
|
85
|
+
type: PropTypes.string
|
|
86
|
+
};
|
|
87
|
+
Breadcrumb.defaultProps = {
|
|
88
|
+
type: 'breadcrumb'
|
|
89
|
+
};
|
|
90
|
+
export default Breadcrumb;
|
|
91
|
+
//# sourceMappingURL=Breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Breadcrumb/Breadcrumb.js"],"names":["React","useContext","MainContext","Link","PropTypes","useQuery","Breadcrumbs","getRecordParents","getSingleEntitySchema","Wrapper","getClassModifiers","Breadcrumb","type","otherProps","isPreview","parent","itemEntity","itemId","data","error","loading","variables","id","getEntitySchema","actions","getPublished","get","actionKey","parentsData","parentsLoading","skip","message","modifiers","recordParents","name","url","parents","breadcrumbItems","reverse","map","item","propTypes","string","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext, Link } from '@blaze-cms/nextjs-components';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport Breadcrumbs from '@blaze-react/breadcrumb';\nimport { getRecordParents, getSingleEntitySchema } from '../../application/query';\nimport Wrapper from '../Wrapper';\nimport { getClassModifiers } from '../../utils';\n\nconst Breadcrumb = ({ type, ...otherProps }) => {\n const { isPreview } = useContext(MainContext);\n const { parent } = otherProps;\n const { itemEntity, itemId } = parent;\n\n const { data = {}, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: itemEntity }\n });\n\n const { getEntitySchema = {} } = data;\n const { actions: { getPublished, get } = {} } = getEntitySchema;\n const actionKey = isPreview ? get : getPublished || get;\n\n const { data: parentsData = [], loading: parentsLoading } = useQuery(\n getRecordParents(actionKey),\n {\n variables: { id: itemId },\n skip: !actionKey\n }\n );\n\n if (loading || parentsLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const modifiers = getClassModifiers('breadcrumb', otherProps);\n const { recordParents: { name, url, parents = [] } = {} } = parentsData;\n\n if (url === '/') return '';\n\n const breadcrumbItems = [\n {\n name,\n url\n },\n ...parents,\n {\n name: 'Home',\n url: '/'\n }\n ];\n\n return (\n <Wrapper className={type} modifiers={modifiers}>\n <Breadcrumbs>\n {breadcrumbItems.reverse().map(item => (\n <Link key={item.url} href={item.url}>\n {item.name}\n </Link>\n ))}\n </Breadcrumbs>\n </Wrapper>\n );\n};\n\nBreadcrumb.propTypes = {\n type: PropTypes.string\n};\n\nBreadcrumb.defaultProps = {\n type: 'breadcrumb'\n};\n\nexport default Breadcrumb;\n"],"file":"Breadcrumb.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Breadcrumb/index.js"],"names":["Breadcrumb"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,cAAvB;AAEA,eAAeA,UAAf","sourcesContent":["import Breadcrumb from './Breadcrumb';\n\nexport default Breadcrumb;\n"],"file":"index.js"}
|
|
@@ -70,6 +70,9 @@ export default {
|
|
|
70
70
|
'./PasswordReset')),
|
|
71
71
|
passwordresetrequest: dynamic(() => import(
|
|
72
72
|
/* webpackChunkName: "blazePbPasswordResetRequest" */
|
|
73
|
-
'./PasswordResetRequest'))
|
|
73
|
+
'./PasswordResetRequest')),
|
|
74
|
+
breadcrumb: dynamic(() => import(
|
|
75
|
+
/* webpackChunkName: "blazePbBreadcrumb" */
|
|
76
|
+
'./Breadcrumb'))
|
|
74
77
|
};
|
|
75
78
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/index.js"],"names":["dynamic","Banner","banner","button","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchfilter","searchfiltersort","modal","code","login","menu","menuitem","submenu","emailconfirm","passwordreset","passwordresetrequest"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,cAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe;AACbC,EAAAA,MAAM,EAAED,MADK;AAEbE,EAAAA,MAAM,EAAEH,OAAO,CAAC,MAAM;AAAO;AAAwC,YAA/C,CAAP,CAFF;AAGbI,EAAAA,IAAI,EAAEJ,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CAHA;AAIbK,EAAAA,QAAQ,EAAEL,OAAO,CAAC,MAAM;AAAO;AAA0C,cAAjD,CAAP,CAJJ;AAKbM,EAAAA,MAAM,EAAEN,OAAO,CAAC,MAAM;AAAO;AAAwC,YAA/C,CAAP,CALF;AAMbO,EAAAA,WAAW,EAAEP,OAAO,CAAC,MAAM;AAAO;AAA6C,iBAApD,CAAP,CANP;AAObQ,EAAAA,KAAK,EAAER,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAPD;AAQbS,EAAAA,GAAG,EAAET,OAAO,CAAC,MAAM;AAAO;AAAwC,YAA/C,CAAP,CARC;AASbU,EAAAA,IAAI,EAAEV,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CATA;AAUbW,EAAAA,YAAY,EAAEX,OAAO,CAAC,MACpB;AAAO;AAA8C,kBAArD,CADmB,CAVR;AAabY,EAAAA,SAAS,EAAEZ,OAAO,CAAC,MAAM;AAAO;AAA2C,eAAlD,CAAP,CAbL;AAcba,EAAAA,KAAK,EAAEb,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAdD;AAebc,EAAAA,OAAO,EAAEd,OAAO,CAAC,MAAM;AAAO;AAAyC,aAAhD,CAAP,CAfH;AAgBbe,EAAAA,YAAY,EAAEf,OAAO,CAAC,MACpB;AAAO;AAA8C,kBAArD,CADmB,CAhBR;AAmBbgB,EAAAA,gBAAgB,EAAEhB,OAAO,CAAC,MACxB;AAAO;AAAiD,sBAAxD,CADuB,CAnBZ;AAsBbiB,EAAAA,KAAK,EAAEjB,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAtBD;AAuBbkB,EAAAA,IAAI,EAAElB,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CAvBA;AAwBbmB,EAAAA,KAAK,EAAEnB,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAxBD;AAyBboB,EAAAA,IAAI,EAAEpB,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CAzBA;AA0BbqB,EAAAA,QAAQ,EAAErB,OAAO,CAAC,MAAM;AAAO;AAA0C,cAAjD,CAAP,CA1BJ;AA2BbsB,EAAAA,OAAO,EAAEtB,OAAO,CAAC,MAAM;AAAO;AAAyC,aAAhD,CAAP,CA3BH;AA4BbuB,EAAAA,YAAY,EAAEvB,OAAO,CAAC,MACpB;AAAO;AAA8C,kBAArD,CADmB,CA5BR;AA+BbwB,EAAAA,aAAa,EAAExB,OAAO,CAAC,MACrB;AAAO;AAA+C,mBAAtD,CADoB,CA/BT;AAkCbyB,EAAAA,oBAAoB,EAAEzB,OAAO,CAAC,MAC5B;AAAO;AAAsD,0BAA7D,CAD2B;
|
|
1
|
+
{"version":3,"sources":["../../src/components/index.js"],"names":["dynamic","Banner","banner","button","card","carousel","column","datasummary","image","row","list","socialfollow","textblock","video","wrapper","searchfilter","searchfiltersort","modal","code","login","menu","menuitem","submenu","emailconfirm","passwordreset","passwordresetrequest","breadcrumb"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,cAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe;AACbC,EAAAA,MAAM,EAAED,MADK;AAEbE,EAAAA,MAAM,EAAEH,OAAO,CAAC,MAAM;AAAO;AAAwC,YAA/C,CAAP,CAFF;AAGbI,EAAAA,IAAI,EAAEJ,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CAHA;AAIbK,EAAAA,QAAQ,EAAEL,OAAO,CAAC,MAAM;AAAO;AAA0C,cAAjD,CAAP,CAJJ;AAKbM,EAAAA,MAAM,EAAEN,OAAO,CAAC,MAAM;AAAO;AAAwC,YAA/C,CAAP,CALF;AAMbO,EAAAA,WAAW,EAAEP,OAAO,CAAC,MAAM;AAAO;AAA6C,iBAApD,CAAP,CANP;AAObQ,EAAAA,KAAK,EAAER,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAPD;AAQbS,EAAAA,GAAG,EAAET,OAAO,CAAC,MAAM;AAAO;AAAwC,YAA/C,CAAP,CARC;AASbU,EAAAA,IAAI,EAAEV,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CATA;AAUbW,EAAAA,YAAY,EAAEX,OAAO,CAAC,MACpB;AAAO;AAA8C,kBAArD,CADmB,CAVR;AAabY,EAAAA,SAAS,EAAEZ,OAAO,CAAC,MAAM;AAAO;AAA2C,eAAlD,CAAP,CAbL;AAcba,EAAAA,KAAK,EAAEb,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAdD;AAebc,EAAAA,OAAO,EAAEd,OAAO,CAAC,MAAM;AAAO;AAAyC,aAAhD,CAAP,CAfH;AAgBbe,EAAAA,YAAY,EAAEf,OAAO,CAAC,MACpB;AAAO;AAA8C,kBAArD,CADmB,CAhBR;AAmBbgB,EAAAA,gBAAgB,EAAEhB,OAAO,CAAC,MACxB;AAAO;AAAiD,sBAAxD,CADuB,CAnBZ;AAsBbiB,EAAAA,KAAK,EAAEjB,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAtBD;AAuBbkB,EAAAA,IAAI,EAAElB,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CAvBA;AAwBbmB,EAAAA,KAAK,EAAEnB,OAAO,CAAC,MAAM;AAAO;AAAuC,WAA9C,CAAP,CAxBD;AAyBboB,EAAAA,IAAI,EAAEpB,OAAO,CAAC,MAAM;AAAO;AAAsC,UAA7C,CAAP,CAzBA;AA0BbqB,EAAAA,QAAQ,EAAErB,OAAO,CAAC,MAAM;AAAO;AAA0C,cAAjD,CAAP,CA1BJ;AA2BbsB,EAAAA,OAAO,EAAEtB,OAAO,CAAC,MAAM;AAAO;AAAyC,aAAhD,CAAP,CA3BH;AA4BbuB,EAAAA,YAAY,EAAEvB,OAAO,CAAC,MACpB;AAAO;AAA8C,kBAArD,CADmB,CA5BR;AA+BbwB,EAAAA,aAAa,EAAExB,OAAO,CAAC,MACrB;AAAO;AAA+C,mBAAtD,CADoB,CA/BT;AAkCbyB,EAAAA,oBAAoB,EAAEzB,OAAO,CAAC,MAC5B;AAAO;AAAsD,0BAA7D,CAD2B,CAlChB;AAqCb0B,EAAAA,UAAU,EAAE1B,OAAO,CAAC,MAAM;AAAO;AAA4C,gBAAnD,CAAP;AArCN,CAAf","sourcesContent":["import dynamic from 'next/dynamic';\nimport Banner from './Banner';\n\nexport default {\n banner: Banner,\n button: dynamic(() => import(/* webpackChunkName: \"blazePbButton\" */ './Button')),\n card: dynamic(() => import(/* webpackChunkName: \"blazePbCard\" */ './Card')),\n carousel: dynamic(() => import(/* webpackChunkName: \"blazePbCarousel\" */ './Carousel')),\n column: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n datasummary: dynamic(() => import(/* webpackChunkName: \"blazePbDataSummary\" */ './DataSummary')),\n image: dynamic(() => import(/* webpackChunkName: \"blazePbImage\" */ './Image')),\n row: dynamic(() => import(/* webpackChunkName: \"blazePbLayout\" */ './Layout')),\n list: dynamic(() => import(/* webpackChunkName: \"blazePbList\" */ './List')),\n socialfollow: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSocialFollow\" */ './SocialFollow')\n ),\n textblock: dynamic(() => import(/* webpackChunkName: \"blazePbTextBlock\" */ './TextBlock')),\n video: dynamic(() => import(/* webpackChunkName: \"blazePbVideo\" */ './Video')),\n wrapper: dynamic(() => import(/* webpackChunkName: \"blazePbWrapper\" */ './Wrapper')),\n searchfilter: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilter\" */ './SearchFilter')\n ),\n searchfiltersort: dynamic(() =>\n import(/* webpackChunkName: \"blazePbSearchFilteSort\" */ './SearchFilterSort')\n ),\n modal: dynamic(() => import(/* webpackChunkName: \"blazePbModal\" */ './Modal')),\n code: dynamic(() => import(/* webpackChunkName: \"blazePbCode\" */ './Code')),\n login: dynamic(() => import(/* webpackChunkName: \"blazePbLogin\" */ './Login')),\n menu: dynamic(() => import(/* webpackChunkName: \"blazePbMenu\" */ './Menu')),\n menuitem: dynamic(() => import(/* webpackChunkName: \"blazePbMenuItem\" */ './MenuItem')),\n submenu: dynamic(() => import(/* webpackChunkName: \"blazePbSubMenu\" */ './SubMenu')),\n emailconfirm: dynamic(() =>\n import(/* webpackChunkName: \"blazePbEmailConfirm\" */ './EmailConfirm')\n ),\n passwordreset: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordReset\" */ './PasswordReset')\n ),\n passwordresetrequest: dynamic(() =>\n import(/* webpackChunkName: \"blazePbPasswordResetRequest\" */ './PasswordResetRequest')\n ),\n breadcrumb: dynamic(() => import(/* webpackChunkName: \"blazePbBreadcrumb\" */ './Breadcrumb'))\n};\n"],"file":"index.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.121.0-alpha.1",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"@blaze-cms/nextjs-components": "^0.119.0",
|
|
34
34
|
"@blaze-cms/setup-ui": "^0.92.0",
|
|
35
35
|
"@blaze-cms/utils": "^0.118.0",
|
|
36
|
+
"@blaze-react/breadcrumb": "0.8.0-alpha.60",
|
|
36
37
|
"@blaze-react/button": "0.5.19",
|
|
37
38
|
"@blaze-react/checkboxes": "0.5.31",
|
|
38
39
|
"@blaze-react/input": "0.5.30",
|
|
@@ -83,5 +84,5 @@
|
|
|
83
84
|
"lib/*",
|
|
84
85
|
"lib-es/*"
|
|
85
86
|
],
|
|
86
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "dc0b862127dcd49fa207c672a79980c6fdfcc5f3"
|
|
87
88
|
}
|
|
@@ -45,6 +45,20 @@ const getSingleEntitySchema = gql`
|
|
|
45
45
|
}
|
|
46
46
|
`;
|
|
47
47
|
|
|
48
|
+
const getRecordParents = queryName => gql`
|
|
49
|
+
query getRecordParents($id: String!){
|
|
50
|
+
recordParents: ${queryName}(id: $id){
|
|
51
|
+
id,
|
|
52
|
+
name,
|
|
53
|
+
url,
|
|
54
|
+
parents {
|
|
55
|
+
id,
|
|
56
|
+
name
|
|
57
|
+
url
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}`;
|
|
61
|
+
|
|
48
62
|
const getMultipleSchema = identifiers => {
|
|
49
63
|
const queryString = identifiers
|
|
50
64
|
.map(
|
|
@@ -136,5 +150,6 @@ export {
|
|
|
136
150
|
getSearchPublishedContent,
|
|
137
151
|
getCount,
|
|
138
152
|
getMultipleSchema,
|
|
139
|
-
getUser
|
|
153
|
+
getUser,
|
|
154
|
+
getRecordParents
|
|
140
155
|
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { MainContext, Link } from '@blaze-cms/nextjs-components';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { useQuery } from '@apollo/client';
|
|
5
|
+
import Breadcrumbs from '@blaze-react/breadcrumb';
|
|
6
|
+
import { getRecordParents, getSingleEntitySchema } from '../../application/query';
|
|
7
|
+
import Wrapper from '../Wrapper';
|
|
8
|
+
import { getClassModifiers } from '../../utils';
|
|
9
|
+
|
|
10
|
+
const Breadcrumb = ({ type, ...otherProps }) => {
|
|
11
|
+
const { isPreview } = useContext(MainContext);
|
|
12
|
+
const { parent } = otherProps;
|
|
13
|
+
const { itemEntity, itemId } = parent;
|
|
14
|
+
|
|
15
|
+
const { data = {}, error, loading } = useQuery(getSingleEntitySchema, {
|
|
16
|
+
variables: { id: itemEntity }
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const { getEntitySchema = {} } = data;
|
|
20
|
+
const { actions: { getPublished, get } = {} } = getEntitySchema;
|
|
21
|
+
const actionKey = isPreview ? get : getPublished || get;
|
|
22
|
+
|
|
23
|
+
const { data: parentsData = [], loading: parentsLoading } = useQuery(
|
|
24
|
+
getRecordParents(actionKey),
|
|
25
|
+
{
|
|
26
|
+
variables: { id: itemId },
|
|
27
|
+
skip: !actionKey
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
if (loading || parentsLoading) return '';
|
|
32
|
+
if (error) return error.message;
|
|
33
|
+
if (!data) return null;
|
|
34
|
+
|
|
35
|
+
const modifiers = getClassModifiers('breadcrumb', otherProps);
|
|
36
|
+
const { recordParents: { name, url, parents = [] } = {} } = parentsData;
|
|
37
|
+
|
|
38
|
+
if (url === '/') return '';
|
|
39
|
+
|
|
40
|
+
const breadcrumbItems = [
|
|
41
|
+
{
|
|
42
|
+
name,
|
|
43
|
+
url
|
|
44
|
+
},
|
|
45
|
+
...parents,
|
|
46
|
+
{
|
|
47
|
+
name: 'Home',
|
|
48
|
+
url: '/'
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<Wrapper className={type} modifiers={modifiers}>
|
|
54
|
+
<Breadcrumbs>
|
|
55
|
+
{breadcrumbItems.reverse().map(item => (
|
|
56
|
+
<Link key={item.url} href={item.url}>
|
|
57
|
+
{item.name}
|
|
58
|
+
</Link>
|
|
59
|
+
))}
|
|
60
|
+
</Breadcrumbs>
|
|
61
|
+
</Wrapper>
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
Breadcrumb.propTypes = {
|
|
66
|
+
type: PropTypes.string
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
Breadcrumb.defaultProps = {
|
|
70
|
+
type: 'breadcrumb'
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default Breadcrumb;
|
package/src/components/index.js
CHANGED
|
@@ -37,5 +37,6 @@ export default {
|
|
|
37
37
|
),
|
|
38
38
|
passwordresetrequest: dynamic(() =>
|
|
39
39
|
import(/* webpackChunkName: "blazePbPasswordResetRequest" */ './PasswordResetRequest')
|
|
40
|
-
)
|
|
40
|
+
),
|
|
41
|
+
breadcrumb: dynamic(() => import(/* webpackChunkName: "blazePbBreadcrumb" */ './Breadcrumb'))
|
|
41
42
|
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
3
|
+
import { render as RenderComponent } from '@testing-library/react';
|
|
4
|
+
import { MockedProvider } from '@apollo/client/testing';
|
|
5
|
+
import { render } from '@blaze-cms/tools/test-helpers/test-functions';
|
|
6
|
+
import Breadcrumb from '../../../../../src/components/Breadcrumb';
|
|
7
|
+
import { getAction, getRecordParents } from '../../../../../src/application/query';
|
|
8
|
+
|
|
9
|
+
jest.mock('@apollo/client', () => ({
|
|
10
|
+
...jest.requireActual('@apollo/client'),
|
|
11
|
+
useQuery: jest.fn(({ data, loading, error }) => ({ data, loading, error }))
|
|
12
|
+
}));
|
|
13
|
+
jest.mock('next/router', () => ({
|
|
14
|
+
useRouter: jest.fn(() => ({ asPath: 'test-url' }))
|
|
15
|
+
}));
|
|
16
|
+
|
|
17
|
+
const actionKey = 'getPublishedPage';
|
|
18
|
+
const id = 'record id';
|
|
19
|
+
const action = getAction(actionKey, 'id, name');
|
|
20
|
+
const getEntityDataMock = {
|
|
21
|
+
request: {
|
|
22
|
+
query: action,
|
|
23
|
+
variables: {
|
|
24
|
+
id
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
result: {
|
|
28
|
+
data: {
|
|
29
|
+
[actionKey]: {
|
|
30
|
+
id,
|
|
31
|
+
name: 'record name'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const getRecordParentsMock = {
|
|
38
|
+
request: {
|
|
39
|
+
query: getRecordParents(actionKey),
|
|
40
|
+
variables: { id: 'id' },
|
|
41
|
+
skip: false
|
|
42
|
+
},
|
|
43
|
+
result: {
|
|
44
|
+
data: {
|
|
45
|
+
recordParents: {
|
|
46
|
+
parents: [
|
|
47
|
+
{
|
|
48
|
+
name: 'parent page',
|
|
49
|
+
url: '/top-parent/parent'
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const breadcrumbMock = {
|
|
58
|
+
router: {
|
|
59
|
+
asPath: 'test-url'
|
|
60
|
+
},
|
|
61
|
+
client: {},
|
|
62
|
+
type: 'breadcrumb',
|
|
63
|
+
id: 'id',
|
|
64
|
+
pageName: 'page',
|
|
65
|
+
slug: 'page',
|
|
66
|
+
parent: {
|
|
67
|
+
itemEntity: 'page',
|
|
68
|
+
tags: [],
|
|
69
|
+
category: ''
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const mocks = [getEntityDataMock, getRecordParentsMock];
|
|
74
|
+
|
|
75
|
+
const setup = (props = breadcrumbMock) =>
|
|
76
|
+
RenderComponent(
|
|
77
|
+
<MockedProvider mocks={mocks}>
|
|
78
|
+
<Breadcrumb {...props} />
|
|
79
|
+
</MockedProvider>
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
describe('Breadcrumb component', () => {
|
|
83
|
+
it('should not render if loading, err or no data exists', () => {
|
|
84
|
+
const { asFragment } = render(Breadcrumb, {
|
|
85
|
+
...breadcrumbMock,
|
|
86
|
+
action: { data: null, loading: true, error: null }
|
|
87
|
+
});
|
|
88
|
+
expect(asFragment()).toMatchSnapshot();
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it('should match snapshot', () => {
|
|
92
|
+
const { asFragment } = render(Breadcrumb, {
|
|
93
|
+
...breadcrumbMock,
|
|
94
|
+
action: { data: {}, loading: false, error: null }
|
|
95
|
+
});
|
|
96
|
+
expect(asFragment()).toMatchSnapshot();
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it('should render', () => {
|
|
100
|
+
const { asFragment } = setup();
|
|
101
|
+
expect(asFragment()).toMatchSnapshot();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Breadcrumb component should match snapshot 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<div
|
|
6
|
+
class="breadcrumb "
|
|
7
|
+
>
|
|
8
|
+
<ul
|
|
9
|
+
class="breadcrumb"
|
|
10
|
+
>
|
|
11
|
+
<li
|
|
12
|
+
class="breadcrumb__item"
|
|
13
|
+
>
|
|
14
|
+
<a
|
|
15
|
+
href="/"
|
|
16
|
+
>
|
|
17
|
+
Home
|
|
18
|
+
</a>
|
|
19
|
+
</li>
|
|
20
|
+
<li
|
|
21
|
+
class="breadcrumb__item"
|
|
22
|
+
>
|
|
23
|
+
<a />
|
|
24
|
+
</li>
|
|
25
|
+
</ul>
|
|
26
|
+
</div>
|
|
27
|
+
</DocumentFragment>
|
|
28
|
+
`;
|
|
29
|
+
|
|
30
|
+
exports[`Breadcrumb component should not render if loading, err or no data exists 1`] = `
|
|
31
|
+
<DocumentFragment>
|
|
32
|
+
<div
|
|
33
|
+
class="breadcrumb "
|
|
34
|
+
>
|
|
35
|
+
<ul
|
|
36
|
+
class="breadcrumb"
|
|
37
|
+
>
|
|
38
|
+
<li
|
|
39
|
+
class="breadcrumb__item"
|
|
40
|
+
>
|
|
41
|
+
<a
|
|
42
|
+
href="/"
|
|
43
|
+
>
|
|
44
|
+
Home
|
|
45
|
+
</a>
|
|
46
|
+
</li>
|
|
47
|
+
<li
|
|
48
|
+
class="breadcrumb__item"
|
|
49
|
+
>
|
|
50
|
+
<a />
|
|
51
|
+
</li>
|
|
52
|
+
</ul>
|
|
53
|
+
</div>
|
|
54
|
+
</DocumentFragment>
|
|
55
|
+
`;
|
|
56
|
+
|
|
57
|
+
exports[`Breadcrumb component should render 1`] = `
|
|
58
|
+
<DocumentFragment>
|
|
59
|
+
<div
|
|
60
|
+
class="breadcrumb "
|
|
61
|
+
>
|
|
62
|
+
<ul
|
|
63
|
+
class="breadcrumb"
|
|
64
|
+
>
|
|
65
|
+
<li
|
|
66
|
+
class="breadcrumb__item"
|
|
67
|
+
>
|
|
68
|
+
<a
|
|
69
|
+
href="/"
|
|
70
|
+
>
|
|
71
|
+
Home
|
|
72
|
+
</a>
|
|
73
|
+
</li>
|
|
74
|
+
<li
|
|
75
|
+
class="breadcrumb__item"
|
|
76
|
+
>
|
|
77
|
+
<a />
|
|
78
|
+
</li>
|
|
79
|
+
</ul>
|
|
80
|
+
</div>
|
|
81
|
+
</DocumentFragment>
|
|
82
|
+
`;
|
|
@@ -6,6 +6,10 @@ Object {
|
|
|
6
6
|
"$$typeof": Symbol(react.forward_ref),
|
|
7
7
|
"render": [Function],
|
|
8
8
|
},
|
|
9
|
+
"breadcrumb": Object {
|
|
10
|
+
"$$typeof": Symbol(react.forward_ref),
|
|
11
|
+
"render": [Function],
|
|
12
|
+
},
|
|
9
13
|
"button": Object {
|
|
10
14
|
"$$typeof": Symbol(react.forward_ref),
|
|
11
15
|
"render": [Function],
|