152 lines
5.2 KiB
Plaintext
152 lines
5.2 KiB
Plaintext
@* ROW 2 COL 1 - CARD: BUBBLE --------------------------------- *@
|
|
<div class="pv-menu k-content">
|
|
<div class="btn-group pull-right">
|
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<i class="fa fa-ellipsis-h"></i>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li class="widget-full-screen"><a href="#" class="full-screen" onclick="if (typeof widgetToFullScreen !== 'undefined') widgetToFullScreen(); pv.chart.menu.select('Bubble1');">Full Screen</a></li>
|
|
<li role="separator" class="divider widget-full-screen"></li>
|
|
<li>
|
|
<label>
|
|
<span class="switcherLbl">Mode</span>
|
|
</label>
|
|
<input type="checkbox" data-key="bubble-LaborMode" name="bubble-LaborMode" id="bubble-LaborMode" checked="checked" class="switcher px" />
|
|
</li>
|
|
<li>
|
|
<label>
|
|
<span class="switcherLbl">Expenditures</span>
|
|
</label>
|
|
<input type="checkbox" data-key="bubble-Mode" checked name="bubble-Mode" id="bubble-Mode" class="switcher px" />
|
|
</li>
|
|
<li>
|
|
<label>
|
|
<span class="switcherLbl">Performance</span>
|
|
</label>
|
|
<input type="checkbox" data-key="bubble-ProjectPerformance" name="bubble-ProjectPerformance" id="bubble-ProjectPerformance" class="switcher px" />
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="pv-chart" id="chartBubble1" style="height: 100%;"></div>
|
|
|
|
<script>
|
|
var _bubbleChartData = null;
|
|
|
|
init.push(function () {
|
|
initBubbleMenu();
|
|
@if (Request.Browser.Browser == "IE" && Request.Browser.MajorVersion < 11)
|
|
{
|
|
<text>AmCharts.ready(function (a) {
|
|
setPerformanceMode();
|
|
loadBubbleData();
|
|
});</text>
|
|
}
|
|
else
|
|
{
|
|
<text>
|
|
setPerformanceMode();
|
|
loadBubbleData();
|
|
</text>
|
|
}
|
|
});
|
|
|
|
function loadBubbleData(filterData) {
|
|
$("#chartBubble1").html("<div class='loadRotator'>\
|
|
<span>\
|
|
<img class='valign-middle' src='@Url.Content("~/Content/images/loadFA.gif")' /> loading...\
|
|
</span>\
|
|
</div>");
|
|
|
|
var url = "@Url.Action("GetBubbleChartData", "ForecastDashboard")";
|
|
|
|
filterData = filterData || getFilterDataObject();
|
|
filterData["IsLaborMode"] = $("#bubble-LaborMode").prop("checked");
|
|
|
|
$.post(url, filterData, function (data, textStatus, jqXHR) {
|
|
var chart = findChart("chartBubble1");
|
|
chart.valueAxes[0].minimumDate = new Date(data.minimumDate);
|
|
chart.valueAxes[0].maximumDate = new Date(data.maximumDate);
|
|
chart.addListener("clickGraphItem", handleClick);
|
|
chart.validateNow();
|
|
|
|
_bubbleChartData = data.chartData;
|
|
setBubbleChartMode();
|
|
});
|
|
}
|
|
|
|
function clearClass(event) { alert("clearClass"); }
|
|
function changeClass(event) { alert("changeClass"); }
|
|
|
|
function initBubbleMenu() {
|
|
$('#bubble-LaborMode').switcher({
|
|
on_state_content: 'Labor',
|
|
off_state_content: 'Non-labor'
|
|
});
|
|
|
|
$('#bubble-Mode').switcher({
|
|
on_state_content: 'Quantity',
|
|
off_state_content: 'Cost'
|
|
});
|
|
|
|
$('#bubble-ProjectPerformance').switcher({
|
|
on_state_content: 'On',
|
|
off_state_content: 'Off'
|
|
});
|
|
|
|
$('#bubble-LaborMode, #bubble-Mode, #bubble-ProjectPerformance').change(function () {
|
|
saveForecastDashboardPreferences();
|
|
});
|
|
|
|
$('#bubble-Mode').change(function () {
|
|
setBubbleChartMode();
|
|
});
|
|
|
|
$('#bubble-ProjectPerformance').change(function () {
|
|
setPerformanceMode();
|
|
});
|
|
|
|
$('#bubble-LaborMode').change(function () {
|
|
loadBubbleData();
|
|
});
|
|
}
|
|
|
|
function dynamicSort(property) {
|
|
var sortOrder = 1;
|
|
if (property[0] === "-") {
|
|
sortOrder = -1;
|
|
property = property.substr(1);
|
|
}
|
|
return function (a, b) {
|
|
var result = (a[property] > b[property]) ? -1 : (a[property] < b[property]) ? 1 : 0;
|
|
return result * sortOrder;
|
|
}
|
|
}
|
|
|
|
function setBubbleChartMode() {
|
|
var chart = findChart("chartBubble1");
|
|
var valueField = $('#bubble-Mode').prop("checked") ? "quantity" : "cost";
|
|
chart.graphs[0].valueField = valueField;
|
|
chart.validateData();
|
|
|
|
if (_bubbleChartData != null) {
|
|
_bubbleChartData.sort(dynamicSort(valueField));
|
|
updateChart("chartBubble1", _bubbleChartData);
|
|
}
|
|
}
|
|
|
|
function setPerformanceMode() {
|
|
var chart = findChart("chartBubble1");
|
|
var performanceMode = $('#bubble-ProjectPerformance').prop("checked");
|
|
if (performanceMode) {
|
|
chart.graphs[0].colorField = "performanceColor";
|
|
} else {
|
|
chart.graphs[0].colorField = "projectColor";
|
|
}
|
|
chart.validateData();
|
|
}
|
|
|
|
function handleClick(event) {
|
|
window.open("@Url.Action("Edit", "Project")/" + event.item.dataContext.projectId);
|
|
}
|
|
</script> |