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 = $(''); - $container.appendChild(noDataMessage); - } else { - // 날짜별로 데이터 그룹화 - let groupedData = data.reduce((group, item) => { - let date = item.date; - if (!group[date]) group[date] = []; - group[date].push(item); - return group; - }, {}); + Object.entries(groupedData).forEach(([date, items]) => { + items.forEach(({ version, summary, projectName }, index) => { + const $li = $('
  • ').addClass('session'); - const $ul = document.createElement("ul"); + if (index === 0) { + $li.append(` + + ${date} + + `); + } - Object.entries(groupedData).forEach(([date, items]) => { - items.forEach(({version, summary, issuekey}, index) => { - const $li = document.createElement("li"); - $li.className = "session"; + const $sessionContent = $(` +
    +
    ${convertVersionIdToTitle(version)}
    +
    ${summary}
    +
    + `); - if (index === 0) { - $li.innerHTML += ` - - ${date} - - `; - } - $li.innerHTML += ` -
    -
    ${convertVersionIdToTitle(version)}
    -
    ${summary}
    -
    ${issuekey}
    -
    - `; + const $projectNameDiv = $('
    ').addClass('project-names'); - $ul.append($li); - }); - }); + // projectName 배열의 각 요소를 추가 + projectName.forEach(name => { + const $button = $('').addClass('project-name').text(name); + $projectNameDiv.append($button); + }); - $container.append($ul); - } + $sessionContent.append($projectNameDiv); + $li.append($sessionContent); + $ul.append($li); + }); + }); - adjustHeight(); + $container.append($ul); + } - // const downIcon = document.createElement("i"); - // downIcon.className = "fa fa-chevron-down vertical-chevron-down"; - // $container.append(downIcon); - - // 버튼 클릭 이벤트 - // $('.fa-chevron-up').on('click', function() { - // verticalTimeLineChart(pdServiceLink, pdServiceVersions, week+1); - // }); - // - // $('.fa-chevron-down').on('click', function() { - // if (week - 1 > 0) { - // verticalTimeLineChart(pdServiceLink, pdServiceVersions, week-1); - // } - // }); + adjustHeight(); } function formatDateTime(dateTime) { @@ -1838,7 +1827,7 @@ .addQueryParam("pdServiceLink", pdServiceLink) .addQueryParam("pdServiceVersionLinks", pdServiceVersionLinks) .addQueryParam("일자기준", "updated") - .addQueryParam("isReqType", "REQUIREMENT") + .addQueryParam("isReqType", "REQUIREMENT") .addQueryParam("시작일", startDate) .addQueryParam("종료일", endDate) .addQueryParam("크기", 1000)