Refactor row selection reset

pull/5548/head
Chocobozzz 2023-01-20 15:06:08 +01:00
parent 345f579b8e
commit e854d57bed
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
16 changed files with 55 additions and 52 deletions

View File

@ -140,7 +140,7 @@ export class FollowersListComponent extends RestTable <ActorFollow> implements O
return follow.follower.name + '@' + follow.follower.host
}
protected reloadData () {
protected reloadDataInternal () {
this.followService.getFollowers({ pagination: this.pagination, sort: this.sort, search: this.search })
.subscribe({
next: resultList => {

View File

@ -62,8 +62,10 @@ export class FollowingListComponent extends RestTable <ActorFollow> implements O
}
async removeFollowing (follows: ActorFollow[]) {
const icuParams = { count: follows.length, entryName: this.buildFollowingName(follows[0]) }
const message = prepareIcu($localize`Do you really want to unfollow {count, plural, =1 {{entryName}?} other {{count} entries?}}`)(
{ count: follows.length, entryName: this.buildFollowingName(follows[0]) },
icuParams,
$localize`Do you really want to unfollow these entries?`
)
@ -75,7 +77,7 @@ export class FollowingListComponent extends RestTable <ActorFollow> implements O
next: () => {
// eslint-disable-next-line max-len
const message = prepareIcu($localize`You are not following {count, plural, =1 {{entryName} anymore.} other {these {count} entries anymore.}}`)(
{ count: follows.length, entryName: this.buildFollowingName(follows[0]) },
icuParams,
$localize`You are not following them anymore.`
)
@ -87,7 +89,7 @@ export class FollowingListComponent extends RestTable <ActorFollow> implements O
})
}
protected reloadData () {
protected reloadDataInternal () {
this.followService.getFollowing({ pagination: this.pagination, sort: this.sort, search: this.search })
.subscribe({
next: resultList => {

View File

@ -162,7 +162,7 @@ export class VideoRedundanciesListComponent extends RestTable implements OnInit
}
protected reloadData () {
protected reloadDataInternal () {
const options = {
pagination: this.pagination,
sort: this.sort,

View File

@ -92,7 +92,7 @@ export class RegistrationListComponent extends RestTable <UserRegistration> impl
this.reloadData()
}
protected reloadData () {
protected reloadDataInternal () {
this.adminRegistrationService.listRegistrations({
pagination: this.pagination,
sort: this.sort,

View File

@ -159,26 +159,25 @@ export class VideoBlockListComponent extends RestTable implements OnInit {
})
}
protected reloadData () {
protected reloadDataInternal () {
this.videoBlocklistService.listBlocks({
pagination: this.pagination,
sort: this.sort,
search: this.search
}).subscribe({
next: async resultList => {
this.totalRecords = resultList.total
this.blocklist = resultList.data
for (const element of this.blocklist) {
Object.assign(element, {
reasonHtml: await this.toHtml(element.reason)
})
}
},
error: err => this.notifier.error(err.message)
})
.subscribe({
next: async resultList => {
this.totalRecords = resultList.total
this.blocklist = resultList.data
for (const element of this.blocklist) {
Object.assign(element, {
reasonHtml: await this.toHtml(element.reason)
})
}
},
error: err => this.notifier.error(err.message)
})
}
}

View File

@ -117,7 +117,7 @@ export class VideoCommentListComponent extends RestTable <VideoCommentAdmin> imp
return this.markdownRenderer.textMarkdownToHTML({ markdown: text, withHtml: true, withEmoji: true })
}
reloadData () {
protected reloadDataInternal () {
this.videoCommentService.getAdminVideoComments({
pagination: this.pagination,
sort: this.sort,

View File

@ -283,9 +283,7 @@ export class UserListComponent extends RestTable <User> implements OnInit {
})
}
protected reloadData () {
this.selectedRows = []
protected reloadDataInternal () {
this.userAdminService.getUsers({
pagination: this.pagination,
sort: this.sort,

View File

@ -183,9 +183,23 @@ export class VideoListComponent extends RestTable <Video> implements OnInit {
return files.reduce((p, f) => p += f.size, 0)
}
reloadData () {
this.selectedRows = []
async removeVideoFile (video: Video, file: VideoFile, type: 'hls' | 'webtorrent') {
const message = $localize`Are you sure you want to delete this ${file.resolution.label} file?`
const res = await this.confirmService.confirm(message, $localize`Delete file`)
if (res === false) return
this.videoService.removeFile(video.uuid, file.id, type)
.subscribe({
next: () => {
this.notifier.success($localize`File removed.`)
this.reloadData()
},
error: err => this.notifier.error(err.message)
})
}
protected reloadDataInternal () {
this.loading = true
this.videoAdminService.getAdminVideos({
@ -203,22 +217,6 @@ export class VideoListComponent extends RestTable <Video> implements OnInit {
})
}
async removeVideoFile (video: Video, file: VideoFile, type: 'hls' | 'webtorrent') {
const message = $localize`Are you sure you want to delete this ${file.resolution.label} file?`
const res = await this.confirmService.confirm(message, $localize`Delete file`)
if (res === false) return
this.videoService.removeFile(video.uuid, file.id, type)
.subscribe({
next: () => {
this.notifier.success($localize`File removed.`)
this.reloadData()
},
error: err => this.notifier.error(err.message)
})
}
private async removeVideos (videos: Video[]) {
const message = prepareIcu($localize`Are you sure you want to delete {count, plural, =1 {this video} other {these {count} videos}}?`)(
{ count: videos.length },

View File

@ -120,7 +120,7 @@ export class JobsComponent extends RestTable implements OnInit {
this.reloadData()
}
protected reloadData () {
protected reloadDataInternal () {
let jobState = this.jobState as JobState
if (this.jobState === 'all') jobState = null

View File

@ -59,7 +59,7 @@ export class MyOwnershipComponent extends RestTable implements OnInit {
})
}
protected reloadData () {
protected reloadDataInternal () {
return this.videoOwnershipService.getOwnershipChanges(this.pagination, this.sort)
.subscribe({
next: resultList => {

View File

@ -68,7 +68,7 @@ export class MyVideoChannelSyncsComponent extends RestTable implements OnInit {
]
}
protected reloadData () {
protected reloadDataInternal () {
this.error = undefined
this.authService.userInformationLoaded

View File

@ -90,7 +90,7 @@ export class MyVideoImportsComponent extends RestTable implements OnInit {
})
}
protected reloadData () {
protected reloadDataInternal () {
this.videoImportService.getMyVideoImports(this.pagination, this.sort, this.search)
.subscribe({
next: resultList => {

View File

@ -81,7 +81,13 @@ export abstract class RestTable <T = unknown> {
return this.selectedRows.length !== 0
}
protected abstract reloadData (): void
protected abstract reloadDataInternal (): void
protected reloadData () {
this.selectedRows = []
this.reloadDataInternal()
}
private getSortLocalStorageKey () {
return 'rest-table-sort-' + this.getIdentifier()

View File

@ -175,7 +175,7 @@ export class AbuseListTableComponent extends RestTable implements OnInit {
return Actor.IS_LOCAL(abuse.reporterAccount.host)
}
protected reloadData () {
protected reloadDataInternal () {
debugLogger('Loading data.')
const options = {

View File

@ -48,7 +48,7 @@ export class GenericAccountBlocklistComponent extends RestTable implements OnIni
)
}
protected reloadData () {
protected reloadDataInternal () {
const operation = this.mode === BlocklistComponentType.Account
? this.blocklistService.getUserAccountBlocklist({
pagination: this.pagination,

View File

@ -75,7 +75,7 @@ export class GenericServerBlocklistComponent extends RestTable implements OnInit
})
}
protected reloadData () {
protected reloadDataInternal () {
const operation = this.mode === BlocklistComponentType.Account
? this.blocklistService.getUserServerBlocklist({
pagination: this.pagination,