@@ -47,21 +47,28 @@ angular.module('codexen')
4747
4848 $scope . $on ( 'snippetDeleted' , function ( ) {
4949 if ( $state . is ( 'snippets.detail' ) ) {
50- var currentSnippetId = $state . params . id
50+ var currentSnippetId = parseInt ( $state . params . id )
51+ // Delete snippet from snippet list
5152 for ( var i = 0 ; i < vm . snippets . length ; i ++ ) {
52- if ( vm . snippets [ i ] . _id === currentSnippetId ) {
53- var targetSnippet = null
54-
55- if ( i === 0 ) targetSnippet = vm . snippets [ i + 1 ]
56- else targetSnippet = vm . snippets [ i - 1 ]
57-
58- console . log ( 'target' , targetSnippet )
59- $state . go ( 'snippets.detail' , { id : targetSnippet . _id } )
53+ if ( vm . snippets [ i ] . id === currentSnippetId ) {
54+ vm . snippets . splice ( i , 1 )
55+ break
56+ }
57+ }
58+ // Delete snippet from `filtered list`
59+ // And redirect `next filtered snippet`
60+ for ( var i = 0 ; i < vm . filtered . length ; i ++ ) {
61+ if ( vm . filtered [ i ] . id === currentSnippetId ) {
62+ if ( vm . filtered [ i + 1 ] != null ) $state . go ( 'snippets.detail' , { id : vm . filtered [ i + 1 ] . id } )
63+ else if ( vm . filtered [ i - 1 ] != null ) $state . go ( 'snippets.detail' , { id : vm . filtered [ i - 1 ] . id } )
64+ else $state . go ( 'snippets' )
65+
66+ vm . filtered . splice ( i , 1 )
6067 break
6168 }
6269 }
70+
6371 }
64- loadSnippets ( )
6572 } )
6673
6774 $scope . $on ( 'tagSelected' , function ( e , tag ) {
0 commit comments