Index: vue/src/assets/images/devops/DevSupport/github.png =================================================================== diff -u -r62bbd08cb3e56063aae4598f5017a085b8988cbe -r029ad79cd7469a33cf4d97239061994b3445f411 --- vue/src/assets/images/devops/DevSupport/github.png (.../github.png) (revision 62bbd08cb3e56063aae4598f5017a085b8988cbe) +++ vue/src/assets/images/devops/DevSupport/github.png (.../github.png) (revision 029ad79cd7469a33cf4d97239061994b3445f411) @@ -1267,12 +1267,21 @@ font-weight: 300; } -.timeline-container .session-content .issuekey { +.timeline-container .session-content .project-names { margin-top: 5px; - font-weight: 600; - font-size: 12px; } +.project-name { + margin: 2px 5px 2px 0; + padding: 3px 5px; + font-size: 11px; + font-weight: bold; + background-color: #2477FF; + border: none; + border-radius: 5px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19); +} + .tree-container.widget.large, .tree-container.widget.large .body { height: auto; Index: arms/js/analysisTime.js =================================================================== diff -u -r99e4ce9983ecbaf635751da844bc4e381559367c -r029ad79cd7469a33cf4d97239061994b3445f411 --- arms/js/analysisTime.js (.../analysisTime.js) (revision 99e4ce9983ecbaf635751da844bc4e381559367c) +++ arms/js/analysisTime.js (.../analysisTime.js) (revision 029ad79cd7469a33cf4d97239061994b3445f411) @@ -1688,14 +1688,14 @@ contentSet[item.summary] = { version: item.pdServiceVersion, summary: item.summary, - issuekey: [item.key], + projectName: [item.project.project_name], date: formatDateTime(item.updated) }; } else { - // issuekey에 item.key가 없는 경우에만 추가 - if (!contentSet[item.summary].issuekey.includes(item.key)) { - contentSet[item.summary].issuekey.push(item.key); - contentSet[item.summary].issuekey.sort(); + // projectName에 item.project.project_name이 없는 경우에만 추가 + if (!contentSet[item.summary].projectName.includes(item.project.project_name)) { + contentSet[item.summary].projectName.push(item.project.project_name); + contentSet[item.summary].projectName.sort(); } } }); @@ -1705,7 +1705,7 @@ items = Object.values(contentSet).map(item => ({ ...item, - issuekey: item.issuekey.join(' | ') + projectName: item.projectName })); // 날짜를 기준으로 오름차순 정렬 @@ -1747,76 +1747,65 @@ function makeVerticalTimeline(data) { // 데이터 세팅 - const $container = document.querySelector(".timeline-container"); - $container.innerHTML = ''; + const $container = $(".timeline-container"); + $container.empty(); - // const upIcon = document.createElement("i"); - // upIcon.className = "fa fa-chevron-up vertical-chevron-up"; - // $container.append(upIcon); + if (data.length == 0) { + const noDataMessage = $('
').text('데이터가 없습니다.').css({ + position: 'absolute', + top: '50%', + left: '50%', + transform: 'translate(-50%, -50%)' + }); + $container.append(noDataMessage); + } else { + // 날짜별로 데이터 그룹화 + let groupedData = data.reduce((group, item) => { + let date = item.date; + if (!group[date]) group[date] = []; + group[date].push(item); + return group; + }, {}); - if (data.length == 0) { - const noDataMessage = document.createElement('p'); - noDataMessage.textContent = '데이터가 없습니다.'; - noDataMessage.style.position = 'absolute'; - noDataMessage.style.top = '50%'; - noDataMessage.style.left = '50%'; - noDataMessage.style.transform = 'translate(-50%, -50%)'; + const $ul = $('