Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
callidus
mc_frontend
Commits
efac5045
Commit
efac5045
authored
Apr 30, 2019
by
Andrea Beyer
Browse files
testmodule: test finished; layout main site
parent
ada125b8
Changes
64
Hide whitespace changes
Inline
Side-by-side
package-lock.json
View file @
efac5045
{
"name"
:
"mc_frontend"
,
"version"
:
"0.7.
3
"
,
"version"
:
"0.7.
5
"
,
"lockfileVersion"
:
1
,
"requires"
:
true
,
"dependencies"
:
{
...
...
@@ -1277,7 +1277,6 @@
"resolved"
:
"https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"
,
"integrity"
:
"sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"delegates"
:
"^1.0.0"
,
"readable-stream"
:
"^2.0.6"
...
...
@@ -2516,8 +2515,7 @@
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
,
"integrity"
:
"sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"constants-browserify"
:
{
"version"
:
"1.0.0"
,
...
...
@@ -3808,8 +3806,7 @@
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
,
"integrity"
:
"sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"depd"
:
{
"version"
:
"1.1.2"
,
...
...
@@ -5311,7 +5308,6 @@
"resolved"
:
"https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz"
,
"integrity"
:
"sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"graceful-fs"
:
"^4.1.2"
,
"inherits"
:
"~2.0.0"
,
...
...
@@ -5324,7 +5320,6 @@
"resolved"
:
"https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz"
,
"integrity"
:
"sha1-LANAXHU4w51+s3sxcCLjJfsBi/c="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"aproba"
:
"^1.0.3"
,
"console-control-strings"
:
"^1.0.0"
,
...
...
@@ -5362,8 +5357,7 @@
"version"
:
"4.0.1"
,
"resolved"
:
"https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
,
"integrity"
:
"sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"get-stream"
:
{
"version"
:
"3.0.0"
,
...
...
@@ -5543,8 +5537,7 @@
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
,
"integrity"
:
"sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"has-value"
:
{
"version"
:
"1.0.0"
,
...
...
@@ -6269,8 +6262,7 @@
"version"
:
"0.2.1"
,
"resolved"
:
"https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
,
"integrity"
:
"sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"is-windows"
:
{
"version"
:
"1.0.2"
,
...
...
@@ -6950,7 +6942,6 @@
"resolved"
:
"https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz"
,
"integrity"
:
"sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"graceful-fs"
:
"^4.1.2"
,
"parse-json"
:
"^2.2.0"
,
...
...
@@ -6963,8 +6954,7 @@
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
,
"integrity"
:
"sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
}
}
},
...
...
@@ -7239,8 +7229,7 @@
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
,
"integrity"
:
"sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"map-visit"
:
{
"version"
:
"1.0.0"
,
...
...
@@ -7881,7 +7870,6 @@
"resolved"
:
"https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz"
,
"integrity"
:
"sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"are-we-there-yet"
:
"~1.1.2"
,
"console-control-strings"
:
"~1.1.0"
,
...
...
@@ -8898,7 +8886,6 @@
"resolved"
:
"https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
,
"integrity"
:
"sha1-9f+qXs0pyzHAR0vKfXVra7KePyg="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"load-json-file"
:
"^1.0.0"
,
"normalize-package-data"
:
"^2.3.2"
,
...
...
@@ -8910,7 +8897,6 @@
"resolved"
:
"https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
,
"integrity"
:
"sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"graceful-fs"
:
"^4.1.2"
,
"pify"
:
"^2.0.0"
,
...
...
@@ -8921,8 +8907,7 @@
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
,
"integrity"
:
"sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
}
}
},
...
...
@@ -8931,7 +8916,6 @@
"resolved"
:
"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz"
,
"integrity"
:
"sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"find-up"
:
"^1.0.0"
,
"read-pkg"
:
"^1.0.0"
...
...
@@ -8942,7 +8926,6 @@
"resolved"
:
"https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz"
,
"integrity"
:
"sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"path-exists"
:
"^2.0.0"
,
"pinkie-promise"
:
"^2.0.0"
...
...
@@ -8953,7 +8936,6 @@
"resolved"
:
"https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz"
,
"integrity"
:
"sha1-D+tsZPD8UY2adU3V77YscCJ2H0s="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"pinkie-promise"
:
"^2.0.0"
}
...
...
@@ -10227,7 +10209,6 @@
"resolved"
:
"https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
,
"integrity"
:
"sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"is-utf8"
:
"^0.2.0"
}
...
...
@@ -11600,7 +11581,6 @@
"resolved"
:
"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz"
,
"integrity"
:
"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA=="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"string-width"
:
"^1.0.2 || 2"
}
...
...
package.json
View file @
efac5045
...
...
@@ -80,4 +80,4 @@
"cordova-plugin-splashscreen"
:
{}
}
}
}
\ No newline at end of file
}
src/app/app-routing.module.ts
View file @
efac5045
import
{
NgModule
}
from
'
@angular/core
'
;
import
{
Routes
,
RouterModule
}
from
'
@angular/router
'
;
import
{
NgModule
}
from
'
@angular/core
'
;
import
{
Routes
,
RouterModule
}
from
'
@angular/router
'
;
const
routes
:
Routes
=
[
{
path
:
''
,
redirectTo
:
'
home
'
,
pathMatch
:
'
full
'
},
{
path
:
'
home
'
,
loadChildren
:
'
./home/home.module#HomePageModule
'
},
{
path
:
'
vocabulary-check
'
,
loadChildren
:
'
./vocabulary-check/vocabulary-check.module#VocabularyCheckPageModule
'
},
{
path
:
'
author
'
,
loadChildren
:
'
./author/author.module#AuthorPageModule
'
},
{
path
:
'
author-detail
'
,
loadChildren
:
'
./author-detail/author-detail.module#AuthorDetailPageModule
'
},
{
path
:
'
text-range
'
,
loadChildren
:
'
./text-range/text-range.module#TextRangePageModule
'
},
{
path
:
'
show-text
'
,
loadChildren
:
'
./show-text/show-text.module#ShowTextPageModule
'
},
{
path
:
'
exercise-parameters
'
,
loadChildren
:
'
./exercise-parameters/exercise-parameters.module#ExerciseParametersPageModule
'
},
{
path
:
'
preview
'
,
loadChildren
:
'
./preview/preview.module#PreviewPageModule
'
},
{
path
:
'
kwic
'
,
loadChildren
:
'
./kwic/kwic.module#KwicPageModule
'
},
{
path
:
'
ranking
'
,
loadChildren
:
'
./ranking/ranking.module#RankingPageModule
'
},
{
path
:
'
feedback
'
,
loadChildren
:
'
./feedback/feedback.module#FeedbackPageModule
'
},
{
path
:
'
change-language
'
,
loadChildren
:
'
./change-language/change-language.module#ChangeLanguagePageModule
'
},
{
path
:
'
info
'
,
loadChildren
:
'
./info/info.module#InfoPageModule
'
},
{
path
:
'
sources
'
,
loadChildren
:
'
./sources/sources.module#SourcesPageModule
'
},
{
path
:
'
imprint
'
,
loadChildren
:
'
./imprint/imprint.module#ImprintPageModule
'
},
{
path
:
'
test
'
,
loadChildren
:
'
./test/test.module#TestPageModule
'
},
const
routes
:
Routes
=
[
{
path
:
''
,
redirectTo
:
'
home
'
,
pathMatch
:
'
full
'
},
{
path
:
'
home
'
,
loadChildren
:
'
./home/home.module#HomePageModule
'
},
{
path
:
'
vocabulary-check
'
,
loadChildren
:
'
./vocabulary-check/vocabulary-check.module#VocabularyCheckPageModule
'
},
{
path
:
'
author
'
,
loadChildren
:
'
./author/author.module#AuthorPageModule
'
},
{
path
:
'
author-detail
'
,
loadChildren
:
'
./author-detail/author-detail.module#AuthorDetailPageModule
'
},
{
path
:
'
text-range
'
,
loadChildren
:
'
./text-range/text-range.module#TextRangePageModule
'
},
{
path
:
'
show-text
'
,
loadChildren
:
'
./show-text/show-text.module#ShowTextPageModule
'
},
{
path
:
'
exercise-parameters
'
,
loadChildren
:
'
./exercise-parameters/exercise-parameters.module#ExerciseParametersPageModule
'
},
{
path
:
'
preview
'
,
loadChildren
:
'
./preview/preview.module#PreviewPageModule
'
},
{
path
:
'
kwic
'
,
loadChildren
:
'
./kwic/kwic.module#KwicPageModule
'
},
{
path
:
'
ranking
'
,
loadChildren
:
'
./ranking/ranking.module#RankingPageModule
'
},
{
path
:
'
feedback
'
,
loadChildren
:
'
./feedback/feedback.module#FeedbackPageModule
'
},
{
path
:
'
change-language
'
,
loadChildren
:
'
./change-language/change-language.module#ChangeLanguagePageModule
'
},
];
@
NgModule
({
imports
:
[
RouterModule
.
forRoot
(
routes
)],
exports
:
[
RouterModule
]
})
export
class
AppRoutingModule
{
}
];
@
NgModule
({
imports
:
[
RouterModule
.
forRoot
(
routes
)],
exports
:
[
RouterModule
]
})
export
class
AppRoutingModule
{
}
...
...
src/app/author/author.page.html
View file @
efac5045
...
...
@@ -17,6 +17,19 @@
<ion-content
padding
>
<ion-grid>
<ion-row>
<ion-col>
<b>
{{ 'MOST_RECENT_SETUP' | translate }}:
</b>
<br>
</ion-col>
</ion-row>
<ion-row
*ngIf=
"HelperService.mostRecentSetup"
>
<ion-col>
<a
(click)=
"restoreLastSetup()"
>
{{ [HelperService.mostRecentSetup.currentCorpus.author,
HelperService.mostRecentSetup.currentCorpus.title,
HelperService.mostRecentSetup.workReference].join(", ") }}
</a>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<label>
{{ "AUTHOR_SHOW_ONLY_TREEBANKS" | translate}}
...
...
src/app/author/author.page.ts
View file @
efac5045
...
...
@@ -5,6 +5,7 @@ import {TranslateService} from '@ngx-translate/core';
import
{
CorpusService
}
from
'
src/app/corpus.service
'
;
import
{
HttpClient
}
from
'
@angular/common/http
'
;
import
{
HelperService
}
from
'
../helper.service
'
;
import
{
ExerciseService
}
from
'
../exercise.service
'
;
/**
* Generated class for the AuthorPage page.
...
...
@@ -23,7 +24,8 @@ export class AuthorPage {
constructor
(
public
navCtrl
:
NavController
,
public
translate
:
TranslateService
,
public
corpusService
:
CorpusService
,
public
http
:
HttpClient
)
{
public
http
:
HttpClient
,
public
exerciseService
:
ExerciseService
)
{
this
.
toggleTreebankAuthors
();
this
.
corpusService
.
currentCorpus
=
null
;
this
.
corpusService
.
isTextRangeCorrect
=
false
;
...
...
@@ -54,6 +56,18 @@ export class AuthorPage {
return
this
.
corpusService
.
availableAuthors
.
filter
(
author
=>
author
.
corpora
.
some
(
corpus
=>
this
.
corpusService
.
isTreebank
(
corpus
)));
}
restoreLastSetup
()
{
this
.
corpusService
.
restoreLastCorpus
();
this
.
exerciseService
.
restoreLastURN
().
then
(()
=>
{
if
(
HelperService
.
isVocabularyCheck
)
{
this
.
navCtrl
.
navigateForward
(
'
/vocabulary-check
'
).
then
();
}
else
{
this
.
navCtrl
.
navigateForward
(
'
show-text
'
).
then
();
}
},
()
=>
{
});
}
showCorpora
(
author
:
Author
)
{
this
.
corpusService
.
currentAuthor
=
author
;
this
.
navCtrl
.
navigateForward
(
'
/author-detail
'
).
then
();
...
...
src/app/helper.service.ts
View file @
efac5045
...
...
@@ -34,6 +34,22 @@ export class HelperService {
navCtrl
.
navigateRoot
(
'
/home
'
).
then
();
}
static
goToImprintPage
(
navCtrl
:
NavController
)
{
navCtrl
.
navigateRoot
(
'
/imprint
'
).
then
();
}
static
goToInfoPage
(
navCtrl
:
NavController
)
{
navCtrl
.
navigateRoot
(
'
/info
'
).
then
();
}
static
goToSourcesPage
(
navCtrl
:
NavController
)
{
navCtrl
.
navigateRoot
(
'
/sources
'
).
then
();
}
static
goToTestPage
(
navCtrl
:
NavController
)
{
navCtrl
.
navigateRoot
(
'
/test
'
).
then
();
}
initConfig
()
{
this
.
http
.
get
(
'
assets/config.json
'
).
subscribe
((
config
:
object
)
=>
{
HelperService
.
config
=
config
;
...
...
src/app/home/home.page.html
View file @
efac5045
...
...
@@ -22,28 +22,14 @@
<ion-button
(click)=
"goToAuthorPage()"
>
{{ 'EXERCISE_GENERATE' | translate }}
</ion-button>
</ion-col>
</ion-row>
<ion-row
class=
"lastMainElement"
>
<ion-col>
<ion-button
(click)=
"goToVocabularyCheckPage()"
>
{{ 'VOCABULARY_CHECK' | translate }}
</ion-button>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<br>
<ion-button
*ngIf=
"isProductionEnv"
(click)=
"test()"
>
{{ 'TEST' | translate }}
</ion-button>
</ion-col>
<ion-col>
<ion-button
(click)=
"HelperService.goToTestPage(navCtrl)"
>
{{ 'START_TEST' | translate }}
</ion-button>
</ion-col>
</ion-row>
<ion-row
*ngIf=
"HelperService.mostRecentSetup"
padding-top
>
<ion-col>
<h3>
{{ 'MOST_RECENT_SETUP' | translate }}
</h3>
<a
(click)=
"restoreLastSetup()"
>
{{ [HelperService.mostRecentSetup.currentCorpus.author,
HelperService.mostRecentSetup.currentCorpus.title,
HelperService.mostRecentSetup.workReference].join(", ") }}
</a>
</ion-col>
</ion-row>
<ion-row
padding-top
>
<ion-row
class=
"lastMainElement"
>
<ion-col>
<ion-button
(click)=
"
refreshCorpora()"
>
{{ 'CORPORA_REFRESH
' | translate }}
</ion-button>
<ion-button
(click)=
"
goToVocabularyCheckPage()"
>
{{ 'VOCABULARY_CHECK
' | translate }}
</ion-button>
</ion-col>
</ion-row>
</ion-grid>
...
...
@@ -52,3 +38,28 @@
<ion-button
(click)=
"isCorpusUpdateInProgress = false"
>
{{ 'CANCEL' | translate }}
</ion-button>
</ng-template>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-tabs>
<ion-tab-bar
slot=
"bottom"
>
<ion-tab-button
(click)=
"HelperService.goToInfoPage(navCtrl)"
>
<ion-icon
name=
"information-circle"
></ion-icon>
<ion-label>
{{ 'ABOUT' | translate }}
</ion-label>
</ion-tab-button>
<ion-tab-button
(click)=
"HelperService.goToSourcesPage(navCtrl)"
>
<ion-icon
name=
"globe"
></ion-icon>
<ion-label>
{{ 'SOURCES' | translate}}
</ion-label>
</ion-tab-button>
<ion-tab-button
(click)=
"HelperService.goToImprintPage(navCtrl)"
>
<ion-icon
name=
"today"
></ion-icon>
<ion-label>
{{ 'IMPRINT' | translate }}
</ion-label>
</ion-tab-button>
<ion-tab-button
(click)=
"refreshCorpora()"
>
<ion-icon
name=
"refresh"
></ion-icon>
<ion-label
>
{{ 'CORPORA_REFRESH' | translate }}
</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
</ion-toolbar>
</ion-footer>
src/app/home/home.page.ts
View file @
efac5045
...
...
@@ -44,6 +44,10 @@ export class HomePage {
this
.
navCtrl
.
navigateForward
(
'
/author
'
).
then
();
}
goToTestPage
()
{
this
.
navCtrl
.
navigateForward
(
'
/test
'
).
then
();
}
goToVocabularyCheckPage
()
{
HelperService
.
isVocabularyCheck
=
true
;
this
.
navCtrl
.
navigateForward
(
'
/vocabulary-check
'
).
then
();
...
...
src/app/imprint/imprint.module.ts
0 → 100644
View file @
efac5045
import
{
NgModule
}
from
'
@angular/core
'
;
import
{
CommonModule
}
from
'
@angular/common
'
;
import
{
FormsModule
}
from
'
@angular/forms
'
;
import
{
Routes
,
RouterModule
}
from
'
@angular/router
'
;
import
{
IonicModule
}
from
'
@ionic/angular
'
;
import
{
ImprintPage
}
from
'
./imprint.page
'
;
import
{
TranslateModule
}
from
"
@ngx-translate/core
"
;
const
routes
:
Routes
=
[
{
path
:
''
,
component
:
ImprintPage
}
];
@
NgModule
({
imports
:
[
CommonModule
,
FormsModule
,
IonicModule
,
RouterModule
.
forChild
(
routes
),
TranslateModule
.
forChild
(),
],
declarations
:
[
ImprintPage
]
})
export
class
ImprintPageModule
{}
src/app/imprint/imprint.page.html
0 → 100644
View file @
efac5045
<ion-header>
<ion-toolbar>
<div
class=
"toolbar-left"
>
<ion-back-button
icon=
"arrow-back"
defaultHref=
"home"
></ion-back-button>
<ion-title>
{{ 'IMPRINT' | translate }}
</ion-title>
</div>
<div
class=
"toolbar-right"
>
<button
(click)=
"HelperService.goToHomePage(navCtrl)"
>
<ion-icon
name=
"home"
></ion-icon>
</button>
</div>
</ion-toolbar>
</ion-header>
<ion-content
padding
>
<ion-card>
<ion-card-header>
<ion-card-title>
Angaben gemäß §5 TMG:
</ion-card-title>
</ion-card-header>
<ion-card-content>
Humboldt-Universität zu Berlin
<br>
Institut für deutsche Sprache und Linguistik
<br>
Sprach- und literaturwissenschaftliche Fakultät
<br>
Herr Konstantin Schulz
<br>
Dorotheenstraße 24
<br>
10099 Berlin
<br>
Tel.: +49 (30) 2093-9720
<br>
E-Mail: sulzkons@hu-berlin.de
<br>
Website:
<a
href=
"https://www.projekte.hu-berlin.de/de/callidus"
target=
"_blank"
>
CALLIDUS-Projekt
</a>
</ion-card-content>
</ion-card>
<ion-card>
<ion-card-header>
<ion-card-title>
Haftung für Inhalte
</ion-card-title>
</ion-card-header>
<ion-card-content>
Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten
nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter
jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen
oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
<br>
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen
Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt
der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden
Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.
</ion-card-content>
</ion-card>
<ion-card>
<ion-card-header>
<ion-card-title>
Haftung für Links
</ion-card-title>
</ion-card-header>
<ion-card-content>
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen
Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen.
Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der
Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche
Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht
erkennbar.
<br>
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete
Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen
werden wir derartige Links umgehend entfernen.
</ion-card-content>
</ion-card>
<ion-card>
<ion-card-header>
<ion-card-title>
Urheberrecht
</ion-card-title>
</ion-card-header>
<ion-card-content>
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen
dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art
der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen
Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite
sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.
<br>
Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die
Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet.
Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um
einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige
Inhalte umgehend entfernen.
</ion-card-content>
</ion-card>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-tabs>
<ion-tab-bar
slot=
"bottom"
>
<ion-tab-button
(click)=
"goToAuthorPage()"
>
<ion-icon
name=
"walk"
></ion-icon>
<ion-label>
Übung erstellen
</ion-label>
</ion-tab-button>
<ion-tab-button
(click)=
"HelperService.goToTestPage(navCtrl)"
>
<ion-icon
name=
"school"
></ion-icon>
<ion-label>
Test beginnen
</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
</ion-toolbar>
</ion-footer>
\ No newline at end of file
src/app/imprint/imprint.page.scss
0 → 100644
View file @
efac5045
src/app/imprint/imprint.page.spec.ts
0 → 100644
View file @
efac5045
import
{
CUSTOM_ELEMENTS_SCHEMA
}
from
'
@angular/core
'
;
import
{
async
,
ComponentFixture
,
TestBed
}
from
'
@angular/core/testing
'
;
import
{
ImprintPage
}
from
'
./imprint.page
'
;
describe
(
'
ImprintPage
'
,
()
=>
{
let
component
:
ImprintPage
;
let
fixture
:
ComponentFixture
<
ImprintPage
>
;
beforeEach
(
async
(()
=>
{
TestBed
.
configureTestingModule
({
declarations
:
[
ImprintPage
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
})
.
compileComponents
();
}));
beforeEach
(()
=>
{
fixture
=
TestBed
.
createComponent
(
ImprintPage
);
component
=
fixture
.
componentInstance
;
fixture
.
detectChanges
();
});
it
(
'
should create
'
,
()
=>
{
expect
(
component
).
toBeTruthy
();
});
});
src/app/imprint/imprint.page.ts
0 → 100644
View file @
efac5045
import
{
Component
,
OnInit
}
from
'
@angular/core
'
;
import
{
HelperService
}
from
'
src/app/helper.service
'
;
import
{
NavController
}
from
'
@ionic/angular
'
;
import
{
HttpClient
}
from
'
@angular/common/http
'
;
import
{
TranslateService
}
from
'
@ngx-translate/core
'
;
@
Component
({
selector
:
'
app-imprint
'
,
templateUrl
:
'
./imprint.page.html
'
,
styleUrls
:
[
'
./imprint.page.scss
'
],
})
export
class
ImprintPage
{
HelperService
=
HelperService
;
constructor
(
public
navCtrl
:
NavController
,
public
http
:
HttpClient
,
public
translate
:
TranslateService
)
{
}
goToAuthorPage
()
{
this
.
navCtrl
.
navigateForward
(
'
/author
'
).
then
();
}
goToTestPage
()
{
this
.
navCtrl
.
navigateForward
(
'
/test
'
).
then
();
}
}
src/app/info/info.module.ts
0 → 100644
View file @
efac5045
import
{
NgModule
}
from
'
@angular/core
'
;
import
{
CommonModule
}
from
'
@angular/common
'
;
import
{
FormsModule
}
from
'
@angular/forms
'
;
import
{
Routes
,
RouterModule
}
from
'
@angular/router
'
;
import
{
IonicModule
}
from
'
@ionic/angular
'
;
import
{
InfoPage
}
from
'
./info.page
'
;
import
{
TranslateModule
}
from
"
@ngx-translate/core
"
;
const
routes
:
Routes
=
[
{
path
:
''
,
component
:
InfoPage
}
];
@
NgModule
({
imports
:
[
CommonModule
,
FormsModule
,
IonicModule
,
RouterModule
.
forChild
(
routes
),
TranslateModule
.
forChild
(),
],
declarations
:
[
InfoPage
]
})
export
class
InfoPageModule
{}