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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. @tracked ex = false;
  9. @tracked isSet = false;
  10. @tracked prodn = "test";
  11. @tracked count = 0;
  12. @service store;
  13. @action toggleSize()
  14. {
  15. this.isLarge = !this.isLarge;
  16. }
  17. @action toggleSelection(produktname)
  18. {
  19. this.isSelected = !this.isSelected;
  20. this.setStatus(produktname);
  21. }
  22. @action getStatus(produktname)
  23. {
  24. this.prodn = produktname;
  25. this.store.findAll('produkt')
  26. .then(function(suchergebnis)
  27. {
  28. suchergebnis.forEach(element => {
  29. if(element.titel==produktname)
  30. {
  31. this.exists = true;
  32. this.isSelected = element.getStatus().isSelected;
  33. this.ex = true;
  34. }
  35. });
  36. if(!this.exists)
  37. {
  38. this.isSelected = false;
  39. }
  40. });
  41. }
  42. setStatus(produktname)
  43. {
  44. //schreibt den aktuellen Zustand in den store
  45. let suchergebnis = this.get('store').query('produkt', {
  46. filter: {
  47. titel: produktname
  48. }});
  49. this.prodn = suchergebnis.titel;
  50. count = suchergebnisse.titel;
  51. this.prodn = element.titel;
  52. suchergebnisse.forEach(element => {
  53. this.prodn = element.titel;
  54. count++;
  55. if(element.titel === produktname)
  56. {
  57. this.prodn = produktname;
  58. element.isSelected = this.isSelected;
  59. this.isSet = !this.isSet;
  60. }
  61. });
  62. }
  63. }