From 167d2854cb6ff82987e8ee2c03abcfb6485e4ed3 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Sat, 16 May 2020 22:35:05 +0100 Subject: [PATCH 01/17] removed unsued deps --- src/Ombi/ClientApp/angular.json | 209 +++++++++++++++----------------- src/Ombi/ClientApp/package.json | 162 ++++++++++++------------- 2 files changed, 178 insertions(+), 193 deletions(-) diff --git a/src/Ombi/ClientApp/angular.json b/src/Ombi/ClientApp/angular.json index d7801204f..673e36ed6 100644 --- a/src/Ombi/ClientApp/angular.json +++ b/src/Ombi/ClientApp/angular.json @@ -1,113 +1,106 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "ombi": { - "root": "", - "sourceRoot": "src", - "projectType": "application", - "prefix": "app", - "schematics": {}, - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "progress": true, - "extractCss": true, - "outputPath": "dist", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "src/tsconfig.app.json", - "assets": [ - "src/assets" - ], - "styles": [ - "src/styles/_imports.scss", - "node_modules/bootstrap/scss/bootstrap.scss", - "node_modules/angular-bootstrap-md/scss/mdb-free.scss", - "node_modules/pace/themes/orange/pace-theme-flat-top.css", - "node_modules/font-awesome/scss/font-awesome.scss", - "node_modules/primeng/resources/primeng.min.css", - "node_modules/primeng/resources/themes/nova-light/theme.css", - "node_modules/primeicons/primeicons.css", - "node_modules/please-wait/src/please-wait.scss", - "node_modules/@fullcalendar/core/main.min.css", - "node_modules/spinkit/scss/spinners/11-folding-cube.scss", - "node_modules/spinkit/scss/spinkit.scss" - ], - "scripts": [ - "node_modules/jquery/dist/jquery.min.js", - "node_modules/chart.js/dist/Chart.js", - "node_modules/hammerjs/hammer.min.js", - "./node_modules/@fullcalendar/core/main.js", - "./node_modules/@fullcalendar/interaction/main.js" - ] - }, - "configurations": { - "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "ombi": { + "root": "", + "sourceRoot": "src", + "projectType": "application", + "prefix": "app", + "schematics": {}, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "progress": true, + "extractCss": true, + "outputPath": "dist", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.app.json", + "assets": [ + "src/assets" + ], + "styles": [ + "src/styles/_imports.scss", + "node_modules/bootstrap/scss/bootstrap.scss", + "node_modules/font-awesome/scss/font-awesome.scss", + "node_modules/primeng/resources/primeng.min.css", + "node_modules/primeicons/primeicons.css", + "node_modules/please-wait/src/please-wait.scss", + "node_modules/@fullcalendar/core/main.min.css", + "node_modules/spinkit/scss/spinners/11-folding-cube.scss", + "node_modules/spinkit/scss/spinkit.scss" + ], + "scripts": [ + "node_modules/jquery/dist/jquery.min.js", + "node_modules/chart.js/dist/Chart.js", + "node_modules/hammerjs/hammer.min.js", + "./node_modules/@fullcalendar/core/main.js", + "./node_modules/@fullcalendar/interaction/main.js" + ] + }, + "configurations": { + "production": { + "fileReplacements": [{ + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + }], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true + }, + "hmr": { + "fileReplacements": [{ + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.hmr.ts" + }] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "ombi:build" + }, + "configurations": { + "production": { + "browserTarget": "ombi:build:production" + }, + "hmr": { + "hmr": true, + "browserTarget": "ombi:build:hmr", + "hmrWarning": false + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "ombi:build" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "src/tsconfig.app.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "aot": true, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true - }, - "hmr": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.hmr.ts" - } - ] } - } - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "ombi:build" - }, - "configurations": { - "production": { - "browserTarget": "ombi:build:production" - }, - "hmr": { - "hmr": true, - "browserTarget": "ombi:build:hmr", - "hmrWarning": false - } - } - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "ombi:build" - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "src/tsconfig.app.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } } - } - } - }, - "defaultProject": "ombi" + }, + "defaultProject": "ombi" } \ No newline at end of file diff --git a/src/Ombi/ClientApp/package.json b/src/Ombi/ClientApp/package.json index 96bcdbd60..8c22935d0 100644 --- a/src/Ombi/ClientApp/package.json +++ b/src/Ombi/ClientApp/package.json @@ -1,86 +1,78 @@ { - "name": "ombi", - "version": "3.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve --port 3578 --configuration hmr", - "build": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod", - "lint": "ng lint" - }, - "private": true, - "dependencies": { - "@angular/animations": "^8.0.0", - "@angular/cdk": "^8.0.0", - "@angular/common": "^8.0.0", - "@angular/compiler": "^8.0.0", - "@angular/core": "^8.0.0", - "@angular/forms": "^8.0.0", - "@angular/material": "^8.0.0", - "@angular/platform-browser": "^8.0.0", - "@angular/platform-browser-dynamic": "^8.0.0", - "@angular/platform-server": "^8.0.0", - "@angular/router": "^8.0.0", - "@angularclass/hmr": "^2.1.3", - "@aspnet/signalr": "^1.1.0", - "@auth0/angular-jwt": "^2.1.0", - "@fullcalendar/core": "^4.2.0", - "@fullcalendar/interaction": "^4.2.0", - "@ng-bootstrap/ng-bootstrap": "^4.0.1", - "@ngu/carousel": "^1.4.9-beta-2", - "@ngx-translate/core": "^11.0.1", - "@ngx-translate/http-loader": "^4.0.0", - "@types/jquery": "^3.3.29", - "@yellowspot/ng-truncate": "^1.4.0", - "angular-bootstrap-md": "^7.5.4", - "angular-router-loader": "^0.8.5", - "angular2-template-loader": "^0.6.2", - "angularx-qrcode": "^2.1.0", - "aspnet-prerendering": "^3.0.1", - "awesome-typescript-loader": "^5.2.0", - "bootstrap": "^4.2.1", - "chart.js": "2.5.0", - "core-js": "^2.5.4", - "eventemitter2": "^5.0.1", - "font-awesome": "^4.7.0", - "fullcalendar": "^4.0.0-alpha.4", - "hammerjs": "^2.0.8", - "jquery": "3.3.1", - "moment": "^2.23.0", - "ng2-cookies": "^1.0.12", - "ngx-bootstrap": "^3.1.4", - "ngx-clipboard": "^12.1.0", - "ngx-infinite-scroll": "^7.1.0", - "ngx-moment": "^3.0.1", - "ngx-order-pipe": "^2.0.1", - "ngx-page-scroll": "^5.0.1", - "pace": "github:HubSpot/pace#v1.0.2", - "please-wait": "^0.0.5", - "popper.js": "^1.14.3", - "primeicons": "^1.0.0", - "primeng": "^7.0.3", - "rxjs": "^6.5.2", - "socket.io-client": "^2.2.0", - "spinkit": "^1.2.5", - "store": "^2.0.12", - "sweetalert2": "^7.33.1", - "tslint-angular": "^1.1.2", - "zone.js": "^0.9.1" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^0.803.21", - "@angular/cli": "~8.3.21", - "@angular/compiler-cli": "^8.2.14", - "@angular/language-service": "^8.2.14", - "@types/jasmine": "~2.8.6", - "@types/jasminewd2": "~2.0.3", - "@types/node": "~8.9.4", - "codelyzer": "^4.5.0", - "typescript": "~3.4.5" - }, - "optionalDependencies": { - "node-sass": "^4.12.0", - "protractor": "~5.4.0", - "ts-node": "~5.0.1", - "tslint": "^5.12.0" - } -} + "name": "ombi", + "version": "3.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve --port 3578 --configuration hmr", + "build": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod", + "lint": "ng lint" + }, + "private": true, + "dependencies": { + "@angular/animations": "^8.0.0", + "@angular/cdk": "^8.0.0", + "@angular/common": "^8.0.0", + "@angular/compiler": "^8.0.0", + "@angular/core": "^8.0.0", + "@angular/forms": "^8.0.0", + "@angular/material": "^8.0.0", + "@angular/platform-browser": "^8.0.0", + "@angular/platform-browser-dynamic": "^8.0.0", + "@angular/platform-server": "^8.0.0", + "@angular/router": "^8.0.0", + "@angularclass/hmr": "^2.1.3", + "@aspnet/signalr": "^1.1.0", + "@auth0/angular-jwt": "^2.1.0", + "@fullcalendar/core": "^4.2.0", + "@fullcalendar/interaction": "^4.2.0", + "@ng-bootstrap/ng-bootstrap": "^4.0.1", + "@ngu/carousel": "^1.4.9-beta-2", + "@ngx-translate/core": "^11.0.1", + "@ngx-translate/http-loader": "^4.0.0", + "@types/jquery": "^3.3.29", + "@yellowspot/ng-truncate": "^1.4.0", + "angular-bootstrap-md": "^7.5.4", + "angular-router-loader": "^0.8.5", + "angularx-qrcode": "^2.1.0", + "bootstrap": "^4.2.1", + "chart.js": "2.5.0", + "core-js": "^2.5.4", + "eventemitter2": "^5.0.1", + "font-awesome": "^4.7.0", + "fullcalendar": "^4.0.0-alpha.4", + "hammerjs": "^2.0.8", + "jquery": "3.3.1", + "moment": "^2.23.0", + "ng2-cookies": "^1.0.12", + "ngx-clipboard": "^12.1.0", + "ngx-infinite-scroll": "^7.1.0", + "ngx-moment": "^3.0.1", + "ngx-order-pipe": "^2.0.1", + "please-wait": "^0.0.5", + "popper.js": "^1.14.3", + "primeicons": "^1.0.0", + "primeng": "^7.0.3", + "rxjs": "^6.5.2", + "spinkit": "^1.2.5", + "store": "^2.0.12", + "tslint-angular": "^1.1.2", + "zone.js": "^0.9.1" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^0.803.21", + "@angular/cli": "~8.3.21", + "@angular/compiler-cli": "^8.2.14", + "@angular/language-service": "^8.2.14", + "@types/jasmine": "~2.8.6", + "@types/jasminewd2": "~2.0.3", + "@types/node": "~8.9.4", + "codelyzer": "^4.5.0", + "typescript": "~3.4.5" + }, + "optionalDependencies": { + "node-sass": "^4.12.0", + "protractor": "~5.4.0", + "ts-node": "~5.0.1", + "tslint": "^5.12.0" + } +} \ No newline at end of file From 96eae50f09d7b75c6a63c93f34ec9ab2920e49e4 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Sat, 16 May 2020 22:53:30 +0100 Subject: [PATCH 02/17] removed more unused --- src/Ombi/ClientApp/package.json | 2 +- src/Ombi/ClientApp/src/app/app.module.ts | 1 - .../ClientApp/src/app/issues/issues.module.ts | 2 - .../src/app/my-nav/nav-search.component.ts | 1 - .../recentlyAdded.component.html | 51 ------- .../recentlyAdded/recentlyAdded.component.ts | 131 ------------------ .../app/recentlyAdded/recentlyAdded.module.ts | 47 ------- .../app/requests/remainingrequests.module.ts | 3 - .../src/app/requests/requests.module.ts | 3 - .../ClientApp/src/app/search/search.module.ts | 2 - 10 files changed, 1 insertion(+), 242 deletions(-) delete mode 100644 src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.html delete mode 100644 src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.ts delete mode 100644 src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.module.ts diff --git a/src/Ombi/ClientApp/package.json b/src/Ombi/ClientApp/package.json index 8c22935d0..63ace623c 100644 --- a/src/Ombi/ClientApp/package.json +++ b/src/Ombi/ClientApp/package.json @@ -75,4 +75,4 @@ "ts-node": "~5.0.1", "tslint": "^5.12.0" } -} \ No newline at end of file +} diff --git a/src/Ombi/ClientApp/src/app/app.module.ts b/src/Ombi/ClientApp/src/app/app.module.ts index 11e0d5e60..c1c7e4793 100644 --- a/src/Ombi/ClientApp/src/app/app.module.ts +++ b/src/Ombi/ClientApp/src/app/app.module.ts @@ -72,7 +72,6 @@ const routes: Routes = [ { loadChildren: () => import("./usermanagement/usermanagement.module").then(m => m.UserManagementModule), path: "usermanagement" }, { loadChildren: () => import("./requests/requests.module").then(m => m.RequestsModule), path: "requestsOld" }, { loadChildren: () => import("./requests-list/requests-list.module").then(m => m.RequestsListModule), path: "requests-list" }, - { loadChildren: () => import("./recentlyAdded/recentlyAdded.module").then(m => m.RecentlyAddedModule), path: "recentlyadded" }, { loadChildren: () => import("./vote/vote.module").then(m => m.VoteModule), path: "vote" }, { loadChildren: () => import("./media-details/media-details.module").then(m => m.MediaDetailsModule), path: "details" }, { loadChildren: () => import("./user-preferences/user-preferences.module").then(m => m.UserPreferencesModule), path: "user-preferences" }, diff --git a/src/Ombi/ClientApp/src/app/issues/issues.module.ts b/src/Ombi/ClientApp/src/app/issues/issues.module.ts index cf357d269..1cc236d37 100644 --- a/src/Ombi/ClientApp/src/app/issues/issues.module.ts +++ b/src/Ombi/ClientApp/src/app/issues/issues.module.ts @@ -1,7 +1,6 @@ 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 { PaginatorModule, SharedModule, TabViewModule } from "primeng/primeng"; @@ -28,7 +27,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - NgbModule.forRoot(), SharedModule, OrderModule, PipeModule, diff --git a/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts b/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts index 78045ec57..7f7319801 100644 --- a/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts +++ b/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts @@ -12,7 +12,6 @@ import { empty, of } from "rxjs"; import { SearchV2Service } from "../services/searchV2.service"; import { IMultiSearchResult } from "../interfaces"; import { Router } from "@angular/router"; -import { NgbTypeaheadSelectItemEvent } from "@ng-bootstrap/ng-bootstrap"; import { FormGroup, FormBuilder } from "@angular/forms"; import { MatAutocompleteSelectedEvent } from "@angular/material"; diff --git a/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.html b/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.html deleted file mode 100644 index ee60b7c87..000000000 --- a/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.html +++ /dev/null @@ -1,51 +0,0 @@ -

Recently Added

- -
- -
- - - -
- poster -
{{movie.title}}
-
- - -
- - - -
- - - -
- - - - poster - {{t.title}} -
- Season: {{t.seasonNumber}} -
- Episode: {{t.episodeNumber}} -
- - - -
diff --git a/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.ts b/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.ts deleted file mode 100644 index f426a39d1..000000000 --- a/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.component.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { Component, OnInit } from "@angular/core"; -import { NguCarouselConfig } from "@ngu/carousel"; - -import { IRecentlyAddedMovies, IRecentlyAddedTvShows } from "../interfaces"; -import { ImageService, RecentlyAddedService } from "../services"; - -@Component({ - templateUrl: "recentlyAdded.component.html", - styles: [` - .leftRs { - position: absolute; - margin: auto; - top: 0; - bottom: 0; - width: 50px; - height: 50px; - box-shadow: 1px 2px 10px -1px rgba(0, 0, 0, .3); - border-radius: 100%; - left: 0; - background: #df691a; - } - - .rightRs { - position: absolute; - margin: auto; - top: 0; - bottom: 0; - width: 50px; - height: 50px; - box-shadow: 1px 2px 10px -1px rgba(0, 0, 0, .3); - border-radius: 100%; - right: 0; - background: #df691a; - } - `], -}) - -export class RecentlyAddedComponent implements OnInit { - public movies: IRecentlyAddedMovies[]; - public tv: IRecentlyAddedTvShows[]; - public range: Date[]; - - public groupTv: boolean = false; - - // https://github.com/sheikalthaf/ngu-carousel - public carouselTile: NguCarouselConfig; - - constructor(private recentlyAddedService: RecentlyAddedService, - private imageService: ImageService) {} - - public ngOnInit() { - this.getMovies(); - this.getShows(); - - this.carouselTile = { - grid: {xs: 2, sm: 3, md: 3, lg: 5, all: 0}, - slide: 2, - speed: 400, - animation: "lazy", - point: { - visible: true, - }, - load: 2, - touch: true, - easing: "ease", - }; - } - - public close() { - if (this.range.length < 2) { - return; - } - if (!this.range[1]) { - // If we do not have a second date then just set it to now - this.range[1] = new Date(); - } - this.getMovies(); - } - - public change() { - this.getShows(); - } - - private getShows() { - if (this.groupTv) { - this.recentlyAddedService.getRecentlyAddedTvGrouped().subscribe(x => { - this.tv = x; - - this.tv.forEach((t) => { - this.imageService.getTvPoster(t.tvDbId).subscribe(p => { - if (p) { - t.posterPath = p; - } - }); - }); - }); - } else { - this.recentlyAddedService.getRecentlyAddedTv().subscribe(x => { - this.tv = x; - - this.tv.forEach((t) => { - this.imageService.getTvPoster(t.tvDbId).subscribe(p => { - if (p) { - t.posterPath = p; - } - }); - }); - }); - } - } - - private getMovies() { - this.recentlyAddedService.getRecentlyAddedMovies().subscribe(x => { - this.movies = x; - - this.movies.forEach((movie) => { - if (movie.theMovieDbId) { - this.imageService.getMoviePoster(movie.theMovieDbId).subscribe(p => { - movie.posterPath = p; - }); - } else if (movie.imdbId) { - this.imageService.getMoviePoster(movie.imdbId).subscribe(p => { - movie.posterPath = p; - }); - } else { - movie.posterPath = ""; - } - }); - }); - } -} diff --git a/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.module.ts b/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.module.ts deleted file mode 100644 index cf0b423a3..000000000 --- a/src/Ombi/ClientApp/src/app/recentlyAdded/recentlyAdded.module.ts +++ /dev/null @@ -1,47 +0,0 @@ -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 { CalendarModule, PaginatorModule, SharedModule, TabViewModule } from "primeng/primeng"; - -import { IdentityService, ImageService, RecentlyAddedService } from "../services"; - -import { AuthGuard } from "../auth/auth.guard"; - -import { SharedModule as OmbiShared } from "../shared/shared.module"; - -import { RecentlyAddedComponent } from "./recentlyAdded.component"; - -import { NguCarouselModule } from "@ngu/carousel"; - -const routes: Routes = [ - { path: "", component: RecentlyAddedComponent, canActivate: [AuthGuard] }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - NgbModule.forRoot(), - SharedModule, - OrderModule, - OmbiShared, - PaginatorModule, - TabViewModule, - CalendarModule, - NguCarouselModule, - ], - declarations: [ - RecentlyAddedComponent, - ], - exports: [ - RouterModule, - ], - providers: [ - IdentityService, - RecentlyAddedService, - ImageService, - ], - -}) -export class RecentlyAddedModule { } diff --git a/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts b/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts index 411a94dfd..dc8ad0126 100644 --- a/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts +++ b/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts @@ -2,15 +2,12 @@ import { FormsModule } from "@angular/forms"; import { RouterModule } from "@angular/router"; -import { NgbModule } from "@ng-bootstrap/ng-bootstrap"; - import { SidebarModule, TooltipModule, TreeTableModule } from "primeng/primeng"; import { RequestService } from "../services"; @NgModule({ imports: [ FormsModule, - NgbModule.forRoot(), TreeTableModule, SidebarModule, TooltipModule, diff --git a/src/Ombi/ClientApp/src/app/requests/requests.module.ts b/src/Ombi/ClientApp/src/app/requests/requests.module.ts index 63d7117f5..7e445701d 100644 --- a/src/Ombi/ClientApp/src/app/requests/requests.module.ts +++ b/src/Ombi/ClientApp/src/app/requests/requests.module.ts @@ -1,7 +1,5 @@ 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 { InfiniteScrollModule } from "ngx-infinite-scroll"; @@ -28,7 +26,6 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - NgbModule.forRoot(), InfiniteScrollModule, ButtonModule, DialogModule, diff --git a/src/Ombi/ClientApp/src/app/search/search.module.ts b/src/Ombi/ClientApp/src/app/search/search.module.ts index 6490076af..ab63302b6 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"; @@ -35,7 +34,6 @@ const routes: Routes = [ CommonModule, FormsModule, RouterModule.forChild(routes), - NgbModule.forRoot(), TreeTableModule, SharedModule, SidebarModule, From 7708151eb506fe143799de2f1b1e6d9db4629e8d Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Sat, 16 May 2020 23:44:43 +0100 Subject: [PATCH 03/17] angular 9 --- src/Ombi/ClientApp/angular.json | 13 ++ src/Ombi/ClientApp/package.json | 153 +++++++++--------- .../ClientApp/src/app/pipes/pipe.module.ts | 2 +- .../movies-grid/movies-grid.component.ts | 4 +- .../components/tv-grid/tv-grid.component.ts | 4 +- .../usermanagement.component.ts | 2 +- .../ClientApp/src/app/vote/vote.component.ts | 2 +- src/Ombi/ClientApp/src/tsconfig.app.json | 50 +++--- 8 files changed, 126 insertions(+), 104 deletions(-) diff --git a/src/Ombi/ClientApp/angular.json b/src/Ombi/ClientApp/angular.json index 673e36ed6..5f5ce72b3 100644 --- a/src/Ombi/ClientApp/angular.json +++ b/src/Ombi/ClientApp/angular.json @@ -13,6 +13,7 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { + "aot": true, "progress": true, "extractCss": true, "outputPath": "dist", @@ -44,6 +45,12 @@ }, "configurations": { "production": { + "budgets": [ + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" + } + ], "fileReplacements": [{ "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" @@ -59,6 +66,12 @@ "buildOptimizer": true }, "hmr": { + "budgets": [ + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" + } + ], "fileReplacements": [{ "replace": "src/environments/environment.ts", "with": "src/environments/environment.hmr.ts" diff --git a/src/Ombi/ClientApp/package.json b/src/Ombi/ClientApp/package.json index 63ace623c..36d7fa050 100644 --- a/src/Ombi/ClientApp/package.json +++ b/src/Ombi/ClientApp/package.json @@ -1,78 +1,79 @@ { - "name": "ombi", - "version": "3.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve --port 3578 --configuration hmr", - "build": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod", - "lint": "ng lint" - }, - "private": true, - "dependencies": { - "@angular/animations": "^8.0.0", - "@angular/cdk": "^8.0.0", - "@angular/common": "^8.0.0", - "@angular/compiler": "^8.0.0", - "@angular/core": "^8.0.0", - "@angular/forms": "^8.0.0", - "@angular/material": "^8.0.0", - "@angular/platform-browser": "^8.0.0", - "@angular/platform-browser-dynamic": "^8.0.0", - "@angular/platform-server": "^8.0.0", - "@angular/router": "^8.0.0", - "@angularclass/hmr": "^2.1.3", - "@aspnet/signalr": "^1.1.0", - "@auth0/angular-jwt": "^2.1.0", - "@fullcalendar/core": "^4.2.0", - "@fullcalendar/interaction": "^4.2.0", - "@ng-bootstrap/ng-bootstrap": "^4.0.1", - "@ngu/carousel": "^1.4.9-beta-2", - "@ngx-translate/core": "^11.0.1", - "@ngx-translate/http-loader": "^4.0.0", - "@types/jquery": "^3.3.29", - "@yellowspot/ng-truncate": "^1.4.0", - "angular-bootstrap-md": "^7.5.4", - "angular-router-loader": "^0.8.5", - "angularx-qrcode": "^2.1.0", - "bootstrap": "^4.2.1", - "chart.js": "2.5.0", - "core-js": "^2.5.4", - "eventemitter2": "^5.0.1", - "font-awesome": "^4.7.0", - "fullcalendar": "^4.0.0-alpha.4", - "hammerjs": "^2.0.8", - "jquery": "3.3.1", - "moment": "^2.23.0", - "ng2-cookies": "^1.0.12", - "ngx-clipboard": "^12.1.0", - "ngx-infinite-scroll": "^7.1.0", - "ngx-moment": "^3.0.1", - "ngx-order-pipe": "^2.0.1", - "please-wait": "^0.0.5", - "popper.js": "^1.14.3", - "primeicons": "^1.0.0", - "primeng": "^7.0.3", - "rxjs": "^6.5.2", - "spinkit": "^1.2.5", - "store": "^2.0.12", - "tslint-angular": "^1.1.2", - "zone.js": "^0.9.1" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^0.803.21", - "@angular/cli": "~8.3.21", - "@angular/compiler-cli": "^8.2.14", - "@angular/language-service": "^8.2.14", - "@types/jasmine": "~2.8.6", - "@types/jasminewd2": "~2.0.3", - "@types/node": "~8.9.4", - "codelyzer": "^4.5.0", - "typescript": "~3.4.5" - }, - "optionalDependencies": { - "node-sass": "^4.12.0", - "protractor": "~5.4.0", - "ts-node": "~5.0.1", - "tslint": "^5.12.0" - } + "name": "ombi", + "version": "3.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve --port 3578 --configuration hmr", + "build": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod", + "lint": "ng lint" + }, + "private": true, + "dependencies": { + "@angular/animations": "^9.1.7", + "@angular/cdk": "^8.0.0", + "@angular/common": "^9.1.7", + "@angular/compiler": "^9.1.7", + "@angular/core": "^9.1.7", + "@angular/forms": "^9.1.7", + "@angular/material": "^8.0.0", + "@angular/platform-browser": "^9.1.7", + "@angular/platform-browser-dynamic": "^9.1.7", + "@angular/platform-server": "^9.1.7", + "@angular/router": "^9.1.7", + "@angularclass/hmr": "^2.1.3", + "@aspnet/signalr": "^1.1.0", + "@auth0/angular-jwt": "^2.1.0", + "@fullcalendar/core": "^4.2.0", + "@fullcalendar/interaction": "^4.2.0", + "@ng-bootstrap/ng-bootstrap": "^4.0.1", + "@ngu/carousel": "^1.4.9-beta-2", + "@ngx-translate/core": "^11.0.1", + "@ngx-translate/http-loader": "^4.0.0", + "@types/jquery": "^3.3.29", + "@yellowspot/ng-truncate": "^1.4.0", + "angular-bootstrap-md": "^7.5.4", + "angular-router-loader": "^0.8.5", + "angularx-qrcode": "^2.1.0", + "bootstrap": "^4.2.1", + "chart.js": "2.5.0", + "core-js": "^2.5.4", + "eventemitter2": "^5.0.1", + "font-awesome": "^4.7.0", + "fullcalendar": "^4.0.0-alpha.4", + "hammerjs": "^2.0.8", + "jquery": "3.3.1", + "moment": "^2.23.0", + "ng2-cookies": "^1.0.12", + "ngx-clipboard": "^12.1.0", + "ngx-infinite-scroll": "^7.1.0", + "ngx-moment": "^3.0.1", + "ngx-order-pipe": "^2.0.1", + "please-wait": "^0.0.5", + "popper.js": "^1.14.3", + "primeicons": "^1.0.0", + "primeng": "^7.0.3", + "rxjs": "^6.5.2", + "spinkit": "^1.2.5", + "store": "^2.0.12", + "tslib": "^1.10.0", + "tslint-angular": "^1.1.2", + "zone.js": "~0.10.2" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~0.901.6", + "@angular/cli": "~9.1.6", + "@angular/compiler-cli": "^9.1.7", + "@angular/language-service": "^9.1.7", + "@types/jasmine": "~2.8.6", + "@types/jasminewd2": "~2.0.3", + "@types/node": "^12.11.1", + "codelyzer": "^5.1.2", + "typescript": "~3.8.3" + }, + "optionalDependencies": { + "node-sass": "^4.12.0", + "protractor": "~5.4.0", + "ts-node": "~5.0.1", + "tslint": "^5.12.0" + } } diff --git a/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts b/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts index 615157a5f..a947851b3 100644 --- a/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts +++ b/src/Ombi/ClientApp/src/app/pipes/pipe.module.ts @@ -11,7 +11,7 @@ import { QualityPipe } from "./QualityPipe"; }) export class PipeModule { - public static forRoot(): ModuleWithProviders { + public static forRoot(): ModuleWithProviders { return { ngModule: PipeModule, providers: [], diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts index 7659b5161..c3df069df 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts @@ -35,8 +35,8 @@ export class MoviesGridComponent implements OnInit, AfterViewInit { @Output() public onOpenOptions = new EventEmitter<{ request: any, filter: any, onChange: any }>(); - @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator; - @ViewChild(MatSort, { static: false }) sort: MatSort; + @ViewChild(MatPaginator) paginator: MatPaginator; + @ViewChild(MatSort) sort: MatSort; constructor(private requestService: RequestServiceV2, private ref: ChangeDetectorRef, private auth: AuthService, private storageService: StorageService) { diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts index 2726bdc91..30cb9c12e 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts @@ -34,8 +34,8 @@ export class TvGridComponent implements OnInit, AfterViewInit { @Output() public onOpenOptions = new EventEmitter<{request: any, filter: any, onChange: any}>(); - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator; - @ViewChild(MatSort, {static: false}) sort: MatSort; + @ViewChild(MatPaginator) paginator: MatPaginator; + @ViewChild(MatSort) sort: MatSort; constructor(private requestService: RequestServiceV2, private auth: AuthService, private ref: ChangeDetectorRef, private storageService: StorageService) { diff --git a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts index 07d54f3d1..8c76b2ac6 100644 --- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts +++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts @@ -15,7 +15,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/vote/vote.component.ts b/src/Ombi/ClientApp/src/app/vote/vote.component.ts index 44abb8774..ffab837cd 100644 --- a/src/Ombi/ClientApp/src/app/vote/vote.component.ts +++ b/src/Ombi/ClientApp/src/app/vote/vote.component.ts @@ -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/tsconfig.app.json b/src/Ombi/ClientApp/src/tsconfig.app.json index 50086d3bc..62bc75321 100644 --- a/src/Ombi/ClientApp/src/tsconfig.app.json +++ b/src/Ombi/ClientApp/src/tsconfig.app.json @@ -1,22 +1,30 @@ -{ - "compileOnSave": false, - "compilerOptions": { +{ + "compileOnSave": false, + "compilerOptions": { "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es5", - "types": ["node"], - "resolveJsonModule":true, - "typeRoots": [ - "node_modules/@types" - ], - "lib": [ - "es2017", - "dom" - ] - } -} + "module": "esnext", + "outDir": "./dist/out-tsc", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "types": ["node"], + "resolveJsonModule":true, + "typeRoots": [ + "node_modules/@types" + ], + "lib": [ + "es2017", + "dom" + ] + } , + "files": [ + "main.ts", + "polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} From cea33c7e9337aefe2868054c4606be68b2b2bac9 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Sat, 16 May 2020 23:58:43 +0100 Subject: [PATCH 04/17] ng material --- src/Ombi/ClientApp/angular.json | 23 ++++++--------- src/Ombi/ClientApp/package.json | 5 ++-- src/Ombi/ClientApp/src/app/app.component.ts | 2 +- src/Ombi/ClientApp/src/app/app.module.ts | 19 ++++++++---- .../card/discover-card-details.component.ts | 2 +- .../card/discover-card.component.ts | 2 +- .../src/app/discover/components/index.ts | 2 +- .../src/app/login/login.component.ts | 2 +- .../artist/artist-details.component.ts | 2 +- .../movie/movie-details.component.ts | 2 +- .../movie-admin-panel.component.ts | 2 +- .../movie-advanced-options.component.ts | 2 +- .../deny-dialog/deny-dialog.component.ts | 2 +- .../shared/new-issue/new-issue.component.ts | 2 +- .../shared/youtube-trailer.component.ts | 2 +- .../tv-requests-panel.component.ts | 2 +- .../components/tv/tv-details.component.ts | 2 +- .../src/app/my-nav/nav-search.component.ts | 2 +- .../movies-grid/movies-grid.component.ts | 3 +- .../components/requests-list.component.ts | 2 +- .../components/tv-grid/tv-grid.component.ts | 3 +- .../app/requests-list/requests-list.module.ts | 2 +- .../src/app/services/message.service.ts | 2 +- .../src/app/services/notification.service.ts | 2 +- .../notifications/cloudmobile.coponent.ts | 2 +- .../src/app/settings/settings.module.ts | 2 +- .../episode-request.component.ts | 3 +- .../ClientApp/src/app/shared/shared.module.ts | 29 +++++++++++++++---- .../user-preferences.module.ts | 2 +- .../usermanagement.component.ts | 3 +- .../ClientApp/src/app/wizard/wizard.module.ts | 2 +- src/Ombi/ClientApp/src/main.ts | 2 -- 32 files changed, 80 insertions(+), 56 deletions(-) diff --git a/src/Ombi/ClientApp/angular.json b/src/Ombi/ClientApp/angular.json index 5f5ce72b3..e173026e4 100644 --- a/src/Ombi/ClientApp/angular.json +++ b/src/Ombi/ClientApp/angular.json @@ -13,7 +13,7 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "aot": true, + "aot": true, "progress": true, "extractCss": true, "outputPath": "dist", @@ -38,19 +38,16 @@ "scripts": [ "node_modules/jquery/dist/jquery.min.js", "node_modules/chart.js/dist/Chart.js", - "node_modules/hammerjs/hammer.min.js", "./node_modules/@fullcalendar/core/main.js", "./node_modules/@fullcalendar/interaction/main.js" ] }, "configurations": { "production": { - "budgets": [ - { - "type": "anyComponentStyle", - "maximumWarning": "6kb" - } - ], + "budgets": [{ + "type": "anyComponentStyle", + "maximumWarning": "6kb" + }], "fileReplacements": [{ "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" @@ -66,12 +63,10 @@ "buildOptimizer": true }, "hmr": { - "budgets": [ - { - "type": "anyComponentStyle", - "maximumWarning": "6kb" - } - ], + "budgets": [{ + "type": "anyComponentStyle", + "maximumWarning": "6kb" + }], "fileReplacements": [{ "replace": "src/environments/environment.ts", "with": "src/environments/environment.hmr.ts" diff --git a/src/Ombi/ClientApp/package.json b/src/Ombi/ClientApp/package.json index 36d7fa050..4163fe622 100644 --- a/src/Ombi/ClientApp/package.json +++ b/src/Ombi/ClientApp/package.json @@ -10,12 +10,12 @@ "private": true, "dependencies": { "@angular/animations": "^9.1.7", - "@angular/cdk": "^8.0.0", + "@angular/cdk": "^9.2.3", "@angular/common": "^9.1.7", "@angular/compiler": "^9.1.7", "@angular/core": "^9.1.7", "@angular/forms": "^9.1.7", - "@angular/material": "^8.0.0", + "@angular/material": "^9.2.3", "@angular/platform-browser": "^9.1.7", "@angular/platform-browser-dynamic": "^9.1.7", "@angular/platform-server": "^9.1.7", @@ -40,7 +40,6 @@ "eventemitter2": "^5.0.1", "font-awesome": "^4.7.0", "fullcalendar": "^4.0.0-alpha.4", - "hammerjs": "^2.0.8", "jquery": "3.3.1", "moment": "^2.23.0", "ng2-cookies": "^1.0.12", diff --git a/src/Ombi/ClientApp/src/app/app.component.ts b/src/Ombi/ClientApp/src/app/app.component.ts index c8bf7f134..957bbe7aa 100644 --- a/src/Ombi/ClientApp/src/app/app.component.ts +++ b/src/Ombi/ClientApp/src/app/app.component.ts @@ -7,7 +7,7 @@ import { AuthService } from "./auth/auth.service"; import { ILocalUser } from "./auth/IUserLogin"; import { NotificationService, CustomPageService } from "./services"; import { SettingsService } from "./services"; -import { MatSnackBar } from '@angular/material'; +import { MatSnackBar } from '@angular/material/snack-bar'; import { ICustomizationSettings, ICustomPage } from "./interfaces"; import { StorageService } from './shared/storage/storage-service'; diff --git a/src/Ombi/ClientApp/src/app/app.module.ts b/src/Ombi/ClientApp/src/app/app.module.ts index c1c7e4793..ade37f6d2 100644 --- a/src/Ombi/ClientApp/src/app/app.module.ts +++ b/src/Ombi/ClientApp/src/app/app.module.ts @@ -17,11 +17,20 @@ import { TooltipModule } from "primeng/primeng"; -import { - MatButtonModule, MatNativeDateModule, MatIconModule, MatSidenavModule, MatListModule, MatToolbarModule, MatAutocompleteModule, MatCheckboxModule, MatSnackBarModule, - MatProgressSpinnerModule -} from '@angular/material'; -import { MatCardModule, MatInputModule, MatTabsModule, MatSlideToggleModule } from "@angular/material"; +import { MatAutocompleteModule } from '@angular/material/autocomplete'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatNativeDateModule } from '@angular/material/core'; +import { MatIconModule } from '@angular/material/icon'; +import { MatListModule } from '@angular/material/list'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatSnackBarModule } from '@angular/material/snack-bar'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { MatCardModule } from "@angular/material/card"; +import { MatInputModule } from "@angular/material/input"; +import { MatSlideToggleModule } from "@angular/material/slide-toggle"; +import { MatTabsModule } from "@angular/material/tabs"; import { MDBBootstrapModule, CardsFreeModule, NavbarModule } from "angular-bootstrap-md"; diff --git a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card-details.component.ts b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card-details.component.ts index 950fb7732..fa13b1866 100644 --- a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card-details.component.ts +++ b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card-details.component.ts @@ -1,5 +1,5 @@ import { Component, Inject, OnInit, ViewEncapsulation } from "@angular/core"; -import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from "@angular/material"; +import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from "@angular/material/dialog"; import { IDiscoverCardResult } from "../../interfaces"; import { SearchV2Service, RequestService, MessageService } from "../../../services"; import { RequestType } from "../../../interfaces"; diff --git a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts index a83f2af26..cb401b8d1 100644 --- a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts +++ b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit, Input } from "@angular/core"; import { IDiscoverCardResult } from "../../interfaces"; import { RequestType, ISearchTvResult, ISearchMovieResult } from "../../../interfaces"; import { SearchV2Service } from "../../../services"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; import { DiscoverCardDetailsComponent } from "./discover-card-details.component"; import { ISearchTvResultV2 } from "../../../interfaces/ISearchTvResultV2"; import { ISearchMovieResultV2 } from "../../../interfaces/ISearchMovieResultV2"; diff --git a/src/Ombi/ClientApp/src/app/discover/components/index.ts b/src/Ombi/ClientApp/src/app/discover/components/index.ts index 428e894e1..6e56d29d8 100644 --- a/src/Ombi/ClientApp/src/app/discover/components/index.ts +++ b/src/Ombi/ClientApp/src/app/discover/components/index.ts @@ -6,7 +6,7 @@ import { DiscoverCardComponent } from "./card/discover-card.component"; import { Routes } from "@angular/router"; import { AuthGuard } from "../../auth/auth.guard"; import { SearchService, RequestService } from "../../services"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; export const components: any[] = [ diff --git a/src/Ombi/ClientApp/src/app/login/login.component.ts b/src/Ombi/ClientApp/src/app/login/login.component.ts index 7f1dccbd8..b93fb24ae 100644 --- a/src/Ombi/ClientApp/src/app/login/login.component.ts +++ b/src/Ombi/ClientApp/src/app/login/login.component.ts @@ -15,7 +15,7 @@ import { ImageService } from "../services"; import { fadeInOutAnimation } from "../animations/fadeinout"; import { StorageService } from "../shared/storage/storage-service"; -import { MatSnackBar } from "@angular/material"; +import { MatSnackBar } from "@angular/material/snack-bar"; @Component({ templateUrl: "./login.component.html", diff --git a/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts index e154a2981..ff6e1e436 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts @@ -2,7 +2,7 @@ import { Component } from "@angular/core"; import { ImageService, SearchV2Service, RequestService, MessageService } from "../../../services"; import { ActivatedRoute } from "@angular/router"; import { DomSanitizer } from "@angular/platform-browser"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; import { YoutubeTrailerComponent } from "../shared/youtube-trailer.component"; import { AuthService } from "../../../auth/auth.service"; import { DenyDialogComponent } from "../shared/deny-dialog/deny-dialog.component"; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts index 1d2600550..202e805d9 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.ts @@ -3,7 +3,7 @@ import { ImageService, SearchV2Service, RequestService, MessageService } from ". import { ActivatedRoute } from "@angular/router"; import { DomSanitizer } from "@angular/platform-browser"; import { ISearchMovieResultV2 } from "../../../interfaces/ISearchMovieResultV2"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; import { YoutubeTrailerComponent } from "../shared/youtube-trailer.component"; import { AuthService } from "../../../auth/auth.service"; import { IMovieRequests, RequestType, IAdvancedData } from "../../../interfaces"; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-admin-panel/movie-admin-panel.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-admin-panel/movie-admin-panel.component.ts index ed7b54f97..e19840a6d 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-admin-panel/movie-admin-panel.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-admin-panel/movie-admin-panel.component.ts @@ -1,7 +1,7 @@ import { Component, Input, OnInit, EventEmitter, Output } from "@angular/core"; import { RadarrService } from "../../../../../services"; import { IRadarrProfile, IRadarrRootFolder, IMovieRequests, IAdvancedData } from "../../../../../interfaces"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; import { MovieAdvancedOptionsComponent } from "../movie-advanced-options/movie-advanced-options.component"; import { RequestServiceV2 } from "../../../../../services/requestV2.service"; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-advanced-options/movie-advanced-options.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-advanced-options/movie-advanced-options.component.ts index 4e237890d..d5c3310fb 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-advanced-options/movie-advanced-options.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/panels/movie-advanced-options/movie-advanced-options.component.ts @@ -1,5 +1,5 @@ import { Component, Inject } from "@angular/core"; -import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material"; +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; import { IAdvancedData } from "../../../../../interfaces"; @Component({ diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/deny-dialog/deny-dialog.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/deny-dialog/deny-dialog.component.ts index 8d6e92e64..8ead47144 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/deny-dialog/deny-dialog.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/deny-dialog/deny-dialog.component.ts @@ -1,6 +1,6 @@ import { Component, Inject, Output, EventEmitter } from "@angular/core"; import { IDenyDialogData } from "../interfaces/interfaces"; -import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material"; +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; import { RequestService, MessageService } from "../../../../services"; import { RequestType, IRequestEngineResult } from "../../../../interfaces"; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/new-issue/new-issue.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/new-issue/new-issue.component.ts index 223d1a4a3..0730ab10d 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/new-issue/new-issue.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/new-issue/new-issue.component.ts @@ -1,6 +1,6 @@ import { Component, Inject, OnInit } from "@angular/core"; import { IDenyDialogData, IIssueDialogData } from "../interfaces/interfaces"; -import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material"; +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; import { MessageService, IssuesService } from "../../../../services"; import { IIssues, IIssueCategory, IssueStatus, RequestType } from "../../../../interfaces"; import { TranslateService } from "@ngx-translate/core"; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.ts index 3456759cf..c0812071d 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/youtube-trailer.component.ts @@ -1,5 +1,5 @@ import { Component, Inject } from "@angular/core"; -import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material"; +import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog"; @Component({ selector: "youtube-trailer", diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.ts index fe32ae988..201d4c274 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/panels/tv-requests/tv-requests-panel.component.ts @@ -2,7 +2,7 @@ import { Component, Input } from "@angular/core"; import { IChildRequests, RequestType } from "../../../../../interfaces"; import { RequestService } from "../../../../../services/request.service"; import { MessageService } from "../../../../../services"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; import { DenyDialogComponent } from "../../../shared/deny-dialog/deny-dialog.component"; @Component({ diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts index b59cf6b8e..9083dc959 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.ts @@ -3,7 +3,7 @@ import { ImageService, SearchV2Service, MessageService, RequestService } from ". import { ActivatedRoute } from "@angular/router"; import { DomSanitizer } from "@angular/platform-browser"; import { ISearchTvResultV2 } from "../../../interfaces/ISearchTvResultV2"; -import { MatDialog } from "@angular/material"; +import { MatDialog } from "@angular/material/dialog"; import { YoutubeTrailerComponent } from "../shared/youtube-trailer.component"; import { EpisodeRequestComponent } from "../../../shared/episode-request/episode-request.component"; import { IChildRequests, RequestType } from "../../../interfaces"; diff --git a/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts b/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts index 7f7319801..def528ac0 100644 --- a/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts +++ b/src/Ombi/ClientApp/src/app/my-nav/nav-search.component.ts @@ -13,7 +13,7 @@ import { SearchV2Service } from "../services/searchV2.service"; import { IMultiSearchResult } from "../interfaces"; import { Router } from "@angular/router"; import { FormGroup, FormBuilder } from "@angular/forms"; -import { MatAutocompleteSelectedEvent } from "@angular/material"; +import { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete"; @Component({ selector: "app-nav-search", diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts index c3df069df..bf4c35bc7 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts @@ -1,6 +1,7 @@ import { Component, AfterViewInit, ViewChild, EventEmitter, Output, ChangeDetectorRef, OnInit } from "@angular/core"; import { IMovieRequests, IRequestsViewModel } from "../../../interfaces"; -import { MatPaginator, MatSort } from "@angular/material"; +import { MatPaginator } from "@angular/material/paginator"; +import { MatSort } from "@angular/material/sort"; import { merge, Observable, of as observableOf } from 'rxjs'; import { catchError, map, startWith, switchMap } from 'rxjs/operators'; diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts index 8b3b35f90..fc00c39d3 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.ts @@ -1,5 +1,5 @@ import { Component, ViewChild } from "@angular/core"; -import { MatBottomSheet } from "@angular/material"; +import { MatBottomSheet } from "@angular/material/bottom-sheet"; import { RequestOptionsComponent } from "./options/request-options.component"; import { UpdateType } from "../models/UpdateType"; import { MoviesGridComponent } from "./movies-grid/movies-grid.component"; diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts index 30cb9c12e..891331be1 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts @@ -1,6 +1,7 @@ import { Component, AfterViewInit, ViewChild, Output, EventEmitter, ChangeDetectorRef, OnInit } from "@angular/core"; import { IRequestsViewModel, IChildRequests } from "../../../interfaces"; -import { MatPaginator, MatSort } from "@angular/material"; +import { MatPaginator } from "@angular/material/paginator"; +import { MatSort } from "@angular/material/sort"; import { merge, of as observableOf, Observable } from 'rxjs'; import { catchError, map, startWith, switchMap } from 'rxjs/operators'; diff --git a/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts b/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts index cda77882a..205cc2046 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/requests-list.module.ts @@ -9,7 +9,7 @@ import { AuthGuard } from "../auth/auth.guard"; import * as fromComponents from './components'; import { RequestsListComponent } from "./components/requests-list.component"; -import { MatBottomSheetModule } from "@angular/material"; +import { MatBottomSheetModule } from "@angular/material/bottom-sheet"; const routes: Routes = [ { path: "", component: RequestsListComponent, canActivate: [AuthGuard] }, 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..7e0cc1f0f 100644 --- a/src/Ombi/ClientApp/src/app/services/notification.service.ts +++ b/src/Ombi/ClientApp/src/app/services/notification.service.ts @@ -1,6 +1,6 @@ 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 { 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/settings.module.ts b/src/Ombi/ClientApp/src/app/settings/settings.module.ts index daef3edf7..a07c2fa95 100644 --- a/src/Ombi/ClientApp/src/app/settings/settings.module.ts +++ b/src/Ombi/ClientApp/src/app/settings/settings.module.ts @@ -52,7 +52,7 @@ 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 { MatMenuModule } from "@angular/material/menu"; import { SharedModule } from "../shared/shared.module"; import { HubService } from "../services/hub.service"; import { LogsComponent } from "./logs/logs.component"; 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..d00b002ee 100644 --- a/src/Ombi/ClientApp/src/app/shared/shared.module.ts +++ b/src/Ombi/ClientApp/src/app/shared/shared.module.ts @@ -9,11 +9,30 @@ import { IssuesReportComponent } from "./issues-report.component"; import { InputSwitchModule, SidebarModule } from "primeng/primeng"; -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.component.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.ts index 8c76b2ac6..1743276a2 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({ diff --git a/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts b/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts index 7efdbe504..db855a988 100644 --- a/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts +++ b/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts @@ -4,7 +4,7 @@ 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"; diff --git a/src/Ombi/ClientApp/src/main.ts b/src/Ombi/ClientApp/src/main.ts index b88de5819..85668688d 100644 --- a/src/Ombi/ClientApp/src/main.ts +++ b/src/Ombi/ClientApp/src/main.ts @@ -9,8 +9,6 @@ import { environment } from "./environments/environment"; import "./polyfills"; -import "hammerjs"; - import { enableProdMode } from "@angular/core"; import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; import { AppModule } from "./app/app.module"; From 6a1dd87eebd9122810e9264e404ca048477ef964 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Sun, 17 May 2020 00:40:49 +0100 Subject: [PATCH 05/17] upgrades --- src/Ombi/ClientApp/package.json | 3 +- src/Ombi/ClientApp/src/app/app.module.ts | 21 +- .../ClientApp/src/app/issues/issues.module.ts | 5 - .../app/requests/movierequests.component.ts | 666 +++++++++--------- .../requests/music/musicrequests.component.ts | 604 ++++++++-------- .../requests/remainingrequests.component.ts | 114 +-- .../app/requests/remainingrequests.module.ts | 6 +- .../src/app/requests/request.component.ts | 74 +- .../src/app/requests/requests.module.ts | 90 ++- .../requests/tvrequest-children.component.ts | 244 +++---- .../app/requests/tvrequests.component.html | 154 ++-- .../src/app/requests/tvrequests.component.ts | 396 +++++------ .../ClientApp/src/app/search/search.module.ts | 2 - .../src/app/services/notification.service.ts | 11 - .../src/app/services/request.service.ts | 10 +- .../src/app/services/search.service.ts | 10 +- .../src/app/settings/settings.module.ts | 10 +- .../ClientApp/src/app/shared/shared.module.ts | 3 +- .../usermanagement-user.component.ts | 45 +- .../usermanagement/usermanagement.module.ts | 6 +- .../ClientApp/src/app/vote/vote.component.ts | 2 +- .../ClientApp/src/app/vote/vote.module.ts | 4 +- .../ClientApp/src/app/wizard/wizard.module.ts | 3 - src/Ombi/ClientApp/src/polyfills.ts | 4 + 24 files changed, 1232 insertions(+), 1255 deletions(-) diff --git a/src/Ombi/ClientApp/package.json b/src/Ombi/ClientApp/package.json index 4163fe622..904c1806f 100644 --- a/src/Ombi/ClientApp/package.json +++ b/src/Ombi/ClientApp/package.json @@ -15,6 +15,7 @@ "@angular/compiler": "^9.1.7", "@angular/core": "^9.1.7", "@angular/forms": "^9.1.7", + "@angular/localize": "^9.1.7", "@angular/material": "^9.2.3", "@angular/platform-browser": "^9.1.7", "@angular/platform-browser-dynamic": "^9.1.7", @@ -50,7 +51,7 @@ "please-wait": "^0.0.5", "popper.js": "^1.14.3", "primeicons": "^1.0.0", - "primeng": "^7.0.3", + "primeng": "^9.0.6", "rxjs": "^6.5.2", "spinkit": "^1.2.5", "store": "^2.0.12", diff --git a/src/Ombi/ClientApp/src/app/app.module.ts b/src/Ombi/ClientApp/src/app/app.module.ts index ade37f6d2..1de47426d 100644 --- a/src/Ombi/ClientApp/src/app/app.module.ts +++ b/src/Ombi/ClientApp/src/app/app.module.ts @@ -11,11 +11,14 @@ import { NgbModule } from "@ng-bootstrap/ng-bootstrap"; import { TranslateLoader, TranslateModule } from "@ngx-translate/core"; import { TranslateHttpLoader } from "@ngx-translate/http-loader"; import { CookieService } from "ng2-cookies"; -import { GrowlModule } from "primeng/components/growl/growl"; -import { - ButtonModule, CaptchaModule, ConfirmationService, ConfirmDialogModule, DataTableModule, DialogModule, OverlayPanelModule, SharedModule, SidebarModule, - TooltipModule -} from "primeng/primeng"; + +import { ButtonModule } from "primeng/button"; +import { ConfirmDialogModule } from "primeng/confirmdialog"; +import { DataViewModule } from "primeng/dataview"; +import { DialogModule } from "primeng/dialog"; +import { OverlayPanelModule } from "primeng/overlaypanel"; +import { TooltipModule } from "primeng/tooltip"; +import { SidebarModule } from "primeng/sidebar"; import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { MatButtonModule } from '@angular/material/button'; @@ -79,7 +82,7 @@ const routes: Routes = [ { loadChildren: () => import("./settings/settings.module").then(m => m.SettingsModule), path: "Settings" }, { loadChildren: () => import("./wizard/wizard.module").then(m => m.WizardModule), path: "Wizard" }, { loadChildren: () => import("./usermanagement/usermanagement.module").then(m => m.UserManagementModule), path: "usermanagement" }, - { loadChildren: () => import("./requests/requests.module").then(m => m.RequestsModule), path: "requestsOld" }, + // { loadChildren: () => import("./requests/requests.module").then(m => m.RequestsModule), path: "requestsOld" }, { loadChildren: () => import("./requests-list/requests-list.module").then(m => m.RequestsListModule), path: "requests-list" }, { loadChildren: () => import("./vote/vote.module").then(m => m.VoteModule), path: "vote" }, { loadChildren: () => import("./media-details/media-details.module").then(m => m.MediaDetailsModule), path: "details" }, @@ -114,12 +117,10 @@ export function JwtTokenGetter() { BrowserModule, HttpClientModule, BrowserAnimationsModule, - GrowlModule, ButtonModule, FormsModule, - DataTableModule, + DataViewModule, MatSnackBarModule, - SharedModule, MatSnackBarModule, DialogModule, MatButtonModule, @@ -130,7 +131,6 @@ export function JwtTokenGetter() { MatTabsModule, ReactiveFormsModule, MatAutocompleteModule, - CaptchaModule, TooltipModule, ConfirmDialogModule, OverlayPanelModule, @@ -176,7 +176,6 @@ export function JwtTokenGetter() { IdentityService, StatusService, LandingPageService, - ConfirmationService, ImageService, CustomPageService, CookieService, diff --git a/src/Ombi/ClientApp/src/app/issues/issues.module.ts b/src/Ombi/ClientApp/src/app/issues/issues.module.ts index 1cc236d37..2607d336a 100644 --- a/src/Ombi/ClientApp/src/app/issues/issues.module.ts +++ b/src/Ombi/ClientApp/src/app/issues/issues.module.ts @@ -2,7 +2,6 @@ import { RouterModule, Routes } from "@angular/router"; import { OrderModule } from "ngx-order-pipe"; -import { PaginatorModule, SharedModule, TabViewModule } from "primeng/primeng"; import { IdentityService, SearchService } from "../services"; @@ -15,7 +14,6 @@ import { IssuesComponent } from "./issues.component"; import { IssuesTableComponent } from "./issuestable.component"; import { PipeModule } from "../pipes/pipe.module"; -import { IssuesListComponent } from "./components/issues-list/issues-list.component"; import * as fromComponents from "./components"; @@ -27,12 +25,9 @@ const routes: Routes = [ @NgModule({ imports: [ RouterModule.forChild(routes), - SharedModule, OrderModule, PipeModule, OmbiShared, - PaginatorModule, - TabViewModule, ], declarations: [ IssuesComponent, diff --git a/src/Ombi/ClientApp/src/app/requests/movierequests.component.ts b/src/Ombi/ClientApp/src/app/requests/movierequests.component.ts index c4dd000b4..798600447 100644 --- a/src/Ombi/ClientApp/src/app/requests/movierequests.component.ts +++ b/src/Ombi/ClientApp/src/app/requests/movierequests.component.ts @@ -1,386 +1,386 @@ -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, IFilter, IIssueCategory, IMovieRequests, IPagenator, IRadarrProfile, IRadarrRootFolder, OrderType } from "../interfaces"; -import { NotificationService, RadarrService, RequestService } from "../services"; +// import { AuthService } from "../auth/auth.service"; +// import { FilterType, IFilter, IIssueCategory, IMovieRequests, IPagenator, IRadarrProfile, IRadarrRootFolder, OrderType } from "../interfaces"; +// import { NotificationService, RadarrService, RequestService } from "../services"; -@Component({ - selector: "movie-requests", - templateUrl: "./movierequests.component.html", -}) -export class MovieRequestsComponent implements OnInit { - public movieRequests: IMovieRequests[]; - public defaultPoster: string; +// @Component({ +// selector: "movie-requests", +// templateUrl: "./movierequests.component.html", +// }) +// export class MovieRequestsComponent implements OnInit { +// public movieRequests: IMovieRequests[]; +// public defaultPoster: string; - public searchChanged: Subject = new Subject(); - public searchText: string; +// public searchChanged: Subject = new Subject(); +// public searchText: string; - public isAdmin: boolean; // Also PowerUser +// public isAdmin: boolean; // Also PowerUser - public radarrProfiles: IRadarrProfile[]; - public radarrRootFolders: IRadarrRootFolder[]; +// public radarrProfiles: IRadarrProfile[]; +// public radarrRootFolders: IRadarrRootFolder[]; - @Input() public issueCategories: IIssueCategory[]; - @Input() public issuesEnabled: boolean; - public issuesBarVisible = false; - public issueRequest: IMovieRequests; - public issueProviderId: string; - public issueCategorySelected: IIssueCategory; +// @Input() public issueCategories: IIssueCategory[]; +// @Input() public issuesEnabled: boolean; +// public issuesBarVisible = false; +// public issueRequest: IMovieRequests; +// public issueProviderId: string; +// public issueCategorySelected: IIssueCategory; - public filterDisplay: boolean; - public filter: IFilter; - public filterType = FilterType; +// public filterDisplay: boolean; +// public filter: IFilter; +// public filterType = FilterType; - public orderType: OrderType = OrderType.RequestedDateDesc; - public OrderType = OrderType; - public denyDisplay: boolean; - public requestToDeny: IMovieRequests; - public rejectionReason: string; +// public orderType: OrderType = OrderType.RequestedDateDesc; +// public OrderType = OrderType; +// public denyDisplay: boolean; +// public requestToDeny: IMovieRequests; +// public rejectionReason: string; - public totalMovies: number = 100; - public currentlyLoaded: number; - private amountToLoad: number; - private href: string; +// public totalMovies: number = 100; +// public currentlyLoaded: number; +// private amountToLoad: number; +// private href: string; - constructor( - private requestService: RequestService, - private auth: AuthService, - private notificationService: NotificationService, - private radarrService: RadarrService, - private sanitizer: DomSanitizer, - @Inject(APP_BASE_HREF) href:string) { - this.href = href; - 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.searchMovieRequests(this.searchText) - .subscribe(m => { - this.setOverrides(m); - this.movieRequests = m; - }); - }); - this.defaultPoster = "../../../images/default_movie_poster.png"; - const base = this.href; - if (base) { - this.defaultPoster = "../../.." + base + "/images/default_movie_poster.png"; - } - } +// constructor( +// private requestService: RequestService, +// private auth: AuthService, +// private notificationService: NotificationService, +// private radarrService: RadarrService, +// private sanitizer: DomSanitizer, +// @Inject(APP_BASE_HREF) href:string) { +// this.href = href; +// 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.searchMovieRequests(this.searchText) +// .subscribe(m => { +// this.setOverrides(m); +// this.movieRequests = m; +// }); +// }); +// this.defaultPoster = "../../../images/default_movie_poster.png"; +// const base = this.href; +// if (base) { +// this.defaultPoster = "../../.." + base + "/images/default_movie_poster.png"; +// } +// } - public ngOnInit() { - this.amountToLoad = 10; - this.currentlyLoaded = 10; - this.filter = { - availabilityFilter: FilterType.None, - statusFilter: FilterType.None, - }; - this.loadInit(); - this.isAdmin = this.auth.hasRole("admin") || this.auth.hasRole("poweruser"); +// public ngOnInit() { +// this.amountToLoad = 10; +// this.currentlyLoaded = 10; +// this.filter = { +// availabilityFilter: FilterType.None, +// statusFilter: FilterType.None, +// }; +// this.loadInit(); +// this.isAdmin = this.auth.hasRole("admin") || this.auth.hasRole("poweruser"); - } +// } - public paginate(event: IPagenator) { - const skipAmount = event.first; - this.loadRequests(this.amountToLoad, skipAmount); - } +// public paginate(event: IPagenator) { +// const skipAmount = event.first; +// this.loadRequests(this.amountToLoad, skipAmount); +// } - public search(text: any) { - this.searchChanged.next(text.target.value); - } +// public search(text: any) { +// this.searchChanged.next(text.target.value); +// } - public removeRequest(request: IMovieRequests) { - this.requestService.removeMovieRequest(request.id); - this.removeRequestFromUi(request); - this.loadRequests(this.amountToLoad, this.currentlyLoaded = 0); - } +// public removeRequest(request: IMovieRequests) { +// this.requestService.removeMovieRequest(request.id); +// this.removeRequestFromUi(request); +// this.loadRequests(this.amountToLoad, this.currentlyLoaded = 0); +// } - public changeAvailability(request: IMovieRequests, available: boolean) { - request.available = available; +// public changeAvailability(request: IMovieRequests, available: boolean) { +// request.available = available; - if (available) { - this.requestService.markMovieAvailable({ id: request.id }).subscribe(x => { - if (x.result) { - this.notificationService.success( - `${request.title} Is now available`); - } else { - this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } else { - this.requestService.markMovieUnavailable({ id: request.id }).subscribe(x => { - if (x.result) { - this.notificationService.success( - `${request.title} Is now unavailable`); - } else { - this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } - } +// if (available) { +// this.requestService.markMovieAvailable({ id: request.id }).subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `${request.title} Is now available`); +// } else { +// this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } else { +// this.requestService.markMovieUnavailable({ id: request.id }).subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `${request.title} Is now unavailable`); +// } else { +// this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } +// } - public approve(request: IMovieRequests) { - request.approved = true; - this.approveRequest(request); - } +// public approve(request: IMovieRequests) { +// request.approved = true; +// this.approveRequest(request); +// } - public deny(request: IMovieRequests) { - this.requestToDeny = request; - this.denyDisplay = true; - } +// public deny(request: IMovieRequests) { +// this.requestToDeny = request; +// this.denyDisplay = true; +// } - public denyRequest() { - this.requestService.denyMovie({ id: this.requestToDeny.id, reason: this.rejectionReason }) - .subscribe(x => { - this.denyDisplay = false; - if (x.result) { - this.notificationService.success( - `Request for ${this.requestToDeny.title} has been denied successfully`); - const index = this.movieRequests.indexOf(this.requestToDeny, 0); - if (index > -1) { - this.movieRequests[index].denied = true; - } - } else { - this.notificationService.warning("Request Denied", x.message ? x.message : x.errorMessage); - this.requestToDeny.denied = false; - } - }); - } +// public denyRequest() { +// this.requestService.denyMovie({ id: this.requestToDeny.id, reason: this.rejectionReason }) +// .subscribe(x => { +// this.denyDisplay = false; +// if (x.result) { +// this.notificationService.success( +// `Request for ${this.requestToDeny.title} has been denied successfully`); +// const index = this.movieRequests.indexOf(this.requestToDeny, 0); +// if (index > -1) { +// this.movieRequests[index].denied = true; +// } +// } else { +// this.notificationService.warning("Request Denied", x.message ? x.message : x.errorMessage); +// this.requestToDeny.denied = false; +// } +// }); +// } - public selectRootFolder(searchResult: IMovieRequests, rootFolderSelected: IRadarrRootFolder, event: any) { - event.preventDefault(); - searchResult.rootPathOverride = rootFolderSelected.id; - this.setOverride(searchResult); - this.updateRequest(searchResult); - } +// public selectRootFolder(searchResult: IMovieRequests, rootFolderSelected: IRadarrRootFolder, event: any) { +// event.preventDefault(); +// searchResult.rootPathOverride = rootFolderSelected.id; +// this.setOverride(searchResult); +// this.updateRequest(searchResult); +// } - public selectQualityProfile(searchResult: IMovieRequests, profileSelected: IRadarrProfile, event: any) { - event.preventDefault(); - searchResult.qualityOverride = profileSelected.id; - this.setOverride(searchResult); - this.updateRequest(searchResult); - } +// public selectQualityProfile(searchResult: IMovieRequests, profileSelected: IRadarrProfile, event: any) { +// event.preventDefault(); +// searchResult.qualityOverride = profileSelected.id; +// this.setOverride(searchResult); +// this.updateRequest(searchResult); +// } - public reportIssue(catId: IIssueCategory, req: IMovieRequests) { - this.issueRequest = req; - this.issueCategorySelected = catId; - this.issuesBarVisible = true; - this.issueProviderId = req.theMovieDbId.toString(); - } +// public reportIssue(catId: IIssueCategory, req: IMovieRequests) { +// this.issueRequest = req; +// this.issueCategorySelected = catId; +// this.issuesBarVisible = true; +// this.issueProviderId = req.theMovieDbId.toString(); +// } - public ignore(event: any): void { - event.preventDefault(); - } +// public ignore(event: any): void { +// event.preventDefault(); +// } - public clearFilter(el: any) { - el = el.toElement || el.relatedTarget || el.target || el.srcElement; +// public clearFilter(el: any) { +// el = el.toElement || el.relatedTarget || el.target || el.srcElement; - el = el.parentElement; - el = el.querySelectorAll("INPUT"); - for (el of el) { - el.checked = false; - el.parentElement.classList.remove("active"); - } +// el = el.parentElement; +// el = el.querySelectorAll("INPUT"); +// for (el of el) { +// el.checked = false; +// el.parentElement.classList.remove("active"); +// } - this.filterDisplay = false; - this.filter.availabilityFilter = FilterType.None; - this.filter.statusFilter = FilterType.None; +// this.filterDisplay = false; +// this.filter.availabilityFilter = FilterType.None; +// this.filter.statusFilter = FilterType.None; - this.resetSearch(); - } +// this.resetSearch(); +// } - public filterAvailability(filter: FilterType, el: any) { - this.filterActiveStyle(el); - this.filter.availabilityFilter = filter; - this.loadInit(); - } +// public filterAvailability(filter: FilterType, el: any) { +// this.filterActiveStyle(el); +// this.filter.availabilityFilter = filter; +// this.loadInit(); +// } - public filterStatus(filter: FilterType, el: any) { - this.filterActiveStyle(el); - this.filter.statusFilter = filter; - this.loadInit(); - } +// public filterStatus(filter: FilterType, el: any) { +// this.filterActiveStyle(el); +// this.filter.statusFilter = filter; +// this.loadInit(); +// } - public setOrder(value: OrderType, el: any) { - el = el.toElement || el.relatedTarget || el.target || el.srcElement; +// public setOrder(value: OrderType, el: any) { +// el = el.toElement || el.relatedTarget || el.target || el.srcElement; - const parent = el.parentElement; - const previousFilter = parent.querySelector(".active"); +// const parent = el.parentElement; +// const previousFilter = parent.querySelector(".active"); - previousFilter.className = ""; - el.className = "active"; +// previousFilter.className = ""; +// el.className = "active"; - this.orderType = value; +// this.orderType = value; - this.loadInit(); - } +// this.loadInit(); +// } - public subscribe(request: IMovieRequests) { - request.subscribed = true; - this.requestService.subscribeToMovie(request.id) - .subscribe(x => { - this.notificationService.success("Subscribed To Movie!"); - }); - } +// public subscribe(request: IMovieRequests) { +// request.subscribed = true; +// this.requestService.subscribeToMovie(request.id) +// .subscribe(x => { +// this.notificationService.success("Subscribed To Movie!"); +// }); +// } - public unSubscribe(request: IMovieRequests) { - request.subscribed = false; - this.requestService.unSubscribeToMovie(request.id) - .subscribe(x => { - this.notificationService.success("Unsubscribed Movie!"); - }); - } +// public unSubscribe(request: IMovieRequests) { +// request.subscribed = false; +// this.requestService.unSubscribeToMovie(request.id) +// .subscribe(x => { +// this.notificationService.success("Unsubscribed Movie!"); +// }); +// } - public isRequestUser(request: IMovieRequests) { - if (request.requestedUser.userName === this.auth.claims().name) { - return true; - } - return false; - } +// public isRequestUser(request: IMovieRequests) { +// if (request.requestedUser.userName === this.auth.claims().name) { +// return true; +// } +// return false; +// } - private filterActiveStyle(el: any) { - el = el.toElement || el.relatedTarget || el.target || el.srcElement; +// private filterActiveStyle(el: any) { +// el = el.toElement || el.relatedTarget || el.target || el.srcElement; - el = el.parentElement; //gets radio div - el = el.parentElement; //gets form group div - el = el.parentElement; //gets status filter div - el = el.querySelectorAll("INPUT"); - for (el of el) { - if (el.checked) { - if (!el.parentElement.classList.contains("active")) { - el.parentElement.className += " active"; - } - } else { - el.parentElement.classList.remove("active"); - } - } - } +// el = el.parentElement; //gets radio div +// el = el.parentElement; //gets form group div +// el = el.parentElement; //gets status filter div +// el = el.querySelectorAll("INPUT"); +// for (el of el) { +// if (el.checked) { +// if (!el.parentElement.classList.contains("active")) { +// el.parentElement.className += " active"; +// } +// } else { +// el.parentElement.classList.remove("active"); +// } +// } +// } - private loadRequests(amountToLoad: number, currentlyLoaded: number) { - this.requestService.getMovieRequests(amountToLoad, currentlyLoaded, this.orderType, this.filter) - .subscribe(x => { - this.setOverrides(x.collection); - if (!this.movieRequests) { - this.movieRequests = []; - } - this.movieRequests = x.collection; - this.totalMovies = x.total; - this.currentlyLoaded = currentlyLoaded + amountToLoad; - }); - } +// private loadRequests(amountToLoad: number, currentlyLoaded: number) { +// this.requestService.getMovieRequests(amountToLoad, currentlyLoaded, this.orderType, this.filter) +// .subscribe(x => { +// this.setOverrides(x.collection); +// if (!this.movieRequests) { +// this.movieRequests = []; +// } +// this.movieRequests = x.collection; +// this.totalMovies = x.total; +// this.currentlyLoaded = currentlyLoaded + amountToLoad; +// }); +// } - private updateRequest(request: IMovieRequests) { - this.requestService.updateMovieRequest(request) - .subscribe(x => { - this.setOverride(x); - request = x; - }); - } +// private updateRequest(request: IMovieRequests) { +// this.requestService.updateMovieRequest(request) +// .subscribe(x => { +// this.setOverride(x); +// request = x; +// }); +// } - private approveRequest(request: IMovieRequests) { - this.requestService.approveMovie({ id: request.id }) - .subscribe(x => { - request.approved = true; - if (x.result) { - this.notificationService.success( - `Request for ${request.title} has been approved successfully`); - } else { - this.notificationService.warning("Request Approved", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } +// private approveRequest(request: IMovieRequests) { +// this.requestService.approveMovie({ id: request.id }) +// .subscribe(x => { +// request.approved = true; +// if (x.result) { +// this.notificationService.success( +// `Request for ${request.title} has been approved successfully`); +// } else { +// this.notificationService.warning("Request Approved", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } - private loadInit() { - this.requestService.getMovieRequests(this.amountToLoad, 0, this.orderType, this.filter) - .subscribe(x => { - this.movieRequests = x.collection; - this.totalMovies = x.total; +// private loadInit() { +// this.requestService.getMovieRequests(this.amountToLoad, 0, this.orderType, this.filter) +// .subscribe(x => { +// this.movieRequests = x.collection; +// this.totalMovies = x.total; - this.movieRequests.forEach((req) => { - this.setBackground(req); - this.setPoster(req); - }); - if (this.isAdmin) { - this.radarrService.getQualityProfilesFromSettings().subscribe(c => { - this.radarrProfiles = c; - this.movieRequests.forEach((req) => this.setQualityOverrides(req)); - }); - this.radarrService.getRootFoldersFromSettings().subscribe(c => { - this.radarrRootFolders = c; - this.movieRequests.forEach((req) => this.setRootFolderOverrides(req)); - }); - } - }); - } +// this.movieRequests.forEach((req) => { +// this.setBackground(req); +// this.setPoster(req); +// }); +// if (this.isAdmin) { +// this.radarrService.getQualityProfilesFromSettings().subscribe(c => { +// this.radarrProfiles = c; +// this.movieRequests.forEach((req) => this.setQualityOverrides(req)); +// }); +// this.radarrService.getRootFoldersFromSettings().subscribe(c => { +// this.radarrRootFolders = c; +// this.movieRequests.forEach((req) => this.setRootFolderOverrides(req)); +// }); +// } +// }); +// } - private resetSearch() { - this.currentlyLoaded = 5; - this.loadInit(); - } +// private resetSearch() { +// this.currentlyLoaded = 5; +// this.loadInit(); +// } - private removeRequestFromUi(key: IMovieRequests) { - const index = this.movieRequests.indexOf(key, 0); - if (index > -1) { - this.movieRequests.splice(index, 1); - } - } +// private removeRequestFromUi(key: IMovieRequests) { +// const index = this.movieRequests.indexOf(key, 0); +// if (index > -1) { +// this.movieRequests.splice(index, 1); +// } +// } - private setOverrides(requests: IMovieRequests[]): void { - requests.forEach((req) => { - this.setOverride(req); - }); - } +// private setOverrides(requests: IMovieRequests[]): void { +// requests.forEach((req) => { +// this.setOverride(req); +// }); +// } - private setQualityOverrides(req: IMovieRequests): void { - if (this.radarrProfiles) { - const profile = this.radarrProfiles.filter((p) => { - return p.id === req.qualityOverride; - }); - if (profile.length > 0) { - req.qualityOverrideTitle = profile[0].name; - } - } - } - private setRootFolderOverrides(req: IMovieRequests): void { - if (this.radarrRootFolders) { - const path = this.radarrRootFolders.filter((folder) => { - return folder.id === req.rootPathOverride; - }); - if (path.length > 0) { - req.rootPathOverrideTitle = path[0].path; - } - } - } +// private setQualityOverrides(req: IMovieRequests): void { +// if (this.radarrProfiles) { +// const profile = this.radarrProfiles.filter((p) => { +// return p.id === req.qualityOverride; +// }); +// if (profile.length > 0) { +// req.qualityOverrideTitle = profile[0].name; +// } +// } +// } +// private setRootFolderOverrides(req: IMovieRequests): void { +// if (this.radarrRootFolders) { +// const path = this.radarrRootFolders.filter((folder) => { +// return folder.id === req.rootPathOverride; +// }); +// if (path.length > 0) { +// req.rootPathOverrideTitle = path[0].path; +// } +// } +// } - private setOverride(req: IMovieRequests): void { - this.setPoster(req); - this.setBackground(req); - this.setQualityOverrides(req); - this.setRootFolderOverrides(req); - } +// private setOverride(req: IMovieRequests): void { +// this.setPoster(req); +// this.setBackground(req); +// this.setQualityOverrides(req); +// this.setRootFolderOverrides(req); +// } - private setPoster(req: IMovieRequests): void { - if (req.posterPath === null) { - req.posterPath = this.defaultPoster; - } else { - req.posterPath = "https://image.tmdb.org/t/p/w300/" + req.posterPath; - } - } +// private setPoster(req: IMovieRequests): void { +// if (req.posterPath === null) { +// req.posterPath = this.defaultPoster; +// } else { +// req.posterPath = "https://image.tmdb.org/t/p/w300/" + req.posterPath; +// } +// } - private setBackground(req: IMovieRequests): void { - req.backgroundPath = this.sanitizer.bypassSecurityTrustStyle - ("url(" + "https://image.tmdb.org/t/p/w1280" + req.background + ")"); - } +// private setBackground(req: IMovieRequests): void { +// req.backgroundPath = this.sanitizer.bypassSecurityTrustStyle +// ("url(" + "https://image.tmdb.org/t/p/w1280" + req.background + ")"); +// } -} +// } diff --git a/src/Ombi/ClientApp/src/app/requests/music/musicrequests.component.ts b/src/Ombi/ClientApp/src/app/requests/music/musicrequests.component.ts index 54d0ca0c4..ccac00776 100644 --- a/src/Ombi/ClientApp/src/app/requests/music/musicrequests.component.ts +++ b/src/Ombi/ClientApp/src/app/requests/music/musicrequests.component.ts @@ -1,349 +1,349 @@ -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, IAlbumRequest, IFilter, IIssueCategory, IPagenator, OrderType } from "../../interfaces"; -import { NotificationService, RequestService } from "../../services"; +// import { AuthService } from "../../auth/auth.service"; +// import { FilterType, IAlbumRequest, IFilter, IIssueCategory, IPagenator, OrderType } from "../../interfaces"; +// import { NotificationService, RequestService } from "../../services"; -@Component({ - selector: "music-requests", - templateUrl: "./musicrequests.component.html", -}) -export class MusicRequestsComponent implements OnInit { - public albumRequests: IAlbumRequest[]; - public defaultPoster: string; +// @Component({ +// selector: "music-requests", +// templateUrl: "./musicrequests.component.html", +// }) +// export class MusicRequestsComponent implements OnInit { +// public albumRequests: IAlbumRequest[]; +// public defaultPoster: string; - public searchChanged: Subject = new Subject(); - public searchText: string; +// public searchChanged: Subject = new Subject(); +// public searchText: string; - public isAdmin: boolean; // Also PowerUser +// public isAdmin: boolean; // Also PowerUser - @Input() public issueCategories: IIssueCategory[]; - @Input() public issuesEnabled: boolean; - public issuesBarVisible = false; - public issueRequest: IAlbumRequest; - public issueProviderId: string; - public issueCategorySelected: IIssueCategory; +// @Input() public issueCategories: IIssueCategory[]; +// @Input() public issuesEnabled: boolean; +// public issuesBarVisible = false; +// public issueRequest: IAlbumRequest; +// public issueProviderId: string; +// public issueCategorySelected: IIssueCategory; - public filterDisplay: boolean; - public filter: IFilter; - public filterType = FilterType; +// public filterDisplay: boolean; +// public filter: IFilter; +// public filterType = FilterType; - public orderType: OrderType = OrderType.RequestedDateDesc; - public OrderType = OrderType; - public denyDisplay: boolean; - public requestToDeny: IAlbumRequest; - public rejectionReason: string; +// public orderType: OrderType = OrderType.RequestedDateDesc; +// public OrderType = OrderType; +// public denyDisplay: boolean; +// public requestToDeny: IAlbumRequest; +// public rejectionReason: string; - public totalAlbums: number = 100; - public currentlyLoaded: number; - private amountToLoad: number; - private href: string; +// public totalAlbums: number = 100; +// public currentlyLoaded: number; +// private amountToLoad: number; +// private href: string; - constructor( - private requestService: RequestService, - private auth: AuthService, - private notificationService: NotificationService, - private sanitizer: DomSanitizer, - @Inject(APP_BASE_HREF) href:string) { - this.href = href; - 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.searchAlbumRequests(this.searchText) - .subscribe(m => { - this.setOverrides(m); - this.albumRequests = m; - }); - }); - this.defaultPoster = "../../../images/default-music-placeholder.png"; - const base = this.href; - if (base) { - this.defaultPoster = "../../.." + base + "/images/default-music-placeholder.png"; - } - } +// constructor( +// private requestService: RequestService, +// private auth: AuthService, +// private notificationService: NotificationService, +// private sanitizer: DomSanitizer, +// @Inject(APP_BASE_HREF) href:string) { +// this.href = href; +// 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.searchAlbumRequests(this.searchText) +// .subscribe(m => { +// this.setOverrides(m); +// this.albumRequests = m; +// }); +// }); +// this.defaultPoster = "../../../images/default-music-placeholder.png"; +// const base = this.href; +// if (base) { +// this.defaultPoster = "../../.." + base + "/images/default-music-placeholder.png"; +// } +// } - public ngOnInit() { - this.amountToLoad = 10; - this.currentlyLoaded = 10; - this.filter = { - availabilityFilter: FilterType.None, - statusFilter: FilterType.None, - }; - this.loadInit(); - this.isAdmin = this.auth.hasRole("admin") || this.auth.hasRole("poweruser"); - } +// public ngOnInit() { +// this.amountToLoad = 10; +// this.currentlyLoaded = 10; +// this.filter = { +// availabilityFilter: FilterType.None, +// statusFilter: FilterType.None, +// }; +// this.loadInit(); +// this.isAdmin = this.auth.hasRole("admin") || this.auth.hasRole("poweruser"); +// } - public paginate(event: IPagenator) { - const skipAmount = event.first; - this.loadRequests(this.amountToLoad, skipAmount); - } +// public paginate(event: IPagenator) { +// const skipAmount = event.first; +// this.loadRequests(this.amountToLoad, skipAmount); +// } - public search(text: any) { - this.searchChanged.next(text.target.value); - } +// public search(text: any) { +// this.searchChanged.next(text.target.value); +// } - public async removeRequest(request: IAlbumRequest) { - await this.requestService.removeAlbumRequest(request).toPromise(); - this.removeRequestFromUi(request); - this.loadRequests(this.amountToLoad, this.currentlyLoaded = 0); - } +// public async removeRequest(request: IAlbumRequest) { +// await this.requestService.removeAlbumRequest(request).toPromise(); +// this.removeRequestFromUi(request); +// this.loadRequests(this.amountToLoad, this.currentlyLoaded = 0); +// } - public changeAvailability(request: IAlbumRequest, available: boolean) { - request.available = available; +// public changeAvailability(request: IAlbumRequest, available: boolean) { +// request.available = available; - if (available) { - this.requestService.markAlbumAvailable({ id: request.id }).subscribe(x => { - if (x.result) { - this.notificationService.success( - `${request.title} Is now available`); - } else { - this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } else { - this.requestService.markAlbumUnavailable({ id: request.id }).subscribe(x => { - if (x.result) { - this.notificationService.success( - `${request.title} Is now unavailable`); - } else { - this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } - } +// if (available) { +// this.requestService.markAlbumAvailable({ id: request.id }).subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `${request.title} Is now available`); +// } else { +// this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } else { +// this.requestService.markAlbumUnavailable({ id: request.id }).subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `${request.title} Is now unavailable`); +// } else { +// this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } +// } - public approve(request: IAlbumRequest) { - request.approved = true; - this.approveRequest(request); - } +// public approve(request: IAlbumRequest) { +// request.approved = true; +// this.approveRequest(request); +// } - public deny(request: IAlbumRequest) { - this.requestToDeny = request; - this.denyDisplay = true; - } +// public deny(request: IAlbumRequest) { +// this.requestToDeny = request; +// this.denyDisplay = true; +// } - public denyRequest() { - this.requestService.denyAlbum({ id: this.requestToDeny.id, reason: this.rejectionReason }) - .subscribe(x => { - if (x.result) { - this.notificationService.success( - `Request for ${this.requestToDeny.title} has been denied successfully`); - } else { - this.notificationService.warning("Request Denied", x.message ? x.message : x.errorMessage); - this.requestToDeny.denied = false; - } - }); - } +// public denyRequest() { +// this.requestService.denyAlbum({ id: this.requestToDeny.id, reason: this.rejectionReason }) +// .subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `Request for ${this.requestToDeny.title} has been denied successfully`); +// } else { +// this.notificationService.warning("Request Denied", x.message ? x.message : x.errorMessage); +// this.requestToDeny.denied = false; +// } +// }); +// } - public reportIssue(catId: IIssueCategory, req: IAlbumRequest) { - this.issueRequest = req; - this.issueCategorySelected = catId; - this.issuesBarVisible = true; - this.issueProviderId = req.foreignAlbumId; - } +// public reportIssue(catId: IIssueCategory, req: IAlbumRequest) { +// this.issueRequest = req; +// this.issueCategorySelected = catId; +// this.issuesBarVisible = true; +// this.issueProviderId = req.foreignAlbumId; +// } - public ignore(event: any): void { - event.preventDefault(); - } +// public ignore(event: any): void { +// event.preventDefault(); +// } - public clearFilter(el: any) { - el = el.toElement || el.relatedTarget || el.target || el.srcElement; +// public clearFilter(el: any) { +// el = el.toElement || el.relatedTarget || el.target || el.srcElement; - el = el.parentElement; - el = el.querySelectorAll("INPUT"); - for (el of el) { - el.checked = false; - el.parentElement.classList.remove("active"); - } +// el = el.parentElement; +// el = el.querySelectorAll("INPUT"); +// for (el of el) { +// el.checked = false; +// el.parentElement.classList.remove("active"); +// } - this.filterDisplay = false; - this.filter.availabilityFilter = FilterType.None; - this.filter.statusFilter = FilterType.None; +// this.filterDisplay = false; +// this.filter.availabilityFilter = FilterType.None; +// this.filter.statusFilter = FilterType.None; - this.resetSearch(); - } +// this.resetSearch(); +// } - public filterAvailability(filter: FilterType, el: any) { - this.filterActiveStyle(el); - this.filter.availabilityFilter = filter; - this.loadInit(); - } +// public filterAvailability(filter: FilterType, el: any) { +// this.filterActiveStyle(el); +// this.filter.availabilityFilter = filter; +// this.loadInit(); +// } - public filterStatus(filter: FilterType, el: any) { - this.filterActiveStyle(el); - this.filter.statusFilter = filter; - this.loadInit(); - } +// public filterStatus(filter: FilterType, el: any) { +// this.filterActiveStyle(el); +// this.filter.statusFilter = filter; +// this.loadInit(); +// } - public setOrder(value: OrderType, el: any) { - el = el.toElement || el.relatedTarget || el.target || el.srcElement; +// public setOrder(value: OrderType, el: any) { +// el = el.toElement || el.relatedTarget || el.target || el.srcElement; - const parent = el.parentElement; - const previousFilter = parent.querySelector(".active"); +// const parent = el.parentElement; +// const previousFilter = parent.querySelector(".active"); - previousFilter.className = ""; - el.className = "active"; +// previousFilter.className = ""; +// el.className = "active"; - this.orderType = value; +// this.orderType = value; - this.loadInit(); - } +// this.loadInit(); +// } - public isRequestUser(request: IAlbumRequest) { - if (request.requestedUser.userName === this.auth.claims().name) { - return true; - } - return false; - } +// public isRequestUser(request: IAlbumRequest) { +// if (request.requestedUser.userName === this.auth.claims().name) { +// return true; +// } +// return false; +// } - // public subscribe(request: IAlbumRequest) { - // request.subscribed = true; - // this.requestService.subscribeToMovie(request.id) - // .subscribe(x => { - // this.notificationService.success("Subscribed To Movie!"); - // }); - // } +// // public subscribe(request: IAlbumRequest) { +// // request.subscribed = true; +// // this.requestService.subscribeToMovie(request.id) +// // .subscribe(x => { +// // this.notificationService.success("Subscribed To Movie!"); +// // }); +// // } - // public unSubscribe(request: IMovieRequests) { - // request.subscribed = false; - // this.requestService.unSubscribeToMovie(request.id) - // .subscribe(x => { - // this.notificationService.success("Unsubscribed Movie!"); - // }); - // } +// // public unSubscribe(request: IMovieRequests) { +// // request.subscribed = false; +// // this.requestService.unSubscribeToMovie(request.id) +// // .subscribe(x => { +// // this.notificationService.success("Unsubscribed Movie!"); +// // }); +// // } - private filterActiveStyle(el: any) { - el = el.toElement || el.relatedTarget || el.target || el.srcElement; +// private filterActiveStyle(el: any) { +// el = el.toElement || el.relatedTarget || el.target || el.srcElement; - el = el.parentElement; //gets radio div - el = el.parentElement; //gets form group div - el = el.parentElement; //gets status filter div - el = el.querySelectorAll("INPUT"); - for (el of el) { - if (el.checked) { - if (!el.parentElement.classList.contains("active")) { - el.parentElement.className += " active"; - } - } else { - el.parentElement.classList.remove("active"); - } - } - } +// el = el.parentElement; //gets radio div +// el = el.parentElement; //gets form group div +// el = el.parentElement; //gets status filter div +// el = el.querySelectorAll("INPUT"); +// for (el of el) { +// if (el.checked) { +// if (!el.parentElement.classList.contains("active")) { +// el.parentElement.className += " active"; +// } +// } else { +// el.parentElement.classList.remove("active"); +// } +// } +// } - private loadRequests(amountToLoad: number, currentlyLoaded: number) { - this.requestService.getAlbumRequests(amountToLoad, currentlyLoaded, this.orderType, this.filter) - .subscribe(x => { - this.setOverrides(x.collection); - if (!this.albumRequests) { - this.albumRequests = []; - } - this.albumRequests = x.collection; - this.totalAlbums = x.total; - this.currentlyLoaded = currentlyLoaded + amountToLoad; - }); - } +// private loadRequests(amountToLoad: number, currentlyLoaded: number) { +// this.requestService.getAlbumRequests(amountToLoad, currentlyLoaded, this.orderType, this.filter) +// .subscribe(x => { +// this.setOverrides(x.collection); +// if (!this.albumRequests) { +// this.albumRequests = []; +// } +// this.albumRequests = x.collection; +// this.totalAlbums = x.total; +// this.currentlyLoaded = currentlyLoaded + amountToLoad; +// }); +// } - private approveRequest(request: IAlbumRequest) { - this.requestService.approveAlbum({ id: request.id }) - .subscribe(x => { - request.approved = true; - if (x.result) { - this.notificationService.success( - `Request for ${request.title} has been approved successfully`); - } else { - this.notificationService.warning("Request Approved", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } +// private approveRequest(request: IAlbumRequest) { +// this.requestService.approveAlbum({ id: request.id }) +// .subscribe(x => { +// request.approved = true; +// if (x.result) { +// this.notificationService.success( +// `Request for ${request.title} has been approved successfully`); +// } else { +// this.notificationService.warning("Request Approved", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } - private loadInit() { - this.requestService.getAlbumRequests(this.amountToLoad, 0, this.orderType, this.filter) - .subscribe(x => { - this.albumRequests = x.collection; - this.totalAlbums = x.total; +// private loadInit() { +// this.requestService.getAlbumRequests(this.amountToLoad, 0, this.orderType, this.filter) +// .subscribe(x => { +// this.albumRequests = x.collection; +// this.totalAlbums = x.total; - this.setOverrides(this.albumRequests); +// this.setOverrides(this.albumRequests); - if (this.isAdmin) { - // this.radarrService.getQualityProfilesFromSettings().subscribe(c => { - // this.radarrProfiles = c; - // this.albumRequests.forEach((req) => this.setQualityOverrides(req)); - // }); - // this.radarrService.getRootFoldersFromSettings().subscribe(c => { - // this.radarrRootFolders = c; - // this.albumRequests.forEach((req) => this.setRootFolderOverrides(req)); - // }); - } - }); - } +// if (this.isAdmin) { +// // this.radarrService.getQualityProfilesFromSettings().subscribe(c => { +// // this.radarrProfiles = c; +// // this.albumRequests.forEach((req) => this.setQualityOverrides(req)); +// // }); +// // this.radarrService.getRootFoldersFromSettings().subscribe(c => { +// // this.radarrRootFolders = c; +// // this.albumRequests.forEach((req) => this.setRootFolderOverrides(req)); +// // }); +// } +// }); +// } - private resetSearch() { - this.currentlyLoaded = 5; - this.loadInit(); - } +// private resetSearch() { +// this.currentlyLoaded = 5; +// this.loadInit(); +// } - private removeRequestFromUi(key: IAlbumRequest) { - const index = this.albumRequests.indexOf(key, 0); - if (index > -1) { - this.albumRequests.splice(index, 1); - } - } +// private removeRequestFromUi(key: IAlbumRequest) { +// const index = this.albumRequests.indexOf(key, 0); +// if (index > -1) { +// this.albumRequests.splice(index, 1); +// } +// } - private setOverrides(requests: IAlbumRequest[]): void { - requests.forEach((req) => { - this.setOverride(req); - }); - } +// private setOverrides(requests: IAlbumRequest[]): void { +// requests.forEach((req) => { +// this.setOverride(req); +// }); +// } - // private setQualityOverrides(req: IMovieRequests): void { - // if (this.radarrProfiles) { - // const profile = this.radarrProfiles.filter((p) => { - // return p.id === req.qualityOverride; - // }); - // if (profile.length > 0) { - // req.qualityOverrideTitle = profile[0].name; - // } - // } - // } - // private setRootFolderOverrides(req: IMovieRequests): void { - // if (this.radarrRootFolders) { - // const path = this.radarrRootFolders.filter((folder) => { - // return folder.id === req.rootPathOverride; - // }); - // if (path.length > 0) { - // req.rootPathOverrideTitle = path[0].path; - // } - // } - // } +// // private setQualityOverrides(req: IMovieRequests): void { +// // if (this.radarrProfiles) { +// // const profile = this.radarrProfiles.filter((p) => { +// // return p.id === req.qualityOverride; +// // }); +// // if (profile.length > 0) { +// // req.qualityOverrideTitle = profile[0].name; +// // } +// // } +// // } +// // private setRootFolderOverrides(req: IMovieRequests): void { +// // if (this.radarrRootFolders) { +// // const path = this.radarrRootFolders.filter((folder) => { +// // return folder.id === req.rootPathOverride; +// // }); +// // if (path.length > 0) { +// // req.rootPathOverrideTitle = path[0].path; +// // } +// // } +// // } - private setOverride(req: IAlbumRequest): void { - this.setAlbumBackground(req); - // this.setQualityOverrides(req); - // this.setRootFolderOverrides(req); - } - private setAlbumBackground(req: IAlbumRequest) { - if (req.disk === null) { - if (req.cover === null) { - req.disk = this.defaultPoster; - } else { - req.disk = req.cover; - } - } - req.background = this.sanitizer.bypassSecurityTrustStyle - ("url(" + req.cover + ")"); - } +// private setOverride(req: IAlbumRequest): void { +// this.setAlbumBackground(req); +// // this.setQualityOverrides(req); +// // this.setRootFolderOverrides(req); +// } +// private setAlbumBackground(req: IAlbumRequest) { +// if (req.disk === null) { +// if (req.cover === null) { +// req.disk = this.defaultPoster; +// } else { +// req.disk = req.cover; +// } +// } +// req.background = this.sanitizer.bypassSecurityTrustStyle +// ("url(" + req.cover + ")"); +// } -} +// } diff --git a/src/Ombi/ClientApp/src/app/requests/remainingrequests.component.ts b/src/Ombi/ClientApp/src/app/requests/remainingrequests.component.ts index b7d23a3df..abdf16c63 100644 --- a/src/Ombi/ClientApp/src/app/requests/remainingrequests.component.ts +++ b/src/Ombi/ClientApp/src/app/requests/remainingrequests.component.ts @@ -1,68 +1,68 @@ -import { IRemainingRequests } from "../interfaces/IRemainingRequests"; -import { RequestService } from "../services"; +// import { IRemainingRequests } from "../interfaces/IRemainingRequests"; +// import { RequestService } from "../services"; -import { Component, Input, OnInit } from "@angular/core"; -import { Observable } from "rxjs"; +// import { Component, Input, OnInit } from "@angular/core"; +// import { Observable } from "rxjs"; -@Component({ - selector: "remaining-requests", - templateUrl: "./remainingrequests.component.html", -}) +// @Component({ +// selector: "remaining-requests", +// templateUrl: "./remainingrequests.component.html", +// }) -export class RemainingRequestsComponent implements OnInit { - public remaining: IRemainingRequests; - @Input() public movie: boolean; - @Input() public tv: boolean; - @Input() public music: boolean; - public daysUntil: number; - public hoursUntil: number; - public minutesUntil: number; - @Input() public quotaRefreshEvents: Observable; +// export class RemainingRequestsComponent implements OnInit { +// public remaining: IRemainingRequests; +// @Input() public movie: boolean; +// @Input() public tv: boolean; +// @Input() public music: boolean; +// public daysUntil: number; +// public hoursUntil: number; +// public minutesUntil: number; +// @Input() public quotaRefreshEvents: Observable; - constructor(private requestService: RequestService) { - } +// constructor(private requestService: RequestService) { +// } - public ngOnInit() { - this.update(); +// public ngOnInit() { +// this.update(); - this.quotaRefreshEvents.subscribe(() => { - this.update(); - }); - } +// this.quotaRefreshEvents.subscribe(() => { +// this.update(); +// }); +// } - public update(): void { - const callback = (remaining => { - this.remaining = remaining; - if(this.remaining) { - this.calculateTime(); - } - }); - if (this.movie) { - this.requestService.getRemainingMovieRequests().subscribe(callback); - } - if(this.tv) { - this.requestService.getRemainingTvRequests().subscribe(callback); - } - if(this.music) { - this.requestService.getRemainingMusicRequests().subscribe(callback); - } - } +// public update(): void { +// const callback = (remaining => { +// this.remaining = remaining; +// if(this.remaining) { +// this.calculateTime(); +// } +// }); +// if (this.movie) { +// this.requestService.getRemainingMovieRequests().subscribe(callback); +// } +// if(this.tv) { +// this.requestService.getRemainingTvRequests().subscribe(callback); +// } +// if(this.music) { +// this.requestService.getRemainingMusicRequests().subscribe(callback); +// } +// } - private calculateTime(): void { - this.daysUntil = Math.ceil(this.daysUntilNextRequest()); - this.hoursUntil = Math.ceil(this.hoursUntilNextRequest()); - this.minutesUntil = Math.ceil(this.minutesUntilNextRequest()); - } +// private calculateTime(): void { +// this.daysUntil = Math.ceil(this.daysUntilNextRequest()); +// this.hoursUntil = Math.ceil(this.hoursUntilNextRequest()); +// this.minutesUntil = Math.ceil(this.minutesUntilNextRequest()); +// } - private daysUntilNextRequest(): number { - return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60 / 24; - } +// private daysUntilNextRequest(): number { +// return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60 / 24; +// } - private hoursUntilNextRequest(): number { - return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60; - } +// private hoursUntilNextRequest(): number { +// return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60; +// } - private minutesUntilNextRequest(): number { - return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60; - } -} +// private minutesUntilNextRequest(): number { +// return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60; +// } +// } diff --git a/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts b/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts index dc8ad0126..06a1d79de 100644 --- a/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts +++ b/src/Ombi/ClientApp/src/app/requests/remainingrequests.module.ts @@ -2,15 +2,11 @@ import { FormsModule } from "@angular/forms"; import { RouterModule } from "@angular/router"; -import { SidebarModule, TooltipModule, TreeTableModule } from "primeng/primeng"; import { RequestService } from "../services"; @NgModule({ imports: [ - FormsModule, - TreeTableModule, - SidebarModule, - TooltipModule, + FormsModule ], declarations: [ ], diff --git a/src/Ombi/ClientApp/src/app/requests/request.component.ts b/src/Ombi/ClientApp/src/app/requests/request.component.ts index b318d619b..ee92a740e 100644 --- a/src/Ombi/ClientApp/src/app/requests/request.component.ts +++ b/src/Ombi/ClientApp/src/app/requests/request.component.ts @@ -1,48 +1,48 @@  -import { Component, OnInit } from "@angular/core"; +// import { Component, OnInit } from "@angular/core"; -import { IIssueCategory } from "../interfaces"; -import { IssuesService, SettingsService } from "../services"; +// import { IIssueCategory } from "../interfaces"; +// import { IssuesService, SettingsService } from "../services"; -@Component({ - templateUrl: "./request.component.html", -}) -export class RequestComponent implements OnInit { +// @Component({ +// templateUrl: "./request.component.html", +// }) +// export class RequestComponent implements OnInit { - public showMovie = true; - public showTv = false; - public showAlbums = false; +// public showMovie = true; +// public showTv = false; +// public showAlbums = false; - public issueCategories: IIssueCategory[]; - public issuesEnabled = false; - public musicEnabled: boolean; +// public issueCategories: IIssueCategory[]; +// public issuesEnabled = false; +// public musicEnabled: boolean; - constructor(private issuesService: IssuesService, - private settingsService: SettingsService) { +// constructor(private issuesService: IssuesService, +// private settingsService: SettingsService) { - } +// } - public ngOnInit(): void { - this.issuesService.getCategories().subscribe(x => this.issueCategories = x); - this.settingsService.lidarrEnabled().subscribe(x => this.musicEnabled = x); - this.settingsService.getIssueSettings().subscribe(x => this.issuesEnabled = x.enabled); - } +// public ngOnInit(): void { +// this.issuesService.getCategories().subscribe(x => this.issueCategories = x); +// this.settingsService.lidarrEnabled().subscribe(x => this.musicEnabled = x); +// this.settingsService.getIssueSettings().subscribe(x => this.issuesEnabled = x.enabled); +// } - public selectMovieTab() { - this.showMovie = true; - this.showTv = false; - this.showAlbums = false; - } +// public selectMovieTab() { +// this.showMovie = true; +// this.showTv = false; +// this.showAlbums = false; +// } - public selectTvTab() { - this.showMovie = false; - this.showTv = true; - this.showAlbums = false; - } +// public selectTvTab() { +// this.showMovie = false; +// this.showTv = true; +// this.showAlbums = false; +// } - public selectMusicTab() { - this.showMovie = false; - this.showTv = false; - this.showAlbums = true; - } -} +// public selectMusicTab() { +// this.showMovie = false; +// this.showTv = false; +// this.showAlbums = true; +// } +// } diff --git a/src/Ombi/ClientApp/src/app/requests/requests.module.ts b/src/Ombi/ClientApp/src/app/requests/requests.module.ts index 7e445701d..bb491d5ff 100644 --- a/src/Ombi/ClientApp/src/app/requests/requests.module.ts +++ b/src/Ombi/ClientApp/src/app/requests/requests.module.ts @@ -1,57 +1,49 @@ -import { NgModule } from "@angular/core"; -import { RouterModule, Routes } from "@angular/router"; -import { OrderModule } from "ngx-order-pipe"; +// import { NgModule } from "@angular/core"; +// import { RouterModule, Routes } from "@angular/router"; +// import { OrderModule } from "ngx-order-pipe"; -import { InfiniteScrollModule } from "ngx-infinite-scroll"; +// import { InfiniteScrollModule } from "ngx-infinite-scroll"; -import { ButtonModule, DialogModule, PaginatorModule } from "primeng/primeng"; -import { MovieRequestsComponent } from "./movierequests.component"; -import { MusicRequestsComponent } from "./music/musicrequests.component"; -// Request -import { RequestComponent } from "./request.component"; -import { TvRequestChildrenComponent } from "./tvrequest-children.component"; -import { TvRequestsComponent } from "./tvrequests.component"; +// import { MovieRequestsComponent } from "./movierequests.component"; +// import { MusicRequestsComponent } from "./music/musicrequests.component"; +// // Request +// import { RequestComponent } from "./request.component"; +// import { TvRequestChildrenComponent } from "./tvrequest-children.component"; +// import { TvRequestsComponent } from "./tvrequests.component"; -import { SidebarModule, TooltipModule, TreeTableModule } from "primeng/primeng"; -import { IdentityService, RadarrService, RequestService, SonarrService } from "../services"; +// import { IdentityService, RadarrService, RequestService, SonarrService } from "../services"; -import { AuthGuard } from "../auth/auth.guard"; +// import { AuthGuard } from "../auth/auth.guard"; -import { SharedModule } from "../shared/shared.module"; +// import { SharedModule } from "../shared/shared.module"; -const routes: Routes = [ - { path: "", component: RequestComponent, canActivate: [AuthGuard] }, -]; -@NgModule({ - imports: [ - RouterModule.forChild(routes), - InfiniteScrollModule, - ButtonModule, - DialogModule, - TreeTableModule, - SharedModule, - SidebarModule, - OrderModule, - PaginatorModule, - TooltipModule, - ], - declarations: [ - RequestComponent, - MovieRequestsComponent, - TvRequestsComponent, - TvRequestChildrenComponent, - MusicRequestsComponent, - ], - exports: [ - RouterModule, - ], - providers: [ - IdentityService, - RequestService, - RadarrService, - SonarrService, - ], +// const routes: Routes = [ +// { path: "", component: RequestComponent, canActivate: [AuthGuard] }, +// ]; +// @NgModule({ +// imports: [ +// RouterModule.forChild(routes), +// InfiniteScrollModule, +// SharedModule, +// OrderModule, +// ], +// declarations: [ +// RequestComponent, +// MovieRequestsComponent, +// TvRequestsComponent, +// TvRequestChildrenComponent, +// MusicRequestsComponent, +// ], +// exports: [ +// RouterModule, +// ], +// providers: [ +// IdentityService, +// RequestService, +// RadarrService, +// SonarrService, +// ], -}) -export class RequestsModule { } +// }) +// export class RequestsModule { } diff --git a/src/Ombi/ClientApp/src/app/requests/tvrequest-children.component.ts b/src/Ombi/ClientApp/src/app/requests/tvrequest-children.component.ts index 0e72c682a..fec1222de 100644 --- a/src/Ombi/ClientApp/src/app/requests/tvrequest-children.component.ts +++ b/src/Ombi/ClientApp/src/app/requests/tvrequest-children.component.ts @@ -1,138 +1,138 @@ -import { Component, EventEmitter, Input, Output } from "@angular/core"; -import { IChildRequests } from "../interfaces"; +// import { Component, EventEmitter, Input, Output } from "@angular/core"; +// import { IChildRequests } from "../interfaces"; -import { NotificationService, RequestService } from "../services"; +// import { NotificationService, RequestService } from "../services"; -@Component({ - selector: "tvrequests-children", - templateUrl: "./tvrequest-children.component.html", -}) -export class TvRequestChildrenComponent { - @Input() public childRequests: IChildRequests[]; - @Input() public isAdmin: boolean; - @Input() public currentUser: string; +// @Component({ +// selector: "tvrequests-children", +// templateUrl: "./tvrequest-children.component.html", +// }) +// export class TvRequestChildrenComponent { +// @Input() public childRequests: IChildRequests[]; +// @Input() public isAdmin: boolean; +// @Input() public currentUser: string; - public denyDisplay: boolean; - public requestToDeny: IChildRequests; - public rejectionReason: string; +// public denyDisplay: boolean; +// public requestToDeny: IChildRequests; +// public rejectionReason: string; - @Output() public requestDeleted = new EventEmitter(); +// @Output() public requestDeleted = new EventEmitter(); - constructor(private requestService: RequestService, - private notificationService: NotificationService) { } +// constructor(private requestService: RequestService, +// private notificationService: NotificationService) { } - public removeRequest(request: IChildRequests) { - this.requestService.deleteChild(request.id) - .subscribe(x => { - this.removeRequestFromUi(request); - this.requestDeleted.emit(request.id); - }); - } +// public removeRequest(request: IChildRequests) { +// this.requestService.deleteChild(request.id) +// .subscribe(x => { +// this.removeRequestFromUi(request); +// this.requestDeleted.emit(request.id); +// }); +// } - public changeAvailability(request: IChildRequests, available: boolean) { - request.available = available; - request.seasonRequests.forEach((season) => { - season.episodes.forEach((ep) => { - ep.available = available; - }); - }); - if (available) { - this.requestService.markTvAvailable({ id: request.id }).subscribe(x => { - if (x.result) { - this.notificationService.success( - `This request is now available`); - } else { - this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } else { - this.requestService.markTvUnavailable({ id: request.id }).subscribe(x => { - if (x.result) { - this.notificationService.success( - `This request is now unavailable`); - } else { - this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } - } +// public changeAvailability(request: IChildRequests, available: boolean) { +// request.available = available; +// request.seasonRequests.forEach((season) => { +// season.episodes.forEach((ep) => { +// ep.available = available; +// }); +// }); +// if (available) { +// this.requestService.markTvAvailable({ id: request.id }).subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `This request is now available`); +// } else { +// this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } else { +// this.requestService.markTvUnavailable({ id: request.id }).subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `This request is now unavailable`); +// } else { +// this.notificationService.warning("Request Available", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } +// } - public deny(request: IChildRequests) { - request.denied = true; - this.requestToDeny = request; - this.denyDisplay = true; +// public deny(request: IChildRequests) { +// request.denied = true; +// this.requestToDeny = request; +// this.denyDisplay = true; - request.seasonRequests.forEach((season) => { - season.episodes.forEach((ep) => { - ep.approved = false; - }); - }); - } +// request.seasonRequests.forEach((season) => { +// season.episodes.forEach((ep) => { +// ep.approved = false; +// }); +// }); +// } - public denyRequest() { - this.requestService.denyChild({ id: this.requestToDeny.id, reason: this.rejectionReason }) - .subscribe(x => { - this.denyDisplay = false; - if (x.result) { - this.notificationService.success( - `Request has been denied successfully`); - } else { - this.notificationService.warning("Request Denied", x.message ? x.message : x.errorMessage); - this.requestToDeny.approved = false; - } - }); - } +// public denyRequest() { +// this.requestService.denyChild({ id: this.requestToDeny.id, reason: this.rejectionReason }) +// .subscribe(x => { +// this.denyDisplay = false; +// if (x.result) { +// this.notificationService.success( +// `Request has been denied successfully`); +// } else { +// this.notificationService.warning("Request Denied", x.message ? x.message : x.errorMessage); +// this.requestToDeny.approved = false; +// } +// }); +// } - public approve(request: IChildRequests) { - request.approved = true; - request.denied = false; - request.seasonRequests.forEach((season) => { - season.episodes.forEach((ep) => { - ep.approved = true; - }); - }); - this.requestService.approveChild({ id: request.id }) - .subscribe(x => { - if (x.result) { - this.notificationService.success( - `Request has been approved successfully`); - } else { - this.notificationService.warning("Request Approved", x.message ? x.message : x.errorMessage); - request.approved = false; - } - }); - } +// public approve(request: IChildRequests) { +// request.approved = true; +// request.denied = false; +// request.seasonRequests.forEach((season) => { +// season.episodes.forEach((ep) => { +// ep.approved = true; +// }); +// }); +// this.requestService.approveChild({ id: request.id }) +// .subscribe(x => { +// if (x.result) { +// this.notificationService.success( +// `Request has been approved successfully`); +// } else { +// this.notificationService.warning("Request Approved", x.message ? x.message : x.errorMessage); +// request.approved = false; +// } +// }); +// } - public subscribe(request: IChildRequests) { - request.subscribed = true; - this.requestService.subscribeToTv(request.id) - .subscribe(x => { - this.notificationService.success("Subscribed To TV Show!"); - }); - } +// public subscribe(request: IChildRequests) { +// request.subscribed = true; +// this.requestService.subscribeToTv(request.id) +// .subscribe(x => { +// this.notificationService.success("Subscribed To TV Show!"); +// }); +// } - public unSubscribe(request: IChildRequests) { - request.subscribed = false; - this.requestService.unSubscribeToTv(request.id) - .subscribe(x => { - this.notificationService.success("Unsubscribed TV Show!"); - }); - } +// public unSubscribe(request: IChildRequests) { +// request.subscribed = false; +// this.requestService.unSubscribeToTv(request.id) +// .subscribe(x => { +// this.notificationService.success("Unsubscribed TV Show!"); +// }); +// } - public isRequestUser(request: IChildRequests) { - if (request.requestedUser.userName === this.currentUser) { - return true; - } - return false; - } +// public isRequestUser(request: IChildRequests) { +// if (request.requestedUser.userName === this.currentUser) { +// return true; +// } +// return false; +// } - private removeRequestFromUi(key: IChildRequests) { - const index = this.childRequests.indexOf(key, 0); - if (index > -1) { - this.childRequests.splice(index, 1); - } - } +// private removeRequestFromUi(key: IChildRequests) { +// const index = this.childRequests.indexOf(key, 0); +// if (index > -1) { +// this.childRequests.splice(index, 1); +// } +// } -} +// } diff --git a/src/Ombi/ClientApp/src/app/requests/tvrequests.component.html b/src/Ombi/ClientApp/src/app/requests/tvrequests.component.html index 7c5e13479..889b485d7 100644 --- a/src/Ombi/ClientApp/src/app/requests/tvrequests.component.html +++ b/src/Ombi/ClientApp/src/app/requests/tvrequests.component.html @@ -6,109 +6,107 @@
-
- -
-
-
-
+
+ +
+
+
+
-
+
- poster + poster +
+ +
+ +
+
+ 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}}
- -
-
-
+
+ + -
- -
- - - -
- - -
- - - -
- -
- + + +
+ + + +
+ +
+
- -
- -
- +
+ +
+ +
+

