zgo/src/app/settings/settings.component.ts

106 lines
2.5 KiB
TypeScript
Raw Normal View History

2021-10-28 20:34:48 +00:00
import { Inject, Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
2022-03-07 19:46:00 +00:00
import { MatSlideToggleChange } from '@angular/material/slide-toggle';
2022-07-13 12:20:47 +00:00
import { UntypedFormBuilder, Validators, UntypedFormGroup, FormControl } from '@angular/forms';
import { User } from '../user.model';
import { Owner } from '../owner.model';
2021-10-28 20:34:48 +00:00
@Component({
selector: 'app-settings',
templateUrl: './settings.component.html',
styleUrls: ['/settings.component.css']
})
export class SettingsComponent implements OnInit {
2022-07-13 12:20:47 +00:00
settingsForm: UntypedFormGroup;
2021-10-28 20:34:48 +00:00
owner: Owner;
2022-03-07 19:46:00 +00:00
useZats: boolean;
useVKey: boolean = false;
2021-11-22 20:37:45 +00:00
coins = [
{
label: 'US Dollar',
symbol: 'usd'
},{
label: 'Euro',
symbol: 'eur'
},{
label: 'British Pound',
symbol: 'gbp'
},{
label: 'Canadian Dollar',
symbol: 'cad'
},{
label: 'Australian Dollar',
symbol: 'aud'
}
];
2021-10-28 20:34:48 +00:00
viewkeyControl = new FormControl({ value: null, disabled: false });
2021-10-28 20:34:48 +00:00
constructor(
2022-07-13 12:20:47 +00:00
private fb: UntypedFormBuilder,
2021-10-28 20:34:48 +00:00
private dialogRef: MatDialogRef<SettingsComponent>,
@Inject(MAT_DIALOG_DATA) public data: Owner
) {
2022-03-07 19:46:00 +00:00
this.useZats = data.zats;
this.useVKey = data.payconf;
2021-10-28 20:34:48 +00:00
this.settingsForm = fb.group({
2021-11-22 20:37:45 +00:00
name: [data.name, Validators.required],
2022-03-07 19:46:00 +00:00
currency: [data.currency, Validators.required],
useZats: [data.zats, Validators.required],
VkeyOn: [data.payconf, Validators.required],
VKey: [{value:data.viewkey, disabled: !this.useVKey }]
2021-10-28 20:34:48 +00:00
});
/*
if ( data.payconf )
this.viewkeyControl.enable()
else
this.viewkeyControl.disable();
*/
2021-10-28 20:34:48 +00:00
this.owner = data;
2021-10-28 20:34:48 +00:00
}
ngOnInit() {
}
close() {
this.dialogRef.close();
}
save() {
this.owner.name = this.settingsForm.value.name;
2021-11-22 20:37:45 +00:00
this.owner.currency = this.settingsForm.value.currency;
this.owner.zats = this.settingsForm.value.useZats;
this.owner.payconf = this.useVKey;
if ( this.useVKey ) {
this.owner.viewkey = this.settingsForm.value.VKey;
console.log(this.owner.viewkey);
}
else
this.owner.viewkey = '';
2021-10-28 20:34:48 +00:00
this.dialogRef.close(this.owner);
}
2022-03-07 19:46:00 +00:00
onChange(ob: MatSlideToggleChange) {
this.useZats = ob.checked;
}
onChangeVKeyOn(ob: MatSlideToggleChange) {
console.log("Viewing key switch is " +
( ob.checked ? "[ON]." : "[OFF]." ) );
this.useVKey = ob.checked;
if ( ob.checked )
this.viewkeyControl.enable()
else
{
this.viewkeyControl.disable();
}
}
2021-10-28 20:34:48 +00:00
}