ngx-admin/src/app/@theme/theme.module.ts

102 lines
2.2 KiB
TypeScript
Raw Normal View History

import { ModuleWithProviders, NgModule } from '@angular/core';
2017-04-13 14:24:23 +03:00
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
2017-04-13 14:24:23 +03:00
import {
NbActionsModule,
NbCardModule,
NbLayoutModule,
NbMenuModule,
NbRouteTabsetModule,
NbSearchModule,
NbSidebarModule,
NbTabsetModule,
NbThemeModule,
NbUserModule,
NbCheckboxModule,
NbPopoverModule,
NbContextMenuModule,
} from '@nebular/theme';
2017-04-13 14:24:23 +03:00
import {
FooterComponent,
HeaderComponent,
SearchInputComponent,
ThemeSettingsComponent,
ThemeSwitcherComponent,
TinyMCEComponent,
} from './components';
2017-08-06 15:51:07 +03:00
import { CapitalizePipe, PluralPipe, RoundPipe, TimingPipe } from './pipes';
import {
OneColumnLayoutComponent,
SampleLayoutComponent,
ThreeColumnsLayoutComponent,
TwoColumnsLayoutComponent,
} from './layouts';
import { DEFAULT_THEME } from './styles/theme.default';
import { COSMIC_THEME } from './styles/theme.cosmic';
2017-04-13 14:24:23 +03:00
const BASE_MODULES = [CommonModule, FormsModule, ReactiveFormsModule];
2017-04-13 14:24:23 +03:00
const NB_MODULES = [
NbCardModule,
NbLayoutModule,
NbTabsetModule,
NbRouteTabsetModule,
NbMenuModule,
NbUserModule,
NbActionsModule,
NbSearchModule,
NbSidebarModule,
NbCheckboxModule,
NbPopoverModule,
NbContextMenuModule,
NgbModule,
2017-04-13 14:24:23 +03:00
];
const COMPONENTS = [
ThemeSwitcherComponent,
2017-04-28 15:14:05 +03:00
HeaderComponent,
FooterComponent,
SearchInputComponent,
ThemeSettingsComponent,
TinyMCEComponent,
OneColumnLayoutComponent,
SampleLayoutComponent,
ThreeColumnsLayoutComponent,
TwoColumnsLayoutComponent,
2017-04-13 14:24:23 +03:00
];
2017-08-06 15:51:07 +03:00
const PIPES = [
CapitalizePipe,
PluralPipe,
RoundPipe,
TimingPipe,
];
const NB_THEME_PROVIDERS = [
...NbThemeModule.forRoot(
{
name: 'cosmic',
},
[ DEFAULT_THEME, COSMIC_THEME ],
).providers,
...NbSidebarModule.forRoot().providers,
...NbMenuModule.forRoot().providers,
];
2017-04-13 14:24:23 +03:00
@NgModule({
imports: [...BASE_MODULES, ...NB_MODULES],
exports: [...BASE_MODULES, ...NB_MODULES, ...COMPONENTS, ...PIPES],
declarations: [...COMPONENTS, ...PIPES],
2017-04-13 14:24:23 +03:00
})
export class ThemeModule {
static forRoot(): ModuleWithProviders {
return <ModuleWithProviders>{
ngModule: ThemeModule,
providers: [...NB_THEME_PROVIDERS],
};
}
2017-04-13 14:24:23 +03:00
}