-
+
- \ 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 ab63302b6..d0a3f0e78 100644 --- a/src/Ombi/ClientApp/src/app/search/search.module.ts +++ b/src/Ombi/ClientApp/src/app/search/search.module.ts @@ -15,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"; diff --git a/src/Ombi/ClientApp/src/app/services/notification.service.ts b/src/Ombi/ClientApp/src/app/services/notification.service.ts index 7e0cc1f0f..d72440610 100644 --- a/src/Ombi/ClientApp/src/app/services/notification.service.ts +++ b/src/Ombi/ClientApp/src/app/services/notification.service.ts @@ -1,5 +1,4 @@ import { Injectable } from "@angular/core"; -import { Message } from "primeng/components/common/api"; import { MatSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar"; @Injectable() @@ -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/settings.module.ts b/src/Ombi/ClientApp/src/app/settings/settings.module.ts index a07c2fa95..4943ef6f5 100644 --- a/src/Ombi/ClientApp/src/app/settings/settings.module.ts +++ b/src/Ombi/ClientApp/src/app/settings/settings.module.ts @@ -51,7 +51,15 @@ import { WikiComponent } from "./wiki.component"; import { SettingsMenuComponent } from "./settingsmenu.component"; -import { AutoCompleteModule, CalendarModule, DialogModule, InputSwitchModule, InputTextModule, MenuModule, RadioButtonModule, TooltipModule } from "primeng/primeng"; +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"; diff --git a/src/Ombi/ClientApp/src/app/shared/shared.module.ts b/src/Ombi/ClientApp/src/app/shared/shared.module.ts index d00b002ee..30c7f4df8 100644 --- a/src/Ombi/ClientApp/src/app/shared/shared.module.ts +++ b/src/Ombi/ClientApp/src/app/shared/shared.module.ts @@ -7,7 +7,8 @@ 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 } from '@angular/material/button'; import { MatNativeDateModule } from '@angular/material/core'; 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.module.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts index 166f42673..80cf1af7e 100644 --- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts +++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts @@ -2,7 +2,10 @@ 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"; @@ -51,7 +54,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 ffab837cd..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"; diff --git a/src/Ombi/ClientApp/src/app/vote/vote.module.ts b/src/Ombi/ClientApp/src/app/vote/vote.module.ts index ee7532da5..e8fc7d608 100644 --- a/src/Ombi/ClientApp/src/app/vote/vote.module.ts +++ b/src/Ombi/ClientApp/src/app/vote/vote.module.ts @@ -3,7 +3,8 @@ 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"; @@ -21,7 +22,6 @@ const routes: Routes = [ 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 db855a988..5438e8e9c 100644 --- a/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts +++ b/src/Ombi/ClientApp/src/app/wizard/wizard.module.ts @@ -3,7 +3,6 @@ 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/stepper"; import { CreateAdminComponent } from "./createadmin/createadmin.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/polyfills.ts b/src/Ombi/ClientApp/src/polyfills.ts index a12fe103c..886a3ddf4 100644 --- a/src/Ombi/ClientApp/src/polyfills.ts +++ b/src/Ombi/ClientApp/src/polyfills.ts @@ -1,2 +1,6 @@ +/*************************************************************************************************** + * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates. + */ +import '@angular/localize/init'; import "core-js/es7/reflect"; import "zone.js/dist/zone"; From ec15755b94b6c4edea234c347e6e21ea46f8f318 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Sun, 17 May 2020 00:56:36 +0100 Subject: [PATCH 06/17] Fixed the material tabes --- src/Ombi/ClientApp/angular.json | 227 +++++++++--------- .../components/requests-list.component.scss | 8 +- src/Ombi/ClientApp/src/index.html | 3 +- .../src/styles/material-overrides.scss | 8 +- 4 files changed, 130 insertions(+), 116 deletions(-) diff --git a/src/Ombi/ClientApp/angular.json b/src/Ombi/ClientApp/angular.json index e173026e4..8e11bff43 100644 --- a/src/Ombi/ClientApp/angular.json +++ b/src/Ombi/ClientApp/angular.json @@ -1,114 +1,123 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "ombi": { - "root": "", - "sourceRoot": "src", - "projectType": "application", - "prefix": "app", - "schematics": {}, - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "aot": true, - "progress": true, - "extractCss": true, - "outputPath": "dist", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "src/tsconfig.app.json", - "assets": [ - "src/assets" - ], - "styles": [ - "src/styles/_imports.scss", - "node_modules/bootstrap/scss/bootstrap.scss", - "node_modules/font-awesome/scss/font-awesome.scss", - "node_modules/primeng/resources/primeng.min.css", - "node_modules/primeicons/primeicons.css", - "node_modules/please-wait/src/please-wait.scss", - "node_modules/@fullcalendar/core/main.min.css", - "node_modules/spinkit/scss/spinners/11-folding-cube.scss", - "node_modules/spinkit/scss/spinkit.scss" - ], - "scripts": [ - "node_modules/jquery/dist/jquery.min.js", - "node_modules/chart.js/dist/Chart.js", - "./node_modules/@fullcalendar/core/main.js", - "./node_modules/@fullcalendar/interaction/main.js" - ] - }, - "configurations": { - "production": { - "budgets": [{ - "type": "anyComponentStyle", - "maximumWarning": "6kb" - }], - "fileReplacements": [{ - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - }], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "aot": true, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true - }, - "hmr": { - "budgets": [{ - "type": "anyComponentStyle", - "maximumWarning": "6kb" - }], - "fileReplacements": [{ - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.hmr.ts" - }] - } - } - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "ombi:build" - }, - "configurations": { - "production": { - "browserTarget": "ombi:build:production" - }, - "hmr": { - "hmr": true, - "browserTarget": "ombi:build:hmr", - "hmrWarning": false - } - } - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "ombi:build" - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "src/tsconfig.app.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "ombi": { + "root": "", + "sourceRoot": "src", + "projectType": "application", + "prefix": "app", + "schematics": {}, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "aot": true, + "progress": true, + "extractCss": true, + "outputPath": "dist", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.app.json", + "assets": [ + "src/assets" + ], + "styles": [ + "./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css", + "src/styles/_imports.scss", + "node_modules/bootstrap/scss/bootstrap.scss", + "node_modules/font-awesome/scss/font-awesome.scss", + "node_modules/primeng/resources/primeng.min.css", + "node_modules/primeicons/primeicons.css", + "node_modules/please-wait/src/please-wait.scss", + "node_modules/@fullcalendar/core/main.min.css", + "node_modules/spinkit/scss/spinners/11-folding-cube.scss", + "node_modules/spinkit/scss/spinkit.scss" + ], + "scripts": [ + "node_modules/jquery/dist/jquery.min.js", + "node_modules/chart.js/dist/Chart.js", + "./node_modules/@fullcalendar/core/main.js", + "./node_modules/@fullcalendar/interaction/main.js" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true + }, + "hmr": { + "budgets": [ + { + "type": "anyComponentStyle", + "maximumWarning": "6kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.hmr.ts" + } + ] } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "ombi:build" + }, + "configurations": { + "production": { + "browserTarget": "ombi:build:production" + }, + "hmr": { + "hmr": true, + "browserTarget": "ombi:build:hmr", + "hmrWarning": false + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "ombi:build" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "src/tsconfig.app.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } } - }, - "defaultProject": "ombi" + } + } + }, + "defaultProject": "ombi" } \ No newline at end of file diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss index c875fa54c..0de21e45d 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss +++ b/src/Ombi/ClientApp/src/app/requests-list/components/requests-list.component.scss @@ -1,4 +1,4 @@ -.small-middle-container{ - margin: auto; - width: 95%; -} +.small-middle-container { + margin: auto; + width: 95%; +} \ No newline at end of file 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 + - +