commit
783b7fe3a8
|
@ -24,7 +24,7 @@ import { AddonCompetencyProvider } from '../providers/competency';
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AddonCompetencyCourseOptionHandler implements CoreCourseOptionsHandler {
|
export class AddonCompetencyCourseOptionHandler implements CoreCourseOptionsHandler {
|
||||||
name = 'AddonCompetency';
|
name = 'AddonCompetency';
|
||||||
priority = 700;
|
priority = 300;
|
||||||
|
|
||||||
constructor(private competencyProvider: AddonCompetencyProvider) {}
|
constructor(private competencyProvider: AddonCompetencyProvider) {}
|
||||||
|
|
||||||
|
|
|
@ -262,7 +262,8 @@ export class CoreCourseOptionsDelegate extends CoreDelegate {
|
||||||
|
|
||||||
const accessData = {
|
const accessData = {
|
||||||
type: isGuest ? CoreCourseProvider.ACCESS_GUEST : CoreCourseProvider.ACCESS_DEFAULT
|
type: isGuest ? CoreCourseProvider.ACCESS_GUEST : CoreCourseProvider.ACCESS_DEFAULT
|
||||||
};
|
},
|
||||||
|
handlersToDisplay: CoreCourseOptionsHandlerToDisplay[] = [];
|
||||||
|
|
||||||
if (navOptions) {
|
if (navOptions) {
|
||||||
course.navOptions = navOptions;
|
course.navOptions = navOptions;
|
||||||
|
@ -275,8 +276,7 @@ export class CoreCourseOptionsDelegate extends CoreDelegate {
|
||||||
// Call getHandlersForAccess to make sure the handlers have been loaded.
|
// Call getHandlersForAccess to make sure the handlers have been loaded.
|
||||||
return this.getHandlersForAccess(course.id, refresh, accessData, course.navOptions, course.admOptions);
|
return this.getHandlersForAccess(course.id, refresh, accessData, course.navOptions, course.admOptions);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
const handlersToDisplay: CoreCourseOptionsHandlerToDisplay[] = [],
|
const promises = [];
|
||||||
promises = [];
|
|
||||||
|
|
||||||
this.coursesHandlers[course.id].enabledHandlers.forEach((handler) => {
|
this.coursesHandlers[course.id].enabledHandlers.forEach((handler) => {
|
||||||
promises.push(Promise.resolve(handler.getDisplayData(injector, course)).then((data) => {
|
promises.push(Promise.resolve(handler.getDisplayData(injector, course)).then((data) => {
|
||||||
|
@ -291,6 +291,9 @@ export class CoreCourseOptionsDelegate extends CoreDelegate {
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return Promise.all(promises);
|
||||||
|
}).then(() => {
|
||||||
|
|
||||||
// Sort them by priority.
|
// Sort them by priority.
|
||||||
handlersToDisplay.sort((a, b) => {
|
handlersToDisplay.sort((a, b) => {
|
||||||
return b.priority - a.priority;
|
return b.priority - a.priority;
|
||||||
|
|
Loading…
Reference in New Issue