MOBILE-3947 core: Stop using ComponentFactoryResolver
This commit is contained in:
		
							parent
							
								
									33b0afd242
								
							
						
					
					
						commit
						22dbd6ad99
					
				@ -12,7 +12,7 @@
 | 
			
		||||
// See the License for the specific language governing permissions and
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
import { Injectable, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
 | 
			
		||||
import { Injectable, ViewContainerRef } from '@angular/core';
 | 
			
		||||
 | 
			
		||||
import { CoreFilterDefaultHandler } from '@features/filter/services/handlers/default-filter';
 | 
			
		||||
import { CoreFilterFilter, CoreFilterFormatTextOptions } from '@features/filter/services/filter';
 | 
			
		||||
@ -32,10 +32,6 @@ export class AddonFilterDisplayH5PHandlerService extends CoreFilterDefaultHandle
 | 
			
		||||
 | 
			
		||||
    protected template = document.createElement('template'); // A template element to convert HTML to element.
 | 
			
		||||
 | 
			
		||||
    constructor(protected factoryResolver: ComponentFactoryResolver) {
 | 
			
		||||
        super();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @inheritdoc
 | 
			
		||||
     */
 | 
			
		||||
@ -95,8 +91,7 @@ export class AddonFilterDisplayH5PHandlerService extends CoreFilterDefaultHandle
 | 
			
		||||
            const url = placeholder.getAttribute('data-player-src') || '';
 | 
			
		||||
 | 
			
		||||
            // Create the component to display the player.
 | 
			
		||||
            const factory = this.factoryResolver.resolveComponentFactory(CoreH5PPlayerComponent);
 | 
			
		||||
            const componentRef = viewContainerRef.createComponent<CoreH5PPlayerComponent>(factory);
 | 
			
		||||
            const componentRef = viewContainerRef.createComponent<CoreH5PPlayerComponent>(CoreH5PPlayerComponent);
 | 
			
		||||
 | 
			
		||||
            componentRef.instance.src = url;
 | 
			
		||||
            componentRef.instance.component = component;
 | 
			
		||||
 | 
			
		||||
@ -20,7 +20,6 @@ import {
 | 
			
		||||
    OnChanges,
 | 
			
		||||
    DoCheck,
 | 
			
		||||
    ViewContainerRef,
 | 
			
		||||
    ComponentFactoryResolver,
 | 
			
		||||
    ComponentRef,
 | 
			
		||||
    KeyValueDiffers,
 | 
			
		||||
    SimpleChange,
 | 
			
		||||
@ -85,7 +84,6 @@ export class CoreDynamicComponent<ComponentClass> implements OnChanges, DoCheck
 | 
			
		||||
    protected lastComponent?: Type<unknown>;
 | 
			
		||||
 | 
			
		||||
    constructor(
 | 
			
		||||
        protected factoryResolver: ComponentFactoryResolver,
 | 
			
		||||
        differs: KeyValueDiffers,
 | 
			
		||||
        protected cdr: ChangeDetectorRef,
 | 
			
		||||
        protected element: ElementRef,
 | 
			
		||||
@ -172,8 +170,7 @@ export class CoreDynamicComponent<ComponentClass> implements OnChanges, DoCheck
 | 
			
		||||
        } else {
 | 
			
		||||
            try {
 | 
			
		||||
                // Create the component and add it to the container.
 | 
			
		||||
                const factory = this.factoryResolver.resolveComponentFactory(this.component);
 | 
			
		||||
                const componentRef = this.container.createComponent(factory);
 | 
			
		||||
                const componentRef = this.container.createComponent(this.component);
 | 
			
		||||
 | 
			
		||||
                this.instance = componentRef.instance;
 | 
			
		||||
            } catch (ex) {
 | 
			
		||||
 | 
			
		||||
@ -20,7 +20,6 @@ import {
 | 
			
		||||
    ElementRef,
 | 
			
		||||
    ViewContainerRef,
 | 
			
		||||
    ViewChild,
 | 
			
		||||
    ComponentFactoryResolver,
 | 
			
		||||
} from '@angular/core';
 | 
			
		||||
import { CoreLogger } from '@singletons/logger';
 | 
			
		||||
import { CoreDomUtils } from '@services/utils/dom';
 | 
			
		||||
@ -78,7 +77,7 @@ export class CoreNavBarButtonsComponent implements OnInit, OnDestroy {
 | 
			
		||||
    protected mergedContextMenu?: CoreContextMenuComponent;
 | 
			
		||||
    protected createdMainContextMenuElement?: HTMLElement;
 | 
			
		||||
 | 
			
		||||
    constructor(element: ElementRef, protected factoryResolver: ComponentFactoryResolver) {
 | 
			
		||||
    constructor(element: ElementRef) {
 | 
			
		||||
        this.element = element.nativeElement;
 | 
			
		||||
        this.logger = CoreLogger.getInstance('CoreNavBarButtonsComponent');
 | 
			
		||||
 | 
			
		||||
@ -186,8 +185,7 @@ export class CoreNavBarButtonsComponent implements OnInit, OnDestroy {
 | 
			
		||||
     * @returns Created component.
 | 
			
		||||
     */
 | 
			
		||||
    protected createMainContextMenu(): CoreContextMenuComponent {
 | 
			
		||||
        const factory = this.factoryResolver.resolveComponentFactory(CoreContextMenuComponent);
 | 
			
		||||
        const componentRef = this.container.createComponent<CoreContextMenuComponent>(factory);
 | 
			
		||||
        const componentRef = this.container.createComponent(CoreContextMenuComponent);
 | 
			
		||||
 | 
			
		||||
        this.createdMainContextMenuElement = componentRef.location.nativeElement;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,10 +16,10 @@ import {
 | 
			
		||||
    AbstractType,
 | 
			
		||||
    ApplicationInitStatus,
 | 
			
		||||
    ApplicationRef,
 | 
			
		||||
    ComponentFactoryResolver as ComponentFactoryResolverService,
 | 
			
		||||
    Injector,
 | 
			
		||||
    NgZone as NgZoneService,
 | 
			
		||||
    Type,
 | 
			
		||||
    EnvironmentInjector,
 | 
			
		||||
} from '@angular/core';
 | 
			
		||||
import { Router as RouterService } from '@angular/router';
 | 
			
		||||
import { HttpClient } from '@angular/common/http';
 | 
			
		||||
@ -206,7 +206,6 @@ export const Http = makeSingleton(HttpClient);
 | 
			
		||||
export const ActionSheetController = makeSingleton(ActionSheetControllerService);
 | 
			
		||||
export const AngularDelegate = makeSingleton(AngularDelegateService);
 | 
			
		||||
export const AlertController = makeSingleton(AlertControllerService);
 | 
			
		||||
export const ComponentFactoryResolver = makeSingleton(ComponentFactoryResolverService);
 | 
			
		||||
export const LoadingController = makeSingleton(LoadingControllerService);
 | 
			
		||||
export const ModalController = makeSingleton(ModalControllerService);
 | 
			
		||||
export const PopoverController = makeSingleton(PopoverControllerService);
 | 
			
		||||
@ -227,6 +226,7 @@ export const Translate: Omit<CoreSingletonProxy<TranslateService>, 'instant'> &
 | 
			
		||||
// Async singletons.
 | 
			
		||||
export const AngularFrameworkDelegate = asyncInstance(async () => {
 | 
			
		||||
    const injector = await singletonsInjector;
 | 
			
		||||
    const environmentInjector = await injector.get(EnvironmentInjector);
 | 
			
		||||
 | 
			
		||||
    return AngularDelegate.create(ComponentFactoryResolver.instance, injector);
 | 
			
		||||
    return AngularDelegate.create(environmentInjector, injector);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user