Skip to content

Commit

Permalink
fitlers complete
Browse files Browse the repository at this point in the history
  • Loading branch information
Oshanath committed Mar 5, 2021
1 parent e628830 commit 6e6c8a0
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 21 deletions.
12 changes: 6 additions & 6 deletions Controllers/threadController.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,14 @@ module.exports.getThreadData_post = (req, res) => {
if(filter.status == 'unread'){

}
else if(filter.status != 'all')
else if(filter.status != 'allStatus')
searchQuery['status'] = filter.status;

if(filter.type != 'all')
if(filter.type != 'allReqType')
searchQuery['type'] = filter.type;

let filterThreads = async (thread, filter) => {

console.log(filter);
let string = filter.string.toLowerCase();
let searchWords = string.split(' ');

Expand All @@ -146,14 +146,14 @@ module.exports.getThreadData_post = (req, res) => {
if(user.type == 'staff' && !thread.staffUnread){
return false;
}
filter.status = 'all';
filter.status = 'allStatus';
}

if(filter.type != 'all' && thread.type != filter.type){
if(filter.type != 'allReqType' && thread.type != filter.type){
return false;
}

if(filter.status != 'all' && thread.status != filter.status){
if(filter.status != 'allStatus' && thread.status != filter.status){
return false;
}
//if we come here, that means the thread is inside the filters
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 48 additions & 15 deletions public/assets/javascript/threadView.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ let numberOfPages = 0;

let filter = {
string: '',
status: 'all',
type: 'all'
status: 'allStatus',
type: 'allReqType'
};

let msgGroup = document.querySelector('.msg-group');
Expand Down Expand Up @@ -66,8 +66,14 @@ let leftRightInit = () => {
});
};

//reply button group (reply, accept and decline)
let replyButtons = document.querySelector('.reply-btn-group');
let replyButton = document.querySelector('.replyBtn');

let getThreads = () => {

replyButton.className = 'replyBtn';
replyButtons.className = 'reply-btn-group';

msgGroup.innerHTML = '';

Expand Down Expand Up @@ -244,11 +250,8 @@ let initialize = async (arr) => {

//remove loading animation after all the threads are loaded
// loadingOverlay.style.display = 'none';
console.log('here');
};

//reply button group (reply, accept and decline)
let replyButtons = document.querySelector('.reply-btn-group');

// function to keep the scroll bar at the bottom of a div
async function updateScroll(){
Expand Down Expand Up @@ -319,12 +322,14 @@ let closePopup = () => {
}

let displayBtn = (type, status) => {

if(status == 'accepted' || status == 'declined'){
replyButtons.className = 'reply-btn-group';
replyButton.className = 'replyBtn';
}



else if (type === 'staff'){
replyButtons.className = 'reply-btn-group visible';
}
Expand All @@ -336,12 +341,25 @@ let displayBtn = (type, status) => {

let setTablinkClassName = (tablinkElement) => {

let tablinks = document.querySelectorAll('.tablinks');
tablinks.forEach(tablink => {
tablink.classList.remove('selectedTablink');
});
if(tablinkElement.classList.contains('status')){
let tablinks = document.querySelectorAll('.tablinks.status');
tablinks.forEach(tablink => {
tablink.classList.remove('selectedTablink');
});

tablinkElement.classList.add('selectedTablink');
tablinkElement.classList.add('selectedTablink');
tablinkElement.classList.add('status');
}

if(tablinkElement.classList.contains('reqType')){
let tablinks = document.querySelectorAll('.tablinks.reqType');
tablinks.forEach(tablink => {
tablink.classList.remove('selectedTablink');
});

tablinkElement.classList.add('selectedTablink');
tablinkElement.classList.add('reqType');
}
}

let initTablinkButtons = async () => {
Expand All @@ -351,12 +369,27 @@ let initTablinkButtons = async () => {
tablinks.forEach(tablinkButton => {

tablinkButton.addEventListener('click', event => {

pageNumber = 1;


let eventFilter = event.currentTarget.getAttribute('id');

replyButtons.className = 'reply-btn-group';
pageNumber = 1;
filter.status = event.currentTarget.getAttribute('id');
if(eventFilter == 'allStatus'
|| eventFilter == 'active'
|| eventFilter == 'accepted'
|| eventFilter == 'declined'
|| eventFilter == 'unread'){
filter.status = eventFilter;
}

else if(eventFilter == 'allReqType'
|| eventFilter == 'addDrop'
|| eventFilter == 'submission'
|| eventFilter == 'repeat'){
filter.type = eventFilter;
}

console.log(filter);
setTablinkClassName(event.currentTarget);
getThreads();
});
Expand Down

0 comments on commit 6e6c8a0

Please sign in to comment.