Project: Mall App Client: Maiora
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

6 лет назад
6 лет назад
6 лет назад
6 лет назад
6 лет назад
6 лет назад
6 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { Component, OnInit } from '@angular/core';
  2. import { MallService } from '../services/mall.service';
  3. import { IMall } from '../models/mall';
  4. import { Router } from '@angular/router';
  5. @Component({
  6. selector: 'app-malls',
  7. templateUrl: './malls.page.html',
  8. styleUrls: ['./malls.page.scss'],
  9. })
  10. export class MallsPage implements OnInit {
  11. selected_tab: string = 'you';
  12. malls: Array<IMall>;
  13. show_sort_popup: boolean = false;
  14. selected_sort: string = null;
  15. constructor(
  16. private mallService: MallService,
  17. private router: Router
  18. ) { }
  19. ngOnInit() {
  20. }
  21. ionViewDidEnter() {
  22. this.mallService.getAllMalls().then((data: Array<IMall>) => {
  23. this.malls = data;
  24. });
  25. }
  26. showMallDetails(mall: IMall) {
  27. this.router.navigate(['/mall-details', { mall_id: mall.id }]);
  28. }
  29. sortBy(type: string) {
  30. this.selected_sort = type;
  31. switch(this.selected_sort) {
  32. case 'name': this.malls.sort(function(a, b){
  33. if(a.name < b.name) { return -1; }
  34. if(a.name > b.name) { return 1; }
  35. return 0;
  36. });
  37. break;
  38. case 'rating': this.malls.sort(function(a, b){
  39. if(a.rating < b.rating) { return -1; }
  40. if(a.rating > b.rating) { return 1; }
  41. return 0;
  42. }).reverse();
  43. break;
  44. }
  45. }
  46. togglePopup() {
  47. this.show_sort_popup = !this.show_sort_popup;
  48. }
  49. }