Skip to content

Commit

Permalink
Updates to timetable dummy data for local testing.
Browse files Browse the repository at this point in the history
  • Loading branch information
RbkGh committed Mar 19, 2017
1 parent 74dc1fc commit 6bb8417
Show file tree
Hide file tree
Showing 3 changed files with 133 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<div class="box-shadow panel-body">

<div *ngIf="isGenerateButtonWandVisible">
<button class="btn btn-rounded btn-xl btn-primary waves-effect waves-light"
(click)="openGenerateTimeTableSubjectModal()">
Generate TimeTable
<i class="fa fa-magic"></i>
</button>
<button class="btn btn-rounded btn-xl btn-primary waves-effect waves-light"
(click)="openGenerateTimeTableSubjectModal()">
Generate TimeTable
<i class="fa fa-magic"></i>
</button>
</div>

<div *ngIf="!isGenerateButtonWandVisible" class="panel panel-default">
Expand All @@ -31,7 +31,82 @@

</div>

<div *ngIf="isTutorsTimeTablesVisible" >
<div *ngFor="let tutorPersonalTimeTableEntity of tutorPersonalTimeTableDocsList;">
<div class="pull-in panel panel-heading panel-info">
Tutor Name : {{tutorPersonalTimeTableEntity.tutorDoc.firstName + ' '+tutorPersonalTimeTableEntity.tutorDoc.surName}}
</div>

<div>
<div class="table-responsive">
<table class="table color-table primary-table">
<thead>
<tr>
<th>DayName</th>
<th>Period1</th>
<th>Period2</th>
<th>Period3</th>
<th>Period4</th>
<th>Period5</th>
<th>Period6</th>
<th>Period7</th>
<th>Period8</th>
<th>Period9</th>
<th>Period10</th>
</tr>
</thead>

<tr *ngFor="let programmeDay of tutorPersonalTimeTableEntity.programmeDaysList">
<td>
{{programmeDay.dayName}}
</td>
<td>
<div>{{programmeDay.periodList[0].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[0].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[1].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[1].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[2].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[2].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[3].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[3].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[4].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[4].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[5].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[5].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[6].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[6].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[7].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[7].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[8].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[8].tutorFullName||'No tutor'}}</div>
</td>
<td>
<div>{{programmeDay.periodList[9].subjectFullName||'No subject'}}</div>
<div>{{programmeDay.periodList[9].tutorFullName||'No tutor'}}</div>
</td>

</tr>
</table>
</div>
</div>
</div>
</div>
</div>

<modal [animation]="true" [keyboard]="true" [backdrop]="backdrop" [size]="lg" (onClose)="closed()"
Expand All @@ -41,7 +116,8 @@
<div class="panel-heading">Generate TimeTable</div>
</div>
</modal-header>
<form class="floating-labels" (submit)="generateTimeTable(generateTimeTableForm)" [formGroup]="generateTimeTableForm">
<form class="floating-labels" (submit)="generateTimeTable(generateTimeTableForm)"
[formGroup]="generateTimeTableForm">
<modal-body>

<div class="form-group m-t-10 m-b-40 has-feedback">
Expand All @@ -66,7 +142,8 @@
<span class="highlight"></span><span class="bar"></span>
<label for="timeTableName">TimeTable Name : Eg. Term1</label>

<div class="has-success" *ngIf="!formErrors.timeTableName && generateTimeTableForm.get('timeTableName').valid">
<div class="has-success"
*ngIf="!formErrors.timeTableName && generateTimeTableForm.get('timeTableName').valid">
<span class="glyphicon glyphicon-ok form-control-feedback t-0"></span>
</div>
<div class="has-error" *ngIf="formErrors.timeTableName">
Expand Down
53 changes: 46 additions & 7 deletions src/app/components/main-content/time-table/time-table.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import {TimeTableMainEntity} from "../../../models/time-table-main-entity";
import {TimeTableMainEntityResponsePayload} from "../../../models/time-table-main-entity-response-payload";
import {ProgrammeGroupPersonalTimeTableEntity} from "../../../models/programme-group-personal-time-table-entity";
import {TutorPersonalTimeTableEntity} from "../../../models/tutor-personal-time-table-entity";
import {Tutor} from "../../../models/TutorResponsePayload";
import {ProgrammeDay} from "../../../models/programme-day";
import {PeriodOrLecture} from "../../../models/period-or-lecture";

