Seeking a solution for making this work on Ionic 4? With some minor adjustments to the typescript component, you can get it up and running.
Check out the modified code that functions in IONIC 4:
ionSlideNextEnd(){
if(this.firstLoad) {
// Prevent slides from being modified during initial movement
this.firstLoad = false;
return;
}
console.log('Next');
this.daySlider.getActiveIndex().then(idx=>{
let newIndex=idx
console.log(newIndex)
newIndex--;
this.numbers.push(this.numbers[this.numbers.length - 1] + 1);
this.numbers.shift();
// Implementation to ensure functionality: interrupts animation
this.daySlider.slideTo(newIndex, 0, false);
console.log(`Updated status: ${this.numbers}`);
});
}
ionSlidePrevEnd(){
console.log('Previous');
this.daySlider.getActiveIndex().then(idx=>{
let newIndex=idx
console.log(newIndex)
newIndex++;
this.numbers.unshift(this.numbers[0] - 1);
this.numbers.pop();
// Implementation to ensure functionality: interrupts animation
this.daySlider.slideTo(newIndex, 0, false);
console.log(`Updated status: ${this.numbers}`);
});
}
If you prefer a simpler approach, consider eliminating the getter for Active Index and utilize the following code for Ionic 4:
ionSlideNextEnd(){
if(this.firstLoad) {
this.firstLoad = false;
return;
}else{
this.numbers.push(this.numbers[this.numbers.length - 1] + 1);
this.numbers.shift();
// Implementation to ensure functionality: interrupts animation
this.daySlider.slideTo(1,0,false);
this.monthViewData.selectedTime=new Date(this.monthViewData.selectedTime.setDate(this.monthViewData.selectedTime.getDate()+1));
this.eventSource = this.tmp_events.filter((item)=>{
if(item.startTime >= this.monthViewData.selectedTime.setHours(0,0,0,0) && item.endTime < this.monthViewData.selectedTime.getTime()){
return item;
}
});
}
}
ionSlidePrevEnd(){
this.numbers.unshift(this.numbers[0] - 1);
this.numbers.pop();
this.daySlider.slideTo(1,0,false);
this.monthViewData.selectedTime=new Date(this.monthViewData.selectedTime.setDate(this.monthViewData.selectedTime.getDate()-1));
this.eventSource = this.tmp_events.filter((item)=>{
if(item.startTime >= this.monthViewData.selectedTime.setHours(0,0,0,0) && item.endTime <= this.monthViewData.selectedTime.getTime()){
return item;
}
});
}