[call "comp:link-other-language"]
[!-- Generate filters lists --]
[def topicsFiltersList = #()]
[def typeFiltersList = #()]
[list results.entries entry]
[def fs = utils.resources.to_object(entry.fs)]
[if entry.subjectMultiple]
[list entry.subjectMultiple value]
[if localized(value) != 'none']
[def topicsFiltersList = topicsFiltersList.append(localized(value))]
[endif]
[/list]
[endif]
[if entry.levelMultiple]
[list entry.levelMultiple value]
[if localized(value) != 'none']
[def typeFiltersList = typeFiltersList.append(localized(value))]
[endif]
[/list]
[endif]
[/list]
[!-- Make sure values in lists are unique --]
[def topicsFiltersList = distinct(topicsFiltersList)]
[def typeFiltersList = distinct(typeFiltersList)]
[def secondaryFiltersObject = {
'typeFilter': typeFiltersList
}]
[call "comp:display-filters" {
"topicsFilters": topicsFiltersList,
"secondaryFilters": secondaryFiltersObject,
"showVacancies": true
}]
[if results.entries.length() > 0]
[call "comp:display-results-header" { 'results': results }]
-
[def noApplicantsList = #()]
[list results.entries entry]
[def topicsValuesList = #()]
[def levelValuesList = #()]
[def typeValuesList = #()]
[def fs = utils.resources.to_object(entry.fs)]
[def facets = #()]
[def hidden-facets = #()]
[if fs != null && fs != "{}"]
[def programme_obj = {
'isRedirect': entry.isRedirect,
'redirectUrl': entry.redirectUrl,
'url': entry.url,
'title': entry.title,
'picture': entry.picture,
'pictureAlt': entry.pictureAlt
}]
[if entry.levelMultiple]
[list entry.levelMultiple value]
[if localized(value) != 'none']
[def levelValuesList = levelValuesList.append(localized(value))]
[endif]
[endlist]
[endif]
[def typeValue = fs.percent]
[def typeField = 'percent']
[if entry.typeMultiple]
[list entry.typeMultiple value]
[if localized(value) != 'none']
[def typeValuesList = typeValuesList.append(localized(value))]
[endif]
[endlist]
[def typeValue = typeValuesList]
[def typeField = 'type']
[endif]
[def keywords = ""]
[if entry.keywords != null]
[def keywords = entry.keywords]
[endif]
[def facets = {
'line-1': {
'studie_level': levelValuesList,
'duration': fs.duration
},
'line-2': {
'keywords': keywords.split(',')
}
}]
[if entry.subjectMultiple]
[list entry.subjectMultiple value]
[if localized(value) != 'none']
[def topicsValuesList = topicsValuesList.append(localized(value))]
[endif]
[endlist]
[endif]
[def vacancies = string(entry.vacancies)]
[if string(entry.fs-studieprogram-status) = "being-phased-out"
|| string(entry.fs-studieprogram-status) = "closed"
|| string(entry.fs-studieprogram-status) = "continued"]
[def noApplicantsList = noApplicantsList.append({
'programme': programme_obj,
'facets': facets,
'hidden-facets': topicsValuesList,
'vacancies': false,
'no-applicants': true
})]
[else]
[call "comp:display-programme" {
'programme': programme_obj,
'facets': facets,
'hidden-facets': topicsValuesList,
'vacancies': vacancies
}]
[endif]
[endif]
[endlist]
[if noApplicantsList.length() > 0]
[list noApplicantsList entry]
[call "comp:display-programme" {
'programme': entry.programme,
'facets': entry.facets,
'hidden-facets': entry.hidden-facets,
'vacancies': entry.vacancies,
'no-applicants': entry.no-applicants
}]
[endlist]
[endif]