MOBILE-3014 block: Add Self completion block feature
This commit is contained in:
		
							parent
							
								
									c20a158525
								
							
						
					
					
						commit
						1c82edce2f
					
				@ -47,6 +47,7 @@
 | 
			
		||||
  "addon.block_recentlyaccessedcourses.pluginname": "block_recentlyaccessedcourses",
 | 
			
		||||
  "addon.block_recentlyaccesseditems.noitems": "block_recentlyaccesseditems",
 | 
			
		||||
  "addon.block_recentlyaccesseditems.pluginname": "block_recentlyaccesseditems",
 | 
			
		||||
  "addon.block_selfcompletion.pluginname": "block_selfcompletion",
 | 
			
		||||
  "addon.block_sitemainmenu.pluginname": "block_site_main_menu",
 | 
			
		||||
  "addon.block_starredcourses.nocourses": "block_starredcourses",
 | 
			
		||||
  "addon.block_starredcourses.pluginname": "block_starredcourses",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								src/addon/block/selfcompletion/lang/en.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/addon/block/selfcompletion/lang/en.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
{
 | 
			
		||||
    "pluginname": "Self completion"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										52
									
								
								src/addon/block/selfcompletion/providers/block-handler.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/addon/block/selfcompletion/providers/block-handler.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
			
		||||
// (C) Copyright 2015 Martin Dougiamas
 | 
			
		||||
//
 | 
			
		||||
// 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, Injector } from '@angular/core';
 | 
			
		||||
import { CoreBlockHandlerData } from '@core/block/providers/delegate';
 | 
			
		||||
import { CoreBlockOnlyTitleComponent } from '@core/block/components/only-title-block/only-title-block';
 | 
			
		||||
import { CoreBlockBaseHandler } from '@core/block/classes/base-block-handler';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Block handler.
 | 
			
		||||
 */
 | 
			
		||||
@Injectable()
 | 
			
		||||
export class AddonBlockSelfCompletionHandler extends CoreBlockBaseHandler {
 | 
			
		||||
    name = 'AddonBlockSelfCompletion';
 | 
			
		||||
    blockName = 'selfcompletion';
 | 
			
		||||
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the data needed to render the block.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {Injector} injector Injector.
 | 
			
		||||
     * @param {any} block The block to render.
 | 
			
		||||
     * @param {string} contextLevel The context where the block will be used.
 | 
			
		||||
     * @param {number} instanceId The instance ID associated with the context level.
 | 
			
		||||
     * @return {CoreBlockHandlerData|Promise<CoreBlockHandlerData>} Data or promise resolved with the data.
 | 
			
		||||
     */
 | 
			
		||||
    getDisplayData(injector: Injector, block: any, contextLevel: string, instanceId: number)
 | 
			
		||||
            : CoreBlockHandlerData | Promise<CoreBlockHandlerData> {
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
            title: 'addon.block_selfcompletion.pluginname',
 | 
			
		||||
            class: 'addon-block-self-completion',
 | 
			
		||||
            component: CoreBlockOnlyTitleComponent,
 | 
			
		||||
            link: 'AddonCourseCompletionReportPage',
 | 
			
		||||
            linkParams: { courseId: instanceId }
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										38
									
								
								src/addon/block/selfcompletion/selfcompletion.module.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/addon/block/selfcompletion/selfcompletion.module.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
			
		||||
// (C) Copyright 2015 Martin Dougiamas
 | 
			
		||||
//
 | 
			
		||||
// 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 { NgModule } from '@angular/core';
 | 
			
		||||
import { IonicModule } from 'ionic-angular';
 | 
			
		||||
import { TranslateModule } from '@ngx-translate/core';
 | 
			
		||||
import { CoreBlockDelegate } from '@core/block/providers/delegate';
 | 
			
		||||
import { AddonBlockSelfCompletionHandler } from './providers/block-handler';
 | 
			
		||||
 | 
			
		||||
@NgModule({
 | 
			
		||||
    declarations: [
 | 
			
		||||
    ],
 | 
			
		||||
    imports: [
 | 
			
		||||
        IonicModule,
 | 
			
		||||
        TranslateModule.forChild()
 | 
			
		||||
    ],
 | 
			
		||||
    exports: [
 | 
			
		||||
    ],
 | 
			
		||||
    providers: [
 | 
			
		||||
        AddonBlockSelfCompletionHandler
 | 
			
		||||
    ]
 | 
			
		||||
})
 | 
			
		||||
export class AddonBlockSelfCompletionModule {
 | 
			
		||||
    constructor(blockDelegate: CoreBlockDelegate, blockHandler: AddonBlockSelfCompletionHandler) {
 | 
			
		||||
        blockDelegate.registerHandler(blockHandler);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -102,6 +102,7 @@ import { AddonBlockTimelineModule } from '@addon/block/timeline/timeline.module'
 | 
			
		||||
import { AddonBlockRecentlyAccessedCoursesModule } from '@addon/block/recentlyaccessedcourses/recentlyaccessedcourses.module';
 | 
			
		||||
import { AddonBlockRecentlyAccessedItemsModule } from '@addon/block/recentlyaccesseditems/recentlyaccesseditems.module';
 | 
			
		||||
import { AddonBlockStarredCoursesModule } from '@addon/block/starredcourses/starredcourses.module';
 | 
			
		||||
import { AddonBlockSelfCompletionModule } from '@addon/block/selfcompletion/selfcompletion.module';
 | 
			
		||||
import { AddonModAssignModule } from '@addon/mod/assign/assign.module';
 | 
			
		||||
import { AddonModBookModule } from '@addon/mod/book/book.module';
 | 
			
		||||
import { AddonModChatModule } from '@addon/mod/chat/chat.module';
 | 
			
		||||
@ -229,6 +230,7 @@ export const CORE_PROVIDERS: any[] = [
 | 
			
		||||
        AddonBlockRecentlyAccessedCoursesModule,
 | 
			
		||||
        AddonBlockRecentlyAccessedItemsModule,
 | 
			
		||||
        AddonBlockStarredCoursesModule,
 | 
			
		||||
        AddonBlockSelfCompletionModule,
 | 
			
		||||
        AddonModAssignModule,
 | 
			
		||||
        AddonModBookModule,
 | 
			
		||||
        AddonModChatModule,
 | 
			
		||||
 | 
			
		||||
@ -47,6 +47,7 @@
 | 
			
		||||
    "addon.block_recentlyaccessedcourses.pluginname": "Recently accessed courses",
 | 
			
		||||
    "addon.block_recentlyaccesseditems.noitems": "No recent items",
 | 
			
		||||
    "addon.block_recentlyaccesseditems.pluginname": "Recently accessed items",
 | 
			
		||||
    "addon.block_selfcompletion.pluginname": "Self completion",
 | 
			
		||||
    "addon.block_sitemainmenu.pluginname": "Main menu",
 | 
			
		||||
    "addon.block_starredcourses.nocourses": "No starred courses",
 | 
			
		||||
    "addon.block_starredcourses.pluginname": "Starred courses",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user