Remove I prefix in UiActions types (#56898)

This commit is contained in:
Stacey Gammon 2020-02-06 11:35:55 -05:00 committed by GitHub
parent 8951424f82
commit f7360721d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
68 changed files with 212 additions and 215 deletions

View file

@ -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,

View file

@ -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,

View file

@ -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;
}
/**

View file

@ -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(

View file

@ -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
) {

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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>;

View file

@ -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;

View file

@ -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,

View file

@ -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 {

View file

@ -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',

View file

@ -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,

View file

@ -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;

View file

@ -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'];

View file

@ -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();

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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}

View file

@ -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;

View file

@ -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 {

View file

@ -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) {

View file

@ -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);

View file

@ -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;
}

View file

@ -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'];

View file

@ -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'];

View file

@ -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 {

View file

@ -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 = (

View file

@ -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.

View file

@ -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,

View file

@ -17,5 +17,5 @@
* under the License.
*/
export { IAction } from './i_action';
export { Action } from './action';
export { createAction } from './create_action';

View file

@ -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.`);
}

View file

@ -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 };
};

View file

@ -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 {

View file

@ -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';

View file

@ -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 = {

View file

@ -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;
}

View file

@ -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>(),
};

View file

@ -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);

View file

@ -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',

View file

@ -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),

View file

@ -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}`,

View file

@ -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
) => {

View file

@ -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
) => {

View file

@ -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();

View file

@ -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) {

View file

@ -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) {

View file

@ -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',

View file

@ -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[];
};

View file

@ -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);

View file

@ -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),
[]
);

View file

@ -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.`);
}

View file

@ -17,7 +17,7 @@
* under the License.
*/
export interface ITrigger {
export interface Trigger {
id: string;
title?: string;
description?: string;

View file

@ -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>;

View file

@ -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'];

View file

@ -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'];

View file

@ -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>;

View file

@ -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',

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;