@@ -23,8 +23,11 @@ import {
2323import { IonRefresher } from '@ionic/angular' ;
2424import { CoreNavigator } from '@services/navigator' ;
2525import { CoreScreen } from '@services/screen' ;
26+ import { CoreSites } from '@services/sites' ;
2627import { CoreDomUtils } from '@services/utils/dom' ;
28+ import { CoreTextErrorObject } from '@services/utils/text' ;
2729import { CoreUtils } from '@services/utils/utils' ;
30+ import { Translate } from '@singletons' ;
2831import { BehaviorSubject , Observable } from 'rxjs' ;
2932import { map } from 'rxjs/operators' ;
3033
@@ -111,8 +114,33 @@ export class CoreReportBuilderReportDetailComponent implements OnInit {
111114 } ) ;
112115
113116 this . onReportLoaded . emit ( report . details ) ;
114- } catch ( err ) {
115- await CoreDomUtils . showErrorModal ( err ) ;
117+ } catch {
118+ const errorConfig : CoreTextErrorObject = {
119+ title : Translate . instant ( 'core.error' ) ,
120+ body : `
121+ <p>${ Translate . instant ( 'addon.mod_page.errorwhileloadingthepage' ) } </p>
122+ <p>${ Translate . instant ( 'core.course.useactivityonbrowser' ) } </p>
123+ ` ,
124+ buttons : [
125+ {
126+ text : Translate . instant ( 'core.cancel' ) ,
127+ role : 'cancel' ,
128+ handler : async ( ) => await CoreNavigator . back ( ) ,
129+ } ,
130+ {
131+ text : Translate . instant ( 'core.openinbrowser' ) ,
132+ role : 'confirm' ,
133+ handler : async ( ) => {
134+ const site = CoreSites . getRequiredCurrentSite ( ) ;
135+ const href = `${ site . getURL ( ) } /reportbuilder/view.php?id=${ this . reportId } ` ;
136+ await CoreUtils . openInBrowser ( href , { showBrowserWarning : false } ) ;
137+ await CoreNavigator . back ( ) ;
138+ } ,
139+ } ,
140+ ] ,
141+ } ;
142+
143+ await CoreDomUtils . showErrorModal ( errorConfig ) ;
116144 }
117145 }
118146
0 commit comments