import angular from "angular"; import _ from "lodash"; export class PluginListCtrl { plugins: any[]; tabIndex: number; navModel: any; searchQuery: string; allPlugins: any[]; /** @ngInject */ constructor(private backendSrv: any, $location, navModelSrv) { this.tabIndex = 0; this.navModel = navModelSrv.getNav("cfg", "plugins", 0); this.backendSrv.get("api/plugins", { embedded: 0 }).then(plugins => { this.plugins = plugins; this.allPlugins = plugins; }); } onQueryUpdated() { let regex = new RegExp(this.searchQuery, "ig"); this.plugins = _.filter(this.allPlugins, item => { return regex.test(item.name) || regex.test(item.type); }); } } angular .module("grafana.controllers") .controller("PluginListCtrl", PluginListCtrl);