| 123456789101112131415161718192021222324252627282930 |
- 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() {
- const 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);
|