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, StatusBarComponent } from './misc'; import { FullPageLoadingIndicatorComponent } from './loading'; import { 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'; const matModules = [MatIconModule, MatProgressSpinnerModule, MatButtonModule, MatDialogModule]; const modules = [ TranslateModule, IqserIconsModule, IqserButtonsModule, IqserListingModule, IqserFiltersModule, IqserInputsModule, IqserHelpModeModule, IqserScrollbarModule, IqserEmptyStatesModule ]; const components = [ StatusBarComponent, FullPageLoadingIndicatorComponent, FullPageErrorComponent, LogoComponent, HiddenActionComponent, ConfirmationDialogComponent ]; const pipes = [SortByPipe, HumanizePipe]; @NgModule({ declarations: [...components, ...pipes, LogPipe], imports: [CommonModule, ...matModules, ...modules, FormsModule, ReactiveFormsModule], exports: [...components, ...pipes, ...modules, LogPipe] }) export class CommonUiModule {}