app.module.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. import { NgxSliderModule } from '@angular-slider/ngx-slider';
  2. import { ScrollingModule as ExperimentalScrollingModule } from '@angular/cdk-experimental/scrolling';
  3. import { ScrollingModule } from '@angular/cdk/scrolling';
  4. import { HttpClientModule } from '@angular/common/http';
  5. import { APP_INITIALIZER, NgModule } from '@angular/core';
  6. import { FormsModule } from '@angular/forms';
  7. import { BrowserModule } from '@angular/platform-browser';
  8. import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
  9. import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
  10. import { fas } from '@fortawesome/free-solid-svg-icons';
  11. import { NgbModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
  12. import { GridsterModule } from 'angular-gridster2';
  13. import { DynamicAttributesModule, DynamicModule } from 'ng-dynamic-component';
  14. import { NgxSpinnerModule } from 'ngx-spinner';
  15. import { UiComponentsModule } from './ui-components/ui-components.module';
  16. import { RouterModule, Routes } from '@angular/router';
  17. import { AppRoutingModule } from './app-routing.module';
  18. import { AppTranslationModule } from './app-translation.module';
  19. import { AppComponent } from './app.component';
  20. import { Ng2HandySyntaxHighlighterModule } from 'ng2-handy-syntax-highlighter';
  21. import { AppConfig } from './app.config';
  22. import { AdditionComponent } from './components/addition/addition.component';
  23. import { AdditionalComponent } from './components/additional/additional.component';
  24. import { ApparatusEntryDetailComponent } from './components/apparatus-entry/apparatus-entry-detail/apparatus-entry-detail.component';
  25. import { ApparatusEntryReadingsComponent } from './components/apparatus-entry/apparatus-entry-readings/apparatus-entry-readings.component';
  26. import { ApparatusEntryComponent } from './components/apparatus-entry/apparatus-entry.component';
  27. import { CharComponent } from './components/char/char.component';
  28. import { ChoiceComponent } from './components/choice/choice.component';
  29. import { ContentViewerComponent } from './components/content-viewer/content-viewer.component';
  30. import { DamageComponent } from './components/damage/damage.component';
  31. import { DeletionComponent } from './components/deletion/deletion.component';
  32. import { EditionLevelSelectorComponent } from './components/edition-level-selector/edition-level-selector.component';
  33. import { EditionStmtComponent } from './components/edition-stmt/edition-stmt.component';
  34. import { EditorialDeclComponent } from './components/editorial-decl/editorial-decl.component';
  35. import { EncodingDescComponent } from './components/encoding-desc/encoding-desc.component';
  36. import { EntitiesSelectComponent } from './components/entities-select/entities-select.component';
  37. import { ExtentComponent } from './components/extent/extent.component';
  38. import { FileDescComponent } from './components/file-desc/file-desc.component';
  39. import { GComponent } from './components/g/g.component';
  40. import { GapComponent } from './components/gap/gap.component';
  41. import { GenericElementComponent } from './components/generic-element/generic-element.component';
  42. import { GlobalListsComponent } from './components/global-lists/global-lists.component';
  43. import { HistoryComponent } from './components/history/history.component';
  44. import { IdentifierComponent } from './components/identifier/identifier.component';
  45. import { LbComponent } from './components/lb/lb.component';
  46. import { ManuscriptThumbnailsViewerComponent } from './components/manuscript-thumbnails-viewer/manuscript-thumbnails-viewer.component';
  47. import { MsContentsComponent } from './components/ms-contents/ms-contents.component';
  48. import { MsDescSelectorComponent } from './components/ms-desc-selector/ms-desc-selector.component';
  49. import { MsDescComponent } from './components/ms-desc/ms-desc.component';
  50. import { MsFragComponent } from './components/ms-frag/ms-frag.component';
  51. import { MsIdentifierComponent } from './components/ms-identifier/ms-identifier.component';
  52. import { MsItemComponent } from './components/ms-item/ms-item.component';
  53. import { MsPartComponent } from './components/ms-part/ms-part.component';
  54. import { NamedEntitiesListComponent } from './components/named-entities-list/named-entities-list.component';
  55. import { NamedEntityRefComponent } from './components/named-entity-ref/named-entity-ref.component';
  56. import { NamedEntityRelationComponent } from './components/named-entity-relation/named-entity-relation.component';
  57. import { NamedEntityDetailComponent } from './components/named-entity/named-entity-detail/named-entity-detail.component';
  58. import { NamedEntityOccurrenceComponent } from './components/named-entity/named-entity-occurrence/named-entity-occurrence.component';
  59. import { NamedEntityComponent } from './components/named-entity/named-entity.component';
  60. import { NamespaceComponent } from './components/namespace/namespace.component';
  61. import { NoteComponent } from './components/note/note.component';
  62. import { NotesStmtComponent } from './components/notes-stmt/notes-stmt.component';
  63. import { OriginalEncodingViewerComponent } from './components/original-encoding-viewer/original-encoding-viewer.component';
  64. import { OsdComponent } from './components/osd/osd.component';
  65. import { PageSelectorComponent } from './components/page-selector/page-selector.component';
  66. import { PageComponent } from './components/page/page.component';
  67. import { ParagraphComponent } from './components/paragraph/paragraph.component';
  68. import { PhysDescComponent } from './components/phys-desc/phys-desc.component';
  69. import { ProjectDescComponent } from './components/project-desc/project-desc.component';
  70. import { ProjectInfoComponent } from './components/project-info/project-info.component';
  71. import { PublicationStmtComponent } from './components/publication-stmt/publication-stmt.component';
  72. import { ReadingComponent } from './components/reading/reading.component';
  73. import { RenditionComponent } from './components/rendition/rendition.component';
  74. import { RespStmtComponent } from './components/resp-stmt/resp-stmt.component';
  75. import { SamplingDeclComponent } from './components/sampling-decl/sampling-decl.component';
  76. import { SeriesStmtComponent } from './components/series-stmt/series-stmt.component';
  77. import { SicComponent } from './components/sic/sic.component';
  78. import { SuppliedComponent } from './components/supplied/supplied.component';
  79. import { SurplusComponent } from './components/surplus/surplus.component';
  80. import { TagsDeclComponent } from './components/tags-decl/tags-decl.component';
  81. import { TextComponent } from './components/text/text.component';
  82. import { TitleStmtComponent } from './components/title-stmt/title-stmt.component';
  83. import { VerseComponent } from './components/verse/verse.component';
  84. import { VersesGroupComponent } from './components/verses-group/verses-group.component';
  85. import { WordComponent } from './components/word/word.component';
  86. import { AnnotatorDirective } from './directives/annotator.directive';
  87. import { EditorialConventionLayoutDirective } from './directives/editorial-convention-layout.directive';
  88. import { HighlightDirective } from './directives/highlight.directive';
  89. import { HtmlAttributesDirective } from './directives/html-attributes.directive';
  90. import { EvtInfoComponent } from './evt-info/evt-info.component';
  91. import { MainHeaderComponent } from './main-header/main-header.component';
  92. import { MainMenuComponent } from './main-menu/main-menu.component';
  93. import { NavBarComponent } from './nav-bar/nav-bar.component';
  94. import { ImagePanelComponent } from './panels/image-panel/image-panel.component';
  95. import { PinboardPanelComponent } from './panels/pinboard-panel/pinboard-panel.component';
  96. import { SourcesPanelComponent } from './panels/sources-panel/sources-panel.component';
  97. import { TextPanelComponent } from './panels/text-panel/text-panel.component';
  98. import { VersionPanelComponent } from './panels/version-panel/version-panel.component';
  99. import { WitnessPanelComponent } from './panels/witness-panel/witness-panel.component';
  100. import { PinboardComponent } from './pinboard/pinboard.component';
  101. import { PinnerComponent } from './pinboard/pinner/pinner.component';
  102. import { FilterPipe } from './pipes/filter.pipe';
  103. import { HumanizePipe } from './pipes/humanize.pipe';
  104. import { StartsWithPipe } from './pipes/starts-with.pipe';
  105. import { XmlBeautifyPipe } from './pipes/xml-beautify.pipe';
  106. import { AnnotatorService } from './services/annotator/annotator.service';
  107. import { IdbService } from './services/idb.service';
  108. import { ThemesService } from './services/themes.service';
  109. import { GenericParserService } from './services/xml-parsers/generic-parser.service';
  110. import { XMLParsers } from './services/xml-parsers/xml-parsers';
  111. import { ShortcutsComponent } from './shortcuts/shortcuts.component';
  112. import { MsDescSectionComponent } from './ui-components/ms-desc-section/ms-desc-section.component';
  113. import { CollationComponent } from './view-modes/collation/collation.component';
  114. import { ImageTextComponent } from './view-modes/image-text/image-text.component';
  115. import { ReadingTextComponent } from './view-modes/reading-text/reading-text.component';
  116. import { TextSourcesComponent } from './view-modes/text-sources/text-sources.component';
  117. import { TextTextComponent } from './view-modes/text-text/text-text.component';
  118. import { TextVersionsComponent } from './view-modes/text-versions/text-versions.component';
  119. const routes: Routes = [
  120. ];
  121. export function initializeApp(appConfig: AppConfig) {
  122. return () => appConfig.load();
  123. }
  124. @NgModule({
  125. declarations: [
  126. AdditionComponent,
  127. AdditionalComponent,
  128. AnnotatorDirective,
  129. ApparatusEntryComponent,
  130. ApparatusEntryDetailComponent,
  131. ApparatusEntryReadingsComponent,
  132. AppComponent,
  133. CharComponent,
  134. ChoiceComponent,
  135. CollationComponent,
  136. ContentViewerComponent,
  137. DamageComponent,
  138. DeletionComponent,
  139. EditionLevelSelectorComponent,
  140. EditionStmtComponent,
  141. EditorialConventionLayoutDirective,
  142. EditorialDeclComponent,
  143. EncodingDescComponent,
  144. EntitiesSelectComponent,
  145. EvtInfoComponent,
  146. ExtentComponent,
  147. FileDescComponent,
  148. FilterPipe,
  149. GapComponent,
  150. GComponent,
  151. GenericElementComponent,
  152. GlobalListsComponent,
  153. HighlightDirective,
  154. HistoryComponent,
  155. HtmlAttributesDirective,
  156. HumanizePipe,
  157. IdentifierComponent,
  158. ImagePanelComponent,
  159. ImageTextComponent,
  160. LbComponent,
  161. MainHeaderComponent,
  162. MainMenuComponent,
  163. ManuscriptThumbnailsViewerComponent,
  164. MsContentsComponent,
  165. MsDescComponent,
  166. MsDescSectionComponent,
  167. MsDescSelectorComponent,
  168. MsFragComponent,
  169. MsFragComponent,
  170. MsIdentifierComponent,
  171. MsItemComponent,
  172. MsPartComponent,
  173. NamedEntitiesListComponent,
  174. NamedEntityComponent,
  175. NamedEntityDetailComponent,
  176. NamedEntityOccurrenceComponent,
  177. NamedEntityRefComponent,
  178. NamedEntityRelationComponent,
  179. NamespaceComponent,
  180. NavBarComponent,
  181. NoteComponent,
  182. NotesStmtComponent,
  183. OriginalEncodingViewerComponent,
  184. OsdComponent,
  185. PageComponent,
  186. PageSelectorComponent,
  187. ParagraphComponent,
  188. PhysDescComponent,
  189. PinboardComponent,
  190. PinboardPanelComponent,
  191. PinnerComponent,
  192. ProjectDescComponent,
  193. ProjectInfoComponent,
  194. PublicationStmtComponent,
  195. ReadingComponent,
  196. ReadingTextComponent,
  197. RenditionComponent,
  198. RespStmtComponent,
  199. SamplingDeclComponent,
  200. SeriesStmtComponent,
  201. ShortcutsComponent,
  202. SicComponent,
  203. SourcesPanelComponent,
  204. StartsWithPipe,
  205. SuppliedComponent,
  206. SurplusComponent,
  207. TagsDeclComponent,
  208. TextComponent,
  209. TextPanelComponent,
  210. TextSourcesComponent,
  211. TextTextComponent,
  212. TextVersionsComponent,
  213. TitleStmtComponent,
  214. VerseComponent,
  215. VersesGroupComponent,
  216. VersionPanelComponent,
  217. WitnessPanelComponent,
  218. WordComponent,
  219. XmlBeautifyPipe,
  220. ],
  221. imports: [
  222. AppRoutingModule,
  223. AppTranslationModule,
  224. BrowserModule,
  225. BrowserAnimationsModule,
  226. DynamicAttributesModule,
  227. DynamicModule,
  228. ExperimentalScrollingModule,
  229. FormsModule,
  230. GridsterModule,
  231. HttpClientModule,
  232. Ng2HandySyntaxHighlighterModule,
  233. NgbModule,
  234. NgbPopoverModule,
  235. NgxSliderModule,
  236. NgxSpinnerModule,
  237. RouterModule.forRoot(routes, { useHash: true, relativeLinkResolution: 'legacy' }),
  238. ScrollingModule,
  239. UiComponentsModule,
  240. ],
  241. providers: [
  242. AnnotatorService,
  243. AppConfig,
  244. {
  245. provide: APP_INITIALIZER,
  246. useFactory: initializeApp,
  247. deps: [AppConfig], multi: true,
  248. },
  249. AppConfig,
  250. GenericParserService,
  251. IdbService,
  252. ThemesService,
  253. XMLParsers,
  254. ],
  255. bootstrap: [
  256. AppComponent,
  257. ],
  258. entryComponents: [
  259. AdditionComponent,
  260. EvtInfoComponent,
  261. GlobalListsComponent,
  262. NamedEntitiesListComponent,
  263. NamedEntityComponent,
  264. NamedEntityDetailComponent,
  265. NamedEntityRefComponent,
  266. NamedEntityRelationComponent,
  267. ProjectInfoComponent,
  268. ShortcutsComponent,
  269. ],
  270. })
  271. export class AppModule {
  272. constructor(
  273. library: FaIconLibrary,
  274. ) {
  275. library.addIconPacks(fas);
  276. }
  277. }