Browse Source

fix: frame name field (#7457)

Co-authored-by: dwelle <[email protected]>
Andran1k 1 year ago
parent
commit
626fe252ab
2 changed files with 3 additions and 5 deletions
  1. 2 4
      packages/excalidraw/components/App.tsx
  2. 1 1
      packages/excalidraw/frame.ts

+ 2 - 4
packages/excalidraw/components/App.tsx

@@ -1299,10 +1299,7 @@ class App extends React.Component<AppProps, AppState> {
       const FRAME_NAME_EDIT_PADDING = 6;
 
       const reset = () => {
-        if (f.name?.trim() === "") {
-          mutateElement(f, { name: null });
-        }
-
+        mutateElement(f, { name: f.name?.trim() || null });
         this.setState({ editingFrame: null });
       };
 
@@ -1325,6 +1322,7 @@ class App extends React.Component<AppProps, AppState> {
                 name: e.target.value,
               });
             }}
+            onFocus={(e) => e.target.select()}
             onBlur={() => reset()}
             onKeyDown={(event) => {
               // for some inexplicable reason, `onBlur` triggered on ESC

+ 1 - 1
packages/excalidraw/frame.ts

@@ -746,7 +746,7 @@ export const getFrameLikeTitle = (
   element: ExcalidrawFrameLikeElement,
   frameIdx: number,
 ) => {
-  // TODO name frames AI only is specific to AI frames
+  // TODO name frames "AI" only if specific to AI frames
   return element.name === null
     ? isFrameElement(element)
       ? `Frame ${frameIdx}`