Skip to content

Commit

Permalink
fix: 🐛 fix x-pack TypeScript errors
Browse files Browse the repository at this point in the history
  • Loading branch information
streamich committed Mar 13, 2020
1 parent 2defb52 commit f85e79d
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 31 deletions.
2 changes: 1 addition & 1 deletion src/plugins/ui_actions/public/util/configurable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export interface Configurable<Config extends object = object> {
/**
* Is this config valid. Used to validate user's input before saving.
*/
readonly isConfigValid: (config: Config) => boolean;
readonly isConfigValid: (config: Config) => config is Config;

/**
* `UiComponent` to be rendered when collecting configuration for this item.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
} from '@elastic/eui';
import { txtChangeButton } from './i18n';
import './action_wizard.scss';
import { AnyActionFactory } from '../../services';
import { ActionFactory } from '../../services';

type ActionBaseConfig = object;
type ActionFactoryBaseContext = object;
Expand All @@ -25,19 +25,19 @@ export interface ActionWizardProps {
/**
* List of available action factories
*/
actionFactories: AnyActionFactory[];
actionFactories: ActionFactory[];

/**
* Currently selected action factory
* undefined - is allowed and means that non is selected
*/
currentActionFactory?: AnyActionFactory;
currentActionFactory?: ActionFactory;

/**
* Action factory selected changed
* null - means user click "change" and removed action factory selection
*/
onActionFactoryChange: (actionFactory: AnyActionFactory | null) => void;
onActionFactoryChange: (actionFactory: ActionFactory | null) => void;

/**
* current config for currently selected action factory
Expand Down Expand Up @@ -97,7 +97,7 @@ export const ActionWizard: React.FC<ActionWizardProps> = ({
};

interface SelectedActionFactoryProps {
actionFactory: AnyActionFactory;
actionFactory: ActionFactory;
config: ActionBaseConfig;
context: ActionFactoryBaseContext;
onConfigChange: (config: ActionBaseConfig) => void;
Expand Down Expand Up @@ -153,9 +153,9 @@ const SelectedActionFactory: React.FC<SelectedActionFactoryProps> = ({
};

interface ActionFactorySelectorProps {
actionFactories: AnyActionFactory[];
actionFactories: ActionFactory[];
context: ActionFactoryBaseContext;
onActionFactorySelected: (actionFactory: AnyActionFactory) => void;
onActionFactorySelected: (actionFactory: ActionFactory) => void;
}

export const TEST_SUBJ_ACTION_FACTORY_ITEM = 'action-factory-item';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import React, { useState } from 'react';
import { EuiFieldText, EuiFormRow, EuiSelect, EuiSwitch } from '@elastic/eui';
import { reactToUiComponent } from '../../../../../../src/plugins/kibana_react/public';
import { ActionWizard } from './action_wizard';
import { ActionFactoryDefinition, AnyActionFactory, ActionFactory } from '../../services';
import { ActionFactoryDefinition, ActionFactory } from '../../services';
import { CollectConfigProps } from '../../util';

type ActionBaseConfig = object;
Expand Down Expand Up @@ -88,7 +88,7 @@ export const dashboardDrilldownActionFactory: ActionFactoryDefinition<
useCurrentDashboardFilters: true,
};
},
isConfigValid: config => {
isConfigValid: (config: DashboardDrilldownConfig): config is DashboardDrilldownConfig => {
if (!config.dashboardId) return false;
return true;
},
Expand Down Expand Up @@ -146,7 +146,7 @@ export const urlDrilldownActionFactory: ActionFactoryDefinition<UrlDrilldownConf
openInNewTab: false,
};
},
isConfigValid: config => {
isConfigValid: (config: any): config is UrlDrilldownConfig => {
if (!config.url) return false;
return true;
},
Expand All @@ -161,13 +161,13 @@ export const urlDrilldownActionFactory: ActionFactoryDefinition<UrlDrilldownConf

export const urlFactory = new ActionFactory(urlDrilldownActionFactory);

export function Demo({ actionFactories }: { actionFactories: AnyActionFactory[] }) {
export function Demo({ actionFactories }: { actionFactories: Array<ActionFactory<any>> }) {
const [state, setState] = useState<{
currentActionFactory?: AnyActionFactory;
currentActionFactory?: ActionFactory;
config?: ActionBaseConfig;
}>({});

function changeActionFactory(newActionFactory: AnyActionFactory | null) {
function changeActionFactory(newActionFactory: ActionFactory | null) {
if (!newActionFactory) {
// removing action factory
return setState({});
Expand Down
2 changes: 0 additions & 2 deletions x-pack/plugins/advanced_ui_actions/public/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ export {
export { ActionWizard } from './components';
export {
ActionFactoryDefinition as AdvancedUiActionsActionFactoryDefinition,
AnyActionFactoryDefinition as AdvancedUiActionsAnyActionFactoryDefinition,
ActionFactory as AdvancedUiActionsActionFactory,
AnyActionFactory as AdvancedUiActionsAnyActionFactory,
} from './services/action_factory_service';
export {
Configurable as AdvancedUiActionsConfigurable,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import React, { useEffect, useState } from 'react';
import useMount from 'react-use/lib/useMount';
import useMountedState from 'react-use/lib/useMountedState';
import {
AdvancedUiActionsAnyActionFactory as AnyActionFactory,
AdvancedUiActionsActionFactory as ActionFactory,
AdvancedUiActionsStart,
} from '../../../../advanced_ui_actions/public';
import { NotificationsStart } from '../../../../../../src/core/public';
Expand Down Expand Up @@ -61,7 +61,7 @@ export function createFlyoutManageDrilldowns({
const allActionFactoriesById = allActionFactories.reduce((acc, next) => {
acc[next.id] = next;
return acc;
}, {} as Record<string, AnyActionFactory>);
}, {} as Record<string, ActionFactory>);

return (props: ConnectedFlyoutManageDrilldownsProps) => {
const isCreateOnly = props.viewMode === 'create';
Expand Down Expand Up @@ -201,10 +201,12 @@ export function createFlyoutManageDrilldowns({
}

function useCompatibleActionFactoriesForCurrentContext<Context extends object = object>(
actionFactories: AnyActionFactory[],
actionFactories: Array<ActionFactory<any>>,
context: Context
) {
const [compatibleActionFactories, setCompatibleActionFactories] = useState<AnyActionFactory[]>();
const [compatibleActionFactories, setCompatibleActionFactories] = useState<
Array<ActionFactory<any>>
>();
useEffect(() => {
let canceled = false;
async function updateCompatibleFactoriesForContext() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,16 @@ import {
txtEditDrilldownTitle,
} from './i18n';
import { DrilldownHelloBar } from '../drilldown_hello_bar';
import {
AdvancedUiActionsActionFactoryDefinition as ActionFactoryDefinition,
AdvancedUiActionsActionFactory as ActionFactory,
AdvancedUiActionsAnyActionFactory as AnyActionFactory,
} from '../../../../advanced_ui_actions/public';
import { AdvancedUiActionsActionFactory as ActionFactory } from '../../../../advanced_ui_actions/public';

export interface DrilldownWizardConfig<ActionConfig extends object = object> {
name: string;
actionFactory?: ActionFactory<ActionFactoryDefinition<ActionConfig, any, any>>;
actionFactory?: ActionFactory;
actionConfig?: ActionConfig;
}

export interface FlyoutDrilldownWizardProps<CurrentActionConfig extends object = object> {
drilldownActionFactories: AnyActionFactory[];
drilldownActionFactories: Array<ActionFactory<any>>;

onSubmit?: (drilldownWizardConfig: Required<DrilldownWizardConfig>) => void;
onDelete?: () => void;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import './form_drilldown_wizard.scss';
import { EuiFieldText, EuiForm, EuiFormRow, EuiSpacer } from '@elastic/eui';
import { txtDrilldownAction, txtNameOfDrilldown, txtUntitledDrilldown } from './i18n';
import {
AdvancedUiActionsAnyActionFactory as AnyActionFactory,
AdvancedUiActionsActionFactory as ActionFactory,
ActionWizard,
} from '../../../../advanced_ui_actions/public';

Expand All @@ -19,14 +19,14 @@ export interface FormDrilldownWizardProps {
name?: string;
onNameChange?: (name: string) => void;

currentActionFactory?: AnyActionFactory;
onActionFactoryChange?: (actionFactory: AnyActionFactory | null) => void;
currentActionFactory?: ActionFactory;
onActionFactoryChange?: (actionFactory: ActionFactory | null) => void;
actionFactoryContext: object;

actionConfig?: object;
onActionConfigChange?: (config: object) => void;

actionFactories?: AnyActionFactory[];
actionFactories?: ActionFactory[];
}

export const FormDrilldownWizard: React.FC<FormDrilldownWizardProps> = ({
Expand Down

0 comments on commit f85e79d

Please sign in to comment.