Browse Source

upload error

master
Felix Diemar 3 years ago
parent
commit
dd7df2b28e

+ 12
- 2
app/adapters/application.js View File

export default class ApplicationAdapter extends JSONAPIAdapter { export default class ApplicationAdapter extends JSONAPIAdapter {
namespace = 'api'; namespace = 'api';


buildURL(...args) {
return `${super.buildURL(...args)}.json`;
buildURL(...args) {return `${super.buildURL(...args)}.json`;}

urlForUpdateRecord(id, modelName, snapshot) {
return `api/${modelName}s`;
}

createRecord(store, type, snapshot) {
let data = this.serialize(snapshot, { includeId: true });
//let url = `/${type.modelName}`;

// ...
} }
} }


+ 5
- 11
app/components/produkt.hbs View File

<button type="button" class="produkt {{if @isSelected "selected"}}" {{on "click" (fn this.toggleSelection @titel)}}>
<img src={{@bild}} alt="Ein Bild von {{@titel}}"/>
<h3>{{@titel}}</h3>
<button type="button" class="produkt {{if @produkt.isSelected "selected"}}" {{on "click" (fn this.toggleSelection @produkt.titel)}}>
<img src={{@produkt.bild}} alt="Ein Bild von {{@produkt.titel}}"/>
<h3>{{@produkt.titel}}</h3>
<ul class="details"> <ul class="details">
<li class="detail"><h4>Menge:</h4> {{@menge}}{{@einheit}}</li>
<li class="detail"><h4>Menge:</h4> {{@produkt.menge}}{{@produkt.einheit}}</li>
</ul> </ul>
</button>



<!--<li class="detail"><h4>this.ex:</h4> {{this.ex}}</li>
<li class="detail"><h4>this.prodn:</h4> {{this.prodn}}</li>
<li class="detail"><h4>produkt count:</h4> {{this.count}}</li>-->
</button>

+ 10
- 2
app/components/produkt.js View File

import { action } from '@ember/object'; import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking'; import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service'; import { inject as service } from '@ember/service';
import ApplicationAdapter from '../adapters/application';


export default class ProduktController extends Component { export default class ProduktController extends Component {
@tracked isLarge = false; @tracked isLarge = false;
setStatus(produktname, selection) setStatus(produktname, selection)
{ {
function failure(reason) {
// handle the error
if(reason != null)
{
;
}
}

//schreibt den aktuellen Zustand in den Store //schreibt den aktuellen Zustand in den Store
this.store.findAll('produkt') this.store.findAll('produkt')
.then(function(suchergebnis) .then(function(suchergebnis)
if(element.titel==produktname) if(element.titel==produktname)
{ {
element.isSelected = selection; element.isSelected = selection;
element.save();
this.store.updateRelationships();
element.save().catch(failure);
} }
}); });
}); });

+ 9
- 27
app/components/rezept.hbs View File

{{#if @isSelected}}
<button type="button" class="rezept selected" {{on "click" (fn this.toggleSelection @titel)}}>
<span><img src={{@bild}} alt="Ein Bild von {{@titel}}"/></span>
<button type="button" class="rezept {{if @rezept.isSelected "selected"}}" {{on "click" (fn this.toggleSelection @rezept.titel)}}>
<span><img src={{@rezept.bild}} alt="Ein Bild von {{@rezept.titel}}"/></span>
<span> <span>
<h3>{{@titel}}</h3>
<h3>{{@rezept.titel}}</h3>
<ul class="details"> <ul class="details">
<li class="detail"><h4>Zutaten:</h4>{{#each @produkte as |produkt|}}
{{produkt.attributes.titel}},
{{/each}}Gewürze</li>
<li class="detail"><h4>Personen:</h4>{{@personen}}</li>
<li class="detail"><h4>Dauer:</h4>{{@dauer}} Minuten</li>
</ul>
</span>
<li class="detail"><h4>Zutaten:</h4>{{#each @rezept.produkte as |produkt|}}
{{produkt.attributes.titel}}, {{/each}}Gewürze</li>
<li class="detail"><h4>Personen:</h4>{{@rezept.personen}}</li>
<li class="detail"><h4>Dauer:</h4>{{@rezept.dauer}} Minuten</li>
</ul>
</span>
</button> </button>
{{else}}
<button type="button" class="rezept" {{on "click" (fn this.toggleSelection @titel)}}>
<span><img src={{@bild}} alt="Ein Bild von {{@titel}}"/></span>
<span>
<h3>{{@titel}}</h3>
<ul class="details">
<li class="detail"><h4>Zutaten:</h4>{{#each @produkte as |produkt|}}
{{produkt.attributes.titel}},
{{/each}}Gewürze</li>
<li class="detail"><h4>Personen:</h4>{{@personen}} </li>
<li class="detail"><h4>Dauer:</h4>{{@dauer}} Minuten</li>
</ul>
</span>
</button>
{{/if}}


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

if(element.titel==rezeptname) if(element.titel==rezeptname)
{ {
element.isSelected = selection; element.isSelected = selection;
element.save();
element.save().catch(failure);
function failure(reason)
{
// handle the error
if(reason != null)
{
;
}
}
} }
}); });
}); });

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

