]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+my-library/my-video-imports/my-video-imports.component.ts
Add missing job types to admin panel
[github/Chocobozzz/PeerTube.git] / client / src / app / +my-library / my-video-imports / my-video-imports.component.ts
index 359535526658682e2c3d89b196df7df65539e262..f01558061f786176962fde6c2af054d51d86e203 100644 (file)
@@ -1,7 +1,7 @@
 import { SortMeta } from 'primeng/api'
 import { Component, OnInit } from '@angular/core'
 import { Notifier, RestPagination, RestTable } from '@app/core'
-import { VideoImportService } from '@app/shared/shared-main'
+import { Video, VideoImportService } from '@app/shared/shared-main'
 import { VideoImport, VideoImportState } from '@shared/models'
 
 @Component({
@@ -37,6 +37,8 @@ export class MyVideoImportsComponent extends RestTable implements OnInit {
         return 'badge-banned'
       case VideoImportState.PENDING:
         return 'badge-yellow'
+      case VideoImportState.PROCESSING:
+        return 'badge-blue'
       default:
         return 'badge-green'
     }
@@ -54,23 +56,45 @@ export class MyVideoImportsComponent extends RestTable implements OnInit {
     return videoImport.state.id === VideoImportState.FAILED
   }
 
+  isVideoImportCancelled (videoImport: VideoImport) {
+    return videoImport.state.id === VideoImportState.CANCELLED
+  }
+
   getVideoUrl (video: { uuid: string }) {
-    return '/videos/watch/' + video.uuid
+    return Video.buildWatchUrl(video)
   }
 
   getEditVideoUrl (video: { uuid: string }) {
-    return '/videos/update/' + video.uuid
+    return Video.buildUpdateUrl(video)
+  }
+
+  deleteImport (videoImport: VideoImport) {
+    this.videoImportService.deleteVideoImport(videoImport)
+      .subscribe({
+        next: () => this.reloadData(),
+
+        error: err => this.notifier.error(err.message)
+      })
+  }
+
+  cancelImport (videoImport: VideoImport) {
+    this.videoImportService.cancelVideoImport(videoImport)
+      .subscribe({
+        next: () => this.reloadData(),
+
+        error: err => this.notifier.error(err.message)
+      })
   }
 
   protected reloadData () {
     this.videoImportService.getMyVideoImports(this.pagination, this.sort)
-        .subscribe(
-          resultList => {
+        .subscribe({
+          next: resultList => {
             this.videoImports = resultList.data
             this.totalRecords = resultList.total
           },
 
-          err => this.notifier.error(err.message)
-        )
+          error: err => this.notifier.error(err.message)
+        })
   }
 }