| 
							
							
							
						 |  |  | @@ -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.setFilterForm(); | 
		
	
		
			
				|  |  |  |  |     this.loadNextPage(); | 
		
	
		
			
				|  |  |  |  |     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(); | 
		
	
		
			
				|  |  |  |  |         }); | 
		
	
		
			
				|  |  |  |  |       }); | 
		
	
	
		
			
				
					
					|  |  |  |   |