@service store; | @service store; | ||||
@action speichern() | @action speichern() | ||||
{ | { | ||||
this.store.createRecord('produkt', { | |||||
let produkt = this.store.createRecord('produkt', { | |||||
type: 'produkt', | type: 'produkt', | ||||
id: this.titel.split(' ').join(''), | id: this.titel.split(' ').join(''), | ||||
attributes: { | |||||
titel: this.titel, | |||||
kategorie: this.kategorie, | |||||
menge: this.menge, | |||||
einheit: this.einheit, | |||||
bild: this.bild, | |||||
isselected: false | |||||
} | |||||
}).save(); | |||||
//attributes: { | |||||
titel: this.titel, | |||||
kategorie: this.kategorie, | |||||
menge: this.menge, | |||||
einheit: this.einheit, | |||||
bild: this.bild, | |||||
isselected: false | |||||
//} | |||||
}) | |||||
//produkt._promiseProxy = true; | |||||
produkt.save(); | |||||
this.store.findAll('produkt').then(function (suchergebnis) { | |||||
suchergebnis.forEach(element => { | |||||
if (element.titel != undefined) { | |||||
} | |||||
}); | |||||
}); | |||||
this.titel = null; | this.titel = null; | ||||
this.kategorie = null; | this.kategorie = null; | ||||
this.einheit = null; | this.einheit = null; | ||||
this.bild = null; | this.bild = null; | ||||
this.id = null; | this.id = null; | ||||
} | } | ||||
} | } |
if(element.titel==produktname) | if(element.titel==produktname) | ||||
{ | { | ||||
element.isselected = selection; | element.isselected = selection; | ||||
element._promiseProxy = true; | |||||
element.save().catch(failure); | element.save().catch(failure); | ||||
} | } | ||||
}); | }); |
if(element.titel==rezeptname) | if(element.titel==rezeptname) | ||||
{ | { | ||||
element.isselected = selection; | element.isselected = selection; | ||||
element._promiseProxy = true; | |||||
element.save().catch(failure); | element.save().catch(failure); | ||||
function failure(reason) | function failure(reason) |
@attr ('number') menge; | @attr ('number') menge; | ||||
@attr ('string') einheit; | @attr ('string') einheit; | ||||
@attr ('string') bild; | @attr ('string') bild; | ||||
get status() | |||||
{ | |||||
return `${this.titel} ${this.isselected}` | |||||
} | |||||
} | } |
@attr ('number') personen; | @attr ('number') personen; | ||||
@attr ('string') bild; | @attr ('string') bild; | ||||
@attr gewuerze; | @attr gewuerze; | ||||
get status() | |||||
{ | |||||
return `${this.titel} ${this.IsSelected}` | |||||
} | |||||
} | } | ||||
@service store; | @service store; | ||||
async model() { | async model() { | ||||
return this.store.findAll('produkt'); | |||||
let produkte = this.store.findAll('produkt'); | |||||
let rezepte = this.store.findAll('rezept'); | |||||
return {produkte, rezepte}; | |||||
} | } | ||||
} | } |
<Kategorie @titel={{"mein Zettel"}}> | <Kategorie @titel={{"mein Zettel"}}> | ||||
<div class="rentals"> | <div class="rentals"> | ||||
<ul class="resultsProdukt"> | <ul class="resultsProdukt"> | ||||
{{#each @model as |produkt|}} | |||||
{{#if produkt.isSelected}} | |||||
{{#each @model.produkte as |produkt|}} | |||||
{{#if produkt.isselected}} | |||||
<Produkt @produkt={{produkt}}/> | <Produkt @produkt={{produkt}}/> | ||||
{{/if}} | {{/if}} | ||||
{{/each}} | {{/each}} | ||||
{{#each @model.rezepte as |rezept|}} | |||||
{{#if rezept.isselected}} | |||||
{{#each rezept.produkte as |produkt|}} | |||||
<Produkt @produkt={{produkt.attributes}}/> | |||||
{{/each}} | |||||
{{/if}} | |||||
{{/each}} | |||||
</ul> | </ul> | ||||
</div> | </div> | ||||
</Kategorie> | </Kategorie> |
{ | { | ||||
"compilerOptions": { | "compilerOptions": { | ||||
"experimentalDecorators": true, | "experimentalDecorators": true, | ||||
"allowJs": true | |||||
"allowJs": true, | |||||
"strictBindCallApply": true, | |||||
"strict": false, | |||||
"alwaysStrict": false, | |||||
"resolveJsonModule": true, | |||||
"strictFunctionTypes": false | |||||
} | } | ||||
} | } |
{ | { | ||||
"data": [] | |||||
} | |||||
"data": [ | |||||
{ | |||||
"type": "produkt", | |||||
"id": "spaghetti", | |||||
"attributes": { | |||||
"titel": "Spaghetti", | |||||
"kategorie": "Pasta", | |||||
"menge": 500, | |||||
"einheit": "Gramm", | |||||
"bild": "https://www.pastaweb.de/wp-content/uploads/2016/02/spaghetti.jpg", | |||||
"isselected": false | |||||
} | |||||
}, | |||||
{ | |||||
"type": "produkt", | |||||
"id": "salat", | |||||
"attributes": { | |||||
"titel": "Salat", | |||||
"kategorie": "Gemüse", | |||||
"menge": 1, | |||||
"einheit": "Kopf", | |||||
"bild": "https://napolipizza-spiez.ch/WebRoot/Store2/Shops/178389/5BD1/5BA4/85F2/ACB6/97E9/D91A/30FA/F35F/gruener-salat-2464087.jpg", | |||||
"isselected": false | |||||
} | |||||
}, | |||||
{ | |||||
"type": "produkt", | |||||
"id": "milch", | |||||
"attributes": { | |||||
"titel": "Milch", | |||||
"kategorie": "Milchprodukte", | |||||
"menge": 1, | |||||
"einheit": "Liter", | |||||
"bild": "https://lebensmittel-warenkunde.de/assets/images/milch-milchprodukte.jpg", | |||||
"isselected": false | |||||
} | |||||
}, | |||||
{ | |||||
"type": "produkt", | |||||
"id": "kaese", | |||||
"attributes": { | |||||
"titel": "Käse", | |||||
"kategorie": "Milchprodukte", | |||||
"menge": 200, | |||||
"einheit": "Gramm", | |||||
"bild": "https://www.der-bank-blog.de/wp-content/uploads/2016/04/banking-schweizer-kaese.jpg", | |||||
"isselected": false | |||||
} | |||||
} | |||||
] | |||||
} |