You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

produkt.js 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import Component from '@glimmer/component';
  2. import { action } from '@ember/object';
  3. import { tracked } from '@glimmer/tracking';
  4. import { inject as service } from '@ember/service';
  5. export default class ProduktController extends Component {
  6. @tracked isLarge = false;
  7. @tracked isSelected = false;
  8. @service store;
  9. @action toggleSize()
  10. {
  11. this.isLarge = !this.isLarge;
  12. }
  13. @action toggleSelection(produktname)
  14. {
  15. this.isSelected = !this.isSelected;
  16. this.setStatus(produktname);
  17. }
  18. @action getStatus(produktname)
  19. {
  20. this.store.findAll('produkt')
  21. .then(function(suchergebnis)
  22. {
  23. suchergebnis.forEach(element => {
  24. if(element.titel==produktname)
  25. {
  26. this.isSelected = element.getStatus().isSelected;
  27. }
  28. });
  29. if(!this.exists)
  30. {
  31. this.isSelected = false;
  32. }
  33. });
  34. }
  35. setStatus(produktname)
  36. {
  37. //schreibt den aktuellen Zustand in den store
  38. let suchergebnis = this.store.query('produkt', {
  39. filter:
  40. {
  41. titel: produktname
  42. }}).then(function(element)
  43. {
  44. element.isSelected = this.isSelected;
  45. });;
  46. }
  47. }