Rough measurements search (WIP)
This commit is contained in:
parent
1976b49608
commit
c70dd933c5
8 changed files with 166 additions and 47 deletions
|
@ -4,18 +4,46 @@ import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixi
|
|||
export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
||||
model: function() {
|
||||
return Ember.RSVP.hash({
|
||||
measurements: this.store.findAll('measurement'),
|
||||
species: this.store.findAll('species')
|
||||
species: this.store.findAll('species'),
|
||||
strains: this.store.findAll('strain'),
|
||||
characteristics: this.store.findAll('characteristic'),
|
||||
});
|
||||
},
|
||||
setupController: function(controller, models) {
|
||||
var tableAttrs = [
|
||||
{ name: 'Strain', attr: 'strain.strainName' },
|
||||
{ name: 'Characteristic', attr: 'characteristic.CharacteristicName' },
|
||||
{ name: 'Characteristic', attr: 'characteristic.characteristicName' },
|
||||
{ name: 'Value', attr: 'computedValue'}
|
||||
];
|
||||
controller.set('model', models);
|
||||
controller.set('tableAttrs', tableAttrs);
|
||||
controller.set('row', 'measurement-index-row');
|
||||
controller.set('measurements', []);
|
||||
|
||||
// Set up search parameters
|
||||
models.strains = models.strains.sortBy('fullName');
|
||||
let strains = models.strains.map((strain)=>{
|
||||
return Ember.Object.create({
|
||||
val: strain.get('id'),
|
||||
lab: strain.get('fullName'),
|
||||
});
|
||||
});
|
||||
strains.unshiftObjects(Ember.Object.create({
|
||||
val: 'all',
|
||||
lab: 'All Strains',
|
||||
}));
|
||||
controller.set('strains', strains);
|
||||
|
||||
models.characteristics = models.characteristics.sortBy('characteristicName');
|
||||
let characteristics = models.characteristics.map((characteristic)=>{
|
||||
return Ember.Object.create({
|
||||
val: characteristic.get('id'),
|
||||
lab: characteristic.get('characteristicName'),
|
||||
});
|
||||
});
|
||||
characteristics.unshiftObjects(Ember.Object.create({
|
||||
val: 'all',
|
||||
lab: 'All Characteristics',
|
||||
}));
|
||||
controller.set('characteristics', characteristics);
|
||||
},
|
||||
});
|
||||
|
|
|
@ -1,11 +1,31 @@
|
|||
<h2>{{genus-name}} Measurements</h2>
|
||||
<h3>Total measurements: {{model.length}}</h3>
|
||||
<div class="grid-12 gutter-50">
|
||||
<div class="span-4">
|
||||
Strains
|
||||
</div>
|
||||
<div class="span-8">
|
||||
{{
|
||||
view "select"
|
||||
content=strains
|
||||
optionValuePath="content.val"
|
||||
optionLabelPath="content.lab"
|
||||
value=selectedStrain
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-12 gutter-50">
|
||||
<div class="span-4">
|
||||
Characteristics
|
||||
</div>
|
||||
<div class="span-8">
|
||||
{{
|
||||
view "select"
|
||||
content=characteristics
|
||||
optionValuePath="content.val"
|
||||
optionLabelPath="content.lab"
|
||||
value=selectedCharacteristic
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{
|
||||
view "select"
|
||||
content=model.species
|
||||
optionValuePath="content.id"
|
||||
optionLabelPath="content.speciesName"
|
||||
}}
|
||||
|
||||
{{sortable-table content=model.measurements tableAttrs=tableAttrs row=row}}
|
||||
{{measurement-search-table}}
|
||||
|
|
Reference in a new issue