declare var swal: any;
@Component({
Expand All @@ -23,10 +26,11 @@ export class TimeTableComponent implements OnInit {
formIsValid: boolean = false;
accessingService: boolean = false;
isGenerateButtonWandVisible: boolean = true;
isTutorsTimeTablesVisible: boolean = false;

successfullyGeneratedTimeTableMainEntity: TimeTableMainEntity;
programmeGroupPersonalTimeTableDocsList : Array<ProgrammeGroupPersonalTimeTableEntity>;
tutorPersonalTimeTableDocsList : Array<TutorPersonalTimeTableEntity>;
programmeGroupPersonalTimeTableDocsList: Array<ProgrammeGroupPersonalTimeTableEntity>;
tutorPersonalTimeTableDocsList: Array<TutorPersonalTimeTableEntity>;

constructor(private timeTableGenerationService: TimeTableGenerationService,
private formBuilder: FormBuilder) {
Expand All @@ -50,15 +54,20 @@ export class TimeTableComponent implements OnInit {

console.log("TimeTable Generation Request ==>", timeTableGenerationRequest);
this.isGenerateButtonWandVisible = false;

this.successfullyGeneratedTimeTableMainEntity = this.generateFakeDataForTesting();
this.isTutorsTimeTablesVisible = true;

// this.timeTableGenerationService.generateTimeTable(timeTableGenerationRequest).subscribe(
// (response: TimeTableMainEntityResponsePayload) => {
// this.accessingService = false;
// console.info("response status = " + response.status);
// if (response.status === 0) {
// this.isGenerateButtonWandVisible = false;//once the response status is 0,we can hide the generate button.
// response.responseObject = this.successfullyGeneratedTimeTableMainEntity;
// this.isTutorsTimeTablesVisible = true;
// this.modalGenerateTimeTableDialog.dismiss();
// swal("Success", "Subject Added Successfully", "success");
// swal("Success", "Timetable generated successfuly", "success");
// } else {
// swal("Error", response.message || "Error", "error");
// }
Expand All @@ -75,8 +84,9 @@ export class TimeTableComponent implements OnInit {
* ID of programmeGroup Type of timetable used in ng-select library
* @type {number}
*/
TIMETABLE_TYPE_PROGRAMMEGROUP : number = 0;
TIMETABLE_TYPE_TUTOR : number = 1;
TIMETABLE_TYPE_PROGRAMMEGROUP: number = 0;
TIMETABLE_TYPE_TUTOR: number = 1;

/**
* ng-select library takes data in the form of {id,text} objects.
*
Expand Down Expand Up @@ -170,6 +180,7 @@ export class TimeTableComponent implements OnInit {
break;
default :
//DEFAULT IMPLEMENTAION
this.getTutorsTimeTables(this.successfullyGeneratedTimeTableMainEntity.tutorPersonalTimeTableDocs);
break;

}
Expand All @@ -179,11 +190,39 @@ export class TimeTableComponent implements OnInit {
* programmeGroups timetables list
* @param programmeGroupPersonalTimeTableDocs {@link TimeTableMainEntity.programmeGroupPersonalTimeTableDocs}
*/
getProgrammeGroupsTimeTables(programmeGroupPersonalTimeTableDocs: Array<ProgrammeGroupPersonalTimeTableEntity>){
getProgrammeGroupsTimeTables(programmeGroupPersonalTimeTableDocs: Array<ProgrammeGroupPersonalTimeTableEntity>) {
this.programmeGroupPersonalTimeTableDocsList = programmeGroupPersonalTimeTableDocs;
}

getTutorsTimeTables(tutorPersonalTimeTableDocs : Array<TutorPersonalTimeTableEntity>){
getTutorsTimeTables(tutorPersonalTimeTableDocs: Array<TutorPersonalTimeTableEntity>) {
this.tutorPersonalTimeTableDocsList = tutorPersonalTimeTableDocs;
this.isTutorsTimeTablesVisible = true;
}

/**
* Dummy object to test table view of timetable
* @returns {TimeTableMainEntity}
*/
generateFakeDataForTesting(): TimeTableMainEntity {
let tutorPersonalTimeTableEntities: Array<TutorPersonalTimeTableEntity> = [];
let tutor: Tutor = new Tutor("", "Ace", "Rbk", "", "", "", "", 0, 0, "", "", "", []);
let programmeDays: Array<ProgrammeDay> = [];
for (let i: number = 0; i < 5; i++) {

let periods:Array<PeriodOrLecture> = [];
for (let iPeriods: number = 1; iPeriods <= 10; iPeriods++) {
let period : PeriodOrLecture = new PeriodOrLecture("Period"+iPeriods,iPeriods,"",true,"subjectUniqueId","SubjectFullName","","Ace Rbk Chief Keef");
periods.push(period);
}
let programmeDay:ProgrammeDay = new ProgrammeDay("Monday",periods);
programmeDays.push(programmeDay);
}
let tutorPersonalTimeTable: TutorPersonalTimeTableEntity = new TutorPersonalTimeTableEntity("", tutor,programmeDays);

tutorPersonalTimeTableEntities.push(tutorPersonalTimeTable);

let timeTableMainEntity : TimeTableMainEntity = new TimeTableMainEntity(2017,"Term1",tutorPersonalTimeTableEntities,[]);

return timeTableMainEntity;
}
}
3 changes: 3 additions & 0 deletions src/app/models/tutor-personal-time-table-entity.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import {ProgrammeDay} from "./programme-day";
import {Tutor} from "./TutorResponsePayload";
export class TutorPersonalTimeTableEntity {

/**
*
* @param tutorUniqueIdInDb
* @param tutorDoc
* @param programmeDaysList
*/
constructor(public tutorUniqueIdInDb: string,
public tutorDoc : Tutor,
public programmeDaysList: Array<ProgrammeDay>) {
}
}

0 comments on commit 6bb8417

Please sign in to comment.