+
+
-
+
-

+

+
+
+
+
+
+
+ Status:
+ {{node.status}}
-
-
-
-
- Status:
- {{node.status}}
-
-
-
Release Date: {{node.releaseDate | amLocal | amDateFormat: 'LL'}}
-
-
{{ 'Requests.QualityOverride' | translate }}
- {{node.qualityOverrideTitle}}
-
-
{{ 'Requests.RootFolderOverride' | translate }}
- {{node.rootPathOverrideTitle}}
-
+
Release Date: {{node.releaseDate | amLocal | amDateFormat: 'LL'}}
+
+
{{ 'Requests.QualityOverride' | translate }}
+ {{node.qualityOverrideTitle}}
+
+
{{ 'Requests.RootFolderOverride' | translate }}
+ {{node.rootPathOverrideTitle}}
-
-
-
-
+
+
+
-
-
-
1" class="btn-group btn-split" id="rootFolderBtn">
-
+
+
+ {{ 'Requests.ReportIssue' | translate }}
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/Ombi/ClientApp/src/app/requests/tvrequests.component.ts b/src/Ombi/ClientApp/src/app/requests/tvrequests.component.ts
index 4ecf1e6ac..1386efd1f 100644
--- a/src/Ombi/ClientApp/src/app/requests/tvrequests.component.ts
+++ b/src/Ombi/ClientApp/src/app/requests/tvrequests.component.ts
@@ -1,226 +1,226 @@
-import { PlatformLocation, APP_BASE_HREF } from "@angular/common";
-import { Component, Input, OnInit, Inject } from "@angular/core";
-import { DomSanitizer } from "@angular/platform-browser";
-import { Subject } from "rxjs";
-import { debounceTime, distinctUntilChanged } from "rxjs/operators";
+// import { PlatformLocation, APP_BASE_HREF } from "@angular/common";
+// import { Component, Input, OnInit, Inject } from "@angular/core";
+// import { DomSanitizer } from "@angular/platform-browser";
+// import { Subject } from "rxjs";
+// import { debounceTime, distinctUntilChanged } from "rxjs/operators";
-import { AuthService } from "../auth/auth.service";
-import { FilterType, IIssueCategory, IPagenator, IRequestsViewModel, ISonarrProfile, ISonarrRootFolder, ITvRequests, OrderType } from "../interfaces";
-import { NotificationService, RequestService, SonarrService } from "../services";
-import { ImageService } from "../services/image.service";
+// import { AuthService } from "../auth/auth.service";
+// import { FilterType, IIssueCategory, IPagenator, IRequestsViewModel, ISonarrProfile, ISonarrRootFolder, ITvRequests, OrderType } from "../interfaces";
+// import { NotificationService, RequestService, SonarrService } from "../services";
+// import { ImageService } from "../services/image.service";
-@Component({
- selector: "tv-requests",
- templateUrl: "./tvrequests.component.html",
- styleUrls: ["./tvrequests.component.scss"],
-})
-export class TvRequestsComponent implements OnInit {
+// @Component({
+// selector: "tv-requests",
+// templateUrl: "./tvrequests.component.html",
+// styleUrls: ["./tvrequests.component.scss"],
+// })
+// export class TvRequestsComponent implements OnInit {
- public tvRequests: IRequestsViewModel
;
- public searchChanged = new Subject();
- public searchText: string;
- public isAdmin: boolean;
- public currentUser: string;
- public showChildDialogue = false; // This is for the child modal popup
- public selectedSeason: ITvRequests;
- public defaultPoster: string;
+// public tvRequests: IRequestsViewModel;
+// public searchChanged = new Subject();
+// public searchText: string;
+// public isAdmin: boolean;
+// public currentUser: string;
+// public showChildDialogue = false; // This is for the child modal popup
+// public selectedSeason: ITvRequests;
+// public defaultPoster: string;
- @Input() public issueCategories: IIssueCategory[];
- @Input() public issuesEnabled: boolean;
- public issueProviderId: string;
- public issuesBarVisible = false;
- public issueRequest: ITvRequests;
- public issueCategorySelected: IIssueCategory;
+// @Input() public issueCategories: IIssueCategory[];
+// @Input() public issuesEnabled: boolean;
+// public issueProviderId: string;
+// public issuesBarVisible = false;
+// public issueRequest: ITvRequests;
+// public issueCategorySelected: IIssueCategory;
- public sonarrProfiles: ISonarrProfile[] = [];
- public sonarrRootFolders: ISonarrRootFolder[] = [];
+// public sonarrProfiles: ISonarrProfile[] = [];
+// public sonarrRootFolders: ISonarrRootFolder[] = [];
- public totalTv: number = 100;
- private currentlyLoaded: number;
- private amountToLoad: number;
- private href: string;
+// public totalTv: number = 100;
+// private currentlyLoaded: number;
+// private amountToLoad: number;
+// private href: string;
- constructor(
- private requestService: RequestService,
- private auth: AuthService,
- private sanitizer: DomSanitizer,
- private imageService: ImageService,
- private sonarrService: SonarrService,
- private notificationService: NotificationService,
- @Inject(APP_BASE_HREF) href:string) {
- this.href= href;
- this.isAdmin = this.auth.hasRole("admin") || this.auth.hasRole("poweruser");
- this.currentUser = this.auth.claims().name;
- if (this.isAdmin) {
- this.sonarrService.getQualityProfilesWithoutSettings()
- .subscribe(x => this.sonarrProfiles = x);
+// constructor(
+// private requestService: RequestService,
+// private auth: AuthService,
+// private sanitizer: DomSanitizer,
+// private imageService: ImageService,
+// private sonarrService: SonarrService,
+// private notificationService: NotificationService,
+// @Inject(APP_BASE_HREF) href:string) {
+// this.href= href;
+// this.isAdmin = this.auth.hasRole("admin") || this.auth.hasRole("poweruser");
+// this.currentUser = this.auth.claims().name;
+// if (this.isAdmin) {
+// this.sonarrService.getQualityProfilesWithoutSettings()
+// .subscribe(x => this.sonarrProfiles = x);
- this.sonarrService.getRootFoldersWithoutSettings()
- .subscribe(x => this.sonarrRootFolders = x);
- }
- }
+// this.sonarrService.getRootFoldersWithoutSettings()
+// .subscribe(x => this.sonarrRootFolders = x);
+// }
+// }
- public openClosestTab(node: ITvRequests,el: any) {
- el.preventDefault();
- node.open = !node.open;
- }
+// public openClosestTab(node: ITvRequests,el: any) {
+// el.preventDefault();
+// node.open = !node.open;
+// }
- public ngOnInit() {
- this.amountToLoad = 10;
- this.currentlyLoaded = 10;
- this.tvRequests = {collection:[], total:0};
+// public ngOnInit() {
+// this.amountToLoad = 10;
+// this.currentlyLoaded = 10;
+// this.tvRequests = {collection:[], total:0};
- this.searchChanged.pipe(
- debounceTime(600), // Wait Xms after the last event before emitting last event
- distinctUntilChanged(), // only emit if value is different from previous value
- ).subscribe(x => {
- this.searchText = x as string;
- if (this.searchText === "") {
- this.resetSearch();
- return;
- }
- this.requestService.searchTvRequests(this.searchText)
- .subscribe(m => {
- this.tvRequests.collection = m;
- this.tvRequests.collection.forEach((val) => this.loadBackdrop(val));
- this.tvRequests.collection.forEach((val) => this.setOverride(val));
- });
- });
- this.defaultPoster = "../../../images/default_tv_poster.png";
- const base = this.href;
- if (base) {
- this.defaultPoster = "../../.." + base + "/images/default_tv_poster.png";
- }
+// this.searchChanged.pipe(
+// debounceTime(600), // Wait Xms after the last event before emitting last event
+// distinctUntilChanged(), // only emit if value is different from previous value
+// ).subscribe(x => {
+// this.searchText = x as string;
+// if (this.searchText === "") {
+// this.resetSearch();
+// return;
+// }
+// this.requestService.searchTvRequests(this.searchText)
+// .subscribe(m => {
+// this.tvRequests.collection = m;
+// this.tvRequests.collection.forEach((val) => this.loadBackdrop(val));
+// this.tvRequests.collection.forEach((val) => this.setOverride(val));
+// });
+// });
+// this.defaultPoster = "../../../images/default_tv_poster.png";
+// const base = this.href;
+// if (base) {
+// this.defaultPoster = "../../.." + base + "/images/default_tv_poster.png";
+// }
- this.loadInit();
- }
+// this.loadInit();
+// }
- public paginate(event: IPagenator) {
- const skipAmount = event.first;
+// public paginate(event: IPagenator) {
+// const skipAmount = event.first;
- this.requestService.getTvRequests(this.amountToLoad, skipAmount, OrderType.RequestedDateDesc, FilterType.None, FilterType.None)
- .subscribe(x => {
- this.tvRequests = x;
- this.currentlyLoaded = this.currentlyLoaded + this.amountToLoad;
- });
- }
+// this.requestService.getTvRequests(this.amountToLoad, skipAmount, OrderType.RequestedDateDesc, FilterType.None, FilterType.None)
+// .subscribe(x => {
+// this.tvRequests = x;
+// this.currentlyLoaded = this.currentlyLoaded + this.amountToLoad;
+// });
+// }
- public search(text: any) {
- this.searchChanged.next(text.target.value);
- }
+// public search(text: any) {
+// this.searchChanged.next(text.target.value);
+// }
- public showChildren(request: ITvRequests) {
- this.selectedSeason = request;
- this.showChildDialogue = true;
- }
+// public showChildren(request: ITvRequests) {
+// this.selectedSeason = request;
+// this.showChildDialogue = true;
+// }
- public childRequestDeleted(childId: number): void {
- // Refresh the UI, hackly way around reloading the data
- this.ngOnInit();
- }
+// public childRequestDeleted(childId: number): void {
+// // Refresh the UI, hackly way around reloading the data
+// this.ngOnInit();
+// }
- public selectRootFolder(searchResult: ITvRequests, rootFolderSelected: ISonarrRootFolder, event: any) {
- event.preventDefault();
- searchResult.rootFolder = rootFolderSelected.id;
- this.setOverride(searchResult);
- this.setRootFolder(searchResult);
- }
+// public selectRootFolder(searchResult: ITvRequests, rootFolderSelected: ISonarrRootFolder, event: any) {
+// event.preventDefault();
+// searchResult.rootFolder = rootFolderSelected.id;
+// this.setOverride(searchResult);
+// this.setRootFolder(searchResult);
+// }
- public selectQualityProfile(searchResult: ITvRequests, profileSelected: ISonarrProfile, event: any) {
- event.preventDefault();
- searchResult.qualityOverride = profileSelected.id;
- this.setOverride(searchResult);
- this.setQualityProfile(searchResult);
- }
+// public selectQualityProfile(searchResult: ITvRequests, profileSelected: ISonarrProfile, event: any) {
+// event.preventDefault();
+// searchResult.qualityOverride = profileSelected.id;
+// this.setOverride(searchResult);
+// this.setQualityProfile(searchResult);
+// }
- public reportIssue(catId: IIssueCategory, req: ITvRequests) {
- this.issueRequest = req;
- this.issueCategorySelected = catId;
- this.issuesBarVisible = true;
- this.issueProviderId = req.id.toString();
- }
+// public reportIssue(catId: IIssueCategory, req: ITvRequests) {
+// this.issueRequest = req;
+// this.issueCategorySelected = catId;
+// this.issuesBarVisible = true;
+// this.issueProviderId = req.id.toString();
+// }
- private setOverride(req: ITvRequests): void {
- this.setQualityOverrides(req);
- this.setRootFolderOverrides(req);
- }
+// private setOverride(req: ITvRequests): void {
+// this.setQualityOverrides(req);
+// this.setRootFolderOverrides(req);
+// }
- private setQualityProfile(req: ITvRequests) {
- this.requestService.setQualityProfile(req.id, req.qualityOverride).subscribe(x => {
- if(x) {
- this.notificationService.success("Quality profile updated");
- } else {
- this.notificationService.error("Could not update the quality profile");
- }
- });
- }
+// private setQualityProfile(req: ITvRequests) {
+// this.requestService.setQualityProfile(req.id, req.qualityOverride).subscribe(x => {
+// if(x) {
+// this.notificationService.success("Quality profile updated");
+// } else {
+// this.notificationService.error("Could not update the quality profile");
+// }
+// });
+// }
- private setRootFolder(req: ITvRequests) {
- this.requestService.setRootFolder(req.id, req.rootFolder).subscribe(x => {
- if(x) {
- this.notificationService.success("Quality profile updated");
- } else {
- this.notificationService.error("Could not update the quality profile");
- }
- });
- }
+// private setRootFolder(req: ITvRequests) {
+// this.requestService.setRootFolder(req.id, req.rootFolder).subscribe(x => {
+// if(x) {
+// this.notificationService.success("Quality profile updated");
+// } else {
+// this.notificationService.error("Could not update the quality profile");
+// }
+// });
+// }
- private setQualityOverrides(req: ITvRequests): void {
- if (this.sonarrProfiles) {
- const profile = this.sonarrProfiles.filter((p) => {
- return p.id === req.qualityOverride;
- });
- if (profile.length > 0) {
- req.qualityOverrideTitle = profile[0].name;
- }
- }
- }
- private setRootFolderOverrides(req: ITvRequests): void {
- if (this.sonarrRootFolders) {
- const path = this.sonarrRootFolders.filter((folder) => {
- return folder.id === req.rootFolder;
- });
- if (path.length > 0) {
- req.rootPathOverrideTitle = path[0].path;
- }
- }
- }
+// private setQualityOverrides(req: ITvRequests): void {
+// if (this.sonarrProfiles) {
+// const profile = this.sonarrProfiles.filter((p) => {
+// return p.id === req.qualityOverride;
+// });
+// if (profile.length > 0) {
+// req.qualityOverrideTitle = profile[0].name;
+// }
+// }
+// }
+// private setRootFolderOverrides(req: ITvRequests): void {
+// if (this.sonarrRootFolders) {
+// const path = this.sonarrRootFolders.filter((folder) => {
+// return folder.id === req.rootFolder;
+// });
+// if (path.length > 0) {
+// req.rootPathOverrideTitle = path[0].path;
+// }
+// }
+// }
- private loadInit() {
- this.requestService.getTotalTv().subscribe(x => this.totalTv = x);
- this.requestService.getTvRequests(this.amountToLoad, 0, OrderType.RequestedDateDesc, FilterType.None, FilterType.None)
- .subscribe(x => {
- this.tvRequests = x;
- this.tvRequests.collection.forEach((val, index) => {
- this.setDefaults(val);
- this.loadBackdrop(val);
- this.setOverride(val);
- });
- });
- }
+// private loadInit() {
+// this.requestService.getTotalTv().subscribe(x => this.totalTv = x);
+// this.requestService.getTvRequests(this.amountToLoad, 0, OrderType.RequestedDateDesc, FilterType.None, FilterType.None)
+// .subscribe(x => {
+// this.tvRequests = x;
+// this.tvRequests.collection.forEach((val, index) => {
+// this.setDefaults(val);
+// this.loadBackdrop(val);
+// this.setOverride(val);
+// });
+// });
+// }
- private resetSearch() {
- this.currentlyLoaded = 5;
- this.loadInit();
- }
+// private resetSearch() {
+// this.currentlyLoaded = 5;
+// this.loadInit();
+// }
- private setDefaults(val: ITvRequests) {
- if (val.posterPath === null) {
- val.posterPath = this.defaultPoster;
- }
- }
+// private setDefaults(val: ITvRequests) {
+// if (val.posterPath === null) {
+// val.posterPath = this.defaultPoster;
+// }
+// }
- private loadBackdrop(val: ITvRequests): void {
- if (val.background != null) {
- val.background = this.sanitizer.bypassSecurityTrustStyle
- ("url(https://image.tmdb.org/t/p/w1280" + val.background + ")");
- } else {
- this.imageService.getTvBanner(val.tvDbId).subscribe(x => {
- if (x) {
- val.background = this.sanitizer.bypassSecurityTrustStyle
- ("url(" + x + ")");
- }
- });
- }
- }
-}
+// private loadBackdrop(val: ITvRequests): void {
+// if (val.background != null) {
+// val.background = this.sanitizer.bypassSecurityTrustStyle
+// ("url(https://image.tmdb.org/t/p/w1280" + val.background + ")");
+// } else {
+// this.imageService.getTvBanner(val.tvDbId).subscribe(x => {
+// if (x) {
+// val.background = this.sanitizer.bypassSecurityTrustStyle
+// ("url(" + x + ")");
+// }
+// });
+// }
+// }
+// }
diff --git a/src/Ombi/ClientApp/src/app/search/search.module.ts b/src/Ombi/ClientApp/src/app/search/search.module.ts
index 6490076af..d0a3f0e78 100644
--- a/src/Ombi/ClientApp/src/app/search/search.module.ts
+++ b/src/Ombi/ClientApp/src/app/search/search.module.ts
@@ -3,7 +3,6 @@ import { NgModule } from "@angular/core";
import { FormsModule } from "@angular/forms";
import { RouterModule, Routes } from "@angular/router";
-import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
import { MovieSearchComponent } from "./moviesearch.component";
import { MovieSearchGridComponent } from "./moviesearchgrid.component";
@@ -16,8 +15,6 @@ import { TvSearchComponent } from "./tvsearch.component";
import { CardsFreeModule } from "angular-bootstrap-md";
-import { SidebarModule, TooltipModule, TreeTableModule } from "primeng/primeng";
-
import { RequestService } from "../services";
import { SearchService } from "../services";
@@ -35,7 +32,6 @@ const routes: Routes = [
CommonModule,
FormsModule,
RouterModule.forChild(routes),
- NgbModule.forRoot(),
TreeTableModule,
SharedModule,
SidebarModule,
diff --git a/src/Ombi/ClientApp/src/app/services/message.service.ts b/src/Ombi/ClientApp/src/app/services/message.service.ts
index 0886e6b78..1c4e6eded 100644
--- a/src/Ombi/ClientApp/src/app/services/message.service.ts
+++ b/src/Ombi/ClientApp/src/app/services/message.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from "@angular/core";
-import { MatSnackBar, MatSnackBarConfig } from "@angular/material";
+import { MatSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar";
@Injectable()
export class MessageService {
diff --git a/src/Ombi/ClientApp/src/app/services/notification.service.ts b/src/Ombi/ClientApp/src/app/services/notification.service.ts
index 95a0a1f81..d72440610 100644
--- a/src/Ombi/ClientApp/src/app/services/notification.service.ts
+++ b/src/Ombi/ClientApp/src/app/services/notification.service.ts
@@ -1,6 +1,5 @@
import { Injectable } from "@angular/core";
-import { Message } from "primeng/components/common/api";
-import { MatSnackBar, MatSnackBarConfig } from "@angular/material";
+import { MatSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar";
@Injectable()
export class NotificationService {
@@ -10,12 +9,6 @@ export class NotificationService {
duration:3000,
}
- public messages: Message[] = [];
- public addMessage(message: Message) {
- this.clearMessages();
- this.messages.push(message);
- this.messages = JSON.parse(JSON.stringify(this.messages)); // NOTE: THIS IS A HACK AROUND A BUG https://github.com/primefaces/primeng/issues/2943
- }
public success(body: string) {
this.snackbar.open(body, "OK", this.config);
@@ -32,8 +25,4 @@ export class NotificationService {
public error(body: string) {
this.snackbar.open(body, "OK", this.config);
}
-
- public clearMessages() {
- this.messages = [];
- }
}
diff --git a/src/Ombi/ClientApp/src/app/services/request.service.ts b/src/Ombi/ClientApp/src/app/services/request.service.ts
index 134f59544..8ac15e4f6 100644
--- a/src/Ombi/ClientApp/src/app/services/request.service.ts
+++ b/src/Ombi/ClientApp/src/app/services/request.service.ts
@@ -4,7 +4,7 @@ import { Injectable, Inject } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs";
-import { TreeNode } from "primeng/primeng";
+import { UITreeNode } from "primeng/tree";
import { FilterType, IAlbumRequest, IAlbumRequestModel, IAlbumUpdateModel, IChildRequests, IDenyAlbumModel, IDenyMovieModel, IFilter,
IMovieRequestModel, IMovieRequests, IMovieUpdateModel, IRequestEngineResult, IRequestsViewModel, ITvDenyModel, ITvRequests, ITvUpdateModel, OrderType } from "../interfaces";
import { ITvRequestViewModel } from "../interfaces";
@@ -90,8 +90,8 @@ export class RequestService extends ServiceHelpers {
return this.http.get>(`${this.url}tv/${count}/${position}/${order}/${status}/${availability}`, {headers: this.headers});
}
- public getTvRequestsTree(count: number, position: number): Observable {
- return this.http.get(`${this.url}tv/${count}/${position}/tree`, {headers: this.headers});
+ public getTvRequestsTree(count: number, position: number): Observable {
+ return this.http.get(`${this.url}tv/${count}/${position}/tree`, {headers: this.headers});
}
public getChildRequests(requestId: number): Observable {
@@ -102,8 +102,8 @@ export class RequestService extends ServiceHelpers {
return this.http.get(`${this.url}tv/search/${search}`, {headers: this.headers});
}
- public searchTvRequestsTree(search: string): Observable {
- return this.http.get(`${this.url}tv/search/${search}/tree`, {headers: this.headers});
+ public searchTvRequestsTree(search: string): Observable {
+ return this.http.get(`${this.url}tv/search/${search}/tree`, {headers: this.headers});
}
public removeTvRequest(requestId: number) {
diff --git a/src/Ombi/ClientApp/src/app/services/search.service.ts b/src/Ombi/ClientApp/src/app/services/search.service.ts
index 3b4da673a..0adfed3ad 100644
--- a/src/Ombi/ClientApp/src/app/services/search.service.ts
+++ b/src/Ombi/ClientApp/src/app/services/search.service.ts
@@ -4,7 +4,7 @@ import { Injectable, Inject } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs";
-import { TreeNode } from "primeng/primeng";
+import { UITreeNode } from "primeng/tree";
import { ISearchMovieResult } from "../interfaces";
import { ISearchTvResult } from "../interfaces";
import { ISearchAlbumResult, ISearchArtistResult } from "../interfaces/ISearchMusicResult";
@@ -58,12 +58,12 @@ export class SearchService extends ServiceHelpers {
return this.http.get(`${this.url}/Tv/${searchTerm}`, { headers: this.headers });
}
- public searchTvTreeNode(searchTerm: string): Observable {
- return this.http.get(`${this.url}/Tv/${searchTerm}/tree`, { headers: this.headers });
+ public searchTvTreeNode(searchTerm: string): Observable {
+ return this.http.get(`${this.url}/Tv/${searchTerm}/tree`, { headers: this.headers });
}
- public getShowInformationTreeNode(theTvDbId: number): Observable {
- return this.http.get(`${this.url}/Tv/info/${theTvDbId}/Tree`, { headers: this.headers });
+ public getShowInformationTreeNode(theTvDbId: number): Observable {
+ return this.http.get(`${this.url}/Tv/info/${theTvDbId}/Tree`, { headers: this.headers });
}
public getShowInformation(theTvDbId: number): Observable {
diff --git a/src/Ombi/ClientApp/src/app/settings/emby/emby.component.ts b/src/Ombi/ClientApp/src/app/settings/emby/emby.component.ts
index 858f3846c..52595d1d3 100644
--- a/src/Ombi/ClientApp/src/app/settings/emby/emby.component.ts
+++ b/src/Ombi/ClientApp/src/app/settings/emby/emby.component.ts
@@ -2,7 +2,7 @@
import { IEmbyServer, IEmbySettings } from "../../interfaces";
import { EmbyService, JobService, NotificationService, SettingsService, TesterService } from "../../services";
-import { MatTabChangeEvent, MatTabGroup } from "@angular/material";
+import { MatTabChangeEvent, MatTabGroup } from "@angular/material/tabs";
import {FormControl} from '@angular/forms';
@Component({
diff --git a/src/Ombi/ClientApp/src/app/settings/notifications/cloudmobile.coponent.ts b/src/Ombi/ClientApp/src/app/settings/notifications/cloudmobile.coponent.ts
index c10ab97b6..e78860e09 100644
--- a/src/Ombi/ClientApp/src/app/settings/notifications/cloudmobile.coponent.ts
+++ b/src/Ombi/ClientApp/src/app/settings/notifications/cloudmobile.coponent.ts
@@ -7,7 +7,7 @@ import { NotificationService } from "../../services";
import { MobileService, SettingsService } from "../../services";
import { CloudMobileService } from "../../services/cloudmobile.service";
import { SelectionModel } from "@angular/cdk/collections";
-import { MatTableDataSource } from "@angular/material";
+import { MatTableDataSource } from "@angular/material/table";
@Component({
templateUrl: "./cloudmobile.component.html",
diff --git a/src/Ombi/ClientApp/src/app/settings/plex/plex.component.ts b/src/Ombi/ClientApp/src/app/settings/plex/plex.component.ts
index cacdd76c8..7509fb45a 100644
--- a/src/Ombi/ClientApp/src/app/settings/plex/plex.component.ts
+++ b/src/Ombi/ClientApp/src/app/settings/plex/plex.component.ts
@@ -4,7 +4,7 @@ import { takeUntil } from "rxjs/operators";
import { IPlexLibrariesSettings, IPlexServer, IPlexServerResponse, IPlexServerViewModel, IPlexSettings } from "../../interfaces";
import { JobService, NotificationService, PlexService, SettingsService, TesterService } from "../../services";
-import { MatTabChangeEvent, MatTabGroup } from "@angular/material";
+import { MatTabChangeEvent, MatTabGroup } from "@angular/material/tabs";
import {FormControl} from '@angular/forms';
@Component({
diff --git a/src/Ombi/ClientApp/src/app/settings/settings.module.ts b/src/Ombi/ClientApp/src/app/settings/settings.module.ts
index daef3edf7..58ceb9c64 100644
--- a/src/Ombi/ClientApp/src/app/settings/settings.module.ts
+++ b/src/Ombi/ClientApp/src/app/settings/settings.module.ts
@@ -2,7 +2,6 @@ import { CommonModule } from "@angular/common";
import { NgModule } from "@angular/core";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { RouterModule, Routes } from "@angular/router";
-import { NgbAccordionModule, NgbModule } from "@ng-bootstrap/ng-bootstrap";
// import { TagInputModule } from "ngx-chips";
import { ClipboardModule } from "ngx-clipboard";
@@ -51,8 +50,16 @@ import { WikiComponent } from "./wiki.component";
import { SettingsMenuComponent } from "./settingsmenu.component";
-import { AutoCompleteModule, CalendarModule, DialogModule, InputSwitchModule, InputTextModule, MenuModule, RadioButtonModule, TooltipModule } from "primeng/primeng";
-import { MatMenuModule} from "@angular/material";
+import {AutoCompleteModule } from "primeng/autocomplete";
+import {CalendarModule } from "primeng/calendar";
+import {InputSwitchModule } from "primeng/inputswitch";
+import {InputTextModule } from "primeng/inputtext";
+import {DialogModule } from "primeng/dialog";
+import {MenuModule } from "primeng/menu";
+import {RadioButtonModule } from "primeng/radiobutton";
+import {TooltipModule } from "primeng/tooltip";
+
+import { MatMenuModule } from "@angular/material/menu";
import { SharedModule } from "../shared/shared.module";
import { HubService } from "../services/hub.service";
import { LogsComponent } from "./logs/logs.component";
@@ -108,9 +115,7 @@ const routes: Routes = [
MenuModule,
InputSwitchModule,
InputTextModule,
- NgbModule,
TooltipModule,
- NgbAccordionModule,
AutoCompleteModule,
CalendarModule,
// TagInputModule,
diff --git a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts
index c4ecb45fd..2f311b172 100644
--- a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts
+++ b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.ts
@@ -1,5 +1,6 @@
import { Component, OnInit, Inject } from "@angular/core";
-import { MatDialogRef, MAT_DIALOG_DATA, MatCheckboxChange } from "@angular/material";
+import { MatCheckboxChange } from "@angular/material/checkbox";
+import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
import { ISearchTvResultV2 } from "../../interfaces/ISearchTvResultV2";
import { RequestService, MessageService } from "../../services";
import { ITvRequestViewModel, ISeasonsViewModel, IEpisodesRequests, INewSeasonRequests } from "../../interfaces";
diff --git a/src/Ombi/ClientApp/src/app/shared/shared.module.ts b/src/Ombi/ClientApp/src/app/shared/shared.module.ts
index 5791000cf..30c7f4df8 100644
--- a/src/Ombi/ClientApp/src/app/shared/shared.module.ts
+++ b/src/Ombi/ClientApp/src/app/shared/shared.module.ts
@@ -7,13 +7,33 @@ import { MomentModule } from "ngx-moment";
import { IssuesReportComponent } from "./issues-report.component";
-import { InputSwitchModule, SidebarModule } from "primeng/primeng";
+import { SidebarModule } from "primeng/sidebar";
+import { InputSwitchModule } from "primeng/inputswitch";
-import {
- MatButtonModule, MatNativeDateModule, MatIconModule, MatSidenavModule, MatListModule, MatToolbarModule, MatTooltipModule, MatSelectModule, MatTableModule, MatPaginatorModule, MatSortModule,
- MatTreeModule, MatStepperModule, MatSnackBarModule} from '@angular/material';
- import { MatCardModule, MatInputModule, MatTabsModule, MatAutocompleteModule, MatCheckboxModule, MatExpansionModule, MatDialogModule, MatProgressSpinnerModule,
- MatChipsModule, MatSlideToggleModule } from "@angular/material";
+import { MatButtonModule } from '@angular/material/button';
+import { MatNativeDateModule } from '@angular/material/core';
+import { MatIconModule } from '@angular/material/icon';
+import { MatListModule } from '@angular/material/list';
+import { MatPaginatorModule } from '@angular/material/paginator';
+import { MatSelectModule } from '@angular/material/select';
+import { MatSidenavModule } from '@angular/material/sidenav';
+import { MatSnackBarModule } from '@angular/material/snack-bar';
+import { MatSortModule } from '@angular/material/sort';
+import { MatStepperModule } from '@angular/material/stepper';
+import { MatTableModule } from '@angular/material/table';
+import { MatToolbarModule } from '@angular/material/toolbar';
+import { MatTooltipModule } from '@angular/material/tooltip';
+import { MatTreeModule } from '@angular/material/tree';
+ import { MatAutocompleteModule } from "@angular/material/autocomplete";
+import { MatCardModule } from "@angular/material/card";
+import { MatCheckboxModule } from "@angular/material/checkbox";
+import { MatChipsModule } from "@angular/material/chips";
+import { MatDialogModule } from "@angular/material/dialog";
+import { MatExpansionModule } from "@angular/material/expansion";
+import { MatInputModule } from "@angular/material/input";
+import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
+import { MatSlideToggleModule } from "@angular/material/slide-toggle";
+import { MatTabsModule } from "@angular/material/tabs";
import { EpisodeRequestComponent } from "./episode-request/episode-request.component";
@NgModule({
diff --git a/src/Ombi/ClientApp/src/app/user-preferences/user-preferences.module.ts b/src/Ombi/ClientApp/src/app/user-preferences/user-preferences.module.ts
index c31d14a25..c5a1dec67 100644
--- a/src/Ombi/ClientApp/src/app/user-preferences/user-preferences.module.ts
+++ b/src/Ombi/ClientApp/src/app/user-preferences/user-preferences.module.ts
@@ -1,7 +1,7 @@
import { NgModule } from "@angular/core";
import { RouterModule } from "@angular/router"
-import { MatCheckboxModule } from '@angular/material';
+import { MatCheckboxModule } from '@angular/material/checkbox';
import { SharedModule } from "../shared/shared.module";
import { QRCodeModule } from 'angularx-qrcode';
diff --git a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement-user.component.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement-user.component.ts
index d467f02b7..ffb02db17 100644
--- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement-user.component.ts
+++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement-user.component.ts
@@ -4,8 +4,6 @@ import { ActivatedRoute, Router } from "@angular/router";
import { ICheckbox, INotificationAgent, INotificationPreferences, IRadarrProfile, IRadarrRootFolder, ISonarrProfile, ISonarrRootFolder, IUser, UserType } from "../interfaces";
import { IdentityService, NotificationService, RadarrService, SonarrService, MessageService } from "../services";
-import { ConfirmationService } from "primeng/primeng";
-
@Component({
templateUrl: "./usermanagement-user.component.html",
styleUrls: ["./usermanagement-user.component.scss"],
@@ -30,7 +28,6 @@ export class UserManagementUserComponent implements OnInit {
private notificationService: MessageService,
private router: Router,
private route: ActivatedRoute,
- private confirmationService: ConfirmationService,
private sonarrService: SonarrService,
private radarrService: RadarrService) {
@@ -120,28 +117,28 @@ export class UserManagementUserComponent implements OnInit {
}
public delete() {
+ // TODO
+ // this.confirmationService.confirm({
+ // message: "Are you sure that you want to delete this user? If this user has any requests they will also be deleted.",
+ // header: "Are you sure?",
+ // icon: "fa fa-trash",
+ // accept: () => {
+ // this.identityService.deleteUser(this.user).subscribe(x => {
+ // if (x.successful) {
+ // this.notificationService.send(`The user ${this.user.userName} was deleted`);
+ // this.router.navigate(["usermanagement"]);
+ // } else {
+ // x.errors.forEach((val) => {
+ // this.notificationService.send(val);
+ // });
+ // }
- this.confirmationService.confirm({
- message: "Are you sure that you want to delete this user? If this user has any requests they will also be deleted.",
- header: "Are you sure?",
- icon: "fa fa-trash",
- accept: () => {
- this.identityService.deleteUser(this.user).subscribe(x => {
- if (x.successful) {
- this.notificationService.send(`The user ${this.user.userName} was deleted`);
- this.router.navigate(["usermanagement"]);
- } else {
- x.errors.forEach((val) => {
- this.notificationService.send(val);
- });
- }
-
- });
- },
- reject: () => {
- return;
- },
- });
+ // });
+ // },
+ // reject: () => {
+ // return;
+ // },
+ // });
}
public resetPassword() {
diff --git a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts
index 2de5aa31b..2edcc0732 100644
--- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts
+++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts
@@ -2,7 +2,8 @@
import { ICheckbox, ICustomizationSettings, IEmailNotificationSettings, IUser } from "../interfaces";
import { IdentityService, NotificationService, SettingsService } from "../services";
-import { MatSort, MatTableDataSource } from "@angular/material";
+import { MatSort } from "@angular/material/sort";
+import { MatTableDataSource } from "@angular/material/table";
import { SelectionModel } from "@angular/cdk/collections";
@Component({
@@ -16,7 +17,7 @@ export class UserManagementComponent implements OnInit {
public dataSource: MatTableDataSource;
public selection = new SelectionModel(true, []);
- @ViewChild(MatSort, {static: false}) public sort: MatSort;
+ @ViewChild(MatSort) public sort: MatSort;
public users: IUser[];
public checkAll = false;
public emailSettings: IEmailNotificationSettings;
diff --git a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts
index 166f42673..3ac5aed21 100644
--- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts
+++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts
@@ -2,9 +2,11 @@
import { NgModule } from "@angular/core";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { RouterModule, Routes } from "@angular/router";
-import { ConfirmationService, ConfirmDialogModule, MultiSelectModule, SidebarModule, TooltipModule } from "primeng/primeng";
+import { ConfirmDialogModule } from "primeng/confirmdialog";
+import { MultiSelectModule } from "primeng/multiselect";
+import { SidebarModule } from "primeng/sidebar";
+import { TooltipModule } from "primeng/tooltip";
-import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
import { UpdateDetailsComponent } from "./updatedetails.component";
import { UserManagementUserComponent } from "./usermanagement-user.component";
@@ -32,7 +34,6 @@ const routes: Routes = [
FormsModule,
ReactiveFormsModule,
RouterModule.forChild(routes),
- NgbModule.forRoot(),
MultiSelectModule,
PipeModule,
ConfirmDialogModule,
@@ -51,7 +52,6 @@ const routes: Routes = [
],
providers: [
IdentityService,
- ConfirmationService,
PlexService,
RadarrService,
SonarrService,
diff --git a/src/Ombi/ClientApp/src/app/vote/vote.component.ts b/src/Ombi/ClientApp/src/app/vote/vote.component.ts
index 44abb8774..989165d4e 100644
--- a/src/Ombi/ClientApp/src/app/vote/vote.component.ts
+++ b/src/Ombi/ClientApp/src/app/vote/vote.component.ts
@@ -1,6 +1,6 @@
import { Component, OnInit, ViewChild } from "@angular/core";
-import { OverlayPanel } from "primeng/primeng";
+import { OverlayPanel } from "primeng/overlaypanel";
import { NotificationService, VoteService } from "../services";
import { IVoteEngineResult, IVoteViewModel, RequestTypes, VoteType } from "../interfaces";
@@ -18,7 +18,7 @@ export class VoteComponent implements OnInit {
public completedVotes: IVoteViewModel[];
public VoteType = VoteType;
public panelImage: string;
- @ViewChild("op", {static: false}) public overlayPanel: OverlayPanel;
+ @ViewChild("op") public overlayPanel: OverlayPanel;
constructor(private voteService: VoteService, private notificationSerivce: NotificationService) { }
diff --git a/src/Ombi/ClientApp/src/app/vote/vote.module.ts b/src/Ombi/ClientApp/src/app/vote/vote.module.ts
index ee7532da5..30727b41a 100644
--- a/src/Ombi/ClientApp/src/app/vote/vote.module.ts
+++ b/src/Ombi/ClientApp/src/app/vote/vote.module.ts
@@ -1,9 +1,9 @@
import { NgModule } from "@angular/core";
import { RouterModule, Routes } from "@angular/router";
-import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
import { OrderModule } from "ngx-order-pipe";
-import { OverlayPanelModule, SharedModule, TabViewModule } from "primeng/primeng";
+import { OverlayPanelModule } from "primeng/overlaypanel";
+import { TabViewModule } from "primeng/tabview";
import { VoteService } from "../services";
@@ -20,8 +20,6 @@ const routes: Routes = [
@NgModule({
imports: [
RouterModule.forChild(routes),
- NgbModule.forRoot(),
- SharedModule,
OrderModule,
OmbiShared,
TabViewModule,
diff --git a/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts b/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts
index 7efdbe504..5438e8e9c 100644
--- a/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts
+++ b/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts
@@ -3,8 +3,7 @@ import { NgModule } from "@angular/core";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { RouterModule, Routes } from "@angular/router";
-import {ConfirmationService, ConfirmDialogModule } from "primeng/primeng";
-import { MatStepperModule } from "@angular/material";
+import { MatStepperModule } from "@angular/material/stepper";
import { CreateAdminComponent } from "./createadmin/createadmin.component";
import { EmbyComponent } from "./emby/emby.component";
@@ -31,7 +30,6 @@ const routes: Routes = [
CommonModule,
FormsModule,
ReactiveFormsModule,
- ConfirmDialogModule,
SharedModule,
MatStepperModule,
RouterModule.forChild(routes),
@@ -50,7 +48,6 @@ const routes: Routes = [
PlexService,
IdentityService,
EmbyService,
- ConfirmationService,
PlexOAuthService,
],
diff --git a/src/Ombi/ClientApp/src/index.html b/src/Ombi/ClientApp/src/index.html
index 51e695aa5..30a3a0854 100644
--- a/src/Ombi/ClientApp/src/index.html
+++ b/src/Ombi/ClientApp/src/index.html
@@ -53,9 +53,10 @@
Ombi
+
-
+