menu grant
This commit is contained in:
@@ -37,10 +37,14 @@ export const MenuCategory = ({
|
||||
const [favoriteItems, setFavoriteItems] = useState<Array<UserFavorite>>([]);
|
||||
const [menuIds, setMenuIds] = useState<Array<number | undefined>>([]);
|
||||
|
||||
const onClickToNavigate = (path?: string) => {
|
||||
if(!!path && !!setMenuOn && !editMode){
|
||||
const onClickToNavigate = (path?: string, menuId?: number) => {
|
||||
if(!!path && !!setMenuOn && !editMode && !!menuId){
|
||||
setMenuOn(false);
|
||||
navigate(path);
|
||||
navigate(path, {
|
||||
state: {
|
||||
menuId: menuId
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -121,7 +125,7 @@ export const MenuCategory = ({
|
||||
rs.push(
|
||||
<li
|
||||
key={ `menu-item-key-${menuId}-${i}` }
|
||||
onClick={ () => onClickToNavigate(subMenu[i]?.programPath) }
|
||||
onClick={ () => onClickToNavigate(subMenu[i]?.programPath, subMenu[i]?.menuId) }
|
||||
>
|
||||
<span>{ displayName }</span>
|
||||
<div className="check_box_scrap">
|
||||
|
||||
@@ -7,6 +7,8 @@ export interface UserInfoState {
|
||||
userInfo: UserInfo;
|
||||
setUserInfo: (update: SetStateAction<Partial<UserInfo>>) => void;
|
||||
resetUserInfo: () => void;
|
||||
menuGrantsByKey: Record<string, Array<string>>;
|
||||
setMenuGrantsByKey: (update: SetStateAction<Record<string, Array<string>>>) => void;
|
||||
businessInfo: BusinessInfo;
|
||||
setBusinessInfo: (update: SetStateAction<Partial<BusinessInfo>>) => void;
|
||||
|
||||
@@ -32,6 +34,7 @@ export interface UserInfoState {
|
||||
|
||||
const initialUserInfoState = {
|
||||
userInfo: {} as UserInfo,
|
||||
menuGrantsByKey: {} as Record<string, Array<string>>,
|
||||
businessInfo: {} as BusinessInfo,
|
||||
userFavorite: [] as Array<UserFavorite>,
|
||||
userMids: [] as Array<string>,
|
||||
@@ -59,6 +62,18 @@ export const createUserInfoStore = lens<UserInfoState>((set, get) => ({
|
||||
};
|
||||
});
|
||||
},
|
||||
setMenuGrantsByKey: (update) => {
|
||||
set((state: UserInfoState) => {
|
||||
const newMenuGrantsByKey = (typeof update === 'function')
|
||||
? update(state.menuGrantsByKey): update;
|
||||
return {
|
||||
...state,
|
||||
menuGrantsByKey: {
|
||||
...newMenuGrantsByKey
|
||||
},
|
||||
};
|
||||
});
|
||||
},
|
||||
setBusinessInfo: (update) => {
|
||||
set((state: UserInfoState) => {
|
||||
const newBusinessInfo = (typeof update === 'function')
|
||||
|
||||
Reference in New Issue
Block a user