import * as React from 'react';
import * as _ from 'lodash';
import * as DefaultStyles from './style';
const loading = require('../../SVG/loading.svg')
export namespace LoadingButton {
export interface Props {
onClick: (event: any) => void;
name: string;
mode?: MODE;
content: string;
disableMouseOverStyles?: boolean;
styles?: Styles;
id?: string;
}
export interface State { }
export interface Styles {
Container?: any;
Button?: any;
Loading?: any;
Failed?: any;
Success?: any;
Disabled?: any;
LoadingImg?: any;
Root?: any;
}
};
export enum MODE {
LOADING = 'loading',
FAILED = 'failed',
SUCCESS = 'success',
DISABLED = 'disabled'
}
const LoadingButton = (props: LoadingButton.Props): JSX.Element => {
const Styles: LoadingButton.Styles = _.merge(DefaultStyles, props.styles);
const getButtonMode = (mode): JSX.Element => {
switch (mode) {
case MODE.LOADING:
return (
)
case MODE.SUCCESS:
return (
{props.content}
)
case MODE.FAILED:
return (
{props.content}
)
case MODE.DISABLED:
return (
{props.content}
)
default:
return (
{props.content}
)
}
}
return (
{getButtonMode(props.mode)}
)
}
export default LoadingButton;