如何在Kibana中包含新菜单

如何在Kibana中包含新菜单,kibana,kibana-4,Kibana,Kibana 4,我需要在Kibana的顶部添加一份新菜单。我观察到一个删除菜单的查询 但是我想加一份菜单 我所做的只是 var apps = require('registry/apps'); apps.register(function TestAppModule() { return { id: 'test', name: 'TEST', order: 5 }; }); 在kibana-4.1.2-windows

我需要在Kibana的顶部添加一份新菜单。我观察到一个删除菜单的查询

但是我想加一份菜单

我所做的只是

 var apps = require('registry/apps');
  apps.register(function TestAppModule() {
      return {
          id: 'test',
          name: 'TEST',
          order: 5
      };
  });
在kibana-4.1.2-windows\src\public\index.js中


我有一个菜单,现在我想重定向到一个html,我已经设计好了,我应该怎么做。

你需要为此创建一个匹配的控制器,并将控制器连接到路由

Kibana的体系结构在某些地方依赖于约定,因此,由于您为页面提供了id
test
,因此还需要创建一个名为
test
的控制器

有关一个很好的示例,请查看discover registration and controller(查看kibana 4.1.2):

发现页面是在
discover/index.js
中定义的(类似于您所做的:

var apps = require('registry/apps');
  apps.register(function DiscoverAppModule() {
    return {
      id: 'discover',
      name: 'Discover',
      order: 0
    };
  });
如果您转到
plugins/discover/controllers/discover.js
,您将看到控制器及其定义

在该文件中,您将找到如下所示的管线定义:

require('routes')
  .when('/discover/:id?', {
    template: require('text!plugins/discover/index.html'),
    resolve: { ... }
  };
请注意,此处要显示的html文件是为此路由配置的

然后,您需要“获取”已定义为的应用:
var-app=require('modules').get('apps/discover',[…]);

然后,您可以将控制器连接到您定义的应用程序,如下所示:

app.controller('discover',function(…){…});

我能够在“设置”下添加一个子菜单,这非常可行,也很简单,但放置一个全新的菜单和子菜单正是我想要的。