refacto header depending on rules
This commit is contained in:
parent
2adc72de41
commit
0f8fe65226
@ -13,4 +13,7 @@ export enum AppRuleActions {
|
|||||||
export enum AppRuleNames {
|
export enum AppRuleNames {
|
||||||
users = "users",
|
users = "users",
|
||||||
officeFolders = "folders",
|
officeFolders = "folders",
|
||||||
|
officeRoles = "office-roles",
|
||||||
|
deedTypes = "deed-types",
|
||||||
|
offices = "offices"
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ import React from "react";
|
|||||||
|
|
||||||
import NavigationLink from "../../NavigationLink";
|
import NavigationLink from "../../NavigationLink";
|
||||||
import classes from "./classes.module.scss";
|
import classes from "./classes.module.scss";
|
||||||
|
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
|
||||||
|
import { AppRuleActions, AppRuleNames } from "@Front/Api/Entities/rule";
|
||||||
|
|
||||||
type IProps = {
|
type IProps = {
|
||||||
isOpen: boolean;
|
isOpen: boolean;
|
||||||
@ -32,49 +34,94 @@ export default class BurgerModal extends React.Component<IProps, IState> {
|
|||||||
text="Dossiers archivés"
|
text="Dossiers archivés"
|
||||||
routesActive={[Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path]}
|
routesActive={[Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path]}
|
||||||
/>
|
/>
|
||||||
<NavigationLink
|
<Rules
|
||||||
path={Module.getInstance().get().modules.pages.Collaborators.props.path}
|
mode={RulesMode.NECESSARY}
|
||||||
text="Collaborateurs"
|
rules={[
|
||||||
routesActive={[Module.getInstance().get().modules.pages.Collaborators.props.path]}
|
{
|
||||||
/>
|
action: AppRuleActions.update,
|
||||||
<NavigationLink
|
name: AppRuleNames.officeRoles,
|
||||||
path={Module.getInstance().get().modules.pages.DeedTypes.props.path}
|
},
|
||||||
text="Paramétrage des listes de pièces"
|
]}>
|
||||||
routesActive={[
|
<NavigationLink
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.props.path,
|
path={Module.getInstance().get().modules.pages.Collaborators.props.path}
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.pages.Create.props.path,
|
text="Collaborateurs"
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.pages.DeedTypesInformations.props.path,
|
routesActive={[Module.getInstance().get().modules.pages.Collaborators.props.path]}
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.pages.Edit.props.path,
|
/>
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.Edit.props.path,
|
</Rules>
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.Create.props.path,
|
<Rules
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.DocumentTypesInformations.props.path,
|
mode={RulesMode.NECESSARY}
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.props.path,
|
rules={[
|
||||||
]}
|
{
|
||||||
/>
|
action: AppRuleActions.update,
|
||||||
<NavigationLink
|
name: AppRuleNames.deedTypes,
|
||||||
path={Module.getInstance().get().modules.pages.Roles.props.path}
|
},
|
||||||
text="Gestion des rôles"
|
]}>
|
||||||
routesActive={[
|
<NavigationLink
|
||||||
Module.getInstance().get().modules.pages.Roles.props.path,
|
path={Module.getInstance().get().modules.pages.DeedTypes.props.path}
|
||||||
Module.getInstance().get().modules.pages.Roles.pages.RolesInformations.props.path,
|
text="Paramétrage des listes de pièces"
|
||||||
]}
|
routesActive={[
|
||||||
/>
|
Module.getInstance().get().modules.pages.DeedTypes.props.path,
|
||||||
<NavigationLink
|
Module.getInstance().get().modules.pages.DeedTypes.pages.Create.props.path,
|
||||||
path={Module.getInstance().get().modules.pages.Users.props.path}
|
Module.getInstance().get().modules.pages.DeedTypes.pages.DeedTypesInformations.props.path,
|
||||||
text="Gestion des utilisateurs"
|
Module.getInstance().get().modules.pages.DeedTypes.pages.Edit.props.path,
|
||||||
routesActive={[
|
Module.getInstance().get().modules.pages.DocumentTypes.pages.Edit.props.path,
|
||||||
Module.getInstance().get().modules.pages.Users.props.path,
|
Module.getInstance().get().modules.pages.DocumentTypes.pages.Create.props.path,
|
||||||
Module.getInstance().get().modules.pages.Users.pages.UsersInformations.props.path,
|
Module.getInstance().get().modules.pages.DocumentTypes.pages.DocumentTypesInformations.props.path,
|
||||||
]}
|
Module.getInstance().get().modules.pages.DocumentTypes.props.path,
|
||||||
/>
|
]}
|
||||||
<NavigationLink
|
/>
|
||||||
path={Module.getInstance().get().modules.pages.Offices.props.path}
|
</Rules>
|
||||||
text="Gestion des offices"
|
<Rules
|
||||||
routesActive={[
|
mode={RulesMode.NECESSARY}
|
||||||
Module.getInstance().get().modules.pages.Offices.props.path,
|
rules={[
|
||||||
Module.getInstance().get().modules.pages.Offices.pages.OfficesInformations.props.path,
|
{
|
||||||
]}
|
action: AppRuleActions.update,
|
||||||
/>
|
name: AppRuleNames.officeRoles,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<NavigationLink
|
||||||
|
path={Module.getInstance().get().modules.pages.Roles.props.path}
|
||||||
|
text="Gestion des rôles"
|
||||||
|
routesActive={[
|
||||||
|
Module.getInstance().get().modules.pages.Roles.props.path,
|
||||||
|
Module.getInstance().get().modules.pages.Roles.pages.RolesInformations.props.path,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
|
<Rules
|
||||||
|
mode={RulesMode.NECESSARY}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
action: AppRuleActions.create,
|
||||||
|
name: AppRuleNames.officeRoles,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<NavigationLink
|
||||||
|
path={Module.getInstance().get().modules.pages.Users.props.path}
|
||||||
|
text="Gestion des utilisateurs"
|
||||||
|
routesActive={[
|
||||||
|
Module.getInstance().get().modules.pages.Users.props.path,
|
||||||
|
Module.getInstance().get().modules.pages.Users.pages.UsersInformations.props.path,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
|
<Rules
|
||||||
|
mode={RulesMode.NECESSARY}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
action: AppRuleActions.update,
|
||||||
|
name: AppRuleNames.offices,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<NavigationLink
|
||||||
|
path={Module.getInstance().get().modules.pages.Offices.props.path}
|
||||||
|
text="Gestion des offices"
|
||||||
|
routesActive={[
|
||||||
|
Module.getInstance().get().modules.pages.Offices.props.path,
|
||||||
|
Module.getInstance().get().modules.pages.Offices.pages.OfficesInformations.props.path,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
<NavigationLink path={Module.getInstance().get().modules.pages.MyAccount.props.path} text="Mon compte" />
|
<NavigationLink path={Module.getInstance().get().modules.pages.MyAccount.props.path} text="Mon compte" />
|
||||||
<NavigationLink text="CGU" />
|
<NavigationLink text="CGU" />
|
||||||
<div className={classes["separator"]} />
|
<div className={classes["separator"]} />
|
||||||
|
@ -3,6 +3,8 @@ import React from "react";
|
|||||||
|
|
||||||
import HeaderLink from "../HeaderLink";
|
import HeaderLink from "../HeaderLink";
|
||||||
import classes from "./classes.module.scss";
|
import classes from "./classes.module.scss";
|
||||||
|
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
|
||||||
|
import { AppRuleActions, AppRuleNames } from "@Front/Api/Entities/rule";
|
||||||
|
|
||||||
type IProps = {};
|
type IProps = {};
|
||||||
type IState = {};
|
type IState = {};
|
||||||
@ -24,11 +26,20 @@ export default class Navigation extends React.Component<IProps, IState> {
|
|||||||
path={Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path}
|
path={Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path}
|
||||||
routesActive={[Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path]}
|
routesActive={[Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path]}
|
||||||
/>
|
/>
|
||||||
<HeaderLink
|
<Rules
|
||||||
text={"Collaborateurs"}
|
mode={RulesMode.NECESSARY}
|
||||||
path={Module.getInstance().get().modules.pages.Collaborators.props.path}
|
rules={[
|
||||||
routesActive={[Module.getInstance().get().modules.pages.Collaborators.props.path]}
|
{
|
||||||
/>
|
action: AppRuleActions.update,
|
||||||
|
name: AppRuleNames.officeRoles,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<HeaderLink
|
||||||
|
text={"Collaborateurs"}
|
||||||
|
path={Module.getInstance().get().modules.pages.Collaborators.props.path}
|
||||||
|
routesActive={[Module.getInstance().get().modules.pages.Collaborators.props.path]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,8 @@ import React from "react";
|
|||||||
|
|
||||||
import NavigationLink from "../../NavigationLink";
|
import NavigationLink from "../../NavigationLink";
|
||||||
import classes from "./classes.module.scss";
|
import classes from "./classes.module.scss";
|
||||||
|
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
|
||||||
|
import { AppRuleActions, AppRuleNames } from "@Front/Api/Entities/rule";
|
||||||
|
|
||||||
type IProps = {
|
type IProps = {
|
||||||
isOpen: boolean;
|
isOpen: boolean;
|
||||||
@ -20,44 +22,80 @@ export default class ProfileModal extends React.Component<IProps, IState> {
|
|||||||
<div className={classes["background"]} onClick={this.props.closeModal} />
|
<div className={classes["background"]} onClick={this.props.closeModal} />
|
||||||
<div className={classes["root"]}>
|
<div className={classes["root"]}>
|
||||||
<NavigationLink path={Module.getInstance().get().modules.pages.MyAccount.props.path} text="Mon compte" />
|
<NavigationLink path={Module.getInstance().get().modules.pages.MyAccount.props.path} text="Mon compte" />
|
||||||
<NavigationLink
|
<Rules
|
||||||
path={Module.getInstance().get().modules.pages.Roles.props.path}
|
mode={RulesMode.NECESSARY}
|
||||||
text="Gestion des rôles"
|
rules={[
|
||||||
routesActive={[
|
{
|
||||||
Module.getInstance().get().modules.pages.Roles.props.path,
|
action: AppRuleActions.update,
|
||||||
Module.getInstance().get().modules.pages.Roles.pages.RolesInformations.props.path,
|
name: AppRuleNames.officeRoles,
|
||||||
]}
|
},
|
||||||
/>
|
]}>
|
||||||
<NavigationLink
|
<NavigationLink
|
||||||
path={Module.getInstance().get().modules.pages.DeedTypes.props.path}
|
path={Module.getInstance().get().modules.pages.Roles.props.path}
|
||||||
text="Paramétrage des listes de pièces"
|
text="Gestion des rôles"
|
||||||
routesActive={[
|
routesActive={[
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.props.path,
|
Module.getInstance().get().modules.pages.Roles.props.path,
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.pages.Create.props.path,
|
Module.getInstance().get().modules.pages.Roles.pages.RolesInformations.props.path,
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.pages.DeedTypesInformations.props.path,
|
]}
|
||||||
Module.getInstance().get().modules.pages.DeedTypes.pages.Edit.props.path,
|
/>
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.Edit.props.path,
|
</Rules>
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.Create.props.path,
|
<Rules
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.DocumentTypesInformations.props.path,
|
mode={RulesMode.NECESSARY}
|
||||||
Module.getInstance().get().modules.pages.DocumentTypes.props.path,
|
rules={[
|
||||||
]}
|
{
|
||||||
/>
|
action: AppRuleActions.update,
|
||||||
<NavigationLink
|
name: AppRuleNames.deedTypes,
|
||||||
path={Module.getInstance().get().modules.pages.Users.props.path}
|
},
|
||||||
text="Gestion des utilisateurs"
|
]}>
|
||||||
routesActive={[
|
<NavigationLink
|
||||||
Module.getInstance().get().modules.pages.Users.props.path,
|
path={Module.getInstance().get().modules.pages.DeedTypes.props.path}
|
||||||
Module.getInstance().get().modules.pages.Users.pages.UsersInformations.props.path,
|
text="Paramétrage des listes de pièces"
|
||||||
]}
|
routesActive={[
|
||||||
/>
|
Module.getInstance().get().modules.pages.DeedTypes.props.path,
|
||||||
<NavigationLink
|
Module.getInstance().get().modules.pages.DeedTypes.pages.Create.props.path,
|
||||||
path={Module.getInstance().get().modules.pages.Offices.props.path}
|
Module.getInstance().get().modules.pages.DeedTypes.pages.DeedTypesInformations.props.path,
|
||||||
text="Gestion des offices"
|
Module.getInstance().get().modules.pages.DeedTypes.pages.Edit.props.path,
|
||||||
routesActive={[
|
Module.getInstance().get().modules.pages.DocumentTypes.pages.Edit.props.path,
|
||||||
Module.getInstance().get().modules.pages.Offices.props.path,
|
Module.getInstance().get().modules.pages.DocumentTypes.pages.Create.props.path,
|
||||||
Module.getInstance().get().modules.pages.Offices.pages.OfficesInformations.props.path,
|
Module.getInstance().get().modules.pages.DocumentTypes.pages.DocumentTypesInformations.props.path,
|
||||||
]}
|
Module.getInstance().get().modules.pages.DocumentTypes.props.path,
|
||||||
/>
|
]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
|
<Rules
|
||||||
|
mode={RulesMode.NECESSARY}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
action: AppRuleActions.create,
|
||||||
|
name: AppRuleNames.officeRoles,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<NavigationLink
|
||||||
|
path={Module.getInstance().get().modules.pages.Users.props.path}
|
||||||
|
text="Gestion des utilisateurs"
|
||||||
|
routesActive={[
|
||||||
|
Module.getInstance().get().modules.pages.Users.props.path,
|
||||||
|
Module.getInstance().get().modules.pages.Users.pages.UsersInformations.props.path,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
|
<Rules
|
||||||
|
mode={RulesMode.NECESSARY}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
action: AppRuleActions.update,
|
||||||
|
name: AppRuleNames.offices,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<NavigationLink
|
||||||
|
path={Module.getInstance().get().modules.pages.Offices.props.path}
|
||||||
|
text="Gestion des offices"
|
||||||
|
routesActive={[
|
||||||
|
Module.getInstance().get().modules.pages.Offices.props.path,
|
||||||
|
Module.getInstance().get().modules.pages.Offices.pages.OfficesInformations.props.path,
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</Rules>
|
||||||
<NavigationLink text="CGU" />
|
<NavigationLink text="CGU" />
|
||||||
<div className={classes["separator"]} />
|
<div className={classes["separator"]} />
|
||||||
<LogOutButton />
|
<LogOutButton />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user