Commit 5d8bc696 authored by Rosanny Sihombing's avatar Rosanny Sihombing
Browse files

Merge branch 'MLAB-576' into 'testing'

Mlab 576

See merge request !69
parents 50427a49 1c93eed7
Pipeline #5002 passed with stage
in 47 seconds
......@@ -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
Markdown is supported
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