MOBILE-4407 url: Fix icon inside url resources
parent
f599185095
commit
55d126ca24
|
@ -107,18 +107,59 @@ export class AddonModUrlModuleHandlerService extends CoreModuleHandlerBase imple
|
||||||
|
|
||||||
if (handlerData.buttons && hideButton !== undefined) {
|
if (handlerData.buttons && hideButton !== undefined) {
|
||||||
handlerData.buttons[0].hidden = hideButton;
|
handlerData.buttons[0].hidden = hideButton;
|
||||||
|
}
|
||||||
|
|
||||||
if (module.contents && module.contents[0]) {
|
try {
|
||||||
const icon = AddonModUrl.guessIcon(module.contents[0].fileurl);
|
handlerData.icon = await this.getIconSrc(module);
|
||||||
|
} catch {
|
||||||
// Calculate the icon to use.
|
// Ignore errors.
|
||||||
handlerData.icon = CoreCourse.getModuleIconSrc(module.modname, module.modicon, icon);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return handlerData;
|
return handlerData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
async getIconSrc(module?: CoreCourseModuleData): Promise<string | undefined> {
|
||||||
|
if (!module) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let mainFile = module.contents?.[0];
|
||||||
|
|
||||||
|
if (!mainFile) {
|
||||||
|
try {
|
||||||
|
// Try to get module contents, it's needed to get the URL with parameters.
|
||||||
|
const contents = await CoreCourse.getModuleContents(
|
||||||
|
module,
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
undefined,
|
||||||
|
'url',
|
||||||
|
);
|
||||||
|
|
||||||
|
mainFile = contents[0];
|
||||||
|
} catch {
|
||||||
|
// Fallback in case is not prefetched.
|
||||||
|
const mod = await CoreCourse.getModule(module.id, module.course, undefined, true, false, undefined, 'url');
|
||||||
|
|
||||||
|
mainFile = mod.contents?.[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mainFile) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const icon = AddonModUrl.guessIcon(mainFile.fileurl);
|
||||||
|
|
||||||
|
// Calculate the icon to use.
|
||||||
|
return CoreCourse.getModuleIconSrc(module.modname, module.modicon, icon);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns if contents are loaded to show link button.
|
* Returns if contents are loaded to show link button.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue