MOBILE-3947 app: Upgrade to Ionic 7
parent
ba50fb8d6e
commit
dbb3db08ae
74
.eslintrc.js
74
.eslintrc.js
|
@ -5,6 +5,7 @@ const appConfig = {
|
||||||
node: true,
|
node: true,
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
|
'@angular-eslint',
|
||||||
'@typescript-eslint',
|
'@typescript-eslint',
|
||||||
'header',
|
'header',
|
||||||
'jsdoc',
|
'jsdoc',
|
||||||
|
@ -13,12 +14,12 @@ const appConfig = {
|
||||||
],
|
],
|
||||||
extends: [
|
extends: [
|
||||||
'eslint:recommended',
|
'eslint:recommended',
|
||||||
|
'plugin:@typescript-eslint/eslint-recommended',
|
||||||
'plugin:@typescript-eslint/recommended',
|
'plugin:@typescript-eslint/recommended',
|
||||||
'prettier',
|
|
||||||
'plugin:@angular-eslint/recommended',
|
'plugin:@angular-eslint/recommended',
|
||||||
'plugin:promise/recommended',
|
'plugin:promise/recommended',
|
||||||
'plugin:jsdoc/recommended',
|
'plugin:jsdoc/recommended',
|
||||||
"plugin:deprecation/recommended",
|
'plugin:deprecation/recommended',
|
||||||
],
|
],
|
||||||
parser: '@typescript-eslint/parser',
|
parser: '@typescript-eslint/parser',
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
|
@ -61,16 +62,6 @@ const appConfig = {
|
||||||
allowArgumentsExplicitlyTypedAsAny: true,
|
allowArgumentsExplicitlyTypedAsAny: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'@typescript-eslint/indent': [
|
|
||||||
'error',
|
|
||||||
4,
|
|
||||||
{
|
|
||||||
SwitchCase: 1,
|
|
||||||
ignoredNodes: [
|
|
||||||
'ClassProperty *',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
'@typescript-eslint/lines-between-class-members': [
|
'@typescript-eslint/lines-between-class-members': [
|
||||||
'error',
|
'error',
|
||||||
'always',
|
'always',
|
||||||
|
@ -103,6 +94,20 @@ const appConfig = {
|
||||||
],
|
],
|
||||||
'@typescript-eslint/naming-convention': [
|
'@typescript-eslint/naming-convention': [
|
||||||
'error',
|
'error',
|
||||||
|
{
|
||||||
|
selector: [
|
||||||
|
'classProperty',
|
||||||
|
'objectLiteralProperty',
|
||||||
|
'typeProperty',
|
||||||
|
'classMethod',
|
||||||
|
'objectLiteralMethod',
|
||||||
|
'typeMethod',
|
||||||
|
'accessor',
|
||||||
|
'enumMember'
|
||||||
|
],
|
||||||
|
modifiers: ['requiresQuotes'],
|
||||||
|
format: null,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
selector: 'property',
|
selector: 'property',
|
||||||
format: ['camelCase'],
|
format: ['camelCase'],
|
||||||
|
@ -200,17 +205,6 @@ const appConfig = {
|
||||||
],
|
],
|
||||||
'id-match': 'error',
|
'id-match': 'error',
|
||||||
'jsdoc/check-alignment': 'error',
|
'jsdoc/check-alignment': 'error',
|
||||||
'jsdoc/newline-after-description': 'error',
|
|
||||||
'jsdoc/require-param-type': 'off',
|
|
||||||
'jsdoc/require-returns-type': 'off',
|
|
||||||
'jsdoc/require-param': 'off',
|
|
||||||
'jsdoc/check-values': 'off',
|
|
||||||
'jsdoc/check-tag-names': [
|
|
||||||
'warn',
|
|
||||||
{
|
|
||||||
"definedTags": ["deprecatedonmoodle"]
|
|
||||||
},
|
|
||||||
],
|
|
||||||
'jsdoc/check-param-names': [
|
'jsdoc/check-param-names': [
|
||||||
'warn',
|
'warn',
|
||||||
{
|
{
|
||||||
|
@ -218,6 +212,23 @@ const appConfig = {
|
||||||
enableFixer: true
|
enableFixer: true
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
'jsdoc/check-tag-names': [
|
||||||
|
'warn',
|
||||||
|
{
|
||||||
|
'definedTags': ['deprecatedonmoodle']
|
||||||
|
},
|
||||||
|
],
|
||||||
|
'jsdoc/check-values': 'off',
|
||||||
|
'jsdoc/require-param-type': 'off',
|
||||||
|
'jsdoc/require-param': 'off',
|
||||||
|
'jsdoc/require-returns-type': 'off',
|
||||||
|
'jsdoc/tag-lines': [
|
||||||
|
'error',
|
||||||
|
'any',
|
||||||
|
{
|
||||||
|
startLines: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
'linebreak-style': [
|
'linebreak-style': [
|
||||||
'error',
|
'error',
|
||||||
'unix',
|
'unix',
|
||||||
|
@ -240,7 +251,7 @@ const appConfig = {
|
||||||
'no-fallthrough': 'off',
|
'no-fallthrough': 'off',
|
||||||
'no-invalid-this': 'error',
|
'no-invalid-this': 'error',
|
||||||
'no-irregular-whitespace': 'error',
|
'no-irregular-whitespace': 'error',
|
||||||
'no-multiple-empty-lines': ['error', { "max": 1 }],
|
'no-multiple-empty-lines': ['error', { max: 1 }],
|
||||||
'no-new-wrappers': 'error',
|
'no-new-wrappers': 'error',
|
||||||
'no-sequences': 'error',
|
'no-sequences': 'error',
|
||||||
'no-trailing-spaces': 'error',
|
'no-trailing-spaces': 'error',
|
||||||
|
@ -318,15 +329,14 @@ module.exports = {
|
||||||
files: ['*.html'],
|
files: ['*.html'],
|
||||||
extends: ['plugin:@angular-eslint/template/recommended'],
|
extends: ['plugin:@angular-eslint/template/recommended'],
|
||||||
rules: {
|
rules: {
|
||||||
'max-len': ['warn', { code: 140 }],
|
'@angular-eslint/template/alt-text': 'error',
|
||||||
'@angular-eslint/template/accessibility-valid-aria': 'warn',
|
'@angular-eslint/template/elements-content': 'error',
|
||||||
'@angular-eslint/template/accessibility-alt-text': 'error',
|
'@angular-eslint/template/label-has-associated-control': 'error',
|
||||||
'@angular-eslint/template/accessibility-elements-content': 'error',
|
'@angular-eslint/template/table-scope': 'error',
|
||||||
'@angular-eslint/template/accessibility-label-for': 'error',
|
'@angular-eslint/template/valid-aria': 'error',
|
||||||
'@angular-eslint/template/no-positive-tabindex': 'error',
|
|
||||||
'@angular-eslint/template/accessibility-table-scope': 'error',
|
|
||||||
'@angular-eslint/template/accessibility-valid-aria': 'error',
|
|
||||||
'@angular-eslint/template/no-duplicate-attributes': 'error',
|
'@angular-eslint/template/no-duplicate-attributes': 'error',
|
||||||
|
'@angular-eslint/template/no-positive-tabindex': 'error',
|
||||||
|
'max-len': ['warn', { code: 140 }],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,8 +8,8 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
- name: Install npm packages
|
- name: Install npm packages
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## BUILD STAGE
|
## BUILD STAGE
|
||||||
FROM node:14 as build-stage
|
FROM node:18 as build-stage
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
// (C) Copyright 2015 Moodle Pty Ltd.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// Based on the template node_modules/cordova-android/bin/templates/project/Activity.java
|
|
||||||
|
|
||||||
package com.moodle.moodlemobile;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.KeyEvent;
|
|
||||||
import android.view.View;
|
|
||||||
import org.apache.cordova.*;
|
|
||||||
|
|
||||||
public class MainActivity extends CordovaActivity
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState)
|
|
||||||
{
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
// enable Cordova apps to be started in the background
|
|
||||||
Bundle extras = getIntent().getExtras();
|
|
||||||
if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
|
|
||||||
moveTaskToBack(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set by <content src="index.html" /> in config.xml
|
|
||||||
loadUrl(launchUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean dispatchKeyEvent(KeyEvent event) {
|
|
||||||
// Forward back key events to the web view.
|
|
||||||
if (this.appView != null && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
|
|
||||||
View webview = this.appView.getView();
|
|
||||||
|
|
||||||
if (webview != null) {
|
|
||||||
webview.dispatchKeyEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.dispatchKeyEvent(event);
|
|
||||||
}
|
|
||||||
}
|
|
56
angular.json
56
angular.json
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"defaultProject": "app",
|
|
||||||
"newProjectRoot": "projects",
|
"newProjectRoot": "projects",
|
||||||
"projects": {
|
"projects": {
|
||||||
"app": {
|
"app": {
|
||||||
|
@ -12,13 +11,10 @@
|
||||||
"schematics": {},
|
"schematics": {},
|
||||||
"architect": {
|
"architect": {
|
||||||
"build": {
|
"build": {
|
||||||
"builder": "@angular-builders/custom-webpack:browser",
|
"builder": "@angular-devkit/build-angular:browser",
|
||||||
"options": {
|
"options": {
|
||||||
"customWebpackConfig": {
|
|
||||||
"path": "./webpack.config.js"
|
|
||||||
},
|
|
||||||
"allowedCommonJsDependencies":[
|
"allowedCommonJsDependencies":[
|
||||||
"chart.js"
|
"chart.js"
|
||||||
],
|
],
|
||||||
"outputPath": "www",
|
"outputPath": "www",
|
||||||
"index": "src/index.html",
|
"index": "src/index.html",
|
||||||
|
@ -63,12 +59,6 @@
|
||||||
},
|
},
|
||||||
"outputHashing": "all",
|
"outputHashing": "all",
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"extractCss": true,
|
|
||||||
"namedChunks": false,
|
|
||||||
"aot": true,
|
|
||||||
"extractLicenses": true,
|
|
||||||
"vendorChunk": false,
|
|
||||||
"buildOptimizer": true,
|
|
||||||
"budgets": [
|
"budgets": [
|
||||||
{
|
{
|
||||||
"type": "initial",
|
"type": "initial",
|
||||||
|
@ -77,24 +67,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"development": {
|
||||||
|
"buildOptimizer": false,
|
||||||
|
"optimization": false,
|
||||||
|
"vendorChunk": true,
|
||||||
|
"extractLicenses": false,
|
||||||
|
"sourceMap": true,
|
||||||
|
"namedChunks": true
|
||||||
|
},
|
||||||
"testing": {
|
"testing": {
|
||||||
"optimization": {
|
"optimization": {
|
||||||
"scripts": false,
|
"scripts": false,
|
||||||
"styles": true
|
"styles": true
|
||||||
},
|
}
|
||||||
"outputHashing": "all",
|
|
||||||
"sourceMap": false,
|
|
||||||
"extractCss": true,
|
|
||||||
"namedChunks": false,
|
|
||||||
"aot": true,
|
|
||||||
"extractLicenses": true,
|
|
||||||
"vendorChunk": false,
|
|
||||||
"buildOptimizer": true
|
|
||||||
},
|
},
|
||||||
"ci": {
|
"ci": {
|
||||||
"progress": false
|
"progress": false
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"defaultConfiguration": "production"
|
||||||
},
|
},
|
||||||
"serve": {
|
"serve": {
|
||||||
"builder": "@angular-devkit/build-angular:dev-server",
|
"builder": "@angular-devkit/build-angular:dev-server",
|
||||||
|
@ -107,10 +98,11 @@
|
||||||
"production": {
|
"production": {
|
||||||
"browserTarget": "app:build:production"
|
"browserTarget": "app:build:production"
|
||||||
},
|
},
|
||||||
"ci": {
|
"development": {
|
||||||
"progress": false
|
"browserTarget": "app:build:development"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"defaultConfiguration": "development"
|
||||||
},
|
},
|
||||||
"extract-i18n": {
|
"extract-i18n": {
|
||||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||||
|
@ -122,14 +114,14 @@
|
||||||
"builder": "@angular-eslint/builder:lint",
|
"builder": "@angular-eslint/builder:lint",
|
||||||
"options": {
|
"options": {
|
||||||
"lintFilePatterns": [
|
"lintFilePatterns": [
|
||||||
"src/**/*.ts",
|
"src/**/*.ts",
|
||||||
"src/core/**/*.html",
|
"src/core/**/*.html",
|
||||||
"src/addons/**/*.html"
|
"src/addons/**/*.html"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ionic-cordova-build": {
|
"ionic-cordova-build": {
|
||||||
"builder": "@ionic/angular-toolkit:cordova-build",
|
"builder": "@ionic/cordova-builders:cordova-build",
|
||||||
"options": {
|
"options": {
|
||||||
"browserTarget": "app:build"
|
"browserTarget": "app:build"
|
||||||
},
|
},
|
||||||
|
@ -140,7 +132,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ionic-cordova-serve": {
|
"ionic-cordova-serve": {
|
||||||
"builder": "@ionic/angular-toolkit:cordova-serve",
|
"builder": "@ionic/cordova-builders:cordova-serve",
|
||||||
"options": {
|
"options": {
|
||||||
"cordovaBuildTarget": "app:ionic-cordova-build",
|
"cordovaBuildTarget": "app:ionic-cordova-build",
|
||||||
"devServerTarget": "app:serve"
|
"devServerTarget": "app:serve"
|
||||||
|
@ -157,7 +149,9 @@
|
||||||
},
|
},
|
||||||
"cli": {
|
"cli": {
|
||||||
"analytics": false,
|
"analytics": false,
|
||||||
"defaultCollection": "@ionic/angular-toolkit"
|
"schematicCollections": [
|
||||||
|
"@ionic/angular-toolkit"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"schematics": {
|
"schematics": {
|
||||||
"@ionic/angular-toolkit:component": {
|
"@ionic/angular-toolkit:component": {
|
||||||
|
|
123
config.xml
123
config.xml
|
@ -1,5 +1,5 @@
|
||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
<widget android-versionCode="44000" id="com.moodle.moodlemobile" ios-CFBundleVersion="4.4.0.0" version="4.4.0" versionCode="44000" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
<widget id="com.moodle.moodlemobile" version="4.4.0" versionCode="44000" android-versionCode="44000" ios-CFBundleVersion="4.4.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||||
<name>Moodle</name>
|
<name>Moodle</name>
|
||||||
<description>Moodle official app</description>
|
<description>Moodle official app</description>
|
||||||
<author email="mobile@moodle.com" href="http://moodle.com">Moodle Mobile team</author>
|
<author email="mobile@moodle.com" href="http://moodle.com">Moodle Mobile team</author>
|
||||||
|
@ -60,7 +60,6 @@
|
||||||
<preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/android/android-splash.xml" />
|
<preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/android/android-splash.xml" />
|
||||||
<preference name="AndroidWindowSplashScreenBackground" value="#FFFFFF" />
|
<preference name="AndroidWindowSplashScreenBackground" value="#FFFFFF" />
|
||||||
<preference name="AndroidWindowSplashScreenIconBackgroundColor" value="#FFFFFF" />
|
<preference name="AndroidWindowSplashScreenIconBackgroundColor" value="#FFFFFF" />
|
||||||
<resource-file src="MainActivity.java" target="app/src/main/java/com/moodle/moodlemobile/MainActivity.java" />
|
|
||||||
<resource-file src="google-services.json" target="app/google-services.json" />
|
<resource-file src="google-services.json" target="app/google-services.json" />
|
||||||
<resource-file src="resources/android/icon/drawable-ldpi-smallicon.png" target="app/src/main/res/mipmap-ldpi/smallicon.png" />
|
<resource-file src="resources/android/icon/drawable-ldpi-smallicon.png" target="app/src/main/res/mipmap-ldpi/smallicon.png" />
|
||||||
<resource-file src="resources/android/icon/drawable-mdpi-smallicon.png" target="app/src/main/res/mipmap-mdpi/smallicon.png" />
|
<resource-file src="resources/android/icon/drawable-mdpi-smallicon.png" target="app/src/main/res/mipmap-mdpi/smallicon.png" />
|
||||||
|
@ -68,136 +67,16 @@
|
||||||
<resource-file src="resources/android/icon/drawable-xhdpi-smallicon.png" target="app/src/main/res/mipmap-xhdpi/smallicon.png" />
|
<resource-file src="resources/android/icon/drawable-xhdpi-smallicon.png" target="app/src/main/res/mipmap-xhdpi/smallicon.png" />
|
||||||
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
|
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
|
||||||
<resource-file src="resources/android/xml/backup_rules.xml" target="app/src/main/res/xml/backup_rules.xml" />
|
<resource-file src="resources/android/xml/backup_rules.xml" target="app/src/main/res/xml/backup_rules.xml" />
|
||||||
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity[@android:name='MainActivity']">
|
|
||||||
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|screenLayout|smallestScreenSize" android:exported="true" />
|
|
||||||
</edit-config>
|
|
||||||
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
|
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
|
||||||
<application android:allowBackup="true" android:dataExtractionRules="@xml/backup_rules" android:largeHeap="true" android:networkSecurityConfig="@xml/network_security_config" />
|
<application android:allowBackup="true" android:dataExtractionRules="@xml/backup_rules" android:largeHeap="true" android:networkSecurityConfig="@xml/network_security_config" />
|
||||||
</edit-config>
|
</edit-config>
|
||||||
<config-file parent="/manifest/application" target="AndroidManifest.xml">
|
<config-file parent="/manifest/application" target="AndroidManifest.xml">
|
||||||
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
|
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
|
||||||
</config-file>
|
</config-file>
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="Clipboard">
|
|
||||||
<param name="android-package" value="com.verso.cordova.clipboard.Clipboard" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="CordovaHttpPlugin">
|
|
||||||
<param name="android-package" value="com.silkimen.cordovahttp.CordovaHttpPlugin" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="Camera">
|
|
||||||
<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="LaunchMyApp">
|
|
||||||
<param name="android-package" value="nl.xservices.plugins.LaunchMyApp" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="Device">
|
|
||||||
<param name="android-package" value="org.apache.cordova.device.Device" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="File">
|
|
||||||
<param name="android-package" value="org.apache.cordova.file.FileUtils" />
|
|
||||||
<param name="onload" value="true" />
|
|
||||||
</feature>
|
|
||||||
<allow-navigation href="cdvfile:*" />
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="FileOpener2">
|
|
||||||
<param name="android-package" value="io.github.pwlin.cordova.plugins.fileopener2.FileOpener2" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="FileTransfer">
|
|
||||||
<param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="Geolocation">
|
|
||||||
<param name="android-package" value="org.apache.cordova.geolocation.Geolocation" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="InAppBrowser">
|
|
||||||
<param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="LocalNotification">
|
|
||||||
<param name="android-package" value="de.appplant.cordova.plugin.localnotification.LocalNotification" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/manifest/application" target="AndroidManifest.xml">
|
|
||||||
<provider android:authorities="${applicationId}.localnotifications.provider" android:exported="false" android:grantUriPermissions="true" android:name="de.appplant.cordova.plugin.notification.util.AssetProvider">
|
|
||||||
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/localnotification_provider_paths" />
|
|
||||||
</provider>
|
|
||||||
<receiver android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.TriggerReceiver" />
|
|
||||||
<receiver android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.ClearReceiver" />
|
|
||||||
<service android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.ClickReceiver" />
|
|
||||||
<receiver android:directBootAware="true" android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.RestoreReceiver">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
|
|
||||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
||||||
</intent-filter>
|
|
||||||
</receiver>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="Capture">
|
|
||||||
<param name="android-package" value="org.apache.cordova.mediacapture.Capture" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="NetworkStatus">
|
|
||||||
<param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="QRScanner">
|
|
||||||
<param name="android-package" value="com.bitpay.cordova.qrscanner.QRScanner" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="CDVOrientation">
|
|
||||||
<param name="android-package" value="cordova.plugins.screenorientation.CDVOrientation" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="StatusBar">
|
|
||||||
<param name="android-package" value="org.apache.cordova.statusbar.StatusBar" />
|
|
||||||
<param name="onload" value="true" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="SQLitePlugin">
|
|
||||||
<param name="android-package" value="io.sqlc.SQLitePlugin" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="PushNotification">
|
|
||||||
<param name="android-package" value="com.adobe.phonegap.push.PushPlugin" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="AndroidManifest.xml">
|
<config-file parent="/*" target="AndroidManifest.xml">
|
||||||
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
|
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
|
||||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||||
</config-file>
|
</config-file>
|
||||||
<config-file parent="/*" target="AndroidManifest.xml">
|
|
||||||
<queries>
|
|
||||||
<intent>
|
|
||||||
<action android:name="android.media.action.IMAGE_CAPTURE" />
|
|
||||||
</intent>
|
|
||||||
<intent>
|
|
||||||
<action android:name="android.intent.action.GET_CONTENT" />
|
|
||||||
</intent>
|
|
||||||
</queries>
|
|
||||||
</config-file>
|
|
||||||
</platform>
|
</platform>
|
||||||
<platform name="ios">
|
<platform name="ios">
|
||||||
<resource-file src="GoogleService-Info.plist" />
|
<resource-file src="GoogleService-Info.plist" />
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
171
package.json
171
package.json
|
@ -45,39 +45,17 @@
|
||||||
"lang:create-langindex": "./scripts/create_langindex.sh"
|
"lang:create-langindex": "./scripts/create_langindex.sh"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "~10.0.14",
|
"@angular/animations": "^16.2.0",
|
||||||
"@angular/common": "~10.0.14",
|
"@angular/common": "^16.2.0",
|
||||||
"@angular/core": "~10.0.14",
|
"@angular/compiler": "^16.2.0",
|
||||||
"@angular/forms": "~10.0.14",
|
"@angular/core": "^16.2.0",
|
||||||
"@angular/platform-browser": "~10.0.14",
|
"@angular/forms": "^16.2.0",
|
||||||
"@angular/platform-browser-dynamic": "~10.0.14",
|
"@angular/platform-browser": "^16.2.0",
|
||||||
"@angular/router": "~10.0.14",
|
"@angular/platform-browser-dynamic": "^16.2.0",
|
||||||
"@ionic-native/badge": "^5.36.0",
|
"@angular/router": "^16.2.0",
|
||||||
"@ionic-native/camera": "^5.36.0",
|
"@ionic/angular": "^7.0.0",
|
||||||
"@ionic-native/chooser": "^5.36.0",
|
"@ionic/cordova-builders": "^10.0.0",
|
||||||
"@ionic-native/clipboard": "^5.36.0",
|
"@moodlehq/cordova-plugin-advanced-http": "3.3.1-moodle.1",
|
||||||
"@ionic-native/core": "^5.36.0",
|
|
||||||
"@ionic-native/device": "^5.36.0",
|
|
||||||
"@ionic-native/diagnostic": "^5.36.0",
|
|
||||||
"@ionic-native/file": "^5.36.0",
|
|
||||||
"@ionic-native/file-opener": "^5.36.0",
|
|
||||||
"@ionic-native/file-transfer": "^5.36.0",
|
|
||||||
"@ionic-native/geolocation": "^5.36.0",
|
|
||||||
"@ionic-native/http": "^5.36.0",
|
|
||||||
"@ionic-native/in-app-browser": "^5.36.0",
|
|
||||||
"@ionic-native/ionic-webview": "^5.36.0",
|
|
||||||
"@ionic-native/keyboard": "^5.36.0",
|
|
||||||
"@ionic-native/local-notifications": "^5.36.0",
|
|
||||||
"@ionic-native/media-capture": "^5.36.0",
|
|
||||||
"@ionic-native/network": "^5.36.0",
|
|
||||||
"@ionic-native/qr-scanner": "^5.36.0",
|
|
||||||
"@ionic-native/splash-screen": "^5.36.0",
|
|
||||||
"@ionic-native/sqlite": "^5.36.0",
|
|
||||||
"@ionic-native/status-bar": "^5.36.0",
|
|
||||||
"@ionic-native/web-intent": "^5.36.0",
|
|
||||||
"@ionic-native/zip": "^5.36.0",
|
|
||||||
"@ionic/angular": "^5.9.4",
|
|
||||||
"@moodlehq/cordova-plugin-advanced-http": "^3.3.1-moodle.1",
|
|
||||||
"@moodlehq/cordova-plugin-camera": "6.0.0-moodle.2",
|
"@moodlehq/cordova-plugin-camera": "6.0.0-moodle.2",
|
||||||
"@moodlehq/cordova-plugin-file-transfer": "1.7.1-moodle.5",
|
"@moodlehq/cordova-plugin-file-transfer": "1.7.1-moodle.5",
|
||||||
"@moodlehq/cordova-plugin-inappbrowser": "5.0.0-moodle.3",
|
"@moodlehq/cordova-plugin-inappbrowser": "5.0.0-moodle.3",
|
||||||
|
@ -89,8 +67,8 @@
|
||||||
"@moodlehq/cordova-plugin-zip": "3.1.0-moodle.1",
|
"@moodlehq/cordova-plugin-zip": "3.1.0-moodle.1",
|
||||||
"@moodlehq/ionic-native-push": "5.36.0-moodle.2",
|
"@moodlehq/ionic-native-push": "5.36.0-moodle.2",
|
||||||
"@moodlehq/phonegap-plugin-push": "4.0.0-moodle.7",
|
"@moodlehq/phonegap-plugin-push": "4.0.0-moodle.7",
|
||||||
"@ngx-translate/core": "^13.0.0",
|
"@ngx-translate/core": "^15.0.0",
|
||||||
"@ngx-translate/http-loader": "^6.0.0",
|
"@ngx-translate/http-loader": "^8.0.0",
|
||||||
"@types/chart.js": "^2.9.31",
|
"@types/chart.js": "^2.9.31",
|
||||||
"@types/cordova": "0.0.34",
|
"@types/cordova": "0.0.34",
|
||||||
"@types/dom-mediacapture-record": "1.0.7",
|
"@types/dom-mediacapture-record": "1.0.7",
|
||||||
|
@ -119,7 +97,7 @@
|
||||||
"cordova.plugins.diagnostic": "^7.1.1",
|
"cordova.plugins.diagnostic": "^7.1.1",
|
||||||
"core-js": "^3.9.1",
|
"core-js": "^3.9.1",
|
||||||
"es6-promise-plugin": "^4.2.2",
|
"es6-promise-plugin": "^4.2.2",
|
||||||
"hammerjs": "^2.0.8",
|
"ionicons": "^7.0.0",
|
||||||
"jszip": "^3.7.1",
|
"jszip": "^3.7.1",
|
||||||
"mathjax": "2.7.9",
|
"mathjax": "2.7.9",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
|
@ -127,52 +105,42 @@
|
||||||
"mp3-mediarecorder": "4.0.5",
|
"mp3-mediarecorder": "4.0.5",
|
||||||
"nl.kingsquare.cordova.background-audio": "^1.0.1",
|
"nl.kingsquare.cordova.background-audio": "^1.0.1",
|
||||||
"ogv": "^1.8.9",
|
"ogv": "^1.8.9",
|
||||||
"rxjs": "~6.5.5",
|
"rxjs": "~7.8.0",
|
||||||
"ts-md5": "^1.2.7",
|
"ts-md5": "^1.2.7",
|
||||||
"tslib": "^2.3.1",
|
"tslib": "^2.3.0",
|
||||||
"video.js": "^7.21.1",
|
"video.js": "^7.21.1",
|
||||||
"zone.js": "~0.10.3"
|
"zone.js": "~0.13.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-builders/custom-webpack": "^10.0.1",
|
"@angular-devkit/build-angular": "^16.2.10",
|
||||||
"@angular-devkit/architect": "^0.1202.7",
|
"@angular-eslint/builder": "^16.2.0",
|
||||||
"@angular-devkit/build-angular": "~0.1000.8",
|
"@angular-eslint/eslint-plugin": "^16.2.0",
|
||||||
"@angular-eslint/builder": "^4.2.0",
|
"@angular-eslint/eslint-plugin-template": "^16.2.0",
|
||||||
"@angular-eslint/eslint-plugin": "^4.2.0",
|
"@angular-eslint/schematics": "^16.2.0",
|
||||||
"@angular-eslint/eslint-plugin-template": "^4.2.0",
|
"@angular-eslint/template-parser": "^16.2.0",
|
||||||
"@angular-eslint/schematics": "^4.2.0",
|
"@angular/cli": "^16.2.10",
|
||||||
"@angular-eslint/template-parser": "^4.2.0",
|
"@angular/compiler-cli": "^16.2.0",
|
||||||
"@angular/cli": "~10.0.8",
|
"@angular/language-service": "^16.2.0",
|
||||||
"@angular/compiler": "~10.0.14",
|
"@ionic/angular-toolkit": "^10.0.0",
|
||||||
"@angular/compiler-cli": "~10.0.14",
|
"@ionic/cli": "^7.1.5",
|
||||||
"@angular/language-service": "~10.0.14",
|
|
||||||
"@ionic/angular-toolkit": "^2.3.3",
|
|
||||||
"@ionic/cli": "^6.19.0",
|
|
||||||
"@storybook/addon-controls": "~6.1.21",
|
|
||||||
"@storybook/addon-viewport": "~6.1.21",
|
|
||||||
"@storybook/angular": "~6.1.21",
|
|
||||||
"@types/faker": "^5.1.3",
|
"@types/faker": "^5.1.3",
|
||||||
"@types/jest": "^26.0.24",
|
"@types/jest": "^26.0.24",
|
||||||
"@types/marked": "^4.3.1",
|
"@types/node": "^18.0.0",
|
||||||
"@types/node": "^12.12.64",
|
|
||||||
"@types/resize-observer-browser": "^0.1.5",
|
"@types/resize-observer-browser": "^0.1.5",
|
||||||
"@types/webpack-env": "^1.16.0",
|
"@types/webpack-env": "^1.18.4",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.22.0",
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
||||||
"@typescript-eslint/parser": "^4.22.0",
|
"@typescript-eslint/parser": "^6.0.0",
|
||||||
"check-es-compat": "^1.1.1",
|
"check-es-compat": "^3.1.0",
|
||||||
"compare-versions": "^4.1.4",
|
|
||||||
"concurrently": "^8.2.0",
|
"concurrently": "^8.2.0",
|
||||||
"cordova-plugin-moodleapp": "file:cordova-plugin-moodleapp",
|
"cordova-plugin-moodleapp": "file:cordova-plugin-moodleapp",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^7.25.0",
|
"eslint": "^8.0.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-plugin-deprecation": "^2.0.0",
|
||||||
"eslint-plugin-deprecation": "^1.5.0",
|
|
||||||
"eslint-plugin-header": "^3.1.1",
|
"eslint-plugin-header": "^3.1.1",
|
||||||
"eslint-plugin-import": "^2.22.1",
|
"eslint-plugin-jest": "^27.6.0",
|
||||||
"eslint-plugin-jest": "^24.3.6",
|
"eslint-plugin-jsdoc": "^46.9.0",
|
||||||
"eslint-plugin-jsdoc": "^32.3.3",
|
|
||||||
"eslint-plugin-prefer-arrow": "^1.2.3",
|
"eslint-plugin-prefer-arrow": "^1.2.3",
|
||||||
"eslint-plugin-promise": "^5.1.0",
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
"faker": "^5.1.0",
|
"faker": "^5.1.0",
|
||||||
"fs-extra": "^9.1.0",
|
"fs-extra": "^9.1.0",
|
||||||
"gulp": "4.0.2",
|
"gulp": "4.0.2",
|
||||||
|
@ -182,24 +150,17 @@
|
||||||
"gulp-htmlmin": "^5.0.1",
|
"gulp-htmlmin": "^5.0.1",
|
||||||
"gulp-rename": "^2.0.0",
|
"gulp-rename": "^2.0.0",
|
||||||
"gulp-slash": "^1.1.3",
|
"gulp-slash": "^1.1.3",
|
||||||
"jest": "^26.5.2",
|
"jest": "^29.7.0",
|
||||||
"jest-preset-angular": "^8.3.1",
|
|
||||||
"jest-raw-loader": "^1.0.1",
|
|
||||||
"jsonc-parser": "^2.3.1",
|
"jsonc-parser": "^2.3.1",
|
||||||
"marked": "^4.3.0",
|
"keytar": "^7.2.0",
|
||||||
"minimatch": "^5.1.0",
|
"minimatch": "^5.1.0",
|
||||||
"native-run": "^1.4.0",
|
"native-run": "^2.0.0",
|
||||||
"patch-package": "^6.5.0",
|
"patch-package": "^6.5.0",
|
||||||
"storybook-addon-designs": "~6.1.0",
|
"ts-node": "^8.3.0",
|
||||||
"storybook-addon-rtl-direction": "0.0.19",
|
"typescript": "~5.1.3"
|
||||||
"storybook-dark-mode": "^3.0.0",
|
|
||||||
"terser-webpack-plugin": "^4.2.3",
|
|
||||||
"ts-jest": "^26.4.1",
|
|
||||||
"ts-node": "~8.3.0",
|
|
||||||
"typescript": "^3.9.9"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.15.0 <15"
|
"node": ">=18.18.2 <19"
|
||||||
},
|
},
|
||||||
"cordova": {
|
"cordova": {
|
||||||
"platforms": [
|
"platforms": [
|
||||||
|
@ -210,11 +171,26 @@
|
||||||
"@moodlehq/cordova-plugin-advanced-http": {
|
"@moodlehq/cordova-plugin-advanced-http": {
|
||||||
"ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1"
|
"ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1"
|
||||||
},
|
},
|
||||||
"cordova-clipboard": {},
|
|
||||||
"cordova-plugin-badge": {},
|
|
||||||
"@moodlehq/cordova-plugin-camera": {
|
"@moodlehq/cordova-plugin-camera": {
|
||||||
"ANDROIDX_CORE_VERSION": "1.6.+"
|
"ANDROIDX_CORE_VERSION": "1.6.+"
|
||||||
},
|
},
|
||||||
|
"@moodlehq/cordova-plugin-file-transfer": {},
|
||||||
|
"@moodlehq/cordova-plugin-inappbrowser": {},
|
||||||
|
"@moodlehq/cordova-plugin-intent": {},
|
||||||
|
"@moodlehq/cordova-plugin-ionic-webview": {},
|
||||||
|
"@moodlehq/cordova-plugin-local-notification": {
|
||||||
|
"ANDROID_SUPPORT_V4_VERSION": "26.+"
|
||||||
|
},
|
||||||
|
"@moodlehq/cordova-plugin-qrscanner": {},
|
||||||
|
"@moodlehq/cordova-plugin-statusbar": {},
|
||||||
|
"@moodlehq/cordova-plugin-zip": {},
|
||||||
|
"@moodlehq/phonegap-plugin-push": {
|
||||||
|
"ANDROIDX_CORE_VERSION": "1.6.+",
|
||||||
|
"FCM_VERSION": "23.+"
|
||||||
|
},
|
||||||
|
"cordova-clipboard": {},
|
||||||
|
"cordova-plugin-androidx-adapter": {},
|
||||||
|
"cordova-plugin-badge": {},
|
||||||
"cordova-plugin-chooser": {},
|
"cordova-plugin-chooser": {},
|
||||||
"cordova-plugin-customurlscheme": {
|
"cordova-plugin-customurlscheme": {
|
||||||
"URL_SCHEME": "moodlemobile",
|
"URL_SCHEME": "moodlemobile",
|
||||||
|
@ -227,39 +203,20 @@
|
||||||
"cordova-plugin-geolocation": {
|
"cordova-plugin-geolocation": {
|
||||||
"GPS_REQUIRED": "false"
|
"GPS_REQUIRED": "false"
|
||||||
},
|
},
|
||||||
"@moodlehq/cordova-plugin-inappbrowser": {},
|
|
||||||
"cordova-plugin-ionic-keyboard": {},
|
"cordova-plugin-ionic-keyboard": {},
|
||||||
"@moodlehq/cordova-plugin-ionic-webview": {},
|
|
||||||
"@moodlehq/cordova-plugin-local-notification": {
|
|
||||||
"ANDROID_SUPPORT_V4_VERSION": "26.+"
|
|
||||||
},
|
|
||||||
"cordova-plugin-media-capture": {},
|
"cordova-plugin-media-capture": {},
|
||||||
"cordova-plugin-network-information": {},
|
"cordova-plugin-network-information": {},
|
||||||
"@moodlehq/cordova-plugin-qrscanner": {},
|
"cordova-plugin-prevent-override": {},
|
||||||
"@moodlehq/cordova-plugin-statusbar": {},
|
"cordova-plugin-screen-orientation": {},
|
||||||
"cordova-plugin-wkuserscript": {},
|
"cordova-plugin-wkuserscript": {},
|
||||||
"cordova-plugin-wkwebview-cookies": {},
|
"cordova-plugin-wkwebview-cookies": {},
|
||||||
"@moodlehq/cordova-plugin-zip": {},
|
|
||||||
"cordova-sqlite-storage": {},
|
"cordova-sqlite-storage": {},
|
||||||
"@moodlehq/phonegap-plugin-push": {
|
|
||||||
"ANDROIDX_CORE_VERSION": "1.6.+",
|
|
||||||
"FCM_VERSION": "23.+"
|
|
||||||
},
|
|
||||||
"@moodlehq/cordova-plugin-intent": {},
|
|
||||||
"nl.kingsquare.cordova.background-audio": {},
|
|
||||||
"cordova.plugins.diagnostic": {
|
"cordova.plugins.diagnostic": {
|
||||||
"ANDROID_SUPPORT_VERSION": "28.+",
|
"ANDROID_SUPPORT_VERSION": "28.+",
|
||||||
"ANDROIDX_VERSION": "1.0.0",
|
"ANDROIDX_VERSION": "1.0.0",
|
||||||
"ANDROIDX_APPCOMPAT_VERSION": "1.3.1"
|
"ANDROIDX_APPCOMPAT_VERSION": "1.3.1"
|
||||||
},
|
},
|
||||||
"@moodlehq/cordova-plugin-file-transfer": {},
|
"nl.kingsquare.cordova.background-audio": {}
|
||||||
"cordova-plugin-prevent-override": {},
|
|
||||||
"cordova-plugin-androidx-adapter": {},
|
|
||||||
"cordova-plugin-screen-orientation": {},
|
|
||||||
"cordova-plugin-moodleapp": {}
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"keytar": "^7.2.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/node_modules/@ionic/core/dist/types/components.d.ts b/node_modules/@ionic/core/dist/types/components.d.ts
|
|
||||||
index fd9b7ad..4d29d1e 100644
|
|
||||||
--- a/node_modules/@ionic/core/dist/types/components.d.ts
|
|
||||||
+++ b/node_modules/@ionic/core/dist/types/components.d.ts
|
|
||||||
@@ -972,7 +972,7 @@ export namespace Components {
|
|
||||||
/**
|
|
||||||
* If `true`, a button tag will be rendered and the item will be tappable.
|
|
||||||
*/
|
|
||||||
- "button": boolean;
|
|
||||||
+ "button": boolean | '';
|
|
||||||
/**
|
|
||||||
* The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
|
|
||||||
*/
|
|
|
@ -1,21 +0,0 @@
|
||||||
diff --git a/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js b/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js
|
|
||||||
index 57772cd..f3667fd 100644
|
|
||||||
--- a/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js
|
|
||||||
+++ b/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
/* eslint-disable camelcase, no-underscore-dangle */
|
|
||||||
|
|
||||||
+const compareVersions = require('compare-versions').compare;
|
|
||||||
+
|
|
||||||
function forbiddenFeatures(features, targets) {
|
|
||||||
return features.filter(feature => !isFeatureSupportedByTargets(feature, targets));
|
|
||||||
}
|
|
||||||
@@ -30,7 +32,7 @@ function isCompatFeatureSupportedByTarget(compatFeature, target) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- return !support.isNone && target.version >= versionAdded;
|
|
||||||
+ return !support.isNone && target.version.split('-').every(version => compareVersions(version, versionAdded, '>='));
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSimpleSupportStatement(compatFeature, target) {
|
|
|
@ -1,30 +0,0 @@
|
||||||
diff --git a/node_modules/event-target-shim/index.d.ts b/node_modules/event-target-shim/index.d.ts
|
|
||||||
index 7a5bfc7..ba5e7d8 100644
|
|
||||||
--- a/node_modules/event-target-shim/index.d.ts
|
|
||||||
+++ b/node_modules/event-target-shim/index.d.ts
|
|
||||||
@@ -359,7 +359,7 @@ export declare namespace defineCustomEventTarget {
|
|
||||||
/**
|
|
||||||
* The interface of CustomEventTarget.
|
|
||||||
*/
|
|
||||||
- type CustomEventTarget<TEventMap extends Record<string, Event>, TMode extends "standard" | "strict"> = EventTarget<TEventMap, TMode> & defineEventAttribute.EventAttributes<any, TEventMap>;
|
|
||||||
+ type CustomEventTarget<TEventMap extends Record<string, Event>, TMode extends "standard" | "strict"> = EventTarget<TEventMap, TMode> & defineEventAttribute.EventAttributes<any>;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Define an event attribute.
|
|
||||||
@@ -368,14 +368,12 @@ export declare namespace defineCustomEventTarget {
|
|
||||||
* @param _eventClass Unused, but to infer `Event` class type.
|
|
||||||
* @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.
|
|
||||||
*/
|
|
||||||
-export declare function defineEventAttribute<TEventTarget extends EventTarget, TEventType extends string, TEventConstrucor extends typeof Event>(target: TEventTarget, type: TEventType, _eventClass?: TEventConstrucor): asserts target is TEventTarget & defineEventAttribute.EventAttributes<TEventTarget, Record<TEventType, InstanceType<TEventConstrucor>>>;
|
|
||||||
+export declare function defineEventAttribute<TEventTarget extends EventTarget, TEventType extends string, TEventConstrucor extends typeof Event>(target: TEventTarget, type: TEventType, _eventClass?: TEventConstrucor): asserts target is TEventTarget & defineEventAttribute.EventAttributes<TEventTarget>;
|
|
||||||
export declare namespace defineEventAttribute {
|
|
||||||
/**
|
|
||||||
* Definition of event attributes.
|
|
||||||
*/
|
|
||||||
- type EventAttributes<TEventTarget extends EventTarget<any, any>, TEventMap extends Record<string, Event>> = {
|
|
||||||
- [P in string & keyof TEventMap as `on${P}`]: EventTarget.CallbackFunction<TEventTarget, TEventMap[P]> | null;
|
|
||||||
- };
|
|
||||||
+ type EventAttributes<TEventTarget extends EventTarget<any, any>> = Record<string, EventTarget.CallbackFunction<TEventTarget, any> | null>;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Set the warning handler.
|
|
|
@ -194,10 +194,7 @@ export const APP_ROUTES = new InjectionToken('APP_ROUTES');
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
RouterModule.forRoot([], {
|
RouterModule.forRoot([], { preloadingStrategy: PreloadAllModules }),
|
||||||
preloadingStrategy: PreloadAllModules,
|
|
||||||
relativeLinkResolution: 'corrected',
|
|
||||||
}),
|
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: ROUTES, multi: true, useFactory: buildAppRoutes, deps: [Injector] },
|
{ provide: ROUTES, multi: true, useFactory: buildAppRoutes, deps: [Injector] },
|
||||||
|
|
|
@ -17,10 +17,6 @@ import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
|
||||||
|
|
||||||
import { CoreEmulatorCaptureHelper } from './capture-helper';
|
import { CoreEmulatorCaptureHelper } from './capture-helper';
|
||||||
|
|
||||||
// @todo remove android.media.action.IMAGE_CAPTURE and android.intent.action.GET_CONTENT entries
|
|
||||||
// from config.xml once https://github.com/apache/cordova-plugin-camera/issues/673 is resolved.
|
|
||||||
// (this is written here because comments get stripped out from config.xml)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emulates the Cordova Camera plugin in browser.
|
* Emulates the Cordova Camera plugin in browser.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
window.__Zone_disable_customElements = true;
|
window.__Zone_disable_customElements = true;
|
||||||
|
|
||||||
// Zone JS is required by default for Angular itself.
|
// Zone JS is required by default for Angular itself.
|
||||||
import 'zone.js/dist/zone';
|
import 'zone.js';
|
||||||
|
|
||||||
// Platform polyfills
|
// Platform polyfills
|
||||||
import 'core-js/es/array/includes';
|
import 'core-js/es/array/includes';
|
||||||
|
|
|
@ -32,17 +32,17 @@
|
||||||
@import "bootstrap.scss";
|
@import "bootstrap.scss";
|
||||||
|
|
||||||
/* Core CSS required for Ionic components to work properly */
|
/* Core CSS required for Ionic components to work properly */
|
||||||
@import "~@ionic/angular/css/core.css";
|
@import "@ionic/angular/css/core.css";
|
||||||
|
|
||||||
/* Basic CSS for apps built with Ionic */
|
/* Basic CSS for apps built with Ionic */
|
||||||
@import "~@ionic/angular/css/normalize.css";
|
@import "@ionic/angular/css/normalize.css";
|
||||||
@import "~@ionic/angular/css/structure.css";
|
@import "@ionic/angular/css/structure.css";
|
||||||
@import "~@ionic/angular/css/typography.css";
|
@import "@ionic/angular/css/typography.css";
|
||||||
@import "~@ionic/angular/css/display.css";
|
@import "@ionic/angular/css/display.css";
|
||||||
|
|
||||||
/* Optional CSS utils that can be commented out */
|
/* Optional CSS utils that can be commented out */
|
||||||
@import "~@ionic/angular/css/padding.css";
|
@import "@ionic/angular/css/padding.css";
|
||||||
@import "~@ionic/angular/css/float-elements.css";
|
@import "@ionic/angular/css/float-elements.css";
|
||||||
@import "~@ionic/angular/css/text-alignment.css";
|
@import "@ionic/angular/css/text-alignment.css";
|
||||||
@import "~@ionic/angular/css/text-transformation.css";
|
@import "@ionic/angular/css/text-transformation.css";
|
||||||
@import "~@ionic/angular/css/flex-utils.css";
|
@import "@ionic/angular/css/flex-utils.css";
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
"cordova-plugin-moodleapp",
|
"cordova-plugin-moodleapp",
|
||||||
"cordova",
|
"cordova",
|
||||||
"dom-mediacapture-record",
|
"dom-mediacapture-record",
|
||||||
"node",
|
|
||||||
"resize-observer-browser",
|
"resize-observer-browser",
|
||||||
"webpack-env"
|
"webpack-env"
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue