fixed errors
This commit is contained in:
parent
24be14bef5
commit
76cbb96eaf
@ -3,6 +3,7 @@
|
|||||||
<div class="d-flex justify-content-end">
|
<div class="d-flex justify-content-end">
|
||||||
<button *ngIf="group.admin.id === currentUserId" (click)="onDelete()" class="btn btn-primary">Delete group</button>
|
<button *ngIf="group.admin.id === currentUserId" (click)="onDelete()" class="btn btn-primary">Delete group</button>
|
||||||
<button *ngIf="group.admin.id !== currentUserId" (click)="onLeaveGroup()" class="btn btn-primary">Leave group</button>
|
<button *ngIf="group.admin.id !== currentUserId" (click)="onLeaveGroup()" class="btn btn-primary">Leave group</button>
|
||||||
|
<button (click)="onBackToGroupList()" class="btn btn-primary ml-2">Back to group list</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="group-main-data mb-5">
|
<div class="group-main-data mb-5">
|
||||||
<h3>Group info:</h3>
|
<h3>Group info:</h3>
|
||||||
|
@ -30,6 +30,10 @@ export class GroupEditComponent implements OnInit {
|
|||||||
this.groupCandidates$ = this.groupCandidateService.getList(this.groupId);
|
this.groupCandidates$ = this.groupCandidateService.getList(this.groupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onBackToGroupList(): void {
|
||||||
|
this.router.navigateByUrl('/group');
|
||||||
|
}
|
||||||
|
|
||||||
onDelete(): void {
|
onDelete(): void {
|
||||||
this.groupService.delete(this.groupId).subscribe(() => {
|
this.groupService.delete(this.groupId).subscribe(() => {
|
||||||
this.router.navigateByUrl('/group');
|
this.router.navigateByUrl('/group');
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<div class="list-group-item">
|
<div class="list-group-item">
|
||||||
<h5 class="card-title">Test {{i + 1}}</h5>
|
<h5 class="card-title">Test {{i + 1}}</h5>
|
||||||
<div [formGroup]="assignment" class="d-flex flex-column">
|
<div [formGroup]="assignment" class="d-flex flex-column">
|
||||||
<mat-form-field>
|
<mat-form-field [ngClass]="{'error-field': submited && assignment.controls.name.value == ''}">
|
||||||
<mat-label>Name</mat-label>
|
<mat-label>Name</mat-label>
|
||||||
<input matInput formControlName="name"/>
|
<input matInput formControlName="name"/>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -61,7 +61,7 @@
|
|||||||
<mat-label>Deadline</mat-label>
|
<mat-label>Deadline</mat-label>
|
||||||
<input matInput type="datetime-local" formControlName="deadline" />
|
<input matInput type="datetime-local" formControlName="deadline" />
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field>
|
<mat-form-field [ngClass]="{'error-field': submited && assignment.controls.description.value == ''}">
|
||||||
<mat-label>Description</mat-label>
|
<mat-label>Description</mat-label>
|
||||||
<textarea matInput type="text" formControlName="description"></textarea>
|
<textarea matInput type="text" formControlName="description"></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -79,7 +79,7 @@
|
|||||||
<div class="list-group-item">
|
<div class="list-group-item">
|
||||||
<h5 class="card-title">Test {{i + 1}}</h5>
|
<h5 class="card-title">Test {{i + 1}}</h5>
|
||||||
<div [formGroup]="comment">
|
<div [formGroup]="comment">
|
||||||
<mat-form-field>
|
<mat-form-field [ngClass]="{'error-field': submited && comment.controls.text.value == ''}">
|
||||||
<mat-label>Text</mat-label>
|
<mat-label>Text</mat-label>
|
||||||
<textarea matInput type="text" formControlName="text"></textarea>
|
<textarea matInput type="text" formControlName="text"></textarea>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
@ -90,7 +90,7 @@
|
|||||||
<button [disabled]="!editable" (click)="onAddNewComment()" class="btn btn-primary">Add new comment</button>
|
<button [disabled]="!editable" (click)="onAddNewComment()" class="btn btn-primary">Add new comment</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<button [disabled]="!editable" (click)="onSubjectSave()" class="btn btn-primary">Save</button>
|
<button [disabled]="!editable" (click)="onSubjectSave()" type="submit" class="btn btn-primary">Save</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<button (click)="backToGroup()" class="btn btn-primary">Back to group</button>
|
<button (click)="backToGroup()" class="btn btn-primary">Back to group</button>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { GroupService } from './../../../group/services/group.service';
|
import { GroupService } from './../../../group/services/group.service';
|
||||||
import { Assignment } from './../../interfaces/assignment.interface';
|
import { Assignment } from './../../interfaces/assignment.interface';
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
|
||||||
import { FormGroup, FormControl, Validators, FormArray } from '@angular/forms';
|
import { FormGroup, FormControl, Validators, FormArray } from '@angular/forms';
|
||||||
import { SubjectService } from '../../services/subject.service';
|
import { SubjectService } from '../../services/subject.service';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
@ -18,13 +18,15 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
subject: Subject;
|
subject: Subject;
|
||||||
subjectForm: FormGroup;
|
subjectForm: FormGroup;
|
||||||
subjectId: number;
|
subjectId: number;
|
||||||
|
submited = false;
|
||||||
groupId: number;
|
groupId: number;
|
||||||
editable: boolean;
|
editable = true;
|
||||||
|
|
||||||
constructor(private activatedRoute: ActivatedRoute,
|
constructor(private activatedRoute: ActivatedRoute,
|
||||||
private subjectService: SubjectService,
|
private subjectService: SubjectService,
|
||||||
private groupService: GroupService,
|
private groupService: GroupService,
|
||||||
private router: Router) { }
|
private router: Router,
|
||||||
|
private cd: ChangeDetectorRef) { }
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.groupId = this.activatedRoute.snapshot.params.groupId;
|
this.groupId = this.activatedRoute.snapshot.params.groupId;
|
||||||
@ -44,7 +46,7 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
backToGroup(): void {
|
backToGroup(): void {
|
||||||
if (this.editable) {
|
if (this.editable && this.subjectId) {
|
||||||
this.subjectService.unlock(this.subjectId).subscribe(() => {
|
this.subjectService.unlock(this.subjectId).subscribe(() => {
|
||||||
this.router.navigateByUrl('/group/edit/' + this.groupId);
|
this.router.navigateByUrl('/group/edit/' + this.groupId);
|
||||||
});
|
});
|
||||||
@ -90,7 +92,7 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
(this.subjectForm.controls.tests as FormArray).push(new FormGroup({
|
(this.subjectForm.controls.tests as FormArray).push(new FormGroup({
|
||||||
id: new FormControl(null),
|
id: new FormControl(null),
|
||||||
date: new FormControl(null),
|
date: new FormControl(null),
|
||||||
scope: new FormControl(''),
|
scope: new FormControl('', Validators.required),
|
||||||
finalMarkPercent: new FormControl(0),
|
finalMarkPercent: new FormControl(0),
|
||||||
subjectId: new FormControl(null)
|
subjectId: new FormControl(null)
|
||||||
}));
|
}));
|
||||||
@ -98,9 +100,9 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
for (let assignment of this.subject.assignments) {
|
for (let assignment of this.subject.assignments) {
|
||||||
(this.subjectForm.controls.assignments as FormArray).push(new FormGroup({
|
(this.subjectForm.controls.assignments as FormArray).push(new FormGroup({
|
||||||
id: new FormControl(null),
|
id: new FormControl(null),
|
||||||
name: new FormControl(''),
|
name: new FormControl('', Validators.required),
|
||||||
deadline: new FormControl(null),
|
deadline: new FormControl(null),
|
||||||
description: new FormControl(''),
|
description: new FormControl('', Validators.required),
|
||||||
finalMarkPercent: new FormControl(0),
|
finalMarkPercent: new FormControl(0),
|
||||||
subjectId: new FormControl(null)
|
subjectId: new FormControl(null)
|
||||||
}));
|
}));
|
||||||
@ -108,7 +110,7 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
for (let comment of this.subject.comments) {
|
for (let comment of this.subject.comments) {
|
||||||
(this.subjectForm.controls.comments as FormArray).push(new FormGroup({
|
(this.subjectForm.controls.comments as FormArray).push(new FormGroup({
|
||||||
id: new FormControl(null),
|
id: new FormControl(null),
|
||||||
text: new FormControl(''),
|
text: new FormControl('', Validators.required),
|
||||||
subjectId: new FormControl(null)
|
subjectId: new FormControl(null)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -140,9 +142,9 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
(this.subjectForm.controls.assignments as FormArray).push(new FormGroup({
|
(this.subjectForm.controls.assignments as FormArray).push(new FormGroup({
|
||||||
name: new FormControl(assignment.name),
|
name: new FormControl(assignment.name, Validators.required),
|
||||||
deadline: new FormControl(this.parseDateTimeToISOFormat(assignment.deadline)),
|
deadline: new FormControl(this.parseDateTimeToISOFormat(assignment.deadline)),
|
||||||
description: new FormControl(assignment.description),
|
description: new FormControl(assignment.description, Validators.required),
|
||||||
finalMarkPercent: new FormControl(assignment.finalMarkPercent)
|
finalMarkPercent: new FormControl(assignment.finalMarkPercent)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -159,6 +161,10 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onSubjectSave(): void {
|
onSubjectSave(): void {
|
||||||
|
this.submited = true;
|
||||||
|
//this.subjectForm.updateValueAndValidity();
|
||||||
|
//this.cd.detectChanges();
|
||||||
|
if (this.subjectForm.valid) {
|
||||||
if (this.subjectId) {
|
if (this.subjectId) {
|
||||||
this.subjectService.update(this.subjectForm.value).subscribe(() => {
|
this.subjectService.update(this.subjectForm.value).subscribe(() => {
|
||||||
this.router.navigateByUrl('/group/edit/' + this.groupId);
|
this.router.navigateByUrl('/group/edit/' + this.groupId);
|
||||||
@ -169,6 +175,7 @@ export class SubjectEditComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private parseDateTimeToISOFormat(date: Date): string {
|
private parseDateTimeToISOFormat(date: Date): string {
|
||||||
return new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().slice(0, 16);
|
return new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().slice(0, 16);
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
<div>
|
<div>
|
||||||
Exam: {{ subject.mainExam ? 'Yes' : 'No' }}
|
Exam: {{ subject.mainExam ? 'Yes' : 'No' }}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div *ngIf="subject.mainExam">
|
||||||
Exam date: {{ subject.examDate }}
|
Exam date: {{ subject.examDate | date:'dd-MM-y, HH:mm' }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="subject-buttons d-flex align-items-center">
|
<div class="subject-buttons d-flex align-items-center">
|
||||||
|
@ -9,7 +9,8 @@
|
|||||||
(addNewSubject)="onAddNewSubject()"
|
(addNewSubject)="onAddNewSubject()"
|
||||||
(deleteRequest)="onAddDeleteRequest($event)"
|
(deleteRequest)="onAddDeleteRequest($event)"
|
||||||
(deleteSubject)="onDeleteSubject($event)"
|
(deleteSubject)="onDeleteSubject($event)"
|
||||||
(editSubject)="onEditSubject($event)">
|
(editSubject)="onEditSubject($event)"
|
||||||
|
(unlockSubject)="onUnlockSubject($event)">
|
||||||
</app-subject-list>
|
</app-subject-list>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="userId === adminId">
|
<div *ngIf="userId === adminId">
|
||||||
|
@ -2,3 +2,12 @@
|
|||||||
|
|
||||||
html, body { height: 100%; }
|
html, body { height: 100%; }
|
||||||
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
|
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
|
||||||
|
|
||||||
|
.error-field {
|
||||||
|
.mat-form-field-empty.mat-form-field-label {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
.mat-form-field-underline {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user