remove IndexErrorCode component
This commit is contained in:
@@ -25,7 +25,7 @@ import {
|
||||
TeamOutlined,
|
||||
ClockCircleOutlined,
|
||||
CalendarOutlined,
|
||||
UsergroupAddOutlined
|
||||
UsergroupAddOutlined,
|
||||
} from '@ant-design/icons';
|
||||
|
||||
const { Text } = Typography;
|
||||
@@ -33,96 +33,111 @@ const { Text } = Typography;
|
||||
const allItems = [
|
||||
{
|
||||
key: 'home',
|
||||
icon: <HomeOutlined style={{fontSize:'19px'}} />,
|
||||
label: <Link to="/dashboard/home" className='fontMenus'>Home</Link>,
|
||||
icon: <HomeOutlined style={{ fontSize: '19px' }} />,
|
||||
label: (
|
||||
<Link to="/dashboard/home" className="fontMenus">
|
||||
Home
|
||||
</Link>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'master',
|
||||
icon: <DatabaseOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <DatabaseOutlined style={{ fontSize: '19px' }} />,
|
||||
label: 'Master',
|
||||
children: [
|
||||
{
|
||||
key: 'master-plant-section',
|
||||
icon: <ProductOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <ProductOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/master/plant-section">Plant Section</Link>,
|
||||
},
|
||||
{
|
||||
key: 'master-device',
|
||||
icon: <MobileOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <MobileOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/master/device">Device</Link>,
|
||||
},
|
||||
{
|
||||
key: 'master-tag',
|
||||
icon: <TagOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <TagOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/master/tag">Tag</Link>,
|
||||
},
|
||||
{
|
||||
key: 'master-brand-device',
|
||||
icon: <AntDesignOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <AntDesignOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/master/brand-device">Brand Device</Link>,
|
||||
},
|
||||
{
|
||||
key: 'master-error-code',
|
||||
icon: <WarningOutlined style={{fontSize:'19px'}} />,
|
||||
label: <Link to="/master/error-code">Error Code</Link>,
|
||||
},
|
||||
{
|
||||
key: 'master-status',
|
||||
icon: <SafetyOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <SafetyOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/master/status">Status</Link>,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'history',
|
||||
icon: <HistoryOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <HistoryOutlined style={{ fontSize: '19px' }} />,
|
||||
label: 'History',
|
||||
children: [
|
||||
{
|
||||
key: 'history-trending',
|
||||
icon: <LineChartOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <LineChartOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/history/trending">Trending</Link>,
|
||||
},
|
||||
{
|
||||
key: 'history-report',
|
||||
icon: <FileTextOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <FileTextOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/history/report">Report</Link>,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'notification',
|
||||
icon: <BellOutlined style={{fontSize:'19px'}} />,
|
||||
label: <Link to="/notification" className='fontMenus'>Notifikasi</Link>,
|
||||
icon: <BellOutlined style={{ fontSize: '19px' }} />,
|
||||
label: (
|
||||
<Link to="/notification" className="fontMenus">
|
||||
Notifikasi
|
||||
</Link>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'event-alarm',
|
||||
icon: <AlertOutlined style={{fontSize:'19px'}} />,
|
||||
label: <Link to="/event-alarm" className='fontMenus'>Event Alarm</Link>,
|
||||
icon: <AlertOutlined style={{ fontSize: '19px' }} />,
|
||||
label: (
|
||||
<Link to="/event-alarm" className="fontMenus">
|
||||
Event Alarm
|
||||
</Link>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'role',
|
||||
icon: <SafetyOutlined style={{fontSize:'19px'}} />,
|
||||
label: <Link to="/role" className='fontMenus'>Role</Link>,
|
||||
icon: <SafetyOutlined style={{ fontSize: '19px' }} />,
|
||||
label: (
|
||||
<Link to="/role" className="fontMenus">
|
||||
Role
|
||||
</Link>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'user',
|
||||
icon: <UserOutlined style={{fontSize:'19px'}} />,
|
||||
label: <Link to="/user" className='fontMenus'>User</Link>,
|
||||
icon: <UserOutlined style={{ fontSize: '19px' }} />,
|
||||
label: (
|
||||
<Link to="/user" className="fontMenus">
|
||||
User
|
||||
</Link>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'shift-management',
|
||||
icon: <ClockCircleOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <ClockCircleOutlined style={{ fontSize: '19px' }} />,
|
||||
label: 'Manajemen Shift',
|
||||
children: [
|
||||
{
|
||||
key: 'shift-schedule',
|
||||
icon: <CalendarOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <CalendarOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/shift-management/schedule">Jadwal Shift</Link>,
|
||||
},
|
||||
{
|
||||
key: 'shift-member',
|
||||
icon: <UsergroupAddOutlined style={{fontSize:'19px'}} />,
|
||||
icon: <UsergroupAddOutlined style={{ fontSize: '19px' }} />,
|
||||
label: <Link to="/shift-management/member">Anggota Shift</Link>,
|
||||
},
|
||||
],
|
||||
@@ -132,10 +147,10 @@ const allItems = [
|
||||
const LayoutMenu = () => {
|
||||
const [stateOpenKeys, setStateOpenKeys] = useState(['home']);
|
||||
|
||||
const getLevelKeys = items1 => {
|
||||
const getLevelKeys = (items1) => {
|
||||
const key = {};
|
||||
const func = (items2, level = 1) => {
|
||||
items2.forEach(item => {
|
||||
items2.forEach((item) => {
|
||||
if (item.key) {
|
||||
key[item.key] = level;
|
||||
}
|
||||
@@ -150,12 +165,16 @@ const LayoutMenu = () => {
|
||||
|
||||
const levelKeys = getLevelKeys(allItems);
|
||||
|
||||
const onOpenChange = openKeys => {
|
||||
const currentOpenKey = openKeys.find(key => stateOpenKeys.indexOf(key) === -1);
|
||||
const onOpenChange = (openKeys) => {
|
||||
const currentOpenKey = openKeys.find((key) => stateOpenKeys.indexOf(key) === -1);
|
||||
if (currentOpenKey !== undefined) {
|
||||
const repeatIndex = openKeys.filter(key => key !== currentOpenKey).findIndex(key => levelKeys[key] === levelKeys[currentOpenKey]);
|
||||
const repeatIndex = openKeys
|
||||
.filter((key) => key !== currentOpenKey)
|
||||
.findIndex((key) => levelKeys[key] === levelKeys[currentOpenKey]);
|
||||
setStateOpenKeys(
|
||||
openKeys.filter((_, index) => index !== repeatIndex).filter(key => levelKeys[key] <= levelKeys[currentOpenKey]),
|
||||
openKeys
|
||||
.filter((_, index) => index !== repeatIndex)
|
||||
.filter((key) => levelKeys[key] <= levelKeys[currentOpenKey])
|
||||
);
|
||||
} else {
|
||||
setStateOpenKeys(openKeys);
|
||||
@@ -165,26 +184,28 @@ const LayoutMenu = () => {
|
||||
const session = getSessionData();
|
||||
const isAdmin = session?.user?.user_id;
|
||||
|
||||
const karyawan = ()=>{
|
||||
return allItems.filter(
|
||||
item => item.key !== 'setting'
|
||||
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
||||
// && item.key !== 'master'
|
||||
// && item.key !== 'master'
|
||||
).map(item=>{
|
||||
if(item.key === 'master'){
|
||||
return{
|
||||
...item,
|
||||
// buka command dibawah jika terdapat sub menu yang di sembunyikan
|
||||
// children: item.children.filter(
|
||||
// child => child.key !== 'master-product'
|
||||
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
||||
// && child.key !== 'master-service'
|
||||
// )
|
||||
const karyawan = () => {
|
||||
return allItems
|
||||
.filter(
|
||||
(item) => item.key !== 'setting'
|
||||
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
||||
// && item.key !== 'master'
|
||||
// && item.key !== 'master'
|
||||
)
|
||||
.map((item) => {
|
||||
if (item.key === 'master') {
|
||||
return {
|
||||
...item,
|
||||
// buka command dibawah jika terdapat sub menu yang di sembunyikan
|
||||
// children: item.children.filter(
|
||||
// child => child.key !== 'master-product'
|
||||
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
||||
// && child.key !== 'master-service'
|
||||
// )
|
||||
};
|
||||
}
|
||||
}
|
||||
return item;
|
||||
});
|
||||
return item;
|
||||
});
|
||||
};
|
||||
const items = isAdmin === 1 ? allItems : karyawan();
|
||||
|
||||
@@ -205,4 +226,4 @@ const LayoutMenu = () => {
|
||||
/>
|
||||
);
|
||||
};
|
||||
export default LayoutMenu;
|
||||
export default LayoutMenu;
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
import React, { memo, useEffect } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { useBreadcrumb } from '../../../layout/LayoutBreadcrumb';
|
||||
import { Typography } from 'antd';
|
||||
|
||||
const { Text } = Typography;
|
||||
|
||||
const IndexErrorCode = memo(function IndexErrorCode() {
|
||||
const navigate = useNavigate();
|
||||
const { setBreadcrumbItems } = useBreadcrumb();
|
||||
|
||||
useEffect(() => {
|
||||
const token = localStorage.getItem('token');
|
||||
if (token) {
|
||||
setBreadcrumbItems([
|
||||
{ title: <Text strong style={{ fontSize: '14px' }}>• Master</Text> },
|
||||
{ title: <Text strong style={{ fontSize: '14px' }}>Error Code</Text> }
|
||||
]);
|
||||
} else {
|
||||
navigate('/signin');
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h1>Error Code Page</h1>
|
||||
</div>
|
||||
);
|
||||
});
|
||||
|
||||
export default IndexErrorCode;
|
||||
Reference in New Issue
Block a user