forked from CIT/Vmeda.Online
		
	MOBILE-4653 handlers: Decouple handlers from its components
This commit is contained in:
		
							parent
							
								
									e69eed4f4c
								
							
						
					
					
						commit
						40b200d6da
					
				@ -13,7 +13,6 @@
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -45,7 +44,9 @@ export class AddonBadgesTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,6 @@
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -45,9 +44,11 @@ export class AddonBlogTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
        async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
            const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
            return CoreTagFeedComponent;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
export const AddonBlogTagAreaHandler = makeSingleton(AddonBlogTagAreaHandlerService);
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,6 @@ import { CoreText } from '@singletons/text';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonModAssignFeedbackCommentsComponent } from '../component/comments';
 | 
			
		||||
import { CoreFileHelper } from '@services/file-helper';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -73,7 +72,9 @@ export class AddonModAssignFeedbackCommentsHandlerService implements AddonModAss
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<IAddonModAssignFeedbackPluginComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<IAddonModAssignFeedbackPluginComponent>> {
 | 
			
		||||
        const { AddonModAssignFeedbackCommentsComponent } = await import('../component/comments');
 | 
			
		||||
 | 
			
		||||
        return AddonModAssignFeedbackCommentsComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModAssignFeedbackHandler } from '@addons/mod/assign/services/feedb
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonModAssignFeedbackEditPdfComponent } from '../component/editpdf';
 | 
			
		||||
import type { IAddonModAssignFeedbackPluginComponent } from '@addons/mod/assign/classes/base-feedback-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModAssignFeedbackEditPdfHandlerService implements AddonModAssi
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<IAddonModAssignFeedbackPluginComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<IAddonModAssignFeedbackPluginComponent>> {
 | 
			
		||||
        const { AddonModAssignFeedbackEditPdfComponent } = await import('../component/editpdf');
 | 
			
		||||
 | 
			
		||||
        return AddonModAssignFeedbackEditPdfComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,6 @@ import { AddonModAssignFeedbackHandler } from '@addons/mod/assign/services/feedb
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonModAssignFeedbackFileComponent } from '../component/file';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler for file feedback plugin.
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModAssignFeedbackFileHandlerService implements AddonModAssignF
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<IAddonModAssignFeedbackPluginComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<IAddonModAssignFeedbackPluginComponent>> {
 | 
			
		||||
        const { AddonModAssignFeedbackFileComponent } = await import('../component/file');
 | 
			
		||||
 | 
			
		||||
        return AddonModAssignFeedbackFileComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,6 @@ import { CoreFileSession } from '@services/file-session';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonModAssignSubmissionFileComponent } from '../component/file';
 | 
			
		||||
import { FileEntry } from '@awesome-cordova-plugins/file/ngx';
 | 
			
		||||
import type { AddonModAssignSubmissionPluginBaseComponent } from '@addons/mod/assign/classes/base-submission-plugin-component';
 | 
			
		||||
import { ADDON_MOD_ASSIGN_COMPONENT } from '@addons/mod/assign/constants';
 | 
			
		||||
@ -101,7 +100,9 @@ export class AddonModAssignSubmissionFileHandlerService implements AddonModAssig
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModAssignSubmissionPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModAssignSubmissionPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModAssignSubmissionFileComponent } = await import('../component/file');
 | 
			
		||||
 | 
			
		||||
        return AddonModAssignSubmissionFileComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -29,7 +29,6 @@ import { CoreText } from '@singletons/text';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModAssignSubmissionOnlineTextComponent } from '../component/onlinetext';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler for online text submission plugin.
 | 
			
		||||
@ -111,7 +110,9 @@ export class AddonModAssignSubmissionOnlineTextHandlerService implements AddonMo
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModAssignSubmissionPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModAssignSubmissionPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModAssignSubmissionOnlineTextComponent } = await import('../component/onlinetext');
 | 
			
		||||
 | 
			
		||||
        return AddonModAssignSubmissionOnlineTextComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreCourse } from '@features/course/services/course';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { CoreSitesReadingStrategy } from '@services/sites';
 | 
			
		||||
