You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mg...@apache.org on 2017/02/01 09:53:17 UTC
ambari git commit: AMBARI-19796 Log Search portal date range picker -
fix minor issues (mgergely)
Repository: ambari
Updated Branches:
refs/heads/trunk c4f59ef71 -> 4e689afe5
AMBARI-19796 Log Search portal date range picker - fix minor issues (mgergely)
Change-Id: I39ad475f1a7a91cd0b477b2847b3db8679ea67b0
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4e689afe
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4e689afe
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4e689afe
Branch: refs/heads/trunk
Commit: 4e689afe5a5bbc04d893b16f1d117988efa3ff3e
Parents: c4f59ef
Author: Miklos Gergely <mg...@hortonworks.com>
Authored: Wed Feb 1 10:53:04 2017 +0100
Committer: Miklos Gergely <mg...@hortonworks.com>
Committed: Wed Feb 1 10:53:04 2017 +0100
----------------------------------------------------------------------
.../other/daterangepicker/js/daterangepicker.js | 90 ++++----------------
.../src/main/webapp/scripts/utils/ViewUtils.js | 2 +-
.../scripts/views/common/DatePickerLayout.js | 40 ++++-----
3 files changed, 36 insertions(+), 96 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/4e689afe/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/other/daterangepicker/js/daterangepicker.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/other/daterangepicker/js/daterangepicker.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/other/daterangepicker/js/daterangepicker.js
index dc571e8..e88b45f 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/other/daterangepicker/js/daterangepicker.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/other/daterangepicker/js/daterangepicker.js
@@ -49,7 +49,6 @@
this.linkedCalendars = true;
this.autoUpdateInput = true;
this.alwaysShowCalendars = false;
- this.ranges = {};
this.opens = 'right';
if (this.element.hasClass('pull-right'))
@@ -301,45 +300,8 @@
}
if (typeof options.ranges === 'object') {
- for (range in options.ranges) {
-
- if (typeof options.ranges[range][0] === 'string')
- start = moment(options.ranges[range][0], this.locale.format);
- else
- start = moment(options.ranges[range][0]);
-
- if (typeof options.ranges[range][1] === 'string')
- end = moment(options.ranges[range][1], this.locale.format);
- else
- end = moment(options.ranges[range][1]);
-
- // If the start or end date exceed those allowed by the minDate or dateLimit
- // options, shorten the range to the allowable period.
- if (this.minDate && start.isBefore(this.minDate))
- start = this.minDate.clone();
-
- var maxDate = this.maxDate;
- if (this.dateLimit && maxDate && start.clone().add(this.dateLimit).isAfter(maxDate))
- maxDate = start.clone().add(this.dateLimit);
- if (maxDate && end.isAfter(maxDate))
- end = maxDate.clone();
-
- // If the end of the range is before the minimum or the start of the range is
- // after the maximum, don't display this range option at all.
- if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day'))
- || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')))
- continue;
-
- //Support unicode chars in the range names.
- var elem = document.createElement('textarea');
- elem.innerHTML = range;
- var rangeHtml = elem.value;
-
- this.ranges[rangeHtml] = [start, end];
- }
-
var list = '<ul>';
- for (range in this.ranges) {
+ for (range of options.ranges) {
list += '<li data-range-key="' + range + '">' + range + '</li>';
}
if (this.showCustomRangeLabel) {
@@ -614,9 +576,9 @@
//highlight any predefined range matching the current start and end dates
this.container.find('.ranges li').removeClass('active');
+ this.chosenLabel = this.container.find('.ranges li:last').addClass('active').html();
if (this.endDate == null) return;
-
- this.calculateChosenLabel();
+ this.showCalendars();
},
renderCalendar: function(side) {
@@ -649,11 +611,14 @@
}
//populate the calendar with date objects
+ var curDate;
var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;
- if (startDay > daysInLastMonth + 1)
- startDay -= 7;
-
- var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);
+ if (startDay == daysInLastMonth + 1)
+ curDate = moment([year, month, 1, 12, minute, second]);
+ else if (startDay > daysInLastMonth )
+ curDate = moment([lastYear, lastMonth, startDay-7, 12, minute, second]);
+ else
+ curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);
var col, row;
for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {
@@ -1180,7 +1145,6 @@
},
hoverRange: function(e) {
-
//ignore mouse movements while an above-calendar text input has focus
if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus"))
return;
@@ -1190,7 +1154,8 @@
if (label == this.locale.customRangeLabel) {
this.updateView();
} else {
- var dates = this.ranges[label];
+ var Utils = require('utils/Utils');
+ var dates = Utils.dateUtil.getRelativeDateFromString(label);
this.container.find('input[name=daterangepicker_start]').val(dates[0].format(this.locale.format));
this.container.find('input[name=daterangepicker_end]').val(dates[1].format(this.locale.format));
}
@@ -1203,7 +1168,8 @@
if (label == this.locale.customRangeLabel) {
this.showCalendars();
} else {
- var dates = this.ranges[label];
+ var Utils = require('utils/Utils');
+ var dates = Utils.dateUtil.getRelativeDateFromString(label);
this.startDate = dates[0];
this.endDate = dates[1];
@@ -1346,7 +1312,7 @@
}
this.setEndDate(date.clone());
if (this.autoApply) {
- this.calculateChosenLabel();
+ this.showCalendars();
this.clickApply();
}
}
@@ -1364,32 +1330,6 @@
},
- calculateChosenLabel: function() {
- var customRange = true;
- var i = 0;
- for (var range in this.ranges) {
- if (this.timePicker) {
- if (this.startDate.isSame(this.ranges[range][0]) && this.endDate.isSame(this.ranges[range][1])) {
- customRange = false;
- this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html();
- break;
- }
- } else {
- //ignore times when comparing dates if time picker is not enabled
- if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {
- customRange = false;
- this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html();
- break;
- }
- }
- i++;
- }
- if (customRange && this.showCustomRangeLabel) {
- this.chosenLabel = this.container.find('.ranges li:last').addClass('active').html();
- this.showCalendars();
- }
- },
-
clickApply: function(e) {
this.hide();
this.element.trigger('apply.daterangepicker', this);
http://git-wip-us.apache.org/repos/asf/ambari/blob/4e689afe/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
index 6d587cd..9934572 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
@@ -33,7 +33,7 @@ define(['require',
var params = Utils.getQueryParams(window.location.search);
this.defaultParams = {
q: "*:*",
- from: moment().hours("00").minutes("00").seconds("01").milliseconds("000").toJSON(),
+ from: moment().hours("00").minutes("00").seconds("00").milliseconds("000").toJSON(),
to: moment().hours("23").minutes("59").seconds("59").milliseconds("999").toJSON(),
unit: "+1HOUR",
level: "FATAL,ERROR,WARN"
http://git-wip-us.apache.org/repos/asf/ambari/blob/4e689afe/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/DatePickerLayout.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/DatePickerLayout.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/DatePickerLayout.js
index 3beb776..22a9b30 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/DatePickerLayout.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/DatePickerLayout.js
@@ -69,22 +69,22 @@ define(['require',
this.setValues(options);
}, this);
this.listenTo(this.vent, "date:click", function(options) {
- this.isEventTriggerdFromVent = true;
+ this.isEventTriggerdFromVent = true;
this.setValues(options);
this.ui.dateRange.data('daterangepicker').clickApply();
}, this);
this.listenTo(this.vent, "date:getValues", function(obj) {
- var dates = this.getValues();
- obj.dates = [dates[0], dates[1]];
- obj.dateRangeLabel = this.dateRangeLabel;
- obj.unit = this.unit;
+ var dates = this.getValues();
+ obj.dates = [dates[0], dates[1]];
+ obj.dateRangeLabel = this.dateRangeLabel;
+ obj.unit = this.unit;
}, this);
},
onRender: function() {
var that = this;
if(this.hideFireButton){
- this.$(".goBtn").hide();
+ this.$(".goBtn").hide();
}
if(this.buttonLabel){
this.$(".goBtn").text(this.buttonLabel);
@@ -128,10 +128,10 @@ define(['require',
this.dateRangeLabel = val.dateRangeLabel;
},
getValues : function(){
- var obj = this.ui.dateRange.data("daterangepicker");
- if(obj){
- return [obj.startDate, obj.endDate];
- }
+ var obj = this.ui.dateRange.data("daterangepicker");
+ if(obj){
+ return [obj.startDate, obj.endDate];
+ }
},
initializeDateRangePicker: function() {
var that = this,
@@ -141,7 +141,7 @@ define(['require',
ranges[k.text] = [];
})
this.ui.dateRange.daterangepicker(_.extend({
- 'ranges': ranges
+ 'ranges': Object.keys(ranges)
}, {
"timePicker": true,
"timePickerIncrement": 1,
@@ -167,15 +167,15 @@ define(['require',
this.ui.dateRange.on('apply.daterangepicker ', function(ev, picker) {
- if(! that.isEventTriggerdFromVent && !(_.isUndefined(picker.chosenLabel)) ){
- that.dateRangeLabel = picker.chosenLabel;
- }else{
- that.isEventTriggerdFromVent = false;
- }
- if (that.dateRangeLabel !== "Custom Range") {
- var last1Hour = that.dateUtil.getRelativeDateFromString(that.dateRangeLabel);
- that.setDateText(last1Hour[0], last1Hour[1]);
- }
+ if(! that.isEventTriggerdFromVent && !(_.isUndefined(picker.chosenLabel)) ){
+ that.dateRangeLabel = picker.chosenLabel;
+ }else{
+ that.isEventTriggerdFromVent = false;
+ }
+ if (that.dateRangeLabel !== "Custom Range") {
+ var range = that.dateUtil.getRelativeDateFromString(that.dateRangeLabel);
+ that.setDateText(range[0], range[1]);
+ }
that.ui.dateRangeTitle.html(that.dateRangeLabel);
that.unit = that.checkDateRange(picker);
var options = {