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) {
let projectArr = []
let isProject = true
let firstId = 0
let orderKeyword = req.query.sort
while (isProject == true) {
let projects = await gitlab.getProjects(100, firstId)
......@@ -100,12 +101,38 @@ module.exports = function (app:any, lang:string) {
name: projectData[i].name,
weburl: projectData[i].web_url,
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)
}
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', {
......@@ -118,6 +145,7 @@ module.exports = function (app:any, lang:string) {
let pagesArr = []
let isProject = true
let firstId = 0
let orderKeyword = req.query.sort
while (isProject == true) {
let projects = await gitlab.getProjects(100, firstId)
......@@ -151,13 +179,40 @@ module.exports = function (app:any, lang:string) {
name: pagesData[i].name,
weburl: pagesData[i].web_url,
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)
}
}
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', {
......
......@@ -38,11 +38,14 @@ html(lang="de")
div(class="container")
p#pagesCounter #{pages.length} Projektinformationen werden angezeigt
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()")
//div(class="form-group col-md-2")
select(class="form-control")
option uncategorized
div(class="form-group col-md-2")
select#sortingSelect(class="form-control form-control-lg")
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">
for item in pages
div(class="card-deck py-4 col-sm")
......@@ -97,4 +100,28 @@ html(lang="de")
}
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")
div(class="container")
p#projectCounter #{project.length} Projektdaten werden angezeigt
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()")
//div(class="form-group col-md-2")
select(class="form-control")
option uncategorized
div(class="form-group col-md-2")
select#sortingSelect(class="form-control form-control-lg")
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">
for item in project
div(class="card-deck py-4 col-sm")
......@@ -97,4 +100,28 @@ html(lang="de")
}
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