@@ -22,13 +22,12 @@ angular.module('mm.addons.mod_wiki')
2222 * @name mmaModWikiIndexCtrl
2323 */
2424. controller ( 'mmaModWikiIndexCtrl' , function ( $q , $scope , $stateParams , $mmCourse , $mmUser , $mmGroups , $ionicPopover , $mmUtil , $state ,
25- $mmSite , $mmaModWiki , $ionicScrollDelegate , $ ionicTabsDelegate, $ionicHistory , $translate , mmaModWikiSubwikiPagesLoaded ) {
25+ $mmSite , $mmaModWiki , $ionicTabsDelegate , $ionicHistory , $translate , mmaModWikiSubwikiPagesLoaded ) {
2626 var module = $stateParams . module || { } ,
2727 courseId = $stateParams . courseid ,
2828 action = $stateParams . action || 'page' ,
2929 currentPage = $stateParams . pageid || false ,
3030 popover , wiki , currentSubwiki , loadedSubwikis ,
31- scrollDelegate = $ionicScrollDelegate . $getByHandle ( 'mmaModWikiIndexScroll' ) ,
3231 tabsDelegate ;
3332
3433 $scope . title = $stateParams . pagetitle || module . name ;
@@ -56,7 +55,7 @@ angular.module('mm.addons.mod_wiki')
5655
5756 $scope . gotoPage = function ( pageId ) {
5857 if ( currentPage != pageId ) {
59- // Add a new State
58+ // Add a new State.
6059 return fetchPageContents ( pageId ) . then ( function ( page ) {
6160 var stateParams = {
6261 module : module ,
@@ -75,6 +74,29 @@ angular.module('mm.addons.mod_wiki')
7574 tabsDelegate . select ( 0 ) ;
7675 } ;
7776
77+ $scope . gotoSubwiki = function ( subwikiId ) {
78+
79+ // Check if the subwiki is disabled.
80+ if ( subwikiId > 0 ) {
81+ popover . hide ( ) ;
82+
83+ if ( subwikiId != currentSubwiki . id ) {
84+ // Add a new State.
85+ var stateParams = {
86+ module : module ,
87+ moduleid : module . id ,
88+ courseid : courseId ,
89+ pageid : null ,
90+ pagetitle : null ,
91+ wikiid : wiki . id ,
92+ subwikiid : subwikiId ,
93+ action : tabsDelegate . selectedIndex ( ) == 0 ? 'page' : 'map'
94+ } ;
95+ return $state . go ( 'site.mod_wiki' , stateParams ) ;
96+ }
97+ }
98+ } ;
99+
78100 // Convenience function to get wiki data.
79101 function fetchWikiData ( refresh ) {
80102 var id = module . id || $stateParams . wikiid ,
@@ -98,8 +120,6 @@ angular.module('mm.addons.mod_wiki')
98120 }
99121
100122 return promise . then ( function ( mod ) {
101- var groupmode = wiki . groupmode ;
102-
103123 module = mod ;
104124
105125 $scope . title = $scope . title || wiki . title ;
@@ -131,7 +151,7 @@ angular.module('mm.addons.mod_wiki')
131151 } ) ;
132152 } ) . then ( function ( ) {
133153
134- if ( $scope . subwikiData . count > 1 && ! popover ) {
154+ if ( $scope . subwikiData . count > 1 ) {
135155 // More than one subwiki available.
136156 handleSubwikiPopover ( ) ;
137157 }
@@ -165,29 +185,6 @@ angular.module('mm.addons.mod_wiki')
165185
166186 // Convinience function that handles Subwiki Popover.
167187 function handleSubwikiPopover ( ) {
168-
169- // Preparing the popover.
170- $scope . subwikiPicked = function ( subwikiId ) {
171-
172- // Check if the subwiki is disabled.
173- if ( subwikiId > 0 ) {
174- popover . hide ( ) ;
175-
176- if ( subwikiId != currentSubwiki . id ) {
177-
178- scrollDelegate . scrollTop ( false ) ;
179-
180- currentPage = false ;
181- $scope . subwikiData . selected = subwikiId ;
182- $scope . wikiLoaded = false ;
183-
184- return fetchWikiPage ( ) ;
185- }
186- // No changes done.
187- $scope . wikiLoaded = true ;
188- }
189- } ;
190-
191188 $ionicPopover . fromTemplateUrl ( 'addons/mod_wiki/templates/subwiki_picker.html' , {
192189 scope : $scope
193190 } ) . then ( function ( po ) {
@@ -206,7 +203,7 @@ angular.module('mm.addons.mod_wiki')
206203 userGroupsIds = [ ] ,
207204 allParticipants = false ,
208205 myGroups = false ,
209- multiLevelList = false ;
206+ multiLevelList = false ,
210207 currentUserId = $mmSite . getUserId ( ) || false ,
211208 allParticipantsTitle = $translate . instant ( 'mm.core.allparticipants' ) ,
212209 nonInGroupTitle = $translate . instant ( 'mma.mod_wiki.notingroup' ) ,
0 commit comments