메뉴 정리

This commit is contained in:
현성필
2025-02-02 15:39:00 +09:00
parent 42d542418a
commit 14a004c9e5
2 changed files with 16 additions and 23 deletions
+3 -18
View File
@@ -2,7 +2,7 @@
export const menuConfig = [ export const menuConfig = [
{ {
id: 'response', id: 'response',
label: '응답관리', label: '응답 관리',
items: [ items: [
{id: 'response-list', label: 'API 응답 목록', action: 'response-list', screen: 'response-list'}, {id: 'response-list', label: 'API 응답 목록', action: 'response-list', screen: 'response-list'},
// {id: 'response-add', label: 'API 응답 추가', action: 'response-add'}, // {id: 'response-add', label: 'API 응답 추가', action: 'response-add'},
@@ -22,24 +22,9 @@ export const menuConfig = [
{id: 'request-add', label: '요청 추가', action: 'request-add'}, {id: 'request-add', label: '요청 추가', action: 'request-add'},
{id: 'scenario-add', label: '시나리오 추가', action: 'scenario-add'}, {id: 'scenario-add', label: '시나리오 추가', action: 'scenario-add'},
{type: 'separator'}, {type: 'separator'},
{id: 'variables-show', label: '변수 보기', action: 'variables-show'} {id: 'variables-show', label: '변수 보기', action: 'variables-show'},
]
},
// {
// id: 'queue',
// label: '큐 관리',
// items: [
// {id: 'queue-add', label: '큐 추가', action: 'queue-add'}
// ]
// },
{
id: 'loadtest',
label: '부하 테스트',
items: [
{id: 'load-test', label: '새 테스트', action: 'load-test', screen: 'load-test'},
{type: 'separator'}, {type: 'separator'},
{id: 'load-test-history', label: '테스트 이력', action: 'load-test-history', screen: 'load-test-history'}, {id: 'load-test', label: '부하 테스트', action: 'load-test', screen: 'load-test'},
{id: 'load-test-reports', label: '결과 리포트', action: 'load-test-reports', screen: 'load-test-reports'}
] ]
}, },
{ {
@@ -1,17 +1,24 @@
class ApiLayoutItemTreeBuilder { class ApiLayoutItemTreeBuilder {
static createTree(layoutItems) { static createTree(layoutItems) {
layoutItems.sort((a, b) => a.loutItemSerno - b.loutItemSerno); const itemsCopy = layoutItems.map(item => ({
const rootId = layoutItems.length === 0 ? 0 : parseInt(layoutItems[0].parent); ...item,
children: [] // 기존의 children 배열을 초기화합니다.
}));
// 2. 정렬 (필요한 경우)
itemsCopy.sort((a, b) => a.loutItemSerno - b.loutItemSerno);
const rootId = itemsCopy.length === 0 ? 0 : parseInt(itemsCopy[0].parent);
const root = {id: rootId, children: [], loutItemSerno: 0, loutItemName: 'Root', loutItemDesc: 'Root', loutItemType: '', loutItemDepth: 0, parent: null}; const root = {id: rootId, children: [], loutItemSerno: 0, loutItemName: 'Root', loutItemDesc: 'Root', loutItemType: '', loutItemDepth: 0, parent: null};
const nodeMap = new Map(); const nodeMap = new Map();
nodeMap.set(rootId, root); nodeMap.set(rootId, root);
for (const item of layoutItems) { for (const item of itemsCopy) {
if (['Grid', 'Group'].includes(item.loutItemType)) { if (['Grid', 'Group'].includes(item.loutItemType)) {
if (item.loutItemOccCnt !== null) { if (item.loutItemOccCnt !== null) {
if (item.loutItemOccCnt === '*') { if (item.loutItemOccCnt === '*') {
let refItem = layoutItems.find(p => p.loutItemName === item.loutItemOccRef); let refItem = itemsCopy.find(p => p.loutItemName === item.loutItemOccRef);
if (refItem) { if (refItem) {
item.childOccCnt = parseInt(refItem.value, 10); item.childOccCnt = parseInt(refItem.value, 10);
} }
@@ -31,6 +38,7 @@ class ApiLayoutItemTreeBuilder {
nodeMap.set(item.id, item); nodeMap.set(item.id, item);
} }
console.log(root);
return root; return root;
} }
@@ -68,7 +76,7 @@ class ApiLayoutItemTreeBuilder {
} }
static getNodeById(node, id) { static getNodeById(node, id) {
if (node.id == id) { if (Number(node.id) === Number(id)) {
return node; return node;
} }