diff --git a/src/index.html b/src/index.html
index 7019f98..9be70c3 100644
--- a/src/index.html
+++ b/src/index.html
@@ -7,6 +7,8 @@
+
diff --git a/src/script/components/IndexPage.js b/src/script/components/IndexPage.js
index 2db0dfa..9977e6a 100644
--- a/src/script/components/IndexPage.js
+++ b/src/script/components/IndexPage.js
@@ -1,4 +1,6 @@
import DB from "./../utils/DB";
+import SortArr from "./SortArr";
+let sortArr = new SortArr();
let db = new DB();
let placeRender = document.querySelector(".workPlace");
@@ -36,9 +38,12 @@ class IndexPage {
# |
- ФИО |
+ ФИО
+
+ |
Должность |
- Дата Начало |
+ Дата Начало
+ |
Дата Конца |
@@ -46,6 +51,7 @@ class IndexPage {
`;
+ this.addHandlerEvent();
});
});
}
@@ -54,5 +60,25 @@ class IndexPage {
Нехватает данных! Добавьте отпуск для сотрудников (кнопочка выше)
;`;
}
+
+ addHandlerEvent() {
+ let btnSortByFioАscending = document.querySelector(".sortByFioАscending");
+ let btnSortByFioDescending = document.querySelector(".sortByFioDescending");
+ btnSortByFioАscending.addEventListener(
+ "click",
+ eventForSort("employees", "sortByFioАscending")
+ );
+ btnSortByFioDescending.addEventListener(
+ "click",
+ eventForSort("employees", "sortByFioDescending")
+ );
+ function eventForSort(nameDB, sortBy) {
+ return () => {
+ db.fetch(nameDB).then(arr => {
+ sortArr.sort(arr, sortBy);
+ });
+ };
+ }
+ }
}
export default IndexPage;
diff --git a/src/script/components/SortArr.js b/src/script/components/SortArr.js
new file mode 100644
index 0000000..7e057b0
--- /dev/null
+++ b/src/script/components/SortArr.js
@@ -0,0 +1,42 @@
+class SortArr {
+ sort(arr, order) {
+ if (order === "sortByFioАscending") {
+ arr.sort(this.sortByFioАscending);
+ } else if (order === "sortByFioDescending") {
+ arr.sort(this.sortByFioDescending);
+ } else if (order === "sortByDateFromАscending") {
+ arr.sort(this.sortByDateFromАscending);
+ } else arr.sort(this.sortByDateFromDescending);
+ console.log(arr);
+ }
+ sortByFioАscending(personA, personB) {
+ if (personA.name > personB.name) {
+ return 1;
+ } else if (personA.name < personB.name) {
+ return -1;
+ }
+ }
+ sortByFioDescending(personA, personB) {
+ if (personA.name < personB.name) {
+ return 1;
+ } else if (personA.name > personB.name) {
+ return -1;
+ }
+ }
+ sortByDateFromАscending(personA, personB) {
+ if (personA.dateFrom > personB.dateFrom) {
+ return 1;
+ } else if (personA.dateFrom < personB.dateFrom) {
+ return -1;
+ }
+ }
+ sortByDateFromDescending(personA, personB) {
+ if (personA.dateFrom < personB.dateFrom) {
+ return 1;
+ } else if (personA.dateFrom > personB.dateFrom) {
+ return -1;
+ }
+ }
+}
+
+export default SortArr;
diff --git a/src/style/main.css b/src/style/main.css
index f8bac38..424dd9b 100644
--- a/src/style/main.css
+++ b/src/style/main.css
@@ -18,3 +18,7 @@
.past {
background-color: #f8d7da !important;
}
+.fa {
+ margin-left: 5px;
+ font-size: 20px;
+}