add admin interface, angular migration
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { JitsiRoomManagementService } from '../../../services/admin/jitsiroom.management.service';
|
||||
|
||||
@Component({
|
||||
standalone: false,
|
||||
selector: 'admin-jitsi-room-edit-dialog',
|
||||
templateUrl: './jitsi-room.edit.html',
|
||||
styleUrls: ['../admin.scss']
|
||||
})
|
||||
export class AdminJitsiRoomEditDialog implements OnInit {
|
||||
form: FormGroup;
|
||||
isEditMode: boolean = false;
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private jitsiRoomManagementService: JitsiRoomManagementService,
|
||||
public dialogRef: MatDialogRef<AdminJitsiRoomEditDialog>,
|
||||
@Inject(MAT_DIALOG_DATA) public data: any
|
||||
) {
|
||||
this.isEditMode = !!data?.jitsiRoom;
|
||||
|
||||
// Convert ISO strings to Date objects for the datepicker
|
||||
const startsDate = data?.jitsiRoom?.starts ? new Date(data.jitsiRoom.starts) : null;
|
||||
const moderationStartsDate = data?.jitsiRoom?.moderationStarts ? new Date(data.jitsiRoom.moderationStarts) : null;
|
||||
const expiresDate = data?.jitsiRoom?.expires ? new Date(data.jitsiRoom.expires) : null;
|
||||
|
||||
this.form = this.fb.group({
|
||||
id: [data?.jitsiRoom?.id || null],
|
||||
owner: [data?.jitsiRoom?.owner || null],
|
||||
room: [data?.jitsiRoom?.room || '', Validators.required],
|
||||
starts: [startsDate],
|
||||
moderationStarts: [moderationStartsDate],
|
||||
expires: [expiresDate]
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
onSubmit(): void {
|
||||
if (this.form.valid) {
|
||||
const jitsiRoom = {
|
||||
...this.form.value,
|
||||
// Convert Date objects back to ISO strings
|
||||
starts: this.form.value.starts ? this.form.value.starts.toISOString() : null,
|
||||
moderationStarts: this.form.value.moderationStarts ? this.form.value.moderationStarts.toISOString() : null,
|
||||
expires: this.form.value.expires ? this.form.value.expires.toISOString() : null
|
||||
};
|
||||
|
||||
this.jitsiRoomManagementService.createOrUpdateJitsiRoom(jitsiRoom).subscribe({
|
||||
next: (result) => {
|
||||
this.dialogRef.close(result);
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error saving jitsi room:', error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
onCancel(): void {
|
||||
this.dialogRef.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user