Browse Source

Produkte der Rezepte auf Zettel anzeigen

master
Felix Diemar 3 years ago
parent
commit
b41736386a

+ 25
- 12
app/components/hinzufuegen.js View File



@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;


} }
} }

+ 1
- 0
app/components/produkt.js View File

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);
} }
}); });

+ 1
- 0
app/components/rezept.js View File

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)

+ 0
- 5
app/models/produkt.js View File

@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}`
}
} }

+ 0
- 6
app/models/rezept.js View File

@attr ('number') personen; @attr ('number') personen;
@attr ('string') bild; @attr ('string') bild;
@attr gewuerze; @attr gewuerze;

get status()
{
return `${this.titel} ${this.IsSelected}`
}
} }



+ 4
- 1
app/routes/zettel.js View File

@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};
} }
} }

+ 9
- 2
app/templates/zettel.hbs View File

<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>

+ 6
- 1
jsconfig.json View File

{ {
"compilerOptions": { "compilerOptions": {
"experimentalDecorators": true, "experimentalDecorators": true,
"allowJs": true
"allowJs": true,
"strictBindCallApply": true,
"strict": false,
"alwaysStrict": false,
"resolveJsonModule": true,
"strictFunctionTypes": false
} }
} }

+ 51
- 2
public/api/produkts.json View File

{ {
"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
}
}
]
}

Loading…
Cancel
Save