feat(plugins): add filter:admin-user-list.bulk-actions.create.result
This commit is contained in:
parent
f4339cfb72
commit
c1a8904154
|
@ -2,7 +2,7 @@ import { DatePipe, NgClass, NgIf } from '@angular/common'
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core'
|
import { Component, OnInit, ViewChild } from '@angular/core'
|
||||||
import { FormsModule } from '@angular/forms'
|
import { FormsModule } from '@angular/forms'
|
||||||
import { ActivatedRoute, Router, RouterLink } from '@angular/router'
|
import { ActivatedRoute, Router, RouterLink } from '@angular/router'
|
||||||
import { AuthService, ConfirmService, LocalStorageService, Notifier, RestPagination, RestTable } from '@app/core'
|
import { AuthService, ConfirmService, HooksService, LocalStorageService, Notifier, PluginService, RestPagination, RestTable } from '@app/core'
|
||||||
import { formatICU, getAPIHost } from '@app/helpers'
|
import { formatICU, getAPIHost } from '@app/helpers'
|
||||||
import { Actor } from '@app/shared/shared-main/account/actor.model'
|
import { Actor } from '@app/shared/shared-main/account/actor.model'
|
||||||
import { BlocklistService } from '@app/shared/shared-moderation/blocklist.service'
|
import { BlocklistService } from '@app/shared/shared-moderation/blocklist.service'
|
||||||
|
@ -114,7 +114,9 @@ export class UserListComponent extends RestTable <User> implements OnInit {
|
||||||
private auth: AuthService,
|
private auth: AuthService,
|
||||||
private blocklist: BlocklistService,
|
private blocklist: BlocklistService,
|
||||||
private userAdminService: UserAdminService,
|
private userAdminService: UserAdminService,
|
||||||
private peertubeLocalStorage: LocalStorageService
|
private peertubeLocalStorage: LocalStorageService,
|
||||||
|
private hooks: HooksService,
|
||||||
|
private pluginService: PluginService
|
||||||
) {
|
) {
|
||||||
super()
|
super()
|
||||||
}
|
}
|
||||||
|
@ -133,10 +135,11 @@ export class UserListComponent extends RestTable <User> implements OnInit {
|
||||||
this.saveSelectedColumns()
|
this.saveSelectedColumns()
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit () {
|
async ngOnInit () {
|
||||||
this.initialize()
|
this.initialize()
|
||||||
|
await this.pluginService.ensurePluginsAreLoaded('admin-users')
|
||||||
|
|
||||||
this.bulkActions = [
|
const bulkActions: DropdownAction<User[]>[][] = [
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
label: $localize`Delete`,
|
label: $localize`Delete`,
|
||||||
|
@ -167,6 +170,8 @@ export class UserListComponent extends RestTable <User> implements OnInit {
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
this.bulkActions = await this.hooks.wrapObject(bulkActions, 'admin-users', 'filter:admin-user-list.bulk-actions.create.result')
|
||||||
|
|
||||||
this.columns = [
|
this.columns = [
|
||||||
{ id: 'username', label: $localize`Username` },
|
{ id: 'username', label: $localize`Username` },
|
||||||
{ id: 'role', label: $localize`Role` },
|
{ id: 'role', label: $localize`Role` },
|
||||||
|
|
|
@ -71,7 +71,8 @@ class PluginsManager {
|
||||||
'embed': new ReplaySubject<boolean>(1),
|
'embed': new ReplaySubject<boolean>(1),
|
||||||
'my-library': new ReplaySubject<boolean>(1),
|
'my-library': new ReplaySubject<boolean>(1),
|
||||||
'video-channel': new ReplaySubject<boolean>(1),
|
'video-channel': new ReplaySubject<boolean>(1),
|
||||||
'my-account': new ReplaySubject<boolean>(1)
|
'my-account': new ReplaySubject<boolean>(1),
|
||||||
|
'admin-users': new ReplaySubject<boolean>(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly peertubeHelpersFactory: PeertubeHelpersFactory
|
private readonly peertubeHelpersFactory: PeertubeHelpersFactory
|
||||||
|
|
|
@ -97,7 +97,10 @@ export const clientFilterHookObject = {
|
||||||
'filter:internal.player.videojs.options.result': true,
|
'filter:internal.player.videojs.options.result': true,
|
||||||
|
|
||||||
// Filter p2p media loader options built for PeerTube player
|
// Filter p2p media loader options built for PeerTube player
|
||||||
'filter:internal.player.p2p-media-loader.options.result': true
|
'filter:internal.player.p2p-media-loader.options.result': true,
|
||||||
|
|
||||||
|
// Filter bulk actions in user list
|
||||||
|
'filter:admin-user-list.bulk-actions.create.result': true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ClientFilterHookName = keyof typeof clientFilterHookObject
|
export type ClientFilterHookName = keyof typeof clientFilterHookObject
|
||||||
|
|
|
@ -9,4 +9,5 @@ export type PluginClientScope =
|
||||||
'admin-plugin' |
|
'admin-plugin' |
|
||||||
'my-library' |
|
'my-library' |
|
||||||
'video-channel' |
|
'video-channel' |
|
||||||
'my-account'
|
'my-account' |
|
||||||
|
'admin-users'
|
||||||
|
|
Loading…
Reference in New Issue