Skip to content

Commit 0b18d5f

Browse files
committed
Caused numbers to be sorted properly, added reverse sort, and replaced empty headers with --
1 parent 82e87d7 commit 0b18d5f

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

esp/esp/program/modules/handlers/schedulingcheckmodule.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,17 @@ def format_list(self, l, help_text=""): # needs verify
6767
output["body"] = [self._table_row([row]) for row in l]
6868
return json.dumps(output)
6969

70+
7071
def _table_row(self, row):
7172
next_row = []
7273
for r in row:
7374
#displaying lists is sometimes borked. This makes it not borked
7475
if isinstance(r, list):
7576
r = [str(i) for i in r]
76-
next_row.append(str(r))
77+
if isinstance(r, int):
78+
next_row.append(r)
79+
else:
80+
next_row.append(str(r))
7781
return next_row
7882

7983
def _format_list_table(self, d, headings, help_text=""): #needs verify

esp/public/media/scripts/program/modules/scheduling_checks.jsx

+22-16
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,15 @@ var SchedulingCheck = React.createClass({
3737
open: false,
3838
failed: false,
3939
timestamp: "never",
40-
tableState: { // gets modified by functions in the definition of SelectTable
40+
tableState: {
4141
greyed: {},
42-
sort: -1
42+
sort: false,
43+
reverse: false
4344
}
4445
};
4546
},
4647

4748
updateTableState: function (state) {
48-
/*this.state.tableState = {
49-
greyed: state.greyed,
50-
sort: state.sort
51-
};*/
5249
this.state.tableState = state;
5350
},
5451

@@ -111,7 +108,7 @@ var SchedulingCheck = React.createClass({
111108
if (data.headings[i]) {
112109
columns[i] = {key: String(i), label: data.headings[i]};
113110
} else {
114-
columns[i] = {key: String(i), label: " "};
111+
columns[i] = {key: String(i), label: "--"};
115112
}
116113
}
117114
table = <SelectTable rows = {data.body} columns = {columns} header = {true} saveState = {this.state.tableState} updateTableState = {this.updateTableState} />;
@@ -159,7 +156,8 @@ var SelectTable = React.createClass({
159156
rows: React.PropTypes.array.isRequired,
160157
saveState: React.PropTypes.shape({
161158
greyed: React.PropTypes.object.isRequired,
162-
sort: React.PropTypes.any.isRequired
159+
sort: React.PropTypes.any.isRequired,
160+
reverse: React.PropTypes.bool.isRequired
163161
}).isRequired,
164162
header: React.PropTypes.bool.isRequired,
165163
columns: React.PropTypes.array,
@@ -168,19 +166,19 @@ var SelectTable = React.createClass({
168166

169167
getInitialState: function(){
170168
// We will store the sorted column and whether each row is greyed out
171-
return {sort: this.props.saveState.sort, greyed: this.props.saveState.greyed };
169+
return {sort: this.props.saveState.sort, greyed: this.props.saveState.greyed, reverse: this.props.saveState.reverse};
172170
},
173171
render: function(){
174172
this.props.updateTableState(this.state);
175-
var me = this,
176-
// clone the rows
177-
items = this.props.rows.slice()
178-
;
173+
var me = this;
174+
// clone the rows
175+
items = this.props.rows.slice();
179176

180177
items = _.sortBy(items, function( item ){
181178
return item[ me.state.sort ];
182179
});
183-
180+
181+
if (this.state.reverse) items.reverse();
184182

185183
return <JsonTable
186184
rows={items}
@@ -197,7 +195,11 @@ var SelectTable = React.createClass({
197195
return {
198196
headerClass: function( current, key ){
199197
if( me.state.sort == key ) {
200-
return current + ' headerSelected';
198+
if ( me.state.reverse) {
199+
return current + ' headerSelected sortReversed';
200+
} else {
201+
return current + ' headerSelected';
202+
}
201203
} else {
202204
return current;
203205
}
@@ -214,7 +216,11 @@ var SelectTable = React.createClass({
214216
},
215217

216218
onClickHeader: function( e, column ){
217-
this.setState( {sort: column} );
219+
if (this.state.sort === column) {
220+
this.setState( {reverse: !this.state.reverse} );
221+
} else {
222+
this.setState( {sort: column, reverse: false} );
223+
}
218224
},
219225

220226
onClickRow: function( e, item ){

0 commit comments

Comments
 (0)