From 8797d3e56f933338e8a38c06b7a203e5ebfaeb69 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Tue, 29 Jun 2021 10:50:46 +0200 Subject: [PATCH] MOBILE-3320 calendar: Fix create button disappearing when filter changed --- .../filter/addon-calendar-filter-popover.html | 2 +- src/addons/calendar/components/filter/filter.ts | 17 ++++++++--------- src/addons/calendar/pages/list/list.page.ts | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/addons/calendar/components/filter/addon-calendar-filter-popover.html b/src/addons/calendar/components/filter/addon-calendar-filter-popover.html index 8c2d75c7d..590a32b27 100644 --- a/src/addons/calendar/components/filter/addon-calendar-filter-popover.html +++ b/src/addons/calendar/components/filter/addon-calendar-filter-popover.html @@ -9,7 +9,7 @@ - + diff --git a/src/addons/calendar/components/filter/filter.ts b/src/addons/calendar/components/filter/filter.ts index 9398c60b7..8827846c5 100644 --- a/src/addons/calendar/components/filter/filter.ts +++ b/src/addons/calendar/components/filter/filter.ts @@ -31,7 +31,7 @@ export class AddonCalendarFilterPopoverComponent implements OnInit { @Input() filter: AddonCalendarFilter = { filtered: false, - courseId: -1, + courseId: undefined, categoryId: undefined, course: true, group: true, @@ -40,7 +40,7 @@ export class AddonCalendarFilterPopoverComponent implements OnInit { category: true, }; - courseId = '-1'; + courseId = -1; @Input() courses: Partial[] = []; typeIcons: AddonCalendarEventIcons[] = []; @@ -59,24 +59,23 @@ export class AddonCalendarFilterPopoverComponent implements OnInit { * Init the component. */ ngOnInit(): void { - this.courseId = (this.filter.courseId || -1) + ''; + this.courseId = this.filter.courseId || -1; } /** * Function called when an item is clicked. */ onChange(): void { - const courseId = parseInt(this.courseId, 10); - if (courseId > 0) { - const course = this.courses.find((course) => courseId == course.id); - this.filter.courseId = course?.id || -1; + if (this.courseId > 0) { + const course = this.courses.find((course) => this.courseId == course.id); + this.filter.courseId = course?.id; this.filter.categoryId = course?.categoryid; } else { - this.filter.courseId = -1; + this.filter.courseId = undefined; this.filter.categoryId = undefined; } - this.filter.filtered = this.filter.courseId > 0 || this.types.some((name) => !this.filter[name]); + this.filter.filtered = !!this.filter.courseId || this.types.some((name) => !this.filter[name]); CoreEvents.trigger(AddonCalendarProvider.FILTER_CHANGED_EVENT, this.filter); } diff --git a/src/addons/calendar/pages/list/list.page.ts b/src/addons/calendar/pages/list/list.page.ts index 33d00b3c8..d7d97a084 100644 --- a/src/addons/calendar/pages/list/list.page.ts +++ b/src/addons/calendar/pages/list/list.page.ts @@ -89,7 +89,7 @@ export class AddonCalendarListPage implements OnInit, OnDestroy { syncIcon = CoreConstants.ICON_LOADING; filter: AddonCalendarFilter = { filtered: false, - courseId: -1, + courseId: undefined, categoryId: undefined, course: true, group: true, @@ -212,7 +212,7 @@ export class AddonCalendarListPage implements OnInit, OnDestroy { * View loaded. */ async ngOnInit(): Promise { - this.filter.courseId = CoreNavigator.getRouteNumberParam('courseId') || -1; + this.filter.courseId = CoreNavigator.getRouteNumberParam('courseId'); this.syncIcon = CoreConstants.ICON_LOADING; await this.fetchData(false, true, false);