mirror of
https://github.com/strapi/strapi.git
synced 2025-12-26 14:44:31 +00:00
Move the general section in its own
Signed-off-by: soupette <cyril.lpz@gmail.com>
This commit is contained in:
parent
92c3d2ee1f
commit
30d8d08cc4
@ -1,18 +0,0 @@
|
||||
// I am keeping this file if we want to join the scrollbars again
|
||||
import styled from 'styled-components';
|
||||
|
||||
const LeftMenuSection = styled.div`
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
|
||||
&:first-child {
|
||||
overflow: hidden;
|
||||
max-height: 180px;
|
||||
height: auto;
|
||||
flex: 0 1 auto;
|
||||
}
|
||||
`;
|
||||
|
||||
export default LeftMenuSection;
|
||||
@ -4,8 +4,6 @@ import { useLocation } from 'react-router-dom';
|
||||
import PropTypes from 'prop-types';
|
||||
import { get, snakeCase, isEmpty } from 'lodash';
|
||||
|
||||
import { SETTINGS_BASE_URL } from '../../../config';
|
||||
import Wrapper from './Wrapper';
|
||||
import messages from './messages.json';
|
||||
|
||||
import LeftMenuLinkSection from '../LeftMenuLinkSection';
|
||||
@ -59,43 +57,39 @@ const LeftMenuLinkContainer = ({ plugins }) => {
|
||||
emptyLinksListMessage: messages.noPluginsInstalled.id,
|
||||
links: pluginsLinks,
|
||||
},
|
||||
general: {
|
||||
searchable: false,
|
||||
name: 'general',
|
||||
links: [
|
||||
{
|
||||
icon: 'list',
|
||||
label: messages.listPlugins.id,
|
||||
destination: '/list-plugins',
|
||||
},
|
||||
{
|
||||
icon: 'shopping-basket',
|
||||
label: messages.installNewPlugin.id,
|
||||
destination: '/marketplace',
|
||||
},
|
||||
{
|
||||
icon: 'cog',
|
||||
label: messages.settings.id,
|
||||
destination: SETTINGS_BASE_URL,
|
||||
},
|
||||
],
|
||||
},
|
||||
// general: {
|
||||
// searchable: false,
|
||||
// name: 'general',
|
||||
// links: [
|
||||
// {
|
||||
// icon: 'list',
|
||||
// label: messages.listPlugins.id,
|
||||
// destination: '/list-plugins',
|
||||
// },
|
||||
// {
|
||||
// icon: 'shopping-basket',
|
||||
// label: messages.installNewPlugin.id,
|
||||
// destination: '/marketplace',
|
||||
// },
|
||||
// {
|
||||
// icon: 'cog',
|
||||
// label: messages.settings.id,
|
||||
// destination: SETTINGS_BASE_URL,
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
};
|
||||
|
||||
return (
|
||||
<Wrapper>
|
||||
{Object.keys(menu).map(current => (
|
||||
<LeftMenuLinkSection
|
||||
key={current}
|
||||
links={menu[current].links}
|
||||
section={current}
|
||||
location={location}
|
||||
searchable={menu[current].searchable}
|
||||
emptyLinksListMessage={menu[current].emptyLinksListMessage}
|
||||
/>
|
||||
))}
|
||||
</Wrapper>
|
||||
);
|
||||
return Object.keys(menu).map(current => (
|
||||
<LeftMenuLinkSection
|
||||
key={current}
|
||||
links={menu[current].links}
|
||||
section={current}
|
||||
location={location}
|
||||
searchable={menu[current].searchable}
|
||||
emptyLinksListMessage={menu[current].emptyLinksListMessage}
|
||||
/>
|
||||
));
|
||||
};
|
||||
|
||||
LeftMenuLinkContainer.propTypes = {
|
||||
|
||||
@ -0,0 +1,31 @@
|
||||
import styled from 'styled-components';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const LinksContainer = styled.div`
|
||||
padding-top: 0.7rem;
|
||||
position: absolute;
|
||||
top: ${props => props.theme.main.sizes.leftMenu.height};
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow-y: auto;
|
||||
height: calc(100vh - (${props => props.theme.main.sizes.leftMenu.height} + 3rem));
|
||||
box-sizing: border-box;
|
||||
`;
|
||||
|
||||
LinksContainer.defaultProps = {
|
||||
theme: {
|
||||
main: {
|
||||
sizes: {
|
||||
header: {},
|
||||
leftMenu: {},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
LinksContainer.propTypes = {
|
||||
theme: PropTypes.object,
|
||||
};
|
||||
|
||||
export default LinksContainer;
|
||||
@ -1,3 +1,5 @@
|
||||
export { default as LeftMenuFooter } from './LeftMenuFooter';
|
||||
export { default as LeftMenuHeader } from './LeftMenuHeader';
|
||||
export { default as LeftMenuLinkContainer } from './LeftMenuLinkContainer';
|
||||
export { default as LinksContainer } from './LinksContainer';
|
||||
export { default as LeftMenuLinksSection } from './LeftMenuLinkSection';
|
||||
|
||||
@ -6,17 +6,53 @@
|
||||
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { LeftMenuFooter, LeftMenuHeader, LeftMenuLinkContainer } from '../../components/LeftMenu';
|
||||
import { useLocation } from 'react-router-dom';
|
||||
import {
|
||||
LeftMenuLinksSection,
|
||||
LeftMenuFooter,
|
||||
LeftMenuHeader,
|
||||
LeftMenuLinkContainer,
|
||||
LinksContainer,
|
||||
} from '../../components/LeftMenu';
|
||||
import { SETTINGS_BASE_URL } from '../../config';
|
||||
|
||||
import Wrapper from './Wrapper';
|
||||
|
||||
const LeftMenu = ({ version, plugins }) => (
|
||||
<Wrapper>
|
||||
<LeftMenuHeader />
|
||||
<LeftMenuLinkContainer plugins={plugins} />
|
||||
<LeftMenuFooter key="footer" version={version} />
|
||||
</Wrapper>
|
||||
);
|
||||
const LeftMenu = ({ version, plugins }) => {
|
||||
const location = useLocation();
|
||||
const general = {
|
||||
searchable: false,
|
||||
name: 'general',
|
||||
links: [
|
||||
{
|
||||
icon: 'list',
|
||||
label: 'app.components.LeftMenuLinkContainer.listPlugins',
|
||||
destination: '/list-plugins',
|
||||
},
|
||||
{
|
||||
icon: 'shopping-basket',
|
||||
label: 'app.components.LeftMenuLinkContainer.installNewPlugin',
|
||||
destination: '/marketplace',
|
||||
},
|
||||
{
|
||||
icon: 'cog',
|
||||
label: 'app.components.LeftMenuLinkContainer.settings',
|
||||
destination: SETTINGS_BASE_URL,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
return (
|
||||
<Wrapper>
|
||||
<LeftMenuHeader />
|
||||
<LinksContainer>
|
||||
<LeftMenuLinkContainer plugins={plugins} />
|
||||
<LeftMenuLinksSection section="general" {...general} location={location} />
|
||||
</LinksContainer>
|
||||
<LeftMenuFooter key="footer" version={version} />
|
||||
</Wrapper>
|
||||
);
|
||||
};
|
||||
|
||||
LeftMenu.propTypes = {
|
||||
version: PropTypes.string.isRequired,
|
||||
|
||||
@ -1,223 +1,446 @@
|
||||
const data = [
|
||||
// Admin marketplace
|
||||
{
|
||||
action: 'admin::marketplace.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::marketplace.plugins.install',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::marketplace.plugins.uninstall',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
const data = {
|
||||
user1: [
|
||||
// Admin marketplace
|
||||
{
|
||||
action: 'admin::marketplace.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::marketplace.plugins.install',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::marketplace.plugins.uninstall',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Admin webhooks
|
||||
{
|
||||
action: 'admin::webhooks.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
// Admin webhooks
|
||||
{
|
||||
action: 'admin::webhooks.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Admin users
|
||||
{
|
||||
action: 'admin::users.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
// Admin users
|
||||
{
|
||||
action: 'admin::users.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Admin roles
|
||||
{
|
||||
action: 'admin::roles.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
// Admin roles
|
||||
{
|
||||
action: 'admin::roles.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Content type builder
|
||||
{
|
||||
action: 'plugins::content-type-builder.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
// Content type builder
|
||||
{
|
||||
action: 'plugins::content-type-builder.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
|
||||
// Documentation plugin
|
||||
{
|
||||
action: 'plugins::documentation.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::documentation.settings.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::documentation.settings.regenerate',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
// Documentation plugin
|
||||
{
|
||||
action: 'plugins::documentation.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::documentation.settings.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::documentation.settings.regenerate',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
|
||||
// Upload plugin
|
||||
{
|
||||
action: 'plugins::upload.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.dowload',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.copy-link',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
// Upload plugin
|
||||
{
|
||||
action: 'plugins::upload.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.dowload',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.copy-link',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
|
||||
// Users-permissions
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.email-templates.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.email-templates.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.providers.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.providers.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.advanced-settings.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.advanced-settings.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
];
|
||||
// Users-permissions
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.email-templates.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.email-templates.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.providers.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.providers.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.advanced-settings.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.advanced-settings.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
],
|
||||
user2: [
|
||||
// Admin marketplace
|
||||
{
|
||||
action: 'admin::marketplace.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::marketplace.plugins.install',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::marketplace.plugins.uninstall',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Admin webhooks
|
||||
{
|
||||
action: 'admin::webhooks.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::webhooks.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Admin users
|
||||
{
|
||||
action: 'admin::users.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::users.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Admin roles
|
||||
{
|
||||
action: 'admin::roles.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
{
|
||||
action: 'admin::roles.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: [],
|
||||
},
|
||||
|
||||
// Content type builder
|
||||
{
|
||||
action: 'plugins::content-type-builder.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
|
||||
// Documentation plugin
|
||||
// {
|
||||
// action: 'plugins::documentation.read',
|
||||
// subject: null,
|
||||
// fields: null,
|
||||
// conditions: null,
|
||||
// },
|
||||
// {
|
||||
// action: 'plugins::documentation.settings.update',
|
||||
// subject: null,
|
||||
// fields: null,
|
||||
// conditions: null,
|
||||
// },
|
||||
// {
|
||||
// action: 'plugins::documentation.settings.regenerate',
|
||||
// subject: null,
|
||||
// fields: null,
|
||||
// conditions: null,
|
||||
// },
|
||||
|
||||
// Upload plugin
|
||||
{
|
||||
action: 'plugins::upload.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.dowload',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::upload.assets.copy-link',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
|
||||
// Users-permissions
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.create',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.roles.delete',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.email-templates.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.email-templates.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.providers.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.providers.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.advanced-settings.read',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
{
|
||||
action: 'plugins::users-permissions.advanced-settings.update',
|
||||
subject: null,
|
||||
fields: null,
|
||||
conditions: null,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default data;
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import UserContext from '../../contexts/UserContext';
|
||||
|
||||
const UserProvider = ({ children, value }) => {
|
||||
return <UserContext.Provider value={value}>{children}</UserContext.Provider>;
|
||||
};
|
||||
|
||||
UserProvider.propTypes = {
|
||||
children: PropTypes.node.isRequired,
|
||||
};
|
||||
|
||||
export default UserProvider;
|
||||
@ -0,0 +1,11 @@
|
||||
/**
|
||||
*
|
||||
* UserContext
|
||||
*
|
||||
*/
|
||||
|
||||
import { createContext } from 'react';
|
||||
|
||||
const UserContext = createContext();
|
||||
|
||||
export default UserContext;
|
||||
@ -77,10 +77,12 @@ export { default as Row } from './components/Row';
|
||||
export { default as SearchInfo } from './components/SearchInfo';
|
||||
export { default as SelectNav } from './components/SelectNav';
|
||||
export { default as SelectWrapper } from './components/SelectWrapper';
|
||||
export { default as UserProvider } from './components/UserProvider';
|
||||
export { default as ViewContainer } from './components/ViewContainer';
|
||||
|
||||
// Contexts
|
||||
export { GlobalContext, GlobalContextProvider, useGlobalContext } from './contexts/GlobalContext';
|
||||
export { default as UserContext } from './contexts/UserContext';
|
||||
|
||||
// Hooks
|
||||
export { default as useQuery } from './hooks/useQuery';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user