From 85d861da27fa10c71b867e112dd72ba34474a0fc Mon Sep 17 00:00:00 2001
From: Matthew Dillon <mrdillon@alaska.edu>
Date: Tue, 10 Nov 2015 11:13:22 -0700
Subject: [PATCH] Refactor strains/index

---
 .../species/index/species-table/component.js  |  4 +--
 .../protected/strains/index/controller.js     |  6 ----
 app/pods/protected/strains/index/route.js     | 11 ++-----
 .../strains/index/strain-table/component.js   | 12 ++++++++
 .../strains/index/strain-table/template.hbs   | 26 +++++++++++++++++
 app/pods/protected/strains/index/template.hbs | 29 +++----------------
 6 files changed, 46 insertions(+), 42 deletions(-)
 delete mode 100644 app/pods/protected/strains/index/controller.js
 create mode 100644 app/pods/protected/strains/index/strain-table/component.js
 create mode 100644 app/pods/protected/strains/index/strain-table/template.hbs

diff --git a/app/pods/protected/species/index/species-table/component.js b/app/pods/protected/species/index/species-table/component.js
index d58f509..528c48d 100644
--- a/app/pods/protected/species/index/species-table/component.js
+++ b/app/pods/protected/species/index/species-table/component.js
@@ -1,12 +1,12 @@
 import Ember from 'ember';
 import SetupMetaData from '../../../../../mixins/setup-metadata';
 
-const { Component } = Ember;
+const { Component, computed: { sort } } = Ember;
 
 export default Component.extend(SetupMetaData, {
   species: null,
 
   sortParams: ['speciesName', 'strainCount'],
-  sortedSpecies: Ember.computed.sort('species', 'sortParams'),
+  sortedSpecies: sort('species', 'sortParams'),
 
 });
diff --git a/app/pods/protected/strains/index/controller.js b/app/pods/protected/strains/index/controller.js
deleted file mode 100644
index ec348db..0000000
--- a/app/pods/protected/strains/index/controller.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import Ember from 'ember';
-
-export default Ember.Controller.extend({
-  sortParams: ['sortOrder'],
-  sortedStrains: Ember.computed.sort('model', 'sortParams'),
-});
diff --git a/app/pods/protected/strains/index/route.js b/app/pods/protected/strains/index/route.js
index e5582d7..627760f 100644
--- a/app/pods/protected/strains/index/route.js
+++ b/app/pods/protected/strains/index/route.js
@@ -1,17 +1,10 @@
 import Ember from 'ember';
 
-export default Ember.Route.extend({
-  currentUser: Ember.inject.service('session-account'),
+const { Route } = Ember;
 
+export default Route.extend({
   model: function() {
     return this.store.findAll('strain');
   },
 
-  setupController: function(controller, model) {
-    controller.set('model', model);
-    this.get('currentUser.account').then((user) => {
-      controller.set('metaData', user.get('metaData'));
-    });
-  },
-
 });
diff --git a/app/pods/protected/strains/index/strain-table/component.js b/app/pods/protected/strains/index/strain-table/component.js
new file mode 100644
index 0000000..0e801ca
--- /dev/null
+++ b/app/pods/protected/strains/index/strain-table/component.js
@@ -0,0 +1,12 @@
+import Ember from 'ember';
+import SetupMetaData from '../../../../../mixins/setup-metadata';
+
+const { Component, computed: { sort } } = Ember;
+
+export default Component.extend(SetupMetaData, {
+  strains: null,
+
+  sortParams: ['fullNameMU'],
+  sortedStrains: sort('strains', 'sortParams'),
+
+});
diff --git a/app/pods/protected/strains/index/strain-table/template.hbs b/app/pods/protected/strains/index/strain-table/template.hbs
new file mode 100644
index 0000000..bb13d76
--- /dev/null
+++ b/app/pods/protected/strains/index/strain-table/template.hbs
@@ -0,0 +1,26 @@
+<h3 id="total-strains">Total strains: {{strains.length}}</h3>
+
+{{add-button label="Add Strain" link="protected.strains.new" canAdd=metaData.canAdd}}
+
+<table class="flakes-table">
+  <thead>
+    <tr>
+      <th>Species</th>
+      <th>Total Measurements</th>
+    </tr>
+  </thead>
+  <tbody>
+    {{#each sortedStrains as |strain|}}
+      <tr>
+        <td>
+          {{#link-to 'protected.strains.show' strain classBinding="data.typeStrain:type-strain"}}
+            {{strain.fullNameMU}}
+          {{/link-to}}
+        </td>
+        <td>
+          {{strain.totalMeasurements}}
+        </td>
+      </tr>
+    {{/each}}
+  </tbody>
+</table>
diff --git a/app/pods/protected/strains/index/template.hbs b/app/pods/protected/strains/index/template.hbs
index 851f93b..d441386 100644
--- a/app/pods/protected/strains/index/template.hbs
+++ b/app/pods/protected/strains/index/template.hbs
@@ -1,27 +1,6 @@
 <h2>{{genus-name}} Strains</h2>
-<h3 id="total-strains">Total strains: {{model.length}}</h3>
 
-{{add-button label="Add Strain" link="protected.strains.new" canAdd=metaData.canAdd}}
-
-<table class="flakes-table">
-  <thead>
-    <tr>
-      <th>Species</th>
-      <th>Total Measurements</th>
-    </tr>
-  </thead>
-  <tbody>
-    {{#each sortedStrains as |row|}}
-      <tr>
-        <td>
-          {{#link-to 'protected.strains.show' row classBinding="data.typeStrain:type-strain"}}
-            {{row.fullNameMU}}
-          {{/link-to}}
-        </td>
-        <td>
-          {{row.totalMeasurements}}
-        </td>
-      </tr>
-    {{/each}}
-  </tbody>
-</table>
+{{
+  protected/strains/index/strain-table
+  strains=model
+}}