import { Component, OnInit,Input } from '@angular/core'; import { Router } from '@angular/router'; import { CommonService, toastPayload } from '../common/service/common.service'; import { TableHeader } from '../model/uam.models'; import { ApplicationService } from '../application/application.service'; import { DataservicesService } from '../common/dataservice/dataservices.service'; import { LecturScheduleAddService} from './lectur-schedule-add.service'; import { LecturScheduleAdd } from './lectur-schedule-add'; import { FormControl, FormGroup , ReactiveFormsModule, Validators} from '@angular/forms'; import { IndividualConfig } from 'ngx-toastr'; import { takeUntil } from 'rxjs'; @Component({ selector: 'app-lecture-schedule-add', templateUrl: './lecture-schedule-add.component.html', styleUrls: ['./lecture-schedule-add.component.css'] }) export class LectureScheduleAddComponent implements OnInit { toast!: toastPayload; Id!:any; access_id:any; Division:any; Sessionid:any; DivisionId:any; PeriodId:any; Period:any; LectureTypeId:any; LectureTypeName:any; SubjectId:any; SubjectName:any; TeacherId:any; TeacherName:any; LectureName:any; StandardId:any; Standard:any; SessionName:any; lectList:any=[]; stdList:Object; divList:Object; sessList:Object; periodList:any=[]; teachList:Object; subList:Object; Day:any; message: any; masterForm : FormGroup; constructor(private router: Router, public service: LecturScheduleAddService, public commonService: CommonService, public dataService:DataservicesService) { } ngOnInit(): void { debugger; $('#dlllectureType').val('selectedvalue'); this.GetLectureTypeMasterById(); this.getApplicationList(); this.masterForm = new FormGroup({ 'lectureName' : new FormControl(null,[Validators.required, Validators.pattern(/^(\s+\S+\s*)*(?!\s).*$/)]), 'standardId' : new FormControl(null, Validators.required), 'divisionId' : new FormControl(null), 'lectureTypeId' : new FormControl(null), 'day' : new FormControl(null), 'sessionId' : new FormControl(null), 'periodId' : new FormControl(null), 'teacherId' : new FormControl(null), 'subjectId' : new FormControl(null), }); } getRequestParam(){ const obj:LecturScheduleAdd= new LecturScheduleAdd(); obj.Id = this.dataService.id; obj.StandardId=this.dataService.StandardId; obj.PeriodId=this.dataService.PeriodId; // this.row=this.dataService.rowData; return obj; } public GetLectureTypeMasterById() { if (this.dataService.id !== "00000000-0000-0000-0000-000000000000" && this.dataService.id !== undefined) { const val = new LecturScheduleAdd(); val.Id = this.dataService.id; this.service.GetLectureScheduleById(val).pipe(takeUntil(this.router.events)).subscribe((result: any) => { this.Id = result.id; this.StandardId = result.standardId; this.LectureName = result.lectureName; this.DivisionId = result.divisionId; this.Day = result.day; this.Sessionid = result.sessionId; this.SubjectId = result.subjectId; this.LectureTypeId = result.lectureTypeId; this.TeacherId = result.teacherId; console.log(result); }); } else{ this.StandardId = ''; this.LectureName = ''; this.DivisionId = ''; this.Day = 'Monday'; this.Sessionid = ''; this.SubjectId = ''; this.LectureTypeId = ''; this.TeacherId = ''; } } getStandard() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "Standard"; return obj; } getLectureType() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "LectureType"; return obj; } getPeriod() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "Period"; return obj; } getDivision() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "Division"; return obj; } getTeacher() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "Teacher"; return obj; } getSession() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "Session"; return obj; } getSubject() { const obj : LecturScheduleAdd = new LecturScheduleAdd(); obj.dType = "Subject"; return obj; } backtoList() { this.router.navigate(['/lecture-schedule']) } clearData() { this.Id = '00000000-0000-0000-0000-000000000000'; this.PeriodId =''; this.StandardId=''; this.SubjectId=''; this.LectureName=''; this.LectureTypeId=''; this.TeacherId=''; this.DivisionId=''; this.Sessionid=''; this.dataService.Standard =''; } get breadCrumb(){ return this.LectureName =this.dataService.LectureName; } closeModal() { $('#messegeBox').hide(); } getApplicationList(){ debugger; const objStandard = this.getStandard(); const objDivision = this.getDivision(); const objSub = this.getSubject(); const objsessiom = this.getSession(); const objteacher = this.getTeacher(); const objPeriod = this.getPeriod(); const objLecture = this.getLectureType(); console.log("obj",objStandard); this.StandardId = this.service.getStandard().subscribe(results => { this.stdList =(results as any).results this.stdList = results }); this.PeriodId = this.service.getPeriod().subscribe(results => { this.periodList = (results as any).results this.periodList = results }); this.DivisionId = this.service.getDivision().subscribe(results => this.divList = results); this.Sessionid = this.service.getSession().subscribe(results => this.sessList = results); this.SubjectId = this.service.getSubject().subscribe(results => this.subList = results); this.TeacherId = this.service.getTeacher().subscribe(results => this.teachList = results); this.LectureTypeId = this.service.getdrpList(objLecture).subscribe(results => this.lectList = results); } get sessionId(){ return this.masterForm.get('sessionId'); } get lectureTypeId(){ return this.masterForm.get('lectureTypeId'); } get periodId(){ return this.masterForm.get('periodId'); } get lectureName(){ return this.masterForm.get('lectureName'); } get standardId(){ return this.masterForm.get('teacherId'); } get divisionId(){ return this.masterForm.get('teacherId'); } get day(){ return this.masterForm.get('day'); } get subjectId(){ return this.masterForm.get('subjectId'); } get teacherId(){ return this.masterForm.get('teacherId'); } Update(){ debugger; var val = {Id:this.Id, LectureName:this.LectureName, StandardId:this.StandardId, PeriodId:this.PeriodId, DivisionId:this.DivisionId, Sessionid:this.Sessionid, SubjectId:this.SubjectId, TeacherId:this.TeacherId, LectureTypeId:this.LectureTypeId, Day:this.Day }; this.service.Update(val).subscribe({ next: ((result:any) => { this.message= result.message; this.toast = { message: this.message, title: 'Success', type: 'success', ic: { timeOut: 2500, closeButton: true, } as IndividualConfig, }; this.commonService.showToast(this.toast); }), error: (error => { this.toast = { message: 'Error occurred', title: 'Error', type: 'error', ic: { timeOut: 2500, closeButton: true, } as IndividualConfig, }; this.commonService.showToast(this.toast); }) }); } onStdChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { this.StandardId =e.target.value; } else { this.StandardId =null; } } onPeriodChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { this.PeriodId =e.target.value; } else { this.PeriodId =null; } } ondivChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { this.DivisionId =e.target.value; } else { this.DivisionId =null; } } onsessionChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { this.Sessionid =e.target.value; } else { this.Sessionid =null; } } onteachersChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { if(this.TeacherId=='00000000-0000-0000-0000-000000000000'|| e.target.value =="undefined") { this.TeacherId='71288AB6-4177-4AD5-BC2D-0AC06B7ED306'; } this.TeacherId =e.target.value; } else { this.TeacherId =null; } } onsubChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { this.SubjectId =e.target.value; } else { this.SubjectId =null; } } onLectChange(e: any) { debugger; if(e.target.value !="null" || e.target.value !="undefined") { this.LectureTypeId =e.target.value; } else { this.LectureTypeId =null; } } public onDaysSelected(event: any) { const selectedValue = event.target.value; } }
<div class="col-md-12"> <div class="card mb-4"> <h5 class="card-header">Lecture Schedule Details</h5> <hr class="m-0"> <form [formGroup]="masterForm"> <div class="card-body"> <div class="col-md-4"> <label for="lectureName">Lecture Name</label> <input type="text" class="form-control" [(ngModel)]="LectureName" placeholder="Enter Lecture Name" formControlName="lectureName"> <small *ngIf="lectureName.invalid && lectureName.touched" class="text-danger"> Lecture Name is required</small> <br> <small *ngIf="lectureName.errors?.['pattern']" class="text-danger"> Lecture should not be blank</small> </div> <div class="col-md-4"> <label>Lecture Type</label> <select class="form-select form-control" id ="dlllectureType" [(ngModel)]="LectureTypeId" formControlName="lectureTypeId" (change)="onLectChange($event)"> <option value='selectedvalue'>Select LectureType</option> <option *ngFor="let lect of lectList" [value]="lect.id">{{lect.value}}</option> </select> <small *ngIf="lectureTypeId.invalid && lectureTypeId.touched" class="text-danger"> LectureType is required</small> </div> <div class="col-md-4"> <label>Standard</label> <select class="form-select" id ="dllStandard" formControlName="standardId" (change)="onStdChange($event)"> <option value="Select Standard">Select Standard</option> <option *ngFor="let std of stdList" [value]="std.id">{{std.value}}</option> </select> <small *ngIf="standardId.invalid && standardId.touched" class="text-danger"> Standard is required</small> </div> <div class="col-md-4"> <label>Division</label> <select class="form-select" id ="dlldiv" [(ngModel)]="DivisionId" formControlName="divisionId" (change)="ondivChange($event)"> <option default>Select Div</option> <option *ngFor="let div of divList" [value]="div.id">{{div.value}}</option> </select> </div> <div class="col-md-4"> <label>Day</label> <select class="form-select" id="ddlDay" [(ngModel)]="Day" formControlName="day" (change)="onDaysSelected($event)" [value]="Day"> <option value="Monday">Monday</option> <option value="Tuesday">Tuesday</option> <option value="Wednesday">Wednesday</option> <option value="Thusday">Thusday</option> <option value="Friday">Friday</option> <option value="Saturday">Saturday</option> <option value="Sunday">Sunday</option> </select> </div> <div class="col-md-4"> <label>Session</label> <select class="form-select" id ="dllSession" [(ngModel)]="Sessionid" formControlName="sessionId" (change)="onsessionChange($event)"> <option default>Select --</option> <option *ngFor="let session of sessList" [value]="session.id">{{session.value}}</option> </select> </div> <div class="col-md-4"> <label>Period</label> <select class="form-select" id ="dllperiod" [(ngModel)]="PeriodId" formControlName="periodId" (change)="onPeriodChange($event)"> <option default>Select --</option> <option *ngFor="let period of periodList" [value]="period.id">{{period.value}}</option> </select> </div> <div class="col-md-4"> <label>Teacher Name</label> <select class="form-select" id ="dllteacher" [(ngModel)]="TeacherId" formControlName="divisionId" (change)="onteachersChange($event)"> <option default>Select Teacher</option> <option *ngFor="let teach of teachList" [value]="teach.id">{{teach.value}}</option> </select> </div> <div class="col-md-4"> <label>Subject </label> <select ng-model="form.type" class="form-select" id ="dllSubject" [(ngModel)]="SubjectId" formControlName="subjectId" (change)="onsubChange($event)"> <option value="0">Select Subject</option> <option *ngFor="let sub of subList" [value]="sub.id">{{sub.value}}</option> </select> </div> <div class="col-12 text-end mb-4"> <div class="demo-inline-spacing"> <button type="button" class="btn btn-primary " data-toggle="modal" data-keyboard="false" (click)="Update();" [disabled]="masterForm.invalid"> <span class="tf-icons bx bxs-save"></span> Update </button> <button type="button" class="btn btn-info " data-toggle="modal" data-keyboard="false" (click)="backtoList();"> <span class="tf-icons bx bx-undo"></span> Back </button> <button type="button" class="btn btn-danger" data-toggle="modal" data-keyboard="false" (click)="clearData();"> <span class="tf-icons bx bxs-brush-alt"></span> Clear </button> </div> </div> </div> </form> </div> </div>