diff --git a/productMods/images/visualization/refresh-16.png b/productMods/images/visualization/refresh-16.png new file mode 100644 index 00000000..850bf01b Binary files /dev/null and b/productMods/images/visualization/refresh-16.png differ diff --git a/productMods/images/visualization/refresh-green.png b/productMods/images/visualization/refresh-green.png new file mode 100644 index 00000000..8cd162e8 Binary files /dev/null and b/productMods/images/visualization/refresh-green.png differ diff --git a/productMods/images/visualization/refresh.png b/productMods/images/visualization/refresh.png new file mode 100644 index 00000000..1566292f Binary files /dev/null and b/productMods/images/visualization/refresh.png differ diff --git a/productMods/js/visualization/entitycomparison/gui-event-manager.js b/productMods/js/visualization/entitycomparison/gui-event-manager.js index 35447471..5068b0f5 100644 --- a/productMods/js/visualization/entitycomparison/gui-event-manager.js +++ b/productMods/js/visualization/entitycomparison/gui-event-manager.js @@ -297,7 +297,15 @@ function parseXSDateTime(rawDateTimeString) { var date = dateTime[0].split("-"); var time = dateTime[1].split(":"); - return new Date(date[0], date[1], date[2], time[0], time[1], 0); + return new Date(date[0], parseInt(date[1], 10) -1, date[2], time[0], time[1], 0); +} + +function getReadableDateForLastCachedAtDate(dateObject) { + + var day = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] + var month = ['January','February','March','April','May','June','July','August','September','October','November'] + + return day[dateObject.getDay()] + ", " + month[dateObject.getMonth()] + " " + dateObject.getDate(); } temporalGraphProcessor = { @@ -345,13 +353,11 @@ temporalGraphProcessor = { performEntityCheckboxClickedRedrawActions(); }); - + if ($("#incomplete-data-disclaimer").length > 0 && lastCachedAtDateTimes.length > 0) { $("#incomplete-data-disclaimer").attr( "title", - $("#incomplete-data-disclaimer").attr("title") + " as of " + parseXSDateTime(lastCachedAtDateTimes[0])); + $("#incomplete-data-disclaimer").attr("title") + " as of " + getReadableDateForLastCachedAtDate(parseXSDateTime(lastCachedAtDateTimes[0]))); } - } - } \ No newline at end of file diff --git a/productMods/js/visualization/entitycomparison/util.js b/productMods/js/visualization/entitycomparison/util.js index c504e801..9ff1662f 100644 --- a/productMods/js/visualization/entitycomparison/util.js +++ b/productMods/js/visualization/entitycomparison/util.js @@ -563,25 +563,53 @@ function setLineWidthAndTickSize(yearRange, flotOptions) { } -/** - * Dynamically change the ticksize of y-axis. - */ -function setTickSizeOfYAxis(maxValue, flotOptions){ +var TickSize = { + + maxValue: 0.0, - var tickSize = 0; + maxTicks: { + yAxis: 12.0 + }, - if (maxValue > 0 && maxValue <= 5) { - flotOptions.yaxis.tickSize = 1; - } else if (maxValue > 5 && maxValue <= 10) { - flotOptions.yaxis.tickSize = 2; - } else if (maxValue > 10 && maxValue <= 15) { - flotOptions.yaxis.tickSize = 5; - } else if (maxValue > 15 && maxValue <= 70) { - flotOptions.yaxis.tickSize = 5; - } else { - flotOptions.yaxis.tickSize = 10; - } -} + tickSizeUnits: { + yAxis: [1.0, 2.5, 5.0] + }, + + getApproximateTickSize: function(allowedMaxTicks) { + return Math.max(Math.ceil(parseFloat(this.maxValue) / allowedMaxTicks), 1.0); + }, + + getFinalTickSizeForYaxis: function(unitTickSizeGenerator) { + tickSizeMultiplier = 1.0; + finalTickSize = 1.0; + approximateTickSize = this.getApproximateTickSize(this.maxTicks.yAxis); + + while (true) { + if (approximateTickSize <= (unitTickSizeGenerator[0] * tickSizeMultiplier)) { + finalTickSize = unitTickSizeGenerator[0] * tickSizeMultiplier; + break; + } + if (approximateTickSize <= (unitTickSizeGenerator[1] * tickSizeMultiplier)) { + finalTickSize = unitTickSizeGenerator[1] * tickSizeMultiplier; + break; + } + if (approximateTickSize <= (unitTickSizeGenerator[2] * tickSizeMultiplier)) { + finalTickSize = unitTickSizeGenerator[2] * tickSizeMultiplier; + break; + } + tickSizeMultiplier *= 10.0; + } + + return finalTickSize; + }, + + getTickSize: function(value, onAxis) { + this.maxValue = value; + if (onAxis.trim().toLowerCase() === 'y') { + return this.getFinalTickSizeForYaxis(this.tickSizeUnits.yAxis); + } + } +}; /** * Create a div that represents the rectangular bar A hidden input class that is @@ -1186,5 +1214,8 @@ function setTickSizeOfAxes(){ var normalizedYearRange = getNormalizedYearRange(); setLineWidthAndTickSize(normalizedYearRange.normalizedRange, FlotOptions); - setTickSizeOfYAxis(calcMaxWithinComparisonParameter(checkedLabelToEntityRecord), FlotOptions); + + FlotOptions.yaxis.tickSize = + TickSize.getTickSize(calcMaxWithinComparisonParameter(checkedLabelToEntityRecord), 'y'); + } \ No newline at end of file