1
0
Fork 0
sortable-recipes/app/components/recipe-list.js
2019-12-22 11:47:00 -06:00

35 lines
816 B
JavaScript

import Component from '@glimmer/component';
import { tracked } from "@glimmer/tracking";
import { action } from "@ember/object";
import { A } from '@ember/array';
import { task } from 'ember-concurrency';
import { inject as service } from '@ember/service';
export default class RecipeListComponent extends Component {
@service store;
@tracked items = A([]);
constructor() {
super(...arguments);
this.assignExistingItems();
}
async assignExistingItems() {
let items = await this.store.peekAll('meal');
this.items = items;
}
@(task(function * () {
return yield this.store.queryRecord('meal', 'random');
})) fetchRecipe;
@action
reorderItems(reorderedItems) {
this.items = reorderedItems;
}
@action
async addRecipe() {
await this.fetchRecipe.perform();
}
}