Skip to content

Commit

Permalink
#569 'Room null' is displayed for employees without rooms
Browse files Browse the repository at this point in the history
  • Loading branch information
Yaroslav Tsimokha committed May 31, 2019
1 parent c0f324a commit bf8fe17
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 23 deletions.
5 changes: 1 addition & 4 deletions mobile/src/employee-details/employee-details.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -255,9 +255,6 @@ export class EmployeeDetailsImpl extends Component<EmployeeDetailsProps & Employ

//----------------------------------------------------------------------------
private getTiles(employee: Employee) {
let roomNumber = employee && employee.roomNumber ? employee.roomNumber : '';
let roomTitle: string = isNaN(Number(roomNumber)) ? roomNumber : `Room ${roomNumber}`;

const tilesData: TileData[] = [
{
label: employee.birthDate.format('MMMM D'),
Expand All @@ -276,7 +273,7 @@ export class EmployeeDetailsImpl extends Component<EmployeeDetailsProps & Employ
onPress: null
},
{
label: roomTitle,
label: employee.getRoomTitle(),
icon: 'office',
style: StyleSheet.flatten([tileStyles.icon]),
size: 25,
Expand Down
4 changes: 2 additions & 2 deletions mobile/src/people/current-people-room.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ class CurrentPeopleRoomImpl extends React.Component<CurrentPeopleRoomProps & Cur
//----------------------------------------------------------------------------
private static getTitle(navigationOptionsContainer: NavigationOptionsContainer): string {
const navigation = navigationOptionsContainer.navigation;
const roomNumber = navigation.getParam('roomNumber', undefined);
return roomNumber ? `Room ${roomNumber}` : '';
const roomNumber = navigation.getParam('roomNumber', '<?>');
return `Room ${roomNumber}`;
}
}

Expand Down
32 changes: 15 additions & 17 deletions mobile/src/people/navigator/tab-bar-top-custom.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,23 +36,7 @@ class TabBarTopCustomImpl extends React.Component<TabBarTopProps & TabBarTopCust
//----------------------------------------------------------------------------
private getLabel = (param: TabLabelTextParam, employee: Nullable<Employee>, department: Nullable<Department>): React.ReactNode | string => {

const roomNumber = employee && employee.roomNumber ? employee.roomNumber : '';
const roomTitle: string = isNaN(Number(roomNumber)) ? roomNumber : `Room ${roomNumber}`;
let label = '';

switch (param.route.key) {
case 'Department':
label = department ? department.abbreviation : 'Department';
break;
case 'Room':
label = roomTitle;
break;
case 'Company':
label = 'Company';
break;
default:
break;
}
let label = this.getLabelText(param.route.key, employee, department);

const style = StyleSheet.flatten([
tabBarStyles.tabBarLabel,
Expand All @@ -67,6 +51,20 @@ class TabBarTopCustomImpl extends React.Component<TabBarTopProps & TabBarTopCust
</StyledText>
);
};

//----------------------------------------------------------------------------
private getLabelText(key: string, employee: Nullable<Employee>, department: Nullable<Department>): string {
switch (key) {
case 'Department':
return department ? department.abbreviation : 'Department';
case 'Room':
return employee ? employee.getRoomTitle() : 'Room <?>';
case 'Company':
return 'Company';
default:
return '';
}
}
}

//----------------------------------------------------------------------------
Expand Down
10 changes: 10 additions & 0 deletions mobile/src/reducers/organization/employee.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,16 +99,26 @@ export class Employee {
return hasher.value;
}

//----------------------------------------------------------------------------
public getSurname(): string {
const names = this.name.split(' ');

return names.length > 0 ? names[0] : this.name;
}

//----------------------------------------------------------------------------
public getName(): string {
const names = this.name.split(' ');

return names.length > 1 ? names[1] : this.name;
}

//----------------------------------------------------------------------------
public getRoomTitle(): string {
if (!this.roomNumber) {
return 'Room <?>';
}

return isNaN(Number(this.roomNumber)) ? this.roomNumber : `Room ${this.roomNumber}`;
}
}

0 comments on commit bf8fe17

Please sign in to comment.