mirror of
https://github.com/balena-io/etcher.git
synced 2025-04-20 05:17:18 +00:00

* Make .selectImage() dialog return an object with a `path` property This allows to return more than one value for the selected image, like image size and other metadata for example. Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com> * Return image size from .selectImage() dialog This property will be useful to perform some sanity checks, like ensuring the selected drive is large enough to contain the image. Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com> * Store both the image path and the image size in the selection model In order to simplify accessing such properties in an encapsulated manner, `SelectionStateModel.getImage()` was replaced with the following functions: - `SelectionStateModel.getImagePath()`. - `SelectionStateModel.getImageSize()`. Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com> * Increase SelectionStateModel setter validation The model not providing any kind of validation was the source of some bugs I encountered while implementing the previous commits that would not have happened otherwise. Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com> * Prevent selection of drives that are not large enough - The drive selector modal was modified such that drives that are not large enough are crossed out, and the user is not able to click them. - In the case of drive auto-selection, not large enough drives won't attempt to get autoselected. This commit introduces: - The `SelectionStateModel.isDriveLargeEnough()` function. Fixes: https://github.com/resin-io/etcher/issues/344 Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>