app.module.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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. import { LemEntryComponent } from './components/lem-entry/lem-entry.component';
  120. import { LemEntryDetailComponent } from './components/lem-entry/lem-entry-detail/lem-entry-detail.component';
  121. import { LemEntryReadingsComponent } from './components/lem-entry/lem-entry-readings/lem-entry-readings.component';
  122. // add by FS
  123. import { LemmatizedEntitiesListComponent } from './components/lemmatized-entities-list/lemmatized-entities-list.component';
  124. import { LemmatizedEntityRefComponent } from './components/lemmatized-entity-ref/lemmatized-entity-ref.component';
  125. import { LemmatizedEntityRelationComponent } from './components/lemmatized-entity-relation/lemmatized-entity-relation.component';
  126. import { LemmatizedEntityDetailComponent } from './components/lemmatized-entity/lemmatized-entity-detail/lemmatized-entity-detail.component';
  127. import { LemmatizedEntityOccurrenceComponent } from './components/lemmatized-entity/lemmatized-entity-occurrence/lemmatized-entity-occurrence.component';
  128. import { LemmatizedEntityComponent } from './components/lemmatized-entity/lemmatized-entity.component';
  129. const routes: Routes = [
  130. ];
  131. export function initializeApp(appConfig: AppConfig) {
  132. return () => appConfig.load();
  133. }
  134. @NgModule({
  135. declarations: [
  136. AdditionComponent,
  137. AdditionalComponent,
  138. AnnotatorDirective,
  139. ApparatusEntryComponent,
  140. ApparatusEntryDetailComponent,
  141. ApparatusEntryReadingsComponent,
  142. AppComponent,
  143. CharComponent,
  144. ChoiceComponent,
  145. CollationComponent,
  146. ContentViewerComponent,
  147. DamageComponent,
  148. DeletionComponent,
  149. EditionLevelSelectorComponent,
  150. EditionStmtComponent,
  151. EditorialConventionLayoutDirective,
  152. EditorialDeclComponent,
  153. EncodingDescComponent,
  154. EntitiesSelectComponent,
  155. EvtInfoComponent,
  156. ExtentComponent,
  157. FileDescComponent,
  158. FilterPipe,
  159. GapComponent,
  160. GComponent,
  161. GenericElementComponent,
  162. GlobalListsComponent,
  163. HighlightDirective,
  164. HistoryComponent,
  165. HtmlAttributesDirective,
  166. HumanizePipe,
  167. IdentifierComponent,
  168. ImagePanelComponent,
  169. ImageTextComponent,
  170. LbComponent,
  171. MainHeaderComponent,
  172. MainMenuComponent,
  173. ManuscriptThumbnailsViewerComponent,
  174. MsContentsComponent,
  175. MsDescComponent,
  176. MsDescSectionComponent,
  177. MsDescSelectorComponent,
  178. MsFragComponent,
  179. MsFragComponent,
  180. MsIdentifierComponent,
  181. MsItemComponent,
  182. MsPartComponent,
  183. NamedEntitiesListComponent,
  184. NamedEntityComponent,
  185. NamedEntityDetailComponent,
  186. NamedEntityOccurrenceComponent,
  187. NamedEntityRefComponent,
  188. NamedEntityRelationComponent,
  189. NamespaceComponent,
  190. NavBarComponent,
  191. NoteComponent,
  192. NotesStmtComponent,
  193. OriginalEncodingViewerComponent,
  194. OsdComponent,
  195. PageComponent,
  196. PageSelectorComponent,
  197. ParagraphComponent,
  198. PhysDescComponent,
  199. PinboardComponent,
  200. PinboardPanelComponent,
  201. PinnerComponent,
  202. ProjectDescComponent,
  203. ProjectInfoComponent,
  204. PublicationStmtComponent,
  205. ReadingComponent,
  206. ReadingTextComponent,
  207. RenditionComponent,
  208. RespStmtComponent,
  209. SamplingDeclComponent,
  210. SeriesStmtComponent,
  211. ShortcutsComponent,
  212. SicComponent,
  213. SourcesPanelComponent,
  214. StartsWithPipe,
  215. SuppliedComponent,
  216. SurplusComponent,
  217. TagsDeclComponent,
  218. TextComponent,
  219. TextPanelComponent,
  220. TextSourcesComponent,
  221. TextTextComponent,
  222. TextVersionsComponent,
  223. TitleStmtComponent,
  224. VerseComponent,
  225. VersesGroupComponent,
  226. VersionPanelComponent,
  227. WitnessPanelComponent,
  228. WordComponent,
  229. XmlBeautifyPipe,
  230. LemEntryComponent,
  231. LemEntryDetailComponent,
  232. LemEntryReadingsComponent,
  233. // add by FS
  234. LemmatizedEntitiesListComponent,
  235. LemmatizedEntityComponent,
  236. LemmatizedEntityDetailComponent,
  237. LemmatizedEntityOccurrenceComponent,
  238. LemmatizedEntityRefComponent,
  239. LemmatizedEntityRelationComponent,
  240. ],
  241. imports: [
  242. AppRoutingModule,
  243. AppTranslationModule,
  244. BrowserModule,
  245. BrowserAnimationsModule,
  246. DynamicAttributesModule,
  247. DynamicModule,
  248. ExperimentalScrollingModule,
  249. FormsModule,
  250. GridsterModule,
  251. HttpClientModule,
  252. Ng2HandySyntaxHighlighterModule,
  253. NgbModule,
  254. NgbPopoverModule,
  255. NgxSliderModule,
  256. NgxSpinnerModule,
  257. RouterModule.forRoot(routes, { useHash: true, relativeLinkResolution: 'legacy' }),
  258. ScrollingModule,
  259. UiComponentsModule,
  260. ],
  261. providers: [
  262. AnnotatorService,
  263. AppConfig,
  264. {
  265. provide: APP_INITIALIZER,
  266. useFactory: initializeApp,
  267. deps: [AppConfig], multi: true,
  268. },
  269. AppConfig,
  270. GenericParserService,
  271. IdbService,
  272. ThemesService,
  273. XMLParsers,
  274. ],
  275. bootstrap: [
  276. AppComponent,
  277. ],
  278. entryComponents: [
  279. AdditionComponent,
  280. EvtInfoComponent,
  281. GlobalListsComponent,
  282. NamedEntitiesListComponent,
  283. NamedEntityComponent,
  284. NamedEntityDetailComponent,
  285. NamedEntityRefComponent,
  286. NamedEntityRelationComponent,
  287. ProjectInfoComponent,
  288. ShortcutsComponent,
  289. // add by FS
  290. LemmatizedEntitiesListComponent,
  291. LemmatizedEntityComponent,
  292. LemmatizedEntityDetailComponent,
  293. LemmatizedEntityRefComponent,
  294. LemmatizedEntityRelationComponent,
  295. ],
  296. })
  297. export class AppModule {
  298. constructor(
  299. library: FaIconLibrary,
  300. ) {
  301. library.addIconPacks(fas);
  302. }
  303. }