Refactoring strains

This commit is contained in:
Matthew Dillon 2015-07-08 14:44:24 -08:00
parent 5290e7efd7
commit 01a3075655
23 changed files with 275 additions and 223 deletions

View file

@ -1,3 +0,0 @@
{{#each a as |error|}}
<div class="flakes-message error">{{error.message}}</div>
{{/each}}

View file

@ -5,6 +5,7 @@ export default Ember.Component.extend({
save: function() {
this.sendAction('save');
},
cancel: function() {
this.sendAction('cancel');
},

View file

@ -0,0 +1,17 @@
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
save: function() {
// Need to override the string id for some reason
let strain = this.get('strain');
let id = strain.get('species.id');
strain.set('species.id', +id);
this.sendAction('save');
},
cancel: function() {
this.sendAction('cancel');
},
}
});

View file

@ -0,0 +1,61 @@
<form class="grid-form">
<fieldset>
<legend><em>{{strain.strainName}}</em></legend>
<div data-row-span="2">
<div data-field-span="1">
<label>Strain Name</label>
{{input value=strain.strainName}}
</div>
<div data-field-span="1">
<label>Type Strain?</label>
{{input type="checkbox" checked=strain.typeStrain}} {{if strain.typeStrain 'Yes' 'No'}}
</div>
</div>
<div data-row-span="2">
<div data-field-span="2">
<label>Species</label>
{{
select-2
content=species
optionLabelPath="speciesName"
value=strain.species
}}
</div>
</div>
<div data-row-span="2">
<div data-field-span="2">
<label>Isolated From</label>
{{textarea value=strain.isolatedFrom cols="70" rows="5"}}
</div>
</div>
<div data-row-span="3">
<div data-field-span="1">
<label>Accession Numbers</label>
{{input value=strain.accessionNumbers}}
</div>
<div data-field-span="1">
<label>GenBank</label>
{{input value=strain.genbank}}
</div>
<div data-field-span="1">
<label>Whole Genome Sequence</label>
{{input value=strain.wholeGenomeSequence}}
</div>
</div>
<div data-row-span="2">
<div data-field-span="2">
<label>Notes</label>
{{textarea value=strain.notes cols="70" rows="5"}}
</div>
</div>
</fieldset>
</form>
<br>
<a class="button-red smaller" {{action 'cancel'}}>
Cancel
</a>
{{#if strain.isDirty}}
<a class="button-green smaller" {{action 'save'}}>
Save
</a>
{{/if}}

View file

@ -1,20 +0,0 @@
import Ember from 'ember';
import userCanEdit from '../../../utils/user-can-edit';
export default Ember.Component.extend({
classNames: ['grid-1'],
isEditing: false,
canEdit: function() {
return userCanEdit(this.get('session.currentUser'), this.get('strain.createdBy'));
}.property('session.currentUser', 'strain.createdBy').readOnly(),
actions: {
save: function() {
this.sendAction('save');
},
cancel: function() {
this.sendAction('cancel');
},
}
});

View file

@ -1,145 +0,0 @@
<div class="span-1">
<fieldset class="flakes-information-box {{if isEditing 'is-editing'}}">
<legend>
Strain
{{#if isEditing}}
{{input value=strain.strainName}}
{{else}}
{{strain.strainNameMU}}
{{/if}}
{{display-errors a=strain.errors.strainName}}
</legend>
{{! ROW 1 }}
<div class="grid-4 gutter-50">
<dl class="span-2">
<dt>Species</dt>
<dd>
{{#if isEditing}}
{{
select-2
content=species
optionLabelPath="speciesName"
value=strain.species
}}
{{else}}
{{#link-to 'species.show' strain.species}}
<em>{{strain.species.speciesName}}</em>
{{/link-to}}
{{/if}}
</dd>
</dl>
<dl class="span-2">
<dt>Type Strain?</dt>
<dd>
{{#if isEditing}}
{{input type="checkbox" checked=strain.typeStrain}}
{{/if}}
{{if strain.typeStrain 'Yes' 'No'}}
{{display-errors a=strain.errors.typeStrain}}
</dd>
</dl>
</div>
{{! ROW 2 }}
<div class="grid-6">
<dl class="span-2">
<dt>Accession Numbers</dt>
<dd>
{{#if isEditing}}
{{input value=strain.accessionNumbers}}
{{else}}
{{strain.accessionNumbers}}
{{/if}}
{{display-errors a=strain.errors.accessionNumbers}}
</dd>
</dl>
<dl class="span-2">
<dt>Genbank</dt>
<dd>
{{#if isEditing}}
{{input value=strain.genbank}}
{{else}}
{{genbank-url genbank=strain.genbank}}
{{/if}}
{{display-errors a=strain.errors.genbank}}
</dd>
</dl>
<dl class="span-2">
<dt>Whole Genome Sequence</dt>
<dd>
{{#if isEditing}}
{{input value=strain.wholeGenomeSequence}}
{{else}}
{{strain.wholeGenomeSequence}}
{{/if}}
{{display-errors a=strain.errors.wholeGenomeSequence}}
</dd>
</dl>
</div>
{{! ROW 3 }}
<div class="grid-4">
<dl class="span-4">
<dt>Isolated From</dt>
<dd>
{{#if isEditing}}
{{textarea value=strain.isolatedFrom cols="70" rows="3"}}
{{else}}
{{strain.isolatedFrom}}
{{/if}}
{{display-errors a=strain.errors.isolatedFrom}}
</dd>
</dl>
</div>
{{! ROW 4 }}
<div class="grid-4">
<dl class="span-4">
<dt>Notes</dt>
<dd>
{{#if isEditing}}
{{textarea value=strain.notes cols="70" rows="3"}}
{{else}}
{{strain.notes}}
{{/if}}
{{display-errors a=strain.errors.notes}}
</dd>
</dl>
</div>
{{! ROW 5 }}
<div class="grid-4">
<dl class="span-1">
<dt>Record Created</dt>
<dd>{{null-time strain.createdAt 'LL'}}</dd>
</dl>
<dl class="span-1">
<dt>Record Updated</dt>
<dd>{{null-time strain.updatedAt 'LL'}}</dd>
</dl>
<dl class="span-1">
<dt>Record Deleted</dt>
<dd>{{null-time strain.deletedAt 'LL'}}</dd>
</dl>
<dl class="span-1"></dl>
</div>
{{! ROW 6 }}
{{#if canEdit}}
<div class="grid-4">
<div class="span-1">
{{! Does nothing ATM }}
<a class="smaller {{if isEditing 'button-red' 'button-gray'}}" {{action 'cancel'}}>
{{#if isEditing}}Cancel{{else}}Edit{{/if}}
</a>
{{#if isEditing}}
<a class="button-green smaller" {{action 'save'}}>
Save
</a>
{{/if}}
</div>
</div>
{{/if}}
</fieldset>
</div>