@ -68,11 +67,11 @@ export class AddonModBookTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the component to use to display items.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModDataFieldHandler } from '@addons/mod/data/services/data-fields-
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldCheckboxComponent } from '../component/checkbox';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModDataFieldCheckboxHandlerService implements AddonModDataFiel
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldCheckboxComponent } = await import('../component/checkbox');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldCheckboxComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { CoreTimeUtils } from '@services/utils/time';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldDateComponent } from '../component/date';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -38,7 +37,9 @@ export class AddonModDataFieldDateHandlerService implements AddonModDataFieldHan
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldDateComponent } = await import('../component/date');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldDateComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,6 @@ import { FileEntry } from '@awesome-cordova-plugins/file/ngx';
 | 
			
		||||
import { CoreFileSession } from '@services/file-session';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldFileComponent } from '../component/file';
 | 
			
		||||
import { CoreFileEntry } from '@services/file-helper';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants';
 | 
			
		||||
@ -42,7 +41,9 @@ export class AddonModDataFieldFileHandlerService implements AddonModDataFieldHan
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldFileComponent } = await import('../component/file');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldFileComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModDataFieldHandler } from '@addons/mod/data/services/data-fields-
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldLatlongComponent } from '../component/latlong';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModDataFieldLatlongHandlerService implements AddonModDataField
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldLatlongComponent } = await import('../component/latlong');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldLatlongComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModDataFieldHandler } from '@addons/mod/data/services/data-fields-
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldMenuComponent } from '../component/menu';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModDataFieldMenuHandlerService implements AddonModDataFieldHan
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldMenuComponent } = await import('../component/menu');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldMenuComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModDataFieldHandler } from '@addons/mod/data/services/data-fields-
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldMultimenuComponent } from '../component/multimenu';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModDataFieldMultimenuHandlerService implements AddonModDataFie
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldMultimenuComponent } = await import('../component/multimenu');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldMultimenuComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldTextHandlerService } from '../../text/services/handler';
 | 
			
		||||
import { AddonModDataFieldNumberComponent } from '../component/number';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -32,7 +31,9 @@ export class AddonModDataFieldNumberHandlerService extends AddonModDataFieldText
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldNumberComponent } = await import('../component/number');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldNumberComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,6 @@ import { FileEntry } from '@awesome-cordova-plugins/file/ngx';
 | 
			
		||||
import { CoreFileSession } from '@services/file-session';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldPictureComponent } from '../component/picture';
 | 
			
		||||
import { CoreFileEntry } from '@services/file-helper';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
import { ADDON_MOD_DATA_COMPONENT } from '@addons/mod/data/constants';
 | 
			
		||||
@ -42,7 +41,9 @@ export class AddonModDataFieldPictureHandlerService implements AddonModDataField
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldPictureComponent } = await import('../component/picture');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldPictureComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModDataFieldHandler } from '@addons/mod/data/services/data-fields-
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldRadiobuttonComponent } from '../component/radiobutton';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModDataFieldRadiobuttonHandlerService implements AddonModDataF
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldRadiobuttonComponent } = await import('../component/radiobutton');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldRadiobuttonComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ import { AddonModDataFieldHandler } from '@addons/mod/data/services/data-fields-
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldTextComponent } from '../component/text';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModDataFieldTextHandlerService implements AddonModDataFieldHan
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldTextComponent } = await import('../component/text');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldTextComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreText } from '@singletons/text';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldTextHandlerService } from '../../text/services/handler';
 | 
			
		||||
import { AddonModDataFieldTextareaComponent } from '../component/textarea';
 | 
			
		||||
import { CoreFileEntry, CoreFileHelper } from '@services/file-helper';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
import { CoreDom } from '@singletons/dom';
 | 
			
		||||
@ -36,7 +35,9 @@ export class AddonModDataFieldTextareaHandlerService extends AddonModDataFieldTe
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldTextareaComponent } = await import('../component/textarea');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldTextareaComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { Translate, makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonModDataFieldTextHandlerService } from '../../text/services/handler';
 | 
			
		||||
