import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { FormsModule } from "@angular/forms";

import { DataTablesModule } from "angular-datatables";
import { LoadingModule } from "ngx-loading";
import { MomentModule } from 'ngx-moment';
import {MomentTimezoneModule} from 'angular-moment-timezone';

import { SysRoutingModule } from "./sys-routing.module";
import { Sys001Component } from "./sys001/sys001.component";
import { Sys002Component } from "./sys002/sys002.component";
import { Sys002CreateUserComponent } from "./sys002/sys002-create-user.component";
import { Sys002SetUserComponent } from "./sys002/sys002-set-user.component";
import { Sys002ViewUserComponent } from "./sys002/sys002-view-user.component";
import { Sys003Component } from "./sys003/sys003.component";
import { Sys004Component } from "./sys004/sys004.component";
import { Sys004CreateRoleComponent } from "./sys004/sys004-create-role.component";
import { Sys004SetRoleComponent } from "./sys004/sys004-set-role.component";
import { Sys005Component } from "./sys005/sys005.component";
import { Sys005CreatePageComponent } from "./sys005/sys005-create-page.component";
import { Sys005SetPageComponent } from "./sys005/sys005-set-page.component";
import { Sys006Component } from "./sys006/sys006.component";
import { Sys006CreateGroupComponent } from "./sys006/sys006-create-group.component";
import { Sys006SetGroupComponent } from "./sys006/sys006-set-group.component";
import { Sys006ViewGroupComponent } from "./sys006/sys006-view-group.component";

import { FieldMatchesValidatorDirective, EqualValidator } from "app/directives";
import { FilterPipe } from "app/pipe/filter.pipe";

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    SysRoutingModule,
    DataTablesModule,
    MomentModule,
    MomentTimezoneModule,
    LoadingModule
  ],
  declarations: [
    Sys001Component,
    Sys002Component,
    Sys002CreateUserComponent,
    Sys002SetUserComponent,
    Sys002ViewUserComponent,
    Sys003Component,
    Sys004Component,
    Sys004CreateRoleComponent,
    Sys004SetRoleComponent,
    Sys005Component,
    Sys005CreatePageComponent,
    Sys005SetPageComponent,
    Sys006Component,
    Sys006CreateGroupComponent,
    Sys006SetGroupComponent,
    Sys006ViewGroupComponent,
    FieldMatchesValidatorDirective,
    EqualValidator,
    FilterPipe
  ]
})
export class SysModule {}
