Support deleting multiple scenes (#630)

* Improve layout and add buttons
* Move functionality into ListFilter
* Make modal style dark
* Convert scene options into edit scenes dialog
* Add delete scenes dialog
* Clear selected ids on delete
* Refetch after update/delete
* Use DeleteScenesDialog in Scene page
* Show scene check boxes in small screens
* Change default multi-set mode to set
This commit is contained in:
WithoutPants
2020-06-23 10:40:11 +10:00
committed by GitHub
parent 83f8bc0832
commit 455e16ece9
20 changed files with 613 additions and 366 deletions

View File

@@ -1,11 +1,11 @@
import React from "react";
import { Button, Modal } from "react-bootstrap";
import { Button, Modal, Spinner } from "react-bootstrap";
import { Icon } from "src/components/Shared";
import { IconName } from "@fortawesome/fontawesome-svg-core";
interface IButton {
text?: string;
variant?: "danger" | "primary";
variant?: "danger" | "primary" | "secondary";
onClick?: () => void;
}
@@ -16,6 +16,7 @@ interface IModal {
icon?: IconName;
cancel?: IButton;
accept?: IButton;
isRunning?: boolean;
}
const ModalComponent: React.FC<IModal> = ({
@@ -26,6 +27,7 @@ const ModalComponent: React.FC<IModal> = ({
cancel,
accept,
onHide,
isRunning,
}) => (
<Modal keyboard={false} onHide={onHide} show={show}>
<Modal.Header>
@@ -37,6 +39,7 @@ const ModalComponent: React.FC<IModal> = ({
<div>
{cancel ? (
<Button
disabled={isRunning}
variant={cancel.variant ?? "primary"}
onClick={cancel.onClick}
>
@@ -46,10 +49,15 @@ const ModalComponent: React.FC<IModal> = ({
""
)}
<Button
disabled={isRunning}
variant={accept?.variant ?? "primary"}
onClick={accept?.onClick}
>
{accept?.text ?? "Close"}
{isRunning ? (
<Spinner animation="border" role="status" size="sm" />
) : (
accept?.text ?? "Close"
)}
</Button>
</div>
</Modal.Footer>