From 2e46eb97154da909b82d5efe1d336a3412594ff0 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 3 May 2021 14:33:34 +0200 Subject: Refactor search filters --- .../my-subscriptions/my-subscriptions.component.ts | 35 ++++++---------------- 1 file changed, 9 insertions(+), 26 deletions(-) (limited to 'client/src/app/+my-library/my-subscriptions/my-subscriptions.component.ts') diff --git a/client/src/app/+my-library/my-subscriptions/my-subscriptions.component.ts b/client/src/app/+my-library/my-subscriptions/my-subscriptions.component.ts index 3b748eccf..1f4a931a0 100644 --- a/client/src/app/+my-library/my-subscriptions/my-subscriptions.component.ts +++ b/client/src/app/+my-library/my-subscriptions/my-subscriptions.component.ts @@ -1,6 +1,5 @@ import { Subject } from 'rxjs' -import { debounceTime } from 'rxjs/operators' -import { Component, OnInit } from '@angular/core' +import { Component } from '@angular/core' import { ComponentPagination, Notifier } from '@app/core' import { VideoChannel } from '@app/shared/shared-main' import { UserSubscriptionService } from '@app/shared/shared-user-subscription' @@ -9,7 +8,7 @@ import { UserSubscriptionService } from '@app/shared/shared-user-subscription' templateUrl: './my-subscriptions.component.html', styleUrls: [ './my-subscriptions.component.scss' ] }) -export class MySubscriptionsComponent implements OnInit { +export class MySubscriptionsComponent { videoChannels: VideoChannel[] = [] pagination: ComponentPagination = { @@ -20,34 +19,13 @@ export class MySubscriptionsComponent implements OnInit { onDataSubject = new Subject() - subscriptionsSearch: string - subscriptionsSearchChanged = new Subject() + search: string constructor ( private userSubscriptionService: UserSubscriptionService, private notifier: Notifier ) {} - ngOnInit () { - this.loadSubscriptions() - - this.subscriptionsSearchChanged - .pipe(debounceTime(500)) - .subscribe(() => { - this.pagination.currentPage = 1 - this.loadSubscriptions(false) - }) - } - - resetSearch () { - this.subscriptionsSearch = '' - this.onSubscriptionsSearchChanged() - } - - onSubscriptionsSearchChanged () { - this.subscriptionsSearchChanged.next() - } - onNearOfBottom () { // Last page if (this.pagination.totalItems <= (this.pagination.currentPage * this.pagination.itemsPerPage)) return @@ -56,8 +34,13 @@ export class MySubscriptionsComponent implements OnInit { this.loadSubscriptions() } + onSearch (search: string) { + this.search = search + this.loadSubscriptions(false) + } + private loadSubscriptions (more = true) { - this.userSubscriptionService.listSubscriptions({ pagination: this.pagination, search: this.subscriptionsSearch }) + this.userSubscriptionService.listSubscriptions({ pagination: this.pagination, search: this.search }) .subscribe( res => { this.videoChannels = more -- cgit v1.2.3