def headers(self): """ Override the headers method to be able to add male/female sub header columns. """ header_columns = [] for idx, column in enumerate(self.columns): if idx >= self.first_indicator_column_index() and self.show_gender( ): group = DataTablesColumnGroup(column.header) group.add_column(DataTablesColumn("male", sortable=False)) group.add_column(DataTablesColumn("female", sortable=False)) header_columns.append(group) else: # gender is included in the columns to populate data # but we don't show it on the page if column.header != 'Gender': header_columns.append( DataTablesColumn(column.header, sortable=False)) # insert a blank header to display the "all genders/ages" message if not self.show_gender() and not self.show_age(): header_columns.insert(1, DataTablesColumn('', sortable=False)) return DataTablesHeader(*header_columns)
def headers(self, data): column_headers = [] groupped_headers = [ list(v) for l, v in groupby( sorted(data.keys(), key=lambda x: x[2]), lambda x: x[2]) ] for domain in groupped_headers: groupped_practices = [ list(v) for l, v in groupby(sorted(domain, key=lambda x: x[3]), lambda x: x[3]) ] domain_group = DataTablesColumnGroup( self.group_name_fn(domain[0][2])) for practice in groupped_practices: domain_group.add_column( DataTablesColumn(self.group_name_fn(practice[0][3]))) column_headers.append(domain_group) column_headers = sorted(column_headers, key=lambda x: x.html) i = 1 for column in column_headers: for j in range(0, len(column.columns)): column.columns[j] = DataTablesColumn( 'Practice ' + i.__str__(), help_text=column.columns[j].html) i += 1 return column_headers
def headers(self, data): column_headers = [] i = 1 for domain in self.domains_with_practices: domain_group = DataTablesColumnGroup(domain['text']) for practice in domain['practices']: domain_group.add_column(DataTablesColumn('Practice %i' % i, help_text=practice.text)) i += 1 column_headers.append(domain_group) return column_headers
def headers(self, data): column_headers = [] groupped_headers = [list(v) for l,v in groupby(sorted(data.keys(), key=lambda x:x[2]), lambda x: x[2])] for domain in groupped_headers: groupped_practices = [list(v) for l,v in groupby(sorted(domain, key=lambda x:x[3]), lambda x: x[3])] domain_group = DataTablesColumnGroup(self.group_name_fn(domain[0][2])) for practice in groupped_practices: domain_group.add_column(DataTablesColumn(self.group_name_fn(practice[0][3]))) column_headers.append(domain_group) column_headers = sorted(column_headers, key=lambda x: x.html) return column_headers
def headers(self): chw = DataTablesColumn("CHW Name") sections = list() for i, section in enumerate(self.indicator_slugs): col_group = DataTablesColumnGroup(section.get('title', '')) for j, indicator in enumerate(self.indicators[i]): col_group.add_column( DataTablesColumn( indicator.title or indicator.description, rotate=True, expected=section.get('indicators', [])[j].get('expected'), )) sections.append(col_group) return DataTablesHeader(chw, *sections)
def headers(self): chw = DataTablesColumn("CHW Name") sections = list() for i, section in enumerate(self.indicator_slugs): col_group = DataTablesColumnGroup(section.get("title", "")) for j, indicator in enumerate(self.indicators[i]): col_group.add_column( DataTablesColumn( indicator.title or indicator.description, rotate=True, expected=section.get("indicators", [])[j].get("expected"), ) ) sections.append(col_group) return DataTablesHeader(chw, *sections)
def headers(self, data): column_headers = [] groupped_headers = [list(v) for l,v in groupby(sorted(data.keys(), key=lambda x:x[2]), lambda x: x[2])] for domain in groupped_headers: groupped_practices = [list(v) for l,v in groupby(sorted(domain, key=lambda x:x[3]), lambda x: x[3])] domain_group = DataTablesColumnGroup(self.group_name_fn(domain[0][2])) for practice in groupped_practices: domain_group.add_column(DataTablesColumn(self.group_name_fn(practice[0][3]))) column_headers.append(domain_group) column_headers = sorted(column_headers, key=lambda x: x.html) i = 1 for column in column_headers: for j in range(0, len(column.columns)): column.columns[j] = DataTablesColumn('Practice ' + i.__str__(), help_text=column.columns[j].html) i += 1 return column_headers
def headers(self): """ Override the headers method to be able to add male/female sub header columns. """ header_columns = [] for idx, column in enumerate(self.columns): if idx >= self.first_indicator_column_index() and self.show_gender(): group = DataTablesColumnGroup(column.header) group.add_column(DataTablesColumn("male", sortable=False)) group.add_column(DataTablesColumn("female", sortable=False)) header_columns.append(group) else: # gender is included in the columns to populate data # but we don't show it on the page if column.header != 'Gender': header_columns.append(DataTablesColumn(column.header, sortable=False)) # insert a blank header to display the "all genders/ages" message if not self.show_gender() and not self.show_age(): header_columns.insert(1, DataTablesColumn('', sortable=False)) return DataTablesHeader(*header_columns)