No interns added
No pending requests
+
+
+ Filters
+
+
+
+ Category
+
+
+
+ Project
+
+
+
+
+
+
Pending
+No pending requests
+Interns
@@ -1997,13 +2018,27 @@
renderElem(where, html`${projects.map(project => render.dashProject(project, where))} `)
},
internRequests() {
+ const requestCategories = new Set()
+ const requestProjects = new Set()
let requestCards = filterMap(RIBC.getTaskRequests().reverse(), (request) => {
if (Array.isArray(request.details) || !request.details.taskId) return
const [projectCode, branch, task] = request.details.taskId.split('_')
- if (typeof RIBC.getTaskDetails(projectCode, branch, task) !== 'undefined')
+ if (typeof RIBC.getTaskDetails(projectCode, branch, task) !== 'undefined') {
+ requestCategories.add(RIBC.getTaskDetails(projectCode, branch, task).category)
+ requestProjects.add(projectCode)
return render.taskRequestCard(request)
+ }
})
renderElem(getRef('requests_list'), html`${requestCards}`)
+ if (requestCards.length) {
+ const categoryOptions = [...requestCategories].map(cat => html`${floGlobals.taskCategories[cat]} `);
+ renderElem(getRef('filter_requests_by_category'), html`${[html`All `, ...categoryOptions]}`)
+ const projectOptions = [...requestProjects].map(project => html`${RIBC.getProjectDetails(project).projectName} `);
+ renderElem(getRef('filter_requests_by_project'), html`${[html`All `, ...projectOptions]}`)
+ getRef('requests_container__filters').classList.remove('hidden')
+ } else {
+ getRef('requests_container__filters').classList.add('hidden')
+ }
},
projectList(container, projects, isAdminList = false) {
renderElem(container, html`${projects.map(projectCode => render.projectCard(projectCode, isAdminList, container))}`)
@@ -2319,7 +2354,6 @@
const card = e.target.closest('.temp-task')
const title = card.querySelector('.temp-task__title').value.trim();
const description = card.querySelector('.temp-task__description').value.trim();
- const links = card.querySelector('.temp-task__links').value
const category = card.querySelector('.temp-task__category').value.trim();
const maxSlots = parseInt(card.querySelector('.temp-task__max-slots').value.trim());
const duration = parseInt(card.querySelector('.temp-task__duration').value.trim());
@@ -2335,7 +2369,6 @@
const taskDetails = {
title,
description,
- links,
category,
maxSlots,
duration,
@@ -2363,8 +2396,7 @@
-
-
+
${categories}