Skip to content

Commit 5fcd76e

Browse files
committed
Build fixes.
1 parent 3af026a commit 5fcd76e

File tree

9 files changed

+243
-236
lines changed

9 files changed

+243
-236
lines changed

build.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<project name="chronos">
33
<target name="install" description="Install dependencies">
4-
<exec executable="npm" dir="${sourceDir}">
4+
<exec executable="npm" dir="${sourceDir}" failonerror="true">
55
<arg value="install"/>
66
</exec>
77
<echo message="install project dependencies" />
88
</target>
9+
<target name="eslint" description="Check source lint">
10+
<exec executable="npm" dir="${sourceDir}" failonerror="true">
11+
<arg value="run"/>
12+
<arg value="lint"/>
13+
</exec>
14+
</target>
915
<target name="build" description="Generate assets">
1016
<delete includeemptydirs="true" failonerror="false">
1117
<fileset dir="${sourceDir}/build" includes="**/*"/>
1218
</delete>
13-
<exec executable="npm" dir="${sourceDir}">
19+
<exec executable="npm" dir="${sourceDir}" failonerror="true">
1420
<arg value="run"/>
1521
<arg value="build"/>
1622
</exec>

src/main/resources/ui/components/JobEditor.js

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -6,47 +6,47 @@ import $ from 'jquery'
66

77
$(document).ready(function() {
88
$('.collapse').on('shown.bs.collapse', function() {
9-
$(this).parent().find(".glyphicon-chevron-down").removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up")
9+
$(this).parent().find('.glyphicon-chevron-down').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up')
1010
}).on('hidden.bs.collapse', function() {
11-
$(this).parent().find(".glyphicon-chevron-up").removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down")
11+
$(this).parent().find('.glyphicon-chevron-up').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down')
1212
})
1313
})
1414

