remove IndexErrorCode component
This commit is contained in:
@@ -25,7 +25,7 @@ import {
|
|||||||
TeamOutlined,
|
TeamOutlined,
|
||||||
ClockCircleOutlined,
|
ClockCircleOutlined,
|
||||||
CalendarOutlined,
|
CalendarOutlined,
|
||||||
UsergroupAddOutlined
|
UsergroupAddOutlined,
|
||||||
} from '@ant-design/icons';
|
} from '@ant-design/icons';
|
||||||
|
|
||||||
const { Text } = Typography;
|
const { Text } = Typography;
|
||||||
@@ -33,96 +33,111 @@ const { Text } = Typography;
|
|||||||
const allItems = [
|
const allItems = [
|
||||||
{
|
{
|
||||||
key: 'home',
|
key: 'home',
|
||||||
icon: <HomeOutlined style={{fontSize:'19px'}} />,
|
icon: <HomeOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/dashboard/home" className='fontMenus'>Home</Link>,
|
label: (
|
||||||
|
<Link to="/dashboard/home" className="fontMenus">
|
||||||
|
Home
|
||||||
|
</Link>
|
||||||
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'master',
|
key: 'master',
|
||||||
icon: <DatabaseOutlined style={{fontSize:'19px'}} />,
|
icon: <DatabaseOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: 'Master',
|
label: 'Master',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
key: 'master-plant-section',
|
key: 'master-plant-section',
|
||||||
icon: <ProductOutlined style={{fontSize:'19px'}} />,
|
icon: <ProductOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/master/plant-section">Plant Section</Link>,
|
label: <Link to="/master/plant-section">Plant Section</Link>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'master-device',
|
key: 'master-device',
|
||||||
icon: <MobileOutlined style={{fontSize:'19px'}} />,
|
icon: <MobileOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/master/device">Device</Link>,
|
label: <Link to="/master/device">Device</Link>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'master-tag',
|
key: 'master-tag',
|
||||||
icon: <TagOutlined style={{fontSize:'19px'}} />,
|
icon: <TagOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/master/tag">Tag</Link>,
|
label: <Link to="/master/tag">Tag</Link>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'master-brand-device',
|
key: 'master-brand-device',
|
||||||
icon: <AntDesignOutlined style={{fontSize:'19px'}} />,
|
icon: <AntDesignOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/master/brand-device">Brand Device</Link>,
|
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',
|
key: 'master-status',
|
||||||
icon: <SafetyOutlined style={{fontSize:'19px'}} />,
|
icon: <SafetyOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/master/status">Status</Link>,
|
label: <Link to="/master/status">Status</Link>,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'history',
|
key: 'history',
|
||||||
icon: <HistoryOutlined style={{fontSize:'19px'}} />,
|
icon: <HistoryOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: 'History',
|
label: 'History',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
key: 'history-trending',
|
key: 'history-trending',
|
||||||
icon: <LineChartOutlined style={{fontSize:'19px'}} />,
|
icon: <LineChartOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/history/trending">Trending</Link>,
|
label: <Link to="/history/trending">Trending</Link>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'history-report',
|
key: 'history-report',
|
||||||
icon: <FileTextOutlined style={{fontSize:'19px'}} />,
|
icon: <FileTextOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/history/report">Report</Link>,
|
label: <Link to="/history/report">Report</Link>,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'notification',
|
key: 'notification',
|
||||||
icon: <BellOutlined style={{fontSize:'19px'}} />,
|
icon: <BellOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/notification" className='fontMenus'>Notifikasi</Link>,
|
label: (
|
||||||
|
<Link to="/notification" className="fontMenus">
|
||||||
|
Notifikasi
|
||||||
|
</Link>
|
||||||
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'event-alarm',
|
key: 'event-alarm',
|
||||||
icon: <AlertOutlined style={{fontSize:'19px'}} />,
|
icon: <AlertOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/event-alarm" className='fontMenus'>Event Alarm</Link>,
|
label: (
|
||||||
|
<Link to="/event-alarm" className="fontMenus">
|
||||||
|
Event Alarm
|
||||||
|
</Link>
|
||||||
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'role',
|
key: 'role',
|
||||||
icon: <SafetyOutlined style={{fontSize:'19px'}} />,
|
icon: <SafetyOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/role" className='fontMenus'>Role</Link>,
|
label: (
|
||||||
|
<Link to="/role" className="fontMenus">
|
||||||
|
Role
|
||||||
|
</Link>
|
||||||
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'user',
|
key: 'user',
|
||||||
icon: <UserOutlined style={{fontSize:'19px'}} />,
|
icon: <UserOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/user" className='fontMenus'>User</Link>,
|
label: (
|
||||||
|
<Link to="/user" className="fontMenus">
|
||||||
|
User
|
||||||
|
</Link>
|
||||||
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'shift-management',
|
key: 'shift-management',
|
||||||
icon: <ClockCircleOutlined style={{fontSize:'19px'}} />,
|
icon: <ClockCircleOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: 'Manajemen Shift',
|
label: 'Manajemen Shift',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
key: 'shift-schedule',
|
key: 'shift-schedule',
|
||||||
icon: <CalendarOutlined style={{fontSize:'19px'}} />,
|
icon: <CalendarOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/shift-management/schedule">Jadwal Shift</Link>,
|
label: <Link to="/shift-management/schedule">Jadwal Shift</Link>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'shift-member',
|
key: 'shift-member',
|
||||||
icon: <UsergroupAddOutlined style={{fontSize:'19px'}} />,
|
icon: <UsergroupAddOutlined style={{ fontSize: '19px' }} />,
|
||||||
label: <Link to="/shift-management/member">Anggota Shift</Link>,
|
label: <Link to="/shift-management/member">Anggota Shift</Link>,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -132,10 +147,10 @@ const allItems = [
|
|||||||
const LayoutMenu = () => {
|
const LayoutMenu = () => {
|
||||||
const [stateOpenKeys, setStateOpenKeys] = useState(['home']);
|
const [stateOpenKeys, setStateOpenKeys] = useState(['home']);
|
||||||
|
|
||||||
const getLevelKeys = items1 => {
|
const getLevelKeys = (items1) => {
|
||||||
const key = {};
|
const key = {};
|
||||||
const func = (items2, level = 1) => {
|
const func = (items2, level = 1) => {
|
||||||
items2.forEach(item => {
|
items2.forEach((item) => {
|
||||||
if (item.key) {
|
if (item.key) {
|
||||||
key[item.key] = level;
|
key[item.key] = level;
|
||||||
}
|
}
|
||||||
@@ -150,12 +165,16 @@ const LayoutMenu = () => {
|
|||||||
|
|
||||||
const levelKeys = getLevelKeys(allItems);
|
const levelKeys = getLevelKeys(allItems);
|
||||||
|
|
||||||
const onOpenChange = openKeys => {
|
const onOpenChange = (openKeys) => {
|
||||||
const currentOpenKey = openKeys.find(key => stateOpenKeys.indexOf(key) === -1);
|
const currentOpenKey = openKeys.find((key) => stateOpenKeys.indexOf(key) === -1);
|
||||||
if (currentOpenKey !== undefined) {
|
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(
|
setStateOpenKeys(
|
||||||
openKeys.filter((_, index) => index !== repeatIndex).filter(key => levelKeys[key] <= levelKeys[currentOpenKey]),
|
openKeys
|
||||||
|
.filter((_, index) => index !== repeatIndex)
|
||||||
|
.filter((key) => levelKeys[key] <= levelKeys[currentOpenKey])
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
setStateOpenKeys(openKeys);
|
setStateOpenKeys(openKeys);
|
||||||
@@ -165,26 +184,28 @@ const LayoutMenu = () => {
|
|||||||
const session = getSessionData();
|
const session = getSessionData();
|
||||||
const isAdmin = session?.user?.user_id;
|
const isAdmin = session?.user?.user_id;
|
||||||
|
|
||||||
const karyawan = ()=>{
|
const karyawan = () => {
|
||||||
return allItems.filter(
|
return allItems
|
||||||
item => item.key !== 'setting'
|
.filter(
|
||||||
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
(item) => item.key !== 'setting'
|
||||||
// && item.key !== 'master'
|
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
||||||
// && item.key !== 'master'
|
// && item.key !== 'master'
|
||||||
).map(item=>{
|
// && item.key !== 'master'
|
||||||
if(item.key === 'master'){
|
)
|
||||||
return{
|
.map((item) => {
|
||||||
...item,
|
if (item.key === 'master') {
|
||||||
// buka command dibawah jika terdapat sub menu yang di sembunyikan
|
return {
|
||||||
// children: item.children.filter(
|
...item,
|
||||||
// child => child.key !== 'master-product'
|
// buka command dibawah jika terdapat sub menu yang di sembunyikan
|
||||||
// tambahkan menu jika terdapat menu yang di sembunyikan dari user karyawan
|
// children: item.children.filter(
|
||||||
// && child.key !== 'master-service'
|
// 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();
|
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