update: add a second New from template action to FileMenu
This commit is contained in:
committed by
Nicolás Hatcher Andrés
parent
6a3e37f4c1
commit
0b925a4d6a
@@ -27,6 +27,7 @@ function useWindowWidth() {
|
||||
export function FileBar(properties: {
|
||||
model: Model;
|
||||
newModel: () => void;
|
||||
newModelFromTemplate: () => void;
|
||||
setModel: (key: string) => void;
|
||||
onModelUpload: (blob: ArrayBuffer, fileName: string) => Promise<void>;
|
||||
onDelete: () => void;
|
||||
@@ -52,6 +53,7 @@ export function FileBar(properties: {
|
||||
<Divider />
|
||||
<FileMenu
|
||||
newModel={properties.newModel}
|
||||
newModelFromTemplate={properties.newModelFromTemplate}
|
||||
setModel={properties.setModel}
|
||||
onModelUpload={properties.onModelUpload}
|
||||
onDownload={async () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import styled from "@emotion/styled";
|
||||
import { Menu, MenuItem, Modal } from "@mui/material";
|
||||
import { Check, FileDown, FileUp, Plus, Trash2 } from "lucide-react";
|
||||
import { Check, FileDown, FileUp, Plus, Table2, Trash2 } from "lucide-react";
|
||||
import { useRef, useState } from "react";
|
||||
import DeleteWorkbookDialog from "./DeleteWorkbookDialog";
|
||||
import UploadFileDialog from "./UploadFileDialog";
|
||||
@@ -8,6 +8,7 @@ import { getModelsMetadata, getSelectedUuid } from "./storage";
|
||||
|
||||
export function FileMenu(props: {
|
||||
newModel: () => void;
|
||||
newModelFromTemplate: () => void;
|
||||
setModel: (key: string) => void;
|
||||
onDownload: () => void;
|
||||
onModelUpload: (blob: ArrayBuffer, fileName: string) => Promise<void>;
|
||||
@@ -92,7 +93,18 @@ export function FileMenu(props: {
|
||||
<StyledIcon>
|
||||
<Plus />
|
||||
</StyledIcon>
|
||||
<MenuItemText>New</MenuItemText>
|
||||
<MenuItemText>New blank workbook</MenuItemText>
|
||||
</MenuItemWrapper>
|
||||
<MenuItemWrapper
|
||||
onClick={() => {
|
||||
props.newModelFromTemplate();
|
||||
setMenuOpen(false);
|
||||
}}
|
||||
>
|
||||
<StyledIcon>
|
||||
<Table2 />
|
||||
</StyledIcon>
|
||||
<MenuItemText>New from template</MenuItemText>
|
||||
</MenuItemWrapper>
|
||||
<MenuItemWrapper
|
||||
onClick={() => {
|
||||
@@ -105,6 +117,7 @@ export function FileMenu(props: {
|
||||
</StyledIcon>
|
||||
<MenuItemText>Import</MenuItemText>
|
||||
</MenuItemWrapper>
|
||||
<MenuDivider />
|
||||
<MenuItemWrapper onClick={props.onDownload}>
|
||||
<StyledIcon>
|
||||
<FileDown />
|
||||
|
||||
@@ -8,9 +8,7 @@ function WelcomeDialog(properties: {
|
||||
onClose: () => void;
|
||||
onSelectTemplate: (templateId: string) => void;
|
||||
}) {
|
||||
const [selectedTemplate, setSelectedTemplate] = useState<string>(
|
||||
"blank",
|
||||
);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState<string>("blank");
|
||||
|
||||
const handleClose = () => {
|
||||
properties.onClose();
|
||||
@@ -74,7 +72,9 @@ function WelcomeDialog(properties: {
|
||||
</TemplatesListWrapper>
|
||||
</DialogContent>
|
||||
<DialogFooter>
|
||||
<DialogFooterButton onClick={() => properties.onSelectTemplate(selectedTemplate)}>
|
||||
<DialogFooterButton
|
||||
onClick={() => properties.onSelectTemplate(selectedTemplate)}
|
||||
>
|
||||
Create workbook
|
||||
</DialogFooterButton>
|
||||
</DialogFooter>
|
||||
|
||||
Reference in New Issue
Block a user