어드민 메뉴 목록 추가/수정에 접근 가능 최소 회원 레벨 항목 추가
This commit is contained in:
@@ -8,6 +8,7 @@ export interface AdminMenu {
|
|||||||
menuName: string;
|
menuName: string;
|
||||||
iconName?: string;
|
iconName?: string;
|
||||||
menuUrl?: string;
|
menuUrl?: string;
|
||||||
|
level: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 페이징 정보 인터페이스
|
// 페이징 정보 인터페이스
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ const AdminMenuManagement: React.FC = () => {
|
|||||||
menuName: '',
|
menuName: '',
|
||||||
iconName: '',
|
iconName: '',
|
||||||
menuUrl: '',
|
menuUrl: '',
|
||||||
|
level: 1000,
|
||||||
});
|
});
|
||||||
|
|
||||||
// 현재 보고 있는 부모 메뉴 seq (0이면 최상위)
|
// 현재 보고 있는 부모 메뉴 seq (0이면 최상위)
|
||||||
@@ -329,6 +330,7 @@ const AdminMenuManagement: React.FC = () => {
|
|||||||
menuName: '',
|
menuName: '',
|
||||||
iconName: '',
|
iconName: '',
|
||||||
menuUrl: '',
|
menuUrl: '',
|
||||||
|
level: 1000,
|
||||||
});
|
});
|
||||||
setModalVisible(true);
|
setModalVisible(true);
|
||||||
};
|
};
|
||||||
@@ -364,7 +366,7 @@ const AdminMenuManagement: React.FC = () => {
|
|||||||
const { name, value } = e.target;
|
const { name, value } = e.target;
|
||||||
setFormData((prev) => ({
|
setFormData((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
[name]: name === 'parentSeq' || name === 'menuOrder' ? parseInt(value) || 0 : value,
|
[name]: name === 'parentSeq' || name === 'menuOrder' || name === 'level' ? parseInt(value) || 0 : value,
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -485,6 +487,9 @@ const AdminMenuManagement: React.FC = () => {
|
|||||||
{!isCompact && (
|
{!isCompact && (
|
||||||
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: '60px' }}>아이콘</CTableHeaderCell>
|
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: '60px' }}>아이콘</CTableHeaderCell>
|
||||||
)}
|
)}
|
||||||
|
{!isCompact && (
|
||||||
|
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: '80px' }}>레벨</CTableHeaderCell>
|
||||||
|
)}
|
||||||
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: isCompact ? 'auto' : '180px' }}>메뉴 이름</CTableHeaderCell>
|
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: isCompact ? 'auto' : '180px' }}>메뉴 이름</CTableHeaderCell>
|
||||||
{!isCompact && (
|
{!isCompact && (
|
||||||
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: 'auto' }}>URL</CTableHeaderCell>
|
<CTableHeaderCell className="bg-body-tertiary text-center" style={{ width: 'auto' }}>URL</CTableHeaderCell>
|
||||||
@@ -518,6 +523,9 @@ const AdminMenuManagement: React.FC = () => {
|
|||||||
)}
|
)}
|
||||||
</CTableDataCell>
|
</CTableDataCell>
|
||||||
)}
|
)}
|
||||||
|
{!isCompact && (
|
||||||
|
<CTableDataCell className="text-center">{menu.level}</CTableDataCell>
|
||||||
|
)}
|
||||||
<CTableDataCell className="text-center">
|
<CTableDataCell className="text-center">
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
@@ -753,6 +761,17 @@ const AdminMenuManagement: React.FC = () => {
|
|||||||
placeholder="/admin/example (선택사항)"
|
placeholder="/admin/example (선택사항)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mb-3">
|
||||||
|
<CFormLabel htmlFor="level">접근 가능 최소 회원 레벨</CFormLabel>
|
||||||
|
<CFormInput
|
||||||
|
type="number"
|
||||||
|
id="level"
|
||||||
|
name="level"
|
||||||
|
value={formData.level}
|
||||||
|
onChange={handleInputChange}
|
||||||
|
placeholder="메뉴 접근에 필요한 최소 회원 레벨을 입력하세요 (기본 1000)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</CForm>
|
</CForm>
|
||||||
</CModalBody>
|
</CModalBody>
|
||||||
<CModalFooter>
|
<CModalFooter>
|
||||||
|
|||||||
Reference in New Issue
Block a user