commit
40fac1b6a3
51
config.xml
51
config.xml
|
@ -79,18 +79,11 @@
|
|||
<icon background="@color/background" density="xhdpi" foreground="resources/android/icon/xhdpi-foreground.png" src="resources/android/icon/drawable-xhdpi-icon.png" />
|
||||
<icon background="@color/background" density="xxhdpi" foreground="resources/android/icon/xxhdpi-foreground.png" src="resources/android/icon/drawable-xxhdpi-icon.png" />
|
||||
<icon background="@color/background" density="xxxhdpi" foreground="resources/android/icon/xxxhdpi-foreground.png" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
|
||||
|
||||
<!--
|
||||
This should be added by the file-opener2 plugin, but it's not working at the moment. This can be removed
|
||||
once the following issue is resolved and the plugin is updated to include the fix:
|
||||
https://github.com/pwlin/cordova-plugin-file-opener2/issues/246
|
||||
-->
|
||||
<config-file parent="/manifest/application" target="AndroidManifest.xml">
|
||||
<provider android:authorities="${applicationId}.opener.provider" android:exported="false" android:grantUriPermissions="true" android:name="io.github.pwlin.cordova.plugins.fileopener2.FileProvider">
|
||||
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/opener_paths" />
|
||||
</provider>
|
||||
</config-file>
|
||||
|
||||
</platform>
|
||||
<platform name="ios">
|
||||
<resource-file src="GoogleService-Info.plist" />
|
||||
|
@ -148,36 +141,36 @@
|
|||
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
|
||||
<splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
|
||||
</platform>
|
||||
<plugin name="com-darryncampbell-cordova-plugin-intent" spec="^1.1.8" />
|
||||
<plugin name="cordova-android-support-gradle-release" spec="^3.0.1">
|
||||
<plugin name="com-darryncampbell-cordova-plugin-intent" spec="1.3.0" />
|
||||
<plugin name="cordova-android-support-gradle-release" spec="3.0.1">
|
||||
<variable name="ANDROID_SUPPORT_VERSION" value="27.1.0" />
|
||||
</plugin>
|
||||
<plugin name="cordova-clipboard" spec="^1.3.0" />
|
||||
<plugin name="cordova-plugin-badge" spec="^0.8.8" />
|
||||
<plugin name="cordova-plugin-camera" spec="^4.1.0" />
|
||||
<plugin name="cordova-plugin-customurlscheme" spec="^4.4.0">
|
||||
<plugin name="cordova-clipboard" spec="1.3.0" />
|
||||
<plugin name="cordova-plugin-badge" spec="0.8.8" />
|
||||
<plugin name="cordova-plugin-camera" spec="4.1.0" />
|
||||
<plugin name="cordova-plugin-customurlscheme" spec="4.4.0">
|
||||
<variable name="URL_SCHEME" value="moodlemobile" />
|
||||
</plugin>
|
||||
<plugin name="cordova-plugin-device" spec="^2.0.3" />
|
||||
<plugin name="cordova-plugin-file" spec="^6.0.2" />
|
||||
<plugin name="cordova-plugin-device" spec="2.0.3" />
|
||||
<plugin name="cordova-plugin-file" spec="6.0.2" />
|
||||
<plugin name="cordova-plugin-file-opener2" spec="2.2.1" />
|
||||
<plugin name="cordova-plugin-file-transfer" spec="^1.7.1" />
|
||||
<plugin name="cordova-plugin-geolocation" spec="^4.0.2">
|
||||
<plugin name="cordova-plugin-file-transfer" spec="1.7.1" />
|
||||
<plugin name="cordova-plugin-geolocation" spec="4.0.2">
|
||||
<variable name="GEOLOCATION_USAGE_DESCRIPTION" value="We need your location so you can attach it as part of your submissions." />
|
||||
</plugin>
|
||||
<plugin name="cordova-plugin-globalization" spec="^1.11.0" />
|
||||
<plugin name="cordova-plugin-inappbrowser" spec="^3.1.0" />
|
||||
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.3" />
|
||||
<plugin name="cordova-plugin-globalization" spec="1.11.0" />
|
||||
<plugin name="cordova-plugin-inappbrowser" spec="3.1.0" />
|
||||
<plugin name="cordova-plugin-ionic-keyboard" spec="2.2.0" />
|
||||
<plugin name="cordova-plugin-local-notification" spec="https://github.com/moodlemobile/cordova-plugin-local-notification.git#moodle" />
|
||||
<plugin name="cordova-plugin-media-capture" spec="^3.0.3" />
|
||||
<plugin name="cordova-plugin-network-information" spec="^2.0.2" />
|
||||
<plugin name="cordova-plugin-screen-orientation" spec="^3.0.2" />
|
||||
<plugin name="cordova-plugin-splashscreen" spec="^5.0.3" />
|
||||
<plugin name="cordova-plugin-statusbar" spec="^2.4.3" />
|
||||
<plugin name="cordova-plugin-whitelist" spec="^1.3.4" />
|
||||
<plugin name="cordova-plugin-zip" spec="^3.1.0" />
|
||||
<plugin name="cordova-sqlite-storage" spec="^3.4.0" />
|
||||
<plugin name="nl.kingsquare.cordova.background-audio" spec="^1.0.1" />
|
||||
<plugin name="cordova-plugin-media-capture" spec="3.0.3" />
|
||||
<plugin name="cordova-plugin-network-information" spec="2.0.2" />
|
||||
<plugin name="cordova-plugin-screen-orientation" spec="3.0.2" />
|
||||
<plugin name="cordova-plugin-splashscreen" spec="5.0.3" />
|
||||
<plugin name="cordova-plugin-statusbar" spec="2.4.3" />
|
||||
<plugin name="cordova-plugin-whitelist" spec="1.3.4" />
|
||||
<plugin name="cordova-plugin-zip" spec="3.1.0" />
|
||||
<plugin name="cordova-sqlite-storage" spec="3.4.0" />
|
||||
<plugin name="nl.kingsquare.cordova.background-audio" spec="1.0.1" />
|
||||
<plugin name="phonegap-plugin-push" spec="https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v3">
|
||||
<variable name="ANDROID_SUPPORT_V13_VERSION" value="27.+" />
|
||||
<variable name="FCM_VERSION" value="17.5.+" />
|
||||
|
|
|
@ -503,8 +503,7 @@
|
|||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
|
@ -525,14 +524,12 @@
|
|||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -547,20 +544,17 @@
|
|||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
|
@ -677,8 +671,7 @@
|
|||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
|
@ -690,7 +683,6 @@
|
|||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
|
@ -705,7 +697,6 @@
|
|||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
|
@ -713,14 +704,12 @@
|
|||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
|
@ -739,7 +728,6 @@
|
|||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
|
@ -820,8 +808,7 @@
|
|||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
|
@ -833,7 +820,6 @@
|
|||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -919,8 +905,7 @@
|
|||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
|
@ -956,7 +941,6 @@
|
|||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
|
@ -976,7 +960,6 @@
|
|||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
|
@ -1020,14 +1003,12 @@
|
|||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2650,9 +2631,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"com-darryncampbell-cordova-plugin-intent": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/com-darryncampbell-cordova-plugin-intent/-/com-darryncampbell-cordova-plugin-intent-1.1.7.tgz",
|
||||
"integrity": "sha512-e+CIaOTpZ7r178tmCijZcm/o5nJIWVnQaUrwm5xwX1zc5zutVCtz1oH3xqq6gzNk05C9i7n96xdenODHMYpiMw=="
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/com-darryncampbell-cordova-plugin-intent/-/com-darryncampbell-cordova-plugin-intent-1.3.0.tgz",
|
||||
"integrity": "sha512-JXslndd4UiRHmirGZrwrHZHczoZ5sxM7zAylm4bPX7ZDwD4FdCHhILgDA8AeaG8wc11e0A7OEAFo0Esgc0M4yA=="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.6",
|
||||
|
@ -3176,9 +3157,9 @@
|
|||
"integrity": "sha512-YqrZfYgbGTS20SFID0mrRxud312VH072QVlFonCAkPgtGg1Svy7lELOCNFd+KU7t4mVtZeTEjZPEeefvjaetwQ=="
|
||||
},
|
||||
"cordova-plugin-ionic-keyboard": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.1.3.tgz",
|
||||
"integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz",
|
||||
"integrity": "sha512-yDUG+9ieKVRitq5mGlNxjaZh/MgEhFFIgTIPhqSbUaQ8UuZbawy5mhJAVClqY97q8/rcQtL6dCDa7x2sEtCLcA=="
|
||||
},
|
||||
"cordova-plugin-local-notification": {
|
||||
"version": "git+https://github.com/moodlemobile/cordova-plugin-local-notification.git#c7430c4f4f8b8c82d051aea49d87da0b4f6a8b1e",
|
||||
|
@ -5243,8 +5224,7 @@
|
|||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
|
@ -5262,13 +5242,11 @@
|
|||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -5281,18 +5259,15 @@
|
|||
},
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
|
@ -5395,8 +5370,7 @@
|
|||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
|
@ -5406,7 +5380,6 @@
|
|||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
|
@ -5419,20 +5392,17 @@
|
|||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
|
@ -5449,7 +5419,6 @@
|
|||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
|
@ -5528,8 +5497,7 @@
|
|||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
|
@ -5539,7 +5507,6 @@
|
|||
"once": {
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -5615,8 +5582,7 @@
|
|||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
|
@ -5646,7 +5612,6 @@
|
|||
"string-width": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
|
@ -5664,7 +5629,6 @@
|
|||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
|
@ -5703,13 +5667,11 @@
|
|||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.3",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
"bundled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -6136,8 +6098,7 @@
|
|||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
|
@ -6158,14 +6119,12 @@
|
|||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -6180,20 +6139,17 @@
|
|||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
|
@ -6310,8 +6266,7 @@
|
|||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
|
@ -6323,7 +6278,6 @@
|
|||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
|
@ -6338,7 +6292,6 @@
|
|||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
|
@ -6346,14 +6299,12 @@
|
|||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
|
@ -6372,7 +6323,6 @@
|
|||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
|
@ -6453,8 +6403,7 @@
|
|||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
|
@ -6466,7 +6415,6 @@
|
|||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -6552,8 +6500,7 @@
|
|||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
|
@ -6589,7 +6536,6 @@
|
|||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
|
@ -6609,7 +6555,6 @@
|
|||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
|
@ -6653,14 +6598,12 @@
|
|||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -12926,8 +12869,7 @@
|
|||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
|
@ -12948,14 +12890,12 @@
|
|||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
|
@ -12970,20 +12910,17 @@
|
|||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
|
@ -13100,8 +13037,7 @@
|
|||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
|
@ -13113,7 +13049,6 @@
|
|||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
|
@ -13128,7 +13063,6 @@
|
|||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
|
@ -13136,14 +13070,12 @@
|
|||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
|
@ -13162,7 +13094,6 @@
|
|||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
|
@ -13243,8 +13174,7 @@
|
|||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
|
@ -13256,7 +13186,6 @@
|
|||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
|
@ -13342,8 +13271,7 @@
|
|||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
|
@ -13379,7 +13307,6 @@
|
|||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
|
@ -13399,7 +13326,6 @@
|
|||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
|
@ -13443,14 +13369,12 @@
|
|||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
178
package.json
178
package.json
|
@ -40,106 +40,106 @@
|
|||
"windows.store": "npx electron-windows-store --input-directory .\\desktop\\dist\\win-unpacked --output-directory .\\desktop\\store -a .\\resources\\desktop -m .\\desktop\\assets\\windows\\AppXManifest.xml --package-version 0.0.0.0 --package-name MoodleDesktop"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "^5.2.10",
|
||||
"@angular/common": "^5.2.10",
|
||||
"@angular/compiler": "^5.2.10",
|
||||
"@angular/compiler-cli": "^5.2.10",
|
||||
"@angular/core": "^5.2.10",
|
||||
"@angular/forms": "^5.2.10",
|
||||
"@angular/http": "^5.2.10",
|
||||
"@angular/platform-browser": "^5.2.10",
|
||||
"@angular/platform-browser-dynamic": "^5.2.10",
|
||||
"@ionic-native/badge": "^4.17.0",
|
||||
"@ionic-native/camera": "^4.17.0",
|
||||
"@ionic-native/clipboard": "^4.17.0",
|
||||
"@ionic-native/core": "^4.11.0",
|
||||
"@ionic-native/device": "^4.17.0",
|
||||
"@ionic-native/file": "^4.17.0",
|
||||
"@ionic-native/file-opener": "^4.17.0",
|
||||
"@ionic-native/file-transfer": "^4.17.0",
|
||||
"@angular/animations": "5.2.10",
|
||||
"@angular/common": "5.2.10",
|
||||
"@angular/compiler": "5.2.10",
|
||||
"@angular/compiler-cli": "5.2.10",
|
||||
"@angular/core": "5.2.10",
|
||||
"@angular/forms": "5.2.10",
|
||||
"@angular/http": "5.2.10",
|
||||
"@angular/platform-browser": "5.2.10",
|
||||
"@angular/platform-browser-dynamic": "5.2.10",
|
||||
"@ionic-native/badge": "4.17.0",
|
||||
"@ionic-native/camera": "4.17.0",
|
||||
"@ionic-native/clipboard": "4.17.0",
|
||||
"@ionic-native/core": "4.11.0",
|
||||
"@ionic-native/device": "4.17.0",
|
||||
"@ionic-native/file": "4.17.0",
|
||||
"@ionic-native/file-opener": "4.17.0",
|
||||
"@ionic-native/file-transfer": "4.17.0",
|
||||
"@ionic-native/geolocation": "4.17.0",
|
||||
"@ionic-native/globalization": "^4.17.0",
|
||||
"@ionic-native/in-app-browser": "^4.17.0",
|
||||
"@ionic-native/keyboard": "^4.17.0",
|
||||
"@ionic-native/local-notifications": "^4.17.0",
|
||||
"@ionic-native/media-capture": "^4.17.0",
|
||||
"@ionic-native/network": "^4.17.0",
|
||||
"@ionic-native/push": "^4.17.0",
|
||||
"@ionic-native/screen-orientation": "^4.17.0",
|
||||
"@ionic-native/splash-screen": "^4.17.0",
|
||||
"@ionic-native/sqlite": "^4.17.0",
|
||||
"@ionic-native/status-bar": "^4.17.0",
|
||||
"@ionic-native/web-intent": "^4.17.0",
|
||||
"@ionic-native/zip": "^4.17.0",
|
||||
"@ngx-translate/core": "^8.0.0",
|
||||
"@ngx-translate/http-loader": "^2.0.1",
|
||||
"@types/cordova": "^0.0.34",
|
||||
"@types/cordova-plugin-file-transfer": "^0.0.3",
|
||||
"@types/cordova-plugin-globalization": "^0.0.3",
|
||||
"@types/cordova-plugin-network-information": "^0.0.3",
|
||||
"@types/node": "^8.10.19",
|
||||
"@types/promise.prototype.finally": "^2.0.2",
|
||||
"ajv": "^6.10.2",
|
||||
"chart.js": "^2.7.2",
|
||||
"com-darryncampbell-cordova-plugin-intent": "^1.1.7",
|
||||
"@ionic-native/globalization": "4.17.0",
|
||||
"@ionic-native/in-app-browser": "4.17.0",
|
||||
"@ionic-native/keyboard": "4.17.0",
|
||||
"@ionic-native/local-notifications": "4.17.0",
|
||||
"@ionic-native/media-capture": "4.17.0",
|
||||
"@ionic-native/network": "4.17.0",
|
||||
"@ionic-native/push": "4.17.0",
|
||||
"@ionic-native/screen-orientation": "4.17.0",
|
||||
"@ionic-native/splash-screen": "4.17.0",
|
||||
"@ionic-native/sqlite": "4.17.0",
|
||||
"@ionic-native/status-bar": "4.17.0",
|
||||
"@ionic-native/web-intent": "4.17.0",
|
||||
"@ionic-native/zip": "4.17.0",
|
||||
"@ngx-translate/core": "8.0.0",
|
||||
"@ngx-translate/http-loader": "2.0.1",
|
||||
"@types/cordova": "0.0.34",
|
||||
"@types/cordova-plugin-file-transfer": "0.0.3",
|
||||
"@types/cordova-plugin-globalization": "0.0.3",
|
||||
"@types/cordova-plugin-network-information": "0.0.3",
|
||||
"@types/node": "8.10.19",
|
||||
"@types/promise.prototype.finally": "2.0.2",
|
||||
"ajv": "6.10.2",
|
||||
"chart.js": "2.7.2",
|
||||
"com-darryncampbell-cordova-plugin-intent": "1.3.0",
|
||||
"cordova": "9.0.0",
|
||||
"cordova-android": "8.0.0",
|
||||
"cordova-android-support-gradle-release": "^3.0.1",
|
||||
"cordova-clipboard": "^1.3.0",
|
||||
"cordova-android-support-gradle-release": "3.0.1",
|
||||
"cordova-clipboard": "1.3.0",
|
||||
"cordova-ios": "5.0.1",
|
||||
"cordova-plugin-badge": "^0.8.8",
|
||||
"cordova-plugin-camera": "^4.1.0",
|
||||
"cordova-plugin-customurlscheme": "^4.4.0",
|
||||
"cordova-plugin-device": "^2.0.3",
|
||||
"cordova-plugin-file": "^6.0.2",
|
||||
"cordova-plugin-file-opener2": "^2.2.1",
|
||||
"cordova-plugin-file-transfer": "^1.7.1",
|
||||
"cordova-plugin-geolocation": "^4.0.2",
|
||||
"cordova-plugin-globalization": "^1.11.0",
|
||||
"cordova-plugin-inappbrowser": "^3.1.0",
|
||||
"cordova-plugin-ionic-keyboard": "^2.1.3",
|
||||
"cordova-plugin-badge": "0.8.8",
|
||||
"cordova-plugin-camera": "4.1.0",
|
||||
"cordova-plugin-customurlscheme": "4.4.0",
|
||||
"cordova-plugin-device": "2.0.3",
|
||||
"cordova-plugin-file": "6.0.2",
|
||||
"cordova-plugin-file-opener2": "2.2.1",
|
||||
"cordova-plugin-file-transfer": "1.7.1",
|
||||
"cordova-plugin-geolocation": "4.0.2",
|
||||
"cordova-plugin-globalization": "1.11.0",
|
||||
"cordova-plugin-inappbrowser": "3.1.0",
|
||||
"cordova-plugin-ionic-keyboard": "2.2.0",
|
||||
"cordova-plugin-local-notification": "git+https://github.com/moodlemobile/cordova-plugin-local-notification.git#moodle",
|
||||
"cordova-plugin-media-capture": "^3.0.3",
|
||||
"cordova-plugin-network-information": "^2.0.2",
|
||||
"cordova-plugin-screen-orientation": "^3.0.2",
|
||||
"cordova-plugin-splashscreen": "^5.0.3",
|
||||
"cordova-plugin-statusbar": "^2.4.3",
|
||||
"cordova-plugin-whitelist": "^1.3.4",
|
||||
"cordova-plugin-zip": "^3.1.0",
|
||||
"cordova-sqlite-storage": "^3.4.0",
|
||||
"cordova-support-google-services": "^1.2.1",
|
||||
"es6-promise-plugin": "^4.2.2",
|
||||
"font-awesome": "^4.7.0",
|
||||
"cordova-plugin-media-capture": "3.0.3",
|
||||
"cordova-plugin-network-information": "2.0.2",
|
||||
"cordova-plugin-screen-orientation": "3.0.2",
|
||||
"cordova-plugin-splashscreen": "5.0.3",
|
||||
"cordova-plugin-statusbar": "2.4.3",
|
||||
"cordova-plugin-whitelist": "1.3.4",
|
||||
"cordova-plugin-zip": "3.1.0",
|
||||
"cordova-sqlite-storage": "3.4.0",
|
||||
"cordova-support-google-services": "1.2.1",
|
||||
"es6-promise-plugin": "4.2.2",
|
||||
"font-awesome": "4.7.0",
|
||||
"ionic-angular": "3.9.3",
|
||||
"ionicons": "^3.0.0",
|
||||
"jszip": "^3.1.5",
|
||||
"ionicons": "3.0.0",
|
||||
"jszip": "3.1.5",
|
||||
"mathjax": "2.7.2",
|
||||
"moment": "^2.22.2",
|
||||
"nl.kingsquare.cordova.background-audio": "^1.0.1",
|
||||
"phonegap-plugin-multidex": "^1.0.0",
|
||||
"moment": "2.22.2",
|
||||
"nl.kingsquare.cordova.background-audio": "1.0.1",
|
||||
"phonegap-plugin-multidex": "1.0.0",
|
||||
"phonegap-plugin-push": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v3",
|
||||
"promise.prototype.finally": "^3.1.0",
|
||||
"rxjs": "^5.5.11",
|
||||
"sw-toolbox": "^3.6.0",
|
||||
"ts-md5": "^1.2.4",
|
||||
"web-animations-js": "^2.3.1",
|
||||
"zone.js": "^0.8.26"
|
||||
"promise.prototype.finally": "3.1.0",
|
||||
"rxjs": "5.5.11",
|
||||
"sw-toolbox": "3.6.0",
|
||||
"ts-md5": "1.2.4",
|
||||
"web-animations-js": "2.3.1",
|
||||
"zone.js": "0.8.26"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ionic/app-scripts": "3.2.2",
|
||||
"electron-builder-lib": "^20.23.1",
|
||||
"electron-rebuild": "^1.8.1",
|
||||
"electron-builder-lib": "20.23.1",
|
||||
"electron-rebuild": "1.8.1",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-clip-empty-files": "^0.1.2",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-flatten": "^0.4.0",
|
||||
"gulp-rename": "^1.3.0",
|
||||
"gulp-slash": "^1.1.3",
|
||||
"gulp-util": "^3.0.8",
|
||||
"node-loader": "^0.6.0",
|
||||
"through": "^2.3.8",
|
||||
"typescript": "^2.6.2",
|
||||
"webpack-merge": "^4.1.2"
|
||||
"gulp-clip-empty-files": "0.1.2",
|
||||
"gulp-concat": "2.6.1",
|
||||
"gulp-flatten": "0.4.0",
|
||||
"gulp-rename": "1.3.0",
|
||||
"gulp-slash": "1.1.3",
|
||||
"gulp-util": "3.0.8",
|
||||
"node-loader": "0.6.0",
|
||||
"through": "2.3.8",
|
||||
"typescript": "2.6.2",
|
||||
"webpack-merge": "4.1.2"
|
||||
},
|
||||
"browser": {
|
||||
"electron": false
|
||||
|
@ -243,4 +243,4 @@
|
|||
"deleteAppDataOnUninstall": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -327,7 +327,7 @@ export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implem
|
|||
/**
|
||||
* Set selected courses filter.
|
||||
*
|
||||
* @param {string} filter Filter name to set.
|
||||
* @param filter Filter name to set.
|
||||
*/
|
||||
protected setCourseFilter(filter: string): void {
|
||||
this.selectedFilter = filter;
|
||||
|
|
|
@ -437,8 +437,6 @@ export class AddonCalendarListPage implements OnDestroy {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
protected filterEvents(): void {
|
||||
this.filteredEvents = this.calendarHelper.getFilteredEvents(this.events, this.filter, this.categories);
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ export class AddonModDataFieldLatlongComponent extends AddonModDataFieldPluginCo
|
|||
/**
|
||||
* Get user location.
|
||||
*
|
||||
* @param {Event} $event The event.
|
||||
* @param $event The event.
|
||||
*/
|
||||
getLocation(event: Event): void {
|
||||
event.preventDefault();
|
||||
|
|
|
@ -600,7 +600,7 @@ export class AddonModForumProvider {
|
|||
* @param siteId Site ID. If not defined, current site.
|
||||
* @return Promise resolved with an object with:
|
||||
* - discussions: List of discussions. Note that for every discussion in the list discussion.id is the main post ID but
|
||||
* discussion ID is discussion.discussion.
|
||||
* discussion ID is discussion.discussion.
|
||||
* - canLoadMore: True if there may be more discussions to load.
|
||||
*/
|
||||
getDiscussions(forumId: number, sortOrder?: number, page: number = 0, forceCache?: boolean, siteId?: string): Promise<any> {
|
||||
|
|
|
@ -1905,7 +1905,7 @@ export class CoreSite {
|
|||
* Get a certain cache expiration delay.
|
||||
*
|
||||
* @param updateFrequency The update frequency of the entry.
|
||||
* @return {number} Expiration delay.
|
||||
* @return Expiration delay.
|
||||
*/
|
||||
getExpirationDelay(updateFrequency?: number): number {
|
||||
let expirationDelay = this.UPDATE_FREQUENCIES[updateFrequency] || this.UPDATE_FREQUENCIES[CoreSite.FREQUENCY_USUALLY];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div [class.core-loading-container]="loading" [ngStyle]="{'width': iframeWidth, 'height': iframeHeight}">
|
||||
<iframe #iframe [hidden]="loading" class="core-iframe" [ngStyle]="{'width': iframeWidth, 'height': iframeHeight}" [src]="safeUrl"></iframe>
|
||||
<iframe #iframe [hidden]="loading" class="core-iframe" [ngStyle]="{'width': iframeWidth, 'height': iframeHeight}" [src]="safeUrl" [attr.allowfullscreen]="allowFullscreen ? 'allowfullscreen' : null"></iframe>
|
||||
<span class="core-loading-spinner">
|
||||
<ion-spinner *ngIf="loading"></ion-spinner>
|
||||
</span>
|
||||
|
|
|
@ -21,6 +21,7 @@ import { CoreLoggerProvider } from '@providers/logger';
|
|||
import { CoreDomUtilsProvider } from '@providers/utils/dom';
|
||||
import { CoreUrlUtilsProvider } from '@providers/utils/url';
|
||||
import { CoreIframeUtilsProvider } from '@providers/utils/iframe';
|
||||
import { CoreUtilsProvider } from '@providers/utils/utils';
|
||||
import { CoreSplitViewComponent } from '@components/split-view/split-view';
|
||||
|
||||
@Component({
|
||||
|
@ -33,6 +34,7 @@ export class CoreIframeComponent implements OnInit, OnChanges {
|
|||
@Input() src: string;
|
||||
@Input() iframeWidth: string;
|
||||
@Input() iframeHeight: string;
|
||||
@Input() allowFullscreen: boolean | string;
|
||||
@Output() loaded?: EventEmitter<HTMLIFrameElement> = new EventEmitter<HTMLIFrameElement>();
|
||||
loading: boolean;
|
||||
safeUrl: SafeResourceUrl;
|
||||
|
@ -46,6 +48,7 @@ export class CoreIframeComponent implements OnInit, OnChanges {
|
|||
protected sanitizer: DomSanitizer,
|
||||
protected navCtrl: NavController,
|
||||
protected urlUtils: CoreUrlUtilsProvider,
|
||||
protected utils: CoreUtilsProvider,
|
||||
@Optional() protected svComponent: CoreSplitViewComponent) {
|
||||
|
||||
this.logger = logger.getInstance('CoreIframe');
|
||||
|
@ -60,6 +63,7 @@ export class CoreIframeComponent implements OnInit, OnChanges {
|
|||
|
||||
this.iframeWidth = this.domUtils.formatPixelsSize(this.iframeWidth) || '100%';
|
||||
this.iframeHeight = this.domUtils.formatPixelsSize(this.iframeHeight) || '100%';
|
||||
this.allowFullscreen = this.utils.isTrueOrOne(this.allowFullscreen);
|
||||
|
||||
// Show loading only with external URLs.
|
||||
this.loading = !this.src || !!this.src.match(/^https?:\/\//i);
|
||||
|
|
|
@ -1127,7 +1127,7 @@ export class CoreCourseHelperProvider {
|
|||
* @param courseId Course ID. If not defined we'll try to retrieve it from the site.
|
||||
* @param sectionId Section the module belongs to. If not defined we'll try to retrieve it from the site.
|
||||
* @param useModNameToGetModule If true, the app will retrieve all modules of this type with a single WS call. This reduces the
|
||||
* number of WS calls, but it isn't recommended for modules that can return a lot of contents.
|
||||
* number of WS calls, but it isn't recommended for modules that can return a lot of contents.
|
||||
* @param modParams Params to pass to the module
|
||||
* @param navCtrl NavController for adding new pages to the current history. Optional for legacy support, but
|
||||
* generates a warning if omitted.
|
||||
|
|
|
@ -65,7 +65,7 @@ export class CoreFilterDefaultHandler implements CoreFilterHandler {
|
|||
/**
|
||||
* Whether or not the handler is enabled on a site level.
|
||||
*
|
||||
* @return {boolean|Promise<boolean>} Whether or not the handler is enabled on a site level.
|
||||
* @return Whether or not the handler is enabled on a site level.
|
||||
*/
|
||||
isEnabled(): boolean | Promise<boolean> {
|
||||
return true;
|
||||
|
|
|
@ -236,7 +236,7 @@ export class CoreFilterDelegate extends CoreDelegate {
|
|||
* @param filter Filter to check.
|
||||
* @param options Options passed to the filters.
|
||||
* @param site Site. If not defined, current site.
|
||||
* @return {Promise<boolean>} Promise resolved with true: whether the filter should be applied.
|
||||
* @return Promise resolved with true: whether the filter should be applied.
|
||||
*/
|
||||
shouldBeApplied(filters: CoreFilterFilter[], options: CoreFilterFormatTextOptions, site?: CoreSite): Promise<boolean> {
|
||||
// Wait for filters to be initialized.
|
||||
|
|
|
@ -681,8 +681,8 @@ export class CoreH5PContentValidator {
|
|||
* Processes an HTML tag.
|
||||
*
|
||||
* @param m An array with various meaning depending on the value of store.
|
||||
* If store is TRUE then the array contains the allowed tags.
|
||||
* If store is FALSE then the array has one element, the HTML tag to process.
|
||||
* If store is TRUE then the array contains the allowed tags.
|
||||
* If store is FALSE then the array has one element, the HTML tag to process.
|
||||
* @param store Whether to store m.
|
||||
* @return string If the element isn't allowed, an empty string. Otherwise, the cleaned up version of the HTML element.
|
||||
*/
|
||||
|
|
|
@ -9,5 +9,5 @@
|
|||
<core-download-refresh [status]="state" [enabled]="canDownload" [loading]="calculating" [canTrustDownload]="true" (action)="download()"></core-download-refresh>
|
||||
</div>
|
||||
</div>
|
||||
<core-iframe *ngIf="showPackage" [src]="playerSrc" iframeHeight="auto"></core-iframe>
|
||||
<core-iframe *ngIf="showPackage" [src]="playerSrc" iframeHeight="auto" [allowFullscreen]="true" (loaded)="sendHello($event)"></core-iframe>
|
||||
<script *ngIf="resizeScript && showPackage" type="text/javascript" [src]="resizeScript"></script>
|
||||
|
|
|
@ -10,7 +10,7 @@ ion-app.app-root core-h5p-player {
|
|||
background: url('../assets/img/icons/h5p.svg') center top 25px / 100px auto no-repeat $core-h5p-placeholder-bg-color;
|
||||
color: $core-h5p-placeholder-text-color;
|
||||
|
||||
.icon {
|
||||
.icon:not([color="success"]) {
|
||||
color: $core-h5p-placeholder-text-color;
|
||||
}
|
||||
|
||||
|
|
|
@ -106,8 +106,6 @@ export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy {
|
|||
|
||||
let promise;
|
||||
|
||||
this.addResizerScript();
|
||||
|
||||
if (this.canDownload && this.fileHelper.isStateDownloaded(this.state)) {
|
||||
// Package is downloaded, use the local URL.
|
||||
promise = this.h5pProvider.getContentIndexFileUrl(this.urlParams.url, this.urlParams, this.siteId).catch(() => {
|
||||
|
@ -145,6 +143,7 @@ export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy {
|
|||
});
|
||||
}
|
||||
}).finally(() => {
|
||||
this.addResizerScript();
|
||||
this.loading = false;
|
||||
this.showPackage = true;
|
||||
|
||||
|
@ -211,6 +210,11 @@ export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy {
|
|||
* Add the resizer script if it hasn't been added already.
|
||||
*/
|
||||
protected addResizerScript(): void {
|
||||
if (document.head.querySelector('#core-h5p-resizer-script') != null) {
|
||||
// Script already added, don't add it again.
|
||||
return;
|
||||
}
|
||||
|
||||
const script = document.createElement('script');
|
||||
script.id = 'core-h5p-resizer-script';
|
||||
script.type = 'text/javascript';
|
||||
|
@ -264,6 +268,20 @@ export class CoreH5PPlayerComponent implements OnInit, OnChanges, OnDestroy {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Send hello to the H5P iframe.
|
||||
*
|
||||
* @param iframe The iframe.
|
||||
*/
|
||||
sendHello(iframe?: HTMLIFrameElement): void {
|
||||
const ready = {
|
||||
context: 'h5p',
|
||||
action: 'ready'
|
||||
};
|
||||
|
||||
iframe.contentWindow.postMessage(ready, '*');
|
||||
}
|
||||
|
||||
/**
|
||||
* Component destroyed.
|
||||
*/
|
||||
|
|
|
@ -66,7 +66,7 @@ export class CoreH5PPluginFileHandler implements CorePluginFileHandler {
|
|||
* CoreFilepoolProvider.extractDownloadableFilesFromHtml.
|
||||
*
|
||||
* @param container Container where to get the URLs from.
|
||||
* @return {string[]} List of URLs.
|
||||
* @return List of URLs.
|
||||
*/
|
||||
getDownloadableFilesFromHTML(container: HTMLElement): string[] {
|
||||
const iframes = <HTMLIFrameElement[]> Array.from(container.querySelectorAll('iframe.h5p-iframe'));
|
||||
|
|
|
@ -164,7 +164,7 @@ export class CoreAppProvider {
|
|||
/**
|
||||
* Returns whether the user agent is controlled by automation. I.e. Behat testing.
|
||||
*
|
||||
* @return {boolean} True if the user agent is controlled by automation, false otherwise.
|
||||
* @return True if the user agent is controlled by automation, false otherwise.
|
||||
*/
|
||||
static isAutomated(): boolean {
|
||||
return !!navigator.webdriver;
|
||||
|
|
|
@ -71,7 +71,7 @@ export interface CorePluginFileHandler extends CoreDelegateHandler {
|
|||
* CoreFilepoolProvider.extractDownloadableFilesFromHtml.
|
||||
*
|
||||
* @param container Container where to get the URLs from.
|
||||
* @return {string[]} List of URLs.
|
||||
* @return List of URLs.
|
||||
*/
|
||||
getDownloadableFilesFromHTML?(container: HTMLElement): string[];
|
||||
|
||||
|
|
|
@ -78,8 +78,8 @@ export class CoreTextUtilsProvider {
|
|||
/**
|
||||
* Add ending slash from a path or URL.
|
||||
*
|
||||
* @param {string} text Text to treat.
|
||||
* @return {string} Treated text.
|
||||
* @param text Text to treat.
|
||||
* @return Treated text.
|
||||
*/
|
||||
addEndingSlash(text: string): string {
|
||||
if (!text) {
|
||||
|
@ -742,7 +742,7 @@ export class CoreTextUtilsProvider {
|
|||
* @param replace The value to put inside the string.
|
||||
* @param start The index where to start putting the new string. If negative, it will count from the end of the string.
|
||||
* @param length Length of the portion of string which is to be replaced. If negative, it represents the number of characters
|
||||
* from the end of string at which to stop replacing. If not provided, replace until the end of the string.
|
||||
* from the end of string at which to stop replacing. If not provided, replace until the end of the string.
|
||||
* @return Treated string.
|
||||
*/
|
||||
substrReplace(str: string, replace: string, start: number, length?: number): string {
|
||||
|
|
Loading…
Reference in New Issue