Merge pull request #146 from 67P/feauture/141-time_picker

Add time input to contribution form
This commit was merged in pull request #146.
This commit is contained in:
2019-08-12 14:52:07 +02:00
committed by GitHub
3 changed files with 77 additions and 54 deletions
+9 -4
View File
@@ -1,6 +1,7 @@
import Component from '@ember/component'; import Component from '@ember/component';
import { computed } from '@ember/object'; import { computed } from '@ember/object';
import { and, notEmpty } from '@ember/object/computed'; import { and, notEmpty } from '@ember/object/computed';
import moment from 'moment';
export default Component.extend({ export default Component.extend({
@@ -21,13 +22,13 @@ export default Component.extend({
init () { init () {
this._super(...arguments); this._super(...arguments);
this.set('defaultDate', new Date()); this.set('defaultDate', moment().startOf('hour').toDate());
// Default attributes used by reset // Default attributes used by reset
this.set('attributes', { this.set('attributes', {
contributorId: null, contributorId: null,
kind: null, kind: null,
date: [new Date()], date: this.defaultDate,
amount: null, amount: null,
description: null, description: null,
url: null, url: null,
@@ -49,8 +50,12 @@ export default Component.extend({
} }
const attributes = this.getProperties(Object.keys(this.attributes)); const attributes = this.getProperties(Object.keys(this.attributes));
const [ date/* , time */ ] = attributes.date[0].toISOString().split('T');
attributes.date = date; let dateInput = (attributes.date instanceof Array) ?
attributes.date[0] : attributes.date;
const [ date, time ] = dateInput.toISOString().split('T');
[ attributes.date, attributes.time ] = [ date, time ];
this.set('inProgress', true); this.set('inProgress', true);
+23 -9
View File
@@ -1,15 +1,20 @@
<form {{action "submit" on="submit"}}> <form {{action "submit" on="submit"}}>
<label>
<p class="label">Contributor:</p>
<p> <p>
<select required onchange={{action (mut contributorId) value="target.value"}}> <select required onchange={{action (mut contributorId) value="target.value"}}>
<option value="" selected disabled hidden>Contributor</option> <option value="" selected disabled hidden></option>
{{#each contributors as |contributor|}} {{#each contributors as |contributor|}}
<option value={{contributor.id}} selected={{eq contributorId contributor.id}}>{{contributor.name}}</option> <option value={{contributor.id}} selected={{eq contributorId contributor.id}}>{{contributor.name}}</option>
{{/each}} {{/each}}
</select> </select>
</p> </p>
</label>
<label>
<p class="label">Kind:</p>
<p> <p>
<select required onchange={{action (mut kind) value="target.value"}}> <select required onchange={{action (mut kind) value="target.value"}}>
<option value="" selected disabled hidden>Kind</option> <option value="" selected disabled hidden></option>
<option value="community" selected={{eq kind "community"}}>Community</option> <option value="community" selected={{eq kind "community"}}>Community</option>
<option value="design" selected={{eq kind "design"}}>Design</option> <option value="design" selected={{eq kind "design"}}>Design</option>
<option value="dev" selected={{eq kind "dev"}}>Development</option> <option value="dev" selected={{eq kind "dev"}}>Development</option>
@@ -18,37 +23,46 @@
<option value="special" selected={{eq kind "special"}}>Special</option> <option value="special" selected={{eq kind "special"}}>Special</option>
</select> </select>
</p> </p>
</label>
<label>
<p class="label">Date:</p>
<p> <p>
{{ember-flatpickr {{ember-flatpickr
allowInput=false
altFormat="F j, Y"
altInput=true
altInputClass="date-alt"
date=date date=date
dateFormat="Y-m-d"
defaultDate=defaultDate defaultDate=defaultDate
maxDate=defaultDate maxDate=defaultDate
enableTime=true
time_24hr=true
onChange=(action (mut date)) onChange=(action (mut date))
}} }}
</p> </p>
</label>
<label>
<p class="label">Amount:</p>
<p> <p>
{{input type="text" {{input type="text"
placeholder="500" placeholder="500"
value=amount value=amount
class=(if isValidAmount "valid" "")}} class=(if isValidAmount "valid" "")}}
</p> </p>
</label>
<label>
<p class="label">Description:</p>
<p> <p>
{{input type="text" {{input type="text"
placeholder="Description"
value=description value=description
class=(if isValidDescription "valid" "")}} class=(if isValidDescription "valid" "")}}
</p> </p>
</label>
<label>
<p class="label">URL (optional):</p>
<p> <p>
{{input type="text" {{input type="text"
placeholder="URL (optional)"
value=url value=url
class=(if isValidUrl "valid" "")}} class=(if isValidUrl "valid" "")}}
</p> </p>
</label>
<p class="actions"> <p class="actions">
{{input type="submit" {{input type="submit"
disabled=inProgress disabled=inProgress
+4
View File
@@ -7,6 +7,10 @@ section#add-proposal {
p { p {
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
&.label {
margin-bottom: .5rem;
}
&.actions { &.actions {
padding-top: 1.5rem; padding-top: 1.5rem;
text-align: center; text-align: center;