リビジョン | 640469ad318696cbd9a99a5055add9717d4d9563 (tree) |
---|---|
日時 | 2017-09-18 19:45:08 |
作者 | Kazuhiro Fujieda <fujieda@user...> |
コミッター | Kazuhiro Fujieda |
資材グラフですべてのデータを一度に非表示にできるようにする
@@ -279,6 +279,15 @@ opts.observable.on("chartSizeChanged", function() { | ||
279 | 279 | self.resize(); |
280 | 280 | }); |
281 | 281 | |
282 | +this.header = ["日付", "燃料", "弾薬", "鋼材", "ボーキ", "高速建造材", "高速修復材", "開発資材", "改修資材"]; | |
283 | + | |
284 | +opts.observable.on("offAllLegends", function() { | |
285 | + self.chart.hide(); | |
286 | + self.header.slice(1).forEach(function(c) { | |
287 | + self.unselected[c] = true; | |
288 | + }); | |
289 | +}); | |
290 | + | |
282 | 291 | this.resize = function() { |
283 | 292 | if (!self.chart) |
284 | 293 | return; |
@@ -298,10 +307,9 @@ this.drawChart = function(data) { | ||
298 | 307 | }); |
299 | 308 | return; |
300 | 309 | } |
301 | - var picked, header; | |
310 | + var picked; | |
302 | 311 | picked = this.pickChartData(data.data, opts.chartSpec.seqRange); |
303 | - header = ["日付", "燃料", "弾薬", "鋼材", "ボーキ", "高速建造材", "高速修復材", "開発資材", "改修資材"]; | |
304 | - picked.data.unshift(header); | |
312 | + picked.data.unshift(self.header); | |
305 | 313 | this.drawSeqChart(picked); |
306 | 314 | }; |
307 | 315 |
@@ -362,7 +370,10 @@ this.drawSeqChart = function(picked) { | ||
362 | 370 | } |
363 | 371 | } |
364 | 372 | }, |
365 | - onrendered: function() { $('#loading').hide(); } | |
373 | + onrendered: function() { | |
374 | + $('#loading').hide(); | |
375 | + opts.observable.trigger("seqChartRendered"); | |
376 | + } | |
366 | 377 | }); |
367 | 378 | self.chart.hide(Object.keys(self.unselected).filter(function(e) { |
368 | 379 | return self.unselected[e]; |
@@ -684,6 +695,7 @@ this.pickMonthlyChartData = function(data) { | ||
684 | 695 | |
685 | 696 | <material-chart> |
686 | 697 | <div show={mainTabs[mainTab] === "資材グラフ"}> |
698 | +<span class="c3-legend-item" id="off-all-legends" style="text-decoration: underline; cursor: pointer; z-index: 10; position: absolute; display: none;" onclick={offAllLegends} >全解除</span> | |
687 | 699 | <div id="chart" style="clear: both; margin: 1em;"></div> |
688 | 700 | </div> |
689 | 701 |
@@ -697,6 +709,21 @@ opts.observable.on("mainTabChanged", function(idx) { | ||
697 | 709 | opts.observable.trigger("chartSpecChanged"); |
698 | 710 | }); |
699 | 711 | |
712 | +opts.observable.on("chartSpecChanged", function() { | |
713 | + if (opts.chartSpec.type === 1) | |
714 | + $("#off-all-legends").hide(); | |
715 | +}); | |
716 | + | |
717 | +opts.observable.on("seqChartRendered", function() { | |
718 | + var legend = $(".c3-legend-item-改修資材>text").offset(); | |
719 | + if (legend) | |
720 | + $("#off-all-legends").offset({top: legend.top, left: legend.left + 80}).show(); | |
721 | +}); | |
722 | + | |
723 | +this.offAllLegends = function() { | |
724 | + opts.observable.trigger("offAllLegends"); | |
725 | +}; | |
726 | + | |
700 | 727 | this.timer = null; |
701 | 728 | $(window).resize(function() { |
702 | 729 | if (self.timer) |