feat(user-config): Upload user configuration from json/bin file (#545)

* feat(user-config): Upload user configuration from json/bin file

* fix error message

* remove file extension filter

* apply user config after loaded from file

* add file filter

* remove file filter
This commit is contained in:
Róbert Kiss
2018-01-08 05:29:31 +01:00
committed by László Monda
parent b3f2e3451e
commit f0139c55ee
8 changed files with 117 additions and 9 deletions

View File

@@ -3,7 +3,11 @@ import { Store } from '@ngrx/store';
import { AppState } from '../../../store';
import { ResetUserConfigurationAction } from '../../../store/actions/device';
import { SaveUserConfigInBinaryFileAction, SaveUserConfigInJsonFileAction } from '../../../store/actions/user-config';
import {
LoadUserConfigurationFromFileAction,
SaveUserConfigInBinaryFileAction,
SaveUserConfigInJsonFileAction
} from '../../../store/actions/user-config';
@Component({
selector: 'device-settings',
@@ -29,4 +33,17 @@ export class DeviceConfigurationComponent {
saveConfigurationInBINFormat() {
this.store.dispatch(new SaveUserConfigInBinaryFileAction());
}
changeFile(event): void {
const files = event.srcElement.files;
const fileReader = new FileReader();
fileReader.onloadend = function () {
const arrayBuffer = new Uint8Array(fileReader.result);
this.store.dispatch(new LoadUserConfigurationFromFileAction({
filename: event.srcElement.value,
data: Array.from(arrayBuffer)
}));
}.bind(this);
fileReader.readAsArrayBuffer(files[0]);
}
}