@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.3 → 0.146.0-node18-core-styles-tooltips.5
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 +20 -0
- package/lib/components/Button.js +57 -11
- package/lib/components/Button.js.map +1 -1
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/MenuItem/MenuItemRender.js +17 -5
- package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib/hooks/helpers/StoreImages.js +61 -41
- package/lib/hooks/helpers/StoreImages.js.map +1 -1
- package/lib/variants/LiveBlogList/LiveBlogList.js +45 -48
- package/lib/variants/LiveBlogList/LiveBlogList.js.map +1 -1
- package/lib-es/components/Button.js +12 -7
- package/lib-es/components/Button.js.map +1 -1
- package/lib-es/components/List/ListFactory.js +1 -1
- package/lib-es/components/List/ListFactory.js.map +1 -1
- package/lib-es/components/MenuItem/MenuItemRender.js +16 -3
- package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
- package/lib-es/hooks/helpers/StoreImages.js +44 -30
- package/lib-es/hooks/helpers/StoreImages.js.map +1 -1
- package/lib-es/variants/LiveBlogList/LiveBlogList.js +41 -51
- package/lib-es/variants/LiveBlogList/LiveBlogList.js.map +1 -1
- package/package.json +3 -3
- package/src/components/Button.js +13 -9
- package/src/components/List/ListFactory.js +1 -1
- package/src/components/MenuItem/MenuItemRender.js +17 -3
- package/src/hooks/helpers/StoreImages.js +33 -31
- package/src/variants/LiveBlogList/LiveBlogList.js +50 -46
- package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +25 -2
- package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +1 -0
- package/tests/unit/src/variants/LiveBlogList/LiveBlogList.test.js +121 -0
- package/tests/unit/src/variants/LiveBlogList/constants.js +10 -0
|
@@ -13,8 +13,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
13
13
|
value: true
|
|
14
14
|
});
|
|
15
15
|
exports["default"] = void 0;
|
|
16
|
-
require("core-js/modules/es.array.concat.js");
|
|
17
|
-
require("core-js/modules/web.timers.js");
|
|
18
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
20
18
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
@@ -25,11 +23,13 @@ var _bs = require("react-icons/bs");
|
|
|
25
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
26
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
27
25
|
_dayjs["default"].extend(_relativeTime["default"]);
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
var COLLAPSE_HEIGHT = 380;
|
|
27
|
+
var LiveBlogList = function LiveBlogList(_ref) {
|
|
28
|
+
var children = _ref.children,
|
|
29
|
+
date = _ref.date,
|
|
30
|
+
published = _ref.published,
|
|
31
|
+
featured = _ref.featured,
|
|
32
|
+
alternativeHeadline = _ref.alternativeHeadline;
|
|
33
33
|
var _useState = (0, _react.useState)(false),
|
|
34
34
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
35
35
|
isExpanded = _useState2[0],
|
|
@@ -40,69 +40,66 @@ var LiveBlogList = function LiveBlogList(props) {
|
|
|
40
40
|
setShouldShowButton = _useState4[1];
|
|
41
41
|
var _useState5 = (0, _react.useState)({
|
|
42
42
|
displayedDate: ' ',
|
|
43
|
-
|
|
43
|
+
displayedTime: ''
|
|
44
44
|
}),
|
|
45
45
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
46
46
|
_useState6$ = _useState6[0],
|
|
47
47
|
displayedDate = _useState6$.displayedDate,
|
|
48
48
|
displayedTime = _useState6$.displayedTime,
|
|
49
49
|
setDisplayedDate = _useState6[1];
|
|
50
|
-
var usedDate = date
|
|
50
|
+
var usedDate = date;
|
|
51
51
|
var contentRef = (0, _react.useRef)(null);
|
|
52
52
|
(0, _react.useEffect)(function () {
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
setShouldShowButton(true);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}, 500); // delay to wait for content load
|
|
61
|
-
// todo: change to use mutation observer
|
|
62
|
-
|
|
63
|
-
return function () {
|
|
64
|
-
clearTimeout(timeout);
|
|
53
|
+
var el = contentRef.current;
|
|
54
|
+
if (!el) return;
|
|
55
|
+
var check = function check() {
|
|
56
|
+
return setShouldShowButton(el.scrollHeight > COLLAPSE_HEIGHT);
|
|
65
57
|
};
|
|
58
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
59
|
+
check();
|
|
60
|
+
var ro = new ResizeObserver(check);
|
|
61
|
+
ro.observe(el);
|
|
62
|
+
return function () {
|
|
63
|
+
return ro.disconnect();
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
check();
|
|
66
67
|
}, [children]);
|
|
67
68
|
(0, _react.useEffect)(function () {
|
|
68
|
-
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
setDisplayedDate({
|
|
80
|
-
displayedDate: newDate,
|
|
81
|
-
displayedTime: (0, _dayjs["default"])(usedDate).format('HH:mm')
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}, [date, published, usedDate]);
|
|
69
|
+
if (!usedDate) return;
|
|
70
|
+
var days = (0, _dayjs["default"])().diff((0, _dayjs["default"])(usedDate), 'day');
|
|
71
|
+
var lessThanAYear = days < 365;
|
|
72
|
+
var newDate;
|
|
73
|
+
if (days < 1) newDate = (0, _dayjs["default"])(usedDate).fromNow();else if (lessThanAYear) newDate = (0, _dayjs["default"])(usedDate).format('DD MMM');else newDate = (0, _dayjs["default"])(usedDate).format('DD MMM YYYY');
|
|
74
|
+
setDisplayedDate({
|
|
75
|
+
displayedDate: newDate,
|
|
76
|
+
displayedTime: lessThanAYear ? (0, _dayjs["default"])(usedDate).format('HH:mm') : null
|
|
77
|
+
});
|
|
78
|
+
}, [usedDate]);
|
|
85
79
|
var toggleExpanded = function toggleExpanded() {
|
|
86
|
-
setIsExpanded(
|
|
80
|
+
return setIsExpanded(function (value) {
|
|
81
|
+
return !value;
|
|
82
|
+
});
|
|
87
83
|
};
|
|
88
84
|
var isCollapsed = !isExpanded;
|
|
89
|
-
var
|
|
90
|
-
var modifier = featured ? " ".concat(baseClass, "--featured") : '';
|
|
91
|
-
var className = "".concat(baseClass).concat(modifier);
|
|
85
|
+
var showHeader = usedDate || alternativeHeadline || featured;
|
|
92
86
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
93
|
-
className:
|
|
94
|
-
},
|
|
87
|
+
className: "live-blog-container".concat(featured ? ' live-blog-container--featured' : '')
|
|
88
|
+
}, showHeader && /*#__PURE__*/_react["default"].createElement("div", {
|
|
95
89
|
className: "live-blog-date"
|
|
96
|
-
}, featured && /*#__PURE__*/_react["default"].createElement(_bs.BsPinAngleFill, null), /*#__PURE__*/_react["default"].createElement("span", {
|
|
90
|
+
}, featured && /*#__PURE__*/_react["default"].createElement(_bs.BsPinAngleFill, null), usedDate && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("span", {
|
|
97
91
|
className: "live-blog-date--date"
|
|
98
|
-
}, displayedDate), /*#__PURE__*/_react["default"].createElement("span", {
|
|
92
|
+
}, displayedDate), displayedTime && /*#__PURE__*/_react["default"].createElement("span", {
|
|
99
93
|
className: "live-blog-date--time"
|
|
100
|
-
}, displayedTime)), /*#__PURE__*/_react["default"].createElement("
|
|
94
|
+
}, displayedTime)), alternativeHeadline && /*#__PURE__*/_react["default"].createElement("span", {
|
|
95
|
+
className: "live-blog-date--headline"
|
|
96
|
+
}, alternativeHeadline)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
101
97
|
ref: contentRef,
|
|
102
|
-
className: "live-blog-content ".concat(isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened')
|
|
98
|
+
className: "live-blog-content ".concat(isCollapsed ? 'live-blog-content--collapsed collapsed' : 'live-blog-content--opened opened')
|
|
103
99
|
}, children), shouldShowButton && /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
100
|
className: "live-blog-button-wrapper"
|
|
105
101
|
}, /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
102
|
+
"aria-label": isExpanded ? 'Show Less' : 'Show More',
|
|
106
103
|
className: "live-blog-toggle",
|
|
107
104
|
onClick: toggleExpanded,
|
|
108
105
|
type: "button"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveBlogList.js","names":["_react","_interopRequireWildcard","require","_dayjs","_interopRequireDefault","_relativeTime","_button","_fa","_bs","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","dayjs","extend","relativeTime","LiveBlogList","
|
|
1
|
+
{"version":3,"file":"LiveBlogList.js","names":["_react","_interopRequireWildcard","require","_dayjs","_interopRequireDefault","_relativeTime","_button","_fa","_bs","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","dayjs","extend","relativeTime","COLLAPSE_HEIGHT","LiveBlogList","_ref","children","date","published","featured","alternativeHeadline","_useState","useState","_useState2","_slicedToArray2","isExpanded","setIsExpanded","_useState3","_useState4","shouldShowButton","setShouldShowButton","_useState5","displayedDate","displayedTime","_useState6","_useState6$","setDisplayedDate","usedDate","contentRef","useRef","useEffect","el","current","check","scrollHeight","ResizeObserver","ro","observe","disconnect","days","diff","lessThanAYear","newDate","fromNow","format","toggleExpanded","value","isCollapsed","showHeader","createElement","className","concat","BsPinAngleFill","Fragment","ref","onClick","type","FaMinus","FaPlus","_default","exports"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { BsPinAngleFill } from 'react-icons/bs';\n\ndayjs.extend(relativeTime);\n\nconst COLLAPSE_HEIGHT = 380;\n\nconst LiveBlogList = ({ children, date, published, featured, alternativeHeadline }) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n const [{ displayedDate, displayedTime }, setDisplayedDate] = useState({\n displayedDate: ' ',\n displayedTime: ''\n });\n const usedDate = date;\n const contentRef = useRef(null);\n\n useEffect(() => {\n const el = contentRef.current;\n if (!el) return;\n\n const check = () => setShouldShowButton(el.scrollHeight > COLLAPSE_HEIGHT);\n\n if (typeof ResizeObserver !== 'undefined') {\n check();\n const ro = new ResizeObserver(check);\n ro.observe(el);\n return () => ro.disconnect();\n }\n check();\n }, [children]);\n\n useEffect(() => {\n if (!usedDate) return;\n const days = dayjs().diff(dayjs(usedDate), 'day');\n const lessThanAYear = days < 365;\n\n let newDate;\n if (days < 1) newDate = dayjs(usedDate).fromNow();\n else if (lessThanAYear) newDate = dayjs(usedDate).format('DD MMM');\n else newDate = dayjs(usedDate).format('DD MMM YYYY');\n\n setDisplayedDate({\n displayedDate: newDate,\n displayedTime: lessThanAYear ? dayjs(usedDate).format('HH:mm') : null\n });\n }, [usedDate]);\n\n const toggleExpanded = () => setIsExpanded(value => !value);\n const isCollapsed = !isExpanded;\n const showHeader = usedDate || alternativeHeadline || featured;\n\n return (\n <div className={`live-blog-container${featured ? ' live-blog-container--featured' : ''}`}>\n {showHeader && (\n <div className=\"live-blog-date\">\n {featured && <BsPinAngleFill />}\n {usedDate && (\n <>\n <span className=\"live-blog-date--date\">{displayedDate}</span>\n {displayedTime && <span className=\"live-blog-date--time\">{displayedTime}</span>}\n </>\n )}\n {alternativeHeadline && (\n <span className=\"live-blog-date--headline\">{alternativeHeadline}</span>\n )}\n </div>\n )}\n\n <div\n ref={contentRef}\n className={`live-blog-content ${\n isCollapsed\n ? 'live-blog-content--collapsed collapsed'\n : 'live-blog-content--opened opened'\n }`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button\n aria-label={isExpanded ? 'Show Less' : 'Show More'}\n className=\"live-blog-toggle\"\n onClick={toggleExpanded}\n type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,14 +53,19 @@ const Button = props => {
|
|
|
53
53
|
if (!text && !icon) return false;
|
|
54
54
|
return !!(url || hasChildren(children));
|
|
55
55
|
};
|
|
56
|
-
const logout = () => {
|
|
57
|
-
handleLogout(client);
|
|
58
|
-
if (hasChildren(children))
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
const logout = async () => {
|
|
57
|
+
await handleLogout(client);
|
|
58
|
+
if (hasChildren(children)) {
|
|
59
|
+
setShowChildren(true);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (!urlToUse) {
|
|
63
|
+
return router.reload();
|
|
64
|
+
}
|
|
65
|
+
window.location.href = urlToUse;
|
|
61
66
|
};
|
|
62
|
-
const handleClick = () => {
|
|
63
|
-
if (isLogoutButton) logout();
|
|
67
|
+
const handleClick = async () => {
|
|
68
|
+
if (isLogoutButton) await logout();
|
|
64
69
|
if (!url && !isLogoutButton) setShowChildren(!showChildren);
|
|
65
70
|
};
|
|
66
71
|
if (!checkIfButtonShouldRender()) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","window","location","href","handleClick","buttonType","modifiers","_objectSpread","currentProps","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","createElement","className","_extends","onClick","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(() => {\n setShowChildren(false);\n }, [router.asPath]);\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = async () => {\n await handleLogout(client);\n\n if (hasChildren(children)) {\n setShowChildren(true);\n return;\n }\n\n if (!urlToUse) {\n return router.reload();\n }\n\n window.location.href = urlToUse;\n };\n\n const handleClick = async () => {\n if (isLogoutButton) await logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getListSpecificSearchFilter","getListQuery","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","VariantContext","createContext","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","allSearchFilters","operator","filterOperator","sortProperties","itemListName","VariantComponent","isPreview","router","asPath","parsedQuery","replace","searchFilter","hasListSpecificFilters","query","url","itemListId","queryItemListId","updatedQuery","isTextSearchFilterApplied","search_term","length","querySort","querySortBy","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","Provider","value","propTypes","object","isRequired","string","array","bool","func","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport {\n getAzQueryFilter,\n getSortProps,\n hasRequiredItemListDetails,\n getListSpecificSearchFilter,\n getListQuery\n} from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nexport const VariantContext = React.createContext(null);\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n allSearchFilters,\n operator: filterOperator,\n sortProperties,\n itemListName,\n VariantComponent // extracted from props\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(\n allSearchFilters,\n name\n );\n const { query, url, query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n const updatedQuery = getListQuery(query, hasListSpecificFilters, name);\n const isTextSearchFilterApplied = !!(\n updatedQuery.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const { sort: querySort, sortby: querySortBy } = updatedQuery;\n\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(updatedQuery, name);\n const azFilter = getAzQueryFilter(updatedQuery, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const { [updatedParentEntity]: currentSchema = {}, [filterEntity]: filterEntitySchema = {} } =\n mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const {\n data: itemListData = {},\n error: itemListError,\n loading: itemListLoading\n } = useQuery(getItemList, {\n variables: { id: itemListId },\n skip: !itemListId\n });\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter\n ? buildSearchValuesText(textFilter, updatedQuery, name)\n : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, updatedQuery, name);\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query: updatedQuery,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return (\n <VariantContext.Provider value={VariantComponent}>\n <ListBuilder {...listProps} />\n </VariantContext.Provider>\n );\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n allSearchFilters: PropTypes.array,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n allSearchFilters: [],\n itemListName: '',\n VariantComponent: null\n};\n\nexport default ListFactory;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getListSpecificSearchFilter","getListQuery","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","VariantContext","createContext","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","allSearchFilters","operator","filterOperator","sortProperties","itemListName","VariantComponent","isPreview","router","asPath","parsedQuery","replace","searchFilter","hasListSpecificFilters","query","url","itemListId","queryItemListId","updatedQuery","isTextSearchFilterApplied","search_term","length","querySort","querySortBy","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","Provider","value","propTypes","object","isRequired","string","array","bool","func","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport {\n getAzQueryFilter,\n getSortProps,\n hasRequiredItemListDetails,\n getListSpecificSearchFilter,\n getListQuery\n} from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nexport const VariantContext = React.createContext(null);\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n allSearchFilters,\n operator: filterOperator,\n sortProperties,\n itemListName,\n VariantComponent\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(\n allSearchFilters,\n name\n );\n const { query, url, query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n const updatedQuery = getListQuery(query, hasListSpecificFilters, name);\n const isTextSearchFilterApplied = !!(\n updatedQuery.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const { sort: querySort, sortby: querySortBy } = updatedQuery;\n\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(updatedQuery, name);\n const azFilter = getAzQueryFilter(updatedQuery, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const { [updatedParentEntity]: currentSchema = {}, [filterEntity]: filterEntitySchema = {} } =\n mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const {\n data: itemListData = {},\n error: itemListError,\n loading: itemListLoading\n } = useQuery(getItemList, {\n variables: { id: itemListId },\n skip: !itemListId\n });\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter\n ? buildSearchValuesText(textFilter, updatedQuery, name)\n : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, updatedQuery, name);\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query: updatedQuery,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return (\n <VariantContext.Provider value={VariantComponent}>\n <ListBuilder {...listProps} />\n </VariantContext.Provider>\n );\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n allSearchFilters: PropTypes.array,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n allSearchFilters: [],\n itemListName: '',\n VariantComponent: null\n};\n\nexport default ListFactory;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
1
2
|
import React, { useState, useContext, useEffect } from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import { FaChevronDown, FaChevronUp } from 'react-icons/fa';
|
|
@@ -35,6 +36,7 @@ const MenuItemRender = ({
|
|
|
35
36
|
const isActive = router ? isUrlPathMatch(router.asPath, urlToUse) : false;
|
|
36
37
|
const isActiveParent = router ? hasActiveChild(router.asPath, children) : false;
|
|
37
38
|
const shouldPreOpen = openActiveSubmenus && isActiveParent && isClickEvent;
|
|
39
|
+
const hasValidChildren = hasChildren(children);
|
|
38
40
|
const [displayChildren, setDisplayChildren] = useState(shouldPreOpen);
|
|
39
41
|
useEffect(() => {
|
|
40
42
|
if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);
|
|
@@ -58,7 +60,11 @@ const MenuItemRender = ({
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
};
|
|
61
|
-
const
|
|
63
|
+
const handleMobileClick = () => {
|
|
64
|
+
if (!urlToUse && hasValidChildren) {
|
|
65
|
+
setDisplayChildren(!displayChildren);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
62
68
|
const menuItemLinkClassname = classnames('menu--item--link', {
|
|
63
69
|
'menu--item--link--active': isActive,
|
|
64
70
|
'menu--item--link--active-parent': isActiveParent
|
|
@@ -68,7 +74,10 @@ const MenuItemRender = ({
|
|
|
68
74
|
onMouseEnter: handleItemEvent,
|
|
69
75
|
onMouseLeave: handleItemEvent
|
|
70
76
|
}, /*#__PURE__*/React.createElement("div", {
|
|
71
|
-
className: menuItemLinkClassname
|
|
77
|
+
className: menuItemLinkClassname,
|
|
78
|
+
onClick: handleMobileClick,
|
|
79
|
+
role: !urlToUse && hasValidChildren ? 'button' : undefined,
|
|
80
|
+
tabIndex: !urlToUse && hasValidChildren ? 0 : undefined
|
|
72
81
|
}, urlToUse ? /*#__PURE__*/React.createElement(BlazeLink, {
|
|
73
82
|
href: urlToUse
|
|
74
83
|
}, textToUse) : /*#__PURE__*/React.createElement("span", {
|
|
@@ -77,7 +86,11 @@ const MenuItemRender = ({
|
|
|
77
86
|
}, textToUse), hasValidChildren && /*#__PURE__*/React.createElement("i", {
|
|
78
87
|
role: "button",
|
|
79
88
|
className: "menu--item--link--icon",
|
|
80
|
-
onClick:
|
|
89
|
+
onClick: e => {
|
|
90
|
+
e.stopPropagation();
|
|
91
|
+
setDisplayChildren(!displayChildren);
|
|
92
|
+
},
|
|
93
|
+
tabIndex: 0
|
|
81
94
|
}, displayChildren ? /*#__PURE__*/React.createElement(FaChevronUp, null) : /*#__PURE__*/React.createElement(FaChevronDown, null))), hasValidChildren && /*#__PURE__*/React.createElement("div", {
|
|
82
95
|
className: `menu--item-children ${childrenDisplayClass}`
|
|
83
96
|
}, children));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","classnames","useRouter","useStringTemplate","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","CLICK","hasChildren","BlazeLink","MenuContext","injectHelperIntoTemplate","isUrlPathMatch","hasActiveChild","MenuItemRender","children","eventType","text","modifier","url","parent","router","showMobileMenu","openActiveSubmenus","isHoverEvent","isClickEvent","loading","loadingText","data","textToUse","loadingUrl","urlToUse","isActive","asPath","isActiveParent","shouldPreOpen","displayChildren","setDisplayChildren","childrenDisplayClass","handleItemEvent","type","
|
|
1
|
+
{"version":3,"file":"MenuItemRender.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","classnames","useRouter","useStringTemplate","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","CLICK","hasChildren","BlazeLink","MenuContext","injectHelperIntoTemplate","isUrlPathMatch","hasActiveChild","MenuItemRender","children","eventType","text","modifier","url","parent","router","showMobileMenu","openActiveSubmenus","isHoverEvent","isClickEvent","loading","loadingText","data","textToUse","loadingUrl","urlToUse","isActive","asPath","isActiveParent","shouldPreOpen","hasValidChildren","displayChildren","setDisplayChildren","childrenDisplayClass","handleItemEvent","type","handleMobileClick","menuItemLinkClassname","createElement","className","onMouseEnter","onMouseLeave","onClick","role","undefined","tabIndex","href","e","stopPropagation","propTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN, CLICK } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\nimport { injectHelperIntoTemplate, isUrlPathMatch, hasActiveChild } from './helpers';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const router = useRouter();\n const { showMobileMenu, openActiveSubmenus } = useContext(MenuContext);\n\n const isHoverEvent = eventType === HOVER;\n const isClickEvent = eventType === CLICK;\n\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [injectHelperIntoTemplate(url, 'url_encode')]);\n\n const isActive = router ? isUrlPathMatch(router.asPath, urlToUse) : false;\n const isActiveParent = router ? hasActiveChild(router.asPath, children) : false;\n const shouldPreOpen = openActiveSubmenus && isActiveParent && isClickEvent;\n const hasValidChildren = hasChildren(children);\n\n const [displayChildren, setDisplayChildren] = useState(shouldPreOpen);\n\n useEffect(() => {\n if (!showMobileMenu && !shouldPreOpen) setDisplayChildren(false);\n }, [\n children,\n isClickEvent,\n loadingUrl,\n openActiveSubmenus,\n router,\n shouldPreOpen,\n showMobileMenu\n ]);\n\n useEffect(() => {\n if (isHoverEvent) {\n setDisplayChildren(false);\n }\n }, [router.asPath, isHoverEvent]);\n\n if (loadingUrl || loadingText) return '';\n\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n\n const handleMobileClick = () => {\n if (!urlToUse && hasValidChildren) {\n setDisplayChildren(!displayChildren);\n }\n };\n\n const menuItemLinkClassname = classnames('menu--item--link', {\n 'menu--item--link--active': isActive,\n 'menu--item--link--active-parent': isActiveParent\n });\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div\n className={menuItemLinkClassname}\n onClick={handleMobileClick}\n role={!urlToUse && hasValidChildren ? 'button' : undefined}\n tabIndex={!urlToUse && hasValidChildren ? 0 : undefined}>\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={e => {\n e.stopPropagation();\n setDisplayChildren(!displayChildren);\n }}\n tabIndex={0}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,41 +1,55 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
3
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
4
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
5
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
6
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
7
|
+
var _images = /*#__PURE__*/new WeakMap();
|
|
8
|
+
var _pageBuilderID = /*#__PURE__*/new WeakMap();
|
|
9
|
+
var _handlers = /*#__PURE__*/new WeakMap();
|
|
2
10
|
class StoreImages {
|
|
3
11
|
constructor() {
|
|
4
|
-
|
|
5
|
-
|
|
12
|
+
_classPrivateFieldInitSpec(this, _images, []);
|
|
13
|
+
_classPrivateFieldInitSpec(this, _pageBuilderID, null);
|
|
14
|
+
_classPrivateFieldInitSpec(this, _handlers, {
|
|
15
|
+
toggleModal: () => {},
|
|
16
|
+
onSelect: () => {}
|
|
6
17
|
});
|
|
7
|
-
_defineProperty(this, "
|
|
8
|
-
|
|
9
|
-
if (index !== -1) {
|
|
10
|
-
this.setSelectedImage(index);
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
_defineProperty(this, "setHandlers", ({
|
|
14
|
-
toggleModal = this.toggleModal,
|
|
15
|
-
setSelectedImage = this.setSelectedImage
|
|
16
|
-
}) => {
|
|
17
|
-
this.toggleModal = toggleModal;
|
|
18
|
-
this.setSelectedImage = setSelectedImage;
|
|
18
|
+
_defineProperty(this, "toggleModal", () => {
|
|
19
|
+
_classPrivateFieldGet(_handlers, this).toggleModal();
|
|
19
20
|
});
|
|
20
|
-
_defineProperty(this, "
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
pageBuilderID
|
|
24
|
-
} = options;
|
|
25
|
-
if (pageBuilderID !== this.id) {
|
|
26
|
-
this.resetImages();
|
|
27
|
-
this.id = pageBuilderID;
|
|
28
|
-
}
|
|
29
|
-
this.removeDuplicated(this.images.concat(images), 'imageId');
|
|
30
|
-
return this.images;
|
|
21
|
+
_defineProperty(this, "handleSelectedImage", imageId => {
|
|
22
|
+
const idx = _classPrivateFieldGet(_images, this).findIndex(img => img.imageId === imageId);
|
|
23
|
+
if (idx !== -1) _classPrivateFieldGet(_handlers, this).onSelect(idx);
|
|
31
24
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.setSelectedImage = () => {};
|
|
25
|
+
}
|
|
26
|
+
get images() {
|
|
27
|
+
return [..._classPrivateFieldGet(_images, this)];
|
|
36
28
|
}
|
|
37
29
|
resetImages() {
|
|
38
|
-
this
|
|
30
|
+
_classPrivateFieldSet(_images, this, []);
|
|
31
|
+
}
|
|
32
|
+
setHandlers({
|
|
33
|
+
toggleModal,
|
|
34
|
+
setSelectedImage
|
|
35
|
+
}) {
|
|
36
|
+
if (typeof toggleModal === 'function') _classPrivateFieldGet(_handlers, this).toggleModal = toggleModal;
|
|
37
|
+
if (typeof setSelectedImage === 'function') _classPrivateFieldGet(_handlers, this).onSelect = setSelectedImage;
|
|
38
|
+
}
|
|
39
|
+
addImages(newImages, {
|
|
40
|
+
pageBuilderID
|
|
41
|
+
} = {}, handlers = {}) {
|
|
42
|
+
if (!Array.isArray(newImages) || newImages.length === 0) {
|
|
43
|
+
return this.images;
|
|
44
|
+
}
|
|
45
|
+
if (pageBuilderID != null && pageBuilderID !== _classPrivateFieldGet(_pageBuilderID, this)) {
|
|
46
|
+
this.resetImages();
|
|
47
|
+
_classPrivateFieldSet(_pageBuilderID, this, pageBuilderID);
|
|
48
|
+
}
|
|
49
|
+
const merged = _classPrivateFieldGet(_images, this).concat(newImages);
|
|
50
|
+
_classPrivateFieldSet(_images, this, Array.from(new Map(merged.map(img => [img.imageId, img])).values()));
|
|
51
|
+
this.setHandlers(handlers);
|
|
52
|
+
return this.images;
|
|
39
53
|
}
|
|
40
54
|
}
|
|
41
55
|
export default new StoreImages();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreImages.js","names":["StoreImages","constructor","
|
|
1
|
+
{"version":3,"file":"StoreImages.js","names":["StoreImages","constructor","_classPrivateFieldInitSpec","_images","_pageBuilderID","_handlers","toggleModal","onSelect","_defineProperty","_classPrivateFieldGet","imageId","idx","findIndex","img","images","resetImages","_classPrivateFieldSet","setHandlers","setSelectedImage","addImages","newImages","pageBuilderID","handlers","Array","isArray","length","merged","concat","from","Map","map","values"],"sources":["../../../src/hooks/helpers/StoreImages.js"],"sourcesContent":["class StoreImages {\n #images = [];\n\n #pageBuilderID = null;\n\n #handlers = {\n toggleModal: () => {},\n onSelect: () => {}\n };\n\n get images() {\n return [...this.#images];\n }\n\n resetImages() {\n this.#images = [];\n }\n\n setHandlers({ toggleModal, setSelectedImage }) {\n if (typeof toggleModal === 'function') this.#handlers.toggleModal = toggleModal;\n if (typeof setSelectedImage === 'function') this.#handlers.onSelect = setSelectedImage;\n }\n\n addImages(newImages, { pageBuilderID } = {}, handlers = {}) {\n if (!Array.isArray(newImages) || newImages.length === 0) {\n return this.images;\n }\n\n if (pageBuilderID != null && pageBuilderID !== this.#pageBuilderID) {\n this.resetImages();\n this.#pageBuilderID = pageBuilderID;\n }\n\n const merged = this.#images.concat(newImages);\n this.#images = Array.from(new Map(merged.map(img => [img.imageId, img])).values());\n\n this.setHandlers(handlers);\n return this.images;\n }\n\n toggleModal = () => {\n this.#handlers.toggleModal();\n };\n\n handleSelectedImage = imageId => {\n const idx = this.#images.findIndex(img => img.imageId === imageId);\n if (idx !== -1) this.#handlers.onSelect(idx);\n };\n}\n\nexport default new StoreImages();\n"],"mappings":";;;;;;;;;AAAA,MAAMA,WAAW,CAAC;EAAAC,YAAA;IAChBC,0BAAA,OAAAC,OAAO,EAAG,EAAE;IAEZD,0BAAA,OAAAE,cAAc,EAAG,IAAI;IAErBF,0BAAA,OAAAG,SAAS,EAAG;MACVC,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;MACrBC,QAAQ,EAAEA,CAAA,KAAM,CAAC;IACnB,CAAC;IAACC,eAAA,sBAgCY,MAAM;MAClBC,qBAAA,CAAKJ,SAAS,EAAd,IAAa,CAAC,CAACC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAAAE,eAAA,8BAEqBE,OAAO,IAAI;MAC/B,MAAMC,GAAG,GAAGF,qBAAA,CAAKN,OAAO,EAAZ,IAAW,CAAC,CAACS,SAAS,CAACC,GAAG,IAAIA,GAAG,CAACH,OAAO,KAAKA,OAAO,CAAC;MAClE,IAAIC,GAAG,KAAK,CAAC,CAAC,EAAEF,qBAAA,CAAKJ,SAAS,EAAd,IAAa,CAAC,CAACE,QAAQ,CAACI,GAAG,CAAC;IAC9C,CAAC;EAAA;EArCD,IAAIG,MAAMA,CAAA,EAAG;IACX,OAAO,CAAC,GAAGL,qBAAA,CAAKN,OAAO,EAAZ,IAAW,CAAC,CAAC;EAC1B;EAEAY,WAAWA,CAAA,EAAG;IACZC,qBAAA,CAAKb,OAAO,EAAZ,IAAI,EAAW,EAAJ,CAAC;EACd;EAEAc,WAAWA,CAAC;IAAEX,WAAW;IAAEY;EAAiB,CAAC,EAAE;IAC7C,IAAI,OAAOZ,WAAW,KAAK,UAAU,EAAEG,qBAAA,CAAKJ,SAAS,EAAd,IAAa,CAAC,CAACC,WAAW,GAAGA,WAAW;IAC/E,IAAI,OAAOY,gBAAgB,KAAK,UAAU,EAAET,qBAAA,CAAKJ,SAAS,EAAd,IAAa,CAAC,CAACE,QAAQ,GAAGW,gBAAgB;EACxF;EAEAC,SAASA,CAACC,SAAS,EAAE;IAAEC;EAAc,CAAC,GAAG,CAAC,CAAC,EAAEC,QAAQ,GAAG,CAAC,CAAC,EAAE;IAC1D,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,SAAS,CAAC,IAAIA,SAAS,CAACK,MAAM,KAAK,CAAC,EAAE;MACvD,OAAO,IAAI,CAACX,MAAM;IACpB;IAEA,IAAIO,aAAa,IAAI,IAAI,IAAIA,aAAa,KAAKZ,qBAAA,CAAKL,cAAc,EAAnB,IAAkB,CAAC,EAAE;MAClE,IAAI,CAACW,WAAW,CAAC,CAAC;MAClBC,qBAAA,CAAKZ,cAAc,EAAnB,IAAI,EAAkBiB,aAAJ,CAAC;IACrB;IAEA,MAAMK,MAAM,GAAGjB,qBAAA,CAAKN,OAAO,EAAZ,IAAW,CAAC,CAACwB,MAAM,CAACP,SAAS,CAAC;IAC7CJ,qBAAA,CAAKb,OAAO,EAAZ,IAAI,EAAWoB,KAAK,CAACK,IAAI,CAAC,IAAIC,GAAG,CAACH,MAAM,CAACI,GAAG,CAACjB,GAAG,IAAI,CAACA,GAAG,CAACH,OAAO,EAAEG,GAAG,CAAC,CAAC,CAAC,CAACkB,MAAM,CAAC,CAAC,CAAtE,CAAC;IAEZ,IAAI,CAACd,WAAW,CAACK,QAAQ,CAAC;IAC1B,OAAO,IAAI,CAACR,MAAM;EACpB;AAUF;AAEA,eAAe,IAAId,WAAW,CAAC,CAAC","ignoreList":[]}
|