@@ -770,25 +770,30 @@ export default async function ({ addon, console, msg }) {
770770
771771 function getRestoreFun ( type , lastCostumeDeleted ) {
772772 // Reintegrate the only and last costume to the folder
773- if ( lastCostumeDeleted !== null ) { // type === "costume"
774- const index = lastCostumeDeleted . target . sprite . costumes . findIndex ( costume => costume . assetId === lastCostumeDeleted . assetId ) ;
773+ if ( lastCostumeDeleted !== null ) {
774+ // type === "costume"
775+ const index = lastCostumeDeleted . target . sprite . costumes . findIndex (
776+ ( costume ) => costume . assetId === lastCostumeDeleted . assetId
777+ ) ;
775778 vm . renameCostume ( index , lastCostumeDeleted . name ) ;
776779 lastCostumeDeleted = null ;
777780 }
778781
779782 // Close all folders to prevent sprites from being renamed
780783 if ( type === "sprite" ) {
781- const element = document . querySelector ( "[class*='sprite-selector_sprite-wrapper'] [class*='sprite-selector-item_sprite-selector-item']" ) ;
784+ const element = document . querySelector (
785+ "[class*='sprite-selector_sprite-wrapper'] [class*='sprite-selector-item_sprite-selector-item']"
786+ ) ;
782787 if ( element ) {
783788 const component = getSpriteSelectorItemFromElement ( element ) ;
784- vm . runtime . targets . forEach ( target => {
789+ vm . runtime . targets . forEach ( ( target ) => {
785790 setFolderOpen ( component , getFolderFromName ( target . sprite . name ) , false ) ;
786791 } ) ;
787792 }
788793 }
789794
790795 restorationFunctions . reverse ( ) ;
791- restorationFunctions . forEach ( restore => restore ( ) ) ;
796+ restorationFunctions . forEach ( ( restore ) => restore ( ) ) ;
792797 restorationFunctions = [ ] ;
793798 }
794799
@@ -864,12 +869,16 @@ export default async function ({ addon, console, msg }) {
864869 const deleteFolderContents = async ( ) => {
865870 const type = component . props . dragType . toLowerCase ( ) ;
866871 if (
867- await addon . tab . confirm ( msg ( "delete-folder-contents-prompt-title" ) , msg ( `delete-${ type } s-folder-contents-prompt` ) , {
868- useEditorClasses : true ,
869- } )
872+ await addon . tab . confirm (
873+ msg ( "delete-folder-contents-prompt-title" ) ,
874+ msg ( `delete-${ type } s-folder-contents-prompt` ) ,
875+ {
876+ useEditorClasses : true ,
877+ }
878+ )
870879 ) {
871880 if ( type === "sprite" ) {
872- const targets = vm . runtime . targets ;
881+ const targets = vm . runtime . targets ;
873882 restorationFunctions = [ ] ;
874883
875884 for ( let i = targets . length - 1 ; i > - 1 ; i -- ) {
@@ -893,8 +902,7 @@ export default async function ({ addon, console, msg }) {
893902 restoreButtonMsg = "restore-sprites" ;
894903 }
895904 } ) ;
896- }
897- else if ( type === "costume" || type === "sound" ) {
905+ } else if ( type === "costume" || type === "sound" ) {
898906 restorationFunctions = [ ] ;
899907 const assets = type === "costume" ? vm . editingTarget . sprite . costumes : vm . editingTarget . sprite . sounds ;
900908
@@ -940,23 +948,23 @@ export default async function ({ addon, console, msg }) {
940948 label : msg ( "rename-folder" ) ,
941949 callback : renameFolder ,
942950 position : "assetContextMenuAfterDelete" ,
943- order : 10
951+ order : 10 ,
944952 } ,
945953 {
946954 className : "sa-folders-remove-folder" ,
947955 label : msg ( "remove-folder" ) ,
948956 callback : removeFolder ,
949957 position : "assetContextMenuAfterDelete" ,
950- order : 11
958+ order : 11 ,
951959 } ,
952960 {
953961 className : "sa-folders-delete-folder-contents" ,
954962 label : msg ( "delete-folder-contents" ) ,
955963 callback : deleteFolderContents ,
956964 position : "assetContextMenuAfterDelete" ,
957965 order : 12 ,
958- dangerous : true
959- }
966+ dangerous : true ,
967+ } ,
960968 ] ;
961969 } else {
962970 ctx . target . setAttribute ( "sa-folders-context-type" , "asset" ) ;
@@ -1479,37 +1487,42 @@ export default async function ({ addon, console, msg }) {
14791487
14801488 // Sprite list
14811489 {
1482- addon . tab . waitForElement ( "[class^='sprite-selector_sprite-wrapper']" , {
1483- reduxCondition : ( state ) => ! state . scratchGui . mode . isPlayerOnly ,
1484- } ) . then ( spriteSelectorItemElement => {
1485- vm = addon . tab . traps . vm ;
1486- reactInternalKey = addon . tab . traps . getInternalKey ( spriteSelectorItemElement ) ;
1487- const sortableHOCInstance = getSortableHOCFromElement ( spriteSelectorItemElement ) ;
1488- let reactInternalInstance = spriteSelectorItemElement [ reactInternalKey ] ;
1489- while ( ! isSpriteSelectorItem ( reactInternalInstance . stateNode ) ) {
1490- reactInternalInstance = reactInternalInstance . child ;
1491- }
1492- const spriteSelectorItemInstance = reactInternalInstance . stateNode ;
1493- verifySortableHOC ( sortableHOCInstance ) ;
1494- verifySpriteSelectorItem ( spriteSelectorItemInstance ) ;
1495- verifyVM ( vm ) ;
1496- patchSortableHOC ( sortableHOCInstance . constructor , TYPE_SPRITES ) ;
1497- patchSpriteSelectorItem ( spriteSelectorItemInstance . constructor ) ;
1498- sortableHOCInstance . saInitialSetup ( ) ;
1499- patchVM ( ) ;
1500- } ) ;
1490+ addon . tab
1491+ . waitForElement ( "[class^='sprite-selector_sprite-wrapper']" , {
1492+ reduxCondition : ( state ) => ! state . scratchGui . mode . isPlayerOnly ,
1493+ } )
1494+ . then ( ( spriteSelectorItemElement ) => {
1495+ vm = addon . tab . traps . vm ;
1496+ reactInternalKey = addon . tab . traps . getInternalKey ( spriteSelectorItemElement ) ;
1497+ const sortableHOCInstance = getSortableHOCFromElement ( spriteSelectorItemElement ) ;
1498+ let reactInternalInstance = spriteSelectorItemElement [ reactInternalKey ] ;
1499+ while ( ! isSpriteSelectorItem ( reactInternalInstance . stateNode ) ) {
1500+ reactInternalInstance = reactInternalInstance . child ;
1501+ }
1502+ const spriteSelectorItemInstance = reactInternalInstance . stateNode ;
1503+ verifySortableHOC ( sortableHOCInstance ) ;
1504+ verifySpriteSelectorItem ( spriteSelectorItemInstance ) ;
1505+ verifyVM ( vm ) ;
1506+ patchSortableHOC ( sortableHOCInstance . constructor , TYPE_SPRITES ) ;
1507+ patchSpriteSelectorItem ( spriteSelectorItemInstance . constructor ) ;
1508+ sortableHOCInstance . saInitialSetup ( ) ;
1509+ patchVM ( ) ;
1510+ } ) ;
15011511 }
15021512
15031513 // Costume and sound list
15041514 {
1505- addon . tab . waitForElement ( "[class*='selector_list-item']" , {
1506- reduxCondition : ( state ) => state . scratchGui . editorTab . activeTabIndex !== 0 && ! state . scratchGui . mode . isPlayerOnly ,
1507- } ) . then ( selectorListItem => {
1508- const sortableHOCInstance = getSortableHOCFromElement ( selectorListItem ) ;
1509- verifySortableHOC ( sortableHOCInstance ) ;
1510- patchSortableHOC ( sortableHOCInstance . constructor , TYPE_ASSETS ) ;
1511- sortableHOCInstance . saInitialSetup ( ) ;
1512- } ) ;
1515+ addon . tab
1516+ . waitForElement ( "[class*='selector_list-item']" , {
1517+ reduxCondition : ( state ) =>
1518+ state . scratchGui . editorTab . activeTabIndex !== 0 && ! state . scratchGui . mode . isPlayerOnly ,
1519+ } )
1520+ . then ( ( selectorListItem ) => {
1521+ const sortableHOCInstance = getSortableHOCFromElement ( selectorListItem ) ;
1522+ verifySortableHOC ( sortableHOCInstance ) ;
1523+ patchSortableHOC ( sortableHOCInstance . constructor , TYPE_ASSETS ) ;
1524+ sortableHOCInstance . saInitialSetup ( ) ;
1525+ } ) ;
15131526 }
15141527
15151528 // Update restore button
0 commit comments