@blaze-cms/plugin-admin-core-ui 0.139.0-alpha.3 → 0.139.0-alpha.6
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 +45 -0
- package/README.md +97 -0
- package/lib/components/Header/Header.js +1 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/components/Language/Language.js +1 -2
- package/lib/components/Header/components/Language/Language.js.map +1 -1
- package/lib/components/Header/components/Language/index.js +1 -2
- package/lib/components/Header/components/Language/index.js.map +1 -1
- package/lib/components/Header/components/Logo/Logo.js +1 -2
- package/lib/components/Header/components/Logo/Logo.js.map +1 -1
- package/lib/components/Header/components/Logo/index.js +1 -2
- package/lib/components/Header/components/Logo/index.js.map +1 -1
- package/lib/components/Header/components/Menu/Menu.js +1 -2
- package/lib/components/Header/components/Menu/Menu.js.map +1 -1
- package/lib/components/Header/components/Menu/index.js +1 -2
- package/lib/components/Header/components/Menu/index.js.map +1 -1
- package/lib/components/Header/index.js +1 -2
- package/lib/components/Header/index.js.map +1 -1
- package/lib/components/Layout/Background.js +1 -2
- package/lib/components/Layout/Background.js.map +1 -1
- package/lib/components/Layout/Layout.js +9 -7
- package/lib/components/Layout/Layout.js.map +1 -1
- package/lib/components/Layout/components/Grid/Grid.js +11 -90
- package/lib/components/Layout/components/Grid/Grid.js.map +1 -1
- package/lib/components/Layout/components/Grid/index.js +1 -2
- package/lib/components/Layout/components/Grid/index.js.map +1 -1
- package/lib/components/Menu/Icons/ChevronDown.js +30 -0
- package/lib/components/Menu/Icons/ChevronDown.js.map +1 -0
- package/lib/components/Menu/Icons/ChevronUp.js +30 -0
- package/lib/components/Menu/Icons/ChevronUp.js.map +1 -0
- package/lib/components/Menu/Items/MenuActionItem.js +39 -0
- package/lib/components/Menu/Items/MenuActionItem.js.map +1 -0
- package/lib/components/Menu/Items/MenuItem.js +75 -0
- package/lib/components/Menu/Items/MenuItem.js.map +1 -0
- package/lib/components/Menu/Items/MenuLinkItem.js +38 -0
- package/lib/components/Menu/Items/MenuLinkItem.js.map +1 -0
- package/lib/components/Menu/Menu.js +85 -0
- package/lib/components/Menu/Menu.js.map +1 -0
- package/lib/components/Menu/Section/MenuSection.js +27 -0
- package/lib/components/Menu/Section/MenuSection.js.map +1 -0
- package/lib/components/Menu/Section/MenuSectionCollapsible.js +96 -0
- package/lib/components/Menu/Section/MenuSectionCollapsible.js.map +1 -0
- package/lib/components/Menu/Section/MenuSectionItem.js +39 -0
- package/lib/components/Menu/Section/MenuSectionItem.js.map +1 -0
- package/lib/components/Menu/Section/MenuSectionItems.js +32 -0
- package/lib/components/Menu/Section/MenuSectionItems.js.map +1 -0
- package/lib/components/Menu/index.js +11 -0
- package/lib/components/Menu/index.js.map +1 -0
- package/lib/components/SideBar/SideBar.js +9 -18
- package/lib/components/SideBar/SideBar.js.map +1 -1
- package/lib/components/SideBar/components/SideBlock.js +3 -4
- package/lib/components/SideBar/components/SideBlock.js.map +1 -1
- package/lib/components/SideBar/components/SideBlockItem.js +1 -2
- package/lib/components/SideBar/components/SideBlockItem.js.map +1 -1
- package/lib/components/SideBar/index.js +1 -2
- package/lib/components/SideBar/index.js.map +1 -1
- package/lib/constants.js +6 -11
- package/lib/constants.js.map +1 -1
- package/lib/containers/Home/Home.js +1 -2
- package/lib/containers/Home/Home.js.map +1 -1
- package/lib/containers/index.js +1 -2
- package/lib/containers/index.js.map +1 -1
- package/lib/index.js +16 -13
- package/lib/index.js.map +1 -1
- package/lib/utils/menu-handler-singleton.js +117 -0
- package/lib/utils/menu-handler-singleton.js.map +1 -0
- package/lib-es/components/Layout/Layout.js +6 -3
- package/lib-es/components/Layout/Layout.js.map +1 -1
- package/lib-es/components/Layout/components/Grid/Grid.js +14 -54
- package/lib-es/components/Layout/components/Grid/Grid.js.map +1 -1
- package/lib-es/components/Menu/Icons/ChevronDown.js +19 -0
- package/lib-es/components/Menu/Icons/ChevronDown.js.map +1 -0
- package/lib-es/components/Menu/Icons/ChevronUp.js +19 -0
- package/lib-es/components/Menu/Icons/ChevronUp.js.map +1 -0
- package/lib-es/components/Menu/Items/MenuActionItem.js +34 -0
- package/lib-es/components/Menu/Items/MenuActionItem.js.map +1 -0
- package/lib-es/components/Menu/Items/MenuItem.js +64 -0
- package/lib-es/components/Menu/Items/MenuItem.js.map +1 -0
- package/lib-es/components/Menu/Items/MenuLinkItem.js +31 -0
- package/lib-es/components/Menu/Items/MenuLinkItem.js.map +1 -0
- package/lib-es/components/Menu/Menu.js +40 -0
- package/lib-es/components/Menu/Menu.js.map +1 -0
- package/lib-es/components/Menu/Section/MenuSection.js +18 -0
- package/lib-es/components/Menu/Section/MenuSection.js.map +1 -0
- package/lib-es/components/Menu/Section/MenuSectionCollapsible.js +73 -0
- package/lib-es/components/Menu/Section/MenuSectionCollapsible.js.map +1 -0
- package/lib-es/components/Menu/Section/MenuSectionItem.js +30 -0
- package/lib-es/components/Menu/Section/MenuSectionItem.js.map +1 -0
- package/lib-es/components/Menu/Section/MenuSectionItems.js +20 -0
- package/lib-es/components/Menu/Section/MenuSectionItems.js.map +1 -0
- package/lib-es/components/Menu/index.js +3 -0
- package/lib-es/components/Menu/index.js.map +1 -0
- package/lib-es/components/SideBar/SideBar.js +7 -9
- package/lib-es/components/SideBar/SideBar.js.map +1 -1
- package/lib-es/constants.js +1 -1
- package/lib-es/constants.js.map +1 -1
- package/lib-es/index.js +9 -9
- package/lib-es/index.js.map +1 -1
- package/lib-es/utils/menu-handler-singleton.js +62 -0
- package/lib-es/utils/menu-handler-singleton.js.map +1 -0
- package/package.json +7 -6
- package/src/components/Layout/Layout.js +14 -3
- package/src/components/Layout/components/Grid/Grid.js +13 -52
- package/src/components/Menu/Icons/ChevronDown.js +16 -0
- package/src/components/Menu/Icons/ChevronUp.js +16 -0
- package/src/components/Menu/Items/MenuActionItem.js +30 -0
- package/src/components/Menu/Items/MenuItem.js +49 -0
- package/src/components/Menu/Items/MenuLinkItem.js +25 -0
- package/src/components/Menu/Menu.js +48 -0
- package/src/components/Menu/Section/MenuSection.js +16 -0
- package/src/components/Menu/Section/MenuSectionCollapsible.js +63 -0
- package/src/components/Menu/Section/MenuSectionItem.js +28 -0
- package/src/components/Menu/Section/MenuSectionItems.js +17 -0
- package/src/components/Menu/index.js +3 -0
- package/src/components/SideBar/SideBar.js +8 -8
- package/src/constants.js +3 -1
- package/src/index.js +7 -6
- package/src/utils/menu-handler-singleton.js +68 -0
|
@@ -1,69 +1,29 @@
|
|
|
1
|
-
import
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
import React, { useState, useEffect } from 'react';
|
|
1
|
+
import React from 'react';
|
|
5
2
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { useApolloClient } from '@apollo/client';
|
|
7
|
-
import { getQuery, MainContextProvider } from '@blaze-cms/admin-ui-utils';
|
|
8
3
|
import SideBar from '../../../SideBar';
|
|
9
4
|
const Grid = ({
|
|
10
5
|
children,
|
|
11
6
|
isOpenMenu,
|
|
12
7
|
onMenuClick,
|
|
13
|
-
userData
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
} = await client.query({
|
|
24
|
-
query: getQuery('GET_MENU_ITEMS')
|
|
25
|
-
});
|
|
26
|
-
const parsedMenuItems = getMenuItems.map(([key, {
|
|
27
|
-
header,
|
|
28
|
-
items
|
|
29
|
-
}]) => [key, {
|
|
30
|
-
header,
|
|
31
|
-
items: items.map(item => _objectSpread(_objectSpread({}, item), {}, {
|
|
32
|
-
isDisplayedPrompt: true
|
|
33
|
-
}))
|
|
34
|
-
}]);
|
|
35
|
-
if (!menuItems) {
|
|
36
|
-
setMenuItems(parsedMenuItems);
|
|
37
|
-
}
|
|
38
|
-
})();
|
|
39
|
-
}, [client, menuItems]);
|
|
40
|
-
const updateItems = items => {
|
|
41
|
-
setMenuItems(items);
|
|
42
|
-
};
|
|
43
|
-
return menuItems ? /*#__PURE__*/React.createElement(MainContextProvider, {
|
|
44
|
-
value: {
|
|
45
|
-
menuItems,
|
|
46
|
-
setMenuItems: items => updateItems(items)
|
|
47
|
-
}
|
|
48
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
49
|
-
className: "main-content grid grid--main-content"
|
|
50
|
-
}, /*#__PURE__*/React.createElement(SideBar, {
|
|
51
|
-
isOpenMenu: isOpenMenu,
|
|
52
|
-
menuItems: menuItems,
|
|
53
|
-
onMenuClick: onMenuClick,
|
|
54
|
-
userData: userData
|
|
55
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
56
|
-
className: "grid--main-content-wrapper"
|
|
57
|
-
}, children))) : 'loading';
|
|
58
|
-
};
|
|
8
|
+
userData,
|
|
9
|
+
simpleLayout
|
|
10
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: "main-content grid grid--main-content"
|
|
12
|
+
}, !simpleLayout && /*#__PURE__*/React.createElement(SideBar, {
|
|
13
|
+
isOpenMenu: isOpenMenu,
|
|
14
|
+
onMenuClick: onMenuClick,
|
|
15
|
+
userData: userData
|
|
16
|
+
}), children);
|
|
59
17
|
Grid.propTypes = {
|
|
60
18
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
|
|
61
19
|
isOpenMenu: PropTypes.bool.isRequired,
|
|
62
20
|
onMenuClick: PropTypes.func.isRequired,
|
|
63
|
-
userData: PropTypes.object
|
|
21
|
+
userData: PropTypes.object,
|
|
22
|
+
simpleLayout: PropTypes.bool
|
|
64
23
|
};
|
|
65
24
|
Grid.defaultProps = {
|
|
66
|
-
userData: {}
|
|
25
|
+
userData: {},
|
|
26
|
+
simpleLayout: false
|
|
67
27
|
};
|
|
68
28
|
export default Grid;
|
|
69
29
|
//# sourceMappingURL=Grid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.js","names":["React","
|
|
1
|
+
{"version":3,"file":"Grid.js","names":["React","PropTypes","SideBar","Grid","children","isOpenMenu","onMenuClick","userData","simpleLayout","createElement","className","propTypes","oneOfType","arrayOf","node","isRequired","bool","func","object","defaultProps"],"sources":["../../../../../src/components/Layout/components/Grid/Grid.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SideBar from '../../../SideBar';\n\nconst Grid = ({ children, isOpenMenu, onMenuClick, userData, simpleLayout }) => (\n <div className=\"main-content grid grid--main-content\">\n {!simpleLayout && (\n <SideBar isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData} />\n )}\n {children}\n </div>\n);\n\nGrid.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object,\n simpleLayout: PropTypes.bool\n};\n\nGrid.defaultProps = {\n userData: {},\n simpleLayout: false\n};\n\nexport default Grid;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,kBAAkB;AAEtC,MAAMC,IAAI,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,UAAU;EAAEC,WAAW;EAAEC,QAAQ;EAAEC;AAAa,CAAC,kBACzER,KAAA,CAAAS,aAAA;EAAKC,SAAS,EAAC;AAAsC,GAClD,CAACF,YAAY,iBACZR,KAAA,CAAAS,aAAA,CAACP,OAAO;EAACG,UAAU,EAAEA,UAAW;EAACC,WAAW,EAAEA,WAAY;EAACC,QAAQ,EAAEA;AAAS,CAAE,CACjF,EACAH,QACE,CACN;AAEDD,IAAI,CAACQ,SAAS,GAAG;EACfP,QAAQ,EAAEH,SAAS,CAACW,SAAS,CAAC,CAACX,SAAS,CAACY,OAAO,CAACZ,SAAS,CAACa,IAAI,CAAC,EAAEb,SAAS,CAACa,IAAI,CAAC,CAAC,CAACC,UAAU;EAC7FV,UAAU,EAAEJ,SAAS,CAACe,IAAI,CAACD,UAAU;EACrCT,WAAW,EAAEL,SAAS,CAACgB,IAAI,CAACF,UAAU;EACtCR,QAAQ,EAAEN,SAAS,CAACiB,MAAM;EAC1BV,YAAY,EAAEP,SAAS,CAACe;AAC1B,CAAC;AAEDb,IAAI,CAACgB,YAAY,GAAG;EAClBZ,QAAQ,EAAE,CAAC,CAAC;EACZC,YAAY,EAAE;AAChB,CAAC;AAED,eAAeL,IAAI"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const ChevronDown = ({
|
|
3
|
+
width = '18px',
|
|
4
|
+
height = '18px'
|
|
5
|
+
}) => /*#__PURE__*/React.createElement("svg", {
|
|
6
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7
|
+
fill: "none",
|
|
8
|
+
viewBox: "0 0 24 24",
|
|
9
|
+
strokeWidth: 1.5,
|
|
10
|
+
width: width,
|
|
11
|
+
height: height,
|
|
12
|
+
stroke: "currentColor"
|
|
13
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
14
|
+
strokeLinecap: "round",
|
|
15
|
+
strokeLinejoin: "round",
|
|
16
|
+
d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
|
|
17
|
+
}));
|
|
18
|
+
export default ChevronDown;
|
|
19
|
+
//# sourceMappingURL=ChevronDown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChevronDown.js","names":["React","ChevronDown","width","height","createElement","xmlns","fill","viewBox","strokeWidth","stroke","strokeLinecap","strokeLinejoin","d"],"sources":["../../../../src/components/Menu/Icons/ChevronDown.js"],"sourcesContent":["import React from 'react';\n\nconst ChevronDown = ({ width = '18px', height = '18px' }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n width={width}\n height={height}\n stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" />\n </svg>\n);\n\nexport default ChevronDown;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK,GAAG,MAAM;EAAEC,MAAM,GAAG;AAAO,CAAC,kBACtDH,KAAA,CAAAI,aAAA;EACEC,KAAK,EAAC,4BAA4B;EAClCC,IAAI,EAAC,MAAM;EACXC,OAAO,EAAC,WAAW;EACnBC,WAAW,EAAE,GAAI;EACjBN,KAAK,EAAEA,KAAM;EACbC,MAAM,EAAEA,MAAO;EACfM,MAAM,EAAC;AAAc,gBACrBT,KAAA,CAAAI,aAAA;EAAMM,aAAa,EAAC,OAAO;EAACC,cAAc,EAAC,OAAO;EAACC,CAAC,EAAC;AAA6B,CAAE,CACjF,CACN;AAED,eAAeX,WAAW"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const ChevronUp = ({
|
|
3
|
+
width = '18px',
|
|
4
|
+
height = '18px'
|
|
5
|
+
}) => /*#__PURE__*/React.createElement("svg", {
|
|
6
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7
|
+
fill: "none",
|
|
8
|
+
viewBox: "0 0 22 22",
|
|
9
|
+
strokeWidth: 1.5,
|
|
10
|
+
width: width,
|
|
11
|
+
height: height,
|
|
12
|
+
stroke: "currentColor"
|
|
13
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
14
|
+
strokeLinecap: "round",
|
|
15
|
+
strokeLinejoin: "round",
|
|
16
|
+
d: "M4.5 15.75l7.5-7.5 7.5 7.5"
|
|
17
|
+
}));
|
|
18
|
+
export default ChevronUp;
|
|
19
|
+
//# sourceMappingURL=ChevronUp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChevronUp.js","names":["React","ChevronUp","width","height","createElement","xmlns","fill","viewBox","strokeWidth","stroke","strokeLinecap","strokeLinejoin","d"],"sources":["../../../../src/components/Menu/Icons/ChevronUp.js"],"sourcesContent":["import React from 'react';\n\nconst ChevronUp = ({ width = '18px', height = '18px' }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 22 22\"\n strokeWidth={1.5}\n width={width}\n height={height}\n stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" />\n </svg>\n);\n\nexport default ChevronUp;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,SAAS,GAAGA,CAAC;EAAEC,KAAK,GAAG,MAAM;EAAEC,MAAM,GAAG;AAAO,CAAC,kBACpDH,KAAA,CAAAI,aAAA;EACEC,KAAK,EAAC,4BAA4B;EAClCC,IAAI,EAAC,MAAM;EACXC,OAAO,EAAC,WAAW;EACnBC,WAAW,EAAE,GAAI;EACjBN,KAAK,EAAEA,KAAM;EACbC,MAAM,EAAEA,MAAO;EACfM,MAAM,EAAC;AAAc,gBACrBT,KAAA,CAAAI,aAAA;EAAMM,aAAa,EAAC,OAAO;EAACC,cAAc,EAAC,OAAO;EAACC,CAAC,EAAC;AAA4B,CAAE,CAChF,CACN;AAED,eAAeX,SAAS"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Link } from 'react-router-dom';
|
|
3
|
+
const MenuActionItem = ({
|
|
4
|
+
item
|
|
5
|
+
}) => {
|
|
6
|
+
const {
|
|
7
|
+
label,
|
|
8
|
+
icon: MenuSectionIcon,
|
|
9
|
+
onClick,
|
|
10
|
+
uri
|
|
11
|
+
} = item;
|
|
12
|
+
const modifier = MenuSectionIcon ? '' : 'side-nav__list-link--noIcon';
|
|
13
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
14
|
+
className: "side-nav__list--item",
|
|
15
|
+
key: item.label
|
|
16
|
+
}, /*#__PURE__*/React.createElement(Link, {
|
|
17
|
+
to: uri,
|
|
18
|
+
className: `side-nav__list-link ${modifier}`,
|
|
19
|
+
onClick: () => {
|
|
20
|
+
if (onClick) {
|
|
21
|
+
onClick();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}, MenuSectionIcon && /*#__PURE__*/React.createElement("div", {
|
|
25
|
+
className: "side-nav__list-link--icon"
|
|
26
|
+
}, /*#__PURE__*/React.createElement(MenuSectionIcon, {
|
|
27
|
+
width: "20px",
|
|
28
|
+
height: "20px"
|
|
29
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
30
|
+
className: "side-nav__list-label"
|
|
31
|
+
}, label)));
|
|
32
|
+
};
|
|
33
|
+
export default MenuActionItem;
|
|
34
|
+
//# sourceMappingURL=MenuActionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuActionItem.js","names":["React","Link","MenuActionItem","item","label","icon","MenuSectionIcon","onClick","uri","modifier","createElement","className","key","to","width","height"],"sources":["../../../../src/components/Menu/Items/MenuActionItem.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\n\nconst MenuActionItem = ({ item }) => {\n const { label, icon: MenuSectionIcon, onClick, uri } = item;\n\n const modifier = MenuSectionIcon ? '' : 'side-nav__list-link--noIcon';\n\n return (\n <li className=\"side-nav__list--item\" key={item.label}>\n <Link\n to={uri}\n className={`side-nav__list-link ${modifier}`}\n onClick={() => {\n if (onClick) {\n onClick();\n }\n }}>\n {MenuSectionIcon && (\n <div className=\"side-nav__list-link--icon\">\n <MenuSectionIcon width=\"20px\" height=\"20px\" />\n </div>\n )}\n <div className=\"side-nav__list-label\">{label}</div>\n </Link>\n </li>\n );\n};\n\nexport default MenuActionItem;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EACnC,MAAM;IAAEC,KAAK;IAAEC,IAAI,EAAEC,eAAe;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGL,IAAI;EAE3D,MAAMM,QAAQ,GAAGH,eAAe,GAAG,EAAE,GAAG,6BAA6B;EAErE,oBACEN,KAAA,CAAAU,aAAA;IAAIC,SAAS,EAAC,sBAAsB;IAACC,GAAG,EAAET,IAAI,CAACC;EAAM,gBACnDJ,KAAA,CAAAU,aAAA,CAACT,IAAI;IACHY,EAAE,EAAEL,GAAI;IACRG,SAAS,EAAG,uBAAsBF,QAAS,EAAE;IAC7CF,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIA,OAAO,EAAE;QACXA,OAAO,CAAC,CAAC;MACX;IACF;EAAE,GACDD,eAAe,iBACdN,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAC;EAA2B,gBACxCX,KAAA,CAAAU,aAAA,CAACJ,eAAe;IAACQ,KAAK,EAAC,MAAM;IAACC,MAAM,EAAC;EAAM,CAAE,CAC1C,CACN,eACDf,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAAEP,KAAW,CAC9C,CACJ,CAAC;AAET,CAAC;AAED,eAAeF,cAAc"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useLocation } from 'react-router-dom';
|
|
3
|
+
import MenuLinkItem from './MenuLinkItem';
|
|
4
|
+
const MenuItem = ({
|
|
5
|
+
item,
|
|
6
|
+
RenderItems
|
|
7
|
+
}) => {
|
|
8
|
+
const location = useLocation();
|
|
9
|
+
const {
|
|
10
|
+
label,
|
|
11
|
+
items,
|
|
12
|
+
uri
|
|
13
|
+
} = item;
|
|
14
|
+
const isActive = currentUri => location.pathname === currentUri || location.pathname.startsWith(`${currentUri}/`);
|
|
15
|
+
if (label && uri) {
|
|
16
|
+
return /*#__PURE__*/React.createElement(MenuLinkItem, {
|
|
17
|
+
item: item,
|
|
18
|
+
isActive: isActive(uri),
|
|
19
|
+
root: true
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
if (label && items && Object.values(items).length > 0) {
|
|
23
|
+
const childrenMenu = Object.keys(items).map(key => items[key]);
|
|
24
|
+
const childrenComponents = childrenMenu.map(child => {
|
|
25
|
+
const {
|
|
26
|
+
label: childLabel,
|
|
27
|
+
uri: childUri
|
|
28
|
+
} = child;
|
|
29
|
+
if (childLabel && childUri) {
|
|
30
|
+
return /*#__PURE__*/React.createElement(MenuLinkItem, {
|
|
31
|
+
item: child,
|
|
32
|
+
isActive: isActive(childUri),
|
|
33
|
+
root: false,
|
|
34
|
+
key: label
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
});
|
|
39
|
+
return /*#__PURE__*/React.createElement(RenderItems, {
|
|
40
|
+
item: item
|
|
41
|
+
}, childrenComponents);
|
|
42
|
+
}
|
|
43
|
+
if (!label && items) {
|
|
44
|
+
const childrenMenu = Object.keys(items).map(key => items[key]);
|
|
45
|
+
return childrenMenu.map(child => {
|
|
46
|
+
const {
|
|
47
|
+
label: childLabel,
|
|
48
|
+
uri: childUri
|
|
49
|
+
} = child;
|
|
50
|
+
if (childLabel && childUri) {
|
|
51
|
+
return /*#__PURE__*/React.createElement(MenuLinkItem, {
|
|
52
|
+
item: child,
|
|
53
|
+
isActive: isActive(childUri),
|
|
54
|
+
key: childUri,
|
|
55
|
+
root: true
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
};
|
|
63
|
+
export default MenuItem;
|
|
64
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.js","names":["React","useLocation","MenuLinkItem","MenuItem","item","RenderItems","location","label","items","uri","isActive","currentUri","pathname","startsWith","createElement","root","Object","values","length","childrenMenu","keys","map","key","childrenComponents","child","childLabel","childUri"],"sources":["../../../../src/components/Menu/Items/MenuItem.js"],"sourcesContent":["import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport MenuLinkItem from './MenuLinkItem';\n\nconst MenuItem = ({ item, RenderItems }) => {\n const location = useLocation();\n const { label, items, uri } = item;\n\n const isActive = currentUri =>\n location.pathname === currentUri || location.pathname.startsWith(`${currentUri}/`);\n\n if (label && uri) {\n return <MenuLinkItem item={item} isActive={isActive(uri)} root />;\n }\n\n if (label && items && Object.values(items).length > 0) {\n const childrenMenu = Object.keys(items).map(key => items[key]);\n\n const childrenComponents = childrenMenu.map(child => {\n const { label: childLabel, uri: childUri } = child;\n\n if (childLabel && childUri) {\n return <MenuLinkItem item={child} isActive={isActive(childUri)} root={false} key={label} />;\n }\n\n return null;\n });\n\n return <RenderItems item={item}>{childrenComponents}</RenderItems>;\n }\n\n if (!label && items) {\n const childrenMenu = Object.keys(items).map(key => items[key]);\n\n return childrenMenu.map(child => {\n const { label: childLabel, uri: childUri } = child;\n\n if (childLabel && childUri) {\n return <MenuLinkItem item={child} isActive={isActive(childUri)} key={childUri} root />;\n }\n\n return null;\n });\n }\n\n return null;\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAAY,CAAC,KAAK;EAC1C,MAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEM,KAAK;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGL,IAAI;EAElC,MAAMM,QAAQ,GAAGC,UAAU,IACzBL,QAAQ,CAACM,QAAQ,KAAKD,UAAU,IAAIL,QAAQ,CAACM,QAAQ,CAACC,UAAU,CAAE,GAAEF,UAAW,GAAE,CAAC;EAEpF,IAAIJ,KAAK,IAAIE,GAAG,EAAE;IAChB,oBAAOT,KAAA,CAAAc,aAAA,CAACZ,YAAY;MAACE,IAAI,EAAEA,IAAK;MAACM,QAAQ,EAAEA,QAAQ,CAACD,GAAG,CAAE;MAACM,IAAI;IAAA,CAAE,CAAC;EACnE;EAEA,IAAIR,KAAK,IAAIC,KAAK,IAAIQ,MAAM,CAACC,MAAM,CAACT,KAAK,CAAC,CAACU,MAAM,GAAG,CAAC,EAAE;IACrD,MAAMC,YAAY,GAAGH,MAAM,CAACI,IAAI,CAACZ,KAAK,CAAC,CAACa,GAAG,CAACC,GAAG,IAAId,KAAK,CAACc,GAAG,CAAC,CAAC;IAE9D,MAAMC,kBAAkB,GAAGJ,YAAY,CAACE,GAAG,CAACG,KAAK,IAAI;MACnD,MAAM;QAAEjB,KAAK,EAAEkB,UAAU;QAAEhB,GAAG,EAAEiB;MAAS,CAAC,GAAGF,KAAK;MAElD,IAAIC,UAAU,IAAIC,QAAQ,EAAE;QAC1B,oBAAO1B,KAAA,CAAAc,aAAA,CAACZ,YAAY;UAACE,IAAI,EAAEoB,KAAM;UAACd,QAAQ,EAAEA,QAAQ,CAACgB,QAAQ,CAAE;UAACX,IAAI,EAAE,KAAM;UAACO,GAAG,EAAEf;QAAM,CAAE,CAAC;MAC7F;MAEA,OAAO,IAAI;IACb,CAAC,CAAC;IAEF,oBAAOP,KAAA,CAAAc,aAAA,CAACT,WAAW;MAACD,IAAI,EAAEA;IAAK,GAAEmB,kBAAgC,CAAC;EACpE;EAEA,IAAI,CAAChB,KAAK,IAAIC,KAAK,EAAE;IACnB,MAAMW,YAAY,GAAGH,MAAM,CAACI,IAAI,CAACZ,KAAK,CAAC,CAACa,GAAG,CAACC,GAAG,IAAId,KAAK,CAACc,GAAG,CAAC,CAAC;IAE9D,OAAOH,YAAY,CAACE,GAAG,CAACG,KAAK,IAAI;MAC/B,MAAM;QAAEjB,KAAK,EAAEkB,UAAU;QAAEhB,GAAG,EAAEiB;MAAS,CAAC,GAAGF,KAAK;MAElD,IAAIC,UAAU,IAAIC,QAAQ,EAAE;QAC1B,oBAAO1B,KAAA,CAAAc,aAAA,CAACZ,YAAY;UAACE,IAAI,EAAEoB,KAAM;UAACd,QAAQ,EAAEA,QAAQ,CAACgB,QAAQ,CAAE;UAACJ,GAAG,EAAEI,QAAS;UAACX,IAAI;QAAA,CAAE,CAAC;MACxF;MAEA,OAAO,IAAI;IACb,CAAC,CAAC;EACJ;EAEA,OAAO,IAAI;AACb,CAAC;AAED,eAAeZ,QAAQ"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Link } from 'react-router-dom';
|
|
3
|
+
const MenuLinkItem = ({
|
|
4
|
+
item,
|
|
5
|
+
isActive,
|
|
6
|
+
root = true
|
|
7
|
+
}) => {
|
|
8
|
+
const {
|
|
9
|
+
label,
|
|
10
|
+
icon: MenuSectionIcon,
|
|
11
|
+
uri
|
|
12
|
+
} = item;
|
|
13
|
+
const modifier = MenuSectionIcon ? '' : 'side-nav__list-link--noIcon';
|
|
14
|
+
const activeModifier = isActive ? 'side-nav__list-link--active' : '';
|
|
15
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
16
|
+
className: "side-nav__list--item",
|
|
17
|
+
key: item.label
|
|
18
|
+
}, /*#__PURE__*/React.createElement(Link, {
|
|
19
|
+
to: uri,
|
|
20
|
+
className: `side-nav__list-link ${modifier} ${activeModifier}`
|
|
21
|
+
}, MenuSectionIcon && /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
className: "side-nav__list-link--icon"
|
|
23
|
+
}, /*#__PURE__*/React.createElement(MenuSectionIcon, {
|
|
24
|
+
width: "20px",
|
|
25
|
+
height: "20px"
|
|
26
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: "side-nav__list-link--label"
|
|
28
|
+
}, label)));
|
|
29
|
+
};
|
|
30
|
+
export default MenuLinkItem;
|
|
31
|
+
//# sourceMappingURL=MenuLinkItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuLinkItem.js","names":["React","Link","MenuLinkItem","item","isActive","root","label","icon","MenuSectionIcon","uri","modifier","activeModifier","createElement","className","key","to","width","height"],"sources":["../../../../src/components/Menu/Items/MenuLinkItem.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\n\nconst MenuLinkItem = ({ item, isActive, root = true }) => {\n const { label, icon: MenuSectionIcon, uri } = item;\n\n const modifier = MenuSectionIcon ? '' : 'side-nav__list-link--noIcon';\n\n const activeModifier = isActive ? 'side-nav__list-link--active' : '';\n\n return (\n <li className=\"side-nav__list--item\" key={item.label}>\n <Link to={uri} className={`side-nav__list-link ${modifier} ${activeModifier}`}>\n {MenuSectionIcon && (\n <div className=\"side-nav__list-link--icon\">\n <MenuSectionIcon width=\"20px\" height=\"20px\" />\n </div>\n )}\n <div className=\"side-nav__list-link--label\">{label}</div>\n </Link>\n </li>\n );\n};\n\nexport default MenuLinkItem;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,MAAMC,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,IAAI,GAAG;AAAK,CAAC,KAAK;EACxD,MAAM;IAAEC,KAAK;IAAEC,IAAI,EAAEC,eAAe;IAAEC;EAAI,CAAC,GAAGN,IAAI;EAElD,MAAMO,QAAQ,GAAGF,eAAe,GAAG,EAAE,GAAG,6BAA6B;EAErE,MAAMG,cAAc,GAAGP,QAAQ,GAAG,6BAA6B,GAAG,EAAE;EAEpE,oBACEJ,KAAA,CAAAY,aAAA;IAAIC,SAAS,EAAC,sBAAsB;IAACC,GAAG,EAAEX,IAAI,CAACG;EAAM,gBACnDN,KAAA,CAAAY,aAAA,CAACX,IAAI;IAACc,EAAE,EAAEN,GAAI;IAACI,SAAS,EAAG,uBAAsBH,QAAS,IAAGC,cAAe;EAAE,GAC3EH,eAAe,iBACdR,KAAA,CAAAY,aAAA;IAAKC,SAAS,EAAC;EAA2B,gBACxCb,KAAA,CAAAY,aAAA,CAACJ,eAAe;IAACQ,KAAK,EAAC,MAAM;IAACC,MAAM,EAAC;EAAM,CAAE,CAC1C,CACN,eACDjB,KAAA,CAAAY,aAAA;IAAKC,SAAS,EAAC;EAA4B,GAAEP,KAAW,CACpD,CACJ,CAAC;AAET,CAAC;AAED,eAAeJ,YAAY"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import menuHandler from '../../utils/menu-handler-singleton';
|
|
4
|
+
import MenuSection from './Section/MenuSection';
|
|
5
|
+
const Menu = ({
|
|
6
|
+
children
|
|
7
|
+
}) => {
|
|
8
|
+
const [config, setConfig] = useState();
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const loadConfig = async () => {
|
|
11
|
+
await menuHandler.loadConfig();
|
|
12
|
+
};
|
|
13
|
+
loadConfig().then(() => setConfig(menuHandler.getAll()));
|
|
14
|
+
}, []);
|
|
15
|
+
const MenuSections = () => {
|
|
16
|
+
if (!config) return null;
|
|
17
|
+
return config.map(sections => {
|
|
18
|
+
if (!sections || !Array.isArray(sections) || !sections.length) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const menuSections = sections.filter(section => section.items);
|
|
22
|
+
return menuSections.map(menuSection => /*#__PURE__*/React.createElement(MenuSection, {
|
|
23
|
+
items: menuSection
|
|
24
|
+
}));
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: "side-nav__block"
|
|
29
|
+
}, /*#__PURE__*/React.createElement("ul", {
|
|
30
|
+
className: "side-nav__list"
|
|
31
|
+
}, /*#__PURE__*/React.createElement(MenuSections, null)));
|
|
32
|
+
};
|
|
33
|
+
Menu.propTypes = {
|
|
34
|
+
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
|
|
35
|
+
};
|
|
36
|
+
Menu.defaultProps = {
|
|
37
|
+
children: null
|
|
38
|
+
};
|
|
39
|
+
export default Menu;
|
|
40
|
+
//# sourceMappingURL=Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","menuHandler","MenuSection","Menu","children","config","setConfig","loadConfig","then","getAll","MenuSections","map","sections","Array","isArray","length","menuSections","filter","section","items","menuSection","createElement","className","propTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport menuHandler from '../../utils/menu-handler-singleton';\nimport MenuSection from './Section/MenuSection';\n\nconst Menu = ({ children }) => {\n const [config, setConfig] = useState();\n\n useEffect(() => {\n const loadConfig = async () => {\n await menuHandler.loadConfig();\n };\n\n loadConfig().then(() => setConfig(menuHandler.getAll()));\n }, []);\n\n const MenuSections = () => {\n if (!config) return null;\n\n return config.map(sections => {\n if (!sections || !Array.isArray(sections) || !sections.length) {\n return null;\n }\n\n const menuSections = sections.filter(section => section.items);\n\n return menuSections.map(menuSection => <MenuSection items={menuSection} />);\n });\n };\n\n return (\n <div className=\"side-nav__block\">\n <ul className=\"side-nav__list\">\n <MenuSections />\n </ul>\n </div>\n );\n};\n\nMenu.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n children: null\n};\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,oCAAoC;AAC5D,OAAOC,WAAW,MAAM,uBAAuB;AAE/C,MAAMC,IAAI,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC7B,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGR,QAAQ,CAAC,CAAC;EAEtCC,SAAS,CAAC,MAAM;IACd,MAAMQ,UAAU,GAAG,MAAAA,CAAA,KAAY;MAC7B,MAAMN,WAAW,CAACM,UAAU,CAAC,CAAC;IAChC,CAAC;IAEDA,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,MAAMF,SAAS,CAACL,WAAW,CAACQ,MAAM,CAAC,CAAC,CAAC,CAAC;EAC1D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAI,CAACL,MAAM,EAAE,OAAO,IAAI;IAExB,OAAOA,MAAM,CAACM,GAAG,CAACC,QAAQ,IAAI;MAC5B,IAAI,CAACA,QAAQ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAACG,MAAM,EAAE;QAC7D,OAAO,IAAI;MACb;MAEA,MAAMC,YAAY,GAAGJ,QAAQ,CAACK,MAAM,CAACC,OAAO,IAAIA,OAAO,CAACC,KAAK,CAAC;MAE9D,OAAOH,YAAY,CAACL,GAAG,CAACS,WAAW,iBAAIvB,KAAA,CAAAwB,aAAA,CAACnB,WAAW;QAACiB,KAAK,EAAEC;MAAY,CAAE,CAAC,CAAC;IAC7E,CAAC,CAAC;EACJ,CAAC;EAED,oBACEvB,KAAA,CAAAwB,aAAA;IAAKC,SAAS,EAAC;EAAiB,gBAC9BzB,KAAA,CAAAwB,aAAA;IAAIC,SAAS,EAAC;EAAgB,gBAC5BzB,KAAA,CAAAwB,aAAA,CAACX,YAAY,MAAE,CACb,CACD,CAAC;AAEV,CAAC;AAEDP,IAAI,CAACoB,SAAS,GAAG;EACfnB,QAAQ,EAAEJ,SAAS,CAACwB,SAAS,CAAC,CAACxB,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAAC0B,IAAI,CAAC,EAAE1B,SAAS,CAAC0B,IAAI,CAAC;AACnF,CAAC;AAEDvB,IAAI,CAACwB,YAAY,GAAG;EAClBvB,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeD,IAAI"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import MenuSectionItems from './MenuSectionItems';
|
|
4
|
+
const MenuSection = ({
|
|
5
|
+
items,
|
|
6
|
+
children
|
|
7
|
+
}) => /*#__PURE__*/React.createElement(MenuSectionItems, {
|
|
8
|
+
sectionItems: items
|
|
9
|
+
});
|
|
10
|
+
MenuSection.propTypes = {
|
|
11
|
+
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
12
|
+
items: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
|
|
13
|
+
};
|
|
14
|
+
MenuSection.defaultProps = {
|
|
15
|
+
children: null
|
|
16
|
+
};
|
|
17
|
+
export default MenuSection;
|
|
18
|
+
//# sourceMappingURL=MenuSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuSection.js","names":["PropTypes","React","MenuSectionItems","MenuSection","items","children","createElement","sectionItems","propTypes","oneOfType","arrayOf","node","isRequired","defaultProps"],"sources":["../../../../src/components/Menu/Section/MenuSection.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport MenuSectionItems from './MenuSectionItems';\n\nconst MenuSection = ({ items, children }) => <MenuSectionItems sectionItems={items} />;\n\nMenuSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n items: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nMenuSection.defaultProps = {\n children: null\n};\n\nexport default MenuSection;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAS,CAAC,kBAAKJ,KAAA,CAAAK,aAAA,CAACJ,gBAAgB;EAACK,YAAY,EAAEH;AAAM,CAAE,CAAC;AAEtFD,WAAW,CAACK,SAAS,GAAG;EACtBH,QAAQ,EAAEL,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACU,OAAO,CAACV,SAAS,CAACW,IAAI,CAAC,EAAEX,SAAS,CAACW,IAAI,CAAC,CAAC;EAClFP,KAAK,EAAEJ,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACU,OAAO,CAACV,SAAS,CAACW,IAAI,CAAC,EAAEX,SAAS,CAACW,IAAI,CAAC,CAAC,CAACC;AAClF,CAAC;AAEDT,WAAW,CAACU,YAAY,GAAG;EACzBR,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,WAAW"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import ChevronDown from '../Icons/ChevronDown';
|
|
3
|
+
import ChevronUp from '../Icons/ChevronUp';
|
|
4
|
+
const capitalise = s => {
|
|
5
|
+
if (typeof s !== 'string') return '';
|
|
6
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
7
|
+
};
|
|
8
|
+
const MenuSectionCollapsible = ({
|
|
9
|
+
name,
|
|
10
|
+
item,
|
|
11
|
+
children
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
label,
|
|
15
|
+
loadOpen,
|
|
16
|
+
icon: MenuSectionIcon,
|
|
17
|
+
items
|
|
18
|
+
} = item;
|
|
19
|
+
const [collapsed, setCollapsed] = useState(!loadOpen);
|
|
20
|
+
const CollapseIcon = () => collapsed ? /*#__PURE__*/React.createElement(ChevronDown, null) : /*#__PURE__*/React.createElement(ChevronUp, null);
|
|
21
|
+
const handleClick = () => {
|
|
22
|
+
setCollapsed(!collapsed);
|
|
23
|
+
};
|
|
24
|
+
const modifier = collapsed ? 'side-nav__list--item' : 'side-nav__list--item__selected';
|
|
25
|
+
const buttonModifier = collapsed ? 'side-nav__list-link' : 'side-nav__list-link--selected';
|
|
26
|
+
if (name) {
|
|
27
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
28
|
+
className: modifier
|
|
29
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
30
|
+
type: "button",
|
|
31
|
+
className: buttonModifier,
|
|
32
|
+
onClick: handleClick
|
|
33
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: "side-nav__list-link--icon"
|
|
35
|
+
}, MenuSectionIcon && /*#__PURE__*/React.createElement(MenuSectionIcon, {
|
|
36
|
+
width: "20px",
|
|
37
|
+
height: "20px"
|
|
38
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
className: "side-nav__list-link--wrapper"
|
|
40
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: "side-nav__list-link--label"
|
|
42
|
+
}, capitalise(name)), /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: "side-nav__list-link--toggleCollapseIcon",
|
|
44
|
+
role: "button"
|
|
45
|
+
}, /*#__PURE__*/React.createElement(CollapseIcon, null)))), /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: "side-nav__list-link--children"
|
|
47
|
+
}, collapsed ? null : children));
|
|
48
|
+
}
|
|
49
|
+
if (label && items && Object.keys(items).length > 0) {
|
|
50
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
51
|
+
className: modifier
|
|
52
|
+
}, children);
|
|
53
|
+
}
|
|
54
|
+
if (label && items && Object.keys(items).length === 0) {
|
|
55
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
56
|
+
className: modifier
|
|
57
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
58
|
+
type: "button",
|
|
59
|
+
className: "side-nav__list-link",
|
|
60
|
+
onClick: handleClick
|
|
61
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
className: "side-nav__list-link--icon"
|
|
63
|
+
}, MenuSectionIcon && /*#__PURE__*/React.createElement(MenuSectionIcon, {
|
|
64
|
+
width: "20px",
|
|
65
|
+
height: "20px"
|
|
66
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: "side-nav__list-label"
|
|
68
|
+
}, label)));
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
};
|
|
72
|
+
export default MenuSectionCollapsible;
|
|
73
|
+
//# sourceMappingURL=MenuSectionCollapsible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuSectionCollapsible.js","names":["React","useState","ChevronDown","ChevronUp","capitalise","s","charAt","toUpperCase","slice","MenuSectionCollapsible","name","item","children","label","loadOpen","icon","MenuSectionIcon","items","collapsed","setCollapsed","CollapseIcon","createElement","handleClick","modifier","buttonModifier","className","type","onClick","width","height","role","Object","keys","length"],"sources":["../../../../src/components/Menu/Section/MenuSectionCollapsible.js"],"sourcesContent":["import React, { useState } from 'react';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\n\nconst capitalise = s => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n};\n\nconst MenuSectionCollapsible = ({ name, item, children }) => {\n const { label, loadOpen, icon: MenuSectionIcon, items } = item;\n const [collapsed, setCollapsed] = useState(!loadOpen);\n\n const CollapseIcon = () => (collapsed ? <ChevronDown /> : <ChevronUp />);\n\n const handleClick = () => {\n setCollapsed(!collapsed);\n };\n\n const modifier = collapsed ? 'side-nav__list--item' : 'side-nav__list--item__selected';\n\n const buttonModifier = collapsed ? 'side-nav__list-link' : 'side-nav__list-link--selected';\n\n if (name) {\n return (\n <li className={modifier}>\n <button type=\"button\" className={buttonModifier} onClick={handleClick}>\n <div className=\"side-nav__list-link--icon\">\n {MenuSectionIcon && <MenuSectionIcon width=\"20px\" height=\"20px\" />}\n </div>\n <div className=\"side-nav__list-link--wrapper\">\n <div className=\"side-nav__list-link--label\">{capitalise(name)}</div>\n <div className=\"side-nav__list-link--toggleCollapseIcon\" role=\"button\">\n <CollapseIcon />\n </div>\n </div>\n </button>\n <div className=\"side-nav__list-link--children\">{collapsed ? null : children}</div>\n </li>\n );\n }\n\n if (label && items && Object.keys(items).length > 0) {\n return <li className={modifier}>{children}</li>;\n }\n\n if (label && items && Object.keys(items).length === 0) {\n return (\n <li className={modifier}>\n <button type=\"button\" className=\"side-nav__list-link\" onClick={handleClick}>\n <div className=\"side-nav__list-link--icon\">\n {MenuSectionIcon && <MenuSectionIcon width=\"20px\" height=\"20px\" />}\n </div>\n <div className=\"side-nav__list-label\">{label}</div>\n </button>\n </li>\n );\n }\n\n return null;\n};\n\nexport default MenuSectionCollapsible;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import MenuItem from '../Items/MenuItem';
|
|
4
|
+
import MenuSectionCollapsible from './MenuSectionCollapsible';
|
|
5
|
+
const MenuSectionItem = ({
|
|
6
|
+
name,
|
|
7
|
+
item
|
|
8
|
+
}) => {
|
|
9
|
+
if (!item) return null;
|
|
10
|
+
if (item.uri) {
|
|
11
|
+
return /*#__PURE__*/React.createElement(MenuItem, {
|
|
12
|
+
item: item,
|
|
13
|
+
RenderItems: MenuSectionCollapsible
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (Object.values(item.items).length === 0) return null;
|
|
17
|
+
return /*#__PURE__*/React.createElement(MenuSectionCollapsible, {
|
|
18
|
+
name: name,
|
|
19
|
+
item: item
|
|
20
|
+
}, /*#__PURE__*/React.createElement(MenuItem, {
|
|
21
|
+
item: item,
|
|
22
|
+
RenderItems: MenuSectionCollapsible
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
export default MenuSectionItem;
|
|
26
|
+
MenuSectionItem.propTypes = {
|
|
27
|
+
name: PropTypes.string.isRequired,
|
|
28
|
+
item: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.object]).isRequired
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=MenuSectionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuSectionItem.js","names":["React","PropTypes","MenuItem","MenuSectionCollapsible","MenuSectionItem","name","item","uri","createElement","RenderItems","Object","values","items","length","propTypes","string","isRequired","oneOfType","arrayOf","node","object"],"sources":["../../../../src/components/Menu/Section/MenuSectionItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuItem from '../Items/MenuItem';\nimport MenuSectionCollapsible from './MenuSectionCollapsible';\n\nconst MenuSectionItem = ({ name, item }) => {\n if (!item) return null;\n\n if (item.uri) {\n return <MenuItem item={item} RenderItems={MenuSectionCollapsible} />;\n }\n\n if (Object.values(item.items).length === 0) return null;\n\n return (\n <MenuSectionCollapsible name={name} item={item}>\n <MenuItem item={item} RenderItems={MenuSectionCollapsible} />\n </MenuSectionCollapsible>\n );\n};\n\nexport default MenuSectionItem;\n\nMenuSectionItem.propTypes = {\n name: PropTypes.string.isRequired,\n item: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node, PropTypes.object])\n .isRequired\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,mBAAmB;AACxC,OAAOC,sBAAsB,MAAM,0BAA0B;AAE7D,MAAMC,eAAe,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAAK,CAAC,KAAK;EAC1C,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EAEtB,IAAIA,IAAI,CAACC,GAAG,EAAE;IACZ,oBAAOP,KAAA,CAAAQ,aAAA,CAACN,QAAQ;MAACI,IAAI,EAAEA,IAAK;MAACG,WAAW,EAAEN;IAAuB,CAAE,CAAC;EACtE;EAEA,IAAIO,MAAM,CAACC,MAAM,CAACL,IAAI,CAACM,KAAK,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEvD,oBACEb,KAAA,CAAAQ,aAAA,CAACL,sBAAsB;IAACE,IAAI,EAAEA,IAAK;IAACC,IAAI,EAAEA;EAAK,gBAC7CN,KAAA,CAAAQ,aAAA,CAACN,QAAQ;IAACI,IAAI,EAAEA,IAAK;IAACG,WAAW,EAAEN;EAAuB,CAAE,CACtC,CAAC;AAE7B,CAAC;AAED,eAAeC,eAAe;AAE9BA,eAAe,CAACU,SAAS,GAAG;EAC1BT,IAAI,EAAEJ,SAAS,CAACc,MAAM,CAACC,UAAU;EACjCV,IAAI,EAAEL,SAAS,CAACgB,SAAS,CAAC,CAAChB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,IAAI,CAAC,EAAElB,SAAS,CAACkB,IAAI,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC,CAC7FJ;AACL,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import MenuSectionItem from './MenuSectionItem';
|
|
4
|
+
const MenuSectionItems = ({
|
|
5
|
+
sectionItems
|
|
6
|
+
}) => {
|
|
7
|
+
const {
|
|
8
|
+
items
|
|
9
|
+
} = sectionItems;
|
|
10
|
+
const menuSections = Object.entries(items).sort((a, b) => a[1].order - b[1].order);
|
|
11
|
+
return menuSections.map(menuItem => /*#__PURE__*/React.createElement(MenuSectionItem, {
|
|
12
|
+
name: menuItem[0],
|
|
13
|
+
item: menuItem[1]
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
16
|
+
export default MenuSectionItems;
|
|
17
|
+
MenuSectionItems.propTypes = {
|
|
18
|
+
sectionItems: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=MenuSectionItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuSectionItems.js","names":["React","PropTypes","MenuSectionItem","MenuSectionItems","sectionItems","items","menuSections","Object","entries","sort","a","b","order","map","menuItem","createElement","name","item","propTypes","oneOfType","arrayOf","node","isRequired"],"sources":["../../../../src/components/Menu/Section/MenuSectionItems.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuSectionItem from './MenuSectionItem';\n\nconst MenuSectionItems = ({ sectionItems }) => {\n const { items } = sectionItems;\n\n const menuSections = Object.entries(items).sort((a, b) => a[1].order - b[1].order);\n\n return menuSections.map(menuItem => <MenuSectionItem name={menuItem[0]} item={menuItem[1]} />);\n};\n\nexport default MenuSectionItems;\n\nMenuSectionItems.propTypes = {\n sectionItems: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAa,CAAC,KAAK;EAC7C,MAAM;IAAEC;EAAM,CAAC,GAAGD,YAAY;EAE9B,MAAME,YAAY,GAAGC,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,CAACI,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC,CAAC,CAAC,CAACE,KAAK,GAAGD,CAAC,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC;EAElF,OAAON,YAAY,CAACO,GAAG,CAACC,QAAQ,iBAAId,KAAA,CAAAe,aAAA,CAACb,eAAe;IAACc,IAAI,EAAEF,QAAQ,CAAC,CAAC,CAAE;IAACG,IAAI,EAAEH,QAAQ,CAAC,CAAC;EAAE,CAAE,CAAC,CAAC;AAChG,CAAC;AAED,eAAeX,gBAAgB;AAE/BA,gBAAgB,CAACe,SAAS,GAAG;EAC3Bd,YAAY,EAAEH,SAAS,CAACkB,SAAS,CAAC,CAAClB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACoB,IAAI,CAAC,EAAEpB,SAAS,CAACoB,IAAI,CAAC,CAAC,CAACC;AACzF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Menu"],"sources":["../../../src/components/Menu/index.js"],"sourcesContent":["import Menu from './Menu';\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,QAAQ;AAEzB,eAAeA,IAAI"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import classnames from 'classnames';
|
|
4
3
|
import PropTypes from 'prop-types';
|
|
5
4
|
import { useApolloClient } from '@apollo/client';
|
|
6
5
|
import Avatar from '@blaze-react/avatar';
|
|
7
6
|
import { handleLogout } from '@blaze-cms/core-auth-ui';
|
|
8
|
-
import {
|
|
7
|
+
import { Link } from 'react-router-dom';
|
|
8
|
+
import Menu from '../Menu';
|
|
9
9
|
const SideBar = ({
|
|
10
|
-
menuItems,
|
|
11
10
|
isOpenMenu,
|
|
12
11
|
onMenuClick,
|
|
13
12
|
userData
|
|
@@ -15,7 +14,8 @@ const SideBar = ({
|
|
|
15
14
|
const client = useApolloClient();
|
|
16
15
|
const {
|
|
17
16
|
firstname,
|
|
18
|
-
lastname
|
|
17
|
+
lastname,
|
|
18
|
+
id
|
|
19
19
|
} = userData;
|
|
20
20
|
const username = `${firstname} ${lastname}`;
|
|
21
21
|
const sideNavClassname = classnames('side-nav', {
|
|
@@ -39,15 +39,14 @@ const SideBar = ({
|
|
|
39
39
|
className: sideNavWrapperClassname,
|
|
40
40
|
"data-testid": "sidenav",
|
|
41
41
|
id: "side-nav__wrapper"
|
|
42
|
-
},
|
|
43
|
-
key: data.header
|
|
44
|
-
}, data))) : 'Not available content types'), /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
}, /*#__PURE__*/React.createElement(Menu, null)), /*#__PURE__*/React.createElement("div", {
|
|
45
43
|
className: "side-nav__user"
|
|
46
44
|
}, /*#__PURE__*/React.createElement("div", {
|
|
47
45
|
className: "side-nav__user--info"
|
|
48
46
|
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
49
47
|
username: username
|
|
50
|
-
}), /*#__PURE__*/React.createElement(
|
|
48
|
+
}), /*#__PURE__*/React.createElement(Link, {
|
|
49
|
+
to: `/data-listing/user/update/${id}`,
|
|
51
50
|
className: "user-name"
|
|
52
51
|
}, username)), /*#__PURE__*/React.createElement("div", {
|
|
53
52
|
className: "side-nav__user--button"
|
|
@@ -64,7 +63,6 @@ const SideBar = ({
|
|
|
64
63
|
}, "Log off")));
|
|
65
64
|
};
|
|
66
65
|
SideBar.propTypes = {
|
|
67
|
-
menuItems: PropTypes.array.isRequired,
|
|
68
66
|
isOpenMenu: PropTypes.bool.isRequired,
|
|
69
67
|
onMenuClick: PropTypes.func.isRequired,
|
|
70
68
|
userData: PropTypes.object.isRequired
|