import { AfterViewInit, Component, OnInit } from '@angular/core';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { OfferDiscountService } from '../services/service';
import { ModalController } from '@ionic/angular';
@Component({
  selector: 'app-filter',
  templateUrl: './filter.component.html',
  styleUrls: ['./filter.component.scss'],
})
export class FilterComponent implements AfterViewInit {

  segment: any = '1';
  categoriesObj: any;
  categories: any = [];
  offersData: any = [];
  activeClass: any;
  tempSearch: any = [];
  searchText: String;
  public activeKey = {}
  direction: any;
  constructor(public ts: TranslatorService, public modalController: ModalController, public cs: CommonService, public offersService: OfferDiscountService) { }

  ngAfterViewInit(): void {
    this.direction = TranslatorService.getCurrentDirection();
    this.categories = this.cs.sharedService.getSharedData(OfferDiscountService.categories, false);


    // this.getOfferDiscount();
  }


  openDetails(offer) {
    this.cs.sharedService.setSharedData(offer, OfferDiscountService.selected_offers);

    var related = this.offersData.filter((res) => res.rowID != offer.rowID);
    this.cs.sharedService.setSharedData(related, OfferDiscountService.related_offers);

    this.cs.navigateForward('/offersdiscount/offer-details');
  }
  // getOfferDiscount() {
  //   this.cs.startLoading();
  //   this.offersService.getOffers({}, () => { }, this.ts.trPK('general', 'retry')).subscribe((res) => {
  //     var data = JSON.parse(res['Mohemm_ITG_ResponseItem']);
  //     this.cs.stopLoading();
  //     if (data['result'])
  //       this.displayOffers(data['result']);
  //   });

  // }
  // displayOffers(data) {
  //   if (data['data']) {
  //     var parseJSON = data['data'];
  //     var offers = JSON.parse(parseJSON)
  //     this.categoriesObj = this.groupBy(offers, TranslatorService.getCurrentDirection() == 'ltr' ? 'categoryName_en' : 'categoryName_ar');
  //     // = Object.keys(this.categoriesObj);



  //     for (var x in this.categoriesObj) {
  //       for (var y in offers) {
  //         if (x == offers[y].categoryName_en && this.categories.filter(item => item.name.includes(x)) == false) {
  //           this.categories.push({
  //             name: x,
  //             icon: offers[y].icon
  //           })

  //         }
  //       }
  //     }

  //     this.filterOffers(this.categories[0]);
  //   }
  // }
  // groupBy(xs, key) {
  //   return xs.reduce((rv, x) => {

  //     (rv[x[key.trim()]] = rv[x[key]] || []).push(x);
  //     return rv
  //   }, {});
  // };
  filterOffers(key) {
    this.activeKey = key
    this.activeClass = key.categoryName_en;
    // this.offersData = this.categoriesObj[key.name];
    // this.tempSearch = JSON.parse(JSON.stringify(this.offersData));
  }
  checkDate(date) {
    return new Date(date) >= new Date()
  }
  getDotted(temp) {
    return temp.substring(0, 60) + " ...";
  }
  search(t) {
    this.offersData = this.tempSearch.filter((post, index) => {
      if (post.Title.toLowerCase().indexOf(t.toLowerCase()) > -1)
        return true;
    });

  }
  applyFilters() {
    this.cs.sharedService.setSharedData(this.activeKey, OfferDiscountService.selected_filters);
    this.cs.back();
  }
}
