Skip to content

Commit 6f1fcd4

Browse files
authored
Users list: format user roles (#494)
1 parent f0199dc commit 6f1fcd4

File tree

5 files changed

+50
-32
lines changed

5 files changed

+50
-32
lines changed

src/app/_constants/enums.ts

+26-27
Original file line numberDiff line numberDiff line change
@@ -696,33 +696,32 @@ export enum ContactCountMethod {
696696
}
697697

698698
export enum UserRole {
699-
ADMIN = 'enum.UserRole.ADMIN',
700-
NATIONAL_USER = 'enum.UserRole.NATIONAL_USER',
701-
SURVEILLANCE_SUPERVISOR = 'enum.UserRole.SURVEILLANCE_SUPERVISOR',
702-
ADMIN_SUPERVISOR = 'enum.UserRole.ADMIN_SUPERVISOR',
703-
SURVEILLANCE_OFFICER = 'enum.UserRole.SURVEILLANCE_OFFICER',
704-
HOSPITAL_INFORMANT = 'enum.UserRole.HOSPITAL_INFORMANT',
705-
COMMUNITY_OFFICER = 'enum.UserRole.COMMUNITY_OFFICER',
706-
COMMUNITY_INFORMANT = 'enum.UserRole.COMMUNITY_INFORMANT',
707-
CASE_SUPERVISOR = 'enum.UserRole.CASE_SUPERVISOR',
708-
CASE_OFFICER = 'enum.UserRole.CASE_OFFICER',
709-
CONTACT_SUPERVISOR = 'enum.UserRole.CONTACT_SUPERVISOR',
710-
CONTACT_OFFICER = 'enum.UserRole.CONTACT_OFFICER',
711-
EVENT_OFFICER = 'enum.UserRole.EVENT_OFFICER',
712-
LAB_USER = 'enum.UserRole.LAB_USER',
713-
EXTERNAL_LAB_USER = 'enum.UserRole.EXTERNAL_LAB_USER',
714-
NATIONAL_OBSERVER = 'enum.UserRole.NATIONAL_OBSERVER',
715-
STATE_OBSERVER = 'enum.UserRole.STATE_OBSERVER',
716-
DISTRICT_OBSERVER = 'enum.UserRole.DISTRICT_OBSERVER',
717-
NATIONAL_CLINICIAN = 'enum.UserRole.NATIONAL_CLINICIAN',
718-
POE_INFORMANT = 'enum.UserRole.POE_INFORMANT',
719-
POE_SUPERVISOR = 'enum.UserRole.POE_SUPERVISOR',
720-
POE_NATIONAL_USER = 'enum.UserRole.POE_NATIONAL_USER',
721-
IMPORT_USER = 'enum.UserRole.IMPORT_USER',
722-
REST_EXTERNAL_VISITS_USER = 'enum.UserRole.REST_EXTERNAL_VISITS_USER',
723-
REST_USER = 'enum.UserRole.REST_USER',
724-
SORMAS_TO_SORMAS_CLIENT = 'enum.UserRole.SORMAS_TO_SORMAS_CLIENT',
725-
BAG_USER = 'enum.UserRole.BAG_USER',
699+
ADMIN = 'enum.DefaultUserRole.ADMIN',
700+
NATIONAL_USER = 'enum.DefaultUserRole.NATIONAL_USER',
701+
SURVEILLANCE_SUPERVISOR = 'enum.DefaultUserRole.SURVEILLANCE_SUPERVISOR',
702+
ADMIN_SUPERVISOR = 'enum.DefaultUserRole.ADMIN_SUPERVISOR',
703+
SURVEILLANCE_OFFICER = 'enum.DefaultUserRole.SURVEILLANCE_OFFICER',
704+
HOSPITAL_INFORMANT = 'enum.DefaultUserRole.HOSPITAL_INFORMANT',
705+
COMMUNITY_OFFICER = 'enum.DefaultUserRole.COMMUNITY_OFFICER',
706+
COMMUNITY_INFORMANT = 'enum.DefaultUserRole.COMMUNITY_INFORMANT',
707+
CASE_SUPERVISOR = 'enum.DefaultUserRole.CASE_SUPERVISOR',
708+
CASE_OFFICER = 'enum.DefaultUserRole.CASE_OFFICER',
709+
CONTACT_SUPERVISOR = 'enum.DefaultUserRole.CONTACT_SUPERVISOR',
710+
CONTACT_OFFICER = 'enum.DefaultUserRole.CONTACT_OFFICER',
711+
EVENT_OFFICER = 'enum.DefaultUserRole.EVENT_OFFICER',
712+
LAB_USER = 'enum.DefaultUserRole.LAB_USER',
713+
EXTERNAL_LAB_USER = 'enum.DefaultUserRole.EXTERNAL_LAB_USER',
714+
NATIONAL_OBSERVER = 'enum.DefaultUserRole.NATIONAL_OBSERVER',
715+
STATE_OBSERVER = 'enum.DefaultUserRole.STATE_OBSERVER',
716+
DISTRICT_OBSERVER = 'enum.DefaultUserRole.DISTRICT_OBSERVER',
717+
NATIONAL_CLINICIAN = 'enum.DefaultUserRole.NATIONAL_CLINICIAN',
718+
POE_INFORMANT = 'enum.DefaultUserRole.POE_INFORMANT',
719+
POE_SUPERVISOR = 'enum.DefaultUserRole.POE_SUPERVISOR',
720+
POE_NATIONAL_USER = 'enum.DefaultUserRole.POE_NATIONAL_USER',
721+
IMPORT_USER = 'enum.DefaultUserRole.IMPORT_USER',
722+
REST_EXTERNAL_VISITS_USER = 'enum.DefaultUserRole.REST_EXTERNAL_VISITS_USER',
723+
SORMAS_TO_SORMAS_CLIENT = 'enum.DefaultUserRole.SORMAS_TO_SORMAS_CLIENT',
724+
BAG_USER = 'enum.DefaultUserRole.BAG_USER',
726725
}
727726

728727
export enum PointOfEntryType {

src/app/_models/common.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@ export interface Filter {
2424
}
2525

2626
// table
27-
export type TableDataFormatType = 'DISPLAY' | 'LINK' | 'NUMBER' | 'DATE' | 'LOADING';
27+
export type TableDataFormatType = 'DISPLAY' | 'LINK' | 'NUMBER' | 'DATE' | 'LIST' | 'LOADING';
2828

2929
export const TableDataFormatOptions = {
3030
DISPLAY: 'DISPLAY' as TableDataFormatType,
3131
LINK: 'LINK' as TableDataFormatType,
3232
NUMBER: 'NUMBER' as TableDataFormatType,
3333
DATE: 'DATE' as TableDataFormatType,
34+
LIST: 'LIST' as TableDataFormatType,
3435
LOADING: 'LOADING' as TableDataFormatType,
3536
};
3637

@@ -41,6 +42,7 @@ export interface TableDataFormat {
4142
match?: { [key: string]: number[] };
4243
truncate?: number;
4344
breakSpaces?: boolean;
45+
separator?: string;
4446
}
4547

4648
export interface TableDataAction {

src/app/shared/table/table-data/table-data.component.ts

+11
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ export class TableDataComponent implements OnChanges {
7474
case this.formats.DISPLAY:
7575
this.formatDisplay();
7676
break;
77+
case this.formats.LIST:
78+
this.formatList();
79+
break;
7780
default: {
7881
const data = this.getData(this.config.dataKey);
7982
this.dataDisplay = this.config.translationName ? this.translateData(data) : data;
@@ -112,6 +115,14 @@ export class TableDataComponent implements OnChanges {
112115
this.dataDisplay = this.interpolate();
113116
}
114117

118+
formatList(): void {
119+
const data = this.getRawData(this.config.dataKey) || [];
120+
const key = this.config?.format?.params ? this.config.format.params[0] : null;
121+
this.dataDisplay = data
122+
.map((item: any) => (key ? item[key] : item))
123+
.join(this.config.format?.separator || ' ');
124+
}
125+
115126
getRawData(key: string): any {
116127
return key.split('.').reduce((o, i) => {
117128
if (!o) {

src/app/users/user/user-form-data.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@ export const FORM_DATA_USER = [
6363
{
6464
...FORM_DATA_SELECT,
6565
key: 'address.country.uuid',
66-
label: 'captions.country',
66+
label: 'captions.Location.country',
6767
options: [],
6868
service: 'countryService',
6969
},
7070
{
7171
...FORM_DATA_SELECT,
7272
key: 'address.region.uuid',
73-
label: 'captions.region',
73+
label: 'captions.Location.region',
7474
service: 'regionService',
7575
determinedBy: [
7676
{
@@ -82,7 +82,7 @@ export const FORM_DATA_USER = [
8282
{
8383
...FORM_DATA_SELECT,
8484
key: 'address.district.uuid',
85-
label: 'captions.district',
85+
label: 'captions.Location.district',
8686
service: 'districtService',
8787
determinedBy: [
8888
{
@@ -94,7 +94,7 @@ export const FORM_DATA_USER = [
9494
{
9595
...FORM_DATA_SELECT,
9696
key: 'address.community.uuid',
97-
label: 'captions.community',
97+
label: 'captions.Location.community',
9898
service: 'communityService',
9999
determinedBy: [
100100
{

src/app/users/users-list/users-list-table-data.ts

+6
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ export const defaultColumnDefs: TableColumn[] = [
3333
dataKey: 'userRoles',
3434
translationName: 'UserRole',
3535
isSortable: true,
36+
maxWidth: 300,
37+
format: {
38+
type: TableDataFormatOptions.LIST,
39+
separator: ', ',
40+
params: ['caption'],
41+
},
3642
},
3743
{
3844
name: 'captions.User.userName',

0 commit comments

Comments
 (0)