Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
feudal
feudalWebpage
Commits
e4355aa1
Commit
e4355aa1
authored
Jan 18, 2019
by
Lukas Burgey
Browse files
Add preferences
parent
e960ef1e
Changes
10
Show whitespace changes
Inline
Side-by-side
src/app/dialogues/account/account.component.html
View file @
e4355aa1
...
...
@@ -10,6 +10,8 @@
<app-sshkeys></app-sshkeys>
<app-preferences></app-preferences>
<div
class=
"mat-typography"
>
<h2>
Account Management
</h2>
<p
class=
"mat-body-1"
>
...
...
src/app/dialogues/dialogues.module.ts
View file @
e4355aa1
...
...
@@ -6,6 +6,7 @@ import { FormsModule } from '@angular/forms';
import
{
MaterialModule
}
from
'
../material/material.module
'
;
import
{
SharedModule
}
from
'
../shared/shared.module
'
;
import
{
SshkeysModule
}
from
'
../sshkeys/sshkeys.module
'
;
import
{
PreferencesModule
}
from
'
../preferences/preferences.module
'
;
// declarations
import
{
QuestionnaireComponent
}
from
'
./questionnaire/questionnaire.component
'
;
...
...
@@ -26,6 +27,7 @@ import { ProfileDialogService } from './profile-dialog.service';
MaterialModule
,
SharedModule
,
SshkeysModule
,
PreferencesModule
,
],
declarations
:
[
QuestionnaireComponent
,
...
...
src/app/material/material.module.ts
View file @
e4355aa1
...
...
@@ -13,9 +13,8 @@ import { MatSelectModule } from '@angular/material/select';
import
{
MatInputModule
}
from
'
@angular/material/input
'
;
import
{
MatCheckboxModule
}
from
'
@angular/material/checkbox
'
;
import
{
MatTooltipModule
}
from
'
@angular/material/tooltip
'
;
import
{
MatProgressBarModule
}
from
'
@angular/material/progress-bar
'
;
import
{
MatProgressSpinnerModule
}
from
'
@angular/material/progress-spinner
'
;
import
{
Mat
Tabs
Module
}
from
'
@angular/material/
tabs
'
;
import
{
Mat
SlideToggle
Module
}
from
'
@angular/material/
slide-toggle
'
;
@
NgModule
({
imports
:
[
...
...
@@ -33,7 +32,7 @@ import { MatTabsModule } from '@angular/material/tabs';
MatCheckboxModule
,
MatTooltipModule
,
MatProgressSpinnerModule
,
Mat
Tabs
Module
,
Mat
SlideToggle
Module
,
],
exports
:
[
MatButtonModule
,
...
...
@@ -49,7 +48,7 @@ import { MatTabsModule } from '@angular/material/tabs';
MatCheckboxModule
,
MatTooltipModule
,
MatProgressSpinnerModule
,
Mat
Tabs
Module
,
Mat
SlideToggle
Module
,
],
})
export
class
MaterialModule
{
}
src/app/preferences/preferences.component.css
0 → 100644
View file @
e4355aa1
src/app/preferences/preferences.component.html
0 → 100644
View file @
e4355aa1
<div
class=
"mat-typography"
style=
"margin-bottom: 50px;"
>
<h2>
Preferences
</h2>
<div
*ngIf=
"(prefs.connect() | async) as ps"
>
<mat-slide-toggle
color=
"primary"
(change)=
"prefChanged(ps)"
[(ngModel)]=
"ps.showEmptyVOs"
>
Show VOs for which no service is provided
</mat-slide-toggle>
</div>
</div>
src/app/preferences/preferences.component.spec.ts
0 → 100644
View file @
e4355aa1
import
{
async
,
ComponentFixture
,
TestBed
}
from
'
@angular/core/testing
'
;
import
{
PreferencesComponent
}
from
'
./preferences.component
'
;
describe
(
'
PreferencesComponent
'
,
()
=>
{
let
component
:
PreferencesComponent
;
let
fixture
:
ComponentFixture
<
PreferencesComponent
>
;
beforeEach
(
async
(()
=>
{
TestBed
.
configureTestingModule
({
declarations
:
[
PreferencesComponent
]
})
.
compileComponents
();
}));
beforeEach
(()
=>
{
fixture
=
TestBed
.
createComponent
(
PreferencesComponent
);
component
=
fixture
.
componentInstance
;
fixture
.
detectChanges
();
});
it
(
'
should create
'
,
()
=>
{
expect
(
component
).
toBeTruthy
();
});
});
src/app/preferences/preferences.component.ts
0 → 100644
View file @
e4355aa1
import
{
Component
,
OnInit
}
from
'
@angular/core
'
;
import
{
PreferencesService
,
Prefs
}
from
'
./preferences.service
'
;
@
Component
({
selector
:
'
app-preferences
'
,
templateUrl
:
'
./preferences.component.html
'
,
styleUrls
:
[
'
./preferences.component.css
'
]
})
export
class
PreferencesComponent
implements
OnInit
{
constructor
(
public
prefs
:
PreferencesService
,
)
{
}
ngOnInit
()
{
}
public
prefChanged
(
prefs
:
Prefs
)
{
this
.
prefs
.
save
(
prefs
);
}
}
src/app/preferences/preferences.module.ts
0 → 100644
View file @
e4355aa1
import
{
NgModule
}
from
'
@angular/core
'
;
import
{
CommonModule
}
from
'
@angular/common
'
;
import
{
FormsModule
}
from
'
@angular/forms
'
;
import
{
PreferencesComponent
}
from
'
./preferences.component
'
;
import
{
PreferencesService
}
from
'
./preferences.service
'
;
import
{
MaterialModule
}
from
'
../material/material.module
'
;
@
NgModule
({
imports
:
[
CommonModule
,
MaterialModule
,
FormsModule
,
],
exports
:
[
PreferencesComponent
,
],
declarations
:
[
PreferencesComponent
,
],
providers
:
[
PreferencesService
,
],
})
export
class
PreferencesModule
{
}
src/app/preferences/preferences.service.spec.ts
0 → 100644
View file @
e4355aa1
import
{
TestBed
}
from
'
@angular/core/testing
'
;
import
{
PreferencesService
}
from
'
./preferences.service
'
;
describe
(
'
PreferencesService
'
,
()
=>
{
beforeEach
(()
=>
TestBed
.
configureTestingModule
({}));
it
(
'
should be created
'
,
()
=>
{
const
service
:
PreferencesService
=
TestBed
.
get
(
PreferencesService
);
expect
(
service
).
toBeTruthy
();
});
});
src/app/preferences/preferences.service.ts
0 → 100644
View file @
e4355aa1
import
{
Injectable
}
from
'
@angular/core
'
;
import
{
BehaviorSubject
,
Observable
}
from
'
rxjs
'
;
export
const
prefsKey
=
"
feudalPrefs
"
;
export
interface
Prefs
{
showEmptyVOs
?:
boolean
;
};
@
Injectable
({
providedIn
:
'
root
'
})
export
class
PreferencesService
{
private
prefs
:
Prefs
=
{};
private
prefs$
=
new
BehaviorSubject
<
Prefs
>
(
this
.
prefs
);
constructor
()
{
this
.
load
();
}
public
save
(
prefs
:
Prefs
):
void
{
console
.
log
(
"
Saved prefs:
"
,
prefs
);
localStorage
.
setItem
(
prefsKey
,
JSON
.
stringify
(
prefs
));
}
public
load
():
void
{
this
.
prefs
=
JSON
.
parse
(
localStorage
.
getItem
(
prefsKey
));
if
(
this
.
prefs
!=
null
&&
this
.
prefs
!=
undefined
)
{
this
.
prefs$
.
next
(
this
.
prefs
);
}
console
.
log
(
"
Loaded prefs:
"
,
this
.
prefs
);
}
public
connect
():
Observable
<
Prefs
>
{
return
this
.
prefs$
.
asObservable
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment