@@ -169,16 +169,35 @@ function ScriptEditor() {
169169 . then ( ( newScript ) => {
170170 scriptCtrl . upsert ( newScript ) . then (
171171 ( ) => {
172+ if ( ! newScript . name ) {
173+ Message . warning ( "脚本name不可以设置为空" ) ;
174+ return ;
175+ }
172176 if ( newScript . id === 0 ) {
173177 Message . success ( "新建成功,请注意后台脚本不会默认开启" ) ;
178+ // 保存的时候如何左侧没有脚本即新建
179+ setScriptList ( ( prev ) => {
180+ setSelectSciptButtonAndTab ( newScript . uuid ) ;
181+ return [ newScript , ...prev ] ;
182+ } ) ;
174183 } else {
184+ setScriptList ( ( prev ) => {
185+ // eslint-disable-next-line no-shadow, array-callback-return
186+ prev . map ( ( script : Script ) => {
187+ if ( script . uuid === newScript . uuid ) {
188+ script . name = newScript . name ;
189+ }
190+ } ) ;
191+ return [ ...prev ] ;
192+ } ) ;
175193 Message . success ( "保存成功" ) ;
176194 }
177195 setEditors ( ( prev ) => {
178196 for ( let i = 0 ; i < prev . length ; i += 1 ) {
179197 if ( prev [ i ] . script . uuid === newScript . uuid ) {
180198 prev [ i ] . code = newScript . code ;
181199 prev [ i ] . isChanged = false ;
200+ prev [ i ] . script . name = newScript . name ;
182201 break ;
183202 }
184203 }
@@ -313,6 +332,7 @@ function ScriptEditor() {
313332 hotKeys,
314333 isChanged : false ,
315334 } ) ;
335+ setSelectSciptButtonAndTab ( scripts [ i ] . uuid ) ;
316336 setEditors ( [ ...editors ] ) ;
317337 break ;
318338 }
@@ -533,7 +553,7 @@ function ScriptEditor() {
533553 </ Button >
534554 { scriptList . map ( ( script ) => (
535555 < Button
536- key = { `s_${ script . id } ` }
556+ key = { `s_${ script . uuid } ` }
537557 size = "mini"
538558 className = "text-left"
539559 style = { {
@@ -698,7 +718,7 @@ function ScriptEditor() {
698718 if ( isChanged !== item . isChanged ) {
699719 setEditors ( ( prev ) => {
700720 prev . forEach ( ( v ) => {
701- if ( v . script . id === item . script . id ) {
721+ if ( v . script . uuid === item . script . uuid ) {
702722 v . isChanged = isChanged ;
703723 }
704724 } ) ;
0 commit comments