Creating an Employee List grouped by Birth Month and City
Scenario: To display list grouped by multiple fields like City and State they reside in
We will see how List items can be grouped by multiple fields. We will
- List of Employees grouped by Birth Month and City of Employees.
- A custom JavaScript function is used to manipulate the dataset returned to achieve multi-field grouping.
- Static Variable is used to get the month names in Order.
We have used the following code snippets:
- JSON file for list of months static variable:
{
"0": "Jan",
"1": "Feb",
"2": "Mar",
"3": "Apr",
"4": "May",
"5": "Jun",
"6": "Jul",
"7": "Aug",
"8": "Sep",
"9": "Oct",
"10": "Nov",
"11": "Dec"
}
- JavaScript for the OnBeforeDatasetReady event:
Page.EmployeeVaronBeforeDatasetReady = function(variable, data) {
var dataByMonth = _.groupBy(data, function(datum) {
//getting the employees grouped by their birth month
return new Date(datum.birthdate).getMonth();
});
data = [];
_.each(dataByMonth, function(employees, month) {
//for each of the month, getting the array of employees born on that month.
data.push({
'birth_month': month,
'employees': employees
});
});
return data;
};