MOBILE-2779 course: Display the icon of unsupported activities
This commit is contained in:
		
							parent
							
								
									8248890189
								
							
						
					
					
						commit
						d91b181b0d
					
				@ -68,7 +68,8 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            this.entries = [];
 | 
					            this.entries = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const archetypes = {};
 | 
					            const archetypes = {},
 | 
				
			||||||
 | 
					                modIcons = {};
 | 
				
			||||||
            let modFullNames = {};
 | 
					            let modFullNames = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            sections.forEach((section) => {
 | 
					            sections.forEach((section) => {
 | 
				
			||||||
@ -98,6 +99,7 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i
 | 
				
			|||||||
                    } else {
 | 
					                    } else {
 | 
				
			||||||
                        modFullNames[mod.modname] = mod.modplural;
 | 
					                        modFullNames[mod.modname] = mod.modplural;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                    modIcons[mod.modname] = mod.modicon;
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -108,9 +110,9 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i
 | 
				
			|||||||
                let icon;
 | 
					                let icon;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (modName === 'resources') {
 | 
					                if (modName === 'resources') {
 | 
				
			||||||
                    icon = this.courseProvider.getModuleIconSrc('page');
 | 
					                    icon = this.courseProvider.getModuleIconSrc('page', modIcons['page']);
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    icon = this.moduleDelegate.getModuleIconSrc(modName);
 | 
					                    icon = this.moduleDelegate.getModuleIconSrc(modName, modIcons[modName]);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                this.entries.push({
 | 
					                this.entries.push({
 | 
				
			||||||
 | 
				
			|||||||
@ -15,6 +15,7 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSitesProvider } from '@providers/sites';
 | 
					import { CoreSitesProvider } from '@providers/sites';
 | 
				
			||||||
import { CoreCourseProvider } from '@core/course/providers/course';
 | 
					import { CoreCourseProvider } from '@core/course/providers/course';
 | 
				
			||||||
 | 
					import { CoreDomUtilsProvider } from '@providers/utils/dom';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features regarding recently accessed items.
 | 
					 * Service that provides some features regarding recently accessed items.
 | 
				
			||||||
@ -23,7 +24,8 @@ import { CoreCourseProvider } from '@core/course/providers/course';
 | 
				
			|||||||
export class AddonBlockRecentlyAccessedItemsProvider {
 | 
					export class AddonBlockRecentlyAccessedItemsProvider {
 | 
				
			||||||
    protected ROOT_CACHE_KEY = 'AddonBlockRecentlyAccessedItems:';
 | 
					    protected ROOT_CACHE_KEY = 'AddonBlockRecentlyAccessedItems:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constructor(private sitesProvider: CoreSitesProvider, private courseProvider: CoreCourseProvider) { }
 | 
					    constructor(private sitesProvider: CoreSitesProvider, private courseProvider: CoreCourseProvider,
 | 
				
			||||||
 | 
					        private domUtils: CoreDomUtilsProvider) { }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Get cache key for get last accessed items value WS call.
 | 
					     * Get cache key for get last accessed items value WS call.
 | 
				
			||||||
@ -49,7 +51,8 @@ export class AddonBlockRecentlyAccessedItemsProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            return site.read('block_recentlyaccesseditems_get_recent_items', undefined, preSets).then((items) => {
 | 
					            return site.read('block_recentlyaccesseditems_get_recent_items', undefined, preSets).then((items) => {
 | 
				
			||||||
                return items.map((item) => {
 | 
					                return items.map((item) => {
 | 
				
			||||||
                    item.iconUrl = this.courseProvider.getModuleIconSrc(item.modname);
 | 
					                    const modicon = item.icon && this.domUtils.getHTMLElementAttribute(item.icon, 'src');
 | 
				
			||||||
 | 
					                    item.iconUrl = this.courseProvider.getModuleIconSrc(item.modname, modicon);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    return item;
 | 
					                    return item;
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
				
			|||||||
@ -64,7 +64,7 @@ export class AddonModAssignModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('assign'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_assign-handler',
 | 
					            class: 'addon-mod_assign-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ export class AddonModBookModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('book'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_book-handler',
 | 
					            class: 'addon-mod_book-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -59,7 +59,7 @@ export class AddonModChatModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('chat'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_chat-handler',
 | 
					            class: 'addon-mod_chat-handler',
 | 
				
			||||||
            action(event: Event, navCtrl: NavController, module: any, courseId: number, options: NavOptions): void {
 | 
					            action(event: Event, navCtrl: NavController, module: any, courseId: number, options: NavOptions): void {
 | 
				
			||||||
 | 
				
			|||||||
@ -60,7 +60,7 @@ export class AddonModChoiceModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('choice'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_choice-handler',
 | 
					            class: 'addon-mod_choice-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -63,7 +63,7 @@ export class AddonModDataModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('data'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_data-handler',
 | 
					            class: 'addon-mod_data-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ export class AddonModFeedbackModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('feedback'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_feedback-handler',
 | 
					            class: 'addon-mod_feedback-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -60,7 +60,7 @@ export class AddonModFolderModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('folder'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_folder-handler',
 | 
					            class: 'addon-mod_folder-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -68,7 +68,7 @@ export class AddonModForumModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        const data: CoreCourseModuleHandlerData = {
 | 
					        const data: CoreCourseModuleHandlerData = {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('forum'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_forum-handler',
 | 
					            class: 'addon-mod_forum-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -62,7 +62,7 @@ export class AddonModGlossaryModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('glossary'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_glossary-handler',
 | 
					            class: 'addon-mod_glossary-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ export class AddonModImscpModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('imscp'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_imscp-handler',
 | 
					            class: 'addon-mod_imscp-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ export class AddonModLessonModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('lesson'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_lesson-handler',
 | 
					            class: 'addon-mod_lesson-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -71,7 +71,7 @@ export class AddonModLtiModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        const data: CoreCourseModuleHandlerData = {
 | 
					        const data: CoreCourseModuleHandlerData = {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('lti'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_lti-handler',
 | 
					            class: 'addon-mod_lti-handler',
 | 
				
			||||||
            action(event: Event, navCtrl: NavController, module: any, courseId: number, options: NavOptions): void {
 | 
					            action(event: Event, navCtrl: NavController, module: any, courseId: number, options: NavOptions): void {
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ export class AddonModPageModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('page'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_page-handler',
 | 
					            class: 'addon-mod_page-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -62,7 +62,7 @@ export class AddonModQuizModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('quiz'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_quiz-handler',
 | 
					            class: 'addon-mod_quiz-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -78,7 +78,7 @@ export class AddonModResourceModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const handlerData: CoreCourseModuleHandlerData = {
 | 
					        const handlerData: CoreCourseModuleHandlerData = {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc(this.modName),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_resource-handler',
 | 
					            class: 'addon-mod_resource-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
@ -162,6 +162,7 @@ export class AddonModResourceModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (files && files.length) {
 | 
					            if (files && files.length) {
 | 
				
			||||||
                const file = files[0];
 | 
					                const file = files[0];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                resourceData.icon = this.mimetypeUtils.getFileIcon(file.filename);
 | 
					                resourceData.icon = this.mimetypeUtils.getFileIcon(file.filename);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (options.showsize) {
 | 
					                if (options.showsize) {
 | 
				
			||||||
@ -201,9 +202,8 @@ export class AddonModResourceModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (resourceData.icon == '') {
 | 
					            if (resourceData.icon == '') {
 | 
				
			||||||
                resourceData.icon = this.courseProvider.getModuleIconSrc(this.modName);
 | 
					                resourceData.icon = this.courseProvider.getModuleIconSrc(this.modName, module.modicon);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					 | 
				
			||||||
            resourceData.extra += extra.join(' ');
 | 
					            resourceData.extra += extra.join(' ');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return resourceData;
 | 
					            return resourceData;
 | 
				
			||||||
 | 
				
			|||||||
@ -60,7 +60,7 @@ export class AddonModScormModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('scorm'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_scorm-handler',
 | 
					            class: 'addon-mod_scorm-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -60,7 +60,7 @@ export class AddonModSurveyModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('survey'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_survey-handler',
 | 
					            class: 'addon-mod_survey-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -68,7 +68,7 @@ export class AddonModUrlModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
        // tslint:disable: no-this-assignment
 | 
					        // tslint:disable: no-this-assignment
 | 
				
			||||||
        const handler = this;
 | 
					        const handler = this;
 | 
				
			||||||
        const handlerData = {
 | 
					        const handlerData = {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc(this.modName),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_url-handler',
 | 
					            class: 'addon-mod_url-handler',
 | 
				
			||||||
            showDownloadButton: false,
 | 
					            showDownloadButton: false,
 | 
				
			||||||
@ -122,7 +122,7 @@ export class AddonModUrlModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
            if (module.contents && module.contents[0]) {
 | 
					            if (module.contents && module.contents[0]) {
 | 
				
			||||||
                // Calculate the icon to use.
 | 
					                // Calculate the icon to use.
 | 
				
			||||||
                handlerData.icon = this.urlProvider.guessIcon(module.contents[0].fileurl) ||
 | 
					                handlerData.icon = this.urlProvider.guessIcon(module.contents[0].fileurl) ||
 | 
				
			||||||
                        this.courseProvider.getModuleIconSrc(this.modName);
 | 
					                    this.courseProvider.getModuleIconSrc(this.modName, module.modicon);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ export class AddonModWikiModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('wiki'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_wiki-handler',
 | 
					            class: 'addon-mod_wiki-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -60,7 +60,7 @@ export class AddonModWorkshopModuleHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc('workshop'),
 | 
					            icon: this.courseProvider.getModuleIconSrc(this.modName, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'addon-mod_workshop-handler',
 | 
					            class: 'addon-mod_workshop-handler',
 | 
				
			||||||
            showDownloadButton: true,
 | 
					            showDownloadButton: true,
 | 
				
			||||||
 | 
				
			|||||||
@ -536,10 +536,18 @@ export class CoreCourseProvider {
 | 
				
			|||||||
     * Returns the source to a module icon.
 | 
					     * Returns the source to a module icon.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param {string} moduleName The module name.
 | 
					     * @param {string} moduleName The module name.
 | 
				
			||||||
 | 
					     * @param {string} [modicon] The mod icon string to use in case we are not using a core activity.
 | 
				
			||||||
     * @return {string} The IMG src.
 | 
					     * @return {string} The IMG src.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    getModuleIconSrc(moduleName: string): string {
 | 
					    getModuleIconSrc(moduleName: string, modicon?: string): string {
 | 
				
			||||||
 | 
					        // @TODO: Check modicon url theme to apply other theme icons.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Use default icon on core themes.
 | 
				
			||||||
        if (this.CORE_MODULES.indexOf(moduleName) < 0) {
 | 
					        if (this.CORE_MODULES.indexOf(moduleName) < 0) {
 | 
				
			||||||
 | 
					            if (modicon) {
 | 
				
			||||||
 | 
					                return modicon;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            moduleName = 'external-tool';
 | 
					            moduleName = 'external-tool';
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -48,7 +48,7 @@ export class CoreCourseModuleDefaultHandler implements CoreCourseModuleHandler {
 | 
				
			|||||||
    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
					    getData(module: any, courseId: number, sectionId: number): CoreCourseModuleHandlerData {
 | 
				
			||||||
        // Return the default data.
 | 
					        // Return the default data.
 | 
				
			||||||
        const defaultData: CoreCourseModuleHandlerData = {
 | 
					        const defaultData: CoreCourseModuleHandlerData = {
 | 
				
			||||||
            icon: this.courseProvider.getModuleIconSrc(module.modname),
 | 
					            icon: this.courseProvider.getModuleIconSrc(module.modname, module.modicon),
 | 
				
			||||||
            title: module.name,
 | 
					            title: module.name,
 | 
				
			||||||
            class: 'core-course-default-handler core-course-module-' + module.modname + '-handler',
 | 
					            class: 'core-course-default-handler core-course-module-' + module.modname + '-handler',
 | 
				
			||||||
            action: (event: Event, navCtrl: NavController, module: any, courseId: number, options?: NavOptions): void => {
 | 
					            action: (event: Event, navCtrl: NavController, module: any, courseId: number, options?: NavOptions): void => {
 | 
				
			||||||
 | 
				
			|||||||
@ -313,10 +313,11 @@ export class CoreCourseModuleDelegate extends CoreDelegate {
 | 
				
			|||||||
     * Get the icon src for a certain type of module.
 | 
					     * Get the icon src for a certain type of module.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param {any} modname The name of the module type.
 | 
					     * @param {any} modname The name of the module type.
 | 
				
			||||||
 | 
					     * @param {string} [modicon] The mod icon string.
 | 
				
			||||||
     * @return {string} The icon src.
 | 
					     * @return {string} The icon src.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    getModuleIconSrc(modname: string): string {
 | 
					    getModuleIconSrc(modname: string, modicon?: string): string {
 | 
				
			||||||
        return this.executeFunctionOnEnabled(modname, 'getIconSrc') || this.courseProvider.getModuleIconSrc(modname);
 | 
					        return this.executeFunctionOnEnabled(modname, 'getIconSrc') || this.courseProvider.getModuleIconSrc(modname, modicon);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 | 
				
			|||||||
@ -436,7 +436,8 @@ export class CoreGradesHelperProvider {
 | 
				
			|||||||
            if (typeof module[1] != 'undefined') {
 | 
					            if (typeof module[1] != 'undefined') {
 | 
				
			||||||
                row['itemtype'] = 'mod';
 | 
					                row['itemtype'] = 'mod';
 | 
				
			||||||
                row['itemmodule'] = module[1];
 | 
					                row['itemmodule'] = module[1];
 | 
				
			||||||
                row['image'] = this.courseProvider.getModuleIconSrc(module[1]);
 | 
					                row['image'] = this.courseProvider.getModuleIconSrc(module[1],
 | 
				
			||||||
 | 
					                    this.domUtils.convertToElement(text).querySelector('img').getAttribute('src'));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else if (text.indexOf('src=') > -1) {
 | 
					        } else if (text.indexOf('src=') > -1) {
 | 
				
			||||||
            const src = text.match(/src="([^"]*)"/);
 | 
					            const src = text.match(/src="([^"]*)"/);
 | 
				
			||||||
 | 
				
			|||||||
@ -346,6 +346,17 @@ export class CoreDomUtilsProvider {
 | 
				
			|||||||
        return data;
 | 
					        return data;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Returns the attribute value of a string element. Only the first element will be selected.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param  {string} html      HTML element in string.
 | 
				
			||||||
 | 
					     * @param  {string} attribute Attribute to get.
 | 
				
			||||||
 | 
					     * @return {string}           Attribute value.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    getHTMLElementAttribute(html: string, attribute: string): string {
 | 
				
			||||||
 | 
					        return this.convertToElement(html).children[0].getAttribute('src');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Returns height of an element.
 | 
					     * Returns height of an element.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user