]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+my-library/my-videos/my-videos.component.ts
Fix filters error in console
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-library / my-videos / my-videos.component.ts
index 261e87f996f8881e090f5564057ef1d634baa460..91cc067026b930d5ec831e760fbc6e177f36f368 100644 (file)
@@ -8,7 +8,12 @@ import { immutableAssign } from '@app/helpers'
 import { AdvancedInputFilter } from '@app/shared/shared-forms'
 import { DropdownAction, Video, VideoService } from '@app/shared/shared-main'
 import { LiveStreamInformationComponent } from '@app/shared/shared-video-live'
-import { MiniatureDisplayOptions, SelectionType, VideosSelectionComponent } from '@app/shared/shared-video-miniature'
+import {
+  MiniatureDisplayOptions,
+  SelectionType,
+  VideoActionsDisplayType,
+  VideosSelectionComponent
+} from '@app/shared/shared-video-miniature'
 import { VideoChannel, VideoSortField } from '@shared/models'
 import { VideoChangeOwnershipComponent } from './modals/video-change-ownership.component'
 
@@ -37,8 +42,23 @@ export class MyVideosComponent implements OnInit, DisableForReuseHook {
     state: true,
     blacklistInfo: true
   }
+  videoDropdownDisplayOptions: VideoActionsDisplayType = {
+    playlist: false,
+    download: false,
+    update: false,
+    blacklist: false,
+    delete: true,
+    report: false,
+    duplicate: false,
+    mute: false,
+    liveInfo: true,
+    removeFiles: false,
+    transcoding: false,
+    studio: true,
+    stats: true
+  }
 
-  videoActions: DropdownAction<{ video: Video }>[] = []
+  moreVideoActions: DropdownAction<{ video: Video }>[][] = []
 
   videos: Video[] = []
   getVideosObservableFunction = this.getVideosObservable.bind(this)
@@ -47,7 +67,7 @@ export class MyVideosComponent implements OnInit, DisableForReuseHook {
 
   user: User
 
-  inputFilters: AdvancedInputFilter[]
+  inputFilters: AdvancedInputFilter[] = []
 
   disabled = false
 
@@ -172,54 +192,27 @@ export class MyVideosComponent implements OnInit, DisableForReuseHook {
       })
   }
 
-  async deleteVideo (video: Video) {
-    const res = await this.confirmService.confirm(
-      $localize`Do you really want to delete ${video.name}?`,
-      $localize`Delete`
-    )
-    if (res === false) return
-
-    this.videoService.removeVideo(video.id)
-        .subscribe({
-          next: () => {
-            this.notifier.success($localize`Video ${video.name} deleted.`)
-            this.removeVideoFromArray(video.id)
-          },
-
-          error: err => this.notifier.error(err.message)
-        })
+  onVideoRemoved (video: Video) {
+    this.removeVideoFromArray(video.id)
   }
 
   changeOwnership (video: Video) {
     this.videoChangeOwnershipModal.show(video)
   }
 
-  displayLiveInformation (video: Video) {
-    this.liveStreamInformationModal.show(video)
-  }
-
   private removeVideoFromArray (id: number) {
     this.videos = this.videos.filter(v => v.id !== id)
   }
 
   private buildActions () {
-    this.videoActions = [
-      {
-        label: $localize`Display live information`,
-        handler: ({ video }) => this.displayLiveInformation(video),
-        isDisplayed: ({ video }) => video.isLive,
-        iconName: 'live'
-      },
-      {
-        label: $localize`Change ownership`,
-        handler: ({ video }) => this.changeOwnership(video),
-        iconName: 'ownership-change'
-      },
-      {
-        label: $localize`Delete`,
-        handler: ({ video }) => this.deleteVideo(video),
-        iconName: 'delete'
-      }
+    this.moreVideoActions = [
+      [
+        {
+          label: $localize`Change ownership`,
+          handler: ({ video }) => this.changeOwnership(video),
+          iconName: 'ownership-change'
+        }
+      ]
     ]
   }
 }