1515
@observer
1616
class TextInput extends React.Component {
1717
getGroupClassName(field) {
1818
if (field.error) {
19-
return "has-error has-feedback"
19+
return 'has-error has-feedback'
2020
} else if (field.value) {
21-
return "has-success has-feedback"
21+
return 'has-success has-feedback'
2222
}
23-
return ""
23+
return ''
2424
}
2525
getFieldIcon(field) {
2626
if (field.error) {
27-
return "glyphicon glyphicon-remove form-control-feedback"
27+
return 'glyphicon glyphicon-remove form-control-feedback'
2828
} else if (field.value) {
29-
return "glyphicon glyphicon-ok form-control-feedback"
29+
return 'glyphicon glyphicon-ok form-control-feedback'
3030
}
31-
return "form-control-feedback"
31+
return 'form-control-feedback'
3232
}
3333
render() {
3434
const field = this.props.field
3535
return (
3636
<div className={this.getGroupClassName(field)}>
37-
<label className="control-label col-sm-1" htmlFor={"sf-"+field.name}>{field.label}</label>
37+
<label className="control-label col-sm-1" htmlFor={'sf-'+field.name}>{field.label}</label>
3838
<div className="col-sm-3">
3939
<input
4040
type="text"
4141
className="form-control"
4242
name={field.name}
43-
id={"sf-"+field.name}
43+
id={'sf-'+field.name}
4444
defaultValue={field.defaultValue}
45-
aria-describedby={"sf-"+field.name+"-status"}
45+
aria-describedby={'sf-'+field.name+'-status'}
4646
onChange={(event) => field.sync(event, field)}
4747
/>
4848
<span className={this.getFieldIcon(field)} aria-hidden="true"></span>
49-
<span id={"sf-"+field.name+"-status"} className="sr-only">{field.error}</span>
49+
<span id={'sf-'+field.name+'-status'} className="sr-only">{field.error}</span>
5050
{field.error ? <p>{field.error}</p> : null}
5151
</div>
5252
</div>
@@ -62,37 +62,37 @@ TextInput.propTypes = {
6262
class NumberInput extends React.Component {
6363
getGroupClassName(field) {
6464
if (field.error) {
65-
return "has-error has-feedback"
65+
return 'has-error has-feedback'
6666
} else if (field.value) {
67-
return "has-success has-feedback"
67+
return 'has-success has-feedback'
6868
}
69-
return ""
69+
return ''
7070
}
7171
getFieldIcon(field) {
7272
if (field.error) {
73-
return "glyphicon glyphicon-remove form-control-feedback"
73+
return 'glyphicon glyphicon-remove form-control-feedback'
7474
} else if (field.value) {
75-
return "glyphicon glyphicon-ok form-control-feedback"
75+
return 'glyphicon glyphicon-ok form-control-feedback'
7676
}
77-
return "form-control-feedback"
77+
return 'form-control-feedback'
7878
}
7979
render() {
8080
const field = this.props.field
8181
return (
8282
<div className={this.getGroupClassName(field)}>
83-
<label className="control-label col-sm-1" htmlFor={"sf-"+field.name}>{field.label}</label>
83+
<label className="control-label col-sm-1" htmlFor={'sf-'+field.name}>{field.label}</label>
8484
<div className="col-sm-3">
8585
<input
8686
type="number"
8787
className="form-control"
8888
name={field.name}
89-
id={"sf-"+field.name}
89+
id={'sf-'+field.name}
9090
defaultValue={field.defaultValue}
91-
aria-describedby={"sf-"+field.name+"-status"}
91+
aria-describedby={'sf-'+field.name+'-status'}
9292
onChange={(event) => field.sync(event, field)}
9393
/>
9494
<span className={this.getFieldIcon(field)} aria-hidden="true"></span>
95-
<span id={"sf-"+field.name+"-status"} className="sr-only">{field.error}</span>
95+
<span id={'sf-'+field.name+'-status'} className="sr-only">{field.error}</span>
9696
{field.error ? <p>{field.error}</p> : null}
9797
</div>
9898
</div>
@@ -106,17 +106,17 @@ class Checkbox extends React.Component {
106106
const field = this.props.field
107107
return (
108108
<div>
109-
<label className="control-label col-sm-4" htmlFor={"sf-"+field.name}>
109+
<label className="control-label col-sm-4" htmlFor={'sf-'+field.name}>
110110
{field.label} <input
111111
type="checkbox"
112112
name={field.name}
113-
id={"sf-"+field.name}
113+
id={'sf-'+field.name}
114114
defaultValue={field.defaultValue}
115-
aria-describedby={"sf-"+field.name+"-status"}
115+
aria-describedby={'sf-'+field.name+'-status'}
116116
onChange={(event) => field.sync(event, field)}
117117
/>
118118
</label>
119-
<span id={"sf-"+field.name+"-status"} className="sr-only">{field.error}</span>
119+
<span id={'sf-'+field.name+'-status'} className="sr-only">{field.error}</span>
120120
{field.error ? <p>{field.error}</p> : null}
121121
</div>
122122
)
@@ -136,19 +136,19 @@ class MultiSelectInput extends React.Component {
136136
const field = this.props.field
137137
return (
138138
<div>
139-
<label className="control-label col-sm-1" htmlFor={"sf-"+field.name}>{field.label}</label>
139+
<label className="control-label col-sm-1" htmlFor={'sf-'+field.name}>{field.label}</label>
140140
<div className="col-sm-3">
141141
<Select
142142
multi
143143
simpleValue
144144
options={this.getOptions()}
145145
name={field.name}
146-
id={"sf-"+field.name}
147-
aria-describedby={"sf-"+field.name+"-status"}
146+
id={'sf-'+field.name}
147+
aria-describedby={'sf-'+field.name+'-status'}
148148
onChange={(value) => field.sync(value, field)}
149149
value={field.value}
150150
/>
151-
<span id={"sf-"+field.name+"-status"} className="sr-only">{field.error}</span>
151+
<span id={'sf-'+field.name+'-status'} className="sr-only">{field.error}</span>
152152
{field.error ? <p>{field.error}</p> : null}
153153
</div>
154154
</div>
@@ -170,18 +170,18 @@ class SelectInput extends React.Component {
170170
const field = this.props.field
171171
return (
172172
<div className="">
173-
<label className="control-label col-sm-1" htmlFor={"sf-"+field.name}>{field.label}</label>
173+
<label className="control-label col-sm-1" htmlFor={'sf-'+field.name}>{field.label}</label>
174174
<div className="col-sm-3">
175175
<Select
176176
simpleValue
177177
options={this.getOptions()}
178178
name={field.name}
179-
id={"sf-"+field.name}
180-
aria-describedby={"sf-"+field.name+"-status"}
179+
id={'sf-'+field.name}
180+
aria-describedby={'sf-'+field.name+'-status'}
181181
onChange={(value) => field.sync(value, field)}
182182
value={field.value}
183183
/>
184-
<span id={"sf-"+field.name+"-status"} className="sr-only">{field.error}</span>
184+
<span id={'sf-'+field.name+'-status'} className="sr-only">{field.error}</span>
185185
{field.error ? <p>{field.error}</p> : null}
186186
</div>
187187
</div>
@@ -198,37 +198,37 @@ SelectInput.propTypes = {
198198
class Input extends React.Component {
199199
render() {
200200
const field = this.props.field
201-
if (field.type === "textinput") {
201+
if (field.type === 'textinput') {
202202
return (
203203
<TextInput
204204
field={field}
205205
/>
206206
)
207207
}
208-
if (field.type === "multiselect") {
208+
if (field.type === 'multiselect') {
209209
return (
210210
<MultiSelectInput
211211
field={field}
212212
jobSummaryStore={this.props.jobSummaryStore}
213213
/>
214214
)
215215
}
216-
if (field.type === "select") {
216+
if (field.type === 'select') {
217217
return (
218218
<SelectInput
219219
field={field}
220220
jobSummaryStore={this.props.jobSummaryStore}
221221
/>
222222
)
223223
}
224-
if (field.type === "numberinput") {
224+
if (field.type === 'numberinput') {
225225
return (
226226
<NumberInput
227227
field={field}
228228
/>
229229
)
230230
}
231-
if (field.type === "checkbox") {
231+
if (field.type === 'checkbox') {
232232
return (
233233
<Checkbox
234234
field={field}
@@ -259,10 +259,10 @@ class ModalComponent extends React.Component {
259259
}
260260
}
261261
typeName() {
262-
return this.props.jobForm.scheduled ? "scheduled" : "dependent"
262+
return this.props.jobForm.scheduled ? 'scheduled' : 'dependent'
263263
}
264264
formattedTypeName() {
265-
return this.props.jobForm.scheduled ? "Scheduled" : "Dependent"
265+
return this.props.jobForm.scheduled ? 'Scheduled' : 'Dependent'
266266
}
267267
render() {
268268
const jobForm = this.props.jobForm
@@ -272,9 +272,9 @@ class ModalComponent extends React.Component {
272272
var _advancedFields = []
273273
var counter = 0
274274
this.props.jobForm.fields.forEach(f => {
275-
if (f.name === "schedule" && !jobForm.scheduled) return
276-
if (f.name === "scheduleTimeZone" && !jobForm.scheduled) return
277-
if (f.name === "parents" && jobForm.scheduled) return
275+
if (f.name === 'schedule' && !jobForm.scheduled) return
276+
if (f.name === 'scheduleTimeZone' && !jobForm.scheduled) return
277+
if (f.name === 'parents' && jobForm.scheduled) return
278278
if (f.advanced) {
279279
_advancedFields.push(<Input key={f.name} field={f} jobSummaryStore={this.props.jobSummaryStore} />)
280280
if (_advancedFields.length >= 3) {
@@ -294,14 +294,14 @@ class ModalComponent extends React.Component {
294294
normalFields.push(<div key={counter++} className="row">{_normalFields}</div>)
295295
advancedFields.push(<div key={counter++} className="row">{_advancedFields}</div>)
296296
return (
297-
<div className="modal fade" id={this.typeName() + "-job-editor-modal"} tabIndex="-1" role="dialog" aria-labelledby="mymodallabel">
297+
<div className="modal fade" id={this.typeName() + '-job-editor-modal'} tabIndex="-1" role="dialog" aria-labelledby="mymodallabel">
298298
<div className="modal-dialog custom-modal" role="document">
299299
<div className="modal-content">
300300
<div className="modal-header">
301301
<button type="button" className="close" data-dismiss="modal" aria-label="close"><span aria-hidden="true">&times;</span></button>
302-
<h4 className="modal-title" id={this.typeName() + "-job-editor-modal-label"}>New {this.formattedTypeName()} Job</h4>
302+
<h4 className="modal-title" id={this.typeName() + '-job-editor-modal-label'}>New {this.formattedTypeName()} Job</h4>
303303
</div>
304-
<form className="form-horizontal" id={this.typeName() + "-job-editor-form"} onSubmit={jobForm.onSubmit.bind(jobForm)}>
304+
<form className="form-horizontal" id={this.typeName() + '-job-editor-form'} onSubmit={jobForm.onSubmit.bind(jobForm)}>
305305
<div className="modal-body">
306306
{this.alertField()}
307307
<div className="panel-group">
@@ -313,12 +313,12 @@ class ModalComponent extends React.Component {
313313
<div className="panel panel-default">
314314
<div className="panel-heading">
315315
<h4 className="panel-title">
316-
<a role="button" data-toggle="collapse" href={"#collapse" + this.typeName()} aria-expanded="true" aria-controls={"collapse" + this.typeName()} style={{textDecoration: 'none'}}>
316+
<a role="button" data-toggle="collapse" href={'#collapse' + this.typeName()} aria-expanded="true" aria-controls={'collapse' + this.typeName()} style={{textDecoration: 'none'}}>
317317
<small>Advanced Options <span className="glyphicon glyphicon-chevron-down"></span></small>
318318
</a>
319319
</h4>
320320
</div>
321-
<div id={"collapse" + this.typeName()} className="panel-collapse collapse">
321+
<div id={'collapse' + this.typeName()} className="panel-collapse collapse">
322322
<div className="panel-body">
323323
<div className="container-fluid">
324324
{advancedFields}

src/main/resources/ui/components/JobSummaryView.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class JobSummaryView extends React.Component {
3939
return (
4040
<tr key={job.name}>
4141
{this.getNameTd(job)}
42-
<td className={job.nextExpected === "OVERDUE" ? "danger" : null} data-container="body" data-toggle="tooltip" data-placement="top" title={job.schedule}>{job.nextExpected}</td>
42+
<td className={job.nextExpected === 'OVERDUE' ? 'danger' : null} data-container="body" data-toggle="tooltip" data-placement="top" title={job.schedule}>{job.nextExpected}</td>
4343
<td className={this.getStatusClass(job)}>{job.status}</td>
4444
<td className={this.getStateClass(job)}>{job.state}</td>
4545
<td className="text-right">
@@ -111,23 +111,23 @@ class JobSummaryView extends React.Component {
111111
}
112112

113113
getStatusClass(job) {
114-
if (job.status === "success") {
115-
return "success"
114+
if (job.status === 'success') {
115+
return 'success'
116116
}
117-
if (job.status === "failure") {
118-
return "warning"
117+
if (job.status === 'failure') {
118+
return 'warning'
119119
}
120-
return ""
120+
return ''
121121
}
122122

123123
getStateClass(job) {
124124
if (job.state.match(/\d+ running/)) {
125-
return "success"
125+
return 'success'
126126
}
127-
if (job.state === "queued") {
128-
return "info"
127+
if (job.state === 'queued') {
128+
return 'info'
129129
}
130-
return ""
130+
return ''
131131
}
132132

133133
doRequest(target, method, url, success, fail) {
@@ -155,15 +155,15 @@ class JobSummaryView extends React.Component {
155155
runJob(event, job) {
156156
this.doRequest(
157157
event.currentTarget,
158-
"PUT",
158+
'PUT',
159159
'/v1/scheduler/job/' + encodeURIComponent(job.name)
160160
)
161161
}
162162

163163
stopJob(event, job) {
164164
this.doRequest(
165165
event.currentTarget,
166-
"DELETE",
166+
'DELETE',
167167
'/v1/scheduler/task/kill/' + encodeURIComponent(job.name)
168168
)
169169
}
@@ -172,7 +172,7 @@ class JobSummaryView extends React.Component {
172172
let _job = job
173173
this.doRequest(
174174
event.currentTarget,
175-
"DELETE",
175+
'DELETE',
176176
'/v1/scheduler/job/' + encodeURIComponent(job.name),
177177
function(resp) {
178178
_job.destroy()

0 commit comments

Comments
 (0)