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';
|
2017-08-04 19:27:16 +03:00
|
|
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
2017-04-13 14:24:23 +03:00
|
|
|
|
|
|
|
|
import {
|
2017-08-01 17:42:21 +03:00
|
|
|
NbActionsModule,
|
|
|
|
|
NbCardModule,
|
|
|
|
|
NbLayoutModule,
|
|
|
|
|
NbMenuModule,
|
|
|
|
|
NbRouteTabsetModule,
|
|
|
|
|
NbSearchModule,
|
|
|
|
|
NbSidebarModule,
|
|
|
|
|
NbTabsetModule,
|
|
|
|
|
NbThemeModule,
|
|
|
|
|
NbUserModule,
|
2017-08-04 19:27:16 +03:00
|
|
|
NbCheckboxModule,
|
2018-02-22 20:13:23 +03:00
|
|
|
NbPopoverModule,
|
2018-02-21 15:19:33 +03:00
|
|
|
NbContextMenuModule,
|
2018-08-08 16:45:31 +03:00
|
|
|
NbProgressBarModule,
|
2018-11-19 16:57:35 +02:00
|
|
|
NbCalendarModule,
|
|
|
|
|
NbCalendarRangeModule,
|
|
|
|
|
NbStepperModule,
|
|
|
|
|
NbButtonModule,
|
|
|
|
|
NbInputModule,
|
|
|
|
|
NbAccordionModule,
|
|
|
|
|
NbDatepickerModule,
|
|
|
|
|
NbDialogModule,
|
|
|
|
|
NbWindowModule,
|
|
|
|
|
NbListModule,
|
|
|
|
|
NbToastrModule,
|
|
|
|
|
NbAlertModule,
|
|
|
|
|
NbSpinnerModule,
|
|
|
|
|
NbRadioModule,
|
|
|
|
|
NbSelectModule,
|
|
|
|
|
NbChatModule,
|
|
|
|
|
NbTooltipModule,
|
|
|
|
|
NbCalendarKitModule,
|
2017-08-01 17:42:21 +03:00
|
|
|
} from '@nebular/theme';
|
2017-04-13 14:24:23 +03:00
|
|
|
|
2018-02-23 15:07:06 +03:00
|
|
|
import { NbSecurityModule } from '@nebular/security';
|
|
|
|
|
|
2017-07-28 14:54:29 +03:00
|
|
|
import {
|
|
|
|
|
FooterComponent,
|
|
|
|
|
HeaderComponent,
|
|
|
|
|
SearchInputComponent,
|
|
|
|
|
ThemeSettingsComponent,
|
2018-05-11 17:25:02 +03:00
|
|
|
SwitcherComponent,
|
|
|
|
|
LayoutDirectionSwitcherComponent,
|
2017-09-20 12:54:26 +03:00
|
|
|
ThemeSwitcherComponent,
|
2017-07-28 14:54:29 +03:00
|
|
|
TinyMCEComponent,
|
2018-06-21 15:16:53 +03:00
|
|
|
ThemeSwitcherListComponent,
|
2019-01-09 17:11:47 +03:00
|
|
|
ToggleSettingsButtonComponent,
|
2017-07-28 14:54:29 +03:00
|
|
|
} from './components';
|
2018-08-08 16:45:31 +03:00
|
|
|
import {
|
|
|
|
|
CapitalizePipe,
|
|
|
|
|
PluralPipe,
|
|
|
|
|
RoundPipe,
|
|
|
|
|
TimingPipe,
|
|
|
|
|
NumberWithCommasPipe,
|
2018-11-19 17:53:56 +02:00
|
|
|
EvaIconsPipe,
|
2018-08-08 16:45:31 +03:00
|
|
|
} 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';
|
2018-06-21 15:16:53 +03:00
|
|
|
import { CORPORATE_THEME } from './styles/theme.corporate';
|
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
|
|
|
|
2017-08-01 17:42:21 +03:00
|
|
|
const NB_MODULES = [
|
|
|
|
|
NbCardModule,
|
|
|
|
|
NbLayoutModule,
|
|
|
|
|
NbTabsetModule,
|
|
|
|
|
NbRouteTabsetModule,
|
|
|
|
|
NbMenuModule,
|
|
|
|
|
NbUserModule,
|
|
|
|
|
NbActionsModule,
|
|
|
|
|
NbSearchModule,
|
|
|
|
|
NbSidebarModule,
|
2017-08-04 19:27:16 +03:00
|
|
|
NbCheckboxModule,
|
2018-02-22 20:13:23 +03:00
|
|
|
NbPopoverModule,
|
2018-02-21 15:19:33 +03:00
|
|
|
NbContextMenuModule,
|
2017-08-04 19:27:16 +03:00
|
|
|
NgbModule,
|
2018-08-08 16:45:31 +03:00
|
|
|
NbSecurityModule, // *nbIsGranted directive,
|
|
|
|
|
NbProgressBarModule,
|
2018-11-19 16:57:35 +02:00
|
|
|
NbCalendarModule,
|
|
|
|
|
NbCalendarRangeModule,
|
|
|
|
|
NbStepperModule,
|
|
|
|
|
NbButtonModule,
|
|
|
|
|
NbListModule,
|
|
|
|
|
NbToastrModule,
|
|
|
|
|
NbInputModule,
|
|
|
|
|
NbAccordionModule,
|
|
|
|
|
NbDatepickerModule,
|
|
|
|
|
NbDialogModule,
|
|
|
|
|
NbWindowModule,
|
|
|
|
|
NbAlertModule,
|
|
|
|
|
NbSpinnerModule,
|
|
|
|
|
NbRadioModule,
|
|
|
|
|
NbSelectModule,
|
|
|
|
|
NbChatModule,
|
|
|
|
|
NbTooltipModule,
|
|
|
|
|
NbCalendarKitModule,
|
2017-04-13 14:24:23 +03:00
|
|
|
];
|
|
|
|
|
|
2017-04-28 14:59:24 +03:00
|
|
|
const COMPONENTS = [
|
2018-05-11 17:25:02 +03:00
|
|
|
SwitcherComponent,
|
|
|
|
|
LayoutDirectionSwitcherComponent,
|
2017-09-20 12:54:26 +03:00
|
|
|
ThemeSwitcherComponent,
|
2018-06-21 15:16:53 +03:00
|
|
|
ThemeSwitcherListComponent,
|
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,
|
2019-01-09 17:11:47 +03:00
|
|
|
ToggleSettingsButtonComponent,
|
2017-04-13 14:24:23 +03:00
|
|
|
];
|
|
|
|
|
|
2018-06-21 15:16:53 +03:00
|
|
|
const ENTRY_COMPONENTS = [
|
|
|
|
|
ThemeSwitcherListComponent,
|
|
|
|
|
];
|
|
|
|
|
|
2017-08-06 15:51:07 +03:00
|
|
|
const PIPES = [
|
|
|
|
|
CapitalizePipe,
|
|
|
|
|
PluralPipe,
|
|
|
|
|
RoundPipe,
|
|
|
|
|
TimingPipe,
|
2018-08-08 16:45:31 +03:00
|
|
|
NumberWithCommasPipe,
|
2018-11-19 17:53:56 +02:00
|
|
|
EvaIconsPipe,
|
2017-08-06 15:51:07 +03:00
|
|
|
];
|
2017-07-07 19:54:49 +03:00
|
|
|
|
2017-08-01 17:42:21 +03:00
|
|
|
const NB_THEME_PROVIDERS = [
|
|
|
|
|
...NbThemeModule.forRoot(
|
2017-07-27 17:21:38 +03:00
|
|
|
{
|
2017-09-20 13:44:22 +03:00
|
|
|
name: 'cosmic',
|
2017-07-28 14:54:29 +03:00
|
|
|
},
|
2018-06-21 15:16:53 +03:00
|
|
|
[ DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME ],
|
2017-07-20 16:38:37 +03:00
|
|
|
).providers,
|
2017-08-01 17:42:21 +03:00
|
|
|
...NbSidebarModule.forRoot().providers,
|
|
|
|
|
...NbMenuModule.forRoot().providers,
|
2018-11-19 16:57:35 +02:00
|
|
|
...NbDatepickerModule.forRoot().providers,
|
|
|
|
|
...NbDialogModule.forRoot().providers,
|
|
|
|
|
...NbWindowModule.forRoot().providers,
|
|
|
|
|
...NbToastrModule.forRoot().providers,
|
|
|
|
|
...NbChatModule.forRoot({
|
|
|
|
|
messageGoogleMapKey: 'AIzaSyA_wNuCzia92MAmdLRzmqitRGvCF7wCZPY',
|
|
|
|
|
}).providers,
|
2017-07-20 15:14:38 +03:00
|
|
|
];
|
|
|
|
|
|
2017-04-13 14:24:23 +03:00
|
|
|
@NgModule({
|
2017-08-01 17:42:21 +03:00
|
|
|
imports: [...BASE_MODULES, ...NB_MODULES],
|
|
|
|
|
exports: [...BASE_MODULES, ...NB_MODULES, ...COMPONENTS, ...PIPES],
|
2017-07-27 17:21:38 +03:00
|
|
|
declarations: [...COMPONENTS, ...PIPES],
|
2018-06-21 15:16:53 +03:00
|
|
|
entryComponents: [...ENTRY_COMPONENTS],
|
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-08-01 17:42:21 +03:00
|
|
|
providers: [...NB_THEME_PROVIDERS],
|
2017-07-20 15:14:38 +03:00
|
|
|
};
|
|
|
|
|
}
|
2017-04-13 14:24:23 +03:00
|
|
|
}
|