plugin.js
Version:
custom plugin generator
65 lines (56 loc) • 2.24 kB
JavaScript
require('../utils');
module.exports = controller = (name) => {
return `import AggResponseTabifyTabifyProvider from 'ui/agg_response/tabify/tabify';
import AggCofigResult from 'ui/vis/agg_config_result';
import uiModules from 'ui/modules';
const module = uiModules.get('kibana/${upperCamelCase(name)}', ['kibana']);
module.controller('${upperCamelCase(name)}Controller', function($scope, $element, Private, getAppState, config) {
const tabifyAggResponse = Private(AggResponseTabifyTabifyProvider);
const containerNode = $element[0];
$scope.watchMulti(['esResponse', 'vis.params'], function([resp]) {
if (resp) {
$scope.tableResponse = tabifyAggResponse($scope.vis, resp, {
asAggCofigResults: true
})
}
})
})`;
}
module.exports = params_html = (name) => {
return `<div> Hello World </div>`
}
module.exports = params_js = (name) => {
return `import uiModules from 'ui/modules';
uiModules.get('kibana/${upperCamelCase(name)}')
.controller('controller', ['$scope', function ($scope) {
}]);`
}
module.exports = main_html = (name) => {
return `<div> Hello World </div>`
}
module.exports = main_js = (name) => {
return `import TemplateVisTypeTemplateVisTypeProvider from 'ui/template_vis_type/template_vis_type';
import VisSchemaProvider from 'ui/vis/schemas';
import _ from 'lodash';
import commonParamSetProvider from 'plugins/mcube_utils/common_param_set';
require('ui/registry/vis_types').register(${upperCamelCase(name)}VisProvider);
function ${upperCamelCase(name)}VisProvider(Private) {
const TemplateVisType = Private(TemplateVisTypeTemplateVisTypeProvider);
const Schemas = Private(VisSchemaProvider);
const commonParamSet = Private(commonParamSetProvider);
return new TemplateVisType({
name: '${upperCamelCase(name)}',
title: '${upperCamelCase(name)}',
icon: 'fa-code',
description: '${upperCamelCase(name)} chart',
params: {
},
schemas: new Schemas([{
group: 'metrics'
}])
})
}`
}
module.exports = sidebar_html = (name) => {
return `<div> Hello World </div>`
}