UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

72 lines (71 loc) 2.15 kB
/** * 裁剪头像上传 */ import React, { Component } from 'react'; import { AxiosRequestConfig } from 'axios'; import { ModalProps } from '../modal'; import { UploadProps } from '../upload'; import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext'; export interface Limit { size: number; type: string; } export interface AvatarArea { rotate: number; startX: number; startY: number; endX: number; endY: number; file?: File; } export interface AvatarUploadProps { visible: boolean; onClose?: (visible: boolean) => void; onUploadOk?: (res: any) => void; uploadUrl?: string; uploadFaild?: () => void; uploadError?: (error: any) => void; handleUpload?: (area: AvatarArea) => void; cropComplete?: (imageState: any) => void; title?: string | React.ReactElement; previewTitle?: string | React.ReactElement; reloadTitle?: string | React.ReactElement; uploadProps?: UploadProps; modalProps?: ModalProps; limit: Limit; previewList: number[]; editorWidth: number; editorHeight: number; rectSize: number; axiosConfig?: AxiosRequestConfig; prefixCls?: string; } export default class AvatarUploader extends Component<AvatarUploadProps, any> { static get contextType(): typeof ConfigContext; static defaultProps: { limit: { type: string; size: number; }; previewList: number[]; editorWidth: number; editorHeight: number; rectSize: number; }; context: ConfigContextValue; constructor(props: any, context: ConfigContextValue); zoomImage: (type: any) => void; handleOk: () => void; close(): void; uploadOk(res: any): void; handleCancel: () => void; initImageSize(img: any, rotate?: number): void; onComplete(imgState: any): void; loadImage(src: any): void; getPreviewProps(previewSize: any): object; renderPreviewItem(previewSizeList: any): any; renderEditor(props: any): JSX.Element; getUploadProps(): UploadProps; renderContainer(): JSX.Element; render(): JSX.Element; }