mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 05:13:18 -07:00
Fix issues with remaining count updating
This commit is contained in:
parent
b30a2c0950
commit
c5e396a9e8
5 changed files with 29 additions and 13 deletions
|
@ -22,6 +22,10 @@ export class RemainingRequestsComponent implements OnInit {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.update();
|
this.update();
|
||||||
|
|
||||||
|
this.requestService.onRequested().subscribe(m => {
|
||||||
|
this.update();
|
||||||
|
});
|
||||||
|
|
||||||
setInterval(function(){
|
setInterval(function(){
|
||||||
self.calculateTime();
|
self.calculateTime();
|
||||||
}, 10000)
|
}, 10000)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { PlatformLocation } from "@angular/common";
|
import { PlatformLocation } from "@angular/common";
|
||||||
import { Component, Input, OnInit, ViewChild } from "@angular/core";
|
import { Component, Input, OnInit } from "@angular/core";
|
||||||
import { DomSanitizer } from "@angular/platform-browser";
|
import { DomSanitizer } from "@angular/platform-browser";
|
||||||
import { TranslateService } from "@ngx-translate/core";
|
import { TranslateService } from "@ngx-translate/core";
|
||||||
import { Subject } from "rxjs";
|
import { Subject } from "rxjs";
|
||||||
|
@ -8,7 +8,6 @@ import { debounceTime, distinctUntilChanged } from "rxjs/operators";
|
||||||
import { AuthService } from "../auth/auth.service";
|
import { AuthService } from "../auth/auth.service";
|
||||||
import { IIssueCategory, IRequestEngineResult, ISearchMovieResult } from "../interfaces";
|
import { IIssueCategory, IRequestEngineResult, ISearchMovieResult } from "../interfaces";
|
||||||
import { NotificationService, RequestService, SearchService } from "../services";
|
import { NotificationService, RequestService, SearchService } from "../services";
|
||||||
import { RemainingRequestsComponent } from "../requests/remainingrequests.component";
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "movie-search",
|
selector: "movie-search",
|
||||||
|
@ -25,7 +24,6 @@ export class MovieSearchComponent implements OnInit {
|
||||||
|
|
||||||
@Input() public issueCategories: IIssueCategory[];
|
@Input() public issueCategories: IIssueCategory[];
|
||||||
@Input() public issuesEnabled: boolean;
|
@Input() public issuesEnabled: boolean;
|
||||||
@ViewChild('remainingFilms') public remainingRequestsComponent: RemainingRequestsComponent;
|
|
||||||
public issuesBarVisible = false;
|
public issuesBarVisible = false;
|
||||||
public issueRequestTitle: string;
|
public issueRequestTitle: string;
|
||||||
public issueRequestId: number;
|
public issueRequestId: number;
|
||||||
|
@ -91,7 +89,6 @@ export class MovieSearchComponent implements OnInit {
|
||||||
this.requestService.requestMovie({ theMovieDbId: searchResult.id })
|
this.requestService.requestMovie({ theMovieDbId: searchResult.id })
|
||||||
.subscribe(x => {
|
.subscribe(x => {
|
||||||
this.result = x;
|
this.result = x;
|
||||||
this.remainingRequestsComponent.update();
|
|
||||||
if (this.result.result) {
|
if (this.result.result) {
|
||||||
this.translate.get("Search.RequestAdded", { title: searchResult.title }).subscribe(x => {
|
this.translate.get("Search.RequestAdded", { title: searchResult.title }).subscribe(x => {
|
||||||
this.notificationService.success(x);
|
this.notificationService.success(x);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Component, Input, OnInit, ViewChild} from "@angular/core";
|
import { Component, Input, OnInit } from "@angular/core";
|
||||||
|
|
||||||
import { NotificationService } from "../services";
|
import { NotificationService } from "../services";
|
||||||
import { RequestService } from "../services";
|
import { RequestService } from "../services";
|
||||||
|
@ -7,7 +7,6 @@ import { SearchService } from "../services";
|
||||||
import { INewSeasonRequests, IRequestEngineResult, ISeasonsViewModel, ITvRequestViewModel } from "../interfaces";
|
import { INewSeasonRequests, IRequestEngineResult, ISeasonsViewModel, ITvRequestViewModel } from "../interfaces";
|
||||||
import { IEpisodesRequests } from "../interfaces";
|
import { IEpisodesRequests } from "../interfaces";
|
||||||
import { ISearchTvResult } from "../interfaces";
|
import { ISearchTvResult } from "../interfaces";
|
||||||
import { RemainingRequestsComponent } from "../requests/remainingrequests.component";
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "seriesinformation",
|
selector: "seriesinformation",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { PlatformLocation } from "@angular/common";
|
import { PlatformLocation } from "@angular/common";
|
||||||
import { Component, Input, OnInit, ViewChild } from "@angular/core";
|
import { Component, Input, OnInit } from "@angular/core";
|
||||||
import { DomSanitizer } from "@angular/platform-browser";
|
import { DomSanitizer } from "@angular/platform-browser";
|
||||||
import { Subject } from "rxjs";
|
import { Subject } from "rxjs";
|
||||||
import { debounceTime, distinctUntilChanged } from "rxjs/operators";
|
import { debounceTime, distinctUntilChanged } from "rxjs/operators";
|
||||||
|
@ -7,7 +7,6 @@ import { debounceTime, distinctUntilChanged } from "rxjs/operators";
|
||||||
import { AuthService } from "../auth/auth.service";
|
import { AuthService } from "../auth/auth.service";
|
||||||
import { IIssueCategory, IRequestEngineResult, ISearchTvResult, ISeasonsViewModel, ITvRequestViewModel } from "../interfaces";
|
import { IIssueCategory, IRequestEngineResult, ISearchTvResult, ISeasonsViewModel, ITvRequestViewModel } from "../interfaces";
|
||||||
import { ImageService, NotificationService, RequestService, SearchService } from "../services";
|
import { ImageService, NotificationService, RequestService, SearchService } from "../services";
|
||||||
import { RemainingRequestsComponent } from "../requests/remainingrequests.component";
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "tv-search",
|
selector: "tv-search",
|
||||||
|
@ -25,7 +24,6 @@ export class TvSearchComponent implements OnInit {
|
||||||
|
|
||||||
@Input() public issueCategories: IIssueCategory[];
|
@Input() public issueCategories: IIssueCategory[];
|
||||||
@Input() public issuesEnabled: boolean;
|
@Input() public issuesEnabled: boolean;
|
||||||
@ViewChild('remainingTvShows') public remainingRequestsComponent: RemainingRequestsComponent;
|
|
||||||
public issuesBarVisible = false;
|
public issuesBarVisible = false;
|
||||||
public issueRequestTitle: string;
|
public issueRequestTitle: string;
|
||||||
public issueRequestId: number;
|
public issueRequestId: number;
|
||||||
|
@ -164,7 +162,6 @@ export class TvSearchComponent implements OnInit {
|
||||||
this.requestService.requestTv(viewModel)
|
this.requestService.requestTv(viewModel)
|
||||||
.subscribe(x => {
|
.subscribe(x => {
|
||||||
this.result = x;
|
this.result = x;
|
||||||
this.remainingRequestsComponent.update();
|
|
||||||
if (this.result.result) {
|
if (this.result.result) {
|
||||||
this.notificationService.success(
|
this.notificationService.success(
|
||||||
`Request for ${searchResult.title} has been added successfully`);
|
`Request for ${searchResult.title} has been added successfully`);
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { PlatformLocation } from "@angular/common";
|
||||||
import { Injectable } from "@angular/core";
|
import { Injectable } from "@angular/core";
|
||||||
|
|
||||||
import { HttpClient } from "@angular/common/http";
|
import { HttpClient } from "@angular/common/http";
|
||||||
import { Observable } from "rxjs";
|
import { Observable, ReplaySubject } from "rxjs";
|
||||||
|
|
||||||
import { TreeNode } from "primeng/primeng";
|
import { TreeNode } from "primeng/primeng";
|
||||||
import { FilterType, IChildRequests, IFilter, IMovieRequestModel, IMovieRequests, IMovieUpdateModel, IRequestEngineResult, IRequestsViewModel, ITvRequests, ITvUpdateModel, OrderType } from "../interfaces";
|
import { FilterType, IChildRequests, IFilter, IMovieRequestModel, IMovieRequests, IMovieUpdateModel, IRequestEngineResult, IRequestsViewModel, ITvRequests, ITvUpdateModel, OrderType } from "../interfaces";
|
||||||
|
@ -12,10 +12,15 @@ import { IRemainingRequests } from "../interfaces/IRemainingRequests";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class RequestService extends ServiceHelpers {
|
export class RequestService extends ServiceHelpers {
|
||||||
|
private requestEvents = new ReplaySubject<IRequestEngineResult>();
|
||||||
constructor(http: HttpClient, public platformLocation: PlatformLocation) {
|
constructor(http: HttpClient, public platformLocation: PlatformLocation) {
|
||||||
super(http, "/api/v1/Request/", platformLocation);
|
super(http, "/api/v1/Request/", platformLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public onRequested(): Observable<IRequestEngineResult> {
|
||||||
|
return this.requestEvents.asObservable();
|
||||||
|
}
|
||||||
|
|
||||||
public getRemainingMovieRequests(): Observable<IRemainingRequests> {
|
public getRemainingMovieRequests(): Observable<IRemainingRequests> {
|
||||||
return this.http.get<IRemainingRequests>(`${this.url}movie/remaining`, {headers: this.headers});
|
return this.http.get<IRemainingRequests>(`${this.url}movie/remaining`, {headers: this.headers});
|
||||||
}
|
}
|
||||||
|
@ -25,7 +30,14 @@ export class RequestService extends ServiceHelpers {
|
||||||
}
|
}
|
||||||
|
|
||||||
public requestMovie(movie: IMovieRequestModel): Observable<IRequestEngineResult> {
|
public requestMovie(movie: IMovieRequestModel): Observable<IRequestEngineResult> {
|
||||||
return this.http.post<IRequestEngineResult>(`${this.url}Movie/`, JSON.stringify(movie), {headers: this.headers});
|
var observer = Observable.create(observer => {
|
||||||
|
this.http.post<IRequestEngineResult>(`${this.url}Movie/`, JSON.stringify(movie), {headers: this.headers}).subscribe(m => {
|
||||||
|
observer.next(m);
|
||||||
|
this.requestEvents.next(m);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return observer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getTotalMovies(): Observable<number> {
|
public getTotalMovies(): Observable<number> {
|
||||||
|
@ -37,7 +49,14 @@ export class RequestService extends ServiceHelpers {
|
||||||
}
|
}
|
||||||
|
|
||||||
public requestTv(tv: ITvRequestViewModel): Observable<IRequestEngineResult> {
|
public requestTv(tv: ITvRequestViewModel): Observable<IRequestEngineResult> {
|
||||||
return this.http.post<IRequestEngineResult>(`${this.url}TV/`, JSON.stringify(tv), {headers: this.headers});
|
var observer = Observable.create(observer => {
|
||||||
|
return this.http.post<IRequestEngineResult>(`${this.url}TV/`, JSON.stringify(tv), { headers: this.headers }).subscribe(m => {
|
||||||
|
observer.next(m);
|
||||||
|
this.requestEvents.next(m);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return observer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public approveMovie(movie: IMovieUpdateModel): Observable<IRequestEngineResult> {
|
public approveMovie(movie: IMovieUpdateModel): Observable<IRequestEngineResult> {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue