/*
* QQQ - Low-code Application Framework for Engineers.
* Copyright (C) 2021-2022. Kingsrook, LLC
* 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
* contact@kingsrook.com
* https://github.com/Kingsrook/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
import Box from "@mui/material/Box";
import Icon from "@mui/material/Icon";
import React from "react";
import {Link} from "react-router-dom";
import MDButton from "qqq/components/legacy/MDButton";
// eslint-disable import/prefer-default-export
export const standardWidth = "150px";
const standardML = {xs: 1, md: 3};
interface QCreateNewButtonProps
{
tablePath: string;
}
export function QCreateNewButton({tablePath}: QCreateNewButtonProps): JSX.Element
{
return (
add}>
Create New
);
}
interface QSaveButtonProps
{
label?: string;
iconName?: string;
onClickHandler?: any,
disabled: boolean
}
QSaveButton.defaultProps = {
label: "Save",
iconName: "save"
};
export function QSaveButton({label, iconName, onClickHandler, disabled}: QSaveButtonProps): JSX.Element
{
return (
{iconName}} disabled={disabled}>
{label}
);
}
interface QDeleteButtonProps
{
onClickHandler: any;
disabled?: boolean;
}
QDeleteButton.defaultProps = {
disabled: false
};
export function QDeleteButton({onClickHandler, disabled}: QDeleteButtonProps): JSX.Element
{
return (
delete} disabled={disabled}>
Delete
);
}
export function QEditButton(): JSX.Element
{
return (
edit}>
Edit
);
}
interface QActionsMenuButtonProps
{
isOpen: boolean;
onClickHandler: any;
}
export function QActionsMenuButton({isOpen, onClickHandler}: QActionsMenuButtonProps): JSX.Element
{
return (
games}
fullWidth
>
actions
keyboard_arrow_down
);
}
interface QCancelButtonProps
{
onClickHandler: any;
disabled: boolean;
label?: string;
iconName?: string;
}
export function QCancelButton({
onClickHandler, disabled, label, iconName,
}: QCancelButtonProps): JSX.Element
{
return (
{iconName}} onClick={onClickHandler} disabled={disabled}>
{label}
);
}
QCancelButton.defaultProps = {
label: "cancel",
iconName: "cancel",
};
interface QSubmitButtonProps
{
label?: string;
iconName?: string;
disabled: boolean;
}
export function QSubmitButton({label, iconName, disabled}: QSubmitButtonProps): JSX.Element
{
return (
{iconName}} disabled={disabled}>
{label}
);
}
QSubmitButton.defaultProps = {
label: "Submit",
iconName: "check",
};
interface QAlternateButtonProps
{
label: string,
iconName?: string,
disabled: boolean,
onClick?: () => void
}
export function QAlternateButton({label, iconName, disabled, onClick}: QAlternateButtonProps): JSX.Element
{
return (
{iconName}} onClick={onClick} disabled={disabled}>
{label}
);
}
QAlternateButton.defaultProps = {};