diff --git a/src-tauri/src/tasks_functions.rs b/src-tauri/src/tasks_functions.rs
index e94ab49..f904263 100644
--- a/src-tauri/src/tasks_functions.rs
+++ b/src-tauri/src/tasks_functions.rs
@@ -148,7 +148,7 @@ pub fn search_tasks(app_handle: tauri::AppHandle, value: String) -> Value {
}
#[tauri::command]
-pub fn add_task(app_handle: tauri::AppHandle, date: String, time: String, name: String, description: String, priority: i32) {
+pub fn add_task(app_handle: tauri::AppHandle, date: String, time: String, name: String, description: String, priority: String) {
let mut path = app_handle.path_resolver().app_local_data_dir().unwrap();
path.push("ToDo");
path.push("tasks");
@@ -178,7 +178,7 @@ pub fn add_task(app_handle: tauri::AppHandle, date: String, time: String, name:
}
#[tauri::command]
-pub fn edit_task(app_handle: tauri::AppHandle, id_task: String, name: String, description: String) {
+pub fn edit_task(app_handle: tauri::AppHandle, id_task: String, name: String, description: String, priority: String) {
let mut path = app_handle.path_resolver().app_local_data_dir().unwrap();
path.push("ToDo");
path.push("tasks");
@@ -188,7 +188,8 @@ pub fn edit_task(app_handle: tauri::AppHandle, id_task: String, name: String, de
let content = decrypt_file(path.clone());
let mut data: Value = serde_json::from_str(content.as_str()).unwrap();
data["tasks"][id_task.clone()]["name"] = json!(name);
- data["tasks"][id_task]["description"] = json!(description);
+ data["tasks"][id_task.clone()]["description"] = json!(description);
+ data["tasks"][id_task]["priority"] = json!(priority);
encrypt_n_save_file(path.into(), data.to_string());
}
diff --git a/src/App.vue b/src/App.vue
index 26de36c..e7ff65b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -8,20 +8,28 @@ import CreateModal from "./components/modals/CreateModal.vue";
import { appWindow } from '@tauri-apps/api/window';
import {useDark, useToggle} from "@vueuse/core";
+import PriorityModal from "./components/modals/PriorityModal.vue";
const isDark = useDark();
const toggleDark = useToggle(isDark);
let tasks = ref({});
let pending = ref(true);
+
let create_modal = ref(false);
let edit_modal = ref(false);
+let priority_modal = ref(false);
let search_text = ref("");
let to_edit_id = ref("");
let to_edit_name = ref("");
let to_edit_description = ref("");
+let to_edit_priority = ref(0);
+
+let to_change_id = ref("");
+let to_change_name = ref("");
+let to_change_priority = ref("");
onBeforeMount(async () => {
await invoke('check_or_create_tasks_file');
@@ -40,18 +48,37 @@ onBeforeMount(async () => {
.addEventListener('click', () => appWindow.close())
});
+
+function compare_priority(a, b) {
+ if ( parseInt(a.priority) < parseInt(b.priority) ){
+ return -1;
+ }
+ if ( parseInt(a.priority) > parseInt(b.priority) ){
+ return 1;
+ }
+ return 0;
+}
+
async function get_tasks(){
+ let tmp_tasks = [];
await invoke('get_tasks').then((res) => {
- tasks.value = res;
+ for (let value in res){
+ tmp_tasks.push(res[value]);
+ }
+ tasks.value = tmp_tasks.sort(compare_priority).reverse();
});
}
async function search_tasks(event){
+ let tmp_tasks = [];
if (event.target.value) {
await invoke('search_tasks', {
value: event.target.value
}).then((res) => {
- tasks.value = res;
+ for (let value in res){
+ tmp_tasks.push(res[value]);
+ }
+ tasks.value = tmp_tasks.sort(compare_priority).reverse();
});
} else{
await get_tasks();
@@ -61,7 +88,7 @@ async function search_tasks(event){
async function set_task_field(id_task, completed){
let field = "completed"
id_task = id_task.toString();
- completed = completed.toString()
+ completed = completed.toString();
if (completed === "false"){
completed = "true"
} else{
@@ -72,7 +99,12 @@ async function set_task_field(id_task, completed){
field: field,
value: completed
}).then(async () => {
- tasks.value[id_task][field] = completed;
+ for (let index in tasks.value){
+ if (tasks.value[index].id === id_task){
+ tasks.value[index][field] = completed;
+ break;
+ }
+ }
});
}
@@ -85,17 +117,27 @@ async function delete_task(id_task){
});
}
-async function edit_task(id_task, name, description){
- to_edit_id = id_task;
+function edit_task(id_task, name, description, priority){
+ window.scrollTo({top:0});
+ to_edit_id.value = id_task;
to_edit_name.value = name;
to_edit_description.value = description;
- edit_modal.value = true
+ to_edit_priority.value = priority;
+ edit_modal.value = true;
+}
+
+function change_priority(id_task, name, priority){
+ window.scrollTo({top:0});
+ to_change_id.value = id_task;
+ to_change_name.value = name;
+ to_change_priority.value = priority;
+ priority_modal.value = true;
}
-
- {{task.date}}
{{task.time}}