2015-11-01 80 views
1

我需要在Kibana顶部添加一个新菜单。我观察到一个查询删除菜单Here如何在Kibana中添加新菜单

但我想添加一个菜单。

我所做的只是

var apps = require('registry/apps'); 
    apps.register(function TestAppModule() { 
     return { 
      id: 'test', 
      name: 'TEST', 
      order: 5 
     }; 
    }); 
在kibana-4.1.2-窗户

的\ src \ PUBLIC \ index.js

而且我得到了一个菜单,现在我想重定向到一个HTML,我设计的,我应该怎么做。

+0

我能够添加子菜单,在“设置”下,这是非常可行的,也很容易,但放置一个全新的菜单和子菜单是我正在寻找。 – cmrhema

回答

0

您需要为其创建匹配的控制器,并将控制器连接到路由。

Kibana的架构在某些地方依赖于约定,所以既然你给你的页面编号为test,你还需要创建一个名为test的控制器。

对于一个很好的例子,看看发现登记和控制器(看着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(...) { ... });

相关问题