From 0b43ddb091143c3afbd2760b06a27a99050e5326 Mon Sep 17 00:00:00 2001 From: Michal Klobukowski Date: Wed, 28 Nov 2018 11:29:18 +0100 Subject: [PATCH] Create ProgressButton Feature #14393 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- .../progress-button/progress-button.tsx | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/components/progress-button/progress-button.tsx diff --git a/src/components/progress-button/progress-button.tsx b/src/components/progress-button/progress-button.tsx new file mode 100644 index 00000000..14286dd2 --- /dev/null +++ b/src/components/progress-button/progress-button.tsx @@ -0,0 +1,36 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +import * as React from 'react'; +import Button, { ButtonProps } from '@material-ui/core/Button'; +import { CircularProgress, withStyles } from '@material-ui/core'; +import { CircularProgressProps } from '@material-ui/core/CircularProgress'; + +interface ProgressButtonProps extends ButtonProps { + loading?: boolean; + progressProps?: CircularProgressProps; +} + +export const ProgressButton = ({ loading, progressProps, children, disabled, ...props }: ProgressButtonProps) => + ; + +const Progress = withStyles({ + root: { + position: 'absolute', + }, +})(CircularProgress); + +const getProgressSize = (size?: 'small' | 'medium' | 'large') => { + switch (size) { + case 'small': + return 16; + case 'large': + return 24; + default: + return 20; + } +}; -- 2.30.2