import { AddonModDataFieldUrlComponent } from '../component/url';
 | 
			
		||||
import type { AddonModDataFieldPluginBaseComponent } from '@addons/mod/data/classes/base-field-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -32,7 +31,9 @@ export class AddonModDataFieldUrlHandlerService extends AddonModDataFieldTextHan
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModDataFieldPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModDataFieldPluginBaseComponent>> {
 | 
			
		||||
        const { AddonModDataFieldUrlComponent } = await import('../component/url');
 | 
			
		||||
 | 
			
		||||
        return AddonModDataFieldUrlComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -45,7 +45,7 @@ export interface AddonModDataFieldHandler extends CoreDelegateHandler {
 | 
			
		||||
     * @param field The field object.
 | 
			
		||||
     * @returns The component to use, undefined if not found.
 | 
			
		||||
     */
 | 
			
		||||
    getComponent?(plugin: AddonModDataField): Type<AddonModDataFieldPluginBaseComponent> | undefined;
 | 
			
		||||
    getComponent?(plugin: AddonModDataField): Promise<Type<AddonModDataFieldPluginBaseComponent> | undefined>;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get field search data in the input data.
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,6 @@
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -44,7 +43,9 @@ export class AddonModDataTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagHelper, CoreTagFeedElement } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
 | 
			
		||||
@ -45,7 +44,9 @@ export class AddonModForumTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,6 @@
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -44,7 +43,9 @@ export class AddonModGlossaryTagAreaHandlerService implements CoreTagAreaHandler
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,6 @@
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -44,7 +43,9 @@ export class AddonModWikiTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,6 @@ import { CoreGradesHelper } from '@features/grades/services/grades-helper';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { AddonWorkshopAssessmentStrategyHandler } from '../../../services/assessment-strategy-delegate';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyAccumulativeComponent } from '../component/accumulative';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyAccumulativeHandlerService } from './handler';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -38,7 +37,9 @@ export class AddonModWorkshopAssessmentStrategyAccumulativeHandlerLazyService
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonModWorkshopAssessmentStrategyAccumulativeComponent } = await import('../component/accumulative');
 | 
			
		||||
 | 
			
		||||
        return AddonModWorkshopAssessmentStrategyAccumulativeComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,6 @@ import {
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyCommentsComponent } from '../component/comments';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyCommentsHandlerService } from './handler';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModWorkshopAssessmentStrategyCommentsHandlerLazyService
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonModWorkshopAssessmentStrategyCommentsComponent } = await import('../component/comments');
 | 
			
		||||
 | 
			
		||||
        return AddonModWorkshopAssessmentStrategyCommentsComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,6 @@ import {
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { Translate, makeSingleton } from '@singletons';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyNumErrorsComponent } from '../component/numerrors';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyNumErrorsHandlerService } from './handler';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModWorkshopAssessmentStrategyNumErrorsHandlerLazyService
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonModWorkshopAssessmentStrategyNumErrorsComponent } = await import('../component/numerrors');
 | 
			
		||||
 | 
			
		||||
        return AddonModWorkshopAssessmentStrategyNumErrorsComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,6 @@ import {
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { Translate, makeSingleton } from '@singletons';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyRubricComponent } from '../component/rubric';
 | 
			
		||||
import { AddonModWorkshopAssessmentStrategyRubricHandlerService } from './handler';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonModWorkshopAssessmentStrategyRubricHandlerLazyService
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonModWorkshopAssessmentStrategyRubricComponent } = await import('../component/rubric');
 | 
			
		||||
 | 
			
		||||
        return AddonModWorkshopAssessmentStrategyRubricComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreQuestionHandler } from '@features/question/services/question-delega
 | 
			
		||||
import { convertTextToHTMLElement } from '@/core/utils/create-html-element';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeCalculatedComponent } from '../../component/calculated';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support calculated question type.
 | 
			
		||||
@ -41,7 +40,9 @@ export class AddonQtypeCalculatedHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeCalculatedComponent } = await import('../../component/calculated');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeCalculatedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { AddonQtypeMultichoiceComponent } from '@addons/qtype/multichoice/component/multichoice';
 | 
			
		||||
import { CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -32,8 +31,10 @@ export class AddonQtypeCalculatedMultiHandlerService implements CoreQuestionHand
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        // Calculated multi behaves like a multichoice, use the same component.
 | 
			
		||||
        const { AddonQtypeMultichoiceComponent } = await import('@addons/qtype/multichoice/component/multichoice');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeMultichoiceComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { AddonQtypeCalculatedComponent } from '@addons/qtype/calculated/component/calculated';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { AddonQtypeCalculatedHandler } from '@addons/qtype/calculated/services/handlers/calculated';
 | 
			
		||||
import { CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
@ -32,8 +31,10 @@ export class AddonQtypeCalculatedSimpleHandlerService implements CoreQuestionHan
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        // Calculated simple behaves like a calculated, use the same component.
 | 
			
		||||
        const { AddonQtypeCalculatedComponent } = await import('@addons/qtype/calculated/component/calculated');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeCalculatedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreQuestion, CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeDdImageOrTextComponent } from '../../component/ddimageortext';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support drag-and-drop onto image question type.
 | 
			
		||||
@ -42,7 +41,9 @@ export class AddonQtypeDdImageOrTextHandlerService implements CoreQuestionHandle
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeDdImageOrTextComponent } = await import('../../component/ddimageortext');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeDdImageOrTextComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreQuestionHandler } from '@features/question/services/question-delega
 | 
			
		||||
import { CoreQuestionHelper, CoreQuestionQuestion } from '@features/question/services/question-helper';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeDdMarkerComponent } from '../../component/ddmarker';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support drag-and-drop markers question type.
 | 
			
		||||
@ -44,7 +43,9 @@ export class AddonQtypeDdMarkerHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeDdMarkerComponent } = await import('../../component/ddmarker');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeDdMarkerComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreQuestion, CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeDdwtosComponent } from '../../component/ddwtos';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support drag-and-drop words into sentences question type.
 | 
			
		||||
@ -42,7 +41,9 @@ export class AddonQtypeDdwtosHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeDdwtosComponent } = await import('../../component/ddwtos');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeDdwtosComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeDescriptionComponent } from '../../component/description';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support description question type.
 | 
			
		||||
@ -37,7 +36,9 @@ export class AddonQtypeDescriptionHandlerService implements CoreQuestionHandler
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeDescriptionComponent } = await import('../../component/description');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeDescriptionComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,6 @@ import { CoreText } from '@singletons/text';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { CoreWSFile } from '@services/ws';
 | 
			
		||||
import { makeSingleton, Translate } from '@singletons';
 | 
			
		||||
import { AddonQtypeEssayComponent } from '../../component/essay';
 | 
			
		||||
import { CoreFileHelper } from '@services/file-helper';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -108,7 +107,9 @@ export class AddonQtypeEssayHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeEssayComponent } = await import('../../component/essay');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeEssayComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreQuestion, CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeGapSelectComponent } from '../../component/gapselect';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support gapselect question type.
 | 
			
		||||
@ -42,7 +41,9 @@ export class AddonQtypeGapSelectHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeGapSelectComponent } = await import('../../component/gapselect');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeGapSelectComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
import { CoreQuestion, CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeMatchComponent } from '../../component/match';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support match question type.
 | 
			
		||||
@ -42,7 +41,9 @@ export class AddonQtypeMatchHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeMatchComponent } = await import('../../component/match');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeMatchComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,6 @@ import { CoreQuestion, CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { CoreQuestionHelper } from '@features/question/services/question-helper';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeMultiAnswerComponent } from '../../component/multianswer';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support multianswer question type.
 | 
			
		||||
@ -43,7 +42,9 @@ export class AddonQtypeMultiAnswerHandlerService implements CoreQuestionHandler
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeMultiAnswerComponent } = await import('../../component/multianswer');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeMultiAnswerComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/ques
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeMultichoiceComponent } from '../../component/multichoice';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support multichoice question type.
 | 
			
		||||
