import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MatIconModule } from '@angular/material/icon'; import { TranslateModule } from '@ngx-translate/core'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { SortByPipe } from './sorting'; import { HumanizePipe } from './utils'; import { ConfirmationDialogComponent, HiddenActionComponent, LogoComponent, SideNavComponent, StatusBarComponent, ToastComponent, } from './misc'; import { FullPageLoadingIndicatorComponent } from './loading'; import { ConnectionStatusComponent, FullPageErrorComponent } from './error'; import { IqserListingModule } from './listing'; import { IqserFiltersModule } from './filtering'; import { IqserInputsModule } from './inputs'; import { IqserHelpModeModule } from './help-mode'; import { IqserIconsModule } from './icons'; import { IqserButtonsModule } from './buttons'; import { IqserScrollbarModule } from './scrollbar'; import { IqserEmptyStatesModule } from './empty-states'; import { LogPipe } from './utils/pipes/log.pipe'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; import { CapitalizePipe } from './utils/pipes/capitalize.pipe'; import { KeycloakAngularModule } from 'keycloak-angular'; const matModules = [MatIconModule, MatProgressSpinnerModule, MatButtonModule, MatDialogModule]; const modules = [ TranslateModule, IqserIconsModule, IqserButtonsModule, IqserListingModule, IqserFiltersModule, IqserInputsModule, IqserHelpModeModule, IqserScrollbarModule, IqserEmptyStatesModule, ]; const components = [ StatusBarComponent, FullPageLoadingIndicatorComponent, ConnectionStatusComponent, FullPageErrorComponent, LogoComponent, HiddenActionComponent, ConfirmationDialogComponent, SideNavComponent, ToastComponent, ]; const pipes = [SortByPipe, HumanizePipe, CapitalizePipe]; @NgModule({ declarations: [...components, ...pipes, LogPipe], imports: [CommonModule, ...matModules, ...modules, FormsModule, ReactiveFormsModule, KeycloakAngularModule], exports: [...components, ...pipes, ...modules, LogPipe], }) export class CommonUiModule {}