From e2e0149f5439ef90cbe2c44a9e37c78b2719bd5c Mon Sep 17 00:00:00 2001 From: Peter Pisljar Date: Tue, 18 Jun 2019 09:54:01 +0200 Subject: [PATCH] more cleanup (#38970) --- src/legacy/core_plugins/visualizations/public/index.ts | 6 ++++-- .../core_plugins/visualizations/public/types/index.ts | 6 ++++-- .../visualizations/public/types/types_service.ts | 10 +++++++--- src/legacy/ui/public/vis/vis_filters/vis_filters.js | 10 ++++------ .../ui/public/vis/vis_types/vislib_vis_legend.js | 7 +++---- .../visualize/loader/embedded_visualize_handler.ts | 2 +- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/legacy/core_plugins/visualizations/public/index.ts b/src/legacy/core_plugins/visualizations/public/index.ts index 202c2354f89ebb..b9a1b02a71e58b 100644 --- a/src/legacy/core_plugins/visualizations/public/index.ts +++ b/src/legacy/core_plugins/visualizations/public/index.ts @@ -58,11 +58,13 @@ export interface VisualizationsSetup { /** @public types */ export { Vis, + visFactory, + DefaultEditorSize, VisParams, VisProvider, VisState, - VisualizationController, - VisType, + // VisualizationController, + // VisType, VisTypesRegistry, Status, } from './types'; diff --git a/src/legacy/core_plugins/visualizations/public/types/index.ts b/src/legacy/core_plugins/visualizations/public/types/index.ts index a7830a8eb9704e..ca8916152f781e 100644 --- a/src/legacy/core_plugins/visualizations/public/types/index.ts +++ b/src/legacy/core_plugins/visualizations/public/types/index.ts @@ -19,14 +19,16 @@ export { TypesService, + visFactory, + DefaultEditorSize, // types TypesSetup, Vis, VisParams, VisProvider, VisState, - VisualizationController, - VisType, + // VisualizationController, + // VisType, VisTypesRegistry, Status, } from './types_service'; diff --git a/src/legacy/core_plugins/visualizations/public/types/types_service.ts b/src/legacy/core_plugins/visualizations/public/types/types_service.ts index 82ab0ceb00baf6..f7f0d2ed155f73 100644 --- a/src/legacy/core_plugins/visualizations/public/types/types_service.ts +++ b/src/legacy/core_plugins/visualizations/public/types/types_service.ts @@ -22,7 +22,9 @@ import { defaultFeedbackMessage } from 'ui/vis/default_feedback_message'; // @ts-ignore import { VisProvider as Vis } from 'ui/vis/index.js'; // @ts-ignore -import { VisFactoryProvider as VisFactory } from 'ui/vis/vis_factory'; +import { VisFactoryProvider, visFactory } from 'ui/vis/vis_factory'; +// @ts-ignore +import { DefaultEditorSize } from 'ui/vis/editor_size'; import { VisTypesRegistryProvider } from 'ui/registry/vis_types'; /** @@ -34,7 +36,7 @@ export class TypesService { public setup() { return { Vis, - VisFactory, + VisFactoryProvider, VisTypesRegistryProvider, defaultFeedbackMessage, // make default in base vis type, or move? }; @@ -48,12 +50,14 @@ export class TypesService { /** @public */ export type TypesSetup = ReturnType; +export { visFactory, DefaultEditorSize }; + /** @public types */ import * as types from 'ui/vis/vis'; export type Vis = types.Vis; export type VisParams = types.VisParams; export type VisProvider = types.VisProvider; export type VisState = types.VisState; -export { VisualizationController, VisType } from 'ui/vis/vis_types/vis_type'; +// todo: this breaks it // export { VisualizationController, VisType } from 'ui/vis/vis_types/vis_type'; export { VisTypesRegistry } from 'ui/registry/vis_types'; export { Status } from 'ui/vis/update_status'; diff --git a/src/legacy/ui/public/vis/vis_filters/vis_filters.js b/src/legacy/ui/public/vis/vis_filters/vis_filters.js index 72b79474cba18a..f013233c345b2e 100644 --- a/src/legacy/ui/public/vis/vis_filters/vis_filters.js +++ b/src/legacy/ui/public/vis/vis_filters/vis_filters.js @@ -20,6 +20,8 @@ import _ from 'lodash'; import { pushFilterBarFilters } from '../../filter_manager/push_filters'; import { onBrushEvent } from './brush_event'; +import { uniqFilters } from '../../filter_manager/lib/uniq_filters'; +import { toggleFilterNegated } from '@kbn/es-query'; /** * For terms aggregations on `__other__` buckets, this assembles a list of applicable filter @@ -93,7 +95,7 @@ const createFiltersFromEvent = (event) => { if (filter) { filter.forEach(f => { if (event.negate) { - f.meta.negate = !f.meta.negate; + f = toggleFilterNegated(f); } filters.push(f); }); @@ -108,11 +110,7 @@ const VisFiltersProvider = (getAppState, $timeout) => { const pushFilters = (filters, simulate) => { const appState = getAppState(); if (filters.length && !simulate) { - const flatFilters = _.flatten(filters); - const deduplicatedFilters = flatFilters.filter((v, i) => { - return i === flatFilters.findIndex(f => _.isEqual(v, f)); - }); - pushFilterBarFilters(appState, deduplicatedFilters); + pushFilterBarFilters(appState, uniqFilters(filters)); // to trigger angular digest cycle, we can get rid of this once we have either new filterManager or actions API $timeout(_.noop, 0); } diff --git a/src/legacy/ui/public/vis/vis_types/vislib_vis_legend.js b/src/legacy/ui/public/vis/vis_types/vislib_vis_legend.js index c3329cb0307f20..ce94c3a5f68abb 100644 --- a/src/legacy/ui/public/vis/vis_types/vislib_vis_legend.js +++ b/src/legacy/ui/public/vis/vis_types/vislib_vis_legend.js @@ -22,15 +22,14 @@ import { i18n } from '@kbn/i18n'; import html from './vislib_vis_legend.html'; import { Data } from '../../vislib/lib/data'; import { uiModules } from '../../modules'; -import { VisFiltersProvider } from '../vis_filters'; +import { createFiltersFromEvent } from '../vis_filters'; import { htmlIdGenerator, keyCodes } from '@elastic/eui'; import { getTableAggs } from '../../visualize/loader/pipeline_helpers/utilities'; export const CUSTOM_LEGEND_VIS_TYPES = ['heatmap', 'gauge']; uiModules.get('kibana') - .directive('vislibLegend', function (Private, $timeout) { - const visFilters = Private(VisFiltersProvider); + .directive('vislibLegend', function ($timeout) { return { restrict: 'E', @@ -97,7 +96,7 @@ uiModules.get('kibana') if (CUSTOM_LEGEND_VIS_TYPES.includes($scope.vis.vislibVis.visConfigArgs.type)) { return false; } - const filters = visFilters.filter({ aggConfigs: $scope.tableAggs, data: legendData.values }, { simulate: true }); + const filters = createFiltersFromEvent({ aggConfigs: $scope.tableAggs, data: legendData.values }); return filters.length; }; diff --git a/src/legacy/ui/public/visualize/loader/embedded_visualize_handler.ts b/src/legacy/ui/public/visualize/loader/embedded_visualize_handler.ts index 11ef49f2a0b7b9..431c5ae9be6a1b 100644 --- a/src/legacy/ui/public/visualize/loader/embedded_visualize_handler.ts +++ b/src/legacy/ui/public/visualize/loader/embedded_visualize_handler.ts @@ -33,7 +33,7 @@ import { RenderCompleteHelper } from '../../render_complete'; import { AppState } from '../../state_management/app_state'; import { timefilter } from '../../timefilter'; import { RequestHandlerParams, Vis } from '../../vis'; -// @ts-ignore +// @ts-ignore untyped dependency import { VisFiltersProvider } from '../../vis/vis_filters'; import { PipelineDataLoader } from './pipeline_data_loader'; import { visualizationLoader } from './visualization_loader';