995fca615eb373ea0a56c4c3c91cea15a4b070ea.svn-base 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. $(function() {
  2. BWA.ChartOptions = BWA.ChartOptions || {};
  3. var seriesServiceType = new Array();
  4. BWA.ChartOptions.ServiceEnergyUsageKC = {
  5. MakeSeries: function (serviceType) {
  6. if (seriesServiceType.length > 0) return; // initialized가 어디선가 다시 false 로 바뀌는 현상에 대한 방어 코드 2016 09 05 hcLee
  7. for (var s = 1; s < serviceType.length; s++) {
  8. var ss = {
  9. type: 'stackedBar',
  10. valueField: serviceType[s].Name(),
  11. name: serviceType[s].Name(),
  12. label: {
  13. visible: false,
  14. customizeText: function () {
  15. return this.valueText + 'kcal';
  16. }
  17. }
  18. };
  19. seriesServiceType.push(ss);
  20. }
  21. },
  22. /*
  23. seriesServiceType = [
  24. {
  25. type: 'stackedBar',
  26. valueField: '냉방',
  27. //name: $G('gas'),
  28. name: '냉방',
  29. label: {
  30. visible: false,
  31. customizeText: function () {
  32. return this.valueText + 'TOE';
  33. }
  34. }
  35. }, {
  36. type: 'stackedBar',
  37. valueField: '난방',
  38. //name: $G('water'),
  39. name: '난방',
  40. label: {
  41. visible: false,
  42. customizeText: function () {
  43. return this.valueText + 'TOE';
  44. }
  45. }
  46. }, {
  47. type: 'stackedBar',
  48. valueField: '환기',
  49. //name: $G('water'),
  50. name: '환기',
  51. label: {
  52. visible: false,
  53. customizeText: function () {
  54. return this.valueText + 'TOE';
  55. }
  56. }
  57. }, {
  58. type: 'stackedBar',
  59. valueField: '냉난방환기',
  60. //name: $G('water'),
  61. name: '냉난방',
  62. label: {
  63. visible: false,
  64. customizeText: function () {
  65. return this.valueText + 'TOE';
  66. }
  67. }
  68. }];
  69. },*/
  70. getPieChartDayOptions: function() {
  71. return _.extend({
  72. //palette: "Soft Pastel",
  73. palette: "Bright",
  74. }, BWA.ChartOptions.ServiceEnergyUsageKC.getPieChartOptions());
  75. },
  76. getPieChartMonthOptions: function() {
  77. return _.extend({
  78. palette: "Bright",
  79. }, BWA.ChartOptions.ServiceEnergyUsageKC.getPieChartOptions());
  80. },
  81. getBarChartDayOptions: function() {
  82. return _.extend({
  83. //palette: "Soft Pastel",
  84. palette: "Bright",
  85. }, BWA.ChartOptions.ServiceEnergyUsageKC.getBarChartOptions($Code.TimeType.DAY));
  86. },
  87. getBarChartMonthOptions: function(handlePointClick) {
  88. return _.extend({
  89. palette: "Bright",
  90. }, BWA.ChartOptions.ServiceEnergyUsageKC.getBarChartOptions($Code.TimeType.MONTH, handlePointClick));
  91. },
  92. getPieChartOptions: function() {
  93. return {
  94. legend: {
  95. horizontalAlignment: "right",
  96. verticalAlignment: "top",
  97. margin: 10,
  98. border: {
  99. visible: true
  100. }
  101. },
  102. tooltip: {
  103. enabled: true,
  104. format: 'fixedPoint',
  105. precision: 2,
  106. customizeTooltip: function(point) {
  107. return {
  108. text: [this.argumentText, ': ', this.valueText].join('')
  109. //text: [this.argumentText, ': ', this.valueText, ' : ', this.percentText].join('') // 2016 05 30 퍼센트도 표시 할수 있다. 테스트 성공
  110. };
  111. }
  112. },
  113. series: [
  114. {
  115. type: "doughnut", // if not, pie.
  116. argumentField: "FuelTypeName",
  117. valueField: "Value",
  118. hoverStyle: {
  119. color: "#ffd700"
  120. },
  121. label: {
  122. //font: { size: 8 }, // 2016 05 30 테스트 성공 !!! 혹시 폰트줄이고 싶으면 풀자
  123. visible: true,
  124. connector: {
  125. visible: true
  126. },
  127. customizeText: function(pointInfo) {
  128. //return pointInfo.argumentText;
  129. return pointInfo.percentText; // 2016 05 30 테스트 성공 !!! argumentText대신에 valueText 또는 percentText 등을 출력한다
  130. }
  131. }
  132. }
  133. ]
  134. };
  135. },
  136. getBarChartOptions: function (codeTimeType, handlePointClick) {
  137. //alert('in getBarChartOptions');
  138. var argumentAxis;
  139. switch (codeTimeType) {
  140. case $Code.TimeType.DAY:
  141. argumentAxis = {
  142. label: {
  143. customizeText: function() {
  144. return this.value + '일';
  145. }
  146. },
  147. //min: moment().startOf('month').date(),
  148. //max: moment().endOf('month').date(),
  149. //valueMarginsEnabled: false,
  150. tickInterval: 5,
  151. //minValueMargin: 0.0,
  152. //maxValueMargin: 0.02,
  153. };
  154. break;
  155. case $Code.TimeType.MONTH:
  156. /*
  157. argumentAxis = {
  158. label: {
  159. customizeText: function() {
  160. return this.value + '월';
  161. }
  162. },
  163. //min: 1,
  164. //max: 12,
  165. //valueMarginsEnabled: false,
  166. //tickInterval: 1,
  167. //minValueMargin: 0.0,
  168. //maxValueMargin: 0.02,
  169. };*/
  170. break;
  171. }
  172. //argumentAxis.argumentType = 'string';
  173. return {
  174. pointClick: handlePointClick,
  175. legend: {
  176. visible: false,
  177. verticalAlignment: 'center',
  178. horizontalAlignment: 'right',
  179. border: {
  180. visible: true
  181. }
  182. },
  183. argumentAxis: argumentAxis,
  184. commonSeriesSettings: {
  185. type: 'stackedBar',
  186. argumentField: 'DateTime',
  187. selectionStyle: {
  188. hatching: {
  189. direction: "left"
  190. }
  191. }
  192. },
  193. valueAxis: [{
  194. label: {
  195. format: 'thousands'
  196. },
  197. title: {
  198. text: 'kcal'
  199. }
  200. }],
  201. //series: Datas = new Array(),
  202. series:
  203. seriesServiceType,
  204. /*
  205. [
  206. {
  207. type: 'stackedBar',
  208. valueField: '냉방',
  209. //name: $G('gas'),
  210. name: '냉방',
  211. label: {
  212. visible: false,
  213. customizeText: function() {
  214. return this.valueText + 'TOE';
  215. }
  216. }
  217. }, {
  218. type: 'stackedBar',
  219. valueField: '난방',
  220. //name: $G('water'),
  221. name: '난방',
  222. label: {
  223. visible: false,
  224. customizeText: function() {
  225. return this.valueText + 'TOE';
  226. }
  227. }
  228. }, {
  229. type: 'stackedBar',
  230. valueField: '환기',
  231. //name: $G('water'),
  232. name: '환기',
  233. label: {
  234. visible: false,
  235. customizeText: function () {
  236. return this.valueText + 'TOE';
  237. }
  238. }
  239. }, {
  240. type: 'stackedBar',
  241. valueField: '냉난방환기',
  242. //name: $G('water'),
  243. name: '냉난방',
  244. label: {
  245. visible: false,
  246. customizeText: function () {
  247. return this.valueText + 'TOE';
  248. }
  249. }
  250. }], */
  251. tooltip: {
  252. enabled: true,
  253. format: 'fixedPoint',
  254. precision: 2,
  255. //customizeTooltip: function(point) {
  256. // return {
  257. // text: [this.argumentText, ': ', this.valueText].join('')
  258. // };
  259. //}
  260. },
  261. };
  262. },
  263. };
  264. });