@ -33,7 +32,9 @@ export class AddonQtypeMultichoiceHandlerService implements CoreQuestionHandler
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeMultichoiceComponent } = await import('../../component/multichoice');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeMultichoiceComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,6 @@ import { CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/ques
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonQtypeShortAnswerComponent } from '../../component/shortanswer';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to support short answer question type.
 | 
			
		||||
@ -32,7 +31,9 @@ export class AddonQtypeShortAnswerHandlerService implements CoreQuestionHandler
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonQtypeShortAnswerComponent } = await import('../../component/shortanswer');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeShortAnswerComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { AddonQtypeMultichoiceComponent } from '@addons/qtype/multichoice/component/multichoice';
 | 
			
		||||
import { CoreQuestionHandler } from '@features/question/services/question-delegate';
 | 
			
		||||
import { CoreQuestionQuestionParsed, CoreQuestionsAnswers } from '@features/question/services/question';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
@ -33,8 +32,10 @@ export class AddonQtypeTrueFalseHandlerService implements CoreQuestionHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        // True/false behaves like a multichoice, use the same component.
 | 
			
		||||
        const { AddonQtypeMultichoiceComponent } = await import('@addons/qtype/multichoice/component/multichoice');
 | 
			
		||||
 | 
			
		||||
        return AddonQtypeMultichoiceComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonUserProfileFieldCheckboxComponent } from '../../component/checkbox';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Checkbox user profile field handlers.
 | 
			
		||||
@ -66,12 +65,11 @@ export class AddonUserProfileFieldCheckboxHandlerService implements CoreUserProf
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Component to use to display the user profile field.
 | 
			
		||||
     * It's recommended to return the class of the component, but you can also return an instance of the component.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonUserProfileFieldCheckboxComponent } = await import('../../component/checkbox');
 | 
			
		||||
 | 
			
		||||
        return AddonUserProfileFieldCheckboxComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonUserProfileFieldDatetimeComponent } from '../../component/datetime';
 | 
			
		||||
import moment from 'moment-timezone';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -67,14 +66,13 @@ export class AddonUserProfileFieldDatetimeHandlerService implements CoreUserProf
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Component to use to display the user profile field.
 | 
			
		||||
     * It's recommended to return the class of the component, but you can also return an instance of the component.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
        return AddonUserProfileFieldDatetimeComponent;
 | 
			
		||||
    }
 | 
			
		||||
        async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
            const { AddonUserProfileFieldDatetimeComponent } = await import('../../component/datetime');
 | 
			
		||||
 | 
			
		||||
            return AddonUserProfileFieldDatetimeComponent;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,6 @@ import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
import { AddonUserProfileFieldMenuComponent } from '../../component/menu';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Menu user profile field handlers.
 | 
			
		||||
@ -66,12 +65,11 @@ export class AddonUserProfileFieldMenuHandlerService implements CoreUserProfileF
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Component to use to display the user profile field.
 | 
			
		||||
     * It's recommended to return the class of the component, but you can also return an instance of the component.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonUserProfileFieldMenuComponent } = await import('../../component/menu');
 | 
			
		||||
 | 
			
		||||
        return AddonUserProfileFieldMenuComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { AddonUserProfileFieldSocialComponent } from '../../component/social';
 | 
			
		||||
import { CoreText } from '@singletons/text';
 | 
			
		||||
import { AuthEmailSignupProfileField } from '@features/login/services/login-helper';
 | 
			
		||||
import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
@ -65,12 +64,11 @@ export class AddonUserProfileFieldSocialHandlerService implements CoreUserProfil
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Component to use to display the user profile field.
 | 
			
		||||
     * It's recommended to return the class of the component, but you can also return an instance of the component.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonUserProfileFieldSocialComponent } = await import('../../component/social');
 | 
			
		||||
 | 
			
		||||
        return AddonUserProfileFieldSocialComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { AddonUserProfileFieldTextComponent } from '../../component/text';
 | 
			
		||||
import { CoreText } from '@singletons/text';
 | 
			
		||||
import { AuthEmailSignupProfileField } from '@features/login/services/login-helper';
 | 
			
		||||
