Commit e51a7730 authored by Rosanny Sihombing's avatar Rosanny Sihombing
Browse files

Merge branch 'MLAB-576' into testing

parents 50427a49 f02a41c3
This commit is part of merge request !69. Comments created here will be created in the context of that merge request.
Showing with 121 additions and 12 deletions
+121 -12
...@@ -76,6 +76,7 @@ module.exports = function (app:any, lang:string) { ...@@ -76,6 +76,7 @@ module.exports = function (app:any, lang:string) {
let projectArr = [] let projectArr = []
let isProject = true let isProject = true
let firstId = 0 let firstId = 0
let orderKeyword = req.query.sort
while (isProject == true) { while (isProject == true) {
let projects = await gitlab.getProjects(100, firstId) let projects = await gitlab.getProjects(100, firstId)
...@@ -100,12 +101,38 @@ module.exports = function (app:any, lang:string) { ...@@ -100,12 +101,38 @@ module.exports = function (app:any, lang:string) {
name: projectData[i].name, name: projectData[i].name,
weburl: projectData[i].web_url, weburl: projectData[i].web_url,
desc: projectData[i].description, desc: projectData[i].description,
keywords: projectData[i].tag_list keywords: projectData[i].tag_list,
createdAt: projectData[i].created_at,
lastUpdatedAt: projectData[i].last_activity_at
} }
projectArr.push(project) projectArr.push(project)
} }
firstId = projectData[projectData.length-1].id firstId = projectData[projectData.length-1].id
} }
// MLAB-576
if (orderKeyword == "created_at") {
projectArr.sort((a, b) => {
let aDate:any = new Date(a.createdAt)
let bDate:any = new Date(b.createdAt)
return bDate - aDate
});
} else if (orderKeyword == "updated_at") {
projectArr.sort((a, b) => {
let aDate:any = new Date(a.lastUpdatedAt)
let bDate:any = new Date(b.lastUpdatedAt)
return bDate - aDate
});
} else { // default, sorted by name
projectArr.sort((a, b) => {
let fa = a.name.toLowerCase(),
fb = b.name.toLowerCase();
if (fa < fb) return -1;
if (fa > fb) return 1;
return 0;
});
}
} }
res.render(lang+'/project/projectList', { res.render(lang+'/project/projectList', {
...@@ -118,6 +145,7 @@ module.exports = function (app:any, lang:string) { ...@@ -118,6 +145,7 @@ module.exports = function (app:any, lang:string) {
let pagesArr = [] let pagesArr = []
let isProject = true let isProject = true
let firstId = 0 let firstId = 0
let orderKeyword = req.query.sort
while (isProject == true) { while (isProject == true) {
let projects = await gitlab.getProjects(100, firstId) let projects = await gitlab.getProjects(100, firstId)
...@@ -151,13 +179,40 @@ module.exports = function (app:any, lang:string) { ...@@ -151,13 +179,40 @@ module.exports = function (app:any, lang:string) {
name: pagesData[i].name, name: pagesData[i].name,
weburl: pagesData[i].web_url, weburl: pagesData[i].web_url,
desc: pagesData[i].description, desc: pagesData[i].description,
keywords: pagesData[i].tag_list keywords: pagesData[i].tag_list,
createdAt: pagesData[i].created_at,
lastUpdatedAt: pagesData[i].last_activity_at
} }
pagesArr.push(pages) pagesArr.push(pages)
} }
} }
firstId = pagesData[pagesData.length-1].id firstId = pagesData[pagesData.length-1].id
} }
// MLAB-576
if (orderKeyword == "created_at") {
pagesArr.sort((a, b) => {
let aDate:any = new Date(a.createdAt)
let bDate:any = new Date(b.createdAt)
return bDate - aDate
});
} else if (orderKeyword == "updated_at") {
pagesArr.sort((a, b) => {
let aDate:any = new Date(a.lastUpdatedAt)
let bDate:any = new Date(b.lastUpdatedAt)
return bDate - aDate
});
} else { // default, sorted by name
pagesArr.sort((a, b) => {
let fa = a.name.toLowerCase(),
fb = b.name.toLowerCase();
if (fa < fb) return -1;
if (fa > fb) return 1;
return 0;
});
}
} }
res.render(lang+'/project/pagesList', { res.render(lang+'/project/pagesList', {
......
...@@ -38,11 +38,14 @@ html(lang="de") ...@@ -38,11 +38,14 @@ html(lang="de")
div(class="container") div(class="container")
p#pagesCounter #{pages.length} Projektinformationen werden angezeigt p#pagesCounter #{pages.length} Projektinformationen werden angezeigt
div(class="pt-4 pb-4 form-row") div(class="pt-4 pb-4 form-row")
div(class="form-group col-md-12") div(class="form-group col-md-10")
input(id="searchInput", class="form-control form-control-lg", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()") input(id="searchInput", class="form-control form-control-lg", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()")
//div(class="form-group col-md-2") div(class="form-group col-md-2")
select(class="form-control") select#sortingSelect(class="form-control form-control-lg")
option uncategorized option(value="" disabled) Sort by
option(value="name") &nbsp;&nbsp; Name
option(value="created_at") &nbsp;&nbsp; Last created
option(value="updated_at") &nbsp;&nbsp; Last updated
| <div class="row"> | <div class="row">
for item in pages for item in pages
div(class="card-deck py-4 col-sm") div(class="card-deck py-4 col-sm")
...@@ -97,4 +100,28 @@ html(lang="de") ...@@ -97,4 +100,28 @@ html(lang="de")
} }
document.getElementById("pagesCounter").innerHTML = counterBlock+" Projektinformationen werden angezeigt" document.getElementById("pagesCounter").innerHTML = counterBlock+" Projektinformationen werden angezeigt"
} }
\ No newline at end of file
$("#sortingSelect").change(function() {
window.location.replace('/projektinformationen?sort='+$("#sortingSelect").val())
});
function getQueryStringParams(params, url) {
// first decode URL to get readable data
var href = decodeURIComponent(url || window.location.href);
// regular expression to get value
var regEx = new RegExp('[?&]' + params + '=([^&#]*)', 'i');
var value = regEx.exec(href);
// return the value if exist
return value ? value[1] : null;
}
function setSortSelect() {
let sortKeyword = getQueryStringParams('sort', window.location.href)
if (sortKeyword == "created_at") {
$("#sortingSelect").val("created_at")
} else if(sortKeyword == "updated_at") {
$("#sortingSelect").val("updated_at")
} else {
$("#sortingSelect").val("name")
}
}
setSortSelect()
\ No newline at end of file
...@@ -38,11 +38,14 @@ html(lang="de") ...@@ -38,11 +38,14 @@ html(lang="de")
div(class="container") div(class="container")
p#projectCounter #{project.length} Projektdaten werden angezeigt p#projectCounter #{project.length} Projektdaten werden angezeigt
div(class="pt-4 pb-4 form-row") div(class="pt-4 pb-4 form-row")
div(class="form-group col-md-12") div(class="form-group col-md-10")
input(id="searchInput", class="form-control form-control-lg", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()") input(id="searchInput", class="form-control form-control-lg", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()")
//div(class="form-group col-md-2") div(class="form-group col-md-2")
select(class="form-control") select#sortingSelect(class="form-control form-control-lg")
option uncategorized option(value="" disabled) Sort by
option(value="name") &nbsp;&nbsp; Name
option(value="created_at") &nbsp;&nbsp; Last created
option(value="updated_at") &nbsp;&nbsp; Last updated
| <div class="row"> | <div class="row">
for item in project for item in project
div(class="card-deck py-4 col-sm") div(class="card-deck py-4 col-sm")
...@@ -97,4 +100,28 @@ html(lang="de") ...@@ -97,4 +100,28 @@ html(lang="de")
} }
document.getElementById("projectCounter").innerHTML = counterBlock+" Projektdaten werden angezeigt" document.getElementById("projectCounter").innerHTML = counterBlock+" Projektdaten werden angezeigt"
} }
\ No newline at end of file
$("#sortingSelect").change(function() {
window.location.replace('/projektdaten?sort='+$("#sortingSelect").val())
});
function getQueryStringParams(params, url) {
// first decode URL to get readable data
var href = decodeURIComponent(url || window.location.href);
// regular expression to get value
var regEx = new RegExp('[?&]' + params + '=([^&#]*)', 'i');
var value = regEx.exec(href);
// return the value if exist
return value ? value[1] : null;
}
function setSortSelect() {
let sortKeyword = getQueryStringParams('sort', window.location.href)
if (sortKeyword == "created_at") {
$("#sortingSelect").val("created_at")
} else if(sortKeyword == "updated_at") {
$("#sortingSelect").val("updated_at")
} else {
$("#sortingSelect").val("name")
}
}
setSortSelect()
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment