You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by dm...@apache.org on 2018/02/05 18:15:58 UTC
aurora git commit: Show cron job preview when no active tasks.
Repository: aurora
Updated Branches:
refs/heads/master 7f89f55f3 -> 39337c3ee
Show cron job preview when no active tasks.
Reviewed at https://reviews.apache.org/r/65501/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/39337c3e
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/39337c3e
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/39337c3e
Branch: refs/heads/master
Commit: 39337c3ee8eadff5e27212bca55b1195600a3411
Parents: 7f89f55
Author: David McLaughlin <da...@dmclaughlin.com>
Authored: Mon Feb 5 10:13:01 2018 -0800
Committer: David McLaughlin <da...@dmclaughlin.com>
Committed: Mon Feb 5 10:13:01 2018 -0800
----------------------------------------------------------------------
ui/src/main/js/components/CronJobPreview.js | 13 +++++++++++++
ui/src/main/js/components/JobStatus.js | 8 +++++++-
ui/src/main/js/components/__tests__/JobStatus-test.js | 5 ++++-
ui/src/main/sass/components/_job-page.scss | 6 +++++-
4 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/39337c3e/ui/src/main/js/components/CronJobPreview.js
----------------------------------------------------------------------
diff --git a/ui/src/main/js/components/CronJobPreview.js b/ui/src/main/js/components/CronJobPreview.js
new file mode 100644
index 0000000..2bc36cf
--- /dev/null
+++ b/ui/src/main/js/components/CronJobPreview.js
@@ -0,0 +1,13 @@
+import React from 'react';
+import moment from 'moment';
+
+import { RelativeTime } from 'components/Time';
+
+export default function CronJobPreview({ cronJob }) {
+ return (<div className='cron-job-preview'>
+ <strong>Cron job</strong>, next run will be at <span>
+ {moment(cronJob.nextCronRunMs).utc().format('MMMM Do YYYY, h:mm:ss a')} UTC (
+ <RelativeTime ts={cronJob.nextCronRunMs} />)
+ </span>
+ </div>);
+}
http://git-wip-us.apache.org/repos/asf/aurora/blob/39337c3e/ui/src/main/js/components/JobStatus.js
----------------------------------------------------------------------
diff --git a/ui/src/main/js/components/JobStatus.js b/ui/src/main/js/components/JobStatus.js
index 14f3538..8a81e69 100644
--- a/ui/src/main/js/components/JobStatus.js
+++ b/ui/src/main/js/components/JobStatus.js
@@ -1,5 +1,6 @@
import React from 'react';
+import CronJobPreview from 'components/CronJobPreview';
import JobConfig from 'components/JobConfig';
import PanelGroup from 'components/Layout';
import Tabs, { Tab } from 'components/Tabs';
@@ -17,6 +18,11 @@ export default function ({
tasks }) {
const activeTasks = sort(tasks.filter(isActive), (t) => t.assignedTask.instanceId);
const numberConfigs = isNully(cronJob) ? (isNully(configGroups) ? '' : configGroups.length) : 1;
+
+ const taskView = (activeTasks.length === 0 && !isNully(cronJob))
+ ? <CronJobPreview cronJob={cronJob} />
+ : <TaskList pendingReasons={pendingReasons} tasks={activeTasks} />;
+
return (<Tab id='status' name={`Active Tasks (${activeTasks.length})`}>
<PanelGroup>
<Tabs
@@ -24,7 +30,7 @@ export default function ({
className='task-status-tabs'
onChange={onTaskViewChange}>
<Tab icon='th-list' id='tasks' name='Tasks'>
- <TaskList pendingReasons={pendingReasons} tasks={activeTasks} />
+ {taskView}
</Tab>
<Tab icon='info-sign' id='config' name={`Configuration (${numberConfigs})`}>
<JobConfig cronJob={cronJob} groups={configGroups} />
http://git-wip-us.apache.org/repos/asf/aurora/blob/39337c3e/ui/src/main/js/components/__tests__/JobStatus-test.js
----------------------------------------------------------------------
diff --git a/ui/src/main/js/components/__tests__/JobStatus-test.js b/ui/src/main/js/components/__tests__/JobStatus-test.js
index 78eaab4..b97e6b0 100644
--- a/ui/src/main/js/components/__tests__/JobStatus-test.js
+++ b/ui/src/main/js/components/__tests__/JobStatus-test.js
@@ -1,6 +1,7 @@
import React from 'react';
import { shallow } from 'enzyme';
+import CronJobPreview from '../CronJobPreview';
import JobStatus from '../JobStatus';
import TaskList from '../TaskList';
import { Tab } from '../Tabs';
@@ -31,7 +32,9 @@ describe('JobStatus', () => {
});
it('Should show one configuration when there is a cron job', () => {
- const el = shallow(JobStatus({cronJob: {}, queryParams: {}, tasks: []}));
+ const cronJob = {};
+ const el = shallow(JobStatus({cronJob: cronJob, queryParams: {}, tasks: []}));
+ expect(el.contains(<CronJobPreview cronJob={cronJob} />)).toBe(true);
expect(el.find(Tab).someWhere((t) => t.props().name === 'Configuration (1)')).toBe(true);
});
});
http://git-wip-us.apache.org/repos/asf/aurora/blob/39337c3e/ui/src/main/sass/components/_job-page.scss
----------------------------------------------------------------------
diff --git a/ui/src/main/sass/components/_job-page.scss b/ui/src/main/sass/components/_job-page.scss
index 41e9518..23fe3c4 100644
--- a/ui/src/main/sass/components/_job-page.scss
+++ b/ui/src/main/sass/components/_job-page.scss
@@ -1,4 +1,8 @@
.job-page {
+ .cron-job-preview {
+ padding: 15px;
+ }
+
.job-overview {
.tab-navigation {
background-color: rgba(0, 0, 0, 0.01);
@@ -84,7 +88,7 @@
text-transform: uppercase;
}
- th, td {
+ td {
word-break: break-word;
}
}