]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/common.module.ts
af1f2b0705bd565b2a8dea8fb9a4aa14092de84c
[Evergreen.git] / Open-ILS / src / eg2 / src / app / common.module.ts
1 /**
2  * Modules, services, and components used by all apps.
3  */
4 import {CommonModule} from '@angular/common';
5 import {NgModule, ModuleWithProviders} from '@angular/core';
6 import {RouterModule} from '@angular/router';
7 import {FormsModule, ReactiveFormsModule} from '@angular/forms';
8 import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
9 import {EgCoreModule} from '@eg/core/core.module';
10
11 /*
12 Note core services are injected into 'root'.
13 They do not have to be added to the providers list.
14 */
15
16 // consider moving these to core...
17 import {HatchService} from '@eg/share/print/hatch.service';
18 import {PrintService} from '@eg/share/print/print.service';
19
20 // Globally available components
21 import {PrintComponent} from '@eg/share/print/print.component';
22 import {DialogComponent} from '@eg/share/dialog/dialog.component';
23 import {AlertDialogComponent} from '@eg/share/dialog/alert.component';
24 import {ConfirmDialogComponent} from '@eg/share/dialog/confirm.component';
25 import {PromptDialogComponent} from '@eg/share/dialog/prompt.component';
26 import {ProgressInlineComponent} from '@eg/share/dialog/progress-inline.component';
27 import {ProgressDialogComponent} from '@eg/share/dialog/progress.component';
28 import {BoolDisplayComponent} from '@eg/share/util/bool.component';
29 import {ToastService} from '@eg/share/toast/toast.service';
30 import {ToastComponent} from '@eg/share/toast/toast.component';
31 import {StringComponent} from '@eg/share/string/string.component';
32 import {StringService} from '@eg/share/string/string.service';
33
34
35 @NgModule({
36   declarations: [
37     PrintComponent,
38     DialogComponent,
39     AlertDialogComponent,
40     ConfirmDialogComponent,
41     PromptDialogComponent,
42     ProgressInlineComponent,
43     ProgressDialogComponent,
44     ToastComponent,
45     StringComponent,
46     BoolDisplayComponent
47   ],
48   imports: [
49     CommonModule,
50     FormsModule,
51     ReactiveFormsModule,
52     RouterModule,
53     NgbModule,
54     EgCoreModule
55   ],
56   exports: [
57     CommonModule,
58     RouterModule,
59     NgbModule,
60     FormsModule,
61     EgCoreModule,
62     ReactiveFormsModule,
63     PrintComponent,
64     DialogComponent,
65     AlertDialogComponent,
66     ConfirmDialogComponent,
67     PromptDialogComponent,
68     ProgressInlineComponent,
69     ProgressDialogComponent,
70     BoolDisplayComponent,
71     ToastComponent,
72     StringComponent
73   ]
74 })
75
76 export class EgCommonModule {
77     /** forRoot() lets us define services that should only be
78      * instantiated once for all loaded routes */
79     static forRoot(): ModuleWithProviders {
80         return {
81             ngModule: EgCommonModule,
82             providers: [
83                 HatchService,
84                 PrintService,
85                 StringService,
86                 ToastService
87             ]
88         };
89     }
90 }
91