fix: task sorting
All checks were successful
markdownlint check / markdownlint check (pull_request) Successful in 28s
htmlhint check / htmlhint check (pull_request) Successful in 36s
Prettier check / Prettier check (pull_request) Successful in 26s
Stylelint check / Stylelint check (pull_request) Successful in 45s
ShellCheck check / ShellCheck check (pull_request) Successful in 1m25s
yamllint check / yamllint check (pull_request) Successful in 37s
checkov check / checkov check (pull_request) Successful in 3m44s
Rust check / Rust check (pull_request) Successful in 14m27s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 5s
actionlint check / actionlint check (pull_request) Successful in 11s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 9s
hadolint check / hadolint check (pull_request) Successful in 14s
GitLeaks check / GitLeaks check (pull_request) Successful in 19s
All checks were successful
markdownlint check / markdownlint check (pull_request) Successful in 28s
htmlhint check / htmlhint check (pull_request) Successful in 36s
Prettier check / Prettier check (pull_request) Successful in 26s
Stylelint check / Stylelint check (pull_request) Successful in 45s
ShellCheck check / ShellCheck check (pull_request) Successful in 1m25s
yamllint check / yamllint check (pull_request) Successful in 37s
checkov check / checkov check (pull_request) Successful in 3m44s
Rust check / Rust check (pull_request) Successful in 14m27s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 5s
actionlint check / actionlint check (pull_request) Successful in 11s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 9s
hadolint check / hadolint check (pull_request) Successful in 14s
GitLeaks check / GitLeaks check (pull_request) Successful in 19s
This commit is contained in:
@@ -13,6 +13,14 @@ use crate::{
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fn sort_loader_result<T: Ord + Clone>(result: &mut Result<Loader<Vec<T>>, Loading>) {
|
||||||
|
if let Ok(items) = result.as_mut() {
|
||||||
|
let mut items_sorted = items();
|
||||||
|
items_sorted.sort();
|
||||||
|
items.set(items_sorted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(clippy::result_large_err)]
|
#[allow(clippy::result_large_err)]
|
||||||
fn use_loader_with_update_subscription<F, T, E>(
|
fn use_loader_with_update_subscription<F, T, E>(
|
||||||
mut future: impl FnMut() -> F + 'static,
|
mut future: impl FnMut() -> F + 'static,
|
||||||
@@ -41,21 +49,25 @@ where
|
|||||||
|
|
||||||
#[allow(clippy::result_large_err)]
|
#[allow(clippy::result_large_err)]
|
||||||
pub(crate) fn use_projects() -> Result<Loader<Vec<Project>>, Loading> {
|
pub(crate) fn use_projects() -> Result<Loader<Vec<Project>>, Loading> {
|
||||||
use_loader_with_update_subscription(get_projects).inspect(|projects| projects().sort())
|
let mut result = use_loader_with_update_subscription(get_projects);
|
||||||
|
sort_loader_result(&mut result);
|
||||||
|
result
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::result_large_err)]
|
#[allow(clippy::result_large_err)]
|
||||||
pub(crate) fn use_tasks_with_subtasks_in_category(
|
pub(crate) fn use_tasks_with_subtasks_in_category(
|
||||||
filtered_category: Category,
|
filtered_category: Category,
|
||||||
) -> Result<Loader<Vec<TaskWithSubtasks>>, Loading> {
|
) -> Result<Loader<Vec<TaskWithSubtasks>>, Loading> {
|
||||||
use_loader_with_update_subscription(move || {
|
let mut result = use_loader_with_update_subscription(move || {
|
||||||
get_tasks_with_subtasks_in_category(filtered_category.clone())
|
get_tasks_with_subtasks_in_category(filtered_category.clone())
|
||||||
})
|
});
|
||||||
.inspect(|tasks| tasks().sort())
|
sort_loader_result(&mut result);
|
||||||
|
result
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::result_large_err)]
|
#[allow(clippy::result_large_err)]
|
||||||
pub(crate) fn use_subtasks_of_task(task_id: i32) -> Result<Loader<Vec<Subtask>>, Loading> {
|
pub(crate) fn use_subtasks_of_task(task_id: i32) -> Result<Loader<Vec<Subtask>>, Loading> {
|
||||||
use_loader_with_update_subscription(move || get_subtasks_of_task(task_id))
|
let mut result = use_loader_with_update_subscription(move || get_subtasks_of_task(task_id));
|
||||||
.inspect(|subtasks| subtasks().sort())
|
sort_loader_result(&mut result);
|
||||||
|
result
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user