From 8783862cf9a03685843d14d9aef68a6fd80266a4 Mon Sep 17 00:00:00 2001 From: bertrand <bpinel@ippon.fr> Date: Tue, 18 Apr 2017 21:02:17 +0200 Subject: [PATCH] Add a detail page for displaying the bottle of a rack --- app/controllers/racks.js | 1 + app/router.js | 1 + app/routes/rack.js | 14 ++++++++++++++ app/templates/rack.hbs | 9 +++++++++ tests/unit/routes/rack-test.js | 11 +++++++++++ 5 files changed, 36 insertions(+) create mode 100644 app/routes/rack.js create mode 100644 app/templates/rack.hbs create mode 100644 tests/unit/routes/rack-test.js diff --git a/app/controllers/racks.js b/app/controllers/racks.js index e6dca9e..8037fb0 100644 --- a/app/controllers/racks.js +++ b/app/controllers/racks.js @@ -8,6 +8,7 @@ rackTableColumns: Ember.computed(function() { Ember.Object.create({ propertyName: "name", title: "Name", + routeName: "rack" }), Ember.Object.create({ propertyName: 'nbColumns', diff --git a/app/router.js b/app/router.js index 32c2acf..4dc4fcf 100644 --- a/app/router.js +++ b/app/router.js @@ -8,6 +8,7 @@ const Router = Ember.Router.extend({ Router.map(function() { this.route('racks'); + this.route('rack', { path: '/rack/:rack_id' }); }); export default Router; diff --git a/app/routes/rack.js b/app/routes/rack.js new file mode 100644 index 0000000..090db2c --- /dev/null +++ b/app/routes/rack.js @@ -0,0 +1,14 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ + model(params) { + let pid = params.rack_id; + + let rack = this.store.peekRecord('rack', pid); + if (rack == null) { + this.transitionTo('racks'); + } else { + return rack; + } + } +}); diff --git a/app/templates/rack.hbs b/app/templates/rack.hbs new file mode 100644 index 0000000..9692643 --- /dev/null +++ b/app/templates/rack.hbs @@ -0,0 +1,9 @@ +<div class="col-md-12 phase-container"> + <h4><strong>Rack Name:</strong> {{model.name}} ({{model.nbRows}} rows by {{model.nbColumns}} columns)</h4> + <ul> + {{#each model.bottles as |bottle|}} + <li>{{bottle.name}} : row {{bottle.yrow}}, column {{bottle.xcolumn}}</li> + {{/each}} + </ul> +{{outlet}} +</div> diff --git a/tests/unit/routes/rack-test.js b/tests/unit/routes/rack-test.js new file mode 100644 index 0000000..066b8eb --- /dev/null +++ b/tests/unit/routes/rack-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:rack', 'Unit | Route | rack', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + let route = this.subject(); + assert.ok(route); +}); -- GitLab