* Get basic scaffolding working * Wire up cluster checkup data * Add types for elasticsearch plugin * Implement basics of checkup tab * Update style of deprecations * Add copy and reload button to checkup * Add filtering by warning level * Add deprecation logging tab * Copy updates and cleanup * Type cleanup * Move deprecation logging to overview tab * Make filters togglable * Move sections into tabs and add support for grouping * Cleanup and add clearer labels * Use tables for message grouping * Cleanup and small fixes * Allow console to load relative URLs * Add reindex in console button to reindex tasks * Merge documentation UI and uiButtons * Fix tests * Filter bar tweaks * Filter out index settings that can't be set * Fix types * Add tests for deprecation_logging * Add tests for reindex templates * Make KibanaConfig generic * Simplify integration test * Finish backend unit tests * Fixup types * Fix uiButton updating for reindex items * Fixed background color stretching * Pulling tabs out and re-ordering filter buttons * Making accordions more item-list like * Turned Healths into Badges - Couldn’t do the conversion within the cell because it only passed color * Fix overflow issue * Optional filter and expand/collapse controls * Reorganizing - Added placeholder for moving action button up into accordion header - Removed repetitive message name outputs - Slightly better listing of each message when sorting by index - Only showing number of severity when sorting by index - Still need to allow showing all severity levels - Added indice count when sorting by issue * Putting `Deprecation logging` in a `EuiDescribedFormGroup` * Added some stats, empty prompts, and all clear prompt * Added docs link * Cleaned up sass files * Revert changes to fake_deprecations * Update blacklisted settings * wip * Move data fetching and tab control * Wire up overview summary * Cleanup docs/uiButtons + move actions to index table * Add expand/collapse all functionality * Wire up search box * Wire up severity indicators * Fix types * Round out functional tests * Fix fake data * Remove info deprecation level * Fix extra space on cluster tab control bar * Cleanup code and localize majority of UI controls * Change overview tab to steps layout * Update copy * Localize overview tab * Complete localization of checkup tabs * Make ES version dynamic based on branch * Add pagination to checkup tabs * Rename checkup -> assistant * Cleanup filter and group by bars * WIP UI unit tests * Copy tweaks * Fix i18n formatting issues * Update tests for copy * Add tests for remaining UI * Fix pagination w/ filter changes + table button color * Small cleanup * Add reindex button to old index deprecations * Add shrunken indices setting to copy settings blacklist for #18469 * Add next steps to overview tab + update copy * Remove usage of migration assistance API * Use all/critical toggle for filter buttons * Cloud upgrade copy * Translate reindex button * Remove hacked EUI type * Show incomplete banner on all tabs * Update copy for waiting for next version * Review comments * Update deprecation level type * Update checkup tab snapshots * Remove dependencies on types from #25168 * Use types from new global type defs * Remove 'Reindex in Console' button * Remove unused variable
174 lines
4.9 KiB
TypeScript
174 lines
4.9 KiB
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License;
|
|
* you may not use this file except in compliance with the Elastic License.
|
|
*/
|
|
|
|
/**
|
|
* /!\ These type definitions are temporary until the upstream @elastic/eui
|
|
* package includes them.
|
|
*/
|
|
|
|
declare module '@elastic/eui' {
|
|
export const EuiWrappingPopover: React.SFC<any>;
|
|
}
|
|
|
|
import { EuiToolTipPosition, IconType } from '@elastic/eui';
|
|
import { CommonProps } from '@elastic/eui/src/components/common';
|
|
import moment from 'moment';
|
|
import { MouseEventHandler, ReactType, Ref } from 'react';
|
|
import { ReactDatePickerProps } from 'react-datepicker';
|
|
import { JsonObject } from '../common/typed_json';
|
|
|
|
declare module '@elastic/eui' {
|
|
export interface EuiBreadcrumbDefinition {
|
|
text: React.ReactNode;
|
|
href?: string;
|
|
onClick?: React.MouseEventHandler<any>;
|
|
}
|
|
type EuiBreadcrumbsProps = CommonProps & {
|
|
responsive?: boolean;
|
|
truncate?: boolean;
|
|
max?: number;
|
|
breadcrumbs: EuiBreadcrumbDefinition[];
|
|
};
|
|
|
|
type EuiHeaderProps = CommonProps;
|
|
export const EuiHeader: React.SFC<EuiHeaderProps>;
|
|
|
|
export type EuiHeaderSectionSide = 'left' | 'right';
|
|
type EuiHeaderSectionProps = CommonProps & {
|
|
side?: EuiHeaderSectionSide;
|
|
grow?: boolean;
|
|
};
|
|
export const EuiHeaderSection: React.SFC<EuiHeaderSectionProps>;
|
|
|
|
type EuiHeaderBreadcrumbsProps = EuiBreadcrumbsProps;
|
|
export const EuiHeaderBreadcrumbs: React.SFC<EuiHeaderBreadcrumbsProps>;
|
|
|
|
type EuiDatePickerProps = CommonProps &
|
|
Pick<
|
|
ReactDatePickerProps,
|
|
Exclude<
|
|
keyof ReactDatePickerProps,
|
|
| 'monthsShown'
|
|
| 'showWeekNumbers'
|
|
| 'fixedHeight'
|
|
| 'dropdownMode'
|
|
| 'useShortMonthInDropdown'
|
|
| 'todayButton'
|
|
| 'timeCaption'
|
|
| 'disabledKeyboardNavigation'
|
|
| 'isClearable'
|
|
| 'withPortal'
|
|
| 'ref'
|
|
| 'placeholderText'
|
|
| 'selected'
|
|
>
|
|
> & {
|
|
fullWidth?: boolean;
|
|
inputRef?: Ref<Element | ReactType>;
|
|
injectTimes?: moment.Moment[];
|
|
isInvalid?: boolean;
|
|
isLoading?: boolean;
|
|
selected?: moment.Moment | null | undefined;
|
|
placeholder?: string;
|
|
shadow?: boolean;
|
|
calendarContainer?: React.ReactNode;
|
|
onChange?: (date: moment.Moment | null) => void;
|
|
startDate?: moment.Moment | undefined;
|
|
endDate?: moment.Moment | undefined;
|
|
};
|
|
export const EuiDatePicker: React.SFC<EuiDatePickerProps>;
|
|
|
|
type EuiFilterGroupProps = CommonProps;
|
|
export const EuiFilterGroup: React.SFC<EuiFilterGroupProps>;
|
|
|
|
type EuiFilterButtonProps = CommonProps & {
|
|
color?: ButtonColor;
|
|
href?: string;
|
|
iconSide?: ButtonIconSide;
|
|
iconType?: IconType;
|
|
isDisabled?: boolean;
|
|
isSelected?: boolean;
|
|
onClick: MouseEventHandler<HTMLElement>;
|
|
rel?: string;
|
|
target?: string;
|
|
type?: string;
|
|
hasActiveFilters?: boolean;
|
|
numFilters?: number;
|
|
};
|
|
export const EuiFilterButton: React.SFC<EuiFilterButtonProps>;
|
|
|
|
interface EuiOutsideClickDetectorProps {
|
|
children: React.ReactNode;
|
|
isDisabled?: boolean;
|
|
onOutsideClick: React.MouseEventHandler<Element>;
|
|
}
|
|
export const EuiOutsideClickDetector: React.SFC<EuiOutsideClickDetectorProps>;
|
|
|
|
interface EuiFormControlLayoutIconProps {
|
|
type: IconType;
|
|
side?: 'left' | 'right';
|
|
onClick?: React.MouseEventHandler<Element>;
|
|
}
|
|
|
|
interface EuiFormControlLayoutClearIconProps {
|
|
onClick?: React.MouseEventHandler<Element>;
|
|
}
|
|
|
|
type EuiFormControlLayoutProps = CommonProps & {
|
|
icon?: string | EuiFormControlLayoutIconProps;
|
|
clear?: EuiFormControlLayoutClearIconProps;
|
|
fullWidth?: boolean;
|
|
isLoading?: boolean;
|
|
compressed?: boolean;
|
|
prepend?: React.ReactNode;
|
|
append?: React.ReactNode;
|
|
};
|
|
export const EuiFormControlLayout: React.SFC<EuiFormControlLayoutProps>;
|
|
|
|
type EuiSideNavProps = CommonProps & {
|
|
style?: any;
|
|
items: Array<{
|
|
id: string | number;
|
|
name: string;
|
|
items: Array<{
|
|
id: string;
|
|
name: string;
|
|
onClick: () => void;
|
|
}>;
|
|
}>;
|
|
mobileTitle?: React.ReactNode;
|
|
toggleOpenOnMobile?: () => void;
|
|
isOpenOnMobile?: boolean;
|
|
};
|
|
export const EuiSideNav: React.SFC<EuiSideNavProps>;
|
|
|
|
type EuiErrorBoundaryProps = CommonProps & {
|
|
children: React.ReactNode;
|
|
};
|
|
|
|
type EuiSizesResponsive = 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
type EuiResponsiveProps = CommonProps & {
|
|
children: React.ReactNode;
|
|
sizes: EuiSizesResponsive[];
|
|
};
|
|
|
|
export const EuiHideFor: React.SFC<EuiResponsiveProps>;
|
|
|
|
export const EuiShowFor: React.SFC<EuiResponsiveProps>;
|
|
|
|
type EuiDatePickerRangeProps = CommonProps & {
|
|
startDateControl: React.ReactNode;
|
|
endDateControl: React.ReactNode;
|
|
iconType?: IconType | boolean;
|
|
fullWidth?: boolean;
|
|
disabled?: boolean;
|
|
isLoading?: boolean;
|
|
dateFormat?: string;
|
|
};
|
|
|
|
export const EuiDatePickerRange: React.SFC<EuiDatePickerRangeProps>;
|
|
}
|