')
.attr('id', 'vislib-vis-fixtures')
@@ -52,11 +68,25 @@ afterEach(function() {
count = 0;
});
-export default function VislibFixtures(Private) {
- return function(visLibParams) {
- const Vis = Private(VislibVisProvider);
+const getDeps = () => {
+ const uiSettings = new Map();
+ return {
+ uiSettings,
+ vislibColor,
+ getHierarchicalTooltipFormatter,
+ getPointSeriesTooltipFormatter,
+ vislibSeriesResponseHandlerProvider,
+ vislibSlicesResponseHandlerProvider,
+ };
+};
+
+export default function getVislibFixtures(Private) {
+ setHierarchicalTooltipFormatter(Private);
+ setPointSeriesTooltipFormatter(Private);
+
+ return function(visLibParams, element) {
return new Vis(
- $visCanvas.new(),
+ element || $visCanvas.new(),
_.defaults({}, visLibParams || {}, {
addTooltip: true,
addLegend: true,
@@ -64,7 +94,8 @@ export default function VislibFixtures(Private) {
setYExtents: false,
yAxis: {},
type: 'histogram',
- })
+ }),
+ getDeps()
);
};
}
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_normal.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_normal.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_normal.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_normal.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_percentage.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_percentage.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_percentage.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_config_percentage.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_d3.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_d3.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_d3.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_d3.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_data_point.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_data_point.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_data_point.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_bar_chart_data_point.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_config.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_config.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_config.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_config.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_d3.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_d3.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_d3.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_d3.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_data_point.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_data_point.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_data_point.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/dispatch_heatmap_data_point.json
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_columns.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_rows.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_rows_series_with_holes.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_rows_series_with_holes.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_rows_series_with_holes.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_rows_series_with_holes.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_series_monthly_interval.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series_monthly_interval.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_series_monthly_interval.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series_monthly_interval.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_series_neg.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series_neg.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_series_neg.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series_neg.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_series_pos_neg.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series_pos_neg.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_series_pos_neg.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_series_pos_neg.js
diff --git a/src/fixtures/vislib/mock_data/date_histogram/_stacked_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_stacked_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/date_histogram/_stacked_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/date_histogram/_stacked_series.js
diff --git a/src/fixtures/vislib/mock_data/filters/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/filters/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/filters/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/filters/_columns.js
diff --git a/src/fixtures/vislib/mock_data/filters/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/filters/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/filters/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/filters/_rows.js
diff --git a/src/fixtures/vislib/mock_data/filters/_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/filters/_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/filters/_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/filters/_series.js
diff --git a/src/fixtures/vislib/mock_data/geohash/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/geohash/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/geohash/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/geohash/_columns.js
diff --git a/src/fixtures/vislib/mock_data/geohash/_geo_json.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/geohash/_geo_json.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/geohash/_geo_json.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/geohash/_geo_json.js
diff --git a/src/fixtures/vislib/mock_data/geohash/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/geohash/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/geohash/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/geohash/_rows.js
diff --git a/src/fixtures/vislib/mock_data/histogram/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/histogram/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_columns.js
diff --git a/src/fixtures/vislib/mock_data/histogram/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/histogram/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_rows.js
diff --git a/src/fixtures/vislib/mock_data/histogram/_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/histogram/_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_series.js
diff --git a/src/fixtures/vislib/mock_data/histogram/_slices.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_slices.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/histogram/_slices.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/histogram/_slices.js
diff --git a/src/fixtures/vislib/mock_data/not_enough_data/_one_point.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/not_enough_data/_one_point.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/not_enough_data/_one_point.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/not_enough_data/_one_point.js
diff --git a/src/fixtures/vislib/mock_data/range/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/range/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/range/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/range/_columns.js
diff --git a/src/fixtures/vislib/mock_data/range/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/range/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/range/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/range/_rows.js
diff --git a/src/fixtures/vislib/mock_data/range/_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/range/_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/range/_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/range/_series.js
diff --git a/src/fixtures/vislib/mock_data/significant_terms/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/significant_terms/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/significant_terms/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/significant_terms/_columns.js
diff --git a/src/fixtures/vislib/mock_data/significant_terms/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/significant_terms/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/significant_terms/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/significant_terms/_rows.js
diff --git a/src/fixtures/vislib/mock_data/significant_terms/_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/significant_terms/_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/significant_terms/_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/significant_terms/_series.js
diff --git a/src/fixtures/vislib/mock_data/stacked/_stacked.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/stacked/_stacked.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/stacked/_stacked.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/stacked/_stacked.js
diff --git a/src/fixtures/vislib/mock_data/terms/_columns.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_columns.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/terms/_columns.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_columns.js
diff --git a/src/fixtures/vislib/mock_data/terms/_rows.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_rows.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/terms/_rows.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_rows.js
diff --git a/src/fixtures/vislib/mock_data/terms/_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_series.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/terms/_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_series.js
diff --git a/src/fixtures/vislib/mock_data/terms/_seriesMultiple.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_seriesMultiple.js
similarity index 100%
rename from src/fixtures/vislib/mock_data/terms/_seriesMultiple.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_seriesMultiple.js
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/handler/handler.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/handler/handler.js
similarity index 87%
rename from src/legacy/ui/public/vislib/__tests__/lib/handler/handler.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/handler/handler.js
index d37d67567e8a..b309c97d2400 100644
--- a/src/legacy/ui/public/vislib/__tests__/lib/handler/handler.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/handler/handler.js
@@ -21,13 +21,14 @@ import ngMock from 'ng_mock';
import expect from '@kbn/expect';
// Data
-import series from 'fixtures/vislib/mock_data/date_histogram/_series';
-import columns from 'fixtures/vislib/mock_data/date_histogram/_columns';
-import rows from 'fixtures/vislib/mock_data/date_histogram/_rows';
-import stackedSeries from 'fixtures/vislib/mock_data/date_histogram/_stacked_series';
+import series from '../fixtures/mock_data/date_histogram/_series';
+import columns from '../fixtures/mock_data/date_histogram/_columns';
+import rows from '../fixtures/mock_data/date_histogram/_rows';
+import stackedSeries from '../fixtures/mock_data/date_histogram/_stacked_series';
import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../../persisted_state';
+import 'ui/persisted_state';
+
+import getFixturesVislibVisFixtureProvider from '../fixtures/_vis_fixture';
const dateHistogramArray = [series, columns, rows, stackedSeries];
const names = ['series', 'columns', 'rows', 'stackedSeries'];
@@ -40,7 +41,8 @@ dateHistogramArray.forEach(function(data, i) {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)();
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis();
persistedState = new ($injector.get('PersistedState'))();
vis.render(data, persistedState);
})
@@ -106,12 +108,12 @@ dateHistogramArray.forEach(function(data, i) {
describe('removeAll Method', function() {
beforeEach(function() {
ngMock.inject(function() {
- vis.handler.removeAll(vis.el);
+ vis.handler.removeAll(vis.element);
});
});
it('should remove all DOM elements from the el', function() {
- expect($(vis.el).children().length).to.be(0);
+ expect($(vis.element).children().length).to.be(0);
});
});
@@ -121,7 +123,7 @@ dateHistogramArray.forEach(function(data, i) {
});
it('should return an error classed DOM element with a text message', function() {
- expect($(vis.el).find('.error').length).to.be(1);
+ expect($(vis.element).find('.error').length).to.be(1);
expect($('.error h4').html()).to.be('This is an error!');
});
});
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/layout/layout.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/layout.js
similarity index 65%
rename from src/legacy/ui/public/vislib/__tests__/lib/layout/layout.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/layout.js
index 853a00d035a0..c8636f34ce6f 100644
--- a/src/legacy/ui/public/vislib/__tests__/lib/layout/layout.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/layout.js
@@ -20,16 +20,16 @@
import d3 from 'd3';
import ngMock from 'ng_mock';
import expect from '@kbn/expect';
+import 'ui/persisted_state';
// Data
-import series from 'fixtures/vislib/mock_data/date_histogram/_series';
-import columns from 'fixtures/vislib/mock_data/date_histogram/_columns';
-import rows from 'fixtures/vislib/mock_data/date_histogram/_rows';
-import stackedSeries from 'fixtures/vislib/mock_data/date_histogram/_stacked_series';
+import series from '../fixtures/mock_data/date_histogram/_series';
+import columns from '../fixtures/mock_data/date_histogram/_columns';
+import rows from '../fixtures/mock_data/date_histogram/_rows';
+import stackedSeries from '../fixtures/mock_data/date_histogram/_stacked_series';
import $ from 'jquery';
import { Layout } from '../../../lib/layout/layout';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../../persisted_state';
+import getFixturesVislibVisFixtureProvider from '../fixtures/_vis_fixture';
import { VisConfig } from '../../../lib/vis_config';
const dateHistogramArray = [series, columns, rows, stackedSeries];
@@ -46,7 +46,8 @@ dateHistogramArray.forEach(function(data, i) {
beforeEach(function() {
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)();
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis();
persistedState = new ($injector.get('PersistedState'))();
vis.render(data, persistedState);
numberOfCharts = vis.handler.charts.length;
@@ -59,17 +60,17 @@ dateHistogramArray.forEach(function(data, i) {
describe('createLayout Method', function() {
it('should append all the divs', function() {
- expect($(vis.el).find('.visWrapper').length).to.be(1);
- expect($(vis.el).find('.visAxis--y').length).to.be(2);
- expect($(vis.el).find('.visWrapper__column').length).to.be(1);
- expect($(vis.el).find('.visAxis__column--y').length).to.be(2);
- expect($(vis.el).find('.y-axis-title').length).to.be.above(0);
- expect($(vis.el).find('.visAxis__splitAxes--y').length).to.be(2);
- expect($(vis.el).find('.visAxis__spacer--y').length).to.be(4);
- expect($(vis.el).find('.visWrapper__chart').length).to.be(numberOfCharts);
- expect($(vis.el).find('.visAxis--x').length).to.be(2);
- expect($(vis.el).find('.visAxis__splitAxes--x').length).to.be(2);
- expect($(vis.el).find('.x-axis-title').length).to.be.above(0);
+ expect($(vis.element).find('.visWrapper').length).to.be(1);
+ expect($(vis.element).find('.visAxis--y').length).to.be(2);
+ expect($(vis.element).find('.visWrapper__column').length).to.be(1);
+ expect($(vis.element).find('.visAxis__column--y').length).to.be(2);
+ expect($(vis.element).find('.y-axis-title').length).to.be.above(0);
+ expect($(vis.element).find('.visAxis__splitAxes--y').length).to.be(2);
+ expect($(vis.element).find('.visAxis__spacer--y').length).to.be(4);
+ expect($(vis.element).find('.visWrapper__chart').length).to.be(numberOfCharts);
+ expect($(vis.element).find('.visAxis--x').length).to.be(2);
+ expect($(vis.element).find('.visAxis__splitAxes--x').length).to.be(2);
+ expect($(vis.element).find('.x-axis-title').length).to.be.above(0);
});
});
@@ -81,35 +82,36 @@ dateHistogramArray.forEach(function(data, i) {
},
data,
persistedState,
- vis.el
+ vis.element,
+ () => undefined
);
testLayout = new Layout(visConfig);
});
it('should append a div with the correct class name', function() {
- expect($(vis.el).find('.chart').length).to.be(numberOfCharts);
+ expect($(vis.element).find('.chart').length).to.be(numberOfCharts);
});
it('should bind data to the DOM element', function() {
expect(
- !!$(vis.el)
+ !!$(vis.element)
.find('.chart')
.data()
).to.be(true);
});
it('should create children', function() {
- expect(typeof $(vis.el).find('.x-axis-div')).to.be('object');
+ expect(typeof $(vis.element).find('.x-axis-div')).to.be('object');
});
it('should call split function when provided', function() {
- expect(typeof $(vis.el).find('.x-axis-div')).to.be('object');
+ expect(typeof $(vis.element).find('.x-axis-div')).to.be('object');
});
it('should throw errors when incorrect arguments provided', function() {
expect(function() {
testLayout.layout({
- parent: vis.el,
+ parent: vis.element,
type: undefined,
class: 'chart',
});
@@ -131,7 +133,7 @@ dateHistogramArray.forEach(function(data, i) {
expect(function() {
testLayout.layout({
- parent: vis.el,
+ parent: vis.element,
type: function(d) {
return d;
},
@@ -143,26 +145,26 @@ dateHistogramArray.forEach(function(data, i) {
describe('appendElem Method', function() {
beforeEach(function() {
- vis.handler.layout.appendElem(vis.el, 'svg', 'column');
+ vis.handler.layout.appendElem(vis.element, 'svg', 'column');
vis.handler.layout.appendElem('.visChart', 'div', 'test');
});
it('should append DOM element to el with a class name', function() {
- expect(typeof $(vis.el).find('.column')).to.be('object');
- expect(typeof $(vis.el).find('.test')).to.be('object');
+ expect(typeof $(vis.element).find('.column')).to.be('object');
+ expect(typeof $(vis.element).find('.test')).to.be('object');
});
});
describe('removeAll Method', function() {
beforeEach(function() {
- d3.select(vis.el)
+ d3.select(vis.element)
.append('div')
.attr('class', 'visualize');
- vis.handler.layout.removeAll(vis.el);
+ vis.handler.layout.removeAll(vis.element);
});
it('should remove all DOM elements from the el', function() {
- expect($(vis.el).children().length).to.be(0);
+ expect($(vis.element).children().length).to.be(0);
});
});
});
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/layout/layout_types.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/layout_types.js
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/layout/layout_types.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/layout_types.js
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/layout/splits/column_chart/splits.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/splits/column_chart/splits.js
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/layout/splits/column_chart/splits.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/splits/column_chart/splits.js
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/layout/splits/gauge_chart/splits.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/splits/gauge_chart/splits.js
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/layout/splits/gauge_chart/splits.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/splits/gauge_chart/splits.js
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/layout/types/column_layout.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/types/column_layout.js
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/layout/types/column_layout.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/layout/types/column_layout.js
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/types/point_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/types/point_series.js
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/types/point_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/types/point_series.js
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/types/testdata_linechart_percentile.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/types/testdata_linechart_percentile.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/types/testdata_linechart_percentile.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/types/testdata_linechart_percentile.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/types/testdata_linechart_percentile_result.json b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/types/testdata_linechart_percentile_result.json
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/lib/types/testdata_linechart_percentile_result.json
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/types/testdata_linechart_percentile_result.json
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/vis_config.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/vis_config.js
similarity index 98%
rename from src/legacy/ui/public/vislib/__tests__/lib/vis_config.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/vis_config.js
index c9dcd4737b51..3f0253b4a467 100644
--- a/src/legacy/ui/public/vislib/__tests__/lib/vis_config.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/vis_config.js
@@ -20,8 +20,8 @@
import d3 from 'd3';
import ngMock from 'ng_mock';
import expect from '@kbn/expect';
+import 'ui/persisted_state';
import { VisConfig } from '../../lib/vis_config';
-import '../../../persisted_state';
describe('Vislib VisConfig Class Test Suite', function() {
let el;
@@ -101,7 +101,8 @@ describe('Vislib VisConfig Class Test Suite', function() {
},
data,
new PersistedState(),
- el
+ el,
+ () => undefined
);
})
);
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/x_axis.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/x_axis.js
similarity index 98%
rename from src/legacy/ui/public/vislib/__tests__/lib/x_axis.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/x_axis.js
index 2fb776375697..09fe067537c7 100644
--- a/src/legacy/ui/public/vislib/__tests__/lib/x_axis.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/x_axis.js
@@ -21,8 +21,8 @@ import d3 from 'd3';
import _ from 'lodash';
import ngMock from 'ng_mock';
import expect from '@kbn/expect';
+import 'ui/persisted_state';
import $ from 'jquery';
-import '../../../persisted_state';
import { Axis } from '../../lib/axis';
import { VisConfig } from '../../lib/vis_config';
@@ -124,7 +124,8 @@ describe('Vislib xAxis Class Test Suite', function() {
},
data,
persistedState,
- $('.x-axis-div')[0]
+ $('.x-axis-div')[0],
+ () => undefined
);
xAxis = new Axis(visConfig, {
type: 'category',
diff --git a/src/legacy/ui/public/vislib/__tests__/lib/y_axis.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/y_axis.js
similarity index 99%
rename from src/legacy/ui/public/vislib/__tests__/lib/y_axis.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/y_axis.js
index 0189b8b960d3..e857aca3bf3e 100644
--- a/src/legacy/ui/public/vislib/__tests__/lib/y_axis.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/y_axis.js
@@ -21,8 +21,8 @@ import _ from 'lodash';
import d3 from 'd3';
import ngMock from 'ng_mock';
import expect from '@kbn/expect';
+import 'ui/persisted_state';
import $ from 'jquery';
-import '../../../persisted_state';
import { Axis } from '../../lib/axis';
import { VisConfig } from '../../lib/vis_config';
@@ -97,7 +97,8 @@ function createData(seriesData) {
},
data,
persistedState,
- node
+ node,
+ () => undefined
);
return new YAxis(
visConfig,
diff --git a/src/legacy/ui/public/vislib/__tests__/vis.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/vis.js
similarity index 92%
rename from src/legacy/ui/public/vislib/__tests__/vis.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/vis.js
index f10f44b7100d..a6d1c4daf5d2 100644
--- a/src/legacy/ui/public/vislib/__tests__/vis.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/vis.js
@@ -18,16 +18,17 @@
*/
import _ from 'lodash';
-import expect from '@kbn/expect';
+import $ from 'jquery';
import ngMock from 'ng_mock';
-import series from 'fixtures/vislib/mock_data/date_histogram/_series';
-import columns from 'fixtures/vislib/mock_data/date_histogram/_columns';
-import rows from 'fixtures/vislib/mock_data/date_histogram/_rows';
-import stackedSeries from 'fixtures/vislib/mock_data/date_histogram/_stacked_series';
-import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../persisted_state';
+import expect from '@kbn/expect';
+import 'ui/persisted_state';
+
+import series from './lib/fixtures/mock_data/date_histogram/_series';
+import columns from './lib/fixtures/mock_data/date_histogram/_columns';
+import rows from './lib/fixtures/mock_data/date_histogram/_rows';
+import stackedSeries from './lib/fixtures/mock_data/date_histogram/_stacked_series';
+import getFixturesVislibVisFixtureProvider from './lib/fixtures/_vis_fixture';
const dataArray = [series, columns, rows, stackedSeries];
@@ -45,9 +46,10 @@ dataArray.forEach(function(data, i) {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)();
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis();
persistedState = new ($injector.get('PersistedState'))();
- secondVis = Private(FixturesVislibVisFixtureProvider)();
+ secondVis = getVis();
})
);
@@ -99,7 +101,7 @@ dataArray.forEach(function(data, i) {
});
it('should not remove visualizations that have not been destroyed', function() {
- expect($(vis.el).find('.visWrapper').length).to.be(1);
+ expect($(vis.element).find('.visWrapper').length).to.be(1);
});
});
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/area_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/area_chart.js
similarity index 93%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/area_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/area_chart.js
index d81fd66f1e11..7fe350bd85e0 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/area_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/area_chart.js
@@ -18,20 +18,22 @@
*/
import d3 from 'd3';
-import expect from '@kbn/expect';
import ngMock from 'ng_mock';
import _ from 'lodash';
-
import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../persisted_state';
+
+import expect from '@kbn/expect';
+import 'ui/persisted_state';
+
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
+
const dataTypesArray = {
- 'series pos': require('fixtures/vislib/mock_data/date_histogram/_series'),
- 'series pos neg': require('fixtures/vislib/mock_data/date_histogram/_series_pos_neg'),
- 'series neg': require('fixtures/vislib/mock_data/date_histogram/_series_neg'),
- 'term columns': require('fixtures/vislib/mock_data/terms/_columns'),
- 'range rows': require('fixtures/vislib/mock_data/range/_rows'),
- stackedSeries: require('fixtures/vislib/mock_data/date_histogram/_stacked_series'),
+ 'series pos': require('../lib/fixtures/mock_data/date_histogram/_series'),
+ 'series pos neg': require('../lib/fixtures/mock_data/date_histogram/_series_pos_neg'),
+ 'series neg': require('../lib/fixtures/mock_data/date_histogram/_series_neg'),
+ 'term columns': require('../lib/fixtures/mock_data/terms/_columns'),
+ 'range rows': require('../lib/fixtures/mock_data/range/_rows'),
+ stackedSeries: require('../lib/fixtures/mock_data/date_histogram/_stacked_series'),
};
const visLibParams = {
@@ -49,7 +51,8 @@ _.forOwn(dataTypesArray, function(dataType, dataTypeName) {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
vis.on('brush', _.noop);
vis.render(dataType, persistedState);
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/chart.js
similarity index 93%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/chart.js
index f876db0aa6b2..088d3377af4d 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/chart.js
@@ -18,15 +18,16 @@
*/
import d3 from 'd3';
-import expect from '@kbn/expect';
import ngMock from 'ng_mock';
-import { VislibVisProvider } from '../../vis';
-import '../../../persisted_state';
+
+import expect from '@kbn/expect';
+import 'ui/persisted_state';
+
import { Chart } from '../../visualizations/_chart';
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
describe('Vislib _chart Test Suite', function() {
let persistedState;
- let Vis;
let vis;
let el;
let myChart;
@@ -111,7 +112,7 @@ describe('Vislib _chart Test Suite', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- Vis = Private(VislibVisProvider);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
persistedState = new ($injector.get('PersistedState'))();
el = d3
@@ -126,7 +127,7 @@ describe('Vislib _chart Test Suite', function() {
zeroFill: true,
};
- vis = new Vis(el[0][0], config);
+ vis = getVis(config, el[0][0]);
vis.render(data, persistedState);
myChart = vis.handler.charts[0];
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/column_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/column_chart.js
similarity index 91%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/column_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/column_chart.js
index 2253783e7e64..d02060ef29bd 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/column_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/column_chart.js
@@ -17,24 +17,25 @@
* under the License.
*/
-import expect from '@kbn/expect';
import ngMock from 'ng_mock';
import _ from 'lodash';
import d3 from 'd3';
+import expect from '@kbn/expect';
+import 'ui/persisted_state';
+
// Data
-import series from 'fixtures/vislib/mock_data/date_histogram/_series';
-import seriesPosNeg from 'fixtures/vislib/mock_data/date_histogram/_series_pos_neg';
-import seriesNeg from 'fixtures/vislib/mock_data/date_histogram/_series_neg';
-import termsColumns from 'fixtures/vislib/mock_data/terms/_columns';
-import histogramRows from 'fixtures/vislib/mock_data/histogram/_rows';
-import stackedSeries from 'fixtures/vislib/mock_data/date_histogram/_stacked_series';
-import { seriesMonthlyInterval } from 'fixtures/vislib/mock_data/date_histogram/_series_monthly_interval';
-import { rowsSeriesWithHoles } from 'fixtures/vislib/mock_data/date_histogram/_rows_series_with_holes';
-import rowsWithZeros from 'fixtures/vislib/mock_data/date_histogram/_rows';
+import series from '../lib/fixtures/mock_data/date_histogram/_series';
+import seriesPosNeg from '../lib/fixtures/mock_data/date_histogram/_series_pos_neg';
+import seriesNeg from '../lib/fixtures/mock_data/date_histogram/_series_neg';
+import termsColumns from '../lib/fixtures/mock_data/terms/_columns';
+import histogramRows from '../lib/fixtures/mock_data/histogram/_rows';
+import stackedSeries from '../lib/fixtures/mock_data/date_histogram/_stacked_series';
+import { seriesMonthlyInterval } from '../lib/fixtures/mock_data/date_histogram/_series_monthly_interval';
+import { rowsSeriesWithHoles } from '../lib/fixtures/mock_data/date_histogram/_rows_series_with_holes';
+import rowsWithZeros from '../lib/fixtures/mock_data/date_histogram/_rows';
import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../persisted_state';
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
// tuple, with the format [description, mode, data]
const dataTypesArray = [
@@ -69,7 +70,8 @@ dataTypesArray.forEach(function(dataType) {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
vis.on('brush', _.noop);
vis.render(data, persistedState);
@@ -257,7 +259,8 @@ describe('stackData method - data set with zeros in percentage mode', function()
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
vis.on('brush', _.noop);
})
@@ -307,7 +310,8 @@ describe('datumWidth - split chart data set with holes', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
vis.on('brush', _.noop);
vis.render(rowsSeriesWithHoles, persistedState);
@@ -344,7 +348,8 @@ describe('datumWidth - monthly interval', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
vis.on('brush', _.noop);
vis.render(seriesMonthlyInterval, persistedState);
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/gauge_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/gauge_chart.js
similarity index 94%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/gauge_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/gauge_chart.js
index 45d9d4a2e374..074b34e1c03c 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/gauge_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/gauge_chart.js
@@ -17,13 +17,15 @@
* under the License.
*/
-import expect from '@kbn/expect';
import ngMock from 'ng_mock';
import $ from 'jquery';
import _ from 'lodash';
-import data from 'fixtures/vislib/mock_data/terms/_seriesMultiple';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../persisted_state';
+
+import expect from '@kbn/expect';
+import 'ui/persisted_state';
+
+import data from '../lib/fixtures/mock_data/terms/_seriesMultiple';
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
describe('Vislib Gauge Chart Test Suite', function() {
let PersistedState;
@@ -89,7 +91,7 @@ describe('Vislib Gauge Chart Test Suite', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vislibVis = Private(FixturesVislibVisFixtureProvider);
+ vislibVis = getFixturesVislibVisFixtureProvider(Private);
PersistedState = $injector.get('PersistedState');
generateVis();
})
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/heatmap_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/heatmap_chart.js
similarity index 92%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/heatmap_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/heatmap_chart.js
index f1dc4bf07ee3..bf1dbad0b44c 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/heatmap_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/heatmap_chart.js
@@ -17,20 +17,21 @@
* under the License.
*/
-import expect from '@kbn/expect';
import ngMock from 'ng_mock';
import _ from 'lodash';
import d3 from 'd3';
+import expect from '@kbn/expect';
+import 'ui/persisted_state';
+
// Data
-import series from 'fixtures/vislib/mock_data/date_histogram/_series';
-import seriesPosNeg from 'fixtures/vislib/mock_data/date_histogram/_series_pos_neg';
-import seriesNeg from 'fixtures/vislib/mock_data/date_histogram/_series_neg';
-import termsColumns from 'fixtures/vislib/mock_data/terms/_columns';
-import stackedSeries from 'fixtures/vislib/mock_data/date_histogram/_stacked_series';
+import series from '../lib/fixtures/mock_data/date_histogram/_series';
+import seriesPosNeg from '../lib/fixtures/mock_data/date_histogram/_series_pos_neg';
+import seriesNeg from '../lib/fixtures/mock_data/date_histogram/_series_neg';
+import termsColumns from '../lib/fixtures/mock_data/terms/_columns';
+import stackedSeries from '../lib/fixtures/mock_data/date_histogram/_stacked_series';
import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../persisted_state';
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
// tuple, with the format [description, mode, data]
const dataTypesArray = [
@@ -74,7 +75,7 @@ describe('Vislib Heatmap Chart Test Suite', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vislibVis = Private(FixturesVislibVisFixtureProvider);
+ vislibVis = getFixturesVislibVisFixtureProvider(Private);
PersistedState = $injector.get('PersistedState');
generateVis();
})
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/line_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/line_chart.js
similarity index 92%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/line_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/line_chart.js
index 354be1f0ced0..d010944a19e4 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/line_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/line_chart.js
@@ -20,18 +20,19 @@
import d3 from 'd3';
import expect from '@kbn/expect';
import ngMock from 'ng_mock';
+import $ from 'jquery';
import _ from 'lodash';
+import 'ui/persisted_state';
+
// Data
-import seriesPos from 'fixtures/vislib/mock_data/date_histogram/_series';
-import seriesPosNeg from 'fixtures/vislib/mock_data/date_histogram/_series_pos_neg';
-import seriesNeg from 'fixtures/vislib/mock_data/date_histogram/_series_neg';
-import histogramColumns from 'fixtures/vislib/mock_data/histogram/_columns';
-import rangeRows from 'fixtures/vislib/mock_data/range/_rows';
-import termSeries from 'fixtures/vislib/mock_data/terms/_series';
-import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import '../../../persisted_state';
+import seriesPos from '../lib/fixtures/mock_data/date_histogram/_series';
+import seriesPosNeg from '../lib/fixtures/mock_data/date_histogram/_series_pos_neg';
+import seriesNeg from '../lib/fixtures/mock_data/date_histogram/_series_neg';
+import histogramColumns from '../lib/fixtures/mock_data/histogram/_columns';
+import rangeRows from '../lib/fixtures/mock_data/range/_rows';
+import termSeries from '../lib/fixtures/mock_data/terms/_series';
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
const dataTypes = [
['series pos', seriesPos],
@@ -54,6 +55,7 @@ describe('Vislib Line Chart', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
const visLibParams = {
type: 'line',
addLegend: true,
@@ -61,10 +63,10 @@ describe('Vislib Line Chart', function() {
drawLinesBetweenPoints: true,
};
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
- vis.on('brush', _.noop);
vis.render(data, persistedState);
+ vis.on('brush', _.noop);
})
);
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/pie_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/pie_chart.js
similarity index 94%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/pie_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/pie_chart.js
index 9d299c4d3a5d..381dfcd387cc 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/pie_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/pie_chart.js
@@ -18,17 +18,20 @@
*/
import d3 from 'd3';
-import expect from '@kbn/expect';
import ngMock from 'ng_mock';
import _ from 'lodash';
-import fixtures from 'fixtures/fake_hierarchical_data';
import $ from 'jquery';
-import FixturesVislibVisFixtureProvider from 'fixtures/vislib/_vis_fixture';
-import { Vis } from '../../../vis';
-import '../../../persisted_state';
+
+import expect from '@kbn/expect';
+// TODO: Remove ui imports once converting to jest
+import 'ui/persisted_state';
+import { vislibSlicesResponseHandlerProvider } from 'ui/vis/response_handlers/vislib';
+
+import fixtures from 'fixtures/fake_hierarchical_data';
import FixturesStubbedLogstashIndexPatternProvider from 'fixtures/stubbed_logstash_index_pattern';
-import { vislibSlicesResponseHandlerProvider } from '../../../vis/response_handlers/vislib';
-import { tabifyAggResponse } from '../../../agg_response/tabify';
+
+import getFixturesVislibVisFixtureProvider from '../lib/fixtures/_vis_fixture';
+import { Vis, tabifyAggResponse } from '../../../legacy_imports';
const rowAgg = [
{ type: 'avg', schema: 'metric', params: { field: 'bytes' } },
@@ -129,7 +132,8 @@ describe('No global chart settings', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- chart1 = Private(FixturesVislibVisFixtureProvider)(visLibParams1);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ chart1 = getVis(visLibParams1);
persistedState = new ($injector.get('PersistedState'))();
indexPattern = Private(FixturesStubbedLogstashIndexPatternProvider);
responseHandler = vislibSlicesResponseHandlerProvider().handler;
@@ -163,7 +167,7 @@ describe('No global chart settings', function() {
});
it('should render chart titles for all charts', function() {
- expect($(chart1.el).find('.visAxis__splitTitles--y').length).to.be(1);
+ expect($(chart1.element).find('.visAxis__splitTitles--y').length).to.be(1);
});
describe('_validatePieData method', function() {
@@ -221,7 +225,8 @@ describe('Vislib PieChart Class Test Suite', function() {
beforeEach(ngMock.module('kibana'));
beforeEach(
ngMock.inject(function(Private, $injector) {
- vis = Private(FixturesVislibVisFixtureProvider)(visLibParams);
+ const getVis = getFixturesVislibVisFixtureProvider(Private);
+ vis = getVis(visLibParams);
persistedState = new ($injector.get('PersistedState'))();
indexPattern = Private(FixturesStubbedLogstashIndexPatternProvider);
responseHandler = vislibSlicesResponseHandlerProvider().handler;
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/time_marker.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/time_marker.js
similarity index 97%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/time_marker.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/time_marker.js
index cfe61d6f3519..ec22d43c08cb 100644
--- a/src/legacy/ui/public/vislib/__tests__/visualizations/time_marker.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/time_marker.js
@@ -20,8 +20,8 @@
import d3 from 'd3';
import expect from '@kbn/expect';
import ngMock from 'ng_mock';
-import series from 'fixtures/vislib/mock_data/date_histogram/_series';
-import terms from 'fixtures/vislib/mock_data/terms/_columns';
+import series from '../lib/fixtures/mock_data/date_histogram/_series';
+import terms from '../lib/fixtures/mock_data/terms/_columns';
import $ from 'jquery';
import { TimeMarker } from '../../visualizations/time_marker';
diff --git a/src/legacy/ui/public/vislib/__tests__/visualizations/vis_types.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/vis_types.js
similarity index 100%
rename from src/legacy/ui/public/vislib/__tests__/visualizations/vis_types.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/visualizations/vis_types.js
diff --git a/src/legacy/ui/public/vislib/_index.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/_index.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/_index.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/_index.scss
diff --git a/src/legacy/ui/public/vislib/_variables.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/_variables.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/_variables.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/_variables.scss
diff --git a/src/legacy/ui/public/vislib/components/labels/data_array.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/data_array.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/labels/data_array.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/data_array.js
diff --git a/src/legacy/ui/public/vislib/components/labels/flatten_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/labels/flatten_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js
diff --git a/src/legacy/ui/public/vislib/components/labels/index.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/index.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/labels/index.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/index.js
diff --git a/src/legacy/ui/public/vislib/components/labels/labels.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/labels.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/labels/labels.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/labels.js
diff --git a/src/legacy/ui/public/vislib/components/labels/truncate_labels.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/truncate_labels.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/labels/truncate_labels.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/truncate_labels.js
diff --git a/src/legacy/ui/public/vislib/components/labels/uniq_labels.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/labels/uniq_labels.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/flatten_data.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/flatten_data.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/inject_zeros.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/inject_zeros.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/inject_zeros.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/inject_zeros.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/ordered_x_keys.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/ordered_x_keys.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/uniq_keys.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/uniq_keys.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/zero_fill_data_array.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/zero_fill_data_array.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/zero_filled_array.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_filled_array.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/zero_filled_array.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_filled_array.js
diff --git a/src/legacy/ui/public/vislib/components/zero_injection/zero_injection.test.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js
similarity index 100%
rename from src/legacy/ui/public/vislib/components/zero_injection/zero_injection.test.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js
diff --git a/src/legacy/ui/public/vislib/errors.ts b/src/legacy/core_plugins/vis_type_vislib/public/vislib/errors.ts
similarity index 95%
rename from src/legacy/ui/public/vislib/errors.ts
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/errors.ts
index 0c6e720f0ef3..9014349c38d2 100644
--- a/src/legacy/ui/public/vislib/errors.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/errors.ts
@@ -19,7 +19,7 @@
/* eslint-disable max-classes-per-file */
-import { KbnError } from '../../../../plugins/kibana_utils/public';
+import { KbnError } from '../../../../../plugins/kibana_utils/public';
export class VislibError extends KbnError {
constructor(message: string) {
diff --git a/src/legacy/ui/public/vislib/index.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/index.js
similarity index 100%
rename from src/legacy/ui/public/vislib/index.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/index.js
diff --git a/src/legacy/ui/public/vislib/lib/_alerts.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_alerts.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/_alerts.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_alerts.scss
diff --git a/src/legacy/ui/public/vislib/lib/_data_label.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_data_label.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/_data_label.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_data_label.js
diff --git a/src/legacy/ui/public/vislib/lib/_error_handler.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_error_handler.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/_error_handler.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_error_handler.js
diff --git a/src/legacy/ui/public/vislib/lib/_handler.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_handler.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/_handler.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_handler.scss
diff --git a/src/legacy/ui/public/vislib/lib/_index.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_index.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/_index.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/_index.scss
diff --git a/src/legacy/ui/public/vislib/lib/alerts.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/alerts.js
similarity index 97%
rename from src/legacy/ui/public/vislib/lib/alerts.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/alerts.js
index cf79dabf1b07..086b4e31be1a 100644
--- a/src/legacy/ui/public/vislib/lib/alerts.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/alerts.js
@@ -71,11 +71,11 @@ export class Alerts {
const alerts = this.alerts;
const vis = this.vis;
- $(vis.el)
+ $(vis.element)
.find('.visWrapper__alerts')
.append($('
').addClass('visAlerts__tray'));
if (!alerts.size()) return;
- $(vis.el)
+ $(vis.element)
.find('.visAlerts__tray')
.append(alerts.value());
}
@@ -89,13 +89,13 @@ export class Alerts {
};
if (this.alertDefs.find(alertDef => alertDef.msg === alert.msg)) return;
this.alertDefs.push(alert);
- $(vis.el)
+ $(vis.element)
.find('.visAlerts__tray')
.append(this._addAlert(alert));
}
destroy() {
- $(this.vis.el)
+ $(this.vis.element)
.find('.visWrapper__alerts')
.remove();
}
diff --git a/src/legacy/ui/public/vislib/lib/axis/axis.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/axis.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/axis_config.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/axis_config.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/axis_labels.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_labels.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/axis_labels.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_labels.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/axis_scale.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/axis_scale.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/axis_title.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/axis_title.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/index.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/index.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/index.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/index.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/scale_modes.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/scale_modes.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/scale_modes.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/scale_modes.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/time_ticks.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/time_ticks.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/time_ticks.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/time_ticks.js
diff --git a/src/legacy/ui/public/vislib/lib/axis/time_ticks.test.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/time_ticks.test.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/axis/time_ticks.test.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/time_ticks.test.js
diff --git a/src/legacy/ui/public/vislib/lib/chart_grid.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/chart_grid.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/chart_grid.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/chart_grid.js
diff --git a/src/legacy/ui/public/vislib/lib/chart_title.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/chart_title.js
similarity index 98%
rename from src/legacy/ui/public/vislib/lib/chart_title.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/chart_title.js
index f79d14a3deaa..1c84f98614b0 100644
--- a/src/legacy/ui/public/vislib/lib/chart_title.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/chart_title.js
@@ -19,8 +19,9 @@
import d3 from 'd3';
import _ from 'lodash';
+
import { ErrorHandler } from './_error_handler';
-import { Tooltip } from '../../vis/components/tooltip';
+import { Tooltip } from '../../legacy_imports';
export class ChartTitle extends ErrorHandler {
constructor(visConfig) {
diff --git a/src/legacy/ui/public/vislib/lib/data.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/data.js
similarity index 98%
rename from src/legacy/ui/public/vislib/lib/data.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/data.js
index c10449c681a3..c7824c43eeec 100644
--- a/src/legacy/ui/public/vislib/lib/data.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/data.js
@@ -19,11 +19,11 @@
import d3 from 'd3';
import _ from 'lodash';
+
import { injectZeros } from '../components/zero_injection/inject_zeros';
import { orderXValues } from '../components/zero_injection/ordered_x_keys';
import { labels } from '../components/labels/labels';
-import { vislibColor } from '../../vis/components/color/color';
-import { getFormat } from '../../visualize/loader/pipeline_helpers/utilities';
+import { getFormat } from '../../legacy_imports';
/**
* Provides an API for pulling values off the data
@@ -35,8 +35,9 @@ import { getFormat } from '../../visualize/loader/pipeline_helpers/utilities';
* @param attr {Object|*} Visualization options
*/
export class Data {
- constructor(data, uiState) {
+ constructor(data, uiState, vislibColor) {
this.uiState = uiState;
+ this.vislibColor = vislibColor;
this.data = this.copyDataObj(data);
this.type = this.getDataType();
this._cleanVisData();
@@ -472,7 +473,7 @@ export class Data {
const defaultColors = this.uiState.get('vis.defaultColors');
const overwriteColors = this.uiState.get('vis.colors');
const colors = defaultColors ? _.defaults({}, overwriteColors, defaultColors) : overwriteColors;
- return vislibColor(this.getLabels(), colors);
+ return this.vislibColor(this.getLabels(), colors);
}
/**
@@ -482,7 +483,7 @@ export class Data {
* @returns {Function} Performs lookup on string and returns hex color
*/
getPieColorFunc() {
- return vislibColor(
+ return this.vislibColor(
this.pieNames(this.getVisData()).map(function(d) {
return d.label;
}),
diff --git a/src/legacy/ui/public/vislib/lib/dispatch.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/dispatch.js
similarity index 92%
rename from src/legacy/ui/public/vislib/lib/dispatch.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/dispatch.js
index fb5cc127c27f..404f7ef82d97 100644
--- a/src/legacy/ui/public/vislib/lib/dispatch.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/dispatch.js
@@ -20,10 +20,8 @@
import d3 from 'd3';
import { get } from 'lodash';
import $ from 'jquery';
-import { SimpleEmitter } from '../../utils/simple_emitter';
-import chrome from 'ui/chrome';
-const config = chrome.getUiSettingsClient();
+import { SimpleEmitter } from '../../legacy_imports';
/**
* Handles event responses
@@ -33,9 +31,10 @@ const config = chrome.getUiSettingsClient();
* @param handler {Object} Reference to Handler Class Object
*/
export class Dispatch extends SimpleEmitter {
- constructor(handler) {
+ constructor(handler, uiSettings) {
super();
this.handler = handler;
+ this.uiSettings = uiSettings;
this._listeners = {};
}
@@ -196,7 +195,7 @@ export class Dispatch extends SimpleEmitter {
const addEvent = this.addEvent;
const $el = this.handler.el;
if (!this.handler.highlight) {
- this.handler.highlight = self.highlight;
+ this.handler.highlight = self.getHighlighter(self.uiSettings);
}
function hover(d, i) {
@@ -289,21 +288,23 @@ export class Dispatch extends SimpleEmitter {
}
/**
- * Highlight the element that is under the cursor
+ * return function to Highlight the element that is under the cursor
* by reducing the opacity of all the elements on the graph.
- * @param element {d3.Selection}
- * @method highlight
+ * @param uiSettings
+ * @method getHighlighter
*/
- highlight(element) {
- const label = this.getAttribute('data-label');
- if (!label) return;
- const dimming = config.get('visualization:dimmingOpacity');
- $(element)
- .parent()
- .find('[data-label]')
- .css('opacity', 1) //Opacity 1 is needed to avoid the css application
- .not((els, el) => String($(el).data('label')) === label)
- .css('opacity', justifyOpacity(dimming));
+ getHighlighter(uiSettings) {
+ return function highlight(element) {
+ const label = this.getAttribute('data-label');
+ if (!label) return;
+ const dimming = uiSettings.get('visualization:dimmingOpacity');
+ $(element)
+ .parent()
+ .find('[data-label]')
+ .css('opacity', 1) //Opacity 1 is needed to avoid the css application
+ .not((els, el) => String($(el).data('label')) === label)
+ .css('opacity', justifyOpacity(dimming));
+ };
}
/**
diff --git a/src/legacy/ui/public/vislib/lib/handler.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/handler.js
similarity index 96%
rename from src/legacy/ui/public/vislib/lib/handler.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/handler.js
index 6047faa0c6b1..b887b61578cc 100644
--- a/src/legacy/ui/public/vislib/lib/handler.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/handler.js
@@ -20,15 +20,16 @@
import d3 from 'd3';
import _ from 'lodash';
import MarkdownIt from 'markdown-it';
+
import { NoResults } from '../errors';
-import { Binder } from '../../binder';
import { Layout } from './layout/layout';
import { ChartTitle } from './chart_title';
import { Alerts } from './alerts';
import { Axis } from './axis/axis';
import { ChartGrid as Grid } from './chart_grid';
import { visTypes as chartTypes } from '../visualizations/vis_types';
-import { dispatchRenderComplete } from '../../../../../plugins/kibana_utils/public';
+import { Binder } from '../../legacy_imports';
+import { dispatchRenderComplete } from '../../../../../../plugins/kibana_utils/public';
const markdownIt = new MarkdownIt({
html: false,
@@ -45,9 +46,10 @@ const markdownIt = new MarkdownIt({
* create the visualization
*/
export class Handler {
- constructor(vis, visConfig) {
+ constructor(vis, visConfig, deps) {
this.el = visConfig.get('el');
this.ChartClass = chartTypes[visConfig.get('type')];
+ this.deps = deps;
this.charts = [];
this.vis = vis;
@@ -151,7 +153,7 @@ export class Handler {
let loadedCount = 0;
const chartSelection = selection.selectAll('.chart');
chartSelection.each(function(chartData) {
- const chart = new self.ChartClass(self, this, chartData);
+ const chart = new self.ChartClass(self, this, chartData, self.deps);
self.vis.eventNames().forEach(function(event) {
self.enable(event, chart);
diff --git a/src/legacy/ui/public/vislib/lib/layout/_index.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/_index.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/_index.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/_index.scss
diff --git a/src/legacy/ui/public/vislib/lib/layout/_layout.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/_layout.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/_layout.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/_layout.scss
diff --git a/src/legacy/ui/public/vislib/lib/layout/index.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/index.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/index.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/index.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/layout.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/layout.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/layout.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/layout.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/layout_types.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/layout_types.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/column_chart/chart_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/chart_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/column_chart/chart_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/chart_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/column_chart/chart_title_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/chart_title_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/column_chart/chart_title_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/chart_title_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/column_chart/x_axis_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/x_axis_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/column_chart/x_axis_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/x_axis_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/column_chart/y_axis_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/y_axis_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/column_chart/y_axis_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/column_chart/y_axis_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/gauge_chart/chart_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/gauge_chart/chart_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/gauge_chart/chart_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/gauge_chart/chart_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/gauge_chart/chart_title_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/gauge_chart/chart_title_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/gauge_chart/chart_title_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/gauge_chart/chart_title_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/pie_chart/chart_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/pie_chart/chart_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/pie_chart/chart_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/pie_chart/chart_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/types/column_layout.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/types/column_layout.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/types/gauge_layout.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/types/gauge_layout.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/types/gauge_layout.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/types/gauge_layout.js
diff --git a/src/legacy/ui/public/vislib/lib/layout/types/pie_layout.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/types/pie_layout.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/layout/types/pie_layout.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/layout/types/pie_layout.js
diff --git a/src/legacy/ui/public/vislib/lib/types/gauge.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/gauge.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/types/gauge.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/gauge.js
diff --git a/src/legacy/ui/public/vislib/lib/types/index.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/index.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/types/index.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/index.js
diff --git a/src/legacy/ui/public/vislib/lib/types/pie.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/pie.js
similarity index 100%
rename from src/legacy/ui/public/vislib/lib/types/pie.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/pie.js
diff --git a/src/legacy/ui/public/vislib/lib/types/point_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/point_series.js
similarity index 98%
rename from src/legacy/ui/public/vislib/lib/types/point_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/point_series.js
index 332f7408ebc6..eab3bc02f4ee 100644
--- a/src/legacy/ui/public/vislib/lib/types/point_series.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/point_series.js
@@ -202,7 +202,7 @@ export const vislibPointSeriesTypes = {
'Positive and negative values are not accurately represented by stacked ' +
'area charts. Either changing the chart mode to "overlap" or using a ' +
'bar chart is recommended.',
- test: function(vis, data) {
+ test: function(_, data) {
if (!data.shouldBeStacked() || data.maxNumberOfSeries() < 2) return;
const hasPos = data.getYMax(data._getY) > 0;
@@ -216,7 +216,7 @@ export const vislibPointSeriesTypes = {
'Parts of or the entire area chart might not be displayed due to null ' +
'values in the data. A line chart is recommended when displaying data ' +
'with null values.',
- test: function(vis, data) {
+ test: function(_, data) {
return data.hasNullValues();
},
},
@@ -229,7 +229,7 @@ export const vislibPointSeriesTypes = {
const tooManySeries =
defaults.charts.length && defaults.charts[0].series.length > cfg.heatmapMaxBuckets;
if (hasCharts && tooManySeries) {
- defaults.error = i18n.translate('common.ui.vislib.heatmap.maxBucketsText', {
+ defaults.error = i18n.translate('kbnVislibVisTypes.vislib.heatmap.maxBucketsText', {
defaultMessage:
'There are too many series defined ({nr}). The configured maximum is {max}.',
values: {
diff --git a/src/legacy/ui/public/vislib/lib/types/point_series.test.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/point_series.test.js
similarity index 98%
rename from src/legacy/ui/public/vislib/lib/types/point_series.test.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/point_series.test.js
index cada6127282d..38a6be548594 100644
--- a/src/legacy/ui/public/vislib/lib/types/point_series.test.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/types/point_series.test.js
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-import stackedSeries from '../../../../../../fixtures/vislib/mock_data/date_histogram/_stacked_series';
+import stackedSeries from '../../__tests__/lib/fixtures/mock_data/date_histogram/_stacked_series';
import { vislibPointSeriesTypes } from './point_series';
describe('vislibPointSeriesTypes', () => {
diff --git a/src/legacy/ui/public/vislib/lib/vis_config.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/vis_config.js
similarity index 93%
rename from src/legacy/ui/public/vislib/lib/vis_config.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/vis_config.js
index 5f10e8947480..091e6b1752d8 100644
--- a/src/legacy/ui/public/vislib/lib/vis_config.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/vis_config.js
@@ -35,8 +35,8 @@ const DEFAULT_VIS_CONFIG = {
};
export class VisConfig {
- constructor(visConfigArgs, data, uiState, el) {
- this.data = new Data(data, uiState);
+ constructor(visConfigArgs, data, uiState, el, vislibColor) {
+ this.data = new Data(data, uiState, vislibColor);
const visType = visTypes[visConfigArgs.type];
const typeDefaults = visType(visConfigArgs, this.data);
diff --git a/src/legacy/ui/public/vislib/partials/touchdown.tmpl.html b/src/legacy/core_plugins/vis_type_vislib/public/vislib/partials/touchdown.tmpl.html
similarity index 100%
rename from src/legacy/ui/public/vislib/partials/touchdown.tmpl.html
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/partials/touchdown.tmpl.html
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/vislib/vis.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/vis.js
new file mode 100644
index 000000000000..32afb6a008b6
--- /dev/null
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/vis.js
@@ -0,0 +1,184 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import _ from 'lodash';
+import d3 from 'd3';
+import { EventEmitter } from 'events';
+
+import { VislibError } from './errors';
+import { VisConfig } from './lib/vis_config';
+import { Handler } from './lib/handler';
+
+/**
+ * Creates the visualizations.
+ *
+ * @class Vis
+ * @constructor
+ * @param element {HTMLElement} jQuery selected HTML element
+ * @param config {Object} Parameters that define the chart type and chart options
+ */
+export class Vis extends EventEmitter {
+ constructor(element, visConfigArgs, deps) {
+ super();
+ this.element = element.get ? element.get(0) : element;
+ this.visConfigArgs = _.cloneDeep(visConfigArgs);
+ this.visConfigArgs.dimmingOpacity = deps.uiSettings.get('visualization:dimmingOpacity');
+ this.visConfigArgs.heatmapMaxBuckets = deps.uiSettings.get('visualization:heatmap:maxBuckets');
+ this.deps = deps;
+ }
+
+ hasLegend() {
+ return this.visConfigArgs.addLegend;
+ }
+
+ initVisConfig(data, uiState) {
+ this.data = data;
+ this.uiState = uiState;
+ this.visConfig = new VisConfig(
+ this.visConfigArgs,
+ this.data,
+ this.uiState,
+ this.element,
+ this.deps.vislibColor
+ );
+ }
+
+ /**
+ * Renders the visualization
+ *
+ * @method render
+ * @param data {Object} Elasticsearch query results
+ */
+ render(data, uiState) {
+ if (!data) {
+ throw new Error('No valid data!');
+ }
+
+ if (this.handler) {
+ this.data = null;
+ this._runOnHandler('destroy');
+ }
+
+ this.initVisConfig(data, uiState);
+
+ this.handler = new Handler(this, this.visConfig, this.deps);
+ this._runOnHandler('render');
+ }
+
+ getLegendLabels() {
+ return this.visConfig ? this.visConfig.get('legend.labels', null) : null;
+ }
+
+ getLegendColors() {
+ return this.visConfig ? this.visConfig.get('legend.colors', null) : null;
+ }
+
+ _runOnHandler(method) {
+ try {
+ this.handler[method]();
+ } catch (error) {
+ if (error instanceof VislibError) {
+ error.displayToScreen(this.handler);
+ } else {
+ throw error;
+ }
+ }
+ }
+
+ /**
+ * Destroys the visualization
+ * Removes chart and all elements associated with it.
+ * Removes chart and all elements associated with it.
+ * Remove event listeners and pass destroy call down to owned objects.
+ *
+ * @method destroy
+ */
+ destroy() {
+ const selection = d3.select(this.element).select('.visWrapper');
+
+ if (this.handler) this._runOnHandler('destroy');
+
+ selection.remove();
+ }
+
+ /**
+ * Sets attributes on the visualization
+ *
+ * @method set
+ * @param name {String} An attribute name
+ * @param val {*} Value to which the attribute name is set
+ */
+ set(name, val) {
+ this.visConfigArgs[name] = val;
+ this.render(this.data, this.uiState);
+ }
+
+ /**
+ * Gets attributes from the visualization
+ *
+ * @method get
+ * @param name {String} An attribute name
+ * @returns {*} The value of the attribute name
+ */
+ get(name) {
+ return this.visConfig.get(name);
+ }
+
+ /**
+ * Turns on event listeners.
+ *
+ * @param event {String}
+ * @param listener{Function}
+ * @returns {*}
+ */
+ on(event, listener) {
+ const first = this.listenerCount(event) === 0;
+ const ret = EventEmitter.prototype.on.call(this, event, listener);
+ const added = this.listenerCount(event) > 0;
+
+ // if this is the first listener added for the event
+ // enable the event in the handler
+ if (first && added && this.handler) this.handler.enable(event);
+
+ return ret;
+ }
+
+ /**
+ * Turns off event listeners.
+ *
+ * @param event {String}
+ * @param listener{Function}
+ * @returns {*}
+ */
+ off(event, listener) {
+ const last = this.listenerCount(event) === 1;
+ const ret = EventEmitter.prototype.off.call(this, event, listener);
+ const removed = this.listenerCount(event) === 0;
+
+ // Once all listeners are removed, disable the events in the handler
+ if (last && removed && this.handler) this.handler.disable(event);
+ return ret;
+ }
+
+ removeAllListeners(event) {
+ const ret = EventEmitter.prototype.removeAllListeners.call(this, event);
+ this.handler.disable(event);
+ return ret;
+ }
+}
diff --git a/src/legacy/ui/public/vislib/vislib.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/vislib.js
similarity index 82%
rename from src/legacy/ui/public/vislib/vislib.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/vislib.js
index 847deb8273a7..024dee60ef2b 100644
--- a/src/legacy/ui/public/vislib/vislib.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/vislib.js
@@ -23,8 +23,7 @@ import './lib/types';
import './lib/layout/layout_types';
import './lib/data';
import './visualizations/vis_types';
-import { mappedColors } from '../vis/components/color/mapped_colors';
-import { VislibVisProvider } from './vis';
+import { Vis } from './vis';
// prefetched for faster optimization runs
// end prefetching
@@ -36,11 +35,9 @@ import { VislibVisProvider } from './vis';
* @main vislib
* @return {Object} Contains the version number and the Vis Class for creating visualizations
*/
-export function VislibProvider(Private, $rootScope) {
- $rootScope.$on('$routeChangeStart', () => mappedColors.purge());
-
+export function VislibProvider() {
return {
version: '0.0.0',
- Vis: Private(VislibVisProvider),
+ Vis,
};
}
diff --git a/src/legacy/ui/public/vislib/visualizations/_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/_chart.js
similarity index 81%
rename from src/legacy/ui/public/vislib/visualizations/_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/_chart.js
index 2fbd96d6a070..ac6e8130a846 100644
--- a/src/legacy/ui/public/vislib/visualizations/_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/_chart.js
@@ -19,12 +19,10 @@
import d3 from 'd3';
import _ from 'lodash';
+
import { dataLabel } from '../lib/_data_label';
import { Dispatch } from '../lib/dispatch';
-import { Tooltip } from '../../vis/components/tooltip';
-import { getFormat } from '../../visualize/loader/pipeline_helpers/utilities';
-import { getHierarchicalTooltipFormatter } from '../../vis/components/tooltip/_hierarchical_tooltip_formatter';
-import { getPointSeriesTooltipFormatter } from '../../vis/components/tooltip/_pointseries_tooltip_formatter';
+import { Tooltip, getFormat } from '../../legacy_imports';
/**
* The Base Class for all visualizations.
@@ -36,26 +34,26 @@ import { getPointSeriesTooltipFormatter } from '../../vis/components/tooltip/_po
* @param chartData {Object} Elasticsearch query results for this specific chart
*/
export class Chart {
- constructor(handler, el, chartData) {
+ constructor(handler, element, chartData, deps) {
this.handler = handler;
- this.chartEl = el;
+ this.chartEl = element;
this.chartData = chartData;
this.tooltips = [];
- const events = (this.events = new Dispatch(handler));
+ const events = (this.events = new Dispatch(handler, deps.uiSettings));
const fieldFormatter = getFormat(this.handler.data.get('tooltipFormatter'));
const tooltipFormatterProvider =
this.handler.visConfig.get('type') === 'pie'
- ? getHierarchicalTooltipFormatter()
- : getPointSeriesTooltipFormatter();
+ ? deps.getHierarchicalTooltipFormatter()
+ : deps.getPointSeriesTooltipFormatter();
const tooltipFormatter = tooltipFormatterProvider(fieldFormatter);
if (this.handler.visConfig && this.handler.visConfig.get('addTooltip', false)) {
- const $el = this.handler.el;
+ const element = this.handler.el;
// Add tooltip
- this.tooltip = new Tooltip('chart', $el, tooltipFormatter, events);
+ this.tooltip = new Tooltip('chart', element, tooltipFormatter, events);
this.tooltips.push(this.tooltip);
}
diff --git a/src/legacy/ui/public/vislib/visualizations/gauge_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauge_chart.js
similarity index 97%
rename from src/legacy/ui/public/vislib/visualizations/gauge_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauge_chart.js
index 1926e8348956..045294a2e981 100644
--- a/src/legacy/ui/public/vislib/visualizations/gauge_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauge_chart.js
@@ -22,8 +22,8 @@ import { Chart } from './_chart';
import { gaugeTypes } from './gauges/gauge_types';
export class GaugeChart extends Chart {
- constructor(handler, chartEl, chartData) {
- super(handler, chartEl, chartData);
+ constructor(handler, chartEl, chartData, deps) {
+ super(handler, chartEl, chartData, deps);
this.gaugeConfig = handler.visConfig.get('gauge', {});
this.gauge = new gaugeTypes[this.gaugeConfig.type](this);
}
diff --git a/src/legacy/ui/public/vislib/visualizations/gauges/_index.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/_index.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/gauges/_index.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/_index.scss
diff --git a/src/legacy/ui/public/vislib/visualizations/gauges/_meter.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/_meter.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/gauges/_meter.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/_meter.scss
diff --git a/src/legacy/ui/public/vislib/visualizations/gauges/gauge_types.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/gauge_types.js
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/gauges/gauge_types.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/gauge_types.js
diff --git a/src/legacy/ui/public/vislib/visualizations/gauges/meter.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js
similarity index 99%
rename from src/legacy/ui/public/vislib/visualizations/gauges/meter.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js
index 25da3ba95718..f51991466225 100644
--- a/src/legacy/ui/public/vislib/visualizations/gauges/meter.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js
@@ -19,7 +19,8 @@
import d3 from 'd3';
import _ from 'lodash';
-import { getHeatmapColors } from '../../components/color/heatmap_color';
+
+import { getHeatmapColors } from '../../../legacy_imports';
const arcAngles = {
angleFactor: 0.75,
diff --git a/src/legacy/ui/public/vislib/visualizations/pie_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js
similarity index 99%
rename from src/legacy/ui/public/vislib/visualizations/pie_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js
index 6d51c69892bc..a2cbf0fe295c 100644
--- a/src/legacy/ui/public/vislib/visualizations/pie_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js
@@ -42,8 +42,8 @@ const defaults = {
* @param chartData {Object} Elasticsearch query results for this specific chart
*/
export class PieChart extends Chart {
- constructor(handler, chartEl, chartData) {
- super(handler, chartEl, chartData);
+ constructor(handler, chartEl, chartData, deps) {
+ super(handler, chartEl, chartData, deps);
const charts = this.handler.data.getVisData();
this._validatePieData(charts);
this._attr = _.defaults(handler.visConfig.get('chart', {}), defaults);
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series.js
similarity index 97%
rename from src/legacy/ui/public/vislib/visualizations/point_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series.js
index 84dbea2ccc82..c838c51d34bf 100644
--- a/src/legacy/ui/public/vislib/visualizations/point_series.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series.js
@@ -20,7 +20,8 @@
import d3 from 'd3';
import _ from 'lodash';
import $ from 'jquery';
-import { Tooltip } from '../../vis/components/tooltip';
+
+import { Tooltip } from '../../legacy_imports';
import { Chart } from './_chart';
import { TimeMarker } from './time_marker';
import { seriesTypes } from './point_series/series_types';
@@ -39,9 +40,10 @@ const touchdownTmpl = _.template(touchdownTmplHtml);
* @param chartData {Object} Elasticsearch query results for this specific chart
*/
export class PointSeries extends Chart {
- constructor(handler, chartEl, chartData) {
- super(handler, chartEl, chartData);
+ constructor(handler, chartEl, chartData, deps) {
+ super(handler, chartEl, chartData, deps);
+ this.deps = deps;
this.handler = handler;
this.chartData = chartData;
this.chartEl = chartEl;
@@ -255,7 +257,7 @@ export class PointSeries extends Chart {
if (!seriArgs.show) return;
const SeriClass =
seriTypes[seriArgs.type || self.handler.visConfig.get('chart.type')] || seriTypes.line;
- const series = new SeriClass(self.handler, svg, data.series[i], seriArgs);
+ const series = new SeriClass(self.handler, svg, data.series[i], seriArgs, this.deps);
series.events = self.events;
svg.call(series.draw());
self.series.push(series);
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/_index.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/_index.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/point_series/_index.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/_index.scss
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/_labels.scss b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/_labels.scss
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/point_series/_labels.scss
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/_labels.scss
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/_point_series.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/point_series/_point_series.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/area_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js
similarity index 98%
rename from src/legacy/ui/public/vislib/visualizations/point_series/area_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js
index 08147bacdcc9..274ae82271e9 100644
--- a/src/legacy/ui/public/vislib/visualizations/point_series/area_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js
@@ -43,8 +43,8 @@ const defaults = {
* chart
*/
export class AreaChart extends PointSeries {
- constructor(handler, chartEl, chartData, seriesConfigArgs) {
- super(handler, chartEl, chartData, seriesConfigArgs);
+ constructor(handler, chartEl, chartData, seriesConfigArgs, deps) {
+ super(handler, chartEl, chartData, seriesConfigArgs, deps);
this.seriesConfig = _.defaults(seriesConfigArgs || {}, defaults);
this.isOverlapping = this.seriesConfig.mode !== 'stacked';
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/column_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js
similarity index 98%
rename from src/legacy/ui/public/vislib/visualizations/point_series/column_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js
index 1f18141d8629..4b422d9b1419 100644
--- a/src/legacy/ui/public/vislib/visualizations/point_series/column_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js
@@ -57,8 +57,8 @@ function datumWidth(defaultWidth, datum, nextDatum, scale, gutterWidth, groupCou
* @param chartData {Object} Elasticsearch query results for this specific chart
*/
export class ColumnChart extends PointSeries {
- constructor(handler, chartEl, chartData, seriesConfigArgs) {
- super(handler, chartEl, chartData, seriesConfigArgs);
+ constructor(handler, chartEl, chartData, seriesConfigArgs, deps) {
+ super(handler, chartEl, chartData, seriesConfigArgs, deps);
this.seriesConfig = _.defaults(seriesConfigArgs || {}, defaults);
this.labelOptions = _.defaults(handler.visConfig.get('labels', {}), defaults.showLabel);
}
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/heatmap_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js
similarity index 98%
rename from src/legacy/ui/public/vislib/visualizations/point_series/heatmap_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js
index 1bc33bd5bbad..948cf98a6435 100644
--- a/src/legacy/ui/public/vislib/visualizations/point_series/heatmap_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js
@@ -19,10 +19,12 @@
import _ from 'lodash';
import moment from 'moment';
-import { PointSeries } from './_point_series';
-import { getHeatmapColors } from '../../components/color/heatmap_color';
+
import { isColorDark } from '@elastic/eui';
+import { PointSeries } from './_point_series';
+import { getHeatmapColors } from '../../../legacy_imports';
+
const defaults = {
color: undefined, // todo
fillColor: undefined, // todo
@@ -38,8 +40,8 @@ const defaults = {
* @param chartData {Object} Elasticsearch query results for this specific chart
*/
export class HeatmapChart extends PointSeries {
- constructor(handler, chartEl, chartData, seriesConfigArgs) {
- super(handler, chartEl, chartData, seriesConfigArgs);
+ constructor(handler, chartEl, chartData, seriesConfigArgs, deps) {
+ super(handler, chartEl, chartData, seriesConfigArgs, deps);
this.seriesConfig = _.defaults(seriesConfigArgs || {}, defaults);
this.handler.visConfig.set('legend', {
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/line_chart.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js
similarity index 98%
rename from src/legacy/ui/public/vislib/visualizations/point_series/line_chart.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js
index 57090b5424f9..0038b4401b30 100644
--- a/src/legacy/ui/public/vislib/visualizations/point_series/line_chart.js
+++ b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js
@@ -42,8 +42,8 @@ const defaults = {
* @param chartData {Object} Elasticsearch query results for this specific chart
*/
export class LineChart extends PointSeries {
- constructor(handler, chartEl, chartData, seriesConfigArgs) {
- super(handler, chartEl, chartData, seriesConfigArgs);
+ constructor(handler, chartEl, chartData, seriesConfigArgs, deps) {
+ super(handler, chartEl, chartData, seriesConfigArgs, deps);
this.seriesConfig = _.defaults(seriesConfigArgs || {}, defaults);
}
diff --git a/src/legacy/ui/public/vislib/visualizations/point_series/series_types.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/series_types.js
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/point_series/series_types.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/point_series/series_types.js
diff --git a/src/legacy/ui/public/vislib/visualizations/time_marker.d.ts b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/time_marker.d.ts
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/time_marker.d.ts
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/time_marker.d.ts
diff --git a/src/legacy/ui/public/vislib/visualizations/time_marker.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/time_marker.js
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/time_marker.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/time_marker.js
diff --git a/src/legacy/ui/public/vislib/visualizations/vis_types.js b/src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/vis_types.js
similarity index 100%
rename from src/legacy/ui/public/vislib/visualizations/vis_types.js
rename to src/legacy/core_plugins/vis_type_vislib/public/vislib/visualizations/vis_types.js
diff --git a/src/legacy/ui/public/UI_SYSTEMS.md b/src/legacy/ui/public/UI_SYSTEMS.md
index 63fd60207565..37bfbcf92f64 100644
--- a/src/legacy/ui/public/UI_SYSTEMS.md
+++ b/src/legacy/ui/public/UI_SYSTEMS.md
@@ -6,7 +6,3 @@ In this directory you'll find various UI systems you can use to craft effective
* [banners](notify/banners/BANNERS.md)
* [toastNotifications](notify/toasts/TOAST_NOTIFICATIONS.md)
-
-## ui/vislib
-
-* [VisLib](vislib/VISLIB.md)
\ No newline at end of file
diff --git a/src/legacy/ui/public/_index.scss b/src/legacy/ui/public/_index.scss
index 747ad025ef69..f5a1d0a7922a 100644
--- a/src/legacy/ui/public/_index.scss
+++ b/src/legacy/ui/public/_index.scss
@@ -26,5 +26,4 @@
// Can't import vis folder here because of cascading issues, it's imported in core_plugins/kibana
// @import './vis/index';
-@import './vislib/index';
@import './visualize/index';
diff --git a/src/legacy/ui/public/vislib/components/color/colormaps.ts b/src/legacy/ui/public/color_maps/color_maps.ts
similarity index 100%
rename from src/legacy/ui/public/vislib/components/color/colormaps.ts
rename to src/legacy/ui/public/color_maps/color_maps.ts
diff --git a/src/legacy/ui/public/vislib/components/color/heatmap_color.js b/src/legacy/ui/public/color_maps/heatmap_color.js
similarity index 98%
rename from src/legacy/ui/public/vislib/components/color/heatmap_color.js
rename to src/legacy/ui/public/color_maps/heatmap_color.js
index 5e788cd1f334..06d754235f88 100644
--- a/src/legacy/ui/public/vislib/components/color/heatmap_color.js
+++ b/src/legacy/ui/public/color_maps/heatmap_color.js
@@ -18,7 +18,7 @@
*/
import _ from 'lodash';
-import { vislibColorMaps } from './colormaps';
+import { vislibColorMaps } from './color_maps';
function enforceBounds(x) {
if (x < 0) {
diff --git a/src/legacy/core_plugins/kbn_vislib_vis_types/index.js b/src/legacy/ui/public/color_maps/index.ts
similarity index 73%
rename from src/legacy/core_plugins/kbn_vislib_vis_types/index.js
rename to src/legacy/ui/public/color_maps/index.ts
index 6e1f17c941ec..50dfe682f441 100644
--- a/src/legacy/core_plugins/kbn_vislib_vis_types/index.js
+++ b/src/legacy/ui/public/color_maps/index.ts
@@ -17,14 +17,8 @@
* under the License.
*/
-export default function(kibana) {
- return new kibana.Plugin({
- uiExports: {
- visTypes: ['plugins/kbn_vislib_vis_types/kbn_vislib_vis_types'],
- interpreter: [
- 'plugins/kbn_vislib_vis_types/pie_fn',
- 'plugins/kbn_vislib_vis_types/vislib_fn',
- ],
- },
- });
-}
+export * from './color_maps';
+// @ts-ignore
+export { getHeatmapColors } from './heatmap_color';
+// @ts-ignore
+export * from './truncated_color_maps';
diff --git a/src/legacy/ui/public/vislib/components/color/truncated_colormaps.js b/src/legacy/ui/public/color_maps/truncated_color_maps.js
similarity index 86%
rename from src/legacy/ui/public/vislib/components/color/truncated_colormaps.js
rename to src/legacy/ui/public/color_maps/truncated_color_maps.js
index ccf005b3726a..cb7772c875e4 100644
--- a/src/legacy/ui/public/vislib/components/color/truncated_colormaps.js
+++ b/src/legacy/ui/public/color_maps/truncated_color_maps.js
@@ -17,14 +17,14 @@
* under the License.
*/
-import { vislibColorMaps } from './colormaps';
+import { vislibColorMaps } from './color_maps';
export const truncatedColorMaps = {};
const colormaps = vislibColorMaps;
for (const key in colormaps) {
if (colormaps.hasOwnProperty(key)) {
- //slice off lightest colors
+ // slice off lightest colors
truncatedColorMaps[key] = {
...colormaps[key],
value: colormaps[key].value.slice(Math.floor(colormaps[key].value.length / 4)),
@@ -32,7 +32,7 @@ for (const key in colormaps) {
}
}
-export const colorSchemas = Object.values(truncatedColorMaps).map(({ id, label }) => ({
+export const truncatedColorSchemas = Object.values(truncatedColorMaps).map(({ id, label }) => ({
value: id,
text: label,
}));
diff --git a/src/legacy/ui/public/vis/components/tooltip/_hierarchical_tooltip_formatter.js b/src/legacy/ui/public/vis/components/tooltip/_hierarchical_tooltip_formatter.js
index 26a9c5b008f7..aef7bc3913a4 100644
--- a/src/legacy/ui/public/vis/components/tooltip/_hierarchical_tooltip_formatter.js
+++ b/src/legacy/ui/public/vis/components/tooltip/_hierarchical_tooltip_formatter.js
@@ -19,6 +19,9 @@
import _ from 'lodash';
import $ from 'jquery';
+
+import chrome from 'ui/chrome';
+
import { collectBranch } from './_collect_branch';
import numeral from 'numeral';
import template from './_hierarchical_tooltip.html';
@@ -68,6 +71,12 @@ export const getHierarchicalTooltipFormatter = () => {
return _tooltipFormatter;
};
+export const initializeHierarchicalTooltipFormatter = async () => {
+ const $injector = await chrome.dangerouslyGetActiveInjector();
+ const Private = $injector.get('Private');
+ _tooltipFormatter = Private(HierarchicalTooltipFormatterProvider);
+};
+
export const setHierarchicalTooltipFormatter = Private => {
_tooltipFormatter = Private(HierarchicalTooltipFormatterProvider);
};
diff --git a/src/legacy/ui/public/vis/components/tooltip/_pointseries_tooltip_formatter.js b/src/legacy/ui/public/vis/components/tooltip/_pointseries_tooltip_formatter.js
index fa0b030c736c..88c9e3d67b4a 100644
--- a/src/legacy/ui/public/vis/components/tooltip/_pointseries_tooltip_formatter.js
+++ b/src/legacy/ui/public/vis/components/tooltip/_pointseries_tooltip_formatter.js
@@ -18,6 +18,9 @@
*/
import $ from 'jquery';
+
+import chrome from 'ui/chrome';
+
import template from './_pointseries_tooltip.html';
export function PointSeriesTooltipFormatterProvider($compile, $rootScope) {
@@ -75,6 +78,12 @@ export const getPointSeriesTooltipFormatter = () => {
return _tooltipFormatter;
};
+export const initializePointSeriesTooltipFormatter = async () => {
+ const $injector = await chrome.dangerouslyGetActiveInjector();
+ const Private = $injector.get('Private');
+ _tooltipFormatter = Private(PointSeriesTooltipFormatterProvider);
+};
+
export const setPointSeriesTooltipFormatter = Private => {
_tooltipFormatter = Private(PointSeriesTooltipFormatterProvider);
};
diff --git a/src/legacy/ui/public/vis/editors/default/agg_groups.ts b/src/legacy/ui/public/vis/editors/default/agg_groups.ts
index f55e6ecd7915..e84306144fa6 100644
--- a/src/legacy/ui/public/vis/editors/default/agg_groups.ts
+++ b/src/legacy/ui/public/vis/editors/default/agg_groups.ts
@@ -18,11 +18,14 @@
*/
import { i18n } from '@kbn/i18n';
+import { $Values } from '@kbn/utility-types';
-export enum AggGroupNames {
- Buckets = 'buckets',
- Metrics = 'metrics',
-}
+export const AggGroupNames = Object.freeze({
+ Buckets: 'buckets' as 'buckets',
+ Metrics: 'metrics' as 'metrics',
+ None: 'none' as 'none',
+});
+export type AggGroupNames = $Values
;
export const aggGroupNamesMap = () => ({
[AggGroupNames.Metrics]: i18n.translate('common.ui.vis.editors.aggGroups.metricsText', {
diff --git a/src/legacy/ui/public/vis/editors/default/components/agg_group.tsx b/src/legacy/ui/public/vis/editors/default/components/agg_group.tsx
index 528914f4fd00..1c8690f6deb7 100644
--- a/src/legacy/ui/public/vis/editors/default/components/agg_group.tsx
+++ b/src/legacy/ui/public/vis/editors/default/components/agg_group.tsx
@@ -66,7 +66,7 @@ function DefaultEditorAggGroup({
setTouched,
setValidity,
}: DefaultEditorAggGroupProps) {
- const groupNameLabel = aggGroupNamesMap()[groupName];
+ const groupNameLabel = (aggGroupNamesMap() as any)[groupName];
// e.g. buckets can have no aggs
const group: AggConfig[] =
state.aggs.aggs.filter((agg: AggConfig) => agg.schema.group === groupName) || [];
diff --git a/src/legacy/ui/public/vis/editors/default/schemas.js b/src/legacy/ui/public/vis/editors/default/schemas.ts
similarity index 70%
rename from src/legacy/ui/public/vis/editors/default/schemas.js
rename to src/legacy/ui/public/vis/editors/default/schemas.ts
index 69449dc8504a..e86a73732c3f 100644
--- a/src/legacy/ui/public/vis/editors/default/schemas.js
+++ b/src/legacy/ui/public/vis/editors/default/schemas.ts
@@ -18,13 +18,44 @@
*/
import _ from 'lodash';
+
+import { Optional } from '@kbn/utility-types';
+
+import { AggParam } from '../../../agg_types';
import { IndexedArray } from '../../../indexed_array';
import { RowsOrColumnsControl } from './controls/rows_or_columns';
import { RadiusRatioOptionControl } from './controls/radius_ratio_option';
import { AggGroupNames } from './agg_groups';
+import { AggControlProps } from './controls/agg_control_props';
+
+export interface Schema {
+ aggFilter: string | string[];
+ editor: boolean | string;
+ group: AggGroupNames;
+ max: number;
+ min: number;
+ name: string;
+ params: AggParam[];
+ title: string;
+ defaults: unknown;
+ hideCustomLabel?: boolean;
+ mustBeFirst?: boolean;
+ aggSettings?: any;
+ editorComponent?: React.ComponentType;
+}
class Schemas {
- constructor(schemas) {
+ // @ts-ignore
+ all: IndexedArray;
+
+ constructor(
+ schemas: Array<
+ Optional<
+ Schema,
+ 'min' | 'max' | 'group' | 'title' | 'aggFilter' | 'editor' | 'params' | 'defaults'
+ >
+ >
+ ) {
_(schemas || [])
.map(schema => {
if (!schema.name) throw new Error('all schema must have a unique name');
@@ -35,7 +66,7 @@ class Schemas {
name: 'row',
default: true,
},
- ];
+ ] as AggParam[];
schema.editorComponent = RowsOrColumnsControl;
} else if (schema.name === 'radius') {
schema.editorComponent = RadiusRatioOptionControl;
@@ -51,21 +82,23 @@ class Schemas {
params: [],
});
- return schema;
+ return schema as Schema;
})
- .tap(schemas => {
+ .tap((fullSchemas: Schema[]) => {
this.all = new IndexedArray({
index: ['name'],
group: ['group'],
immutable: true,
- initialSet: schemas,
+ initialSet: fullSchemas,
});
})
.groupBy('group')
.forOwn((group, groupName) => {
+ // @ts-ignore
this[groupName] = new IndexedArray({
index: ['name'],
immutable: true,
+ // @ts-ignore
initialSet: group,
});
})
diff --git a/src/legacy/ui/public/vis/vis_types/_vislib_vis_legend.scss b/src/legacy/ui/public/vis/vis_types/_vislib_vis_legend.scss
index 4d7c0e2bdcad..62050ce4e99f 100644
--- a/src/legacy/ui/public/vis/vis_types/_vislib_vis_legend.scss
+++ b/src/legacy/ui/public/vis/vis_types/_vislib_vis_legend.scss
@@ -1,4 +1,4 @@
-@import '../../vislib/variables';
+@import '../../../../core_plugins/vis_type_vislib/public/vislib/variables';
// NOTE: Some of the styles attempt to align with the TSVB legend
diff --git a/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/pie_utils.ts b/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/pie_utils.ts
new file mode 100644
index 000000000000..d9eea83d40b4
--- /dev/null
+++ b/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/pie_utils.ts
@@ -0,0 +1,103 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import _ from 'lodash';
+
+/**
+ * Returns an array of names ordered by appearance in the nested array
+ * of objects
+ *
+ * > Duplicated utilty method from vislib Data class to decouple `vislib_vis_legend` from `vislib`
+ *
+ * @see src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/data.js
+ *
+ * @returns {Array} Array of unique names (strings)
+ */
+export function getPieNames(data: any[]): string[] {
+ const names: string[] = [];
+
+ _.forEach(data, function(obj) {
+ const columns = obj.raw ? obj.raw.columns : undefined;
+ _.forEach(getNames(obj, columns), function(name) {
+ names.push(name);
+ });
+ });
+
+ return _.uniq(names, 'label');
+}
+
+/**
+ * Flattens hierarchical data into an array of objects with a name and index value.
+ * The indexed value determines the order of nesting in the data.
+ * Returns an array with names sorted by the index value.
+ *
+ * @param data {Object} Chart data object
+ * @param columns {Object} Contains formatter information
+ * @returns {Array} Array of names (strings)
+ */
+function getNames(data: any, columns: any): string[] {
+ const slices = data.slices;
+
+ if (slices.children) {
+ const namedObj = returnNames(slices.children, 0, columns);
+
+ return _(namedObj)
+ .sortBy(function(obj) {
+ return obj.index;
+ })
+ .unique(function(d) {
+ return d.label;
+ })
+ .value();
+ }
+
+ return [];
+}
+
+/**
+ * Helper function for getNames
+ * Returns an array of objects with a name (key) value and an index value.
+ * The index value allows us to sort the names in the correct nested order.
+ *
+ * @param array {Array} Array of data objects
+ * @param index {Number} Number of times the object is nested
+ * @param columns {Object} Contains name formatter information
+ * @returns {Array} Array of labels (strings)
+ */
+function returnNames(array: any[], index: number, columns: any): any[] {
+ const names: any[] = [];
+
+ _.forEach(array, function(obj) {
+ names.push({
+ label: obj.name,
+ values: [obj.rawData],
+ index,
+ });
+
+ if (obj.children) {
+ const plusIndex = index + 1;
+
+ _.forEach(returnNames(obj.children, plusIndex, columns), function(namedObj) {
+ names.push(namedObj);
+ });
+ }
+ });
+
+ return names;
+}
diff --git a/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/vislib_vis_legend.tsx b/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/vislib_vis_legend.tsx
index f0100e369f05..d98590f9885b 100644
--- a/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/vislib_vis_legend.tsx
+++ b/src/legacy/ui/public/vis/vis_types/vislib_vis_legend/vislib_vis_legend.tsx
@@ -23,12 +23,11 @@ import { compact, uniq, map } from 'lodash';
import { i18n } from '@kbn/i18n';
import { EuiPopoverProps, EuiIcon, keyCodes, htmlIdGenerator } from '@elastic/eui';
-// @ts-ignore
-import { Data } from '../../../vislib/lib/data';
// @ts-ignore
import { createFiltersFromEvent } from '../../../../../core_plugins/visualizations/public';
import { CUSTOM_LEGEND_VIS_TYPES, LegendItem } from './models';
import { VisLegendItem } from './vislib_vis_legend_item';
+import { getPieNames } from './pie_utils';
import { getTableAggs } from '../../../visualize/loader/pipeline_helpers/utilities';
export interface VisLegendProps {
@@ -128,7 +127,7 @@ export class VisLegend extends PureComponent {
if (!data) return [];
data = data.columns || data.rows || [data];
- if (type === 'pie') return Data.prototype.pieNames(data);
+ if (type === 'pie') return getPieNames(data);
return this.getSeriesLabels(data);
};
diff --git a/src/legacy/ui/public/vislib/vis.js b/src/legacy/ui/public/vislib/vis.js
deleted file mode 100644
index 6ce58c1f5b23..000000000000
--- a/src/legacy/ui/public/vislib/vis.js
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Licensed to Elasticsearch B.V. under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch B.V. licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import _ from 'lodash';
-import d3 from 'd3';
-import { EventEmitter } from 'events';
-import chrome from '../chrome';
-import { VislibError } from './errors';
-import { VisConfig } from './lib/vis_config';
-import { Handler } from './lib/handler';
-import { setHierarchicalTooltipFormatter } from '../vis/components/tooltip/_hierarchical_tooltip_formatter';
-import { setPointSeriesTooltipFormatter } from '../vis/components/tooltip/_pointseries_tooltip_formatter';
-
-const config = chrome.getUiSettingsClient();
-
-export function VislibVisProvider(Private) {
- setHierarchicalTooltipFormatter(Private);
- setPointSeriesTooltipFormatter(Private);
-
- /**
- * Creates the visualizations.
- *
- * @class Vis
- * @constructor
- * @param $el {HTMLElement} jQuery selected HTML element
- * @param config {Object} Parameters that define the chart type and chart options
- */
- class Vis extends EventEmitter {
- constructor($el, visConfigArgs) {
- super();
- this.el = $el.get ? $el.get(0) : $el;
- this.visConfigArgs = _.cloneDeep(visConfigArgs);
- this.visConfigArgs.dimmingOpacity = config.get('visualization:dimmingOpacity');
- this.visConfigArgs.heatmapMaxBuckets = config.get('visualization:heatmap:maxBuckets');
- }
-
- hasLegend() {
- return this.visConfigArgs.addLegend;
- }
-
- initVisConfig(data, uiState) {
- this.data = data;
-
- this.uiState = uiState;
-
- this.visConfig = new VisConfig(this.visConfigArgs, this.data, this.uiState, this.el);
- }
-
- /**
- * Renders the visualization
- *
- * @method render
- * @param data {Object} Elasticsearch query results
- */
- render(data, uiState) {
- if (!data) {
- throw new Error('No valid data!');
- }
-
- if (this.handler) {
- this.data = null;
- this._runOnHandler('destroy');
- }
-
- this.initVisConfig(data, uiState);
-
- this.handler = new Handler(this, this.visConfig);
- this._runOnHandler('render');
- }
-
- getLegendLabels() {
- return this.visConfig ? this.visConfig.get('legend.labels', null) : null;
- }
-
- getLegendColors() {
- return this.visConfig ? this.visConfig.get('legend.colors', null) : null;
- }
-
- _runOnHandler(method) {
- try {
- this.handler[method]();
- } catch (error) {
- if (error instanceof VislibError) {
- error.displayToScreen(this.handler);
- } else {
- throw error;
- }
- }
- }
-
- /**
- * Destroys the visualization
- * Removes chart and all elements associated with it.
- * Removes chart and all elements associated with it.
- * Remove event listeners and pass destroy call down to owned objects.
- *
- * @method destroy
- */
- destroy() {
- const selection = d3.select(this.el).select('.visWrapper');
-
- if (this.handler) this._runOnHandler('destroy');
-
- selection.remove();
- }
-
- /**
- * Sets attributes on the visualization
- *
- * @method set
- * @param name {String} An attribute name
- * @param val {*} Value to which the attribute name is set
- */
- set(name, val) {
- this.visConfigArgs[name] = val;
- this.render(this.data, this.uiState);
- }
-
- /**
- * Gets attributes from the visualization
- *
- * @method get
- * @param name {String} An attribute name
- * @returns {*} The value of the attribute name
- */
- get(name) {
- return this.visConfig.get(name);
- }
-
- /**
- * Turns on event listeners.
- *
- * @param event {String}
- * @param listener{Function}
- * @returns {*}
- */
- on(event, listener) {
- const first = this.listenerCount(event) === 0;
- const ret = EventEmitter.prototype.on.call(this, event, listener);
- const added = this.listenerCount(event) > 0;
-
- // if this is the first listener added for the event
- // enable the event in the handler
- if (first && added && this.handler) this.handler.enable(event);
-
- return ret;
- }
-
- /**
- * Turns off event listeners.
- *
- * @param event {String}
- * @param listener{Function}
- * @returns {*}
- */
- off(event, listener) {
- const last = this.listenerCount(event) === 1;
- const ret = EventEmitter.prototype.off.call(this, event, listener);
- const removed = this.listenerCount(event) === 0;
-
- // Once all listeners are removed, disable the events in the handler
- if (last && removed && this.handler) this.handler.disable(event);
- return ret;
- }
-
- removeAllListeners(event) {
- const ret = EventEmitter.prototype.removeAllListeners.call(this, event);
- this.handler.disable(event);
- return ret;
- }
- }
-
- return Vis;
-}
diff --git a/x-pack/legacy/plugins/dashboard_mode/public/dashboard_viewer.js b/x-pack/legacy/plugins/dashboard_mode/public/dashboard_viewer.js
index 470fa00734d2..391973f6d909 100644
--- a/x-pack/legacy/plugins/dashboard_mode/public/dashboard_viewer.js
+++ b/x-pack/legacy/plugins/dashboard_mode/public/dashboard_viewer.js
@@ -30,7 +30,7 @@ import 'uiExports/shareContextMenuExtensions';
import _ from 'lodash';
import 'ui/autoload/all';
import 'ui/kbn_top_nav';
-import 'ui/vislib';
+import 'ui/color_maps';
import 'ui/agg_response';
import 'ui/agg_types';
import 'leaflet';
diff --git a/x-pack/legacy/plugins/maps/public/layers/styles/color_utils.js b/x-pack/legacy/plugins/maps/public/layers/styles/color_utils.js
index 8ba39fc7bbe2..df212f23cd89 100644
--- a/x-pack/legacy/plugins/maps/public/layers/styles/color_utils.js
+++ b/x-pack/legacy/plugins/maps/public/layers/styles/color_utils.js
@@ -6,7 +6,7 @@
import React from 'react';
-import { vislibColorMaps } from 'ui/vislib/components/color/colormaps';
+import { vislibColorMaps } from 'ui/color_maps';
import { getLegendColors, getColor } from 'ui/vis/map/color_util';
import { ColorGradient } from './components/color_gradient';
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
diff --git a/x-pack/legacy/plugins/ml/public/application/util/chart_utils.js b/x-pack/legacy/plugins/ml/public/application/util/chart_utils.js
index d54b1a9c9ac2..dfa896b3124c 100644
--- a/x-pack/legacy/plugins/ml/public/application/util/chart_utils.js
+++ b/x-pack/legacy/plugins/ml/public/application/util/chart_utils.js
@@ -107,7 +107,7 @@ export function drawLineChartDots(data, lineChartGroup, lineChartValuesLine, rad
}
// this replicates Kibana's filterAxisLabels() behavior
-// which can be found in ui/vislib/lib/axis/axis_labels.js
+// which can be found in src/legacy/core_plugins/vis_type_vislib/public/vislib/lib/axis/axis_labels.js
// axis labels which overflow the chart's boundaries will be removed
export function filterAxisLabels(selection, chartWidth) {
if (selection === undefined || selection.selectAll === undefined) {
diff --git a/x-pack/legacy/plugins/tilemap/index.js b/x-pack/legacy/plugins/tilemap/index.js
index b5f7839c7c7f..767a0fe72985 100644
--- a/x-pack/legacy/plugins/tilemap/index.js
+++ b/x-pack/legacy/plugins/tilemap/index.js
@@ -12,7 +12,7 @@ export const tilemap = kibana => {
return new kibana.Plugin({
id: 'tilemap',
configPrefix: 'xpack.tilemap',
- require: ['xpack_main', 'kbn_vislib_vis_types'],
+ require: ['xpack_main', 'vis_type_vislib'],
publicDir: resolve(__dirname, 'public'),
uiExports: {
visTypeEnhancers: ['plugins/tilemap/vis_type_enhancers/update_tilemap_settings'],
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index da1ab079842e..9a7a902a363b 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -534,7 +534,6 @@
"common.ui.vislib.colormaps.greysText": "グレー",
"common.ui.vislib.colormaps.redsText": "赤",
"common.ui.vislib.colormaps.yellowToRedText": "黄色から赤",
- "common.ui.vislib.heatmap.maxBucketsText": "定義された数列が多すぎます ({nr}).構成されている最高値は {max} です。",
"common.ui.visualize.queryGeohashBounds.unableToGetBoundErrorTitle": "バウンドを取得できませんでした",
"console.autocomplete.addMethodMetaText": "メソド",
"console.consoleDisplayName": "コンソール",
@@ -2610,6 +2609,7 @@
"kbnVislibVisTypes.editors.heatmap.basicSettingsTitle": "基本設定",
"kbnVislibVisTypes.editors.heatmap.heatmapSettingsTitle": "ヒートマップ設定",
"kbnVislibVisTypes.editors.heatmap.highlightLabel": "ハイライト範囲",
+ "kbnVislibVisTypes.vislib.heatmap.maxBucketsText": "定義された数列が多すぎます ({nr}).構成されている最高値は {max} です。",
"kbnVislibVisTypes.editors.heatmap.highlightLabelTooltip": "チャートのカーソルを当てた部分と凡例の対応するラベルをハイライトします。",
"kbnVislibVisTypes.editors.pie.donutLabel": "ドーナッツ",
"kbnVislibVisTypes.editors.pie.labelsSettingsTitle": "ラベル設定",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 606bab205fb5..11dee2f2bff6 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -534,7 +534,6 @@
"common.ui.vislib.colormaps.greysText": "灰色",
"common.ui.vislib.colormaps.redsText": "红色",
"common.ui.vislib.colormaps.yellowToRedText": "黄到红",
- "common.ui.vislib.heatmap.maxBucketsText": "定义了过多的序列 ({nr})。配置的最大值为 {max}。",
"common.ui.visualize.queryGeohashBounds.unableToGetBoundErrorTitle": "无法获取边界",
"console.autocomplete.addMethodMetaText": "方法",
"console.consoleDisplayName": "控制台",
@@ -2610,6 +2609,7 @@
"kbnVislibVisTypes.editors.heatmap.basicSettingsTitle": "基本设置",
"kbnVislibVisTypes.editors.heatmap.heatmapSettingsTitle": "热图设置",
"kbnVislibVisTypes.editors.heatmap.highlightLabel": "高亮范围",
+ "kbnVislibVisTypes.vislib.heatmap.maxBucketsText": "定义了过多的序列 ({nr})。配置的最大值为 {max}。",
"kbnVislibVisTypes.editors.heatmap.highlightLabelTooltip": "高亮显示图表中鼠标悬停的范围以及图例中对应的标签。",
"kbnVislibVisTypes.editors.pie.donutLabel": "圆环图",
"kbnVislibVisTypes.editors.pie.labelsSettingsTitle": "标签设置",