app.module.ts 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. import {BrowserModule, DomSanitizer} from '@angular/platform-browser';
  2. import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
  3. import {RouterModule} from '@angular/router';
  4. import {NgModule, ViewContainerRef} from '@angular/core';
  5. import {FormsModule} from '@angular/forms';
  6. import {HttpClientModule, HttpClient} from '@angular/common/http';
  7. import {HttpModule} from '@angular/http';
  8. import {CookieService} from 'ngx-cookie-service';
  9. import {NgxJsonapiModule} from 'ngx-jsonapi';
  10. import {
  11. MatAutocompleteModule, MatDatepickerModule,
  12. MatDialogModule,
  13. MatIconRegistry,
  14. MatInputModule, MatNativeDateModule
  15. } from '@angular/material';
  16. import {ReactiveFormsModule} from '@angular/forms';
  17. import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
  18. import {TranslateHttpLoader} from '@ngx-translate/http-loader';
  19. import {PerfectScrollbarModule} from 'ngx-perfect-scrollbar';
  20. import {PERFECT_SCROLLBAR_CONFIG} from 'ngx-perfect-scrollbar';
  21. import {PerfectScrollbarConfigInterface} from 'ngx-perfect-scrollbar';
  22. import {
  23. MatSidenavModule,
  24. MatCardModule,
  25. MatMenuModule,
  26. MatCheckboxModule,
  27. MatIconModule,
  28. MatButtonModule,
  29. MatToolbarModule,
  30. MatTabsModule,
  31. MatListModule,
  32. MatSlideToggleModule,
  33. MatSelectModule,
  34. MatProgressBarModule,
  35. MatGridListModule
  36. } from '@angular/material';
  37. import {FlexLayoutModule} from '@angular/flex-layout';
  38. import {BidiModule} from '@angular/cdk/bidi';
  39. import {
  40. MenuComponent,
  41. HeaderComponent,
  42. SidebarComponent,
  43. NotificationComponent,
  44. OptionsComponent,
  45. AdminLayoutComponent,
  46. AuthLayoutComponent,
  47. AccordionAnchorDirective,
  48. AccordionLinkDirective,
  49. AccordionDirective
  50. } from './core';
  51. import {AppRoutes} from './app.routing';
  52. import {AppComponent} from './app.component';
  53. import {AuthService} from './classes/auth.service';
  54. import {ListComponent} from './classes/base_components/list/list.component';
  55. import {DialogComponent} from './classes/base_components/dialog/dialog.component' ;
  56. import {Dialog} from './classes/dialog';
  57. import {NgxSpinnerService} from 'ngx-spinner';
  58. import {LoadingModule} from 'ngx-loading';
  59. import {EditUsersComponent} from './components/user/users/edit-users/edit-users.component';
  60. import {UsersService} from './components/user/users/users.service';
  61. import {RolesService} from './components/user/roles/roles.service';
  62. import {EditRolesComponent} from './components/user/roles/edit-roles/edit-roles.component';
  63. import {EditComponent} from './classes/base_components/edit/edit.component';
  64. import {PermissionGroupsService, PermissionsService} from './components/user/permissions/permissions.service';
  65. import {ServicesService} from './components/basic/services/services.service';
  66. import {ProductsService} from './components/basic/products/products.service';
  67. import {TypesService} from './components/basic/types/types.service';
  68. import {EditProductComponent} from './components/basic/products/edit-product/edit-product.component';
  69. import {EditServicesComponent} from './components/basic/services/edit-services/edit-services.component';
  70. import {EditTypesComponent} from './components/basic/types/edit-types/edit-types.component';
  71. import {EditPermissionsComponent} from './components/user/permissions/edit-permissions/edit-permissions.component';
  72. import {AgmCoreModule} from '@agm/core';
  73. import {DocService} from './classes/doc.service';
  74. import {MatRadioModule} from '@angular/material/radio';
  75. import {MatChipsModule} from '@angular/material/chips';
  76. import {NgxDatatableModule} from '@swimlane/ngx-datatable';
  77. import {GlobalService} from './classes/global.service';
  78. import {environment} from '../environments/environment';
  79. import {SelectedComponent} from './components/auth/selected/selected.component';
  80. import {MatTooltipModule} from '@angular/material/tooltip';
  81. import {ToasterModule, ToasterService} from 'angular5-toaster/dist';
  82. import {AngularFireModule} from '@angular/fire';
  83. import {AngularFireDatabaseModule} from '@angular/fire/database';
  84. import {AngularFireAuthModule} from '@angular/fire/auth';
  85. import {NumberPickerModule} from '@retailify/ngx-mat-numberpicker';
  86. import {MessageService} from './classes/message.service';
  87. import {CentersService} from './classes/center.service';
  88. import {AppsService} from './classes/apps.service';
  89. import {MessagingService} from './classes/messaging.service';
  90. export function createTranslateLoader(http: HttpClient) {
  91. return new TranslateHttpLoader(http, './assets/i18n/', '.json');
  92. }
  93. const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
  94. suppressScrollX: true,
  95. wheelSpeed: 2,
  96. wheelPropagation: true,
  97. minScrollbarLength: 20
  98. };
  99. @NgModule({
  100. declarations: [
  101. SelectedComponent,
  102. EditPermissionsComponent,
  103. EditTypesComponent,
  104. EditServicesComponent,
  105. EditProductComponent,
  106. EditComponent,
  107. EditRolesComponent,
  108. EditUsersComponent,
  109. AppComponent,
  110. HeaderComponent,
  111. SidebarComponent,
  112. NotificationComponent,
  113. OptionsComponent,
  114. MenuComponent,
  115. AdminLayoutComponent,
  116. AuthLayoutComponent,
  117. AccordionAnchorDirective,
  118. AccordionLinkDirective,
  119. AccordionDirective,
  120. ListComponent,
  121. DialogComponent,
  122. ],
  123. imports: [
  124. MatGridListModule,
  125. NumberPickerModule,
  126. MatNativeDateModule,
  127. MatDatepickerModule,
  128. BrowserAnimationsModule,
  129. ToasterModule,
  130. AngularFireModule.initializeApp({
  131. apiKey: 'AIzaSyCzrKn-mozOkz3Eh1dm9K1iZbO2A8RxWLU',
  132. authDomain: 'hpennurse.firebaseapp.com',
  133. databaseURL: 'https://hpennurse.firebaseio.com',
  134. projectId: 'hpennurse',
  135. storageBucket: 'hpennurse.appspot.com',
  136. messagingSenderId: '628214501041'
  137. }),
  138. AngularFireDatabaseModule,
  139. AngularFireAuthModule,
  140. LoadingModule.forRoot({
  141. backdropBackgroundColour: 'rgba(0,0,0,0.1)',
  142. backdropBorderRadius: '4px',
  143. primaryColour: '#0000ff',
  144. secondaryColour: '#0000ff',
  145. tertiaryColour: '#0000ff'
  146. }),
  147. NgxDatatableModule,
  148. MatAutocompleteModule,
  149. MatChipsModule,
  150. MatRadioModule,
  151. AgmCoreModule.forRoot({apiKey: 'AIzaSyDwvNEVZT6CNth_aJEM0uhTf8ksbDjNQIw'}),
  152. LoadingModule,
  153. ReactiveFormsModule,
  154. MatInputModule,
  155. MatDialogModule,
  156. HttpModule,
  157. NgxJsonapiModule.forRoot({
  158. url: environment.app_url,
  159. }),
  160. BrowserModule,
  161. RouterModule.forRoot(AppRoutes),
  162. FormsModule,
  163. HttpClientModule,
  164. TranslateModule.forRoot({
  165. loader: {
  166. provide: TranslateLoader,
  167. useFactory: (createTranslateLoader),
  168. deps: [HttpClient]
  169. }
  170. }),
  171. MatSidenavModule,
  172. MatCardModule,
  173. MatMenuModule,
  174. MatCheckboxModule,
  175. MatIconModule,
  176. MatButtonModule,
  177. MatToolbarModule,
  178. MatTabsModule,
  179. MatListModule,
  180. MatSlideToggleModule,
  181. MatSelectModule,
  182. MatProgressBarModule,
  183. FlexLayoutModule,
  184. BidiModule,
  185. PerfectScrollbarModule,
  186. MatTooltipModule,
  187. ],
  188. providers: [
  189. MessagingService,
  190. AppsService,
  191. CentersService,
  192. MessageService,
  193. ToasterService,
  194. DocService,
  195. GlobalService,
  196. UsersService,
  197. CookieService,
  198. AuthService,
  199. NgxSpinnerService,
  200. Dialog,
  201. RolesService,
  202. PermissionsService,
  203. PermissionGroupsService,
  204. TypesService,
  205. ProductsService,
  206. ServicesService,
  207. {
  208. provide: PERFECT_SCROLLBAR_CONFIG,
  209. useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,
  210. },
  211. ],
  212. bootstrap: [AppComponent],
  213. entryComponents: [
  214. SelectedComponent,
  215. EditPermissionsComponent,
  216. EditTypesComponent,
  217. EditServicesComponent,
  218. DialogComponent,
  219. EditComponent,
  220. EditUsersComponent,
  221. EditRolesComponent,
  222. EditProductComponent,
  223. ]
  224. })
  225. export class AppModule {
  226. url;
  227. constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer, private global: GlobalService) {
  228. matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl('./assets/mdi.svg'));
  229. // Or whatever path you placed mdi.svg at\
  230. }
  231. }