diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 901684fb..6965d929 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -108,7 +108,7 @@ be documented instead! [lego-blocks]: https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328 [etcher-image-write]: https://github.com/resin-io-modules/etcher-image-write -[exit-codes]: https://github.com/resin-io/etcher/blob/master/lib/src/exit-codes.js +[exit-codes]: https://github.com/resin-io/etcher/blob/master/lib/shared/exit-codes.js [cli-dir]: https://github.com/resin-io/etcher/tree/master/lib/cli [gui-dir]: https://github.com/resin-io/etcher/tree/master/lib/gui [electron]: http://electron.atom.io diff --git a/docs/CLI.md b/docs/CLI.md index 43b74479..2f266661 100644 --- a/docs/CLI.md +++ b/docs/CLI.md @@ -71,7 +71,7 @@ Exit codes ---------- The Etcher CLI uses certain exit codes to signal the result of the operation. -These are documented in [`lib/src/exit-codes.js`][exit-codes] and are also +These are documented in [`lib/shared/exit-codes.js`][exit-codes] and are also printed on the Etcher CLI help page. -[exit-codes]: https://github.com/resin-io/etcher/blob/master/lib/src/exit-codes.js +[exit-codes]: https://github.com/resin-io/etcher/blob/master/lib/shared/exit-codes.js diff --git a/lib/cli/cli.js b/lib/cli/cli.js index 72fa2155..da2c2cff 100644 --- a/lib/cli/cli.js +++ b/lib/cli/cli.js @@ -20,7 +20,7 @@ const _ = require('lodash'); const fs = require('fs'); const yargs = require('yargs'); const utils = require('./utils'); -const EXIT_CODES = require('../src/exit-codes'); +const EXIT_CODES = require('../shared/exit-codes'); const packageJSON = require('../../package.json'); /** diff --git a/lib/cli/etcher.js b/lib/cli/etcher.js index 2e5b6af1..127caa98 100644 --- a/lib/cli/etcher.js +++ b/lib/cli/etcher.js @@ -25,7 +25,7 @@ const drivelist = Bluebird.promisifyAll(require('drivelist')); const writer = require('./writer'); const utils = require('./utils'); const options = require('./cli'); -const EXIT_CODES = require('../src/exit-codes'); +const EXIT_CODES = require('../shared/exit-codes'); isElevated().then((elevated) => { if (!elevated) { diff --git a/lib/gui/app.js b/lib/gui/app.js index 59f29afc..e0cd15f2 100644 --- a/lib/gui/app.js +++ b/lib/gui/app.js @@ -24,7 +24,7 @@ var angular = require('angular'); const electron = require('electron'); -const EXIT_CODES = require('../src/exit-codes'); +const EXIT_CODES = require('../shared/exit-codes'); /* eslint-enable no-var */ diff --git a/lib/gui/components/drive-selector/controllers/drive-selector.js b/lib/gui/components/drive-selector/controllers/drive-selector.js index 16e0812f..604f4fe4 100644 --- a/lib/gui/components/drive-selector/controllers/drive-selector.js +++ b/lib/gui/components/drive-selector/controllers/drive-selector.js @@ -18,7 +18,13 @@ const _ = require('lodash'); -module.exports = function($q, $uibModalInstance, DrivesModel, SelectionStateModel, WarningModalService) { +module.exports = function( + $q, + $uibModalInstance, + DrivesModel, + SelectionStateModel, + WarningModalService, + DriveConstraintsModel) { /** * @summary The drive selector state @@ -27,6 +33,13 @@ module.exports = function($q, $uibModalInstance, DrivesModel, SelectionStateMode */ this.state = SelectionStateModel; + /** + * @summary Static methods to check a drive's properties + * @property + * @type Object + */ + this.constraints = DriveConstraintsModel; + /** * @summary The drives model * @property @@ -55,11 +68,11 @@ module.exports = function($q, $uibModalInstance, DrivesModel, SelectionStateMode * }); */ const shouldChangeDriveSelectionState = (drive) => { - if (!SelectionStateModel.isDriveValid(drive)) { + if (!DriveConstraintsModel.isDriveValid(drive, SelectionStateModel.getImage())) { return $q.resolve(false); } - if (SelectionStateModel.isDriveSizeRecommended(drive)) { + if (DriveConstraintsModel.isDriveSizeRecommended(drive, SelectionStateModel.getImage())) { return $q.resolve(true); } diff --git a/lib/gui/components/drive-selector/drive-selector.js b/lib/gui/components/drive-selector/drive-selector.js index fe233181..14a7c3ad 100644 --- a/lib/gui/components/drive-selector/drive-selector.js +++ b/lib/gui/components/drive-selector/drive-selector.js @@ -27,6 +27,7 @@ const DriveSelector = angular.module(MODULE_NAME, [ require('../warning-modal/warning-modal'), require('../../models/drives'), require('../../models/selection-state'), + require('../../models/drive-constraints'), require('../../utils/byte-size/byte-size') ]); diff --git a/lib/gui/components/drive-selector/templates/drive-selector-modal.tpl.html b/lib/gui/components/drive-selector/templates/drive-selector-modal.tpl.html index 33671fb5..bac07241 100644 --- a/lib/gui/components/drive-selector/templates/drive-selector-modal.tpl.html +++ b/lib/gui/components/drive-selector/templates/drive-selector-modal.tpl.html @@ -6,7 +6,7 @@