import { Component, Input, ComponentFactoryResolver, ChangeDetectorRef } from '@angular/core'; import { ThemedComponent } from '../theme-support/themed.component'; import { LoadingComponent } from './loading.component'; import { ThemeService } from '../theme-support/theme.service'; /** * Themed wrapper for LoadingComponent */ @Component({ selector: 'ds-themed-loading', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) export class ThemedLoadingComponent extends ThemedComponent { @Input() message: string; @Input() showMessage = true; protected inAndOutputNames: (keyof LoadingComponent & keyof this)[] = ['message', 'showMessage']; constructor( protected resolver: ComponentFactoryResolver, protected cdr: ChangeDetectorRef, protected themeService: ThemeService ) { super(resolver, cdr, themeService); } protected getComponentName(): string { return 'LoadingComponent'; } protected importThemedComponent(themeName: string): Promise { return import(`../../../themes/${themeName}/app/shared/loading/loading.component`); } protected importUnthemedComponent(): Promise { return import('./loading.component'); } }