Spaces:
Running
Running
Update script.js
Browse files
script.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
document.addEventListener('DOMContentLoaded', () => {
|
2 |
const tableBody = document.getElementById('dataTable');
|
3 |
-
const sentimentFilter = document.getElementById('
|
4 |
-
const pagination = document.getElementById('
|
5 |
const itemsPerPage = 10;
|
6 |
let currentPage = 1;
|
7 |
let dataset = [];
|
@@ -32,14 +32,37 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
32 |
tableBody.appendChild(row);
|
33 |
});
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
updatePagination(filteredData.length, page);
|
36 |
}
|
37 |
|
38 |
function updatePagination(totalItems, page) {
|
39 |
pagination.innerHTML = '';
|
40 |
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
|
|
|
41 |
|
42 |
-
if (totalPages <=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
const prevLi = document.createElement('li');
|
45 |
prevLi.className = `page-item ${page === 1 ? 'disabled' : ''}`;
|
@@ -50,7 +73,25 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
50 |
});
|
51 |
pagination.appendChild(prevLi);
|
52 |
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
const li = document.createElement('li');
|
55 |
li.className = `page-item ${i === page ? 'active' : ''}`;
|
56 |
li.innerHTML = `<a class="page-link" href="#">${i}</a>`;
|
@@ -61,6 +102,24 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
61 |
pagination.appendChild(li);
|
62 |
}
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
const nextLi = document.createElement('li');
|
65 |
nextLi.className = `page-item ${page === totalPages ? 'disabled' : ''}`;
|
66 |
nextLi.innerHTML = '<a class="page-link" href="#">Next</a>';
|
|
|
1 |
document.addEventListener('DOMContentLoaded', () => {
|
2 |
const tableBody = document.getElementById('dataTable');
|
3 |
+
const sentimentFilter = document.getElementById('sentimentAnalysis');
|
4 |
+
const pagination = document.getElementById('customPagination');
|
5 |
const itemsPerPage = 10;
|
6 |
let currentPage = 1;
|
7 |
let dataset = [];
|
|
|
32 |
tableBody.appendChild(row);
|
33 |
});
|
34 |
|
35 |
+
tableBody.style.opacity = '0';
|
36 |
+
setTimeout(() => {
|
37 |
+
tableBody.style.opacity = '1';
|
38 |
+
tableBody.style.transition = 'opacity 0.3s ease';
|
39 |
+
}, 50);
|
40 |
+
|
41 |
updatePagination(filteredData.length, page);
|
42 |
}
|
43 |
|
44 |
function updatePagination(totalItems, page) {
|
45 |
pagination.innerHTML = '';
|
46 |
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
47 |
+
const maxPagesToShow = 5;
|
48 |
+
let startPage, endPage;
|
49 |
|
50 |
+
if (totalPages <= maxPagesToShow) {
|
51 |
+
startPage = 1;
|
52 |
+
endPage = totalPages;
|
53 |
+
} else {
|
54 |
+
const half = Math.floor(maxPagesToShow / 2);
|
55 |
+
if (page <= half) {
|
56 |
+
startPage = 1;
|
57 |
+
endPage = maxPagesToShow;
|
58 |
+
} else if (page + half >= totalPages) {
|
59 |
+
startPage = totalPages - maxPagesToShow + 1;
|
60 |
+
endPage = totalPages;
|
61 |
+
} else {
|
62 |
+
startPage = page - half;
|
63 |
+
endPage = page + half;
|
64 |
+
}
|
65 |
+
}
|
66 |
|
67 |
const prevLi = document.createElement('li');
|
68 |
prevLi.className = `page-item ${page === 1 ? 'disabled' : ''}`;
|
|
|
73 |
});
|
74 |
pagination.appendChild(prevLi);
|
75 |
|
76 |
+
if (startPage > 1) {
|
77 |
+
const firstLi = document.createElement('li');
|
78 |
+
firstLi.className = 'page-item';
|
79 |
+
firstLi.innerHTML = '<a class="page-link" href="#">1</a>';
|
80 |
+
firstLi.addEventListener('click', (e) => {
|
81 |
+
e.preventDefault();
|
82 |
+
displayData(sentimentFilter.value, 1);
|
83 |
+
});
|
84 |
+
pagination.appendChild(firstLi);
|
85 |
+
|
86 |
+
if (startPage > 2) {
|
87 |
+
const dotsLi = document.createElement('li');
|
88 |
+
dotsLi.className = 'page-item disabled';
|
89 |
+
dotsLi.innerHTML = '<a class="page-link" href="#">...</a>';
|
90 |
+
pagination.appendChild(dotsLi);
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
for (let i = startPage; i <= endPage; i++) {
|
95 |
const li = document.createElement('li');
|
96 |
li.className = `page-item ${i === page ? 'active' : ''}`;
|
97 |
li.innerHTML = `<a class="page-link" href="#">${i}</a>`;
|
|
|
102 |
pagination.appendChild(li);
|
103 |
}
|
104 |
|
105 |
+
if (endPage < totalPages) {
|
106 |
+
if (endPage < totalPages - 1) {
|
107 |
+
const dotsLi = document.createElement('li');
|
108 |
+
dotsLi.className = 'page-item disabled';
|
109 |
+
dotsLi.innerHTML = '<a class="page-link" href="#">...</a>';
|
110 |
+
pagination.appendChild(dotsLi);
|
111 |
+
}
|
112 |
+
|
113 |
+
const lastLi = document.createElement('li');
|
114 |
+
lastLi.className = 'page-item';
|
115 |
+
lastLi.innerHTML = `<a class="page-link" href="#">${totalPages}</a>`;
|
116 |
+
lastLi.addEventListener('click', (e) => {
|
117 |
+
e.preventDefault();
|
118 |
+
displayData(sentimentFilter.value, totalPages);
|
119 |
+
});
|
120 |
+
pagination.appendChild(lastLi);
|
121 |
+
}
|
122 |
+
|
123 |
const nextLi = document.createElement('li');
|
124 |
nextLi.className = `page-item ${page === totalPages ? 'disabled' : ''}`;
|
125 |
nextLi.innerHTML = '<a class="page-link" href="#">Next</a>';
|