-
- {{ 'addon.block_timeline.pluginname' | translate }}
-
diff --git a/src/addon/block/timeline/providers/block-handler.ts b/src/addon/block/timeline/providers/block-handler.ts
index a05f8c01f..c0f60e7dd 100644
--- a/src/addon/block/timeline/providers/block-handler.ts
+++ b/src/addon/block/timeline/providers/block-handler.ts
@@ -13,20 +13,25 @@
// limitations under the License.
import { Injectable, Injector } from '@angular/core';
-import { CoreBlockHandler, CoreBlockHandlerData } from '@core/block/providers/delegate';
+import { CoreSitesProvider } from '@providers/sites';
+import { CoreBlockHandlerData } from '@core/block/providers/delegate';
+import { CoreCoursesProvider } from '@core/courses/providers/courses';
import { AddonBlockTimelineProvider } from '@addon/block/timeline/providers/timeline';
import { AddonBlockTimelineComponent } from '../components/timeline/timeline';
+import { CoreBlockBaseHandler } from '@core/block/classes/base-block-handler';
/**
- * Course nav handler.
+ * Block handler.
*/
@Injectable()
-export class AddonBlockTimelineHandler implements CoreBlockHandler {
- name = 'AddonBlockTimelineHandler';
+export class AddonBlockTimelineHandler extends CoreBlockBaseHandler {
+ name = 'AddonBlockTimeline';
blockName = 'timeline';
- constructor(private timelineProvider: AddonBlockTimelineProvider) {
- // Nothing to do.
+ constructor(private timelineProvider: AddonBlockTimelineProvider, private coursesProvider: CoreCoursesProvider,
+ private sitesProvider: CoreSitesProvider) {
+
+ super();
}
/**
@@ -35,7 +40,8 @@ export class AddonBlockTimelineHandler implements CoreBlockHandler {
* @return {boolean} Whether or not the handler is enabled on a site level.
*/
isEnabled(): boolean | Promise {
- return this.timelineProvider.isAvailable();
+ return this.timelineProvider.isAvailable() && (this.sitesProvider.getCurrentSite().isVersionGreaterEqualThan('3.6') ||
+ !this.coursesProvider.isMyCoursesDisabledInSite());
}
/**
diff --git a/src/core/block/providers/default-block-handler.ts b/src/core/block/providers/default-block-handler.ts
index c4d04891f..23257b2c5 100644
--- a/src/core/block/providers/default-block-handler.ts
+++ b/src/core/block/providers/default-block-handler.ts
@@ -21,7 +21,7 @@ import { CoreBlockBaseHandler } from '../classes/base-block-handler';
@Injectable()
export class CoreBlockDefaultHandler extends CoreBlockBaseHandler {
name = 'CoreBlockDefault';
- type = 'default';
+ blockName = 'default';
constructor() {
super();
diff --git a/src/core/block/providers/delegate.ts b/src/core/block/providers/delegate.ts
index b6d605bfa..363dff591 100644
--- a/src/core/block/providers/delegate.ts
+++ b/src/core/block/providers/delegate.ts
@@ -80,6 +80,8 @@ export class CoreBlockDelegate extends CoreDelegate {
protected handlerNameProperty = 'blockName';
+ protected featurePrefix = 'CoreBlockDelegate_';
+
constructor(logger: CoreLoggerProvider, sitesProvider: CoreSitesProvider, eventsProvider: CoreEventsProvider,
protected defaultHandler: CoreBlockDefaultHandler) {
super('CoreBlockDelegate', logger, sitesProvider, eventsProvider);