60 Commits

Author SHA1 Message Date
Juan Cruz Viotti
53b3daa335 Implement showIfState and hideIfState directives
This directives will be used in the header navigation instead of
re-using this logic from the `NavigationController`.

A consequence of this change is that `NavigationController` is no longer
needed, and therefore is removed.
2016-04-01 12:09:00 -04:00
Juan Cruz Viotti
a4ebe8af50 Implement an openExternal attribute directive.
This directive will be used in the header and footer instead of having
to rely on `NavigationController` to expose `shell.openExternal`.
2016-04-01 11:03:10 -04:00
Juan Cruz Viotti
3bdaadcfb8 Decouple DriveScannerService from Dialog 2016-04-01 10:32:34 -04:00
Juan Cruz Viotti
f879245fce Merge pull request #234 from resin-io/refactor/selection-state-model
Convert SelectionStateService into a model
2016-04-01 10:31:51 -04:00
Juan Cruz Viotti
244d5ca727 Convert SelectionStateService into a model 2016-04-01 10:18:59 -04:00
Juan Cruz Viotti
832d6843df Extract browser window progress into WindowProgressService 2016-04-01 10:08:14 -04:00
Juan Cruz Viotti
f5c9a3a32a Move all settings related components to a settings page subdirectory 2016-03-31 15:58:00 -04:00
Juan Cruz Viotti
472f91a504 Group finish page components in a common directory 2016-03-31 15:33:03 -04:00
Juan Cruz Viotti
797a253158 Group all parts of the progress-button component in a single directory 2016-03-31 15:14:10 -04:00
Juan Cruz Viotti
18a1606988 Implement a drive selector modal
This modal provides a more advanced way to select a drive. It prevents
certain issues the dropdown was having, like the contents overflowing
when there were many connected drives.

