2021-02-10 13:19:24 -05:00
|
|
|
import Controller from '@ember/controller';
|
|
|
|
|
|
|
|
|
|
export default class ScopesScopeProjectsSessionsIndexController extends Controller {
|
|
|
|
|
// =attributes
|
|
|
|
|
|
2021-02-11 10:44:48 -05:00
|
|
|
/**
|
|
|
|
|
* A list of sessions filtered to the current user and sorted by created time,
|
|
|
|
|
* and active/pending.
|
|
|
|
|
* @type {SessionModel[]}
|
|
|
|
|
*/
|
2021-02-10 13:19:24 -05:00
|
|
|
get sorted() {
|
|
|
|
|
const sessions = this.model;
|
|
|
|
|
const sortedSessions = sessions
|
2021-02-11 10:44:48 -05:00
|
|
|
// sort by created time
|
2021-03-05 17:49:47 -05:00
|
|
|
.sortBy('session.created_time')
|
|
|
|
|
.reverse();
|
2021-02-10 13:19:24 -05:00
|
|
|
return [
|
2021-02-11 10:44:48 -05:00
|
|
|
// then move active sessions to the top
|
2021-02-10 13:19:24 -05:00
|
|
|
...sortedSessions.filter((session) => session.isCancelable),
|
2021-02-11 10:44:48 -05:00
|
|
|
// and all others to the end
|
2021-02-10 13:19:24 -05:00
|
|
|
...sortedSessions.filter((session) => !session.isCancelable),
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
}
|