d4638533845a53d451400d99f17fda6c8f59861e
[evergreen-equinox.git] / Open-ILS / src / eg2 / src / app / staff / common.module.ts
1 import {NgModule, ModuleWithProviders} from '@angular/core';
2 import {EgCommonModule} from '@eg/common.module';
3 import {CommonWidgetsModule} from '@eg/share/common-widgets.module';
4 import {AudioService} from '@eg/share/util/audio.service';
5 import {GridModule} from '@eg/share/grid/grid.module';
6 import {CatalogCommonModule} from '@eg/share/catalog/catalog-common.module';
7 import {StaffBannerComponent} from './share/staff-banner.component';
8 import {AccessKeyDirective} from '@eg/share/accesskey/accesskey.directive';
9 import {AccessKeyService} from '@eg/share/accesskey/accesskey.service';
10 import {AccessKeyInfoComponent} from '@eg/share/accesskey/accesskey-info.component';
11 import {OpChangeComponent} from '@eg/staff/share/op-change/op-change.component';
12 import {TitleComponent} from '@eg/share/title/title.component';
13 import {BucketDialogComponent} from '@eg/staff/share/buckets/bucket-dialog.component';
14 import {BibSummaryComponent} from '@eg/staff/share/bib-summary/bib-summary.component';
15 import {BibStaffViewComponent} from '@eg/staff/share/bib-staff-view/bib-staff-view.component';
16 import {EgHelpPopoverComponent} from '@eg/share/eg-help-popover/eg-help-popover.component';
17 import {DatetimeValidatorDirective} from '@eg/share/validators/datetime_validator.directive';
18 import {MultiSelectComponent} from '@eg/share/multi-select/multi-select.component';
19 import {TextMultiSelectComponent} from '@eg/share/text-multi-select/text-multi-select.component';
20 import {NotBeforeMomentValidatorDirective} from '@eg/share/validators/not_before_moment_validator.directive';
21 import {PatronBarcodeValidatorDirective} from '@eg/share/validators/patron_barcode_validator.directive';
22 import {BroadcastService} from '@eg/share/util/broadcast.service';
23 import {CourseService} from './share/course.service';
24 import {FileExportService} from '@eg/share/util/file-export.service';
25 import {OfflineService} from '@eg/staff/share/offline.service';
26
27 /**
28  * Imports the EG common modules and adds modules common to all staff UI's.
29  */
30
31 @NgModule({
32   declarations: [
33     StaffBannerComponent,
34     AccessKeyDirective,
35     AccessKeyInfoComponent,
36     TitleComponent,
37     OpChangeComponent,
38     BucketDialogComponent,
39     BibSummaryComponent,
40     BibStaffViewComponent,
41     EgHelpPopoverComponent,
42     DatetimeValidatorDirective,
43     MultiSelectComponent,
44     TextMultiSelectComponent,
45     NotBeforeMomentValidatorDirective,
46     PatronBarcodeValidatorDirective,
47   ],
48   imports: [
49     EgCommonModule,
50     CommonWidgetsModule,
51     GridModule,
52     CatalogCommonModule
53   ],
54   exports: [
55     EgCommonModule,
56     CommonWidgetsModule,
57     GridModule,
58     CatalogCommonModule,
59     StaffBannerComponent,
60     AccessKeyDirective,
61     AccessKeyInfoComponent,
62     TitleComponent,
63     OpChangeComponent,
64     BucketDialogComponent,
65     BibSummaryComponent,
66     BibStaffViewComponent,
67     EgHelpPopoverComponent,
68     DatetimeValidatorDirective,
69     MultiSelectComponent,
70     TextMultiSelectComponent,
71     NotBeforeMomentValidatorDirective,
72     PatronBarcodeValidatorDirective
73   ]
74 })
75
76 export class StaffCommonModule {
77     static forRoot(): ModuleWithProviders<StaffCommonModule> {
78         return {
79             ngModule: StaffCommonModule,
80             providers: [ // Export staff-wide services
81                 AccessKeyService,
82                 AudioService,
83                 BroadcastService,
84                 CourseService,
85                 FileExportService,
86                 OfflineService
87             ]
88         };
89     }
90 }
91