Fixes: https://github.com/resin-io/etcher/issues/202
2016-03-31 12:18:23 -04:00
Juan Cruz Viotti
ef16f69df9 Merge pull request #222 from resin-io/fix/use-same-image
Fix "Use same image" not preserving the image selection
2016-03-31 08:49:18 -04:00
Juan Cruz Viotti
e541357450 Fix "Use same image" not preserving the image selection 2016-03-30 16:28:22 -04:00
Juan Cruz Viotti
6f7ea4e772 Convert hero-progress-button into an Angular directive 2016-03-30 15:46:48 -04:00
Juan Cruz Viotti
dcdc7a18e2 Fix broken state when going to settings in the success screen 2016-03-10 17:15:57 -04:00
Juan Cruz Viotti
cb43ec19dd Move NavigationController to a separate file 2016-03-10 15:44:33 -04:00
Juan Cruz Viotti
caea581589 Move SettingsController to settings module 2016-03-10 14:57:55 -04:00
Juan Cruz Viotti
3149f5af6d Move FinishController to a separate file 2016-03-10 14:52:08 -04:00
Juan Cruz Viotti
e429a87d5a Move "Restart" event log to FinishController 2016-03-10 12:36:34 -04:00
Juan Cruz Viotti
9c5748b54e Reset burn state in FinishController 2016-03-10 12:05:28 -04:00
Juan Cruz Viotti
793001e133 Move burn state to ImageWriterService
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
2016-03-10 12:01:22 -04:00
Juan Cruz Viotti
3e352d4224 Avoid analytics and logging if dialog resolves no file
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`.
2016-03-07 10:19:36 -04:00
Juan Cruz Viotti
bd009a75b0 Expose shell.openExternal in NavigationController
`.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.
2016-03-02 12:28:42 -04:00
Juan Cruz Viotti
9f4b793c8d Add a setting to disable auto-unmount on success 2016-03-02 12:06:33 -04:00
Juan Cruz Viotti
64c27235bf Make use of UI Router 2016-03-01 19:50:25 -04:00
Juan Cruz Viotti
61a1527c7e Implement settings screen 2016-03-01 12:22:03 -04:00
Juan Cruz Viotti
75f22c0209 Implement AnalyticsService.logEvent() 2016-03-01 09:38:43 -04:00
Juan Cruz Viotti
1d75ec02aa Include TrackJS Angular module in Analytics module 2016-02-29 15:54:21 -04:00
Juan Cruz Viotti
1c6675ab4f Integrate Mixpanel 2016-02-29 15:52:00 -04:00
Juan Cruz Viotti
9aac1cd4be Show progress bar in dock/taskbar 2016-02-29 14:00:55 -04:00
Juan Cruz Viotti
7949853086 Refer to Etcher instead of Resin Etcher 2016-02-08 13:04:54 -04:00
Juan Cruz Viotti
fd86807f86 Move TrackJS integration to a separate Angular module 2016-01-26 10:21:47 -04:00
Juan Cruz Viotti
84d87e5a10 Move burn state log to app controller
This change required re-architecting the way we store the burn state.
2016-01-22 12:30:42 -04:00
Juan Cruz Viotti
122f136ff8 Refactor Etcher using ES6 features 2016-01-22 11:38:46 -04:00
Juan Cruz Viotti
34b7bdb59f Move LoggerService timestamp to $log decorator 2016-01-22 10:17:18 -04:00
Juan Cruz Viotti
efb055eb89 Upgrade Electron to v0.36.4 2016-01-22 09:37:57 -04:00
Juan Cruz Viotti
96bf7f3624 Get rid of Browserify
Electron already exposes `require()` in the renderer process.
2016-01-21 23:57:04 -04:00
Juan Cruz Viotti
a50a07a233 Merge pull request #104 from resin-io/feat/trackjs
Integrate Etcher with TrackJS
2016-01-20 16:38:45 -04:00
Federico Martín Alconada Verzini
6331ee4aa1 Add button to burn the same image again. Fixes #74 2016-01-20 12:28:15 -04:00
Juan Cruz Viotti
9a125c2a36 Integrate Etcher with TrackJS 2016-01-19 14:00:20 -04:00
Juan Cruz Viotti
4ab2dc1948 Merge pull request #102 from resin-io/fix/use-logger-service
Make use of LoggerService in reselection routines
2016-01-19 10:31:35 -04:00
Juan Cruz Viotti
26f2104163 Merge pull request #101 from resin-io/doc/ng-cloak
Explain why we toggle body's display manually instead of using ngCloak
2016-01-19 10:27:45 -04:00
Juan Cruz Viotti
7d6a43e091 Make use of LoggerService in reselection routines 2016-01-19 10:25:13 -04:00
Juan Cruz Viotti
f20fb36328 Merge pull request #100 from resin-io/feat/logger
Implement a decent debug logger service
2016-01-19 10:16:33 -04:00
Juan Cruz Viotti
817a6f591b Explain why we toggle body's display manually instead of using ngCloak 2016-01-19 10:14:37 -04:00
Juan Cruz Viotti
6478982896 Implement a decent debug logger service
This service prints the exact date and time of the messages.
2016-01-19 10:07:59 -04:00
Juan Cruz Viotti
8026cef1df Allow to re-select the first two step selections
You can click on the selected image/drive label to select them again.

The re-selection is disabled if there is a burning in process.

Fixes: https://github.com/resin-io/resin-etcher/issues/90
2016-01-19 09:47:58 -04:00
Juan Cruz Viotti
e30de45707 Implement ImageWriterService.reset()
This function allows the client to easily reset the progress state
without breaking encapsulation.
2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
9ffc642784 Autoselect a single drive by using DriveScanner scan event
- 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.
2016-01-18 13:46:52 -04:00
Juan Cruz Viotti
b7da4dfeda Autoselect the drive if only one drive is present 2016-01-18 13:46:29 -04:00
Juan Cruz Viotti
5af3cf3fb9 Simplify drive letter / device conditional
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.
2016-01-11 01:24:52 -04:00