mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
Remove I prefix in UiActions types (#56898)
This commit is contained in:
parent
8951424f82
commit
f7360721d4
68 changed files with 212 additions and 215 deletions
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import {
|
||||
IAction,
|
||||
Action,
|
||||
createAction,
|
||||
IncompatibleActionError,
|
||||
} from '../../../../../plugins/ui_actions/public';
|
||||
|
@ -55,7 +55,7 @@ async function isCompatible(context: ActionContext) {
|
|||
export function selectRangeAction(
|
||||
filterManager: FilterManager,
|
||||
timeFilter: TimefilterContract
|
||||
): IAction<ActionContext> {
|
||||
): Action<ActionContext> {
|
||||
return createAction<ActionContext>({
|
||||
type: SELECT_RANGE_ACTION,
|
||||
id: SELECT_RANGE_ACTION,
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { toMountPoint } from '../../../../../plugins/kibana_react/public';
|
||||
import {
|
||||
IAction,
|
||||
Action,
|
||||
createAction,
|
||||
IncompatibleActionError,
|
||||
} from '../../../../../plugins/ui_actions/public';
|
||||
|
@ -58,7 +58,7 @@ async function isCompatible(context: ActionContext) {
|
|||
export function valueClickAction(
|
||||
filterManager: FilterManager,
|
||||
timeFilter: TimefilterContract
|
||||
): IAction<ActionContext> {
|
||||
): Action<ActionContext> {
|
||||
return createAction<ActionContext>({
|
||||
type: VALUE_CLICK_ACTION,
|
||||
id: VALUE_CLICK_ACTION,
|
||||
|
|
|
@ -43,19 +43,19 @@ import {
|
|||
VALUE_CLICK_TRIGGER,
|
||||
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
|
||||
} from '../../../../plugins/embeddable/public/lib/triggers';
|
||||
import { IUiActionsSetup, IUiActionsStart } from '../../../../plugins/ui_actions/public';
|
||||
import { UiActionsSetup, UiActionsStart } from '../../../../plugins/ui_actions/public';
|
||||
|
||||
import { SearchSetup, SearchStart, SearchService } from './search/search_service';
|
||||
|
||||
export interface DataPluginSetupDependencies {
|
||||
data: DataPublicPluginSetup;
|
||||
expressions: ExpressionsSetup;
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
}
|
||||
|
||||
export interface DataPluginStartDependencies {
|
||||
data: DataPublicPluginStart;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,7 +20,7 @@ import _ from 'lodash';
|
|||
import * as Rx from 'rxjs';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { TExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { RequestAdapter, Adapters } from '../../../../../../../plugins/inspector/public';
|
||||
import {
|
||||
esFilters,
|
||||
|
@ -111,7 +111,7 @@ export class SearchEmbeddable extends Embeddable<SearchInput, SearchOutput>
|
|||
filterManager,
|
||||
}: SearchEmbeddableConfig,
|
||||
initialInput: SearchInput,
|
||||
private readonly executeTriggerActions: TExecuteTriggerActions,
|
||||
private readonly executeTriggerActions: ExecuteTriggerActions,
|
||||
parent?: Container
|
||||
) {
|
||||
super(
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { auto } from 'angular';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { TExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { getServices } from '../../kibana_services';
|
||||
import {
|
||||
EmbeddableFactory,
|
||||
|
@ -43,7 +43,7 @@ export class SearchEmbeddableFactory extends EmbeddableFactory<
|
|||
public isEditable: () => boolean;
|
||||
|
||||
constructor(
|
||||
private readonly executeTriggerActions: TExecuteTriggerActions,
|
||||
private readonly executeTriggerActions: ExecuteTriggerActions,
|
||||
getInjector: () => Promise<auto.IInjectorService>,
|
||||
isEditable: () => boolean
|
||||
) {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { AppMountParameters, CoreSetup, CoreStart, Plugin } from 'kibana/public';
|
||||
import angular, { auto } from 'angular';
|
||||
import { IUiActionsSetup, IUiActionsStart } from 'src/plugins/ui_actions/public';
|
||||
import { UiActionsSetup, UiActionsStart } from 'src/plugins/ui_actions/public';
|
||||
import { DataPublicPluginStart } from 'src/plugins/data/public';
|
||||
import { registerFeature } from './np_ready/register_feature';
|
||||
import './kibana_services';
|
||||
|
@ -47,13 +47,13 @@ export interface DiscoverSetup {
|
|||
}
|
||||
export type DiscoverStart = void;
|
||||
export interface DiscoverSetupPlugins {
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
embeddable: IEmbeddableSetup;
|
||||
kibanaLegacy: KibanaLegacySetup;
|
||||
home: HomePublicPluginSetup;
|
||||
}
|
||||
export interface DiscoverStartPlugins {
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
embeddable: IEmbeddableStart;
|
||||
navigation: NavigationStart;
|
||||
charts: ChartsPluginStart;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
import { IScope } from 'angular';
|
||||
|
||||
import { IUiActionsStart, IUiActionsSetup } from 'src/plugins/ui_actions/public';
|
||||
import { UiActionsStart, UiActionsSetup } from 'src/plugins/ui_actions/public';
|
||||
import { IEmbeddableStart, IEmbeddableSetup } from 'src/plugins/embeddable/public';
|
||||
import { LegacyCoreSetup, LegacyCoreStart, App, AppMountDeprecated } from '../../../../core/public';
|
||||
import { Plugin as DataPlugin } from '../../../../plugins/data/public';
|
||||
|
@ -52,7 +52,7 @@ export interface PluginsSetup {
|
|||
expressions: ReturnType<ExpressionsPlugin['setup']>;
|
||||
home: HomePublicPluginSetup;
|
||||
inspector: InspectorSetup;
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
navigation: NavigationPublicPluginSetup;
|
||||
devTools: DevToolsSetup;
|
||||
kibanaLegacy: KibanaLegacySetup;
|
||||
|
@ -70,7 +70,7 @@ export interface PluginsStart {
|
|||
expressions: ReturnType<ExpressionsPlugin['start']>;
|
||||
home: HomePublicPluginStart;
|
||||
inspector: InspectorStart;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
navigation: NavigationPublicPluginStart;
|
||||
devTools: DevToolsStart;
|
||||
kibanaLegacy: KibanaLegacyStart;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IEmbeddable } from '../embeddable_plugin';
|
||||
import { IAction, IncompatibleActionError } from '../ui_actions_plugin';
|
||||
import { Action, IncompatibleActionError } from '../ui_actions_plugin';
|
||||
import { DASHBOARD_CONTAINER_TYPE, DashboardContainer } from '../embeddable';
|
||||
|
||||
export const EXPAND_PANEL_ACTION = 'togglePanel';
|
||||
|
@ -40,7 +40,7 @@ interface ActionContext {
|
|||
embeddable: IEmbeddable;
|
||||
}
|
||||
|
||||
export class ExpandPanelAction implements IAction<ActionContext> {
|
||||
export class ExpandPanelAction implements Action<ActionContext> {
|
||||
public readonly type = EXPAND_PANEL_ACTION;
|
||||
public readonly id = EXPAND_PANEL_ACTION;
|
||||
public order = 7;
|
||||
|
|
|
@ -21,7 +21,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import { CoreStart } from '../../../../core/public';
|
||||
import { IEmbeddable, ViewMode, IEmbeddableStart } from '../embeddable_plugin';
|
||||
import { DASHBOARD_CONTAINER_TYPE, DashboardContainer } from '../embeddable';
|
||||
import { IAction, IncompatibleActionError } from '../ui_actions_plugin';
|
||||
import { Action, IncompatibleActionError } from '../ui_actions_plugin';
|
||||
import { openReplacePanelFlyout } from './open_replace_panel_flyout';
|
||||
|
||||
export const REPLACE_PANEL_ACTION = 'replacePanel';
|
||||
|
@ -34,7 +34,7 @@ interface ActionContext {
|
|||
embeddable: IEmbeddable;
|
||||
}
|
||||
|
||||
export class ReplacePanelAction implements IAction<ActionContext> {
|
||||
export class ReplacePanelAction implements Action<ActionContext> {
|
||||
public readonly type = REPLACE_PANEL_ACTION;
|
||||
public readonly id = REPLACE_PANEL_ACTION;
|
||||
public order = 11;
|
||||
|
|
|
@ -22,7 +22,7 @@ import ReactDOM from 'react-dom';
|
|||
import { I18nProvider } from '@kbn/i18n/react';
|
||||
import { RefreshInterval, TimeRange, Query, esFilters } from '../../../data/public';
|
||||
import { CoreStart } from '../../../../core/public';
|
||||
import { IUiActionsStart } from '../ui_actions_plugin';
|
||||
import { UiActionsStart } from '../ui_actions_plugin';
|
||||
import {
|
||||
Container,
|
||||
ContainerInput,
|
||||
|
@ -81,7 +81,7 @@ export interface DashboardContainerOptions {
|
|||
inspector: InspectorStartContract;
|
||||
SavedObjectFinder: React.ComponentType<any>;
|
||||
ExitFullScreenButton: React.ComponentType<any>;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
}
|
||||
|
||||
export type DashboardReactContextValue = KibanaReactContextValue<DashboardContainerOptions>;
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
import * as React from 'react';
|
||||
import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from 'src/core/public';
|
||||
import { IUiActionsSetup, IUiActionsStart } from '../../../plugins/ui_actions/public';
|
||||
import { UiActionsSetup, UiActionsStart } from '../../../plugins/ui_actions/public';
|
||||
import { CONTEXT_MENU_TRIGGER, IEmbeddableSetup, IEmbeddableStart } from './embeddable_plugin';
|
||||
import { ExpandPanelAction, ReplacePanelAction } from '.';
|
||||
import { DashboardContainerFactory } from './embeddable/dashboard_container_factory';
|
||||
|
@ -35,13 +35,13 @@ import {
|
|||
|
||||
interface SetupDependencies {
|
||||
embeddable: IEmbeddableSetup;
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
}
|
||||
|
||||
interface StartDependencies {
|
||||
embeddable: IEmbeddableStart;
|
||||
inspector: InspectorStartContract;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
}
|
||||
|
||||
export type Setup = void;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { toMountPoint } from '../../../kibana_react/public';
|
||||
import { IAction, createAction, IncompatibleActionError } from '../../../ui_actions/public';
|
||||
import { Action, createAction, IncompatibleActionError } from '../../../ui_actions/public';
|
||||
import { getOverlays, getIndexPatterns } from '../services';
|
||||
import { applyFiltersPopover } from '../ui/apply_filters';
|
||||
import {
|
||||
|
@ -44,7 +44,7 @@ async function isCompatible(context: ActionContext) {
|
|||
export function createFilterAction(
|
||||
filterManager: FilterManager,
|
||||
timeFilter: TimefilterContract
|
||||
): IAction<ActionContext> {
|
||||
): Action<ActionContext> {
|
||||
return createAction<ActionContext>({
|
||||
type: GLOBAL_APPLY_FILTER_ACTION,
|
||||
id: GLOBAL_APPLY_FILTER_ACTION,
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { IStorageWrapper } from 'src/plugins/kibana_utils/public';
|
||||
import { IUiActionsSetup, IUiActionsStart } from 'src/plugins/ui_actions/public';
|
||||
import { UiActionsSetup, UiActionsStart } from 'src/plugins/ui_actions/public';
|
||||
import { AutocompleteSetup, AutocompleteStart } from './autocomplete';
|
||||
import { FieldFormatsSetup, FieldFormatsStart } from './field_formats';
|
||||
import { ISearchSetup, ISearchStart } from './search';
|
||||
|
@ -29,11 +29,11 @@ import { IndexPatternsContract } from './index_patterns';
|
|||
import { StatefulSearchBarProps } from './ui/search_bar/create_search_bar';
|
||||
|
||||
export interface DataSetupDependencies {
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
}
|
||||
|
||||
export interface DataStartDependencies {
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
}
|
||||
|
||||
export interface DataPublicPluginSetup {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsSetup } from 'src/plugins/ui_actions/public';
|
||||
import { UiActionsSetup } from 'src/plugins/ui_actions/public';
|
||||
import {
|
||||
CONTEXT_MENU_TRIGGER,
|
||||
APPLY_FILTER_TRIGGER,
|
||||
|
@ -33,7 +33,7 @@ import {
|
|||
*
|
||||
* @param api
|
||||
*/
|
||||
export const bootstrap = (uiActions: IUiActionsSetup) => {
|
||||
export const bootstrap = (uiActions: UiActionsSetup) => {
|
||||
const triggerContext = {
|
||||
id: CONTEXT_MENU_TRIGGER,
|
||||
title: 'Context menu',
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IAction, createAction, IncompatibleActionError } from '../ui_actions';
|
||||
import { Action, createAction, IncompatibleActionError } from '../ui_actions';
|
||||
import { IEmbeddable, EmbeddableInput } from '../embeddables';
|
||||
import { esFilters } from '../../../../../plugins/data/public';
|
||||
|
||||
|
@ -38,7 +38,7 @@ async function isCompatible(context: ActionContext) {
|
|||
return Boolean(root.getInput().filters !== undefined && context.filters !== undefined);
|
||||
}
|
||||
|
||||
export function createFilterAction(): IAction<ActionContext> {
|
||||
export function createFilterAction(): Action<ActionContext> {
|
||||
return createAction<ActionContext>({
|
||||
type: APPLY_FILTER_ACTION,
|
||||
id: APPLY_FILTER_ACTION,
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IAction } from 'src/plugins/ui_actions/public';
|
||||
import { Action } from 'src/plugins/ui_actions/public';
|
||||
import { GetEmbeddableFactory, ViewMode } from '../types';
|
||||
import { EmbeddableFactoryNotFoundError } from '../errors';
|
||||
import { IEmbeddable } from '../embeddables';
|
||||
|
@ -29,7 +29,7 @@ interface ActionContext {
|
|||
embeddable: IEmbeddable;
|
||||
}
|
||||
|
||||
export class EditPanelAction implements IAction<ActionContext> {
|
||||
export class EditPanelAction implements Action<ActionContext> {
|
||||
public readonly type = EDIT_PANEL_ACTION_ID;
|
||||
public readonly id = EDIT_PANEL_ACTION_ID;
|
||||
public order = 15;
|
||||
|
|
|
@ -23,7 +23,7 @@ import React from 'react';
|
|||
import { EuiLoadingChart } from '@elastic/eui';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { TGetActionsCompatibleWithTrigger } from 'src/plugins/ui_actions/public';
|
||||
import { GetActionsCompatibleWithTrigger } from 'src/plugins/ui_actions/public';
|
||||
|
||||
import { Start as InspectorStartContract } from 'src/plugins/inspector/public';
|
||||
import { ErrorEmbeddable, IEmbeddable } from '../embeddables';
|
||||
|
@ -35,7 +35,7 @@ export interface EmbeddableChildPanelProps {
|
|||
embeddableId: string;
|
||||
className?: string;
|
||||
container: IContainer;
|
||||
getActions: TGetActionsCompatibleWithTrigger;
|
||||
getActions: GetActionsCompatibleWithTrigger;
|
||||
getEmbeddableFactory: GetEmbeddableFactory;
|
||||
getAllEmbeddableFactories: GetEmbeddableFactories;
|
||||
overlays: CoreStart['overlays'];
|
||||
|
|
|
@ -25,7 +25,7 @@ import { nextTick } from 'test_utils/enzyme_helpers';
|
|||
import { findTestSubject } from '@elastic/eui/lib/test';
|
||||
import { I18nProvider } from '@kbn/i18n/react';
|
||||
import { CONTEXT_MENU_TRIGGER } from '../triggers';
|
||||
import { IAction, ITrigger, IUiActionsApi } from 'src/plugins/ui_actions/public';
|
||||
import { Action, UiActionsApi } from 'src/plugins/ui_actions/public';
|
||||
import { Trigger, GetEmbeddableFactory, ViewMode } from '../types';
|
||||
import { EmbeddableFactory, isErrorEmbeddable } from '../embeddables';
|
||||
import { EmbeddablePanel } from './embeddable_panel';
|
||||
|
@ -44,8 +44,8 @@ import {
|
|||
import { inspectorPluginMock } from 'src/plugins/inspector/public/mocks';
|
||||
import { EuiBadge } from '@elastic/eui';
|
||||
|
||||
const actionRegistry = new Map<string, IAction>();
|
||||
const triggerRegistry = new Map<string, ITrigger>();
|
||||
const actionRegistry = new Map<string, Action>();
|
||||
const triggerRegistry = new Map<string, Trigger>();
|
||||
const embeddableFactories = new Map<string, EmbeddableFactory>();
|
||||
const getEmbeddableFactory: GetEmbeddableFactory = (id: string) => embeddableFactories.get(id);
|
||||
|
||||
|
@ -177,7 +177,7 @@ test('HelloWorldContainer in view mode hides edit mode actions', async () => {
|
|||
|
||||
const renderInEditModeAndOpenContextMenu = async (
|
||||
embeddableInputs: any,
|
||||
getActions: IUiActionsApi['getTriggerCompatibleActions'] = () => Promise.resolve([])
|
||||
getActions: UiActionsApi['getTriggerCompatibleActions'] = () => Promise.resolve([])
|
||||
) => {
|
||||
const inspector = inspectorPluginMock.createStartContract();
|
||||
|
||||
|
|
|
@ -20,11 +20,7 @@ import { EuiContextMenuPanelDescriptor, EuiPanel, htmlIdGenerator } from '@elast
|
|||
import classNames from 'classnames';
|
||||
import React from 'react';
|
||||
import { Subscription } from 'rxjs';
|
||||
import {
|
||||
buildContextMenuForActions,
|
||||
TGetActionsCompatibleWithTrigger,
|
||||
IAction,
|
||||
} from '../ui_actions';
|
||||
import { buildContextMenuForActions, GetActionsCompatibleWithTrigger, Action } from '../ui_actions';
|
||||
import { CoreStart, OverlayStart } from '../../../../../core/public';
|
||||
import { toMountPoint } from '../../../../kibana_react/public';
|
||||
|
||||
|
@ -43,7 +39,7 @@ import { CustomizePanelModal } from './panel_header/panel_actions/customize_titl
|
|||
|
||||
interface Props {
|
||||
embeddable: IEmbeddable<any, any>;
|
||||
getActions: TGetActionsCompatibleWithTrigger;
|
||||
getActions: GetActionsCompatibleWithTrigger;
|
||||
getEmbeddableFactory: GetEmbeddableFactory;
|
||||
getAllEmbeddableFactories: GetEmbeddableFactories;
|
||||
overlays: CoreStart['overlays'];
|
||||
|
@ -59,7 +55,7 @@ interface State {
|
|||
viewMode: ViewMode;
|
||||
hidePanelTitles: boolean;
|
||||
closeContextMenu: boolean;
|
||||
badges: IAction[];
|
||||
badges: Action[];
|
||||
}
|
||||
|
||||
export class EmbeddablePanel extends React.Component<Props, State> {
|
||||
|
@ -91,7 +87,7 @@ export class EmbeddablePanel extends React.Component<Props, State> {
|
|||
}
|
||||
|
||||
private async refreshBadges() {
|
||||
let badges: IAction[] = await this.props.getActions(PANEL_BADGE_TRIGGER, {
|
||||
let badges: Action[] = await this.props.getActions(PANEL_BADGE_TRIGGER, {
|
||||
embeddable: this.props.embeddable,
|
||||
});
|
||||
if (!this.mounted) return;
|
||||
|
@ -235,7 +231,7 @@ export class EmbeddablePanel extends React.Component<Props, State> {
|
|||
|
||||
// These actions are exposed on the context menu for every embeddable, they bypass the trigger
|
||||
// registry.
|
||||
const extraActions: Array<IAction<{ embeddable: IEmbeddable }>> = [
|
||||
const extraActions: Array<Action<{ embeddable: IEmbeddable }>> = [
|
||||
new CustomizePanelTitleAction(createGetUserData(this.props.overlays)),
|
||||
new AddPanelAction(
|
||||
this.props.getEmbeddableFactory,
|
||||
|
@ -249,7 +245,7 @@ export class EmbeddablePanel extends React.Component<Props, State> {
|
|||
new EditPanelAction(this.props.getEmbeddableFactory),
|
||||
];
|
||||
|
||||
const sorted = actions.concat(extraActions).sort((a: IAction, b: IAction) => {
|
||||
const sorted = actions.concat(extraActions).sort((a: Action, b: Action) => {
|
||||
const bOrder = b.order || 0;
|
||||
const aOrder = a.order || 0;
|
||||
return bOrder - aOrder;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IAction } from 'src/plugins/ui_actions/public';
|
||||
import { Action } from 'src/plugins/ui_actions/public';
|
||||
import { NotificationsStart, OverlayStart } from 'src/core/public';
|
||||
import { ViewMode, GetEmbeddableFactory, GetEmbeddableFactories } from '../../../../types';
|
||||
import { openAddPanelFlyout } from './open_add_panel_flyout';
|
||||
|
@ -29,7 +29,7 @@ interface ActionContext {
|
|||
embeddable: IContainer;
|
||||
}
|
||||
|
||||
export class AddPanelAction implements IAction<ActionContext> {
|
||||
export class AddPanelAction implements Action<ActionContext> {
|
||||
public readonly type = ADD_PANEL_ACTION_ID;
|
||||
public readonly id = ADD_PANEL_ACTION_ID;
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IAction } from 'src/plugins/ui_actions/public';
|
||||
import { Action } from 'src/plugins/ui_actions/public';
|
||||
import { ViewMode } from '../../../../types';
|
||||
import { IEmbeddable } from '../../../../embeddables';
|
||||
|
||||
|
@ -30,7 +30,7 @@ interface ActionContext {
|
|||
embeddable: IEmbeddable;
|
||||
}
|
||||
|
||||
export class CustomizePanelTitleAction implements IAction<ActionContext> {
|
||||
export class CustomizePanelTitleAction implements Action<ActionContext> {
|
||||
public readonly type = CUSTOMIZE_PANEL_ACTION_ID;
|
||||
public id = CUSTOMIZE_PANEL_ACTION_ID;
|
||||
public order = 10;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IAction } from 'src/plugins/ui_actions/public';
|
||||
import { Action } from 'src/plugins/ui_actions/public';
|
||||
import { Start as InspectorStartContract } from 'src/plugins/inspector/public';
|
||||
import { IEmbeddable } from '../../../embeddables';
|
||||
|
||||
|
@ -28,7 +28,7 @@ interface ActionContext {
|
|||
embeddable: IEmbeddable;
|
||||
}
|
||||
|
||||
export class InspectPanelAction implements IAction<ActionContext> {
|
||||
export class InspectPanelAction implements Action<ActionContext> {
|
||||
public readonly type = INSPECT_PANEL_ACTION_ID;
|
||||
public readonly id = INSPECT_PANEL_ACTION_ID;
|
||||
public order = 10;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { IAction, IncompatibleActionError } from '../../../ui_actions';
|
||||
import { Action, IncompatibleActionError } from '../../../ui_actions';
|
||||
import { ContainerInput, IContainer } from '../../../containers';
|
||||
import { ViewMode } from '../../../types';
|
||||
import { IEmbeddable } from '../../../embeddables';
|
||||
|
@ -38,7 +38,7 @@ function hasExpandedPanelInput(
|
|||
return (container as IContainer<{}, ExpandedPanelInput>).getInput().expandedPanelId !== undefined;
|
||||
}
|
||||
|
||||
export class RemovePanelAction implements IAction<ActionContext> {
|
||||
export class RemovePanelAction implements Action<ActionContext> {
|
||||
public readonly type = REMOVE_PANEL_ACTION;
|
||||
public readonly id = REMOVE_PANEL_ACTION;
|
||||
public order = 5;
|
||||
|
|
|
@ -26,7 +26,7 @@ import {
|
|||
} from '@elastic/eui';
|
||||
import classNames from 'classnames';
|
||||
import React from 'react';
|
||||
import { IAction } from 'src/plugins/ui_actions/public';
|
||||
import { Action } from 'src/plugins/ui_actions/public';
|
||||
import { PanelOptionsMenu } from './panel_options_menu';
|
||||
import { IEmbeddable } from '../../embeddables';
|
||||
|
||||
|
@ -36,12 +36,12 @@ export interface PanelHeaderProps {
|
|||
hidePanelTitles: boolean;
|
||||
getActionContextMenuPanel: () => Promise<EuiContextMenuPanelDescriptor>;
|
||||
closeContextMenu: boolean;
|
||||
badges: IAction[];
|
||||
badges: Action[];
|
||||
embeddable: IEmbeddable;
|
||||
headerId?: string;
|
||||
}
|
||||
|
||||
function renderBadges(badges: IAction[], embeddable: IEmbeddable) {
|
||||
function renderBadges(badges: Action[], embeddable: IEmbeddable) {
|
||||
return badges.map(badge => (
|
||||
<EuiBadge
|
||||
key={badge.id}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IAction, IncompatibleActionError } from '../../ui_actions';
|
||||
import { Action, IncompatibleActionError } from '../../ui_actions';
|
||||
import { EmbeddableInput, Embeddable, EmbeddableOutput, IEmbeddable } from '../../embeddables';
|
||||
|
||||
export const SAY_HELLO_ACTION = 'SAY_HELLO_ACTION';
|
||||
|
@ -40,7 +40,7 @@ interface ActionContext {
|
|||
message?: string;
|
||||
}
|
||||
|
||||
export class SayHelloAction implements IAction<ActionContext> {
|
||||
export class SayHelloAction implements Action<ActionContext> {
|
||||
public readonly type = SAY_HELLO_ACTION;
|
||||
public readonly id = SAY_HELLO_ACTION;
|
||||
|
||||
|
|
|
@ -22,12 +22,12 @@ import { EuiCard, EuiFlexItem, EuiFlexGroup, EuiFormRow } from '@elastic/eui';
|
|||
import { Subscription } from 'rxjs';
|
||||
import { EuiButton } from '@elastic/eui';
|
||||
import * as Rx from 'rxjs';
|
||||
import { TExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ContactCardEmbeddable, CONTACT_USER_TRIGGER } from './contact_card_embeddable';
|
||||
|
||||
interface Props {
|
||||
embeddable: ContactCardEmbeddable;
|
||||
execTrigger: TExecuteTriggerActions;
|
||||
execTrigger: ExecuteTriggerActions;
|
||||
}
|
||||
|
||||
interface State {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
import React from 'react';
|
||||
import ReactDom from 'react-dom';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { TExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { Container } from '../../../containers';
|
||||
import { EmbeddableOutput, Embeddable, EmbeddableInput } from '../../../embeddables';
|
||||
import { CONTACT_CARD_EMBEDDABLE } from './contact_card_embeddable_factory';
|
||||
|
@ -37,7 +37,7 @@ export interface ContactCardEmbeddableOutput extends EmbeddableOutput {
|
|||
}
|
||||
|
||||
export interface ContactCardEmbeddableOptions {
|
||||
execAction: TExecuteTriggerActions;
|
||||
execAction: ExecuteTriggerActions;
|
||||
}
|
||||
|
||||
function getFullName(input: ContactCardEmbeddableInput) {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import React from 'react';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { TExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { toMountPoint } from '../../../../../../kibana_react/public';
|
||||
|
@ -36,7 +36,7 @@ export class ContactCardEmbeddableFactory extends EmbeddableFactory<ContactCardE
|
|||
|
||||
constructor(
|
||||
options: EmbeddableFactoryOptions<any>,
|
||||
private readonly execTrigger: TExecuteTriggerActions,
|
||||
private readonly execTrigger: ExecuteTriggerActions,
|
||||
private readonly overlays: CoreStart['overlays']
|
||||
) {
|
||||
super(options);
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { TExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { ExecuteTriggerActions } from 'src/plugins/ui_actions/public';
|
||||
import { Container, EmbeddableFactory } from '../../..';
|
||||
import { ContactCardEmbeddable, ContactCardEmbeddableInput } from './contact_card_embeddable';
|
||||
import { CONTACT_CARD_EMBEDDABLE } from './contact_card_embeddable_factory';
|
||||
|
||||
interface SlowContactCardEmbeddableFactoryOptions {
|
||||
execAction: TExecuteTriggerActions;
|
||||
execAction: ExecuteTriggerActions;
|
||||
loadTickCount?: number;
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ import React from 'react';
|
|||
import ReactDOM from 'react-dom';
|
||||
import { I18nProvider } from '@kbn/i18n/react';
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { TGetActionsCompatibleWithTrigger } from 'src/plugins/ui_actions/public';
|
||||
import { GetActionsCompatibleWithTrigger } from 'src/plugins/ui_actions/public';
|
||||
import { Start as InspectorStartContract } from 'src/plugins/inspector/public';
|
||||
import { Container, ViewMode, ContainerInput } from '../..';
|
||||
import { HelloWorldContainerComponent } from './hello_world_container_component';
|
||||
|
@ -45,7 +45,7 @@ interface HelloWorldContainerInput extends ContainerInput {
|
|||
}
|
||||
|
||||
interface HelloWorldContainerOptions {
|
||||
getActions: TGetActionsCompatibleWithTrigger;
|
||||
getActions: GetActionsCompatibleWithTrigger;
|
||||
getEmbeddableFactory: GetEmbeddableFactory;
|
||||
getAllEmbeddableFactories: GetEmbeddableFactories;
|
||||
overlays: CoreStart['overlays'];
|
||||
|
|
|
@ -21,14 +21,14 @@ import { Subscription } from 'rxjs';
|
|||
|
||||
import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { TGetActionsCompatibleWithTrigger } from 'src/plugins/ui_actions/public';
|
||||
import { GetActionsCompatibleWithTrigger } from 'src/plugins/ui_actions/public';
|
||||
import { Start as InspectorStartContract } from 'src/plugins/inspector/public';
|
||||
import { IContainer, PanelState, EmbeddableChildPanel } from '../..';
|
||||
import { GetEmbeddableFactory, GetEmbeddableFactories } from '../../types';
|
||||
|
||||
interface Props {
|
||||
container: IContainer;
|
||||
getActions: TGetActionsCompatibleWithTrigger;
|
||||
getActions: GetActionsCompatibleWithTrigger;
|
||||
getEmbeddableFactory: GetEmbeddableFactory;
|
||||
getAllEmbeddableFactories: GetEmbeddableFactories;
|
||||
overlays: CoreStart['overlays'];
|
||||
|
|
|
@ -17,14 +17,14 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsSetup } from 'src/plugins/ui_actions/public';
|
||||
import { UiActionsSetup } from 'src/plugins/ui_actions/public';
|
||||
import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from '../../../core/public';
|
||||
import { EmbeddableFactoryRegistry } from './types';
|
||||
import { createApi, EmbeddableApi } from './api';
|
||||
import { bootstrap } from './bootstrap';
|
||||
|
||||
export interface IEmbeddableSetupDependencies {
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
}
|
||||
|
||||
export interface IEmbeddableSetup {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
import { CoreSetup, CoreStart } from 'src/core/public';
|
||||
// eslint-disable-next-line
|
||||
import { uiActionsTestPlugin } from 'src/plugins/ui_actions/public/tests';
|
||||
import { IUiActionsApi } from 'src/plugins/ui_actions/public';
|
||||
import { UiActionsApi } from 'src/plugins/ui_actions/public';
|
||||
import { coreMock } from '../../../../core/public/mocks';
|
||||
import { EmbeddablePublicPlugin, IEmbeddableSetup, IEmbeddableStart } from '../plugin';
|
||||
|
||||
|
@ -30,7 +30,7 @@ export interface TestPluginReturn {
|
|||
coreStart: CoreStart;
|
||||
setup: IEmbeddableSetup;
|
||||
doStart: (anotherCoreStart?: CoreStart) => IEmbeddableStart;
|
||||
uiActions: IUiActionsApi;
|
||||
uiActions: UiActionsApi;
|
||||
}
|
||||
|
||||
export const testPlugin = (
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { UiComponent } from 'src/plugins/kibana_utils/common';
|
||||
|
||||
export interface IAction<ActionContext extends {} = {}> {
|
||||
export interface Action<ActionContext extends {} = {}> {
|
||||
/**
|
||||
* Determined the order when there is more than one action matched to a trigger.
|
||||
* Higher numbers are displayed first.
|
|
@ -17,13 +17,13 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IAction } from './i_action';
|
||||
import { Action } from './action';
|
||||
|
||||
export function createAction<ActionContext extends {} = {}>(
|
||||
action: { type: string; execute: IAction<ActionContext>['execute'] } & Partial<
|
||||
IAction<ActionContext>
|
||||
action: { type: string; execute: Action<ActionContext>['execute'] } & Partial<
|
||||
Action<ActionContext>
|
||||
>
|
||||
): IAction<ActionContext> {
|
||||
): Action<ActionContext> {
|
||||
return {
|
||||
getIconType: () => undefined,
|
||||
order: 0,
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
export { IAction } from './i_action';
|
||||
export { Action } from './action';
|
||||
export { createAction } from './create_action';
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
|
||||
export const registerAction: IUiActionsApiPure['registerAction'] = ({ actions }) => action => {
|
||||
export const registerAction: UiActionsApiPure['registerAction'] = ({ actions }) => action => {
|
||||
if (actions.has(action.id)) {
|
||||
throw new Error(`Action [action.id = ${action.id}] already registered.`);
|
||||
}
|
||||
|
|
|
@ -18,10 +18,10 @@
|
|||
*/
|
||||
|
||||
import {
|
||||
IUiActionsApi,
|
||||
IUiActionsDependenciesInternal,
|
||||
IUiActionsDependencies,
|
||||
IUiActionsApiPure,
|
||||
UiActionsApi,
|
||||
UiActionsDependenciesInternal,
|
||||
UiActionsDependencies,
|
||||
UiActionsApiPure,
|
||||
} from './types';
|
||||
import { attachAction } from './triggers/attach_action';
|
||||
import { detachAction } from './triggers/detach_action';
|
||||
|
@ -32,7 +32,7 @@ import { getTriggerCompatibleActions } from './triggers/get_trigger_compatible_a
|
|||
import { registerAction } from './actions/register_action';
|
||||
import { registerTrigger } from './triggers/register_trigger';
|
||||
|
||||
export const pureApi: IUiActionsApiPure = {
|
||||
export const pureApi: UiActionsApiPure = {
|
||||
attachAction,
|
||||
detachAction,
|
||||
executeTriggerActions,
|
||||
|
@ -43,13 +43,13 @@ export const pureApi: IUiActionsApiPure = {
|
|||
registerTrigger,
|
||||
};
|
||||
|
||||
export const createApi = (deps: IUiActionsDependencies) => {
|
||||
const partialApi: Partial<IUiActionsApi> = {};
|
||||
const depsInternal: IUiActionsDependenciesInternal = { ...deps, api: partialApi };
|
||||
export const createApi = (deps: UiActionsDependencies) => {
|
||||
const partialApi: Partial<UiActionsApi> = {};
|
||||
const depsInternal: UiActionsDependenciesInternal = { ...deps, api: partialApi };
|
||||
for (const [key, fn] of Object.entries(pureApi)) {
|
||||
(partialApi as any)[key] = fn(depsInternal);
|
||||
}
|
||||
Object.freeze(partialApi);
|
||||
const api = partialApi as IUiActionsApi;
|
||||
const api = partialApi as UiActionsApi;
|
||||
return { api, depsInternal };
|
||||
};
|
||||
|
|
|
@ -22,7 +22,7 @@ import { EuiContextMenuPanelDescriptor, EuiContextMenuPanelItemDescriptor } from
|
|||
import _ from 'lodash';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { uiToReactComponent } from '../../../kibana_react/public';
|
||||
import { IAction } from '../actions';
|
||||
import { Action } from '../actions';
|
||||
|
||||
/**
|
||||
* Transforms an array of Actions to the shape EuiContextMenuPanel expects.
|
||||
|
@ -32,7 +32,7 @@ export async function buildContextMenuForActions<A>({
|
|||
actionContext,
|
||||
closeMenu,
|
||||
}: {
|
||||
actions: Array<IAction<A>>;
|
||||
actions: Array<Action<A>>;
|
||||
actionContext: A;
|
||||
closeMenu: () => void;
|
||||
}): Promise<EuiContextMenuPanelDescriptor> {
|
||||
|
@ -59,7 +59,7 @@ async function buildEuiContextMenuPanelItems<A>({
|
|||
actionContext,
|
||||
closeMenu,
|
||||
}: {
|
||||
actions: Array<IAction<A>>;
|
||||
actions: Array<Action<A>>;
|
||||
actionContext: A;
|
||||
closeMenu: () => void;
|
||||
}) {
|
||||
|
@ -95,7 +95,7 @@ function convertPanelActionToContextMenuItem<A>({
|
|||
actionContext,
|
||||
closeMenu,
|
||||
}: {
|
||||
action: IAction<A>;
|
||||
action: Action<A>;
|
||||
actionContext: A;
|
||||
closeMenu: () => void;
|
||||
}): EuiContextMenuPanelItemDescriptor {
|
||||
|
|
|
@ -24,13 +24,13 @@ export function plugin(initializerContext: PluginInitializerContext) {
|
|||
return new UiActionsPlugin(initializerContext);
|
||||
}
|
||||
|
||||
export { IUiActionsSetup, IUiActionsStart } from './plugin';
|
||||
export { UiActionsSetup, UiActionsStart } from './plugin';
|
||||
export {
|
||||
IAction,
|
||||
ITrigger,
|
||||
IUiActionsApi,
|
||||
TGetActionsCompatibleWithTrigger,
|
||||
TExecuteTriggerActions,
|
||||
Action,
|
||||
Trigger,
|
||||
UiActionsApi,
|
||||
GetActionsCompatibleWithTrigger,
|
||||
ExecuteTriggerActions,
|
||||
} from './types';
|
||||
export { createAction } from './actions';
|
||||
export { buildContextMenuForActions } from './context_menu';
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsSetup, IUiActionsStart } from '.';
|
||||
import { UiActionsSetup, UiActionsStart } from '.';
|
||||
import { plugin as pluginInitializer } from '.';
|
||||
// eslint-disable-next-line
|
||||
import { coreMock } from '../../../core/public/mocks';
|
||||
|
||||
export type Setup = jest.Mocked<IUiActionsSetup>;
|
||||
export type Start = jest.Mocked<IUiActionsStart>;
|
||||
export type Setup = jest.Mocked<UiActionsSetup>;
|
||||
export type Start = jest.Mocked<UiActionsStart>;
|
||||
|
||||
const createSetupContract = (): Setup => {
|
||||
const setupContract: Setup = {
|
||||
|
|
|
@ -18,28 +18,28 @@
|
|||
*/
|
||||
|
||||
import { CoreStart, PluginInitializerContext, CoreSetup, Plugin } from 'src/core/public';
|
||||
import { IUiActionsApi, IActionRegistry, ITriggerRegistry } from './types';
|
||||
import { UiActionsApi, ActionRegistry, TriggerRegistry } from './types';
|
||||
import { createApi } from './api';
|
||||
|
||||
export interface IUiActionsSetup {
|
||||
attachAction: IUiActionsApi['attachAction'];
|
||||
detachAction: IUiActionsApi['detachAction'];
|
||||
registerAction: IUiActionsApi['registerAction'];
|
||||
registerTrigger: IUiActionsApi['registerTrigger'];
|
||||
export interface UiActionsSetup {
|
||||
attachAction: UiActionsApi['attachAction'];
|
||||
detachAction: UiActionsApi['detachAction'];
|
||||
registerAction: UiActionsApi['registerAction'];
|
||||
registerTrigger: UiActionsApi['registerTrigger'];
|
||||
}
|
||||
|
||||
export type IUiActionsStart = IUiActionsApi;
|
||||
export type UiActionsStart = UiActionsApi;
|
||||
|
||||
export class UiActionsPlugin implements Plugin<IUiActionsSetup, IUiActionsStart> {
|
||||
private readonly triggers: ITriggerRegistry = new Map();
|
||||
private readonly actions: IActionRegistry = new Map();
|
||||
private api!: IUiActionsApi;
|
||||
export class UiActionsPlugin implements Plugin<UiActionsSetup, UiActionsStart> {
|
||||
private readonly triggers: TriggerRegistry = new Map();
|
||||
private readonly actions: ActionRegistry = new Map();
|
||||
private api!: UiActionsApi;
|
||||
|
||||
constructor(initializerContext: PluginInitializerContext) {
|
||||
this.api = createApi({ triggers: this.triggers, actions: this.actions }).api;
|
||||
}
|
||||
|
||||
public setup(core: CoreSetup): IUiActionsSetup {
|
||||
public setup(core: CoreSetup): UiActionsSetup {
|
||||
return {
|
||||
registerTrigger: this.api.registerTrigger,
|
||||
registerAction: this.api.registerAction,
|
||||
|
@ -48,7 +48,7 @@ export class UiActionsPlugin implements Plugin<IUiActionsSetup, IUiActionsStart>
|
|||
};
|
||||
}
|
||||
|
||||
public start(core: CoreStart): IUiActionsStart {
|
||||
public start(core: CoreStart): UiActionsStart {
|
||||
return this.api;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsDependencies } from '../types';
|
||||
import { UiActionsDependencies } from '../types';
|
||||
|
||||
export const createDeps = (): IUiActionsDependencies => {
|
||||
const deps: IUiActionsDependencies = {
|
||||
export const createDeps = (): UiActionsDependencies => {
|
||||
const deps: UiActionsDependencies = {
|
||||
actions: new Map<any, any>(),
|
||||
triggers: new Map<any, any>(),
|
||||
};
|
||||
|
|
|
@ -18,20 +18,20 @@
|
|||
*/
|
||||
|
||||
import { CoreSetup, CoreStart } from 'src/core/public';
|
||||
import { UiActionsPlugin, IUiActionsSetup, IUiActionsStart } from '../plugin';
|
||||
import { UiActionsPlugin, UiActionsSetup, UiActionsStart } from '../plugin';
|
||||
|
||||
export interface IUiActionsTestPluginReturn {
|
||||
export interface UiActionsTestPluginReturn {
|
||||
plugin: UiActionsPlugin;
|
||||
coreSetup: CoreSetup;
|
||||
coreStart: CoreStart;
|
||||
setup: IUiActionsSetup;
|
||||
doStart: (anotherCoreStart?: CoreStart) => IUiActionsStart;
|
||||
setup: UiActionsSetup;
|
||||
doStart: (anotherCoreStart?: CoreStart) => UiActionsStart;
|
||||
}
|
||||
|
||||
export const uiActionsTestPlugin = (
|
||||
coreSetup: CoreSetup = {} as CoreSetup,
|
||||
coreStart: CoreStart = {} as CoreStart
|
||||
): IUiActionsTestPluginReturn => {
|
||||
): UiActionsTestPluginReturn => {
|
||||
const initializerContext = {} as any;
|
||||
const plugin = new UiActionsPlugin(initializerContext);
|
||||
const setup = plugin.setup(coreSetup);
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
import React from 'react';
|
||||
import { EuiFlyout, EuiFlexGroup, EuiFlexItem, EuiBadge } from '@elastic/eui';
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { createAction, IAction } from '../../actions';
|
||||
import { createAction, Action } from '../../actions';
|
||||
import { toMountPoint, reactToUiComponent } from '../../../../kibana_react/public';
|
||||
|
||||
const ReactMenuItem: React.FC = () => {
|
||||
|
@ -38,7 +38,7 @@ const UiMenuItem = reactToUiComponent(ReactMenuItem);
|
|||
|
||||
export const HELLO_WORLD_ACTION_ID = 'HELLO_WORLD_ACTION_ID';
|
||||
|
||||
export function createHelloWorldAction(overlays: CoreStart['overlays']): IAction {
|
||||
export function createHelloWorldAction(overlays: CoreStart['overlays']): Action {
|
||||
return createAction({
|
||||
type: HELLO_WORLD_ACTION_ID,
|
||||
getIconType: () => 'lock',
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IAction, createAction } from '../../actions';
|
||||
import { Action, createAction } from '../../actions';
|
||||
|
||||
export const RESTRICTED_ACTION = 'RESTRICTED_ACTION';
|
||||
|
||||
export function createRestrictedAction<C>(isCompatibleIn: (context: C) => boolean): IAction<C> {
|
||||
export function createRestrictedAction<C>(isCompatibleIn: (context: C) => boolean): Action<C> {
|
||||
return createAction<C>({
|
||||
type: RESTRICTED_ACTION,
|
||||
isCompatible: async context => isCompatibleIn(context),
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
import React from 'react';
|
||||
import { EuiFlyout } from '@elastic/eui';
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { IAction, createAction } from '../../actions';
|
||||
import { Action, createAction } from '../../actions';
|
||||
import { toMountPoint } from '../../../../kibana_react/public';
|
||||
|
||||
export const SAY_HELLO_ACTION = 'SAY_HELLO_ACTION';
|
||||
|
||||
export function createSayHelloAction(overlays: CoreStart['overlays']): IAction<{ name: string }> {
|
||||
export function createSayHelloAction(overlays: CoreStart['overlays']): Action<{ name: string }> {
|
||||
return createAction<{ name: string }>({
|
||||
type: SAY_HELLO_ACTION,
|
||||
getDisplayName: ({ name }) => `Hello, ${name}`,
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
|
||||
export const attachAction: IUiActionsApiPure['attachAction'] = ({ triggers }) => (
|
||||
export const attachAction: UiActionsApiPure['attachAction'] = ({ triggers }) => (
|
||||
triggerId,
|
||||
actionId
|
||||
) => {
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
|
||||
export const detachAction: IUiActionsApiPure['detachAction'] = ({ triggers }) => (
|
||||
export const detachAction: UiActionsApiPure['detachAction'] = ({ triggers }) => (
|
||||
triggerId,
|
||||
actionId
|
||||
) => {
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IAction, createAction } from '../actions';
|
||||
import { Action, createAction } from '../actions';
|
||||
import { openContextMenu } from '../context_menu';
|
||||
import { IUiActionsTestPluginReturn, uiActionsTestPlugin } from '../tests/test_plugin';
|
||||
import { UiActionsTestPluginReturn, uiActionsTestPlugin } from '../tests/test_plugin';
|
||||
|
||||
jest.mock('../context_menu');
|
||||
|
||||
|
@ -28,7 +28,7 @@ const openContextMenuSpy = (openContextMenu as any) as jest.SpyInstance;
|
|||
|
||||
const CONTACT_USER_TRIGGER = 'CONTACT_USER_TRIGGER';
|
||||
|
||||
function createTestAction<A>(id: string, checkCompatibility: (context: A) => boolean): IAction<A> {
|
||||
function createTestAction<A>(id: string, checkCompatibility: (context: A) => boolean): Action<A> {
|
||||
return createAction<A>({
|
||||
type: 'testAction',
|
||||
id,
|
||||
|
@ -37,7 +37,7 @@ function createTestAction<A>(id: string, checkCompatibility: (context: A) => boo
|
|||
});
|
||||
}
|
||||
|
||||
let uiActions: IUiActionsTestPluginReturn;
|
||||
let uiActions: UiActionsTestPluginReturn;
|
||||
const reset = () => {
|
||||
uiActions = uiActionsTestPlugin();
|
||||
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
import { buildContextMenuForActions, openContextMenu } from '../context_menu';
|
||||
import { IAction } from '../actions';
|
||||
import { Action } from '../actions';
|
||||
|
||||
const executeSingleAction = async <A extends {} = {}>(action: IAction<A>, actionContext: A) => {
|
||||
const executeSingleAction = async <A extends {} = {}>(action: Action<A>, actionContext: A) => {
|
||||
const href = action.getHref && action.getHref(actionContext);
|
||||
|
||||
// TODO: Do we need a `getHref()` special case?
|
||||
|
@ -33,9 +33,10 @@ const executeSingleAction = async <A extends {} = {}>(action: IAction<A>, action
|
|||
await action.execute(actionContext);
|
||||
};
|
||||
|
||||
export const executeTriggerActions: IUiActionsApiPure['executeTriggerActions'] = ({
|
||||
api,
|
||||
}) => async (triggerId, actionContext) => {
|
||||
export const executeTriggerActions: UiActionsApiPure['executeTriggerActions'] = ({ api }) => async (
|
||||
triggerId,
|
||||
actionContext
|
||||
) => {
|
||||
const actions = await api.getTriggerCompatibleActions!(triggerId, actionContext);
|
||||
|
||||
if (!actions.length) {
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
|
||||
export const getTrigger: IUiActionsApiPure['getTrigger'] = ({ triggers }) => id => {
|
||||
export const getTrigger: UiActionsApiPure['getTrigger'] = ({ triggers }) => id => {
|
||||
const trigger = triggers.get(id);
|
||||
|
||||
if (!trigger) {
|
||||
|
|
|
@ -17,15 +17,15 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IAction } from '../actions';
|
||||
import { Action } from '../actions';
|
||||
import { uiActionsTestPlugin } from '../tests/test_plugin';
|
||||
|
||||
const action1: IAction = {
|
||||
const action1: Action = {
|
||||
id: 'action1',
|
||||
order: 1,
|
||||
type: 'type1',
|
||||
} as any;
|
||||
const action2: IAction = {
|
||||
const action2: Action = {
|
||||
id: 'action2',
|
||||
order: 2,
|
||||
type: 'type2',
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { IAction } from '../actions';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
import { Action } from '../actions';
|
||||
|
||||
export const getTriggerActions: IUiActionsApiPure['getTriggerActions'] = ({
|
||||
export const getTriggerActions: UiActionsApiPure['getTriggerActions'] = ({
|
||||
api,
|
||||
actions,
|
||||
}) => id => {
|
||||
const trigger = api.getTrigger!(id);
|
||||
return trigger.actionIds.map(actionId => actions.get(actionId)).filter(Boolean) as IAction[];
|
||||
return trigger.actionIds.map(actionId => actions.get(actionId)).filter(Boolean) as Action[];
|
||||
};
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
|
||||
import { createSayHelloAction } from '../tests/test_samples/say_hello_action';
|
||||
import { IUiActionsTestPluginReturn, uiActionsTestPlugin } from '../tests/test_plugin';
|
||||
import { UiActionsTestPluginReturn, uiActionsTestPlugin } from '../tests/test_plugin';
|
||||
import { createRestrictedAction, createHelloWorldAction } from '../tests/test_samples';
|
||||
import { IAction } from '../actions';
|
||||
import { Action } from '../actions';
|
||||
|
||||
let action: IAction<{ name: string }>;
|
||||
let uiActions: IUiActionsTestPluginReturn;
|
||||
let action: Action<{ name: string }>;
|
||||
let uiActions: UiActionsTestPluginReturn;
|
||||
beforeEach(() => {
|
||||
uiActions = uiActionsTestPlugin();
|
||||
action = createSayHelloAction({} as any);
|
||||
|
|
|
@ -17,15 +17,15 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { IAction } from '../actions/i_action';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
import { Action } from '../actions/action';
|
||||
|
||||
export const getTriggerCompatibleActions: IUiActionsApiPure['getTriggerCompatibleActions'] = ({
|
||||
export const getTriggerCompatibleActions: UiActionsApiPure['getTriggerCompatibleActions'] = ({
|
||||
api,
|
||||
}) => async (triggerId, context) => {
|
||||
const actions = api.getTriggerActions!(triggerId);
|
||||
const isCompatibles = await Promise.all(actions.map(action => action.isCompatible(context)));
|
||||
return actions.reduce<IAction[]>(
|
||||
return actions.reduce<Action[]>(
|
||||
(acc, action, i) => (isCompatibles[i] ? [...acc, action] : acc),
|
||||
[]
|
||||
);
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IUiActionsApiPure } from '../types';
|
||||
import { UiActionsApiPure } from '../types';
|
||||
|
||||
export const registerTrigger: IUiActionsApiPure['registerTrigger'] = ({ triggers }) => trigger => {
|
||||
export const registerTrigger: UiActionsApiPure['registerTrigger'] = ({ triggers }) => trigger => {
|
||||
if (triggers.has(trigger.id)) {
|
||||
throw new Error(`Trigger [trigger.id = ${trigger.id}] already registered.`);
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
export interface ITrigger {
|
||||
export interface Trigger {
|
||||
id: string;
|
||||
title?: string;
|
||||
description?: string;
|
|
@ -17,42 +17,42 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { IAction } from './actions/i_action';
|
||||
import { ITrigger } from './triggers/i_trigger';
|
||||
import { Action } from './actions/action';
|
||||
import { Trigger } from './triggers/trigger';
|
||||
|
||||
export { IAction } from './actions';
|
||||
export { ITrigger } from './triggers/i_trigger';
|
||||
export { Action } from './actions';
|
||||
export { Trigger } from './triggers/trigger';
|
||||
|
||||
export type TExecuteTriggerActions = <A>(triggerId: string, actionContext: A) => Promise<void>;
|
||||
export type ExecuteTriggerActions = <A>(triggerId: string, actionContext: A) => Promise<void>;
|
||||
|
||||
export type TGetActionsCompatibleWithTrigger = <C>(
|
||||
export type GetActionsCompatibleWithTrigger = <C>(
|
||||
triggerId: string,
|
||||
context: C
|
||||
) => Promise<IAction[]>;
|
||||
) => Promise<Action[]>;
|
||||
|
||||
export interface IUiActionsApi {
|
||||
export interface UiActionsApi {
|
||||
attachAction: (triggerId: string, actionId: string) => void;
|
||||
detachAction: (triggerId: string, actionId: string) => void;
|
||||
executeTriggerActions: TExecuteTriggerActions;
|
||||
getTrigger: (id: string) => ITrigger;
|
||||
getTriggerActions: (id: string) => IAction[];
|
||||
getTriggerCompatibleActions: <C>(triggerId: string, context: C) => Promise<Array<IAction<C>>>;
|
||||
registerAction: (action: IAction) => void;
|
||||
registerTrigger: (trigger: ITrigger) => void;
|
||||
executeTriggerActions: ExecuteTriggerActions;
|
||||
getTrigger: (id: string) => Trigger;
|
||||
getTriggerActions: (id: string) => Action[];
|
||||
getTriggerCompatibleActions: <C>(triggerId: string, context: C) => Promise<Array<Action<C>>>;
|
||||
registerAction: (action: Action) => void;
|
||||
registerTrigger: (trigger: Trigger) => void;
|
||||
}
|
||||
|
||||
export interface IUiActionsDependencies {
|
||||
actions: IActionRegistry;
|
||||
triggers: ITriggerRegistry;
|
||||
export interface UiActionsDependencies {
|
||||
actions: ActionRegistry;
|
||||
triggers: TriggerRegistry;
|
||||
}
|
||||
|
||||
export interface IUiActionsDependenciesInternal extends IUiActionsDependencies {
|
||||
api: Readonly<Partial<IUiActionsApi>>;
|
||||
export interface UiActionsDependenciesInternal extends UiActionsDependencies {
|
||||
api: Readonly<Partial<UiActionsApi>>;
|
||||
}
|
||||
|
||||
export type IUiActionsApiPure = {
|
||||
[K in keyof IUiActionsApi]: (deps: IUiActionsDependenciesInternal) => IUiActionsApi[K];
|
||||
export type UiActionsApiPure = {
|
||||
[K in keyof UiActionsApi]: (deps: UiActionsDependenciesInternal) => UiActionsApi[K];
|
||||
};
|
||||
|
||||
export type ITriggerRegistry = Map<string, ITrigger>;
|
||||
export type IActionRegistry = Map<string, IAction>;
|
||||
export type TriggerRegistry = Map<string, Trigger>;
|
||||
export type ActionRegistry = Map<string, Action>;
|
||||
|
|
|
@ -23,12 +23,12 @@ import {
|
|||
GetEmbeddableFactory,
|
||||
GetEmbeddableFactories,
|
||||
} from 'src/legacy/core_plugins/embeddable_api/public/np_ready/public';
|
||||
import { TGetActionsCompatibleWithTrigger } from '../../../../../../../../src/plugins/ui_actions/public';
|
||||
import { GetActionsCompatibleWithTrigger } from '../../../../../../../../src/plugins/ui_actions/public';
|
||||
import { DashboardContainerExample } from './dashboard_container_example';
|
||||
import { Start as InspectorStartContract } from '../../../../../../../../src/plugins/inspector/public';
|
||||
|
||||
export interface AppProps {
|
||||
getActions: TGetActionsCompatibleWithTrigger;
|
||||
getActions: GetActionsCompatibleWithTrigger;
|
||||
getEmbeddableFactory: GetEmbeddableFactory;
|
||||
getAllEmbeddableFactories: GetEmbeddableFactories;
|
||||
overlays: CoreStart['overlays'];
|
||||
|
|
|
@ -35,10 +35,10 @@ import {
|
|||
import { CoreStart } from '../../../../../../../../src/core/public';
|
||||
import { dashboardInput } from './dashboard_input';
|
||||
import { Start as InspectorStartContract } from '../../../../../../../../src/plugins/inspector/public';
|
||||
import { TGetActionsCompatibleWithTrigger } from '../../../../../../../../src/plugins/ui_actions/public';
|
||||
import { GetActionsCompatibleWithTrigger } from '../../../../../../../../src/plugins/ui_actions/public';
|
||||
|
||||
interface Props {
|
||||
getActions: TGetActionsCompatibleWithTrigger;
|
||||
getActions: GetActionsCompatibleWithTrigger;
|
||||
getEmbeddableFactory: GetEmbeddableFactory;
|
||||
getAllEmbeddableFactories: GetEmbeddableFactories;
|
||||
overlays: CoreStart['overlays'];
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { CoreSetup, CoreStart, Plugin } from 'src/core/public';
|
||||
import { IUiActionsStart } from '../../../../../../../src/plugins/ui_actions/public';
|
||||
import { UiActionsStart } from '../../../../../../../src/plugins/ui_actions/public';
|
||||
import { createHelloWorldAction } from '../../../../../../../src/plugins/ui_actions/public/tests/test_samples';
|
||||
|
||||
import {
|
||||
|
@ -57,7 +57,7 @@ export interface SetupDependencies {
|
|||
|
||||
interface StartDependencies {
|
||||
embeddable: IEmbeddableStart;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
inspector: InspectorStartContract;
|
||||
__LEGACY: {
|
||||
ExitFullScreenButton: React.ComponentType<any>;
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
* under the License.
|
||||
*/
|
||||
import { npStart } from 'ui/new_platform';
|
||||
import { IAction, createAction } from '../../../../../src/plugins/ui_actions/public';
|
||||
import { Action, createAction } from '../../../../../src/plugins/ui_actions/public';
|
||||
import { CONTEXT_MENU_TRIGGER } from '../../../../../src/plugins/embeddable/public';
|
||||
|
||||
export const createSamplePanelLink = (): IAction =>
|
||||
export const createSamplePanelLink = (): Action =>
|
||||
createAction({
|
||||
type: 'samplePanelLink',
|
||||
getDisplayName: () => 'Sample panel Link',
|
||||
|
|
|
@ -8,7 +8,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import moment from 'moment-timezone';
|
||||
|
||||
import { npSetup, npStart } from 'ui/new_platform';
|
||||
import { IAction, IncompatibleActionError } from '../../../../../../src/plugins/ui_actions/public';
|
||||
import { Action, IncompatibleActionError } from '../../../../../../src/plugins/ui_actions/public';
|
||||
|
||||
import {
|
||||
ViewMode,
|
||||
|
@ -32,7 +32,7 @@ interface ActionContext {
|
|||
embeddable: ISearchEmbeddable;
|
||||
}
|
||||
|
||||
class GetCsvReportPanelAction implements IAction<ActionContext> {
|
||||
class GetCsvReportPanelAction implements Action<ActionContext> {
|
||||
private isDownloading: boolean;
|
||||
public readonly type = CSV_REPORTING_ACTION;
|
||||
public readonly id = CSV_REPORTING_ACTION;
|
||||
|
|
|
@ -16,7 +16,7 @@ import { DataPublicPluginStart } from '../../../../../src/plugins/data/public';
|
|||
import { IEmbeddableStart } from '../../../../../src/plugins/embeddable/public';
|
||||
import { Start as NewsfeedStart } from '../../../../../src/plugins/newsfeed/public';
|
||||
import { Start as InspectorStart } from '../../../../../src/plugins/inspector/public';
|
||||
import { IUiActionsStart } from '../../../../../src/plugins/ui_actions/public';
|
||||
import { UiActionsStart } from '../../../../../src/plugins/ui_actions/public';
|
||||
import { UsageCollectionSetup } from '../../../../../src/plugins/usage_collection/public';
|
||||
import { initTelemetry } from './lib/telemetry';
|
||||
import { KibanaServices } from './lib/kibana';
|
||||
|
@ -32,7 +32,7 @@ export interface StartPlugins {
|
|||
embeddable: IEmbeddableStart;
|
||||
inspector: InspectorStart;
|
||||
newsfeed?: NewsfeedStart;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
}
|
||||
export type StartServices = CoreStart & StartPlugins;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { IEmbeddable, Embeddable, EmbeddableInput } from 'src/plugins/embeddable/public';
|
||||
import { IAction, IncompatibleActionError } from '../../../../src/plugins/ui_actions/public';
|
||||
import { Action, IncompatibleActionError } from '../../../../src/plugins/ui_actions/public';
|
||||
import { TimeRange } from '../../../../src/plugins/data/public';
|
||||
import { CustomizeTimeRangeModal } from './customize_time_range_modal';
|
||||
import { OpenModal, CommonlyUsedRange } from './types';
|
||||
|
@ -38,7 +38,7 @@ interface ActionContext {
|
|||
embeddable: Embeddable<TimeRangeInput>;
|
||||
}
|
||||
|
||||
export class CustomTimeRangeAction implements IAction<ActionContext> {
|
||||
export class CustomTimeRangeAction implements Action<ActionContext> {
|
||||
public readonly type = CUSTOM_TIME_RANGE;
|
||||
private openModal: OpenModal;
|
||||
private dateFormat?: string;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
import React from 'react';
|
||||
import { prettyDuration, commonDurationRanges } from '@elastic/eui';
|
||||
import { IEmbeddable, Embeddable, EmbeddableInput } from 'src/plugins/embeddable/public';
|
||||
import { IAction, IncompatibleActionError } from '../../../../src/plugins/ui_actions/public';
|
||||
import { Action, IncompatibleActionError } from '../../../../src/plugins/ui_actions/public';
|
||||
import { TimeRange } from '../../../../src/plugins/data/public';
|
||||
import { CustomizeTimeRangeModal } from './customize_time_range_modal';
|
||||
import { doesInheritTimeRange } from './does_inherit_time_range';
|
||||
|
@ -29,7 +29,7 @@ interface ActionContext {
|
|||
embeddable: Embeddable<TimeRangeInput>;
|
||||
}
|
||||
|
||||
export class CustomTimeRangeBadge implements IAction<ActionContext> {
|
||||
export class CustomTimeRangeBadge implements Action<ActionContext> {
|
||||
public readonly type = CUSTOM_TIME_RANGE_BADGE;
|
||||
public readonly id = CUSTOM_TIME_RANGE_BADGE;
|
||||
public order = 7;
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
Plugin,
|
||||
} from '../../../../src/core/public';
|
||||
import { createReactOverlays } from '../../../../src/plugins/kibana_react/public';
|
||||
import { IUiActionsStart, IUiActionsSetup } from '../../../../src/plugins/ui_actions/public';
|
||||
import { UiActionsStart, UiActionsSetup } from '../../../../src/plugins/ui_actions/public';
|
||||
import {
|
||||
CONTEXT_MENU_TRIGGER,
|
||||
PANEL_BADGE_TRIGGER,
|
||||
|
@ -25,12 +25,12 @@ import { CommonlyUsedRange } from './types';
|
|||
|
||||
interface SetupDependencies {
|
||||
embeddable: IEmbeddableSetup; // Embeddable are needed because they register basic triggers/actions.
|
||||
uiActions: IUiActionsSetup;
|
||||
uiActions: UiActionsSetup;
|
||||
}
|
||||
|
||||
interface StartDependencies {
|
||||
embeddable: IEmbeddableStart;
|
||||
uiActions: IUiActionsStart;
|
||||
uiActions: UiActionsStart;
|
||||
}
|
||||
|
||||
export type Setup = void;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue