import { SimpleNotificationsComponent } from './app/utils/simple_notification';
import { NgModule } from '@angular/core';
import { GroupedGrid } from './app/utils/grouped_grid';
import { ModalDialog } from './app/utils/ui-elements/modal-dialog/modal-dialog';
import { UnavailableComponent } from './app/unavailable.component';
import { ModalWindow } from './app/utils/ui-elements/modal-dialog/modal-window';
import { Loader } from './app/utils/loader';
import { NotificationComponent } from './app/utils/notification';
import { DropdownOutsideClickDirective } from './app/utils/dropdownOutsideClick';
import { CommonModule } from '@angular/common';
import { ComponentModule } from './app/utils/ui-elements';
import { CommonPipes } from './app/utils/pipes';
import { FormsModule } from '@angular/forms';
import { TranslateModule } from '@ngx-translate/core';
import { TooltipModule } from 'ngx-bootstrap';

const COMMON_COMPONENTS = [
        SimpleNotificationsComponent,
        GroupedGrid,
        UnavailableComponent,
        ModalDialog,
        ModalWindow,
        Loader,
        NotificationComponent,
        DropdownOutsideClickDirective,
    ];

@NgModule({
    imports: [
        CommonModule,
        FormsModule,
        TooltipModule.forRoot(),
        CommonPipes,
        ComponentModule,
        TranslateModule
    ],
    declarations: [
        ...COMMON_COMPONENTS,
    ],
    exports: [
        ...COMMON_COMPONENTS,
    ]})
export class CommonComponentModule {
}
