61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
function updateParent(notesArr) {
|
|
let parent = document.getElementById('sortable-wrapper');
|
|
parent.innerHTML = '';
|
|
for (let elem of notesArr) {
|
|
parent.appendChild(elem);
|
|
}
|
|
}
|
|
|
|
function convertToArray() {
|
|
var notes = document.getElementsByClassName("sortable");
|
|
var notesArr = [];
|
|
for (const node of notes) {
|
|
notesArr.push(node);
|
|
}
|
|
return notesArr;
|
|
}
|
|
|
|
function sortByTitle() {
|
|
var sort_by_title = function (a, b) {
|
|
let x = a.getElementsByClassName('card-title')[0];
|
|
let y = b.getElementsByClassName('card-title')[0];
|
|
return x.innerHTML.toLowerCase().localeCompare(y.innerHTML.toLowerCase());
|
|
};
|
|
|
|
var notesArr = convertToArray();
|
|
notesArr.sort(sort_by_title);
|
|
updateParent(notesArr);
|
|
}
|
|
|
|
function sortByDate() {
|
|
console.log('Sort Date');
|
|
var sort_by_date = function (a, b) {
|
|
a = a.getElementsByClassName('date')[0];
|
|
b = b.getElementsByClassName('date')[0];
|
|
if (a && b) {
|
|
a = a.innerHTML.split(' ');
|
|
let a_date = a[0].split('.');
|
|
let a_time = a[1].split(':');
|
|
b = b.innerHTML.split('\ ');
|
|
let b_date = b[0].split('.');
|
|
let b_time = b[1].split(':');
|
|
let x = new Date(a_date[2], a_date[1], a_date[0], a_time[0], a_time[1]).getTime();
|
|
let y = new Date(b_date[2], b_date[1], b_date[0], b_time[0], b_time[1]).getTime();
|
|
if (x === y) {
|
|
return 0;
|
|
} else if (x > y) {
|
|
return -1;
|
|
} else {
|
|
return 1;
|
|
}
|
|
} else {
|
|
return 0;
|
|
}
|
|
|
|
// return x.innerHTML.toLowerCase().localeCompare(y.innerHTML.toLowerCase());
|
|
};
|
|
|
|
var notesArr = convertToArray();
|
|
notesArr.sort(sort_by_date);
|
|
updateParent(notesArr);
|
|
} |