added support for forms
parent
6de6de4592
commit
300bc99dfe
|
@ -1,12 +1,27 @@
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
<div fxLayout="column" fxLayoutAlign="center center">
|
<div fxLayout="column" fxLayoutAlign="center center">
|
||||||
<mat-tab-group mat-stretch-tabs>
|
<mat-tab-group>
|
||||||
<mat-tab [label]="'Devices'">
|
<mat-tab [label]="'Devices'">
|
||||||
<account-device-list></account-device-list>
|
<account-device-list></account-device-list>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
<mat-tab [label]="'Preferences'">
|
<mat-tab [label]="'Preferences'">
|
||||||
<ng-template matTabContent>
|
<ng-template matTabContent>
|
||||||
<account-device-preferences></account-device-preferences>
|
<account-device-preferences
|
||||||
|
[deviceSetup]="false"
|
||||||
|
[preferencesForm]="preferencesForm"
|
||||||
|
[preferences]="preferences"
|
||||||
|
>
|
||||||
|
</account-device-preferences>
|
||||||
|
</ng-template>
|
||||||
|
</mat-tab>
|
||||||
|
<mat-tab [label]="'Defaults'">
|
||||||
|
<ng-template matTabContent>
|
||||||
|
<account-device-edit
|
||||||
|
[action]="'default edit'"
|
||||||
|
[deviceForm]="defaultsForm"
|
||||||
|
[defaults]="defaults"
|
||||||
|
>
|
||||||
|
</account-device-edit>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
</mat-tab-group>
|
</mat-tab-group>
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
|
||||||
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { AccountDefaults } from '../../shared/models/defaults.model';
|
||||||
|
import { AccountPreferences } from '../../shared/models/preferences.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'account-device',
|
selector: 'account-device',
|
||||||
|
@ -6,9 +10,42 @@ import { Component, OnInit } from '@angular/core';
|
||||||
styleUrls: ['./device.component.scss']
|
styleUrls: ['./device.component.scss']
|
||||||
})
|
})
|
||||||
export class DeviceComponent implements OnInit {
|
export class DeviceComponent implements OnInit {
|
||||||
constructor() {
|
defaults: AccountDefaults;
|
||||||
|
defaultsForm: FormGroup;
|
||||||
|
preferences: AccountPreferences;
|
||||||
|
preferencesForm: FormGroup;
|
||||||
|
|
||||||
|
constructor(private formBuilder: FormBuilder, private route: ActivatedRoute) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
this.route.data.subscribe(
|
||||||
|
(data: {defaults: AccountDefaults, preferences: AccountPreferences}) => {
|
||||||
|
this.defaults = data.defaults;
|
||||||
|
this.preferences = data.preferences;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
this.defaultsForm = this.formBuilder.group(
|
||||||
|
{
|
||||||
|
city: [null],
|
||||||
|
country: [null],
|
||||||
|
name: [null],
|
||||||
|
pairingCode: [null],
|
||||||
|
placement: [null],
|
||||||
|
region: [null],
|
||||||
|
timezone: [null],
|
||||||
|
wakeWord: [null],
|
||||||
|
voice: [null]
|
||||||
|
}
|
||||||
|
);
|
||||||
|
this.preferencesForm = this.formBuilder.group(
|
||||||
|
{
|
||||||
|
dateFormat: [null, Validators.required],
|
||||||
|
measurementSystem: [null, Validators.required],
|
||||||
|
timeFormat: [null, Validators.required],
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue