forked from github/plane
fix sorting of existing values and add sorting to all fields
This commit is contained in:
parent
1fadcdd1f4
commit
5a249f28e1
@ -122,22 +122,80 @@ export class IssueBaseStore implements IIssueBaseStore {
|
|||||||
|
|
||||||
issuesSortWithOrderBy = (issueObject: IIssueResponse, key: Partial<TIssueOrderByOptions>): IIssue[] => {
|
issuesSortWithOrderBy = (issueObject: IIssueResponse, key: Partial<TIssueOrderByOptions>): IIssue[] => {
|
||||||
let array = _.values(issueObject);
|
let array = _.values(issueObject);
|
||||||
array = _.sortBy(array, "created_at");
|
array = _.reverse(_.sortBy(array, "created_at"));
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case "sort_order":
|
case "sort_order":
|
||||||
return _.sortBy(array, "sort_order");
|
return _.reverse(_.sortBy(array, "sort_order"));
|
||||||
|
case "state__name": {
|
||||||
|
return _.reverse(_.sortBy(array, "state"));
|
||||||
|
}
|
||||||
|
case "-state__name": {
|
||||||
|
return _.sortBy(array, "state");
|
||||||
|
}
|
||||||
|
//dates
|
||||||
|
case "created_at":
|
||||||
|
return _.sortBy(array, "created_at");
|
||||||
case "-created_at":
|
case "-created_at":
|
||||||
return _.reverse(_.sortBy(array, "created_at"));
|
return _.reverse(_.sortBy(array, "created_at"));
|
||||||
|
case "updated_at":
|
||||||
|
return _.sortBy(array, "updated_at");
|
||||||
case "-updated_at":
|
case "-updated_at":
|
||||||
return _.reverse(_.sortBy(array, "updated_at"));
|
return _.reverse(_.sortBy(array, "updated_at"));
|
||||||
case "start_date":
|
case "start_date":
|
||||||
return _.sortBy(array, "start_date");
|
return _.sortBy(array, "start_date");
|
||||||
|
case "-start_date":
|
||||||
|
return _.reverse(_.sortBy(array, "start_date"));
|
||||||
case "target_date":
|
case "target_date":
|
||||||
return _.sortBy(array, "target_date");
|
return _.sortBy(array, "target_date");
|
||||||
|
case "-target_date":
|
||||||
|
return _.reverse(_.sortBy(array, "target_date"));
|
||||||
|
//custom
|
||||||
case "priority": {
|
case "priority": {
|
||||||
|
const sortArray = ISSUE_PRIORITIES.map((i) => i.key);
|
||||||
|
return _.reverse(_.sortBy(array, (_issue: IIssue) => _.indexOf(sortArray, _issue.priority)));
|
||||||
|
}
|
||||||
|
case "-priority": {
|
||||||
const sortArray = ISSUE_PRIORITIES.map((i) => i.key);
|
const sortArray = ISSUE_PRIORITIES.map((i) => i.key);
|
||||||
return _.sortBy(array, (_issue: IIssue) => _.indexOf(sortArray, _issue.priority));
|
return _.sortBy(array, (_issue: IIssue) => _.indexOf(sortArray, _issue.priority));
|
||||||
}
|
}
|
||||||
|
//number
|
||||||
|
case "attachment_count": {
|
||||||
|
return _.sortBy(array, "attachment_count");
|
||||||
|
}
|
||||||
|
case "-attachment_count": {
|
||||||
|
return _.reverse(_.sortBy(array, "attachment_count"));
|
||||||
|
}
|
||||||
|
case "estimate_point": {
|
||||||
|
return _.sortBy(array, "estimate_point");
|
||||||
|
}
|
||||||
|
case "-estimate_point": {
|
||||||
|
return _.reverse(_.sortBy(array, "estimate_point"));
|
||||||
|
}
|
||||||
|
case "link_count": {
|
||||||
|
return _.sortBy(array, "link_count");
|
||||||
|
}
|
||||||
|
case "-link_count": {
|
||||||
|
return _.reverse(_.sortBy(array, "link_count"));
|
||||||
|
}
|
||||||
|
case "sub_issues_count": {
|
||||||
|
return _.sortBy(array, "sub_issues_count");
|
||||||
|
}
|
||||||
|
case "-sub_issues_count": {
|
||||||
|
return _.reverse(_.sortBy(array, "sub_issues_count"));
|
||||||
|
}
|
||||||
|
//Array
|
||||||
|
case "labels__name": {
|
||||||
|
return _.reverse(_.sortBy(array, "labels"));
|
||||||
|
}
|
||||||
|
case "-labels__name": {
|
||||||
|
return _.sortBy(array, "labels");
|
||||||
|
}
|
||||||
|
case "assignees__first_name": {
|
||||||
|
return _.reverse(_.sortBy(array, "assignees"));
|
||||||
|
}
|
||||||
|
case "-assignees__first_name": {
|
||||||
|
return _.sortBy(array, "assignees");
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user