mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-21 05:43:19 -07:00
Trigger update of request limit on new request
This commit is contained in:
parent
0e46e66a6d
commit
b30a2c0950
6 changed files with 25 additions and 10 deletions
|
@ -21,17 +21,20 @@ export class RemainingRequestsComponent implements OnInit {
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.update();
|
this.update();
|
||||||
|
|
||||||
|
setInterval(function(){
|
||||||
|
self.calculateTime();
|
||||||
|
}, 10000)
|
||||||
|
|
||||||
setInterval(function(){
|
setInterval(function(){
|
||||||
self.update()
|
self.update()
|
||||||
}, 10000)
|
}, 60000)
|
||||||
}
|
}
|
||||||
|
|
||||||
update(): void {
|
update(): void {
|
||||||
var callback = (remaining => {
|
var callback = (remaining => {
|
||||||
this.remaining = remaining;
|
this.remaining = remaining;
|
||||||
this.daysUntil = Math.ceil(this.daysUntilNextRequest());
|
this.calculateTime();
|
||||||
this.hoursUntil = Math.ceil(this.hoursUntilNextRequest());
|
|
||||||
this.minutesUntil = Math.ceil(this.minutesUntilNextRequest())
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (this.movie) {
|
if (this.movie) {
|
||||||
|
@ -41,6 +44,12 @@ export class RemainingRequestsComponent implements OnInit {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
calculateTime(): void {
|
||||||
|
this.daysUntil = Math.ceil(this.daysUntilNextRequest());
|
||||||
|
this.hoursUntil = Math.ceil(this.hoursUntilNextRequest());
|
||||||
|
this.minutesUntil = Math.ceil(this.minutesUntilNextRequest())
|
||||||
|
}
|
||||||
|
|
||||||
daysUntilNextRequest(): number {
|
daysUntilNextRequest(): number {
|
||||||
return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60 / 24;
|
return (new Date(this.remaining.nextRequest).getTime() - new Date().getTime()) / 1000 / 60 / 60 / 24;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<remaining-requests [movie]="true"></remaining-requests>
|
<remaining-requests [movie]="true" #remainingFilms></remaining-requests>
|
||||||
|
|
||||||
<!-- Movie content -->
|
<!-- Movie content -->
|
||||||
<div id="movieList">
|
<div id="movieList">
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { PlatformLocation } from "@angular/common";
|
import { PlatformLocation } from "@angular/common";
|
||||||
import { Component, Input, OnInit } from "@angular/core";
|
import { Component, Input, OnInit, ViewChild } 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,6 +8,7 @@ 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",
|
||||||
|
@ -24,6 +25,7 @@ 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;
|
||||||
|
@ -89,7 +91,7 @@ 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} from "@angular/core";
|
import { Component, Input, OnInit, ViewChild} from "@angular/core";
|
||||||
|
|
||||||
import { NotificationService } from "../services";
|
import { NotificationService } from "../services";
|
||||||
import { RequestService } from "../services";
|
import { RequestService } from "../services";
|
||||||
|
@ -7,6 +7,7 @@ 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",
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<remaining-requests [movie]="false"></remaining-requests>
|
<remaining-requests [movie]="false" #remainingTvShows></remaining-requests>
|
||||||
|
|
||||||
<!-- Movie content -->
|
<!-- Movie content -->
|
||||||
<div id="actorMovieList">
|
<div id="actorMovieList">
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { PlatformLocation } from "@angular/common";
|
import { PlatformLocation } from "@angular/common";
|
||||||
import { Component, Input, OnInit } from "@angular/core";
|
import { Component, Input, OnInit, ViewChild } 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,6 +7,7 @@ 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",
|
||||||
|
@ -24,6 +25,7 @@ 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;
|
||||||
|
@ -162,6 +164,7 @@ 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`);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue