From e900879cc395fae6517e83f6032d07647893a84c Mon Sep 17 00:00:00 2001 From: Pete Harverson Date: Wed, 24 Oct 2018 15:50:56 +0100 Subject: [PATCH] [ML] Fixes labels in datafeed time range selector modal (#24489) --- .../components/jobs_list/jobs_list.js | 2 +- .../jobs_list_view/jobs_list_view.js | 2 +- .../start_datafeed_modal.js | 2 +- .../time_range_selector.js | 21 +++++++++++++------ .../ml/server/models/job_service/jobs.js | 4 ++-- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list/jobs_list.js b/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list/jobs_list.js index 7687ac372308..4744d6402c60 100644 --- a/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list/jobs_list.js +++ b/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list/jobs_list.js @@ -159,7 +159,7 @@ export class JobsList extends Component { }, { name: 'Latest timestamp', truncateText: false, - field: 'latestTimeStampSortValue', + field: 'latestTimestampSortValue', sortable: true, render: (time, item) => ( diff --git a/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js b/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js index 7dc842cf8cd9..b6f597190743 100644 --- a/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js +++ b/x-pack/plugins/ml/public/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js @@ -257,7 +257,7 @@ export class JobsListView extends Component { fullJobsList[job.id] = job.fullJob; delete job.fullJob; } - job.latestTimeStampSortValue = (job.latestTimeStampMs || 0); + job.latestTimestampSortValue = (job.latestTimestampMs || 0); return job; }); const filteredJobsSummaryList = filterJobs(jobsSummaryList, this.state.filterClauses); diff --git a/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/start_datafeed_modal.js b/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/start_datafeed_modal.js index cd5a939cbba1..f37db8d6309f 100644 --- a/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/start_datafeed_modal.js +++ b/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/start_datafeed_modal.js @@ -196,6 +196,6 @@ StartDatafeedModal.propTypes = { }; function getLowestLatestTime(jobs) { - const times = jobs.map(j => j.latestTimeStampSortValue); + const times = jobs.map(j => j.latestTimestampSortValue); return moment(Math.min(...times)); } diff --git a/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/time_range_selector/time_range_selector.js b/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/time_range_selector/time_range_selector.js index b44f2ca1fc19..721974343470 100644 --- a/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/time_range_selector/time_range_selector.js +++ b/x-pack/plugins/ml/public/jobs/jobs_list/components/start_datafeed_modal/time_range_selector/time_range_selector.js @@ -28,7 +28,7 @@ export class TimeRangeSelector extends Component { startTab: 0, endTab: 1, }; - this.latestTimeStamp = this.props.startTime; + this.latestTimestamp = this.props.startTime; this.now = this.props.now; } @@ -69,15 +69,24 @@ export class TimeRangeSelector extends Component { } getTabItems() { + const datePickerTimes = { - start: (moment.isMoment(this.props.startTime)) ? this.props.startTime : this.latestTimeStamp, + start: (moment.isMoment(this.props.startTime)) ? this.props.startTime : this.latestTimestamp, end: (moment.isMoment(this.props.endTime)) ? this.props.endTime : this.now, }; - const formattedStartTime = this.latestTimeStamp.format(TIME_FORMAT); + const formattedStartTime = this.latestTimestamp.format(TIME_FORMAT); + + // Show different labels for the start time depending on whether + // the job has seen any data yet + const showContinueLabels = (this.latestTimestamp.valueOf() > 0); + const startLabels = (showContinueLabels === true) ? + [`Continue from ${formattedStartTime}`, 'Continue from now', 'Continue from specified time'] : + ['Start at beginning of data', 'Start from now', 'Specify start time']; + const startItems = [ - { index: 0, label: `Continue from ${formattedStartTime}` }, - { index: 1, label: 'Continue from now' }, - { index: 2, label: 'Continue from specified time', + { index: 0, label: startLabels[0] }, + { index: 1, label: startLabels[1] }, + { index: 2, label: startLabels[2], body: (