import Model, { attr } from '@ember-data/model'; import Model, { attr } from '@ember-data/model';


export default class ProduktModel extends Model { export default class ProduktModel extends Model {
@attr titel;
@attr ('string') titel;
@attr ('boolean') isSelected; @attr ('boolean') isSelected;
@attr kategorie;
@attr menge;
@attr einheit;
@attr bild;
@attr ('string') kategorie;
@attr ('number') menge;
@attr ('string') einheit;
@attr ('string') bild;


get status() get status()
{ {

+ 5
- 4
app/models/rezept.js View File

import Model, { attr, hasMany } from '@ember-data/model'; import Model, { attr, hasMany } from '@ember-data/model';


export default class RezeptModel extends Model { export default class RezeptModel extends Model {
@attr titel;
@attr ('string') titel;
@attr ('boolean') isSelected; @attr ('boolean') isSelected;
@attr ('string') beschreibung; @attr ('string') beschreibung;
@attr kategorie;
@attr ('string') kategorie;
@attr produkte; @attr produkte;
@attr gewuerze;
@attr ('number') personen;
@attr ('number') dauer; @attr ('number') dauer;
@attr ('number') personen;
@attr ('string') bild; @attr ('string') bild;
@attr gewuerze;


get status() get status()
{ {

+ 1
- 0
app/styles/app.css View File



.rezept img { .rezept img {
border-radius: 5px; border-radius: 5px;
width: 100%;
} }


.rezept .image { .rezept .image {

+ 4
- 4
app/templates/produkte.hbs View File

<ul class="resultsProdukt"> <ul class="resultsProdukt">
{{#each @model as |produkt|}} {{#each @model as |produkt|}}
{{#if (compare produkt.kategorie '===' 'Gemüse')}} {{#if (compare produkt.kategorie '===' 'Gemüse')}}
<Produkt @titel={{produkt.titel}} @isSelected={{produkt.isSelected}} @menge={{produkt.menge}} @einheit={{produkt.einheit}} @bild={{produkt.bild}}/>
<Produkt @produkt={{produkt}}/>
{{/if}} {{/if}}
{{/each}} {{/each}}
</ul> </ul>
<ul class="resultsProdukt"> <ul class="resultsProdukt">
{{#each @model as |produkt|}} {{#each @model as |produkt|}}
{{#if (compare produkt.kategorie '===' 'Milchprodukte')}} {{#if (compare produkt.kategorie '===' 'Milchprodukte')}}
<Produkt @titel={{produkt.titel}} @isSelected={{produkt.isSelected}} @menge={{produkt.menge}} @einheit={{produkt.einheit}} @bild={{produkt.bild}}/>
<Produkt @produkt={{produkt}}/>
{{/if}} {{/if}}
{{/each}} {{/each}}
</ul> </ul>
<ul class="resultsProdukt"> <ul class="resultsProdukt">
{{#each @model as |produkt|}} {{#each @model as |produkt|}}
{{#if (compare produkt.kategorie '===' 'Fleisch')}} {{#if (compare produkt.kategorie '===' 'Fleisch')}}
<Produkt @titel={{produkt.titel}} @isSelected={{produkt.isSelected}} @menge={{produkt.menge}} @einheit={{produkt.einheit}} @bild={{produkt.bild}}/>
<Produkt @produkt={{produkt}}/>
{{/if}} {{/if}}
{{/each}} {{/each}}
</ul> </ul>
<ul class="resultsProdukt"> <ul class="resultsProdukt">
{{#each @model as |produkt|}} {{#each @model as |produkt|}}
{{#if (compare produkt.kategorie '===' 'Pasta')}} {{#if (compare produkt.kategorie '===' 'Pasta')}}
<Produkt @titel={{produkt.titel}} @isSelected={{produkt.isSelected}} @menge={{produkt.menge}} @einheit={{produkt.einheit}} @bild={{produkt.bild}}/>
<Produkt @produkt={{produkt}}/>
{{/if}} {{/if}}
{{/each}} {{/each}}
</ul> </ul>

+ 1
- 1
app/templates/rezepte.hbs View File

<ul class="resultsRezept"> <ul class="resultsRezept">
{{#each @model as |rezept|}} {{#each @model as |rezept|}}
{{#if (compare rezept.kategorie '===' 'Pasta')}} {{#if (compare rezept.kategorie '===' 'Pasta')}}
<li><Rezept @titel={{rezept.titel}} @beschreibung={{rezept.beschreibung}} @kategorie={{rezept.kategorie}} @produkte={{rezept.produkte}} @gewuerze={{rezept.gewuerze}} @personen={{rezept.attributes.personen}} @dauer={{rezept.dauer}} @isSelected={{rezept.isSelected}}/></li>
<li><Rezept @rezept={{rezept}}/></li>
{{/if}} {{/if}}
{{/each}} {{/each}}
</ul> </ul>

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



<Kategorie @titel={{"mein Zettel"}}> <Kategorie @titel={{"mein Zettel"}}>
<div class="rentals"> <div class="rentals">
<ul class="results">
<ul class="resultsProdukt">
{{#each @model as |produkt|}} {{#each @model as |produkt|}}
{{#if produkt.isSelected}} {{#if produkt.isSelected}}
<Produkt @titel={{produkt.titel}} @isSelected={{produkt.isSelected}} @menge={{produkt.menge}} @einheit={{produkt.einheit}} @bild={{produkt.bild}}/>
<Produkt @produkt={{produkt}}/>
{{/if}} {{/if}}
{{/each}} {{/each}}
</ul> </ul>

+ 13
- 11
public/api/rezepts.json View File

"titel": "Nudeln mit Garnelen und Zucchini", "titel": "Nudeln mit Garnelen und Zucchini",
"kategorie": "Pasta", "kategorie": "Pasta",
"personen": 4, "personen": 4,
"dauer": 20,
"bild": "https://www.pastaweb.de/wp-content/uploads/2016/02/spaghetti.jpg",
"dauer": 60,
"bild": "https://kochkarussell.com/wp-content/uploads/2018/04/Nudeln-mit-Garnelen-und-Tomaten-Sahnesauce-3-500x500.jpg",
"is-selected": false, "is-selected": false,
"beschreibung": "(1) Die Garnelen kalt überbrausen, in wenig Salzwasser kurz aufkochen, abgießen, das Wasser aufbewahren. (2) In einer Pfanne in der heißen Butter die Lauchzwiebeln und den Knoblauch anschwitzen, die Zucchiniwürfel und evtl. die Chilischoten zugeben, mit Salz und Pfeffer abwürzen. Zugedeckt 5 Minuten dünsten. Die Garnelen mit etwas Garnelenwasser unterischen, noch einmal erhitzen. Über die angerichteten Nudeln geben.", "beschreibung": "(1) Die Garnelen kalt überbrausen, in wenig Salzwasser kurz aufkochen, abgießen, das Wasser aufbewahren. (2) In einer Pfanne in der heißen Butter die Lauchzwiebeln und den Knoblauch anschwitzen, die Zucchiniwürfel und evtl. die Chilischoten zugeben, mit Salz und Pfeffer abwürzen. Zugedeckt 5 Minuten dünsten. Die Garnelen mit etwas Garnelenwasser unterischen, noch einmal erhitzen. Über die angerichteten Nudeln geben.",
"produkte": [ "produkte": [
"einheit": "Stück" "einheit": "Stück"
} }
} }
]},
],
"gewuerze":[ "gewuerze":[
{ {
"type": "gewuerz", "type": "gewuerz",
"titel": "Chilischote" "titel": "Chilischote"
} }
] ]
},
{
"type": "rezept",
"id": "lasagne",
"attributes": {
}
},
{
"type": "rezept",
"id": "lasagne",
"attributes": {
"titel": "Lasagne Bolognese", "titel": "Lasagne Bolognese",
"kategorie": "Pasta", "kategorie": "Pasta",
"personen": 4, "personen": 4,
"dauer": 80, "dauer": 80,
"bild": "https://www.pastaweb.de/wp-content/uploads/2016/02/spaghetti.jpg",
"bild": "https://images.lecker.de/,id=2e0930f7,b=lecker,w=610,cg=c.jpg",
"is-selected": false, "is-selected": false,
"beschreibung": "(1) Die Bologneser Sauce und die Bechamelsauce zubereiten. (2) Den Boden einer Auflaufform mit etwas Bechamelsauce bedecken, mit Lasagneblättern auslegen. Einige Löffel Bologneser Sauce darüfergeben, darauf einige Löffel Bechamelsauceverstreichen und mit Parmesan bestreuen. Diesen Vorgang wiederholen, bis alle Zutaten aufgebraucht sind. Die letzte Schicht sind Lasagneblätter, Bechamelsauce und Parmesan. (3) Die Form auf dem Rost in den kalten Backofen schieben und etwa 40 Minuten bei 220°C goldgelb backen. ", "beschreibung": "(1) Die Bologneser Sauce und die Bechamelsauce zubereiten. (2) Den Boden einer Auflaufform mit etwas Bechamelsauce bedecken, mit Lasagneblättern auslegen. Einige Löffel Bologneser Sauce darüfergeben, darauf einige Löffel Bechamelsauceverstreichen und mit Parmesan bestreuen. Diesen Vorgang wiederholen, bis alle Zutaten aufgebraucht sind. Die letzte Schicht sind Lasagneblätter, Bechamelsauce und Parmesan. (3) Die Form auf dem Rost in den kalten Backofen schieben und etwa 40 Minuten bei 220°C goldgelb backen. ",
"produkte": [ "produkte": [
"einheit": "EL" "einheit": "EL"
} }
} }
]},
],
"gewuerze":[ "gewuerze":[
{ {
"type": "gewuerz", "type": "gewuerz",
} }
] ]
} }
]
}
]
} }

Loading…
Cancel
Save