import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
@ -65,12 +64,11 @@ export class AddonUserProfileFieldTextHandlerService implements CoreUserProfileF
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Component to use to display the user profile field.
 | 
			
		||||
     * It's recommended to return the class of the component, but you can also return an instance of the component.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonUserProfileFieldTextComponent } = await import('../../component/text');
 | 
			
		||||
 | 
			
		||||
        return AddonUserProfileFieldTextComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { AddonUserProfileFieldTextareaComponent } from '../../component/textarea';
 | 
			
		||||
import { CoreText } from '@singletons/text';
 | 
			
		||||
import { AuthEmailSignupProfileField } from '@features/login/services/login-helper';
 | 
			
		||||
import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
@ -74,12 +73,11 @@ export class AddonUserProfileFieldTextareaHandlerService implements CoreUserProf
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the Component to use to display the user profile field.
 | 
			
		||||
     * It's recommended to return the class of the component, but you can also return an instance of the component.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { AddonUserProfileFieldTextareaComponent } = await import('../../component/textarea');
 | 
			
		||||
 | 
			
		||||
        return AddonUserProfileFieldTextareaComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { convertTextToHTMLElement } from '@/core/utils/create-html-element';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreCourseTagAreaComponent } from '../../components/tag-area/tag-area';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -65,11 +64,11 @@ export class CoreCourseTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the component to use to display items.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreCourseTagAreaComponent } = await import('../../components/tag-area/tag-area');
 | 
			
		||||
 | 
			
		||||
        return CoreCourseTagAreaComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreTagFeedElement, CoreTagHelper } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { CoreTagFeedComponent } from '@features/tag/components/feed/feed';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -48,11 +47,11 @@ export class CoreCourseModulesTagAreaHandlerService implements CoreTagAreaHandle
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the component to use to display items.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,6 @@ import { Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { AddonModAssignDefaultFeedbackHandler } from '@addons/mod/assign/services/handlers/default-feedback';
 | 
			
		||||
import { AddonModAssignPlugin } from '@addons/mod/assign/services/assign';
 | 
			
		||||
import { CoreSitePluginsAssignFeedbackComponent } from '@features/siteplugins/components/assign-feedback/assign-feedback';
 | 
			
		||||
import { Translate } from '@singletons';
 | 
			
		||||
import type{ IAddonModAssignFeedbackPluginComponent } from '@addons/mod/assign/classes/base-feedback-plugin-component';
 | 
			
		||||
 | 
			
		||||
@ -32,7 +31,10 @@ export class CoreSitePluginsAssignFeedbackHandler extends AddonModAssignDefaultF
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<IAddonModAssignFeedbackPluginComponent> | undefined {
 | 
			
		||||
    async getComponent(): Promise<Type<IAddonModAssignFeedbackPluginComponent>> {
 | 
			
		||||
        const { CoreSitePluginsAssignFeedbackComponent } =
 | 
			
		||||
            await import('@features/siteplugins/components/assign-feedback/assign-feedback');
 | 
			
		||||
 | 
			
		||||
        return CoreSitePluginsAssignFeedbackComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import { Type } from '@angular/core';
 | 
			
		||||
import { AddonModAssignPlugin } from '@addons/mod/assign/services/assign';
 | 
			
		||||
import { AddonModAssignDefaultSubmissionHandler } from '@addons/mod/assign/services/handlers/default-submission';
 | 
			
		||||
import { Translate } from '@singletons';
 | 
			
		||||
import { CoreSitePluginsAssignSubmissionComponent } from '../../components/assign-submission/assign-submission';
 | 
			
		||||
import type { AddonModAssignSubmissionPluginBaseComponent } from '@addons/mod/assign/classes/base-submission-plugin-component';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -32,7 +31,9 @@ export class CoreSitePluginsAssignSubmissionHandler extends AddonModAssignDefaul
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<AddonModAssignSubmissionPluginBaseComponent> {
 | 
			
		||||
    async getComponent(): Promise<Type<AddonModAssignSubmissionPluginBaseComponent>> {
 | 
			
		||||
        const { CoreSitePluginsAssignSubmissionComponent } = await import('../../components/assign-submission/assign-submission');
 | 
			
		||||
 | 
			
		||||
        return CoreSitePluginsAssignSubmissionComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
import { Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreQuestionBaseHandler } from '@features/question/classes/base-question-handler';
 | 
			
		||||
import { CoreSitePluginsQuestionComponent } from '@features/siteplugins/components/question/question';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Handler to display a question site plugin.
 | 
			
		||||
@ -29,7 +28,9 @@ export class CoreSitePluginsQuestionHandler extends CoreQuestionBaseHandler {
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreSitePluginsQuestionComponent } = await import('@features/siteplugins/components/question/question');
 | 
			
		||||
 | 
			
		||||
        return CoreSitePluginsQuestionComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
import { Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { AuthEmailSignupProfileField } from '@features/login/services/login-helper';
 | 
			
		||||
import { CoreSitePluginsUserProfileFieldComponent } from '@features/siteplugins/components/user-profile-field/user-profile-field';
 | 
			
		||||
import { CoreUserProfileField } from '@features/user/services/user';
 | 
			
		||||
import { CoreUserProfileFieldHandler, CoreUserProfileFieldHandlerData } from '@features/user/services/user-profile-field-delegate';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
@ -33,7 +32,10 @@ export class CoreSitePluginsUserProfileFieldHandler extends CoreSitePluginsBaseH
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreSitePluginsUserProfileFieldComponent } =
 | 
			
		||||
            await import('@features/siteplugins/components/user-profile-field/user-profile-field');
 | 
			
		||||
 | 
			
		||||
        return CoreSitePluginsUserProfileFieldComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,9 +15,6 @@
 | 
			
		||||
import { AddonWorkshopAssessmentStrategyHandler } from '@addons/mod/workshop/services/assessment-strategy-delegate';
 | 
			
		||||
import { AddonModWorkshopGetAssessmentFormFieldsParsedData } from '@addons/mod/workshop/services/workshop';
 | 
			
		||||
import { Type } from '@angular/core';
 | 
			
		||||
import {
 | 
			
		||||
    CoreSitePluginsWorkshopAssessmentStrategyComponent,
 | 
			
		||||
} from '@features/siteplugins/components/workshop-assessment-strategy/workshop-assessment-strategy';
 | 
			
		||||
import { CoreFormFields } from '@singletons/form';
 | 
			
		||||
import { CoreSitePluginsBaseHandler } from './base-handler';
 | 
			
		||||
 | 
			
		||||
@ -35,7 +32,10 @@ export class CoreSitePluginsWorkshopAssessmentStrategyHandler
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> {
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreSitePluginsWorkshopAssessmentStrategyComponent } =
 | 
			
		||||
            await import('@features/siteplugins/components/workshop-assessment-strategy/workshop-assessment-strategy');
 | 
			
		||||
 | 
			
		||||
        return CoreSitePluginsWorkshopAssessmentStrategyComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,6 @@ import { Injectable, Type } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { convertTextToHTMLElement } from '@/core/utils/create-html-element';
 | 
			
		||||
import { CoreTagAreaHandler } from '@features/tag/services/tag-area-delegate';
 | 
			
		||||
import { CoreUserTagAreaComponent } from '@features/user/components/tag-area/tag-area';
 | 
			
		||||
import { CoreTagFeedElement } from '@features/tag/services/tag-helper';
 | 
			
		||||
import { CoreUserBasicData } from '../user';
 | 
			
		||||
import { makeSingleton } from '@singletons';
 | 
			
		||||
@ -81,12 +80,12 @@ export class CoreUserTagAreaHandlerService implements CoreTagAreaHandler {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the component to use to display items.
 | 
			
		||||
     *
 | 
			
		||||
     * @returns The component (or promise resolved with component) to use, undefined if not found.
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
    getComponent(): Type<unknown> | Promise<Type<unknown>> {
 | 
			
		||||
        return CoreUserTagAreaComponent;
 | 
			
		||||
    async getComponent(): Promise<Type<unknown>> {
 | 
			
		||||
        const { CoreTagFeedComponent } = await import('@features/tag/components/feed/feed');
 | 
			
		||||
 | 
			
		||||
        return CoreTagFeedComponent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user