Index: arms/html/analysisTime/content-container.html
===================================================================
diff -u -rb10ccef8a94c691e3016ce98d8408605f8dcc38f -r0d8e55973b5540053b203758cd787238151f9961
--- arms/html/analysisTime/content-container.html (.../content-container.html) (revision b10ccef8a94c691e3016ce98d8408605f8dcc38f)
+++ arms/html/analysisTime/content-container.html (.../content-container.html) (revision 0d8e55973b5540053b203758cd787238151f9961)
@@ -492,10 +492,9 @@
@@ -945,34 +944,10 @@
}
/* 레이더 차트 */
- svg:not(:root) {
+ #versionGaugeChart svg:not(:root) {
overflow: visible
}
- .radar-chart {
- width: auto; /* 원하는 너비로 설정 */
- height: auto; /* 원하는 높이로 설정 */
- margin: auto;
- }
-
- .radar-chart .area {
- fill-opacity: 0.7;
- }
- .radar-chart.focus .area {
- fill-opacity: 0.3;
- }
- .radar-chart.focus .area.focused {
- fill-opacity: 0.9;
- }
- .area.germany, .germany .circle {
- fill: #FFD700;
- stroke: none;
- }
- .area.argentina, .argentina .circle {
- fill: #ADD8E6;
- stroke: none;
- }
-
#radar-chart-main {
height: 300px;
}
@@ -987,7 +962,22 @@
}
}
- #NETWORK_GRAPH { overflow: hidden!important;}
- #NETWORK_GRAPH .node-label { font-size: 14px; font-weight:bold; color:#111; stroke: white;stroke-width: 1.5px;paint-order: stroke fill; text-anchor: middle;}
+ #NETWORK_GRAPH {
+ overflow: hidden!important;
+ }
+ #NETWORK_GRAPH .node-label {
+ font-size: 14px;
+ font-weight:bold;
+ color:#111;
+ stroke: white;
+ stroke-width: 1.5px;
+ paint-order: stroke fill;
+ text-anchor: middle;
+ }
+
+ #calendar_yearview_blocks_chart_1, #calendar_yearview_blocks_chart_2 {
+ overflow-x: scroll;
+ }
+
\ No newline at end of file
Index: arms/js/analysisTime.js
===================================================================
diff -u -rfd38e36158d66f21fe2b5eb598e97d0391033ed6 -r0d8e55973b5540053b203758cd787238151f9961
--- arms/js/analysisTime.js (.../analysisTime.js) (revision fd38e36158d66f21fe2b5eb598e97d0391033ed6)
+++ arms/js/analysisTime.js (.../analysisTime.js) (revision 0d8e55973b5540053b203758cd787238151f9961)
@@ -4,7 +4,7 @@
var dashboardColor;
var selectedVersionId;
var tot_ver_count, active_ver_count, req_count, subtask_count, resource_count;
-var jiraIssue = {};
+var globalJiraIssue = {};
// 필요시 작성
////////////////////////////////////////////////////////////////////////////////////////
@@ -118,8 +118,6 @@
//버전 멀티 셀렉트 박스 이니시에이터
makeVersionMultiSelectBox();
- radarChart();
-
sevenTimeline();
dashboardColor = dashboardPalette.dashboardPalette01;
@@ -284,10 +282,10 @@
combinationChart($("#selected_pdService").val(), selectedVersionId);
getRelationJiraIssueByPdServiceAndVersions($("#selected_pdService").val(), selectedVersionId);
- console.log(jiraIssue);
+
heatMapReady();
- networkChart();
+
if (checked) {
endPointUrl =
"/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=true&versionTag=" + versionTag;
@@ -309,16 +307,13 @@
contentType: "application/json;charset=UTF-8",
dataType: "json",
progress: true,
- async: false,
+ async: true,
statusCode: {
200: function (data) {
-
- jiraIssue = data;
-
data.forEach(issues => {
console.log(issues);
var display_date = formatDate(new Date(issues.updated));
- console.log(display_date);
+ // console.log(display_date);
/* var random_elements = randomInt(1,3);
for (var j=0; j < random_elements; j++) {
@@ -327,7 +322,11 @@
return_object[display_date].items.push(random_item);
}
}*/
+
});
+
+ networkChart(data);
+ globalJiraIssue = data;
}
}
});
@@ -400,6 +399,7 @@
$("#version-timeline-bar").show();
Timeline.init($("#version-timeline-bar"), versionTimeline);
+ radarChart(pdservice_id, versionData);
}
}
@@ -1123,18 +1123,70 @@
////////////////////
// 세번째 박스
////////////////////
-function radarChart() {
+function radarChart(pdServiceId, pdServiceVersionList) {
+
+ var maxCount;
+ var versionList = {};
+
+ var versionText = [];
+ var reqCount = [];
+
+ var _url = "/auth-user/api/arms/dashboard/normal/"+pdServiceId;
+ $.ajax({
+ url: _url,
+ type: "GET",
+ data: { "서비스아이디" : pdServiceId,
+ "메인그룹필드" : "pdServiceVersion",
+ "isReq" : true,
+ "컨텐츠보기여부" : false,
+ "크기" : 1000
+ },
+ contentType: "application/json;charset=UTF-8",
+ dataType: "json",
+ progress: true,
+ async: false,
+ statusCode: {
+ 200: function (data) {
+ maxCount = data.전체합계;
+ var result = data.검색결과.group_by_pdServiceVersion;
+
+ versionList = pdServiceVersionList.reduce((obj, item) => {
+ obj[item.c_id] = item;
+ return obj;
+ }, {});
+
+ result.forEach(item => {
+ if (versionList[item.필드명]) {
+ versionList[item.필드명].개수 = item.개수;
+ }
+ });
+
+ console.log(Object.values(versionList));
+
+ Object.values(versionList).forEach(item => {
+ var version = {};
+ version.text = item.c_title;
+ version.max = maxCount;
+
+ versionText.push(version);
+ reqCount.push(item.개수);
+ });
+ }
+ }
+ });
+
var chart = echarts.init(document.getElementById('radar-chart-main'));
chart.setOption({
+ color: ['#E49400'],
dataZoom: [
{ // The first dataZoom component
radiusAxisIndex: [0, 2] // Indicates that this dataZoom component
// controls the first and the third radiusAxis
}
],
aria: {
- show: true
+ show: false
},
tooltip: {},
legend: {
@@ -1148,27 +1200,26 @@
}
},
radar: {
- radius: [0, '60%'],
+ radius: [0, '50%'],
triggerEvent: true,
// shape: 'circle',
- indicator: [
- { text: 'BaseVersion', max: 100},
- { text: '1.0.0BaseVersion', max: 100},
- { text: '1.0.1BaseVersion', max: 100},
- { text: '1.0.2BaseVersion', max: 100},
- { text: '1.0.3BaseVersion', max: 100},
- { text: '1.0.4BaseVersion', max: 100},
- { text: '2.0.0BaseVersion', max: 100},
- { text: '2.0.1BaseVersion', max: 100},
- { text: '2.0.2BaseVersion', max: 100},
- { text: '2.0.3BaseVersion', max: 100},
- { text: '2.0.4BaseVersion', max: 100}
- ],
+ indicator: versionText,
name: {
rotate: 45, // 텍스트를 45도로 회전시킵니다.
position: 'outside', // 텍스트를 레이더 영역 내부에 위치시킵니다.
color: '#ffffff',
- formatter:'【{value}】'
+ formatter: function(text) {
+ // 줄바꿈을 위해 '\n' 문자를 삽입합니다.
+ var wrappedValue = text.replace(/(.{12})/g, '$1\n'); // 10자마다 줄바꿈
+ return '[' + wrappedValue + ']';
+ },
+ rich: {
+ value: {
+ align: 'left',
+ color: '#ffffff',
+ lineHeight: 10 // 줄 간격을 설정합니다.
+ }
+ }
}
},
series: [{
@@ -1189,7 +1240,7 @@
// areaStyle: {normal: {}},
data : [
{
- value: ['-', 80, 20, 40, 10, 100, 80, 20, 40, 10, 30],
+ value: reqCount,
name: '요구사항'
}
],
@@ -1201,18 +1252,8 @@
}
]
});
- var theIndex = 2;
- chart.on('click', function (params) {
- console.log(params);
- if (theIndex < 0) {
- theIndex = 2;
- }
- chart.dispatchAction({
- type: 'showTip',
- seriesIndex: 0,
- dataIndex: theIndex
- });
- theIndex--;
+ window.addEventListener('resize', function () {
+ chart.resize();
});
}
@@ -1448,22 +1489,22 @@
// 다섯번째 박스
////////////////////
-function networkChart() {
+function networkChart(jiraIssueData) {
d3.select("#NETWORK_GRAPH").selectAll("*").remove();
var NETWORK_DATA = {
"nodes": [],
"links": []
};
- NETWORK_DATA.nodes = jiraIssue;
+ NETWORK_DATA.nodes = jiraIssueData;
var index = {};
- jiraIssue.forEach(function(item) {
+ jiraIssueData.forEach(function(item) {
index[item.key] = item;
});
- jiraIssue.forEach(function(item) {
+ jiraIssueData.forEach(function(item) {
var parentItem = index[item.parentReqKey];
if (parentItem) {
var link = {