-
Florent Poittevin authoredFlorent Poittevin authored
shared.module.ts 2.45 KiB
import {CommonModule} from "@angular/common";
import {NgModule} from "@angular/core";
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import {MaterialModule} from "@app/material.module";
import {AbstractFormComponent} from "@app/shared/components/abstract-form/abstract-form.component";
import {DataTableComponent} from "@app/shared/components/data-table/data-table.component";
import {SearchComponent} from "@app/shared/components/search/search.component";
import {LanguageState} from "@app/shared/language.state";
import {LicenseState} from "@app/shared/license.state";
import {ApiService} from "@app/shared/services/api.service";
import {ClickEventService} from "@app/shared/services/clickevent.service";
import {SharedState} from "@app/shared/shared.state";
import {AbstractCreateView} from "@app/shared/views/abstract-create/abstract-create.view";
import {AbstractDetailView} from "@app/shared/views/abstract-detail/abstract-detail.view";
import {AbstractEditView} from "@app/shared/views/abstract-edit/abstract-edit.view";
import {AbstractListView} from "@app/shared/views/abstract-list/abstract-list.view";
import {FontAwesomeModule} from "@fortawesome/angular-fontawesome";
import {library} from "@fortawesome/fontawesome-svg-core";
import {fas} from "@fortawesome/free-solid-svg-icons";
import {TranslateModule} from "@ngx-translate/core";
import {NgxsModule} from "@ngxs/store";
import {TableModule} from "primeng/table";
import {BreadcrumbComponent} from "./components/breadcrumb/breadcrumb.component";
import {PaginatorComponent} from "./components/paginator/paginator.component";
const views = [
AbstractListView,
AbstractCreateView,
AbstractDetailView,
AbstractEditView,
];
const dialogs = [];
const components = [
SearchComponent,
DataTableComponent,
PaginatorComponent,
AbstractFormComponent,
BreadcrumbComponent,
];
const directives = [];
const modules = [
CommonModule,
FormsModule,
ReactiveFormsModule,
MaterialModule,
FontAwesomeModule,
TableModule,
TranslateModule,
];
@NgModule({
declarations: [
...views,
...dialogs,
...components,
...directives,
],
imports: [
...modules,
NgxsModule.forFeature([
SharedState,
LicenseState,
LanguageState,
]),
],
exports: [
...modules,
...views,
...dialogs,
...components,
...directives,
],
providers: [
ClickEventService,
ApiService,
],
})
export class SharedModule {
}
// Fontawesome library
library.add(fas);