]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts
Add settings button after plugin install
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / plugins / plugin-search / plugin-search.component.ts
index 1a6b4eba3ecf50c88aa7fdcc254c3ebf2291c096..d2c179aba2e464fd86561ee3d8fa54bd69673a1f 100644 (file)
@@ -3,7 +3,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'
 import { Component, OnInit } from '@angular/core'
 import { ActivatedRoute, Router } from '@angular/router'
 import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service'
-import { ComponentPagination, ConfirmService, hasMoreItems, Notifier } from '@app/core'
+import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, PluginService } from '@app/core'
 import { PeerTubePluginIndex } from '@shared/models/plugins/peertube-plugin-index.model'
 import { PluginType } from '@shared/models/plugins/plugin.type'
 
@@ -39,13 +39,14 @@ export class PluginSearchComponent implements OnInit {
   private searchSubject = new Subject<string>()
 
   constructor (
-    private pluginService: PluginApiService,
+    private pluginService: PluginService,
+    private pluginApiService: PluginApiService,
     private notifier: Notifier,
     private confirmService: ConfirmService,
     private router: Router,
     private route: ActivatedRoute
   ) {
-    this.pluginTypeOptions = this.pluginService.getPluginTypeOptions()
+    this.pluginTypeOptions = this.pluginApiService.getPluginTypeOptions()
   }
 
   ngOnInit () {
@@ -83,7 +84,7 @@ export class PluginSearchComponent implements OnInit {
   loadMorePlugins () {
     this.isSearching = true
 
-    this.pluginService.searchAvailablePlugins(this.pluginType, this.pagination, this.sort, this.search)
+    this.pluginApiService.searchAvailablePlugins(this.pluginType, this.pagination, this.sort, this.search)
         .subscribe(
           res => {
             this.isSearching = false
@@ -115,6 +116,18 @@ export class PluginSearchComponent implements OnInit {
     return !!this.installing[plugin.npmName]
   }
 
+  getPluginOrThemeHref (name: string) {
+    return this.pluginApiService.getPluginOrThemeHref(this.pluginType, name)
+  }
+
+  getShowRouterLink (plugin: PeerTubePluginIndex) {
+    return [ '/admin', 'plugins', 'show', this.pluginService.nameToNpmName(plugin.name, this.pluginType) ]
+  }
+
+  isThemeSearch () {
+    return this.pluginType === PluginType.THEME
+  }
+
   async install (plugin: PeerTubePluginIndex) {
     if (this.installing[plugin.npmName]) return
 
@@ -126,7 +139,7 @@ export class PluginSearchComponent implements OnInit {
 
     this.installing[plugin.npmName] = true
 
-    this.pluginService.install(plugin.npmName)
+    this.pluginApiService.install(plugin.npmName)
         .subscribe(
           () => {
             this.installing[plugin.npmName] = false