@@ -21,9 +21,10 @@ angular.module('mm.addons.mod_resource')
2121 * @ngdoc service
2222 * @name $mmaModResourceHandlers
2323 */
24- . factory ( '$mmaModResourceHandlers' , function ( $mmCourse , $mmaModResource , $mmEvents , $state , $mmSite , $mmCourseHelper ,
25- $mmCoursePrefetchDelegate , $mmUtil , $mmFS , mmCoreDownloading , mmCoreNotDownloaded , mmCoreOutdated ,
26- mmCoreEventPackageStatusChanged , mmaModResourceComponent , $q , $mmContentLinksHelper , $mmaModResourcePrefetchHandler ) {
24+ . factory ( '$mmaModResourceHandlers' , function ( $mmCourse , $mmaModResource , $mmEvents , $state , $mmSite , $mmCourseHelper , $mmUtil ,
25+ $mmCoursePrefetchDelegate , $mmFS , mmCoreDownloading , mmCoreNotDownloaded , mmCoreOutdated , $mmaModResourceHelper ,
26+ mmCoreEventPackageStatusChanged , mmaModResourceComponent , $q , $mmContentLinksHelper , $mmaModResourcePrefetchHandler ,
27+ mmCoreDownloaded ) {
2728 var self = { } ;
2829
2930 /**
@@ -56,7 +57,8 @@ angular.module('mm.addons.mod_resource')
5657 self . getController = function ( module , courseId ) {
5758 return function ( $scope ) {
5859 var downloadBtn ,
59- refreshBtn ;
60+ refreshBtn ,
61+ openBtn ;
6062
6163 downloadBtn = {
6264 hidden : true ,
@@ -80,9 +82,20 @@ angular.module('mm.addons.mod_resource')
8082 }
8183 } ;
8284
85+ openBtn = {
86+ hidden : true ,
87+ icon : 'ion-document' ,
88+ label : 'mma.mod_resource.openthefile' ,
89+ action : function ( e ) {
90+ e . preventDefault ( ) ;
91+ e . stopPropagation ( ) ;
92+ $mmaModResourceHelper . openFile ( module , courseId ) ;
93+ }
94+ } ;
95+
8396 $scope . title = module . name ;
8497 $scope . class = 'mma-mod_resource-handler' ;
85- $scope . buttons = [ downloadBtn , refreshBtn ] ;
98+ $scope . buttons = [ downloadBtn , refreshBtn , openBtn ] ;
8699 $scope . spinner = true ; // Show spinner while calculating status.
87100
88101 // Show resource icon while calculating the right icon to show.
@@ -111,12 +124,14 @@ angular.module('mm.addons.mod_resource')
111124
112125 function download ( refresh ) {
113126 var dwnBtnHidden = downloadBtn . hidden ,
114- rfrshBtnHidden = refreshBtn . hidden ;
127+ rfrshBtnHidden = refreshBtn . hidden ,
128+ openBtnHidden = openBtn . hidden ;
115129
116130 // Show spinner since this operation might take a while.
117131 $scope . spinner = true ;
118132 downloadBtn . hidden = true ;
119133 refreshBtn . hidden = true ;
134+ openBtn . hidden = true ;
120135
121136 // Get download size to ask for confirm if it's high.
122137 $mmaModResourcePrefetchHandler . getDownloadSize ( module , courseId ) . then ( function ( size ) {
@@ -126,18 +141,16 @@ angular.module('mm.addons.mod_resource')
126141 $scope . spinner = false ;
127142 downloadBtn . hidden = dwnBtnHidden ;
128143 refreshBtn . hidden = rfrshBtnHidden ;
144+ openBtn . hidden = openBtnHidden ;
129145 } ) ;
130146 } ) . catch ( function ( error ) {
131147 // Error, leave the buttons as they were.
132148 $scope . spinner = false ;
133149 downloadBtn . hidden = dwnBtnHidden ;
134150 refreshBtn . hidden = rfrshBtnHidden ;
151+ openBtn . hidden = openBtnHidden ;
135152
136- if ( error ) {
137- $mmUtil . showErrorModal ( error ) ;
138- } else {
139- $mmUtil . showErrorModal ( 'mm.core.errordownloading' , true ) ;
140- }
153+ $mmUtil . showErrorModalDefault ( error , 'mm.core.errordownloading' , true ) ;
141154 } ) ;
142155 }
143156
@@ -147,6 +160,7 @@ angular.module('mm.addons.mod_resource')
147160 $scope . spinner = status === mmCoreDownloading ;
148161 downloadBtn . hidden = status !== mmCoreNotDownloaded ;
149162 refreshBtn . hidden = status !== mmCoreOutdated ;
163+ openBtn . hidden = status !== mmCoreDownloaded || $mmaModResource . isDisplayedInIframe ( module ) ;
150164 }
151165 }
152166
0 commit comments