Previously, the burn state lived in the controller, however if the user
moved to another page (the settings page for example) and then returned,
the progress state would be lost, leading to a broken progress bar.
Fixes: https://github.com/resin-io/etcher/issues/190
This will be the case when the dialog accepts zip files. If the selected
zip image is invalid, the module will display an error and resolve
`undefined`.
`.open()` was previously exposed in the `AppController`, however after
the router refactoring, this controller is no longer instantiated on the
footer, and therefore the links that live there stopped working.
- The autoselection only happens once the user has selected an image to
prevent weird behaviour.
- The autoselection happens only if the current selected drive is
different from the new drive in order to avoid selecting the same driver
over and over again if it still is the only one.
The `drivelist` module includes a new property called `name` in `2.0.7`
that resolves to the drive letter (mount point) on Windows, and to the
drive otherwise.
ngCloak is removed by angular when parsing the template, however this
doesn't seem to be enough to keep the content hidden until the
application is completely ready.
We accomplish this by setting `display: none` to the `body` element and
maing it display again when our main controller starts, at which point
we know everything is up and running.
This screen informs the user that the burn has completed and that the
drive can be ejected directly.
It also provides a button to burn another image without exitting the
application.
Fixes: https://github.com/resin-io/herostratus/issues/41
Currently we only pass the drive device. By passing all the object
(containing the mountpoint, size, etc) we allow more control to the
writer in how to treat the device before/during/after the burning
process.