dialog to switch between rotary modes

This commit is contained in:
sanjayk03-dev
2024-11-29 13:13:14 +05:30
parent eab66b12c1
commit 4d37731cbb
4 changed files with 62 additions and 1 deletions

View File

@@ -10,6 +10,7 @@
import MoveToZeroDialog from "./MoveToZeroDialog.svelte";
import ShutdownDialog from "./ShutdownDialog.svelte";
import MessageDialog from "./MessageDialog.svelte";
import SwitchRotaryDialog from "./SwitchRotaryDialog.svelte";
const HomeMachineDialogProps = writable<HomeMachineDialogPropsType>();
type HomeMachineDialogPropsType = {
@@ -72,6 +73,13 @@
noaction: boolean;
};
const SwitchRotaryDialogProps = writable<SwitchRotaryDialogPropsType>();
type SwitchRotaryDialogPropsType = {
open: boolean;
isActive: boolean;
switchMode: () => void;
};
export function showDialog(
dialog: "HomeMachine",
props: Omit<HomeMachineDialogPropsType, "open">
@@ -122,6 +130,11 @@
props: Omit<MessageDialogPropsType, "open">
);
export function showDialog(
dialog: "SwitchRotary",
props: Omit<SwitchRotaryDialogPropsType, "open">
);
export function showDialog(dialog: string, props: any) {
switch (dialog) {
case "HomeMachine":
@@ -163,6 +176,10 @@
case "Message":
MessageDialogProps.set({ ...props, open: true });
break;
case "SwitchRotary":
MessageDialogProps.set({ ...props, open: true });
break;
default:
throw new Error(`Unknown dialog '${dialog}'`);
@@ -242,3 +259,4 @@
<MoveToZeroDialog {...$MoveToZeroDialogProps} />
<ShutdownDialog {...$ShutdownDialogProps} />
<MessageDialog {...$MessageDialogProps} />
<SwitchRotaryDialog {...$SwitchRotaryDialogProps} />

View File

@@ -0,0 +1,36 @@
<script lang="ts">
import Dialog, {
Title,
Content,
Actions,
InitialFocus,
} from "@smui/dialog";
import Button, { Label } from "@smui/button";
export let open: boolean;
export let isActive: boolean;
export let switchMode: () => any;
</script>
<Dialog
bind:open
scrimClickAction=""
aria-labelledby="switch-rotary-dialog-title"
aria-describedby="switch-rotary-dialog-content"
>
<Title id="switch-rotary-dialog-title">Switch Rotary Mode</Title>
<Content id="switch-rotary-dialog-content">
{isActive ? "Enable Rotary Mode?" : "Disable Rotary Mode?"}
</Content>
<Actions>
<Button>
<Label>No</Label>
</Button>
<Button defaultAction use={[InitialFocus]} on:click={switchMode}>
<Label>Yes</Label>
</Button>
</Actions>
</Dialog>