@@ -17,7 +17,7 @@ import { IonicPage, NavParams, ModalController } from 'ionic-angular';
1717import { CoreEventsProvider } from '@providers/events' ;
1818import { CoreSitesProvider } from '@providers/sites' ;
1919import { CoreSyncProvider } from '@providers/sync' ;
20- import { CoreDomUtilsProvider } from '@providers/utils/dom' ;
20+ import { CoreDomUtils } from '@providers/utils/dom' ;
2121import { CoreTimeUtilsProvider } from '@providers/utils/time' ;
2222import { CoreIonTabsComponent } from '@components/ion-tabs/ion-tabs' ;
2323import { AddonModScormProvider , AddonModScormAttemptCountResult } from '../../providers/scorm' ;
@@ -46,6 +46,8 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
4646 src : string ; // Iframe src.
4747 errorMessage : string ; // Error message.
4848 accessInfo : any ; // Access information.
49+ scormWidth : null ; // Width applied to scorm iframe.
50+ scormHeight : null ; // Height applied to scorm iframe.
4951
5052 protected siteId : string ;
5153 protected mode : string ; // Mode to play the SCORM.
@@ -65,11 +67,18 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
6567 protected launchPrevObserver : any ;
6668 protected goOfflineObserver : any ;
6769
68- constructor ( navParams : NavParams , protected modalCtrl : ModalController , protected eventsProvider : CoreEventsProvider ,
69- protected sitesProvider : CoreSitesProvider , protected syncProvider : CoreSyncProvider ,
70- protected domUtils : CoreDomUtilsProvider , protected timeUtils : CoreTimeUtilsProvider ,
71- protected scormProvider : AddonModScormProvider , protected scormHelper : AddonModScormHelperProvider ,
72- protected scormSyncProvider : AddonModScormSyncProvider , protected tabs : CoreIonTabsComponent ) {
70+ constructor (
71+ navParams : NavParams ,
72+ protected modalCtrl : ModalController ,
73+ protected eventsProvider : CoreEventsProvider ,
74+ protected sitesProvider : CoreSitesProvider ,
75+ protected syncProvider : CoreSyncProvider ,
76+ protected timeUtils : CoreTimeUtilsProvider ,
77+ protected scormProvider : AddonModScormProvider ,
78+ protected scormHelper : AddonModScormHelperProvider ,
79+ protected scormSyncProvider : AddonModScormSyncProvider ,
80+ protected tabs : CoreIonTabsComponent
81+ ) {
7382
7483 this . scorm = navParams . get ( 'scorm' ) || { } ;
7584 this . mode = navParams . get ( 'mode' ) || AddonModScormProvider . MODENORMAL ;
@@ -95,12 +104,14 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
95104 if ( this . scorm . popup ) {
96105 this . tabs . changeVisibility ( false ) ;
97106
98- // If we receive a value <= 100 we need to assume it's a percentage.
99- if ( this . scorm . width <= 100 ) {
100- this . scorm . width = this . scorm . width + '%' ;
101- }
102- if ( this . scorm . height <= 100 ) {
103- this . scorm . height = this . scorm . height + '%' ;
107+ // If we receive a value > 100 we assume it's a fixed pixel size.
108+ if ( this . scorm . width > 100 ) {
109+ this . scormWidth = this . scorm . width ;
110+
111+ // Only get fixed size on height if width is also fixed.
112+ if ( this . scorm . height > 100 ) {
113+ this . scormHeight = this . scorm . height ;
114+ }
104115 }
105116 }
106117
@@ -111,7 +122,7 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
111122 const promise = this . newAttempt ? this . setStartTime ( this . currentSco . id ) : Promise . resolve ( ) ;
112123
113124 return promise . catch ( ( error ) => {
114- this . domUtils . showErrorModalDefault ( error , 'addon.mod_scorm.errorgetscorm' , true ) ;
125+ CoreDomUtils . instance . showErrorModalDefault ( error , 'addon.mod_scorm.errorgetscorm' , true ) ;
115126 } ) . finally ( ( ) => {
116127 // Load SCO.
117128 this . loadSco ( this . currentSco ) ;
@@ -152,7 +163,7 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
152163 // Wait a bit to prevent collisions between this store and SCORM API's store.
153164 setTimeout ( ( ) => {
154165 this . scormHelper . convertAttemptToOffline ( this . scorm , this . attempt ) . catch ( ( error ) => {
155- this . domUtils . showErrorModalDefault ( error , 'core.error' , true ) ;
166+ CoreDomUtils . instance . showErrorModalDefault ( error , 'core.error' , true ) ;
156167 } ) . then ( ( ) => {
157168 this . refreshToc ( ) ;
158169 } ) ;
@@ -248,7 +259,7 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
248259 return Promise . all ( promises ) ;
249260 } ) ;
250261 } ) . catch ( ( error ) => {
251- this . domUtils . showErrorModalDefault ( error , 'addon.mod_scorm.errorgetscorm' , true ) ;
262+ CoreDomUtils . instance . showErrorModalDefault ( error , 'addon.mod_scorm.errorgetscorm' , true ) ;
252263 } ) ;
253264 } ) ;
254265 }
@@ -372,7 +383,7 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
372383
373384 return this . scormProvider . saveTracks ( sco . id , this . attempt , tracks , this . scorm , true ) ;
374385 } ) . catch ( ( error ) => {
375- this . domUtils . showErrorModalDefault ( error , 'core.error' , true ) ;
386+ CoreDomUtils . instance . showErrorModalDefault ( error , 'core.error' , true ) ;
376387 } ) ;
377388 }
378389 } ) ;
@@ -432,7 +443,7 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
432443 } ) . then ( ( ) => {
433444 return this . fetchToc ( ) ;
434445 } ) . catch ( ( error ) => {
435- this . domUtils . showErrorModalDefault ( error , 'addon.mod_scorm.errorgetscorm' , true ) ;
446+ CoreDomUtils . instance . showErrorModalDefault ( error , 'addon.mod_scorm.errorgetscorm' , true ) ;
436447 } ) ;
437448 }
438449
0 commit comments