From 1fd61899eaea245a5844e33e21f04b2562f16e5e Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 3 May 2021 11:06:19 +0200 Subject: Add ability to filter my videos by live --- .../abuse-list/abuse-list.component.html | 2 +- .../video-block-list.component.html | 20 +------------- .../video-block-list/video-block-list.component.ts | 31 +++++++++------------- .../video-comment-list.component.html | 20 +------------- .../video-comment-list.component.ts | 12 +++++++++ .../users/user-list/user-list.component.html | 19 +------------ .../users/user-list/user-list.component.scss | 22 ++------------- .../+admin/users/user-list/user-list.component.ts | 22 ++++++++++++--- 8 files changed, 48 insertions(+), 100 deletions(-) (limited to 'client/src/app/+admin') diff --git a/client/src/app/+admin/moderation/abuse-list/abuse-list.component.html b/client/src/app/+admin/moderation/abuse-list/abuse-list.component.html index 9a6c124e1..a9e0931f8 100644 --- a/client/src/app/+admin/moderation/abuse-list/abuse-list.component.html +++ b/client/src/app/+admin/moderation/abuse-list/abuse-list.component.html @@ -3,4 +3,4 @@ Reports - + diff --git a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.html b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.html index c7275de1b..cf2466bdb 100644 --- a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.html +++ b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.html @@ -13,25 +13,7 @@
-
-
-
- -
- -
- - Automatic blocks - Manual blocks -
-
- - - Clear filters -
+
diff --git a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts index d6aca10e7..dfd8dc745 100644 --- a/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts +++ b/client/src/app/+admin/moderation/video-block-list/video-block-list.component.ts @@ -6,6 +6,7 @@ import { AfterViewInit, Component, OnInit } from '@angular/core' import { DomSanitizer } from '@angular/platform-browser' import { ActivatedRoute, Params, Router } from '@angular/router' import { ConfirmService, MarkdownService, Notifier, RestPagination, RestTable, ServerService } from '@app/core' +import { AdvancedInputFilter } from '@app/shared/shared-forms' import { DropdownAction, Video, VideoService } from '@app/shared/shared-main' import { VideoBlockService } from '@app/shared/shared-moderation' import { VideoBlacklist, VideoBlacklistType } from '@shared/models' @@ -24,6 +25,17 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV videoBlocklistActions: DropdownAction[][] = [] + inputFilters: AdvancedInputFilter[] = [ + { + queryParams: { 'search': 'type:auto' }, + label: $localize`Automatic blocks` + }, + { + queryParams: { 'search': 'type:manual' }, + label: $localize`Manual blocks` + } + ] + constructor ( protected route: ActivatedRoute, protected router: Router, @@ -111,25 +123,6 @@ export class VideoBlockListComponent extends RestTable implements OnInit, AfterV if (this.search) this.setTableFilter(this.search, false) } - /* Table filter functions */ - onBlockSearch (event: Event) { - this.onSearch(event) - this.setQueryParams((event.target as HTMLInputElement).value) - } - - setQueryParams (search: string) { - const queryParams: Params = {} - if (search) Object.assign(queryParams, { search }) - this.router.navigate([ '/admin/moderation/video-blocks/list' ], { queryParams }) - } - - resetTableFilter () { - this.setTableFilter('') - this.setQueryParams('') - this.resetSearch() - } - /* END Table filter functions */ - getIdentifier () { return 'VideoBlockListComponent' } diff --git a/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.html b/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.html index b6cec9c51..5cc0ff137 100644 --- a/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.html +++ b/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.html @@ -26,25 +26,7 @@
-
-
-
- -
- -
- - Local comments - Remote comments -
-
- - - Clear filters -
+
diff --git a/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts b/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts index 63493d00d..ebbbddb43 100644 --- a/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts +++ b/client/src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts @@ -2,6 +2,7 @@ import { SortMeta } from 'primeng/api' import { AfterViewInit, Component, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' import { AuthService, ConfirmService, MarkdownService, Notifier, RestPagination, RestTable } from '@app/core' +import { AdvancedInputFilter } from '@app/shared/shared-forms' import { DropdownAction } from '@app/shared/shared-main' import { BulkService } from '@app/shared/shared-moderation' import { VideoCommentAdmin, VideoCommentService } from '@app/shared/shared-video-comment' @@ -43,6 +44,17 @@ export class VideoCommentListComponent extends RestTable implements OnInit, Afte selectedComments: VideoCommentAdmin[] = [] bulkCommentActions: DropdownAction[] = [] + inputFilters: AdvancedInputFilter[] = [ + { + queryParams: { 'search': 'local:true' }, + label: $localize`Local comments` + }, + { + queryParams: { 'search': 'local:false' }, + label: $localize`Remote comments` + } + ] + get authUser () { return this.auth.getUser() } diff --git a/client/src/app/+admin/users/user-list/user-list.component.html b/client/src/app/+admin/users/user-list/user-list.component.html index f84d3fd0c..7170d7019 100644 --- a/client/src/app/+admin/users/user-list/user-list.component.html +++ b/client/src/app/+admin/users/user-list/user-list.component.html @@ -22,24 +22,7 @@
-
-
-
- -
- -
- - Banned users -
-
- - - Clear filters -
+
diff --git a/client/src/app/+admin/users/user-list/user-list.component.scss b/client/src/app/+admin/users/user-list/user-list.component.scss index f18747ec3..db4979a51 100644 --- a/client/src/app/+admin/users/user-list/user-list.component.scss +++ b/client/src/app/+admin/users/user-list/user-list.component.scss @@ -11,6 +11,7 @@ tr.banned > td { .table-email { @include disable-default-a-behaviour; + color: pvar(--mainForegroundColor); } @@ -28,14 +29,6 @@ tr.banned > td { margin-left: 0.1rem; } -.caption { - justify-content: space-between; - - input { - @include peertube-input-text(250px); - } -} - p-tableCheckbox { position: relative; top: -2.5px; @@ -55,18 +48,7 @@ my-global-icon { .progress { @include progressbar($small: true); + width: auto; max-width: 100%; } - -.input-group { - @include peertube-input-group(300px); - - input { - flex: 1; - } - - .dropdown-toggle::after { - margin-left: 0; - } -} diff --git a/client/src/app/+admin/users/user-list/user-list.component.ts b/client/src/app/+admin/users/user-list/user-list.component.ts index 339e18206..435bc17d7 100644 --- a/client/src/app/+admin/users/user-list/user-list.component.ts +++ b/client/src/app/+admin/users/user-list/user-list.component.ts @@ -1,8 +1,9 @@ import { SortMeta } from 'primeng/api' -import { Component, OnInit, ViewChild } from '@angular/core' -import { ActivatedRoute, Params, Router } from '@angular/router' +import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core' +import { ActivatedRoute, Router } from '@angular/router' import { AuthService, ConfirmService, Notifier, RestPagination, RestTable, ServerService, UserService } from '@app/core' -import { Account, DropdownAction } from '@app/shared/shared-main' +import { AdvancedInputFilter } from '@app/shared/shared-forms' +import { DropdownAction } from '@app/shared/shared-main' import { UserBanModalComponent } from '@app/shared/shared-moderation' import { ServerConfig, User, UserRole } from '@shared/models' @@ -18,19 +19,28 @@ type UserForList = User & { templateUrl: './user-list.component.html', styleUrls: [ './user-list.component.scss' ] }) -export class UserListComponent extends RestTable implements OnInit { +export class UserListComponent extends RestTable implements OnInit, AfterViewInit { @ViewChild('userBanModal', { static: true }) userBanModal: UserBanModalComponent users: User[] = [] + totalRecords = 0 sort: SortMeta = { field: 'createdAt', order: 1 } pagination: RestPagination = { count: this.rowsPerPage, start: 0 } + highlightBannedUsers = false selectedUsers: User[] = [] bulkUserActions: DropdownAction[][] = [] columns: { id: string, label: string }[] + inputFilters: AdvancedInputFilter[] = [ + { + queryParams: { 'search': 'banned:true' }, + label: $localize`Banned users` + } + ] + private _selectedColumns: string[] private serverConfig: ServerConfig @@ -117,6 +127,10 @@ export class UserListComponent extends RestTable implements OnInit { this.columns.push({ id: 'lastLoginDate', label: 'Last login' }) } + ngAfterViewInit () { + if (this.search) this.setTableFilter(this.search, false) + } + getIdentifier () { return 'UserListComponent' } -- cgit v1.2.3