Skip to content

Instantly share code, notes, and snippets.

@herzzanu
Last active January 11, 2017 12:20
Show Gist options
  • Save herzzanu/69ec6e43610541dac3fb85c16d27765f to your computer and use it in GitHub Desktop.
Save herzzanu/69ec6e43610541dac3fb85c16d27765f to your computer and use it in GitHub Desktop.
Availability interval
import Ember from 'ember';
export default Ember.Component.extend({
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
availabilitiesIntervals: Ember.computed('[email protected]', '[email protected]', function() {
let filteredAvailabilities = this.get('model').filterBy('weekday', 'Monday');
let availabilitiesStart = filteredAvailabilities.mapBy('start');
return availabilitiesStart;
})
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
weekday: attr('string'),
start: attr('string'),
end: attr('string')
});
import Ember from 'ember';
var availability = [
{
id: 1,
weekday: "Monday",
start: "07:00",
end: "09:00"
},
{
id: 2,
weekday: "Monday",
start: "10:30",
end: "12:30"
},
{
id: 3,
weekday: "Monday",
start: "13:00",
end: "14:00"
},
{
id: 4,
weekday: "Monday",
start: "15:00",
end: "19:00"
}
]
export default Ember.Route.extend({
model() {
return availability;
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
<br>
<br>
{{#each model as |availability|}}
{{availability-interval
start=availability.start
end=availability.end
}}
{{/each}}
{{availabilitiesIntervals}}
<select onchange={{action (mut start) value="target.start"}}>
<option selected={{start}}>{{start}}</option>
</select>
<select onchange={{action (mut end) value="target.end"}}>
<option selected={{end}}>{{end}}</option>
</select>
{
"version": "0.10.7",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.10.0",
"ember-data": "2.10.0",
"ember-template-compiler": "2.10.0",
"ember-testing": "2.10.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment