+
+
+
+
+ {{ 'addon.block_myoverview.allincludinghidden' | translate }}
+
+
+ {{ 'addon.block_myoverview.all' | translate }}
+
+
+ {{ 'addon.block_myoverview.inprogress' | translate }}
+
+
+ {{ 'addon.block_myoverview.future' | translate }}
+
+
+ {{ 'addon.block_myoverview.past' | translate }}
+
+
+
+ {{ customOption.name }}
+
+
+
+ {{ 'addon.block_myoverview.favourites' | translate }}
+
+
+ {{ 'addon.block_myoverview.hiddencourses' | translate }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/addons/block/myoverview/components/myoverview/myoverview.ts b/src/addons/block/myoverview/components/myoverview/myoverview.ts
new file mode 100644
index 000000000..63a6956c8
--- /dev/null
+++ b/src/addons/block/myoverview/components/myoverview/myoverview.ts
@@ -0,0 +1,586 @@
+// (C) Copyright 2015 Moodle Pty Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import { Component, OnInit, Input, OnDestroy, ViewChild, OnChanges, SimpleChange } from '@angular/core';
+import { IonSearchbar } from '@ionic/angular';
+import { CoreEventObserver, CoreEvents } from '@singletons/events';
+import { CoreTimeUtils } from '@services/utils/time';
+import { CoreSites } from '@services/sites';
+import { CoreCoursesProvider, CoreCoursesMyCoursesUpdatedEventData, CoreCourses } from '@features/courses/services/courses';
+import { CoreCoursesHelper, CoreEnrolledCourseDataWithOptions } from '@features/courses/services/courses-helper';
+import { CoreCourseHelper, CorePrefetchStatusInfo } from '@features/course/services/course-helper';
+import { CoreCourseOptionsDelegate } from '@features/course/services/course-options-delegate';
+import { CoreBlockBaseComponent } from '@features/block/classes/base-block-component';
+import { CoreSite } from '@classes/site';
+import { CoreUtils } from '@services/utils/utils';
+import { CoreDomUtils } from '@services/utils/dom';
+import { CoreTextUtils } from '@services/utils/text';
+import { AddonCourseCompletion } from '@/addons/coursecompletion/services/coursecompletion';
+
+const FILTER_PRIORITY = ['all', 'allincludinghidden', 'inprogress', 'future', 'past', 'favourite', 'hidden', 'custom'];
+
+/**
+ * Component to render a my overview block.
+ */
+@Component({
+ selector: 'addon-block-myoverview',
+ templateUrl: 'addon-block-myoverview.html',
+})
+export class AddonBlockMyOverviewComponent extends CoreBlockBaseComponent implements OnInit, OnChanges, OnDestroy {
+
+ @ViewChild('searchbar') searchbar?: IonSearchbar;
+ @Input() downloadEnabled = false;
+
+ courses = {
+ filter: '',
+ all: