|
|
|
@ -1,30 +1,30 @@
|
|
|
|
|
import {Component} from '@angular/core';
|
|
|
|
|
import {AuthService} from "../../../../../../services/auth/auth.service";
|
|
|
|
|
import {SpinnerService} from "../../../../../../services/spinner/spinner.service";
|
|
|
|
|
import {ToastService} from "../../../../../../services/toast/toast.service";
|
|
|
|
|
import {ConfirmationDialogService} from "../../../../../../services/confirmation-dialog/confirmation-dialog.service";
|
|
|
|
|
import {FormBuilder, FormControl, FormGroup} from "@angular/forms";
|
|
|
|
|
import {TranslateService} from "@ngx-translate/core";
|
|
|
|
|
import {DataService} from "../../../../../../services/data/data.service";
|
|
|
|
|
import {SidebarService} from "../../../../../../services/sidebar/sidebar.service";
|
|
|
|
|
import {ActivatedRoute} from "@angular/router";
|
|
|
|
|
import {Page} from "../../../../../../models/graphql/filter/page.model";
|
|
|
|
|
import {Sort, SortDirection} from "../../../../../../models/graphql/filter/sort.model";
|
|
|
|
|
import {Level, LevelFilter} from "../../../../../../models/data/level.model";
|
|
|
|
|
import {LevelListQuery} from "../../../../../../models/graphql/query.model";
|
|
|
|
|
import {Queries} from "../../../../../../models/graphql/queries.model";
|
|
|
|
|
import {catchError, debounceTime} from "rxjs/operators";
|
|
|
|
|
import {LazyLoadEvent} from "primeng/api";
|
|
|
|
|
import {Table} from "primeng/table";
|
|
|
|
|
import {User} from "../../../../../../models/data/user.model";
|
|
|
|
|
import {LevelMutationResult, UpdateUserMutationResult} from "../../../../../../models/graphql/result.model";
|
|
|
|
|
import {Mutations} from "../../../../../../models/graphql/mutations.model";
|
|
|
|
|
import {throwError} from "rxjs";
|
|
|
|
|
import { Component } from "@angular/core";
|
|
|
|
|
import { AuthService } from "../../../../../../services/auth/auth.service";
|
|
|
|
|
import { SpinnerService } from "../../../../../../services/spinner/spinner.service";
|
|
|
|
|
import { ToastService } from "../../../../../../services/toast/toast.service";
|
|
|
|
|
import { ConfirmationDialogService } from "../../../../../../services/confirmation-dialog/confirmation-dialog.service";
|
|
|
|
|
import { FormBuilder, FormControl, FormGroup } from "@angular/forms";
|
|
|
|
|
import { TranslateService } from "@ngx-translate/core";
|
|
|
|
|
import { DataService } from "../../../../../../services/data/data.service";
|
|
|
|
|
import { SidebarService } from "../../../../../../services/sidebar/sidebar.service";
|
|
|
|
|
import { ActivatedRoute } from "@angular/router";
|
|
|
|
|
import { Page } from "../../../../../../models/graphql/filter/page.model";
|
|
|
|
|
import { Sort, SortDirection } from "../../../../../../models/graphql/filter/sort.model";
|
|
|
|
|
import { Level, LevelFilter } from "../../../../../../models/data/level.model";
|
|
|
|
|
import { LevelListQuery } from "../../../../../../models/graphql/query.model";
|
|
|
|
|
import { Queries } from "../../../../../../models/graphql/queries.model";
|
|
|
|
|
import { catchError, debounceTime } from "rxjs/operators";
|
|
|
|
|
import { LazyLoadEvent } from "primeng/api";
|
|
|
|
|
import { Table } from "primeng/table";
|
|
|
|
|
import { User } from "../../../../../../models/data/user.model";
|
|
|
|
|
import { LevelMutationResult, UpdateUserMutationResult } from "../../../../../../models/graphql/result.model";
|
|
|
|
|
import { Mutations } from "../../../../../../models/graphql/mutations.model";
|
|
|
|
|
import { throwError } from "rxjs";
|
|
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
|
selector: 'app-levels',
|
|
|
|
|
templateUrl: './levels.component.html',
|
|
|
|
|
styleUrls: ['./levels.component.scss']
|
|
|
|
|
selector: "app-levels",
|
|
|
|
|
templateUrl: "./levels.component.html",
|
|
|
|
|
styleUrls: ["./levels.component.scss"]
|
|
|
|
|
})
|
|
|
|
|
export class LevelsComponent {
|
|
|
|
|
|
|
|
|
@ -68,10 +68,10 @@ export class LevelsComponent {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ngOnInit(): void {
|
|
|
|
|
this.data.getServerFromRoute(this.route);
|
|
|
|
|
|
|
|
|
|
this.data.getServerFromRoute(this.route).then(server => {
|
|
|
|
|
this.setFilterForm();
|
|
|
|
|
this.loadNextPage();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public loadNextPage(): void {
|
|
|
|
@ -93,7 +93,7 @@ export class LevelsComponent {
|
|
|
|
|
name: new FormControl<string | null>(null),
|
|
|
|
|
color: new FormControl<string | null>(null),
|
|
|
|
|
min_xp: new FormControl<number | null>(null),
|
|
|
|
|
permissions: new FormControl<number | null>(null),
|
|
|
|
|
permissions: new FormControl<number | null>(null)
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.filterForm.valueChanges.pipe(
|
|
|
|
@ -142,7 +142,7 @@ export class LevelsComponent {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public onRowEditInit(table: Table, user: User, index: number): void {
|
|
|
|
|
this.clonedLevels[index] = {...user};
|
|
|
|
|
this.clonedLevels[index] = { ...user };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public onRowEditSave(table: Table, newLevel: Level, index: number): void {
|
|
|
|
@ -174,13 +174,14 @@ export class LevelsComponent {
|
|
|
|
|
serverId: this.sidebar.server$.value?.id
|
|
|
|
|
}
|
|
|
|
|
).pipe(catchError(err => {
|
|
|
|
|
this.isEditingNew = false;
|
|
|
|
|
this.spinner.hideSpinner();
|
|
|
|
|
this.toastService.error(this.translate.instant("view.server.levels.message.level_create_failed"), this.translate.instant("view.server.levels.message.level_create_failed_d"));
|
|
|
|
|
return throwError(err);
|
|
|
|
|
})).subscribe(result => {
|
|
|
|
|
this.isEditingNew = false;
|
|
|
|
|
this.spinner.hideSpinner();
|
|
|
|
|
this.toastService.success(this.translate.instant("view.server.levels.message.level_create"), this.translate.instant("view.server.levels.message.level_create_d", {name: result.level.createLevel?.name}));
|
|
|
|
|
this.toastService.success(this.translate.instant("view.server.levels.message.level_create"), this.translate.instant("view.server.levels.message.level_create_d", { name: result.level.createLevel?.name }));
|
|
|
|
|
this.loadNextPage();
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
@ -192,15 +193,15 @@ export class LevelsComponent {
|
|
|
|
|
name: newLevel.name,
|
|
|
|
|
color: newLevel.color,
|
|
|
|
|
minXp: newLevel.minXp,
|
|
|
|
|
permissions: newLevel.permissions,
|
|
|
|
|
permissions: newLevel.permissions
|
|
|
|
|
}
|
|
|
|
|
).pipe(catchError(err => {
|
|
|
|
|
this.spinner.hideSpinner();
|
|
|
|
|
this.toastService.error(this.translate.instant("view.server.levels.message.level_update_failed"), this.translate.instant("view.server.levels.message.level_update_failed_d", {name: newLevel.name}));
|
|
|
|
|
this.toastService.error(this.translate.instant("view.server.levels.message.level_update_failed"), this.translate.instant("view.server.levels.message.level_update_failed_d", { name: newLevel.name }));
|
|
|
|
|
return throwError(err);
|
|
|
|
|
})).subscribe(_ => {
|
|
|
|
|
this.spinner.hideSpinner();
|
|
|
|
|
this.toastService.success(this.translate.instant("view.server.levels.message.level_update"), this.translate.instant("view.server.levels.message.level_update_d", {name: newLevel.name}));
|
|
|
|
|
this.toastService.success(this.translate.instant("view.server.levels.message.level_update"), this.translate.instant("view.server.levels.message.level_update_d", { name: newLevel.name }));
|
|
|
|
|
this.loadNextPage();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -220,7 +221,7 @@ export class LevelsComponent {
|
|
|
|
|
|
|
|
|
|
public deleteLevel(level: Level): void {
|
|
|
|
|
this.confirmDialog.confirmDialog(
|
|
|
|
|
this.translate.instant("view.server.levels.message.level_delete"), this.translate.instant("view.server.levels.message.level_delete_q", {name: level.name}),
|
|
|
|
|
this.translate.instant("view.server.levels.message.level_delete"), this.translate.instant("view.server.levels.message.level_delete_q", { name: level.name }),
|
|
|
|
|
() => {
|
|
|
|
|
this.spinner.showSpinner();
|
|
|
|
|
this.data.mutation<LevelMutationResult>(Mutations.deleteLevel, {
|
|
|
|
@ -228,11 +229,11 @@ export class LevelsComponent {
|
|
|
|
|
}
|
|
|
|
|
).pipe(catchError(err => {
|
|
|
|
|
this.spinner.hideSpinner();
|
|
|
|
|
this.toastService.error(this.translate.instant("view.server.levels.message.level_delete_failed"), this.translate.instant("view.server.levels.message.level_delete_failedd", {name: level.name}));
|
|
|
|
|
this.toastService.error(this.translate.instant("view.server.levels.message.level_delete_failed"), this.translate.instant("view.server.levels.message.level_delete_failedd", { name: level.name }));
|
|
|
|
|
return throwError(err);
|
|
|
|
|
})).subscribe(l => {
|
|
|
|
|
this.spinner.hideSpinner();
|
|
|
|
|
this.toastService.success(this.translate.instant("view.server.levels.message.level_deleted"), this.translate.instant("view.server.levels.message.level_deleted_d", {name: level.name}));
|
|
|
|
|
this.toastService.success(this.translate.instant("view.server.levels.message.level_deleted"), this.translate.instant("view.server.levels.message.level_deleted_d", { name: level.name }));
|
|
|
|
|
this.loadNextPage();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|