fix: copilot suggestions

This commit is contained in:
Daniel Gonzalez Albo
2025-11-10 01:11:18 +01:00
committed by Nicolás Hatcher Andrés
parent aa4dd598b1
commit ef6849e822
3 changed files with 45 additions and 11 deletions

View File

@@ -16,12 +16,21 @@ import type React from "react";
import { theme } from "../../../theme";
import { Footer, NewButton } from "./NamedRanges";
export interface SaveError {
nameError?: string;
formulaError?: string;
}
interface EditNamedRangeProps {
worksheets: WorksheetProperties[];
name: string;
scope: string;
formula: string;
onSave: (name: string, scope: string, formula: string) => string | undefined;
onSave: (
name: string,
scope: string,
formula: string,
) => SaveError | undefined;
onCancel: () => void;
definedNameList?: DefinedName[];
editingDefinedName?: DefinedName | null;
@@ -245,11 +254,11 @@ const EditNamedRange: React.FC<EditNamedRangeProps> = ({
onClick={() => {
const error = onSave(name.trim(), scope, formula);
if (error) {
const isFormulaError = /formula|reference|cell/i.test(error);
if (isFormulaError) {
setFormulaError(error);
} else {
setNameError(error);
if (error.nameError) {
setNameError(error.nameError);
}
if (error.formulaError) {
setFormulaError(error.formulaError);
}
}
}}

View File

@@ -12,7 +12,7 @@ import {
} from "lucide-react";
import { useState } from "react";
import { theme } from "../../../theme";
import EditNamedRange from "./EditNamedRange";
import EditNamedRange, { type SaveError } from "./EditNamedRange";
const normalizeRangeString = (range: string): string => {
return range.trim().replace(/['"]/g, "");
@@ -72,7 +72,7 @@ const NamedRanges: React.FC<NamedRangesProps> = ({
name: string,
scope: string,
formula: string,
): string | undefined => {
): SaveError | undefined => {
if (isCreatingNew) {
if (!newDefinedName) return undefined;
@@ -83,7 +83,8 @@ const NamedRanges: React.FC<NamedRangesProps> = ({
setIsCreatingNew(false);
return undefined;
} catch (e) {
return `${e}`;
// Since name validation is done client-side, errors from model are formula errors
return { formulaError: `${e}` };
}
} else {
if (!editingDefinedName || !updateDefinedName) return undefined;
@@ -101,7 +102,8 @@ const NamedRanges: React.FC<NamedRangesProps> = ({
setEditingDefinedName(null);
return undefined;
} catch (e) {
return `${e}`;
// Since name validation is done client-side, errors from model are formula errors
return { formulaError: `${e}` };
}
}
};
@@ -269,6 +271,15 @@ const NamedRanges: React.FC<NamedRangesProps> = ({
e.stopPropagation();
handleListItemClick(definedName);
}}
onKeyDown={(e) => {
if (e.key === "Enter" || e.key === " ") {
e.preventDefault();
e.stopPropagation();
handleListItemClick(definedName);
}
}}
aria-label={t("name_manager_dialog.edit")}
tabIndex={0}
>
<PencilLine size={16} />
</IconButton>
@@ -284,6 +295,20 @@ const NamedRanges: React.FC<NamedRangesProps> = ({
);
}
}}
onKeyDown={(e) => {
if (e.key === "Enter" || e.key === " ") {
e.preventDefault();
e.stopPropagation();
if (deleteDefinedName) {
deleteDefinedName(
definedName.name,
definedName.scope,
);
}
}
}}
aria-label={t("name_manager_dialog.delete")}
tabIndex={0}
>
<Trash2 size={16} />
</IconButton>

View File

@@ -23,7 +23,7 @@
"show_hide_grid_lines": "Show/hide grid lines",
"named_ranges": "Named ranges",
"vertical_align_bottom": "Align bottom",
"vertical_align_middle": " Align middle",
"vertical_align_middle": "Align middle",
"vertical_align_top": "Align top",
"selected_png": "Export selected area as PNG",
"wrap_text": "Wrap text",