Пример #1
0
// subGroups returns a list of subgroups to be analysed.
func subGroups(g group.Group) []subGroup {

	groups := []subGroup{}
	for _, def := range groupDefs {
		groups = append(groups, subGroup{def.Name, template.URL(def.Query), g.SubGroup(def.Filter)})
	}
	return groups
}
Пример #2
0
// groupMatrix returns a 2-d list of subgroups.  Headers are used for
// both column and row headers
func groupMatrix(g group.Group) subGroupMatrix {

	headers := []string{}
	var groups [][]subGroup

	for i, def1 := range groupDefs[1:] {
		headers = append(headers, def1.Name)
		row := []subGroup{}
		for j, def2 := range groupDefs[1:] {
			switch {
			case i == j:
				row = append(row, subGroup{def1.Name, template.URL(def1.Query), g.SubGroup(def1.Filter)})
			default:
				row = append(row, subGroup{def1.Name + " & " + def2.Name, template.URL(def1.Query + def2.Query),
					g.SubGroup(def1.Filter, def2.Filter)})
			}
		}
		groups = append(groups, row)
	}

	return subGroupMatrix{headers, groups}
}