2017-07-20 15:14:38 +03:00
|
|
|
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 {
|
2017-07-20 16:38:37 +03:00
|
|
|
NgaActionsModule,
|
2017-04-13 14:24:23 +03:00
|
|
|
NgaCardModule,
|
|
|
|
|
NgaLayoutModule,
|
2017-07-20 16:38:37 +03:00
|
|
|
NgaMenuModule,
|
2017-04-13 14:24:23 +03:00
|
|
|
NgaRouteTabsetModule,
|
2017-07-20 16:38:37 +03:00
|
|
|
NgaSearchModule,
|
2017-04-13 14:24:23 +03:00
|
|
|
NgaSidebarModule,
|
2017-07-20 16:38:37 +03:00
|
|
|
NgaTabsetModule,
|
|
|
|
|
NgaThemeModule,
|
2017-04-21 17:23:44 +03:00
|
|
|
NgaUserModule,
|
2017-06-26 12:38:12 +03:00
|
|
|
} from '@akveo/nga-theme';
|
2017-04-13 14:24:23 +03:00
|
|
|
|
2017-07-28 14:54:29 +03:00
|
|
|
import {
|
|
|
|
|
FooterComponent,
|
|
|
|
|
HeaderComponent,
|
|
|
|
|
SearchInputComponent,
|
|
|
|
|
ThemeSettingsComponent,
|
|
|
|
|
TinyMCEComponent,
|
|
|
|
|
} from './components';
|
2017-07-20 16:38:37 +03:00
|
|
|
import { CapitalizePipe, PluralPipe, RoundPipe } from './pipes';
|
2017-07-28 14:54:29 +03:00
|
|
|
import {
|
|
|
|
|
OneColumnLayoutComponent,
|
|
|
|
|
SampleLayoutComponent,
|
|
|
|
|
ThreeColumnsLayoutComponent,
|
|
|
|
|
TwoColumnsLayoutComponent,
|
|
|
|
|
} from './layouts';
|
2017-07-27 17:21:38 +03:00
|
|
|
import { DEFAULT_THEME } from './styles/theme.default';
|
|
|
|
|
import { COSMIC_THEME } from './styles/theme.cosmic';
|
2017-04-13 14:24:23 +03:00
|
|
|
|
2017-07-27 17:21:38 +03:00
|
|
|
const BASE_MODULES = [CommonModule, FormsModule, ReactiveFormsModule];
|
2017-04-13 14:24:23 +03:00
|
|
|
|
|
|
|
|
const NGA_MODULES = [
|
|
|
|
|
NgaCardModule,
|
|
|
|
|
NgaLayoutModule,
|
|
|
|
|
NgaTabsetModule,
|
|
|
|
|
NgaRouteTabsetModule,
|
2017-04-14 18:28:27 +03:00
|
|
|
NgaMenuModule,
|
2017-04-21 17:23:44 +03:00
|
|
|
NgaUserModule,
|
2017-04-29 18:41:44 +03:00
|
|
|
NgaActionsModule,
|
2017-05-19 19:45:42 +03:00
|
|
|
NgaSearchModule,
|
2017-07-20 15:14:38 +03:00
|
|
|
NgaSidebarModule,
|
2017-04-13 14:24:23 +03:00
|
|
|
];
|
|
|
|
|
|
2017-04-28 14:59:24 +03:00
|
|
|
const COMPONENTS = [
|
2017-04-28 15:14:05 +03:00
|
|
|
HeaderComponent,
|
|
|
|
|
FooterComponent,
|
2017-04-28 14:59:24 +03:00
|
|
|
SearchInputComponent,
|
2017-07-28 14:54:29 +03:00
|
|
|
ThemeSettingsComponent,
|
2017-07-27 17:21:38 +03:00
|
|
|
TinyMCEComponent,
|
2017-04-28 14:59:24 +03:00
|
|
|
OneColumnLayoutComponent,
|
2017-07-28 14:54:29 +03:00
|
|
|
SampleLayoutComponent,
|
2017-07-27 17:21:38 +03:00
|
|
|
ThreeColumnsLayoutComponent,
|
|
|
|
|
TwoColumnsLayoutComponent,
|
2017-04-13 14:24:23 +03:00
|
|
|
];
|
|
|
|
|
|
2017-07-27 17:21:38 +03:00
|
|
|
const PIPES = [CapitalizePipe, PluralPipe, RoundPipe];
|
2017-07-07 19:54:49 +03:00
|
|
|
|
2017-07-20 15:14:38 +03:00
|
|
|
const NGA_THEME_PROVIDERS = [
|
2017-07-27 17:21:38 +03:00
|
|
|
...NgaThemeModule.forRoot(
|
|
|
|
|
{
|
2017-08-01 15:42:06 +03:00
|
|
|
name: 'default',
|
2017-07-28 14:54:29 +03:00
|
|
|
},
|
2017-07-27 17:21:38 +03:00
|
|
|
[DEFAULT_THEME, COSMIC_THEME],
|
2017-07-20 16:38:37 +03:00
|
|
|
).providers,
|
2017-07-20 15:14:38 +03:00
|
|
|
...NgaSidebarModule.forRoot().providers,
|
|
|
|
|
...NgaSidebarModule.forRoot().providers,
|
|
|
|
|
...NgaMenuModule.forRoot().providers,
|
|
|
|
|
];
|
|
|
|
|
|
2017-04-13 14:24:23 +03:00
|
|
|
@NgModule({
|
2017-07-27 17:21:38 +03:00
|
|
|
imports: [...BASE_MODULES, ...NGA_MODULES],
|
|
|
|
|
exports: [...BASE_MODULES, ...NGA_MODULES, ...COMPONENTS, ...PIPES],
|
|
|
|
|
declarations: [...COMPONENTS, ...PIPES],
|
2017-04-13 14:24:23 +03:00
|
|
|
})
|
|
|
|
|
export class ThemeModule {
|
2017-07-20 15:14:38 +03:00
|
|
|
static forRoot(): ModuleWithProviders {
|
|
|
|
|
return <ModuleWithProviders>{
|
|
|
|
|
ngModule: ThemeModule,
|
2017-07-27 17:21:38 +03:00
|
|
|
providers: [...NGA_THEME_PROVIDERS],
|
2017-07-20 15:14:38 +03:00
|
|
|
};
|
|
|
|
|
}
|
2017-04-13 14:24:23 +03:00
|
|
|
}
|