choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
162 lines (161 loc) • 7.81 kB
TypeScript
import React, { CSSProperties, ReactNode } from 'react';
import PropTypes from 'prop-types';
import TriggerField, { TriggerFieldProps } from '../trigger-field/TriggerField';
export interface IconPickerProps extends TriggerFieldProps {
pageSize?: number;
customFontName?: string;
icons?: {
[key: string]: string[];
} | string[];
}
export default class IconPicker extends TriggerField<IconPickerProps> {
static displayName: string;
static propTypes: {
pageSize: PropTypes.Requireable<number>;
customFontName: PropTypes.Requireable<string>;
icons: PropTypes.Requireable<object>;
id: PropTypes.Requireable<string>;
size: PropTypes.Requireable<import("../core/enum").Size>;
suffixCls: PropTypes.Requireable<string>;
prefixCls: PropTypes.Requireable<string>;
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
disabled: PropTypes.Requireable<boolean>;
hidden: PropTypes.Requireable<boolean>;
autoFocus: PropTypes.Requireable<boolean>;
style: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
tabIndex: PropTypes.Requireable<number>;
lang: PropTypes.Requireable<string>;
spellCheck: PropTypes.Requireable<boolean>;
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
dataSet: PropTypes.Requireable<object>;
_inTable: PropTypes.Requireable<boolean>;
type: PropTypes.Requireable<string>;
name: PropTypes.Requireable<string>;
value: PropTypes.Requireable<any>;
defaultValue: PropTypes.Requireable<any>;
required: PropTypes.Requireable<boolean>;
readOnly: PropTypes.Requireable<boolean>;
form: PropTypes.Requireable<string>;
dataIndex: PropTypes.Requireable<number>;
multiple: PropTypes.Requireable<boolean>;
rowSpan: PropTypes.Requireable<number>;
newLine: PropTypes.Requireable<boolean>;
colSpan: PropTypes.Requireable<number>;
validator: PropTypes.Requireable<(...args: any[]) => any>;
onInvalid: PropTypes.Requireable<(...args: any[]) => any>;
help: PropTypes.Requireable<string>;
showHelp: PropTypes.Requireable<import("../field/enum").ShowHelp>;
renderer: PropTypes.Requireable<(...args: any[]) => any>;
validationRenderer: PropTypes.Requireable<(...args: any[]) => any>;
maxTagPlaceholder: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
maxTagCount: PropTypes.Requireable<number>;
maxTagTextLength: PropTypes.Requireable<number>;
pristine: PropTypes.Requireable<boolean>;
trim: PropTypes.Requireable<import("../data-set/enum").FieldTrim>;
onBeforeChange: PropTypes.Requireable<(...args: any[]) => any>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
onInput: PropTypes.Requireable<(...args: any[]) => any>;
onEnterDown: PropTypes.Requireable<(...args: any[]) => any>;
fieldClassName: PropTypes.Requireable<string>;
placeholder: PropTypes.Requireable<string | (string | null | undefined)[]>;
minLength: PropTypes.Requireable<number>;
maxLength: PropTypes.Requireable<number>;
pattern: PropTypes.Requireable<string | object>;
autoComplete: PropTypes.Requireable<string>;
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
clearButton: PropTypes.Requireable<boolean>;
addonBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>;
addonAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
restrict: PropTypes.Requireable<string>;
isFlat: PropTypes.Requireable<boolean>;
valueChangeAction: PropTypes.Requireable<import("../text-field/enum").ValueChangeAction>;
wait: PropTypes.Requireable<number>;
waitType: PropTypes.Requireable<import("../core/enum").WaitType>;
groupClassName: PropTypes.Requireable<string>;
popupContent: PropTypes.Requireable<PropTypes.ReactElementLike>;
popupCls: PropTypes.Requireable<string>;
popupStyle: PropTypes.Requireable<object>;
trigger: React.Requireable<any>;
triggerShowDelay: PropTypes.Requireable<number>;
triggerHiddenDelay: PropTypes.Requireable<number>;
onPopupHiddenChange: PropTypes.Requireable<(...args: any[]) => any>;
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
suffixCls: string;
pageSize: number;
clearButton: boolean;
trigger: string[];
triggerShowDelay: number;
triggerHiddenDelay: number;
multiple: boolean;
valueChangeAction: import("../text-field/enum").ValueChangeAction;
waitType: import("../core/enum").WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
showHelp: string;
trim: import("../data-set/enum").FieldTrim;
};
activeCategory: string;
selected?: string;
categoryPages: {
[key: string]: number;
};
get categories(): {
[key: string]: string[];
};
get categoryKeys(): string[];
get selectedIndex(): number;
get filteredIcons(): string[];
get selectedIcon(): any;
constructor(props: any, context: any);
getOtherProps(): Pick<Pick<Pick<Pick<Pick<any, string | number | symbol>, string | number | symbol>, string | number | symbol>, string | number | symbol>, string | number | symbol>;
setActiveCategory(category: string): void;
setCategoryPage(page: number, category: string): void;
handleTabsChange(category: string): void;
handleItemSelect(icon: string): void;
handlePageChange(page: number, category: string): void;
handleKeyDown(e: any): void;
handleKeyDownHome(): void;
handleKeyDownEnd(): void;
handleKeyDownLeftOrRight(isLeft: boolean): void;
handleKeyDownUpOrDown(isUP: any): void;
handleKeyDownLeft(): void;
handleKeyDownRight(): void;
handleKeyDownUp(): void;
handleKeyDownDown(): void;
handleKeyDownPageUp(): void;
handleKeyDownPageDown(): void;
handleKeyDownEnter(): void;
handleKeyDownEsc(): void;
handleKeyDownTab(): void;
handleKeyDownSpace(): void;
changeSelected(selected?: string): void;
choose(icon?: string): void;
syncValueOnBlur(value: any): void;
handlePopupAnimateAppear(): void;
handlePopupAnimateEnd(): void;
getPopupStyleFromAlign(): CSSProperties | any;
getTriggerIconFont(): string;
getPopupContent(): {} | null | undefined;
getPrefix(): {} | null | undefined;
renderFilteredIcons(): ReactNode;
renderIconCategories(): JSX.Element;
}