mirror of https://github.com/Chocobozzz/PeerTube
hooks filter:api.my-lib.playlist-elems.get.* (#5098)
* hooks filter:api.my-lib.playlist-elems.get.* closes #4776 * Introduce my-library plugin scope Co-authored-by: Chocobozzz <me@florianbigard.com>pull/5115/head
parent
edd7b1256b
commit
f8b4a71d42
|
@ -2,7 +2,7 @@ import { Subject, Subscription } from 'rxjs'
|
|||
import { CdkDragDrop } from '@angular/cdk/drag-drop'
|
||||
import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'
|
||||
import { ActivatedRoute, Router } from '@angular/router'
|
||||
import { ComponentPagination, ConfirmService, Notifier, ScreenService } from '@app/core'
|
||||
import { ComponentPagination, ConfirmService, HooksService, Notifier, ScreenService } from '@app/core'
|
||||
import { DropdownAction } from '@app/shared/shared-main'
|
||||
import { VideoShareComponent } from '@app/shared/shared-share-modal'
|
||||
import { VideoPlaylist, VideoPlaylistElement, VideoPlaylistService } from '@app/shared/shared-video-playlist'
|
||||
|
@ -32,6 +32,7 @@ export class MyVideoPlaylistElementsComponent implements OnInit, OnDestroy {
|
|||
private paramsSub: Subscription
|
||||
|
||||
constructor (
|
||||
private hooks: HooksService,
|
||||
private notifier: Notifier,
|
||||
private router: Router,
|
||||
private confirmService: ConfirmService,
|
||||
|
@ -155,7 +156,13 @@ export class MyVideoPlaylistElementsComponent implements OnInit, OnDestroy {
|
|||
}
|
||||
|
||||
private loadElements () {
|
||||
this.videoPlaylistService.getPlaylistVideos({ videoPlaylistId: this.videoPlaylistId, componentPagination: this.pagination })
|
||||
this.hooks.wrapObsFun(
|
||||
this.videoPlaylistService.getPlaylistVideos.bind(this.videoPlaylistService),
|
||||
{ videoPlaylistId: this.videoPlaylistId, componentPagination: this.pagination },
|
||||
'my-library',
|
||||
'filter:api.my-library.video-playlist-elements.list.params',
|
||||
'filter:api.my-library.video-playlist-elements.list.result'
|
||||
)
|
||||
.subscribe(({ total, data }) => {
|
||||
this.playlistElements = this.playlistElements.concat(data)
|
||||
this.pagination.totalItems = total
|
||||
|
|
|
@ -67,7 +67,8 @@ class PluginsManager {
|
|||
signup: new ReplaySubject<boolean>(1),
|
||||
login: new ReplaySubject<boolean>(1),
|
||||
'video-edit': new ReplaySubject<boolean>(1),
|
||||
embed: new ReplaySubject<boolean>(1)
|
||||
embed: new ReplaySubject<boolean>(1),
|
||||
'my-library': new ReplaySubject<boolean>(1)
|
||||
}
|
||||
|
||||
private readonly peertubeHelpersFactory: PeertubeHelpersFactory
|
||||
|
|
|
@ -51,6 +51,10 @@ export const clientFilterHookObject = {
|
|||
// Filter form
|
||||
'filter:api.signup.registration.create.params': true,
|
||||
|
||||
// Filter params/result of the function that fetch video playlist elements of the my-library page
|
||||
'filter:api.my-library.video-playlist-elements.list.params': true,
|
||||
'filter:api.my-library.video-playlist-elements.list.result': true,
|
||||
|
||||
// Filter the options to create our player
|
||||
'filter:internal.video-watch.player.build-options.params': true,
|
||||
'filter:internal.video-watch.player.build-options.result': true,
|
||||
|
|
|
@ -6,4 +6,5 @@ export type PluginClientScope =
|
|||
'login' |
|
||||
'embed' |
|
||||
'video-edit' |
|
||||
'admin-plugin'
|
||||
'admin-plugin' |
|
||||
'my-library'
|
||||
|
|
Loading…
Reference in New Issue