HtmL -
<ion-segment [(ngModel)]=“submenu” style=“background-color: hotpink” width=“50px”>
<ion-segment-button value=“0” style=“color:ghostwhite” (ionSelect)=“filterMenu()”>
All
<ion-segment-button value=“1” style=“color:ghostwhite” (ionSelect)=“filterMenu()”>
Hair
<ion-segment-button value=“2” style=“color:ghostwhite” (ionSelect)=“filterMenu()”>
Face
<ion-segment-button value=“3” style=“color:ghostwhite” (ionSelect)=“filterMenu()”>
Skin
<ion-segment-button value=“4” style=“color:ghostwhite” (ionSelect)=“filterMenu()”>
Nail
<ion-segment-button value=“5” style=“color:ghostwhite” (ionSelect)=“filterMenu()”>
Perfume
<ion-content fullscreen="" no-paddding shrink-header [headerToHide]="‘home-header’">
<ion-card *ngFor="let feed of feeds">
<ion-item sticky>
<ion-avatar item-left>
<img [src]="feed.imgProfile">
<ion-fab middle right edge class="hello pop-in">
<button ion-fab mini color="light"><ion-icon name="md-share"></ion-icon></button>
<ion-fab-list side="left">
<button ion-fab><ion-icon name="logo-facebook"></ion-icon></button>
<button ion-fab><ion-icon name="logo-twitter"></ion-icon></button>
<button ion-fab><ion-icon name="logo-vimeo"></ion-icon></button>
<button ion-fab><ion-icon name="logo-googleplus"></ion-icon></button>
</ion-fab-list>
</ion-fab>
</ion-avatar>
<h2>{{feed.name}}</h2>
<h6>{{feed.catName}}</h6>
<h6 [hidden]="true">{{feed.category}}</h6>
</ion-item>
<ion-slides pager style="width:100% ; height:250px; margin:0 auto" autoplay="4000" loop="true" (click)="openFullImage(i, feed.images)">
<ion-slide *ngFor="let images of feed.images; let i = index" [ngStyle]="{'background' : 'url(' + images.url + ')'}">
</ion-slide>
</ion-slides>
<ion-row>
<ion-card-content>
<ion-card-title (click)="FeedDetail()">
{{feed.name}}
</ion-card-title>
<p>
{{feed.description}}
</p>
</ion-card-content>
</ion-row>
<ion-row>
<ion-col>
<button ion-button icon-left clear color="gray">
<ion-icon name="md-heart"></ion-icon>
<div>{{feed.like}}</div>
</button>
</ion-col>
<ion-col>
<button ion-button icon-left clear color="gray">
<ion-icon name="md-chatboxes"></ion-icon>
<div>{{feed.comment}}</div>
</button>
</ion-col>
<ion-col>
<button ion-button icon-left clear color="gray">
<ion-icon name="time"></ion-icon>
<div style="font-size:12px">{{feed.startTime}}</div>
</button>
</ion-col>
</ion-row>
</ion-card>
.ts
export class HomePage {
@ViewChild(Slides) slides: Slides;
submenu: string ;
searchTerm: string = ‘’;
feed: any;
feeds: any[] = [];
feedView: string = “activity”;
constructor(public navCtrl: NavController, public navParams: NavParams, public loadingCtrl: LoadingController, public afDB: AngularFireDatabase, private toastCtrl: ToastController,
public alertCtrl: AlertController, public db: DatabaseProvider, private cf:ChangeDetectorRef, public modalCtrl: ModalController) {
this.submenu ="0";
let loadingPopup = this.loadingCtrl.create({
spinner: 'crescent',
content: ''
});
loadingPopup.present();
let that = this;
db.getAllCollections('feed')
.then(function (e) {
if (!!e) {
console.log(e)
that.feeds = e;
that.filterMenu();
}
loadingPopup.dismiss()
});
}
filterMenu(){
this.feeds= this.filterCategory(this.feeds, this.submenu)
}
filterCategory(feeds, submenu) {
if(submenu !=‘0’) {
return feeds.filter((item) => {
return item.category.toLowerCase().indexOf(submenu.toLowerCase()) > -1;
});
}else{
return feeds;
}}
openFullImage(getIndex, imgGallery) {
let modal = this.modalCtrl.create(GalleryModal, {
photos: imgGallery,
closeIcon: 'close-circle',
initialSlide: getIndex
});
modal.present();
}
FeedDetail(obj){
this.navCtrl.push(‘FeedDetailPage’, { categoryId: obj.$key, name: obj.name})
}
}