From 3c68a0425e8fe4a61ce2529a0717f5bcacaf956b Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Tue, 26 May 2020 07:45:13 +0200 Subject: [PATCH] MOBILE-3411 h5pactivity: Support index link handler --- .../mod/h5pactivity/h5pactivity.module.ts | 12 ++++++-- .../providers/index-link-handler.ts | 29 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 src/addon/mod/h5pactivity/providers/index-link-handler.ts diff --git a/src/addon/mod/h5pactivity/h5pactivity.module.ts b/src/addon/mod/h5pactivity/h5pactivity.module.ts index f7884921c..ed0fb852e 100644 --- a/src/addon/mod/h5pactivity/h5pactivity.module.ts +++ b/src/addon/mod/h5pactivity/h5pactivity.module.ts @@ -13,10 +13,14 @@ // limitations under the License. import { NgModule } from '@angular/core'; + +import { CoreContentLinksDelegate } from '@core/contentlinks/providers/delegate'; +import { CoreCourseModuleDelegate } from '@core/course/providers/module-delegate'; + import { AddonModH5PActivityComponentsModule } from './components/components.module'; import { AddonModH5PActivityModuleHandler } from './providers/module-handler'; import { AddonModH5PActivityProvider } from './providers/h5pactivity'; -import { CoreCourseModuleDelegate } from '@core/course/providers/module-delegate'; +import { AddonModH5PActivityIndexLinkHandler } from './providers/index-link-handler'; // List of providers (without handlers). export const ADDON_MOD_H5P_ACTIVITY_PROVIDERS: any[] = [ @@ -32,12 +36,16 @@ export const ADDON_MOD_H5P_ACTIVITY_PROVIDERS: any[] = [ providers: [ AddonModH5PActivityProvider, AddonModH5PActivityModuleHandler, + AddonModH5PActivityIndexLinkHandler, ] }) export class AddonModH5PActivityModule { constructor(moduleDelegate: CoreCourseModuleDelegate, - moduleHandler: AddonModH5PActivityModuleHandler) { + moduleHandler: AddonModH5PActivityModuleHandler, + linksDelegate: CoreContentLinksDelegate, + indexHandler: AddonModH5PActivityIndexLinkHandler) { moduleDelegate.registerHandler(moduleHandler); + linksDelegate.registerHandler(indexHandler); } } diff --git a/src/addon/mod/h5pactivity/providers/index-link-handler.ts b/src/addon/mod/h5pactivity/providers/index-link-handler.ts new file mode 100644 index 000000000..a72c66593 --- /dev/null +++ b/src/addon/mod/h5pactivity/providers/index-link-handler.ts @@ -0,0 +1,29 @@ +// (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 { Injectable } from '@angular/core'; +import { CoreContentLinksModuleIndexHandler } from '@core/contentlinks/classes/module-index-handler'; +import { CoreCourseHelperProvider } from '@core/course/providers/helper'; + +/** + * Handler to treat links to H5P activity index. + */ +@Injectable() +export class AddonModH5PActivityIndexLinkHandler extends CoreContentLinksModuleIndexHandler { + name = 'AddonModH5PActivityIndexLinkHandler'; + + constructor(courseHelper: CoreCourseHelperProvider) { + super(courseHelper, 'AddonModH5PActivity', 'h5pactivity'); + } +}