@@ -357,7 +357,7 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
357357 return a . name . localeCompare ( b . name , undefined , { numeric : true } ) ;
358358 } ) . forEach ( ( item : ISaveLayout ) => {
359359 if ( inputElement . value === "" || item . name . toLowerCase ( ) . indexOf ( inputElement . value . toLowerCase ( ) ) > - 1 ) {
360- html += `<div data-name="${ item . name } " class="b3-list-item b3-list-item--narrow b3-list-item--hide-action ${ html ? "" : "b3-list-item--focus" } ">
360+ html += `<div data-name="${ item . name } " class="b3-list-item b3-list-item--narrow b3-list-item--hide-action">
361361 <div class="b3-list-item__text">${ item . name } </div>
362362 <span class="b3-list-item__meta">${ item . time ? dayjs ( item . time ) . format ( "YYYY-MM-DD HH:mm" ) : "" } </span>
363363 <span class="b3-list-item__action">
@@ -370,14 +370,18 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
370370 } ;
371371 const inputElement = menuElement . querySelector ( ".b3-text-field" ) as HTMLInputElement ;
372372 const listElement = menuElement . querySelector ( ".b3-list" ) ;
373+ inputElement . addEventListener ( "focus" , ( ) => {
374+ const listItemElement = inputElement . nextElementSibling ?. querySelector ( ".b3-list-item" ) ;
375+ listItemElement ?. classList . add ( "b3-list-item--focus" ) ;
376+ } ) ;
373377 inputElement . addEventListener ( "keydown" , ( event ) => {
374378 event . stopPropagation ( ) ;
375379 if ( event . isComposing ) {
376380 return ;
377381 }
378382 upDownHint ( listElement , event ) ;
379- if ( event . key === "Escape" ) {
380- window . siyuan . menus . menu . remove ( ) ;
383+ if ( event . key === "Escape" || ( event . key === "ArrowLeft" && inputElement . value === "" ) ) {
384+ window . siyuan . menus . menu . remove ( true ) ;
381385 } else if ( event . key === "Enter" ) {
382386 const currentElement = listElement . querySelector ( ".b3-list-item--focus" ) ;
383387 if ( currentElement ) {
@@ -394,6 +398,8 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
394398 }
395399 event . stopPropagation ( ) ;
396400 listElement . innerHTML = genListHTML ( ) ;
401+ const listItemElement = inputElement . nextElementSibling ?. querySelector ( ".b3-list-item" ) ;
402+ listItemElement ?. classList . add ( "b3-list-item--focus" ) ;
397403 } ) ;
398404 listElement . addEventListener ( "click" , ( event : MouseEvent ) => {
399405 if ( window . siyuan . config . readonly ) {
0 commit comments